coze-coding-dev-sdk 0.7.19-beta.18 → 0.7.19-beta.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/cli/index.js +6 -6
- package/dist/cjs/index.js +2 -2
- package/dist/esm/131.mjs +18 -18
- package/dist/esm/index.mjs +1 -1
- package/dist/types/core/index.d.ts +1 -1
- package/dist/types/core/index.d.ts.map +1 -1
- package/dist/types/core/url-utils.d.ts +16 -5
- package/dist/types/core/url-utils.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/esm/131.mjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
let e,i,n,t,a,r,o,u,s,l,h,g,c,d;import*as p from"buffer";import*as f from"crypto";import*as m from"events";import*as y from"fs";import*as S from"node:fs";import*as b from"node:fs/promises";import*as C from"node:stream";import*as w from"os";import*as T from"path";import*as x from"stream";import*as L from"zlib";import{__webpack_require__ as E}from"./rslib-runtime.mjs";import _ from"axios";import{URL as Y,parse as D}from"url";import{ChatOpenAI as v}from"@langchain/openai";import{AIMessage as A,HumanMessage as N,SystemMessage as P}from"@langchain/core/messages";import Z from"pg";import{exec as R,execSync as M}from"child_process";import{env as J,versions as k}from"process";import{Agent as B,request as H}from"http";import{Agent as F,request as X}from"https";E.add({"./node_modules/dotenv/lib/main.js"(e,i,n){let t=n("fs"),a=n("path"),r=n("os"),o=n("crypto"),u=n("./node_modules/dotenv/package.json").version,s=["\uD83D\uDD10 encrypt with Dotenvx: https://dotenvx.com","\uD83D\uDD10 prevent committing .env to code: https://dotenvx.com/precommit","\uD83D\uDD10 prevent building .env in docker: https://dotenvx.com/prebuild","\uD83D\uDCE1 add observability to secrets: https://dotenvx.com/ops","\uD83D\uDC65 sync secrets across teammates & machines: https://dotenvx.com/ops","\uD83D\uDDC2️ backup and recover secrets: https://dotenvx.com/ops","✅ audit secrets and track compliance: https://dotenvx.com/ops","\uD83D\uDD04 add secrets lifecycle management: https://dotenvx.com/ops","\uD83D\uDD11 add access controls to secrets: https://dotenvx.com/ops","\uD83D\uDEE0️ run anywhere with `dotenvx run -- yourcommand`","⚙️ specify custom .env file path with { path: '/custom/path/.env' }","⚙️ enable debug logging with { debug: true }","⚙️ override existing env vars with { override: true }","⚙️ suppress all logs with { quiet: true }","⚙️ write to custom object with { processEnv: myObject }","⚙️ load multiple .env files with { path: ['.env.local', '.env'] }"];function _getRandomTip(){return s[Math.floor(Math.random()*s.length)]}function parseBoolean(e){return"string"==typeof e?!["false","0","no","off",""].includes(e.toLowerCase()):!!e}function supportsAnsi(){return process.stdout.isTTY}function dim(e){return supportsAnsi()?`\x1b[2m${e}\x1b[0m`:e}let l=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function _warn(e){console.error(`[dotenv@${u}][WARN] ${e}`)}function _debug(e){console.log(`[dotenv@${u}][DEBUG] ${e}`)}function _log(e){console.log(`[dotenv@${u}] ${e}`)}function _dotenvKey(e){return e&&e.DOTENV_KEY&&e.DOTENV_KEY.length>0?e.DOTENV_KEY:process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0?process.env.DOTENV_KEY:""}function _instructions(e,i){let n;try{n=new URL(i)}catch(e){if("ERR_INVALID_URL"===e.code){let e=Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development");throw e.code="INVALID_DOTENV_KEY",e}throw e}let t=n.password;if(!t){let e=Error("INVALID_DOTENV_KEY: Missing key part");throw e.code="INVALID_DOTENV_KEY",e}let a=n.searchParams.get("environment");if(!a){let e=Error("INVALID_DOTENV_KEY: Missing environment part");throw e.code="INVALID_DOTENV_KEY",e}let r=`DOTENV_VAULT_${a.toUpperCase()}`,o=e.parsed[r];if(!o){let e=Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${r} in your .env.vault file.`);throw e.code="NOT_FOUND_DOTENV_ENVIRONMENT",e}return{ciphertext:o,key:t}}function _vaultPath(e){let i=null;if(e&&e.path&&e.path.length>0)if(Array.isArray(e.path))for(let n of e.path)t.existsSync(n)&&(i=n.endsWith(".vault")?n:`${n}.vault`);else i=e.path.endsWith(".vault")?e.path:`${e.path}.vault`;else i=a.resolve(process.cwd(),".env.vault");return t.existsSync(i)?i:null}function _resolveHome(e){return"~"===e[0]?a.join(r.homedir(),e.slice(1)):e}let h={configDotenv:function(e){let i,n=a.resolve(process.cwd(),".env"),r="utf8",o=process.env;e&&null!=e.processEnv&&(o=e.processEnv);let u=parseBoolean(o.DOTENV_CONFIG_DEBUG||e&&e.debug),s=parseBoolean(o.DOTENV_CONFIG_QUIET||e&&e.quiet);e&&e.encoding?r=e.encoding:u&&_debug("No encoding is specified. UTF-8 is used by default");let l=[n];if(e&&e.path)if(Array.isArray(e.path))for(let i of(l=[],e.path))l.push(_resolveHome(i));else l=[_resolveHome(e.path)];let g={};for(let n of l)try{let i=h.parse(t.readFileSync(n,{encoding:r}));h.populate(g,i,e)}catch(e){u&&_debug(`Failed to load ${n} ${e.message}`),i=e}let c=h.populate(o,g,e);if(u=parseBoolean(o.DOTENV_CONFIG_DEBUG||u),s=parseBoolean(o.DOTENV_CONFIG_QUIET||s),u||!s){let e=Object.keys(c).length,n=[];for(let e of l)try{let i=a.relative(process.cwd(),e);n.push(i)}catch(n){u&&_debug(`Failed to load ${e} ${n.message}`),i=n}_log(`injecting env (${e}) from ${n.join(",")} ${dim(`-- tip: ${_getRandomTip()}`)}`)}return i?{parsed:g,error:i}:{parsed:g}},_configVault:function(e){let i=parseBoolean(process.env.DOTENV_CONFIG_DEBUG||e&&e.debug),n=parseBoolean(process.env.DOTENV_CONFIG_QUIET||e&&e.quiet);(i||!n)&&_log("Loading env from encrypted .env.vault");let t=h._parseVault(e),a=process.env;return e&&null!=e.processEnv&&(a=e.processEnv),h.populate(a,t,e),{parsed:t}},_parseVault:function(e){let i,n=_vaultPath(e=e||{});e.path=n;let t=h.configDotenv(e);if(!t.parsed){let e=Error(`MISSING_DATA: Cannot parse ${n} for an unknown reason`);throw e.code="MISSING_DATA",e}let a=_dotenvKey(e).split(","),r=a.length;for(let e=0;e<r;e++)try{let n=a[e].trim(),r=_instructions(t,n);i=h.decrypt(r.ciphertext,r.key);break}catch(i){if(e+1>=r)throw i}return h.parse(i)},config:function(e){if(0===_dotenvKey(e).length)return h.configDotenv(e);let i=_vaultPath(e);return i?h._configVault(e):(_warn(`You set DOTENV_KEY but you are missing a .env.vault file at ${i}. Did you forget to build it?`),h.configDotenv(e))},decrypt:function(e,i){let n=Buffer.from(i.slice(-64),"hex"),t=Buffer.from(e,"base64"),a=t.subarray(0,12),r=t.subarray(-16);t=t.subarray(12,-16);try{let e=o.createDecipheriv("aes-256-gcm",n,a);return e.setAuthTag(r),`${e.update(t)}${e.final()}`}catch(t){let e=t instanceof RangeError,i="Invalid key length"===t.message,n="Unsupported state or unable to authenticate data"===t.message;if(e||i){let e=Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");throw e.code="INVALID_DOTENV_KEY",e}if(n){let e=Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");throw e.code="DECRYPTION_FAILED",e}throw t}},parse:function(e){let i,n={},t=e.toString();for(t=t.replace(/\r\n?/mg,"\n");null!=(i=l.exec(t));){let e=i[1],t=i[2]||"",a=(t=t.trim())[0];t=t.replace(/^(['"`])([\s\S]*)\1$/mg,"$2"),'"'===a&&(t=(t=t.replace(/\\n/g,"\n")).replace(/\\r/g,"\r")),n[e]=t}return n},populate:function(e,i,n={}){let t=!!(n&&n.debug),a=!!(n&&n.override),r={};if("object"!=typeof i){let e=Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");throw e.code="OBJECT_REQUIRED",e}for(let n of Object.keys(i))Object.prototype.hasOwnProperty.call(e,n)?(!0===a&&(e[n]=i[n],r[n]=i[n]),t&&(!0===a?_debug(`"${n}" is already defined and WAS overwritten`):_debug(`"${n}" is already defined and was NOT overwritten`))):(e[n]=i[n],r[n]=i[n]);return r}};e.exports.configDotenv=h.configDotenv,e.exports._configVault=h._configVault,e.exports._parseVault=h._parseVault,e.exports.config=h.config,e.exports.decrypt=h.decrypt,e.exports.parse=h.parse,e.exports.populate=h.populate,e.exports=h},buffer(e){e.exports=p},crypto(e){e.exports=f},events(e){e.exports=m},fs(e){e.exports=y},"node:fs"(e){e.exports=S},"node:fs/promises"(e){e.exports=b},"node:stream"(e){e.exports=C},os(e){e.exports=w},path(e){e.exports=T},stream(e){e.exports=x},zlib(e){e.exports=L},"./node_modules/dotenv/package.json"(e){e.exports=JSON.parse('{"name":"dotenv","version":"17.2.3","description":"Loads environment variables from .env file","main":"lib/main.js","types":"lib/main.d.ts","exports":{".":{"types":"./lib/main.d.ts","require":"./lib/main.js","default":"./lib/main.js"},"./config":"./config.js","./config.js":"./config.js","./lib/env-options":"./lib/env-options.js","./lib/env-options.js":"./lib/env-options.js","./lib/cli-options":"./lib/cli-options.js","./lib/cli-options.js":"./lib/cli-options.js","./package.json":"./package.json"},"scripts":{"dts-check":"tsc --project tests/types/tsconfig.json","lint":"standard","pretest":"npm run lint && npm run dts-check","test":"tap run tests/**/*.js --allow-empty-coverage --disable-coverage --timeout=60000","test:coverage":"tap run tests/**/*.js --show-full-coverage --timeout=60000 --coverage-report=text --coverage-report=lcov","prerelease":"npm test","release":"standard-version"},"repository":{"type":"git","url":"git://github.com/motdotla/dotenv.git"},"homepage":"https://github.com/motdotla/dotenv#readme","funding":"https://dotenvx.com","keywords":["dotenv","env",".env","environment","variables","config","settings"],"readmeFilename":"README.md","license":"BSD-2-Clause","devDependencies":{"@types/node":"^18.11.3","decache":"^4.6.2","sinon":"^14.0.1","standard":"^17.0.0","standard-version":"^9.5.0","tap":"^19.2.0","typescript":"^4.8.4"},"engines":{"node":">=12"},"browser":{"fs":false}}')}});var I,O,Q,U,G,q,$,K,z,W,j,V,ee,ei,en,et,ea,er,eo,eu,es,el,eh,eg,ec,ed,ep,ef,em={};E.r(em),E.d(em,{T:()=>eC});var ey={};E.r(ey),E.d(ey,{n:()=>e_,p:()=>eY});var eS={};E.r(eS),E.d(eS,{F:()=>mU});var eb={};E.r(eb),E.d(eb,{c:()=>eQ});class eC{apiKey;baseUrl;modelBaseUrl;retryTimes;retryDelay;timeout;constructor(e){this.apiKey=e?.apiKey||process.env.COZE_WORKLOAD_IDENTITY_API_KEY||"",this.baseUrl=e?.baseUrl||process.env.COZE_INTEGRATION_BASE_URL||"",this.modelBaseUrl=e?.modelBaseUrl||process.env.COZE_INTEGRATION_MODEL_BASE_URL||"",this.retryTimes=e?.retryTimes??3,this.retryDelay=e?.retryDelay??1,this.timeout=e?.timeout??9e5}validate(){if(!this.apiKey)throw Error("API key is required. Set COZE_WORKLOAD_IDENTITY_API_KEY or provide apiKey in config.")}getHeaders(){if(!this.apiKey)throw Error("API key is required. Set COZE_WORKLOAD_IDENTITY_API_KEY or provide apiKey in config.");return{Authorization:`Bearer ${this.apiKey}`,"Content-Type":"application/json"}}}class ew extends Error{constructor(e){super(e),this.name="ConfigurationError"}}class eT extends Error{statusCode;response;constructor(e,i,n){super(e),this.name="APIError",this.statusCode=i,this.response=n}}class ex extends Error{originalError;constructor(e,i){super(e),this.originalError=i,this.name="NetworkError"}}class eL extends Error{constructor(e){super(e),this.name="ValidationError"}}class eE{config;axiosInstance;verbose;constructor(e,i,n=!1){this.config=e||new eC,this.verbose=n,this.axiosInstance=_.create({timeout:this.config.timeout,headers:{Authorization:`Bearer ${this.config.apiKey}`,"Content-Type":"application/json","X-Client-Sdk":"coze-coding-dev-sdk-typescript/0.3.0",...i}})}async request(e,i,n,t){let a=null;for(let r=0;r<=this.config.retryTimes;r++)try{0===r&&this.verbose&&this.logRequest(e,i,n,t);let a=await this.axiosInstance.request({method:e,url:i,data:n,...t});return 0===r&&this.verbose&&this.logResponse(a),a.data}catch(e){if(a=e,e.response){let i=e.response.status;if(i>=400&&i<500&&429!==i)throw new eT(e.response.data?.message||e.message,i,e.response.data)}r<this.config.retryTimes&&await this.sleep(1e3*this.config.retryDelay*(r+1))}if(a)if(_.isAxiosError(a)&&a.response)throw new eT(a.response.data?.message||a.message,a.response.status,a.response.data);else throw new ex(a.message);throw new ex("Request failed after retries")}async requestWithResponse(e,i,n,t){let a=null;for(let r=0;r<=this.config.retryTimes;r++)try{0===r&&this.verbose&&this.logRequest(e,i,n,t);let a=await this.axiosInstance.request({method:e,url:i,data:n,...t});return 0===r&&this.verbose&&this.logResponse(a),a}catch(e){if(a=e,e.response){let i=e.response.status;if(i>=400&&i<500&&429!==i)throw new eT(e.response.data?.message||e.message,i,e.response.data)}r<this.config.retryTimes&&await this.sleep(1e3*this.config.retryDelay*(r+1))}if(a)if(_.isAxiosError(a)&&a.response)throw new eT(a.response.data?.message||a.message,a.response.status,a.response.data);else throw new ex(a.message);throw new ex("Request failed after retries")}sanitizeHeaders(e){let i=["authorization","auth","api-key","apikey","api_key","x-api-key","x-auth-token","token","secret","password","passwd","pwd"],n={};for(let[t,a]of Object.entries(e)){let e=t.toLowerCase();i.some(i=>e.includes(i))?n[t]="***":n[t]=a}return n}logRequest(e,i,n,t){console.log("\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"),console.log("\uD83D\uDCE4 HTTP Request"),console.log("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"),console.log(`Method: ${e}`),console.log(`URL: ${i}`);let a={};Object.assign(a,this.axiosInstance.defaults.headers.common||{},this.axiosInstance.defaults.headers[e.toLowerCase()]||{},t?.headers||{});let r=this.sanitizeHeaders(a);for(let[e,i]of(console.log("\nHeaders:"),Object.entries(r)))console.log(` ${e}: ${i}`);n&&(console.log("\nBody:"),console.log(JSON.stringify(n,null,2))),console.log("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n")}logResponse(e){if(console.log("\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"),console.log("\uD83D\uDCE5 HTTP Response"),console.log("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"),console.log(`Status: ${e.status} ${e.statusText}`),e.headers)for(let[i,n]of(console.log("\nHeaders:"),Object.entries(e.headers)))console.log(` ${i}: ${n}`);if(e.data){console.log("\nBody:");let i="string"==typeof e.data?e.data:JSON.stringify(e.data,null,2);console.log(i.length>1e3?i.substring(0,1e3)+"\n... (truncated)":i)}console.log("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n")}sleep(e){return new Promise(i=>setTimeout(i,e))}}let e_=["x-tt-logid","x-tt-env","x-use-ppe","x-tt-env-fe","x-run-mode","rpc-persist-res-rec-biz-scene","rpc-persist-coze-record-root-id","rpc-persist-res-rec-root-entity-type","rpc-persist-res-rec-root-entity-id","rpc-persist-res-rec-ext-info"];class eY{static extractForwardHeaders(e){let i={};return e instanceof Headers?e_.forEach(n=>{let t=e.get(n);t&&(i[n]=t)}):e_.forEach(n=>{let t=e[n]||e[n.toLowerCase()];t&&(i[n]=t)}),i}}let eD=new Set(["localhost","127.0.0.1","0.0.0.0","::1"]),ev=new Set(["http:","https:"]),eA=[["code.coze.cn","/api/sandbox/coze_coding/file/proxy"]];class eN extends eL{url;constructor(e,i){super(e),this.name="URLValidationError",this.url=i}}async function url_utils_validateUrl(e,i){let n,{allowHeadCheck:t=!0,timeout:a=5e3}=i||{};if(!e||"string"!=typeof e)throw new eN("URL cannot be empty","string"==typeof e?e:void 0);if(!(e=e.trim()))throw new eN("URL cannot be empty",e);try{n=new Y(e)}catch{if(isLocalPath(e))throw new eN(`The input appears to be a local file path: ${e}. Please upload it using the Storage skill first to get a persistent HTTP URL.`,e);throw new eN(`Invalid URL format: ${e}`,e)}if(!ev.has(n.protocol))throw new eN(`Unsupported scheme '${n.protocol}', only http/https allowed`,e);let r=n.hostname;if(!r)throw new eN(`Cannot extract hostname from URL: ${e}`,e);if(eD.has(r.toLowerCase())||eD.has(r.replace(/^\[|\]$/g,"").toLowerCase()))throw new eN(`Access to local address is not allowed: ${r}`,e);if(isEphemeralUrl(e))throw new eN("This URL appears to be a temporary sandbox proxy URL that may expire. Please download the file and upload it to persistent storage (Storage skill) first.",e);return t&&await headCheck(e,a),e}function isEphemeralUrl(e){try{let i=new Y(e),n=i.hostname.toLowerCase(),t=i.pathname;for(let[e,i]of eA)if(n===e&&t.startsWith(i))return!0}catch{}return!1}function isLocalPath(e){return!!e&&!!(e.startsWith("/")||e.startsWith("./")||e.startsWith("../")||e.startsWith("~/")||e.length>=3&&/^[a-zA-Z]$/.test(e[0])&&":"===e[1]&&("/"===e[2]||"\\"===e[2]))}function validateUrlSync(e){let i;if(!e||"string"!=typeof e)throw new eN("URL cannot be empty","string"==typeof e?e:void 0);if(!(e=e.trim()))throw new eN("URL cannot be empty",e);try{i=new Y(e)}catch{if(isLocalPath(e))throw new eN(`The input appears to be a local file path: ${e}. Please upload it using the Storage skill first to get a persistent HTTP URL.`,e);throw new eN(`Invalid URL format: ${e}`,e)}if(!ev.has(i.protocol))throw new eN(`Unsupported scheme '${i.protocol}', only http/https allowed`,e);let n=i.hostname;if(!n)throw new eN(`Cannot extract hostname from URL: ${e}`,e);if(eD.has(n.toLowerCase())||eD.has(n.replace(/^\[|\]$/g,"").toLowerCase()))throw new eN(`Access to local address is not allowed: ${n}`,e);return e}async function headCheck(e,i){let n=new AbortController,t=setTimeout(()=>n.abort(),i);try{let a=await fetch(e,{method:"HEAD",signal:n.signal,headers:{"User-Agent":"CozeSDK-URLValidator/1.0"}});if(405===a.status){clearTimeout(t),await rangeCheck(e,i);return}if(!a.ok)throw new eN(`URL is not reachable: HTTP ${a.status}`,e)}catch(n){if(n instanceof eN)throw n;if("AbortError"===n.name)throw new eN(`URL is not reachable (request timed out after ${i}ms). Please check if the URL is correct and accessible.`,e);throw new eN(`URL is not reachable (${n.message}). Please check if the URL is correct and accessible.`,e)}finally{clearTimeout(t)}}async function rangeCheck(e,i){let n=new AbortController,t=setTimeout(()=>n.abort(),i);try{let i=await fetch(e,{method:"GET",signal:n.signal,headers:{"User-Agent":"CozeSDK-URLValidator/1.0",Range:"bytes=0-0"}});if(405===i.status||400===i.status)return;if(i.status>=400)throw new eN(`URL is not reachable: HTTP ${i.status}`,e)}catch(n){if(n instanceof eN)throw n;if("AbortError"===n.name)throw new eN(`URL is not reachable (request timed out after ${i}ms). Please check if the URL is correct and accessible.`,e);throw new eN(`URL is not reachable (${n.message}). Please check if the URL is correct and accessible.`,e)}finally{clearTimeout(t)}}class eP{static DEFAULT_MODEL="doubao-seedream-5-0-260128";static DEFAULT_SIZE="2K";static DEFAULT_CUSTOM_SIZE="2048x2048";static DEFAULT_WATERMARK=!0;static DEFAULT_RESPONSE_FORMAT="url";static DEFAULT_OPTIMIZE_PROMPT_MODE="standard";static DEFAULT_SEQUENTIAL_IMAGE_GENERATION="disabled";static DEFAULT_SEQUENTIAL_IMAGE_GENERATION_MAX_IMAGES=15;static MIN_TOTAL_PIXELS=3686400;static MAX_TOTAL_PIXELS=0x1000000;static MIN_ASPECT_RATIO=1/16;static MAX_ASPECT_RATIO=16;static PRESET_SIZES=["2K","4K"]}function validateImageSize(e){if(eP.PRESET_SIZES.includes(e))return e;let i=e.match(/^(\d+)x(\d+)$/);if(!i)throw Error(`Invalid size format. Must be ${JSON.stringify(eP.PRESET_SIZES)} or 'WIDTHxHEIGHT' format (e.g., 2048x2048). Got: ${e}`);let n=parseInt(i[1],10),t=parseInt(i[2],10);if(n<=0||t<=0)throw Error(`Width and height must be positive integers. Got: ${e}`);let a=n*t;if(a<eP.MIN_TOTAL_PIXELS||a>eP.MAX_TOTAL_PIXELS)throw Error(`Total pixels must be between ${eP.MIN_TOTAL_PIXELS.toLocaleString()} and ${eP.MAX_TOTAL_PIXELS.toLocaleString()}. Got: ${a.toLocaleString()} (${n}x${t})`);let r=n/t;if(r<eP.MIN_ASPECT_RATIO||r>eP.MAX_ASPECT_RATIO)throw Error(`Aspect ratio must be between 1:16 and 16:1. Got: ${n}:${t} (${r.toFixed(2)})`);return e}function validateImageSizeOrDefault(e){try{return validateImageSize(e)}catch{return eP.DEFAULT_SIZE}}class eZ{response;constructor(e){this.response=e}get success(){return!this.response.error&&this.response.data.every(e=>!e.error)}get imageUrls(){return this.response.data.filter(e=>e.url).map(e=>e.url)}get imageB64List(){return this.response.data.filter(e=>e.b64_json).map(e=>e.b64_json)}get errorMessages(){let e=[];for(let i of(this.response.error&&e.push(`API Error: ${this.response.error.message||"Unknown error"}`),this.response.data))i.error&&e.push(`Image generation error: ${i.error.message||"Unknown error"}`);return e}}function buildImageGenerationApiRequest(e,i){let n=validateImageSizeOrDefault(e.size||eP.DEFAULT_SIZE);return{model:i,prompt:e.prompt,size:n,watermark:e.watermark??eP.DEFAULT_WATERMARK,image:e.image,response_format:e.responseFormat||eP.DEFAULT_RESPONSE_FORMAT,optimize_prompt_options:{mode:e.optimizePromptMode||eP.DEFAULT_OPTIMIZE_PROMPT_MODE},sequential_image_generation:e.sequentialImageGeneration||eP.DEFAULT_SEQUENTIAL_IMAGE_GENERATION,sequential_image_generation_options:{max_images:e.sequentialImageGenerationMaxImages||eP.DEFAULT_SEQUENTIAL_IMAGE_GENERATION_MAX_IMAGES}}}class eR extends eE{constructor(e,i,n=!1){super(e,i,n)}async generate(e){if(e.image)if(Array.isArray(e.image))for(let i=0;i<e.image.length;i++)e.image[i]=await url_utils_validateUrl(e.image[i]);else e.image=await url_utils_validateUrl(e.image);let i=e.model||eP.DEFAULT_MODEL,n=buildImageGenerationApiRequest(e,i),t=await this.request("POST",`${this.config.baseUrl}/api/v3/images/generations`,n);if(t.error)throw new eT(`API returned error: ${t.error.message||"Unknown error"}`,t.error.code?parseInt(t.error.code):500,t.error);for(let e of t.data)if(e.error)throw new eT(`Image generation failed: ${e.error.message||"Unknown error"}`,e.error.code?parseInt(e.error.code):500,e.error);return t}async batchGenerate(e){return Promise.all(e.map(e=>this.generate(e)))}getResponseHelper(e){return new eZ(e)}}function convertToApiFormat(e){let i={};return e.query&&(i.Query=e.query),e.search_type&&(i.SearchType=e.search_type),void 0!==e.count&&(i.Count=e.count),void 0!==e.need_summary&&(i.NeedSummary=e.need_summary),e.time_range&&(i.TimeRange=e.time_range),e.filter&&(i.Filter={NeedContent:e.filter.need_content||!1,NeedUrl:e.filter.need_url||!1,Sites:e.filter.sites,BlockHosts:e.filter.block_hosts}),i}function convertFromApiFormat(e){let i={};return void 0!==e.Id&&(i.id=e.Id),void 0!==e.SortId&&(i.sort_id=e.SortId),void 0!==e.Title&&(i.title=e.Title),void 0!==e.SiteName&&(i.site_name=e.SiteName),void 0!==e.Url&&(i.url=e.Url),void 0!==e.Snippet&&(i.snippet=e.Snippet),void 0!==e.Summary&&(i.summary=e.Summary),void 0!==e.Content&&(i.content=e.Content),void 0!==e.PublishTime&&(i.publish_time=e.PublishTime),void 0!==e.LogoUrl&&(i.logo_url=e.LogoUrl),void 0!==e.RankScore&&(i.rank_score=e.RankScore),void 0!==e.AuthInfoDes&&(i.auth_info_des=e.AuthInfoDes),void 0!==e.AuthInfoLevel&&(i.auth_info_level=e.AuthInfoLevel),e.Image&&(i.image={url:e.Image.Url,width:e.Image.Width,height:e.Image.Height,shape:e.Image.Shape}),i}class eM extends eE{constructor(e,i,n=!1){super(e,i,n)}async search(e){let i,n=convertToApiFormat(e),t=await this.request("POST",`${this.config.baseUrl}/api/search_api/web_search`,n),a=t.ResponseMetadata||{};if(a.Error)throw new eT(`Search failed: ${a.Error}`,500,a.Error);let r=t.Result||{},o=[];if(r.WebResults)for(let e of r.WebResults)o.push(convertFromApiFormat(e));let u=[];if(r.ImageResults)for(let e of r.ImageResults)u.push(convertFromApiFormat(e));return r.Choices&&r.Choices.length>0&&(i=r.Choices[0].Message?.Content),{web_items:o,image_items:u,summary:i}}async webSearch(e,i=10,n=!0){return this.search({query:e,search_type:"web",count:i,need_summary:n})}async webSearchWithSummary(e,i=10){return this.search({query:e,search_type:"web_summary",count:i,need_summary:!0})}async imageSearch(e,i=10){return this.search({query:e,search_type:"image",count:i,need_summary:!1})}async advancedSearch(e,i={}){let n={need_content:i.needContent,need_url:i.needUrl,sites:i.sites,block_hosts:i.blockHosts};return this.search({query:e,search_type:i.searchType||"web",count:i.count||10,filter:n,need_summary:void 0===i.needSummary||i.needSummary,time_range:i.timeRange})}}class eJ{static DEFAULT_SPEAKER="zh_female_xiaohe_uranus_bigtts";static DEFAULT_AUDIO_FORMAT="mp3";static DEFAULT_SAMPLE_RATE=24e3;static DEFAULT_SPEECH_RATE=0;static DEFAULT_LOUDNESS_RATE=0}function buildTTSApiRequest(e){let i={user:{uid:e.uid},req_params:{speaker:e.speaker||eJ.DEFAULT_SPEAKER,audio_params:{format:e.audioFormat||eJ.DEFAULT_AUDIO_FORMAT,sample_rate:e.sampleRate||eJ.DEFAULT_SAMPLE_RATE,speech_rate:e.speechRate??eJ.DEFAULT_SPEECH_RATE,loudness_rate:e.loudnessRate??eJ.DEFAULT_LOUDNESS_RATE}}};return e.text?i.req_params.text=e.text:e.ssml&&(i.req_params.ssml=e.ssml),i}function buildASRApiRequest(e){let i={};return e.url?i.url=e.url:e.base64Data&&(i.data=e.base64Data),{user:{uid:e.uid},audio:i}}class ek extends eE{constructor(e,i,n=!1){super(e,i,n)}async synthesize(e){if(!e.text&&!e.ssml)throw new eL("必须提供 text 或 ssml 其中之一");let i=buildTTSApiRequest(e),n={...this.config.getHeaders(),Connection:"keep-alive"};try{let e=await _.post(`${this.config.baseUrl}/api/v3/tts/unidirectional`,i,{headers:n,responseType:"stream",timeout:this.config.timeout});return await this.processStreamResponse(e)}catch(e){if(e.response)throw new eT(`TTS 请求失败: ${e.message}`,e.response.status,e.response.data);throw new eT(`TTS 请求异常: ${e.message}`,500)}}async processStreamResponse(e){return new Promise((i,n)=>{let t="",a=0,r="";e.data.on("data",e=>{let o=(r+=e.toString("utf-8")).split("\n");for(let e of(r=o.pop()||"",o))if(e.trim()&&e.startsWith("data:"))try{let r=e.replace("data:","").trim();if(!r)continue;let o=JSON.parse(r);if(0===o.code&&o.data){let e=Buffer.from(o.data,"base64");a+=e.length}else if(2e7===o.code){o.url&&(t=o.url),i({audioUri:t,audioSize:a});return}else if(o.code>0)return void n(new eT(`合成音频失败: ${o.message||""}`,o.code))}catch(e){n(new eT(`响应解析失败: ${e.message}`,500));return}}),e.data.on("end",()=>{t||0!==a?i({audioUri:t,audioSize:a}):n(new eT("未收到完整的音频数据",500))}),e.data.on("error",e=>{n(new eT(`流处理错误: ${e.message}`,500))})})}}class eB extends eE{constructor(e,i,n=!1){super(e,i,n)}async recognize(e){if(!e.url&&!e.base64Data)throw new eL("必须提供 url 或 base64Data 其中之一");let i=buildASRApiRequest(e);try{let e=await this.requestWithResponse("POST",`${this.config.baseUrl}/api/v3/auc/bigmodel/recognize/flash`,i),n=e.headers["x-api-status-code"]||"0",t=e.headers["x-api-message"]||"";if("20000000"!==n)throw new eT(`ASR 识别失败,状态码: ${n}, 错误信息: ${t}`,e.status,{code:n,message:t});let a=e.data.result||{};return{text:a.text||"",duration:a.duration,utterances:a.utterances,rawData:e.data}}catch(e){if(e instanceof eT)throw e;throw new eT(`ASR 请求异常: ${e.message}`,500)}}}class eH{static DEFAULT_MODEL="doubao-seedance-2-0-260128";static DEFAULT_RESOLUTION="720p";static DEFAULT_RATIO="16:9";static DEFAULT_DURATION=5;static DEFAULT_WATERMARK=!0;static DEFAULT_CAMERA_FIXED=!1;static DEFAULT_GENERATE_AUDIO=!0}class eF extends eE{baseUrl;constructor(e,i,n=!1){super(e,i,n),this.baseUrl=this.config.baseUrl}static validateContentItems(e,i){let n=0,t=0,a=0,r=0,o=0;for(let i of e)"image_url"===i.type?"first_frame"===i.role?n+=1:"last_frame"===i.role?t+=1:"reference_image"===i.role&&(a+=1):"video_url"===i.type?r+=1:"audio_url"===i.type&&(o+=1);let u=n>0||t>0,s=a>0||r>0||o>0;if(u&&s)throw new eT("图生视频-首尾帧 与 多模态参考生视频 为互斥场景,不可混用。请只使用 first_frame/last_frame 角色,或只使用 reference_image/reference_video/reference_audio。如需『首尾帧 + 多模态参考』效果,可在多模态场景中通过提示词指定参考图作为首帧/尾帧。",400);if(s){if("doubao-seedance-2-0-260128"!==i)throw new eT(`多模态参考生视频(reference_image/reference_video/reference_audio)仅支持 doubao-seedance-2-0-260128 模型,当前模型为 ${i}`,400);if(0===a&&0===r)throw new eT("多模态参考生视频至少需要包含 1 个 reference_image 或 reference_video,不可单独输入 reference_audio。",400);if(a>9)throw new eT(`reference_image 数量超出限制:最多 9 个,当前 ${a} 个`,400);if(r>3)throw new eT(`reference_video 数量超出限制:最多 3 个,当前 ${r} 个`,400);if(o>3)throw new eT(`reference_audio 数量超出限制:最多 3 个,当前 ${o} 个`,400)}if(u){if(n>1)throw new eT(`first_frame 角色至多 1 个,当前 ${n} 个`,400);if(t>1)throw new eT(`last_frame 角色至多 1 个,当前 ${t} 个`,400);if(t>0&&0===n)throw new eT("提供 last_frame 时必须同时提供 first_frame",400)}}async videoGeneration(e,i){let n=(i?.maxWaitTime??900)*1e3,t=i?.model||eH.DEFAULT_MODEL;for(let i of(eF.validateContentItems(e,t),e))"image_url"===i.type?i.image_url.url=await url_utils_validateUrl(i.image_url.url):"video_url"===i.type?i.video_url.url=await url_utils_validateUrl(i.video_url.url):"audio_url"===i.type&&(i.audio_url.url=await url_utils_validateUrl(i.audio_url.url));let a={model:t,content:e};i?.callbackUrl&&(a.callback_url=i.callbackUrl),i?.returnLastFrame&&(a.return_last_frame=i.returnLastFrame),a.resolution=i?.resolution??eH.DEFAULT_RESOLUTION,a.ratio=i?.ratio??eH.DEFAULT_RATIO,a.duration=i?.duration??eH.DEFAULT_DURATION,a.watermark=i?.watermark??eH.DEFAULT_WATERMARK,i?.seed!==void 0&&(a.seed=i.seed),a.camerafixed=i?.camerafixed??eH.DEFAULT_CAMERA_FIXED,a.generate_audio=i?.generateAudio??eH.DEFAULT_GENERATE_AUDIO;let r=null,o=0;for(;o<3;)try{if(!(r=(await this.request("POST",`${this.baseUrl}/api/v3/contents/generations/tasks`,a)).id))throw new eT("创建视频生成任务失败:响应中缺少任务ID",500);this.verbose&&console.log(`视频生成任务创建成功,任务ID: ${r}`);break}catch(i){o++;let e=i instanceof Error?i.message:String(i);if(this.verbose&&console.error(`创建视频生成任务失败(尝试 ${o}/3): ${e}`),o>=3)throw new eT(`创建视频生成任务失败,已重试3次: ${e}`,500);if(e.toLowerCase().includes("rate limit")||e.includes("429")){let e=Math.min(2**o*1e3,1e4);this.verbose&&console.warn(`遇到速率限制,等待 ${e/1e3} 秒后重试...`),await this.sleep(e)}else if(e.toLowerCase().includes("timeout"))this.verbose&&console.warn("请求超时,等待 2 秒后重试..."),await this.sleep(2e3);else throw i}let u=Date.now(),s=0;for(;Date.now()-u<n;){s++;try{let e=await this.request("GET",`${this.baseUrl}/api/v3/contents/generations/tasks/${r}`),i=e.status;if(this.verbose&&console.log(`任务 ${r} 状态检查 #${s}: ${i}`),"succeeded"===i){let i=e.content?.video_url||null,n=e.content?.last_frame_url||"";if(!i)throw new eT(`视频生成成功但响应中缺少视频URL,任务ID: ${r}`,500);return this.verbose&&console.log(`视频生成成功,任务ID: ${r}, 视频URL: ${i}`),{videoUrl:i,response:e,lastFrameUrl:n}}if("failed"===i){let i=e.error_message||"未知错误";throw this.verbose&&console.error(`视频生成失败,任务ID: ${r}, 错误: ${i}`),new eT(`视频生成失败: ${i}`,500)}if("cancelled"===i)return this.verbose&&console.warn(`视频生成任务被取消,任务ID: ${r}`),{videoUrl:null,response:e,lastFrameUrl:""};else if("queued"===i||"running"===i){await this.sleep(5e3);continue}else{this.verbose&&console.warn(`未知的任务状态: ${i},任务ID: ${r}`),await this.sleep(5e3);continue}}catch(i){let e=i instanceof Error?i.message:String(i);if(this.verbose&&console.error(`查询任务状态失败,任务ID: ${r}, 错误: ${e}`),e.toLowerCase().includes("not found")||e.includes("404"))throw new eT(`任务不存在或已过期,任务ID: ${r}`,404);if(Date.now()-u>=n)throw i;await this.sleep(5e3);continue}}let l=Math.floor((Date.now()-u)/1e3);throw this.verbose&&console.error(`视频生成超时,任务ID: ${r}, 已等待: ${l}秒`),new eT(`视频生成超时,已等待 ${l} 秒,任务ID: ${r}`,408)}async videoGenerationAsync(e,i){return this.videoGeneration(e,i)}}class eX{static DEFAULT_URL_EXPIRE=86400;static MAX_URL_EXPIRE=2592e3;static MIN_URL_EXPIRE=1;static MIN_AUDIO_URL_EXPIRE=3600;static DEFAULT_FONT_TYPE="1525745";static DEFAULT_FONT_SIZE=36;static DEFAULT_FONT_COLOR="#FFFFFFFF";static DEFAULT_BACKGROUND_COLOR="#00000000";static DEFAULT_BACKGROUND_BORDER_WIDTH=0;static DEFAULT_FONT_POS_HEIGHT="10%";static DEFAULT_FONT_POS_X="0";static DEFAULT_FONT_POS_Y="90%";static DEFAULT_FONT_POS_WIDTH="100%";static DEFAULT_SYNC_METHOD="trim";static DEFAULT_SYNC_MODE="video";static DEFAULT_SUBTITLE_TYPE="srt";static DEFAULT_AUDIO_FORMAT="m4a"}class eI extends eE{baseUrl;constructor(e,i,n=!1){super(e,i,n),this.baseUrl=this.config.baseUrl}async extractByKeyFrame(e){e=await url_utils_validateUrl(e);let i=await this.request("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=frame_extractor_by_key_frame`,{url:e});if(0!==i.code)throw new eT(`Key frame extraction failed: ${i.msg||"Unknown error"}`,i.code);return i}async extractByInterval(e,i){e=await url_utils_validateUrl(e);let n=await this.request("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=frame_extractor_by_interval`,{url:e,interval_ms:i});if(0!==n.code)throw new eT(`Interval frame extraction failed: ${n.msg||"Unknown error"}`,n.code);return n}async extractByCount(e,i){e=await url_utils_validateUrl(e);let n=await this.request("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=frame_extractor_by_count`,{url:e,count:i});if(0!==n.code)throw new eT(`Count-based frame extraction failed: ${n.msg||"Unknown error"}`,n.code);return n}}class eO extends eE{baseUrl;constructor(e,i,n=!1){super(e,i,n),this.baseUrl=this.config.baseUrl}validateUrlExpire(e,i=eX.MIN_URL_EXPIRE){if(void 0===e)return eX.DEFAULT_URL_EXPIRE;if(e<i||e>eX.MAX_URL_EXPIRE)throw new eT(`url_expire must be between ${i} and ${eX.MAX_URL_EXPIRE} seconds`,400);return e}async addSubtitles(e,i,n){e=await url_utils_validateUrl(e),n?.subtitleUrl&&(n.subtitleUrl=await url_utils_validateUrl(n.subtitleUrl));let t=this.validateUrlExpire(n?.urlExpire),a={video:e,subtitle_config:{background_border_width:i.background_border_width??eX.DEFAULT_BACKGROUND_BORDER_WIDTH,font_type:i.font_type??eX.DEFAULT_FONT_TYPE,font_pos_config:{height:i.font_pos_config.height??eX.DEFAULT_FONT_POS_HEIGHT,pos_x:i.font_pos_config.pos_x??eX.DEFAULT_FONT_POS_X,pos_y:i.font_pos_config.pos_y??eX.DEFAULT_FONT_POS_Y,width:i.font_pos_config.width??eX.DEFAULT_FONT_POS_WIDTH}},url_expire:t};void 0!==i.border_width&&(a.subtitle_config.border_width=i.border_width),void 0!==i.font_color&&(a.subtitle_config.font_color=i.font_color),void 0!==i.font_size&&(a.subtitle_config.font_size=i.font_size),void 0!==i.background_color&&(a.subtitle_config.background_color=i.background_color),void 0!==i.border_color&&(a.subtitle_config.border_color=i.border_color),n?.subtitleUrl&&(a.subtitle_url=n.subtitleUrl),n?.textList&&n.textList.length>0&&(a.text_list=n.textList.map(e=>({end_time:e.end_time,start_time:e.start_time,text:e.text})));let r=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=add_subtitles`,a),o=r.headers["x-api-status-code"]||"0",u=r.headers["x-api-message"]||"";if("0"!==o)throw new eT(`Add subtitles failed, status code: ${o}, error: ${u}`,parseInt(o)||500);if(!r.data.url)throw new eT("Add subtitles failed: returned URL is empty",500);return r.data}async concatVideos(e,i){if(!e||0===e.length)throw new eT("videos list cannot be empty",400);for(let i=0;i<e.length;i++)e[i]=await url_utils_validateUrl(e[i]);let n={videos:e,url_expire:this.validateUrlExpire(i?.urlExpire)};i?.transitions&&i.transitions.length>0&&(n.transitions=i.transitions);let t=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=concat_videos`,n),a=t.headers["x-api-status-code"]||"0",r=t.headers["x-api-message"]||"";if("0"!==a)throw new eT(`Concat videos failed, status code: ${a}, error: ${r}`,parseInt(a)||500);if(!t.data.url)throw new eT("Concat videos failed: returned URL is empty",500);return t.data}async compileVideoAudio(e,i,n){e=await url_utils_validateUrl(e),i=await url_utils_validateUrl(i);let t=this.validateUrlExpire(n?.urlExpire),a={video:e,audio:i,url_expire:t};n?.isVideoAudioSync!==void 0&&(a.is_video_audio_sync=n.isVideoAudioSync),n?.outputSync&&(a.output_sync={sync_method:n.outputSync.sync_method??eX.DEFAULT_SYNC_METHOD,sync_mode:n.outputSync.sync_mode??eX.DEFAULT_SYNC_MODE}),n?.isAudioReserve!==void 0&&(a.is_audio_reserve=n.isAudioReserve);let r=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=compile_video_audio`,a),o=r.headers["x-api-status-code"]||"0",u=r.headers["x-api-message"]||"";if("0"!==o)throw new eT(`Compile video audio failed, status code: ${o}, error: ${u}`,parseInt(o)||500);if(!r.data.url)throw new eT("Compile video audio failed: returned URL is empty",500);return r.data}async audioToSubtitle(e,i){e=await url_utils_validateUrl(e);let n=this.validateUrlExpire(i?.urlExpire),t={source:e,url_expire:n};i?.subtitleType&&(t.subtitle_type=i.subtitleType);let a=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=audio_to_subtitle`,t),r=a.headers["x-api-status-code"]||"0",o=a.headers["x-api-message"]||"";if("0"!==r)throw new eT(`Audio to subtitle failed, status code: ${r}, error: ${o}`,parseInt(r)||500);if(!a.data.url)throw new eT("Audio to subtitle failed: returned URL is empty",500);return a.data}async extractAudio(e,i){e=await url_utils_validateUrl(e);let n=this.validateUrlExpire(i?.urlExpire,eX.MIN_AUDIO_URL_EXPIRE),t={video:e,url_expire:n};i?.format&&(t.format=i.format);let a=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=audio_extract`,t),r=a.headers["x-api-status-code"]||"0",o=a.headers["x-api-message"]||"";if("0"!==r)throw new eT(`Extract audio failed, status code: ${r}, error: ${o}`,parseInt(r)||500);if(!a.data.url)throw new eT("Extract audio failed: returned URL is empty",500);return a.data}async videoTrim(e,i){e=await url_utils_validateUrl(e);let n=this.validateUrlExpire(i?.urlExpire);if(i?.startTime!==void 0&&i.startTime<0)throw new eT("start_time must be greater than or equal to 0",400);if(i?.endTime!==void 0&&i.endTime<0)throw new eT("end_time must be greater than or equal to 0",400);let t={video:e,url_expire:n};i?.startTime!==void 0&&(t.start_time=i.startTime),i?.endTime!==void 0&&(t.end_time=i.endTime);let a=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=video_trim`,t),r=a.headers["x-api-status-code"]||"0",o=a.headers["x-api-message"]||"";if("0"!==r)throw new eT(`Video trim failed, status code: ${r}, error: ${o}`,parseInt(r)||500);if(!a.data.url)throw new eT("Video trim failed: returned URL is empty",500);return a.data}}let eQ={MODEL:"doubao-seed-1-8-251228",THINKING:"disabled",CACHING:"disabled",TEMPERATURE:1,STREAMING:!0};class eU{config;customHeaders;constructor(e,i){this.config=e||new eC,this.customHeaders=i}createLLM(e,i,n){let t={};t.thinking={type:e.thinking??eQ.THINKING},e.caching&&"disabled"!==e.caching&&(t.caching={type:e.caching});let a={Authorization:`Bearer ${this.config.apiKey}`,"X-Client-Sdk":"coze-coding-dev-sdk-typescript/0.3.0",...this.customHeaders,...n};return i&&(a["X-Previous-Response-Id"]=i),new v({model:e.model||eQ.MODEL,apiKey:this.config.apiKey,configuration:{baseURL:this.config.modelBaseUrl,defaultHeaders:a},streaming:void 0!==e.streaming?e.streaming:eQ.STREAMING,temperature:void 0!==e.temperature?e.temperature:eQ.TEMPERATURE,modelKwargs:Object.keys(t).length>0?t:void 0})}convertMessages(e){return e.map(e=>{let i=this.convertContent(e.content);switch(e.role){case"system":return new P(i);case"user":return new N(i);case"assistant":return new A(i);default:throw Error(`Unknown message role: ${e.role}`)}})}convertContent(e){return"string"==typeof e?e:e.map(e=>{if("text"===e.type)return{type:"text",text:e.text};if("image_url"===e.type){let i={url:e.image_url.url};return e.image_url.detail&&(i.detail=e.image_url.detail),{type:"image_url",image_url:i}}if("video_url"===e.type){let i={url:e.video_url.url};return void 0!==e.video_url.fps&&(i.fps=e.video_url.fps),{type:"video_url",video_url:i}}return e})}async *stream(e,i={},n,t){if(!e.some(e=>"user"===e.role))throw Error('messages must contain at least one message with role: "user", otherwise the API request will fail validation.');for(let i of e)if(Array.isArray(i.content))for(let e of i.content)"image_url"===e.type&&e.image_url?e.image_url.url=await url_utils_validateUrl(e.image_url.url):"video_url"===e.type&&e.video_url&&(e.video_url.url=await url_utils_validateUrl(e.video_url.url));let a=this.createLLM(i,n,t),r=this.convertMessages(e);for await(let e of(await a.stream(r)))yield e}async invoke(e,i={},n,t){let a="";for await(let r of this.stream(e,i,n,t))r.content&&(a+=r.content.toString());return{content:a}}}var eG=((I={})[I.TEXT=0]="TEXT",I[I.URL=1]="URL",I[I.URI=2]="URI",I);class e$ extends eE{baseUrl;constructor(e,i,n=!1){super(e,i,n),this.baseUrl=this.config.baseUrl}async search(e,i,n=5,t=0,a){let r={query:e,top_k:n,min_score:t};i&&(r.dataset=i);let o=`${this.baseUrl}/v1/knowledge_base/recall`,u={...a};this.config.apiKey&&(u["x-coze-token"]=`Bearer ${this.config.apiKey}`);let s=await this.request("POST",o,r,{headers:u});return{chunks:(s.data||[]).map(e=>({content:e.slice||"",score:e.score||0,chunk_id:e.chunk_id,doc_id:e.doc_id})),code:s.code||0,msg:s.msg||""}}async addDocuments(e,i,n,t){let a={dataset:i,data:e};n&&(a.chunk_config=Object.fromEntries(Object.entries(n).filter(([e,i])=>void 0!==i)));let r=`${this.baseUrl}/v1/knowledge_base/batch_import`,o={...t};this.config.apiKey&&(o["x-coze-token"]=`Bearer ${this.config.apiKey}`);let u=await this.request("POST",r,a,{headers:o}),s=u.msg||"";return 0===u.code&&(s="成功!文档正在异步导入中,请稍候。您可以查看数据库中的 'knowledge' schema 来验证导入状态。"),{doc_ids:u.doc_ids,code:u.code||0,msg:s}}}let eK=Symbol.for("drizzle:entityKind");function entity_is(e,i){if(!e||"object"!=typeof e)return!1;if(e instanceof i)return!0;if(!Object.prototype.hasOwnProperty.call(i,eK))throw Error(`Class "${i.name??"<unknown>"}" doesn't look like a Drizzle entity. If this is incorrect and the class is provided by Drizzle, please report this as a bug.`);let n=Object.getPrototypeOf(e).constructor;if(n)for(;n;){if(eK in n&&n[eK]===i[eK])return!0;n=Object.getPrototypeOf(n)}return!1}Symbol.for("drizzle:hasOwnEntityKind");class ez{static [eK]="ConsoleLogWriter";write(e){console.log(e)}}class eW{static [eK]="DefaultLogger";writer;constructor(e){this.writer=e?.writer??new ez}logQuery(e,i){let n=i.map(e=>{try{return JSON.stringify(e)}catch{return String(e)}}),t=n.length?` -- params: [${n.join(", ")}]`:"";this.writer.write(`Query: ${e}${t}`)}}class ej{static [eK]="NoopLogger";logQuery(){}}class eV{constructor(e,i){this.table=e,this.config=i,this.name=i.name,this.keyAsName=i.keyAsName,this.notNull=i.notNull,this.default=i.default,this.defaultFn=i.defaultFn,this.onUpdateFn=i.onUpdateFn,this.hasDefault=i.hasDefault,this.primary=i.primaryKey,this.isUnique=i.isUnique,this.uniqueName=i.uniqueName,this.uniqueType=i.uniqueType,this.dataType=i.dataType,this.columnType=i.columnType,this.generated=i.generated,this.generatedIdentity=i.generatedIdentity}static [eK]="Column";name;keyAsName;primary;notNull;default;defaultFn;onUpdateFn;hasDefault;isUnique;uniqueName;uniqueType;dataType;columnType;enumValues=void 0;generated=void 0;generatedIdentity=void 0;config;mapFromDriverValue(e){return e}mapToDriverValue(e){return e}shouldDisableInsert(){return void 0!==this.config.generated&&"byDefault"!==this.config.generated.type}}class e0{static [eK]="ColumnBuilder";config;constructor(e,i,n){this.config={name:e,keyAsName:""===e,notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType:i,columnType:n,generated:void 0}}$type(){return this}notNull(){return this.config.notNull=!0,this}default(e){return this.config.default=e,this.config.hasDefault=!0,this}$defaultFn(e){return this.config.defaultFn=e,this.config.hasDefault=!0,this}$default=this.$defaultFn;$onUpdateFn(e){return this.config.onUpdateFn=e,this.config.hasDefault=!0,this}$onUpdate=this.$onUpdateFn;primaryKey(){return this.config.primaryKey=!0,this.config.notNull=!0,this}setName(e){""===this.config.name&&(this.config.name=e)}}let e1=Symbol.for("drizzle:Name");class e3{static [eK]="PgForeignKeyBuilder";reference;_onUpdate="no action";_onDelete="no action";constructor(e,i){this.reference=()=>{let{name:i,columns:n,foreignColumns:t}=e();return{name:i,columns:n,foreignTable:t[0].table,foreignColumns:t}},i&&(this._onUpdate=i.onUpdate,this._onDelete=i.onDelete)}onUpdate(e){return this._onUpdate=void 0===e?"no action":e,this}onDelete(e){return this._onDelete=void 0===e?"no action":e,this}build(e){return new e2(e,this)}}class e2{constructor(e,i){this.table=e,this.reference=i.reference,this.onUpdate=i._onUpdate,this.onDelete=i._onDelete}static [eK]="PgForeignKey";reference;onUpdate;onDelete;getName(){let{name:e,columns:i,foreignColumns:n}=this.reference(),t=i.map(e=>e.name),a=n.map(e=>e.name),r=[this.table[e1],...t,n[0].table[e1],...a];return e??`${r.join("_")}_fk`}}function iife(e,...i){return e(...i)}function uniqueKeyName(e,i){return`${e[e1]}_${i.join("_")}_unique`}class e4{constructor(e,i){this.name=i,this.columns=e}static [eK]=null;columns;nullsNotDistinctConfig=!1;nullsNotDistinct(){return this.nullsNotDistinctConfig=!0,this}build(e){return new e6(e,this.columns,this.nullsNotDistinctConfig,this.name)}}class e8{static [eK]=null;name;constructor(e){this.name=e}on(...e){return new e4(e,this.name)}}class e6{constructor(e,i,n,t){this.table=e,this.columns=i,this.name=t??uniqueKeyName(this.table,this.columns.map(e=>e.name)),this.nullsNotDistinct=n}static [eK]=null;columns;name;nullsNotDistinct=!1;getName(){return this.name}}function parsePgArrayValue(e,i,n){for(let t=i;t<e.length;t++){let a=e[t];if("\\"===a){t++;continue}if('"'===a)return[e.slice(i,t).replace(/\\/g,""),t+1];if(!n&&(","===a||"}"===a))return[e.slice(i,t).replace(/\\/g,""),t]}return[e.slice(i).replace(/\\/g,""),e.length]}function parsePgNestedArray(e,i=0){let n=[],t=i,a=!1;for(;t<e.length;){let r=e[t];if(","===r){(a||t===i)&&n.push(""),a=!0,t++;continue}if(a=!1,"\\"===r){t+=2;continue}if('"'===r){let[i,a]=parsePgArrayValue(e,t+1,!0);n.push(i),t=a;continue}if("}"===r)return[n,t+1];if("{"===r){let[i,a]=parsePgNestedArray(e,t+1);n.push(i),t=a;continue}let[o,u]=parsePgArrayValue(e,t,!1);n.push(o),t=u}return[n,t]}function parsePgArray(e){let[i]=parsePgNestedArray(e,1);return i}function makePgArray(e){return`{${e.map(e=>Array.isArray(e)?makePgArray(e):"string"==typeof e?`"${e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`:`${e}`).join(",")}}`}class e5 extends e0{foreignKeyConfigs=[];static [eK]="PgColumnBuilder";array(e){return new it(this.config.name,this,e)}references(e,i={}){return this.foreignKeyConfigs.push({ref:e,actions:i}),this}unique(e,i){return this.config.isUnique=!0,this.config.uniqueName=e,this.config.uniqueType=i?.nulls,this}generatedAlwaysAs(e){return this.config.generated={as:e,type:"always",mode:"stored"},this}buildForeignKeys(e,i){return this.foreignKeyConfigs.map(({ref:n,actions:t})=>iife((n,t)=>{let a=new e3(()=>({columns:[e],foreignColumns:[n()]}));return t.onUpdate&&a.onUpdate(t.onUpdate),t.onDelete&&a.onDelete(t.onDelete),a.build(i)},n,t))}buildExtraConfigColumn(e){return new e9(e,this.config)}}class e7 extends eV{constructor(e,i){i.uniqueName||(i.uniqueName=uniqueKeyName(e,[i.name])),super(e,i),this.table=e}static [eK]="PgColumn"}class e9 extends e7{static [eK]="ExtraConfigColumn";getSQLType(){return this.getSQLType()}indexConfig={order:this.config.order??"asc",nulls:this.config.nulls??"last",opClass:this.config.opClass};defaultConfig={order:"asc",nulls:"last",opClass:void 0};asc(){return this.indexConfig.order="asc",this}desc(){return this.indexConfig.order="desc",this}nullsFirst(){return this.indexConfig.nulls="first",this}nullsLast(){return this.indexConfig.nulls="last",this}op(e){return this.indexConfig.opClass=e,this}}class ie{static [eK]=null;constructor(e,i,n,t){this.name=e,this.keyAsName=i,this.type=n,this.indexConfig=t}name;keyAsName;type;indexConfig}class it extends e5{static [eK]="PgArrayBuilder";constructor(e,i,n){super(e,"array","PgArray"),this.config.baseBuilder=i,this.config.size=n}build(e){let i=this.config.baseBuilder.build(e);return new ia(e,this.config,i)}}class ia extends e7{constructor(e,i,n,t){super(e,i),this.baseColumn=n,this.range=t,this.size=i.size}size;static [eK]="PgArray";getSQLType(){return`${this.baseColumn.getSQLType()}[${"number"==typeof this.size?this.size:""}]`}mapFromDriverValue(e){return"string"==typeof e&&(e=parsePgArray(e)),e.map(e=>this.baseColumn.mapFromDriverValue(e))}mapToDriverValue(e,i=!1){let n=e.map(e=>null===e?null:entity_is(this.baseColumn,ia)?this.baseColumn.mapToDriverValue(e,!0):this.baseColumn.mapToDriverValue(e));return i?n:makePgArray(n)}}class ir extends e5{static [eK]="PgEnumObjectColumnBuilder";constructor(e,i){super(e,"string","PgEnumObjectColumn"),this.config.enum=i}build(e){return new io(e,this.config)}}class io extends e7{static [eK]="PgEnumObjectColumn";enum;enumValues=this.config.enum.enumValues;constructor(e,i){super(e,i),this.enum=i.enum}getSQLType(){return this.enum.enumName}}let iu=Symbol.for("drizzle:isPgEnum");function isPgEnum(e){return!!e&&"function"==typeof e&&iu in e&&!0===e[iu]}class is extends e5{static [eK]="PgEnumColumnBuilder";constructor(e,i){super(e,"string","PgEnumColumn"),this.config.enum=i}build(e){return new il(e,this.config)}}class il extends e7{static [eK]="PgEnumColumn";enum=this.config.enum;enumValues=this.config.enum.enumValues;constructor(e,i){super(e,i),this.enum=i.enum}getSQLType(){return this.enum.enumName}}class ih{static [eK]="Subquery";constructor(e,i,n,t=!1,a=[]){this._={brand:"Subquery",sql:e,selectedFields:i,alias:n,isWith:t,usedTables:a}}}class ig extends ih{static [eK]="WithSubquery"}let ic=(n,t)=>e?(i||(i=e.trace.getTracer("drizzle-orm","0.45.1")),iife((e,i)=>i.startActiveSpan(n,i=>{try{return t(i)}catch(n){throw i.setStatus({code:e.SpanStatusCode.ERROR,message:n instanceof Error?n.message:"Unknown error"}),n}finally{i.end()}}),e,i)):t(),id=Symbol.for("drizzle:ViewBaseConfig"),ip=Symbol.for("drizzle:Schema"),im=Symbol.for("drizzle:Columns"),iy=Symbol.for("drizzle:ExtraConfigColumns"),iS=Symbol.for("drizzle:OriginalName"),ib=Symbol.for("drizzle:BaseName"),iC=Symbol.for("drizzle:IsAlias"),iw=Symbol.for("drizzle:ExtraConfigBuilder"),iT=Symbol.for("drizzle:IsDrizzleTable");class ix{static [eK]="Table";static Symbol={Name:e1,Schema:ip,OriginalName:iS,Columns:im,ExtraConfigColumns:iy,BaseName:ib,IsAlias:iC,ExtraConfigBuilder:iw};[e1];[iS];[ip];[im];[iy];[ib];[iC]=!1;[iT]=!0;[iw]=void 0;constructor(e,i,n){this[e1]=this[iS]=e,this[ip]=i,this[ib]=n}}function getTableUniqueName(e){return`${e[ip]??"public"}.${e[e1]}`}class iL{static [eK]=null}function isSQLWrapper(e){return null!=e&&"function"==typeof e.getSQL}function mergeQueries(e){let i={sql:"",params:[]};for(let n of e)i.sql+=n.sql,i.params.push(...n.params),n.typings?.length&&(i.typings||(i.typings=[]),i.typings.push(...n.typings));return i}class iE{static [eK]="StringChunk";value;constructor(e){this.value=Array.isArray(e)?e:[e]}getSQL(){return new i_([this])}}class i_{constructor(e){for(let i of(this.queryChunks=e,e))if(entity_is(i,ix)){let e=i[ix.Symbol.Schema];this.usedTables.push(void 0===e?i[ix.Symbol.Name]:e+"."+i[ix.Symbol.Name])}}static [eK]="SQL";decoder=iD;shouldInlineParams=!1;usedTables=[];append(e){return this.queryChunks.push(...e.queryChunks),this}toQuery(e){return ic("drizzle.buildSQL",i=>{let n=this.buildQueryFromSourceParams(this.queryChunks,e);return i?.setAttributes({"drizzle.query.text":n.sql,"drizzle.query.params":JSON.stringify(n.params)}),n})}buildQueryFromSourceParams(e,i){let n=Object.assign({},i,{inlineParams:i.inlineParams||this.shouldInlineParams,paramStartIndex:i.paramStartIndex||{value:0}}),{casing:t,escapeName:a,escapeParam:r,prepareTyping:o,inlineParams:u,paramStartIndex:s}=n;return mergeQueries(e.map(e=>{if(entity_is(e,iE))return{sql:e.value.join(""),params:[]};if(entity_is(e,iY))return{sql:a(e.value),params:[]};if(void 0===e)return{sql:"",params:[]};if(Array.isArray(e)){let i=[new iE("(")];for(let[n,t]of e.entries())i.push(t),n<e.length-1&&i.push(new iE(", "));return i.push(new iE(")")),this.buildQueryFromSourceParams(i,n)}if(entity_is(e,i_))return this.buildQueryFromSourceParams(e.queryChunks,{...n,inlineParams:u||e.shouldInlineParams});if(entity_is(e,ix)){let i=e[ix.Symbol.Schema],n=e[ix.Symbol.Name];return{sql:void 0===i||e[iC]?a(n):a(i)+"."+a(n),params:[]}}if(entity_is(e,eV)){let n=t.getColumnCasing(e);if("indexes"===i.invokeSource)return{sql:a(n),params:[]};let r=e.table[ix.Symbol.Schema];return{sql:e.table[iC]||void 0===r?a(e.table[ix.Symbol.Name])+"."+a(n):a(r)+"."+a(e.table[ix.Symbol.Name])+"."+a(n),params:[]}}if(entity_is(e,iM)){let i=e[id].schema,n=e[id].name;return{sql:void 0===i||e[id].isAlias?a(n):a(i)+"."+a(n),params:[]}}if(entity_is(e,iA)){if(entity_is(e.value,iZ))return{sql:r(s.value++,e),params:[e],typings:["none"]};let i=null===e.value?null:e.encoder.mapToDriverValue(e.value);if(entity_is(i,i_))return this.buildQueryFromSourceParams([i],n);if(u)return{sql:this.mapInlineParam(i,n),params:[]};let t=["none"];return o&&(t=[o(e.encoder)]),{sql:r(s.value++,i),params:[i],typings:t}}return entity_is(e,iZ)?{sql:r(s.value++,e),params:[e],typings:["none"]}:entity_is(e,i_.Aliased)&&void 0!==e.fieldAlias?{sql:a(e.fieldAlias),params:[]}:entity_is(e,ih)?e._.isWith?{sql:a(e._.alias),params:[]}:this.buildQueryFromSourceParams([new iE("("),e._.sql,new iE(") "),new iY(e._.alias)],n):isPgEnum(e)?e.schema?{sql:a(e.schema)+"."+a(e.enumName),params:[]}:{sql:a(e.enumName),params:[]}:isSQLWrapper(e)?e.shouldOmitSQLParens?.()?this.buildQueryFromSourceParams([e.getSQL()],n):this.buildQueryFromSourceParams([new iE("("),e.getSQL(),new iE(")")],n):u?{sql:this.mapInlineParam(e,n),params:[]}:{sql:r(s.value++,e),params:[e],typings:["none"]}}))}mapInlineParam(e,{escapeString:i}){if(null===e)return"null";if("number"==typeof e||"boolean"==typeof e)return e.toString();if("string"==typeof e)return i(e);if("object"==typeof e){let n=e.toString();return"[object Object]"===n?i(JSON.stringify(e)):i(n)}throw Error("Unexpected param value: "+e)}getSQL(){return this}as(e){return void 0===e?this:new i_.Aliased(this,e)}mapWith(e){return this.decoder="function"==typeof e?{mapFromDriverValue:e}:e,this}inlineParams(){return this.shouldInlineParams=!0,this}if(e){return e?this:void 0}}class iY{constructor(e){this.value=e}static [eK]="Name";brand;getSQL(){return new i_([this])}}function isDriverValueEncoder(e){return"object"==typeof e&&null!==e&&"mapToDriverValue"in e&&"function"==typeof e.mapToDriverValue}let iD={mapFromDriverValue:e=>e},iv={mapToDriverValue:e=>e};({...iD,...iv});class iA{constructor(e,i=iv){this.value=e,this.encoder=i}static [eK]="Param";brand;getSQL(){return new i_([this])}}function sql_sql(e,...i){let n=[];for(let[t,a]of((i.length>0||e.length>0&&""!==e[0])&&n.push(new iE(e[0])),i.entries()))n.push(a,new iE(e[t+1]));return new i_(n)}(O=sql_sql||(sql_sql={})).empty=function(){return new i_([])},O.fromList=function(e){return new i_(e)},O.raw=function(e){return new i_([new iE(e)])},O.join=function(e,i){let n=[];for(let[t,a]of e.entries())t>0&&void 0!==i&&n.push(i),n.push(a);return new i_(n)},O.identifier=function(e){return new iY(e)},O.placeholder=function(e){return new iZ(e)},O.param=function(e,i){return new iA(e,i)};var iN=i_||(i_={});class iP{constructor(e,i){this.sql=e,this.fieldAlias=i}static [eK]="SQL.Aliased";isSelectionField=!1;getSQL(){return this.sql}clone(){return new iP(this.sql,this.fieldAlias)}}iN.Aliased=iP;class iZ{constructor(e){this.name=e}static [eK]="Placeholder";getSQL(){return new i_([this])}}function fillPlaceholders(e,i){return e.map(e=>{if(entity_is(e,iZ)){if(!(e.name in i))throw Error(`No value for placeholder "${e.name}" was provided`);return i[e.name]}if(entity_is(e,iA)&&entity_is(e.value,iZ)){if(!(e.value.name in i))throw Error(`No value for placeholder "${e.value.name}" was provided`);return e.encoder.mapToDriverValue(i[e.value.name])}return e})}let iR=Symbol.for("drizzle:IsDrizzleView");class iM{static [eK]="View";[id];[iR]=!0;constructor({name:e,schema:i,selectedFields:n,query:t}){this[id]={name:e,originalName:e,schema:i,selectedFields:n,query:t,isExisting:!t,isAlias:!1}}getSQL(){return new i_([this])}}eV.prototype.getSQL=function(){return new i_([this])},ix.prototype.getSQL=function(){return new i_([this])},ih.prototype.getSQL=function(){return new i_([this])};class iJ{constructor(e){this.table=e}static [eK]="ColumnAliasProxyHandler";get(e,i){return"table"===i?this.table:e[i]}}class ik{constructor(e,i){this.alias=e,this.replaceOriginalName=i}static [eK]="TableAliasProxyHandler";get(e,i){if(i===ix.Symbol.IsAlias)return!0;if(i===ix.Symbol.Name||this.replaceOriginalName&&i===ix.Symbol.OriginalName)return this.alias;if(i===id)return{...e[id],name:this.alias,isAlias:!0};if(i===ix.Symbol.Columns){let i=e[ix.Symbol.Columns];if(!i)return i;let n={};return Object.keys(i).map(t=>{n[t]=new Proxy(i[t],new iJ(new Proxy(e,this)))}),n}let n=e[i];return entity_is(n,eV)?new Proxy(n,new iJ(new Proxy(e,this))):n}}class iB{constructor(e){this.alias=e}static [eK]=null;get(e,i){return"sourceTable"===i?aliasedTable(e.sourceTable,this.alias):e[i]}}function aliasedTable(e,i){return new Proxy(e,new ik(i,!1))}function aliasedTableColumn(e,i){return new Proxy(e,new iJ(new Proxy(e.table,new ik(i,!1))))}function mapColumnsInAliasedSQLToAlias(e,i){return new i_.Aliased(mapColumnsInSQLToAlias(e.sql,i),e.fieldAlias)}function mapColumnsInSQLToAlias(e,i){return sql_sql.join(e.queryChunks.map(e=>entity_is(e,eV)?aliasedTableColumn(e,i):entity_is(e,i_)?mapColumnsInSQLToAlias(e,i):entity_is(e,i_.Aliased)?mapColumnsInAliasedSQLToAlias(e,i):e))}function toSnakeCase(e){return(e.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).map(e=>e.toLowerCase()).join("_")}function toCamelCase(e){return(e.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).reduce((e,i,n)=>e+(0===n?i.toLowerCase():`${i[0].toUpperCase()}${i.slice(1)}`),"")}function noopCase(e){return e}class iH{static [eK]="CasingCache";cache={};cachedTables={};convert;constructor(e){this.convert="snake_case"===e?toSnakeCase:"camelCase"===e?toCamelCase:noopCase}getColumnCasing(e){if(!e.keyAsName)return e.name;let i=e.table[ix.Symbol.Schema]??"public",n=e.table[ix.Symbol.OriginalName],t=`${i}.${n}.${e.name}`;return this.cache[t]||this.cacheTable(e.table),this.cache[t]}cacheTable(e){let i=e[ix.Symbol.Schema]??"public",n=e[ix.Symbol.OriginalName],t=`${i}.${n}`;if(!this.cachedTables[t]){for(let i of Object.values(e[ix.Symbol.Columns])){let e=`${t}.${i.name}`;this.cache[e]=this.convert(i.name)}this.cachedTables[t]=!0}}clearCache(){this.cache={},this.cachedTables={}}}class iF extends Error{static [eK]="DrizzleError";constructor({message:e,cause:i}){super(e),this.name="DrizzleError",this.cause=i}}class iX extends Error{constructor(e,i,n){super(`Failed query: ${e}
|
|
2
|
-
params: ${i}`),this.query=e,this.params=i,this.cause=n,Error.captureStackTrace(this,iX),n&&(this.cause=n)}}class iI extends iF{static [eK]="TransactionRollbackError";constructor(){super({message:"Rollback"})}}class iO extends e5{static [eK]="PgJsonbBuilder";constructor(e){super(e,"json","PgJsonb")}build(e){return new iQ(e,this.config)}}class iQ extends e7{static [eK]="PgJsonb";constructor(e,i){super(e,i)}getSQLType(){return"jsonb"}mapToDriverValue(e){return JSON.stringify(e)}mapFromDriverValue(e){if("string"==typeof e)try{return JSON.parse(e)}catch{}return e}}class iU extends e5{static [eK]="PgJsonBuilder";constructor(e){super(e,"json","PgJson")}build(e){return new iG(e,this.config)}}class iG extends e7{static [eK]="PgJson";constructor(e,i){super(e,i)}getSQLType(){return"json"}mapToDriverValue(e){return JSON.stringify(e)}mapFromDriverValue(e){if("string"==typeof e)try{return JSON.parse(e)}catch{}return e}}class iq extends e5{static [eK]="PgNumericBuilder";constructor(e,i,n){super(e,"string","PgNumeric"),this.config.precision=i,this.config.scale=n}build(e){return new i$(e,this.config)}}class i$ extends e7{static [eK]="PgNumeric";precision;scale;constructor(e,i){super(e,i),this.precision=i.precision,this.scale=i.scale}mapFromDriverValue(e){return"string"==typeof e?e:String(e)}getSQLType(){return void 0!==this.precision&&void 0!==this.scale?`numeric(${this.precision}, ${this.scale})`:void 0===this.precision?"numeric":`numeric(${this.precision})`}}class iK extends e5{static [eK]="PgNumericNumberBuilder";constructor(e,i,n){super(e,"number","PgNumericNumber"),this.config.precision=i,this.config.scale=n}build(e){return new iz(e,this.config)}}class iz extends e7{static [eK]="PgNumericNumber";precision;scale;constructor(e,i){super(e,i),this.precision=i.precision,this.scale=i.scale}mapFromDriverValue(e){return"number"==typeof e?e:Number(e)}mapToDriverValue=String;getSQLType(){return void 0!==this.precision&&void 0!==this.scale?`numeric(${this.precision}, ${this.scale})`:void 0===this.precision?"numeric":`numeric(${this.precision})`}}class iW extends e5{static [eK]="PgNumericBigIntBuilder";constructor(e,i,n){super(e,"bigint","PgNumericBigInt"),this.config.precision=i,this.config.scale=n}build(e){return new ij(e,this.config)}}class ij extends e7{static [eK]="PgNumericBigInt";precision;scale;constructor(e,i){super(e,i),this.precision=i.precision,this.scale=i.scale}mapFromDriverValue=BigInt;mapToDriverValue=String;getSQLType(){return void 0!==this.precision&&void 0!==this.scale?`numeric(${this.precision}, ${this.scale})`:void 0===this.precision?"numeric":`numeric(${this.precision})`}}class iV extends e5{static [eK]="PgDateColumnBaseBuilder";defaultNow(){return this.default(sql_sql`now()`)}}class i0 extends iV{constructor(e,i,n){super(e,"string","PgTime"),this.withTimezone=i,this.precision=n,this.config.withTimezone=i,this.config.precision=n}static [eK]="PgTimeBuilder";build(e){return new i1(e,this.config)}}class i1 extends e7{static [eK]="PgTime";withTimezone;precision;constructor(e,i){super(e,i),this.withTimezone=i.withTimezone,this.precision=i.precision}getSQLType(){let e=void 0===this.precision?"":`(${this.precision})`;return`time${e}${this.withTimezone?" with time zone":""}`}}class i3 extends iV{static [eK]="PgTimestampBuilder";constructor(e,i,n){super(e,"date","PgTimestamp"),this.config.withTimezone=i,this.config.precision=n}build(e){return new i2(e,this.config)}}class i2 extends e7{static [eK]="PgTimestamp";withTimezone;precision;constructor(e,i){super(e,i),this.withTimezone=i.withTimezone,this.precision=i.precision}getSQLType(){let e=void 0===this.precision?"":` (${this.precision})`;return`timestamp${e}${this.withTimezone?" with time zone":""}`}mapFromDriverValue(e){return"string"==typeof e?new Date(this.withTimezone?e:e+"+0000"):e}mapToDriverValue=e=>e.toISOString()}class i4 extends iV{static [eK]="PgTimestampStringBuilder";constructor(e,i,n){super(e,"string","PgTimestampString"),this.config.withTimezone=i,this.config.precision=n}build(e){return new i8(e,this.config)}}class i8 extends e7{static [eK]="PgTimestampString";withTimezone;precision;constructor(e,i){super(e,i),this.withTimezone=i.withTimezone,this.precision=i.precision}getSQLType(){let e=void 0===this.precision?"":`(${this.precision})`;return`timestamp${e}${this.withTimezone?" with time zone":""}`}mapFromDriverValue(e){if("string"==typeof e)return e;let i=e.toISOString().slice(0,-1).replace("T"," ");if(this.withTimezone){let n=e.getTimezoneOffset();return`${i}${n<=0?"+":"-"}${Math.floor(Math.abs(n)/60).toString().padStart(2,"0")}`}return i}}class i6 extends iV{static [eK]="PgDateBuilder";constructor(e){super(e,"date","PgDate")}build(e){return new i5(e,this.config)}}class i5 extends e7{static [eK]="PgDate";getSQLType(){return"date"}mapFromDriverValue(e){return"string"==typeof e?new Date(e):e}mapToDriverValue(e){return e.toISOString()}}class i7 extends iV{static [eK]="PgDateStringBuilder";constructor(e){super(e,"string","PgDateString")}build(e){return new i9(e,this.config)}}class i9 extends e7{static [eK]="PgDateString";getSQLType(){return"date"}mapFromDriverValue(e){return"string"==typeof e?e:e.toISOString().slice(0,-14)}}class ni extends e5{static [eK]="PgUUIDBuilder";constructor(e){super(e,"string","PgUUID")}defaultRandom(){return this.default(sql_sql`gen_random_uuid()`)}build(e){return new nn(e,this.config)}}class nn extends e7{static [eK]="PgUUID";getSQLType(){return"uuid"}}let nt=Symbol.for("drizzle:PgInlineForeignKeys"),na=Symbol.for("drizzle:EnableRLS");class nr extends ix{static [eK]="PgTable";static Symbol=Object.assign({},ix.Symbol,{InlineForeignKeys:nt,EnableRLS:na});[nt]=[];[na]=!1;[ix.Symbol.ExtraConfigBuilder]=void 0;[ix.Symbol.ExtraConfigColumns]={}}class no{static [eK]="PgPrimaryKeyBuilder";columns;name;constructor(e,i){this.columns=e,this.name=i}build(e){return new nu(e,this.columns,this.name)}}class nu{constructor(e,i,n){this.table=e,this.columns=i,this.name=n}static [eK]="PgPrimaryKey";columns;name;getName(){return this.name??`${this.table[nr.Symbol.Name]}_${this.columns.map(e=>e.name).join("_")}_pk`}}function bindIfParam(e,i){return!isDriverValueEncoder(i)||isSQLWrapper(e)||entity_is(e,iA)||entity_is(e,iZ)||entity_is(e,eV)||entity_is(e,ix)||entity_is(e,iM)?e:new iA(e,i)}let eq=(e,i)=>sql_sql`${e} = ${bindIfParam(i,e)}`,ne=(e,i)=>sql_sql`${e} <> ${bindIfParam(i,e)}`;function and(...e){let i=e.filter(e=>void 0!==e);if(0!==i.length)return new i_(1===i.length?i:[new iE("("),sql_sql.join(i,new iE(" and ")),new iE(")")])}function or(...e){let i=e.filter(e=>void 0!==e);if(0!==i.length)return new i_(1===i.length?i:[new iE("("),sql_sql.join(i,new iE(" or ")),new iE(")")])}function not(e){return sql_sql`not ${e}`}let gt=(e,i)=>sql_sql`${e} > ${bindIfParam(i,e)}`,gte=(e,i)=>sql_sql`${e} >= ${bindIfParam(i,e)}`,lt=(e,i)=>sql_sql`${e} < ${bindIfParam(i,e)}`,lte=(e,i)=>sql_sql`${e} <= ${bindIfParam(i,e)}`;function inArray(e,i){return Array.isArray(i)?0===i.length?sql_sql`false`:sql_sql`${e} in ${i.map(i=>bindIfParam(i,e))}`:sql_sql`${e} in ${bindIfParam(i,e)}`}function notInArray(e,i){return Array.isArray(i)?0===i.length?sql_sql`true`:sql_sql`${e} not in ${i.map(i=>bindIfParam(i,e))}`:sql_sql`${e} not in ${bindIfParam(i,e)}`}function isNull(e){return sql_sql`${e} is null`}function isNotNull(e){return sql_sql`${e} is not null`}function exists(e){return sql_sql`exists ${e}`}function notExists(e){return sql_sql`not exists ${e}`}function between(e,i,n){return sql_sql`${e} between ${bindIfParam(i,e)} and ${bindIfParam(n,e)}`}function notBetween(e,i,n){return sql_sql`${e} not between ${bindIfParam(i,e)} and ${bindIfParam(n,e)}`}function like(e,i){return sql_sql`${e} like ${i}`}function notLike(e,i){return sql_sql`${e} not like ${i}`}function ilike(e,i){return sql_sql`${e} ilike ${i}`}function notIlike(e,i){return sql_sql`${e} not ilike ${i}`}function asc(e){return sql_sql`${e} asc`}function select_desc(e){return sql_sql`${e} desc`}class ns{constructor(e,i,n){this.sourceTable=e,this.referencedTable=i,this.relationName=n,this.referencedTableName=i[ix.Symbol.Name]}static [eK]="Relation";referencedTableName;fieldName}class nl{constructor(e,i){this.table=e,this.config=i}static [eK]="Relations"}class nh extends ns{constructor(e,i,n,t){super(e,i,n?.relationName),this.config=n,this.isNullable=t}static [eK]="One";withFieldName(e){let i=new nh(this.sourceTable,this.referencedTable,this.config,this.isNullable);return i.fieldName=e,i}}class ng extends ns{constructor(e,i,n){super(e,i,n?.relationName),this.config=n}static [eK]="Many";withFieldName(e){let i=new ng(this.sourceTable,this.referencedTable,this.config);return i.fieldName=e,i}}function getOperators(){return{and:and,between:between,eq:eq,exists:exists,gt:gt,gte:gte,ilike:ilike,inArray:inArray,isNull:isNull,isNotNull:isNotNull,like:like,lt:lt,lte:lte,ne:ne,not:not,notBetween:notBetween,notExists:notExists,notLike:notLike,notIlike:notIlike,notInArray:notInArray,or:or,sql:sql_sql}}function getOrderByOperators(){return{sql:sql_sql,asc:asc,desc:select_desc}}function extractTablesRelationalConfig(e,i){1===Object.keys(e).length&&"default"in e&&!entity_is(e.default,ix)&&(e=e.default);let n={},t={},a={};for(let[r,o]of Object.entries(e))if(entity_is(o,ix)){let e=getTableUniqueName(o),i=t[e];for(let t of(n[e]=r,a[r]={tsName:r,dbName:o[ix.Symbol.Name],schema:o[ix.Symbol.Schema],columns:o[ix.Symbol.Columns],relations:i?.relations??{},primaryKey:i?.primaryKey??[]},Object.values(o[ix.Symbol.Columns])))t.primary&&a[r].primaryKey.push(t);let u=o[ix.Symbol.ExtraConfigBuilder]?.(o[ix.Symbol.ExtraConfigColumns]);if(u)for(let e of Object.values(u))entity_is(e,no)&&a[r].primaryKey.push(...e.columns)}else if(entity_is(o,nl)){let e,r=getTableUniqueName(o.table),u=n[r];for(let[n,s]of Object.entries(o.config(i(o.table))))if(u){let i=a[u];i.relations[n]=s,e&&i.primaryKey.push(...e)}else r in t||(t[r]={relations:{},primaryKey:e}),t[r].relations[n]=s}return{tables:a,tableNamesMap:n}}function createOne(e){return function(i,n){return new nh(e,i,n,n?.fields.reduce((e,i)=>e&&i.notNull,!0)??!1)}}function createMany(e){return function(i,n){return new ng(e,i,n)}}function normalizeRelation(e,i,n){if(entity_is(n,nh)&&n.config)return{fields:n.config.fields,references:n.config.references};let t=i[getTableUniqueName(n.referencedTable)];if(!t)throw Error(`Table "${n.referencedTable[ix.Symbol.Name]}" not found in schema`);let a=e[t];if(!a)throw Error(`Table "${t}" not found in schema`);let r=n.sourceTable,o=i[getTableUniqueName(r)];if(!o)throw Error(`Table "${r[ix.Symbol.Name]}" not found in schema`);let u=[];for(let e of Object.values(a.relations))(n.relationName&&n!==e&&e.relationName===n.relationName||!n.relationName&&e.referencedTable===n.sourceTable)&&u.push(e);if(u.length>1)throw n.relationName?Error(`There are multiple relations with name "${n.relationName}" in table "${t}"`):Error(`There are multiple relations between "${t}" and "${n.sourceTable[ix.Symbol.Name]}". Please specify relation name`);if(u[0]&&entity_is(u[0],nh)&&u[0].config)return{fields:u[0].config.references,references:u[0].config.fields};throw Error(`There is not enough information to infer relation "${o}.${n.fieldName}"`)}function createTableRelationsHelpers(e){return{one:createOne(e),many:createMany(e)}}function mapRelationalRow(e,i,n,t,a=e=>e){let r={};for(let[o,u]of t.entries())if(u.isJson){let t=i.relations[u.tsKey],s=n[o],l="string"==typeof s?JSON.parse(s):s;r[u.tsKey]=entity_is(t,nh)?l&&mapRelationalRow(e,e[u.relationTableTsKey],l,u.selection,a):l.map(i=>mapRelationalRow(e,e[u.relationTableTsKey],i,u.selection,a))}else{let e,i=a(n[o]),t=u.field;e=entity_is(t,eV)?t:entity_is(t,i_)?t.decoder:t.sql.decoder,r[u.tsKey]=null===i?null:e.mapFromDriverValue(i)}return r}function mapResultRow(e,i,n){let t={},a=e.reduce((e,{path:a,field:r},o)=>{let u;u=entity_is(r,eV)?r:entity_is(r,i_)?r.decoder:entity_is(r,ih)?r._.sql.decoder:r.sql.decoder;let s=e;for(let[e,l]of a.entries())if(e<a.length-1)l in s||(s[l]={}),s=s[l];else{let e=i[o],h=s[l]=null===e?null:u.mapFromDriverValue(e);if(n&&entity_is(r,eV)&&2===a.length){let e=a[0];e in t?"string"==typeof t[e]&&t[e]!==r.table[e1]&&(t[e]=!1):t[e]=null===h&&r.table[e1]}}return e},{});if(n&&Object.keys(t).length>0)for(let[e,i]of Object.entries(t))"string"!=typeof i||n[i]||(a[e]=null);return a}function orderSelectedFields(e,i){return Object.entries(e).reduce((e,[n,t])=>{if("string"!=typeof n)return e;let a=i?[...i,n]:[n];return entity_is(t,eV)||entity_is(t,i_)||entity_is(t,i_.Aliased)||entity_is(t,ih)?e.push({path:a,field:t}):entity_is(t,ix)?e.push(...orderSelectedFields(t[ix.Symbol.Columns],a)):e.push(...orderSelectedFields(t,a)),e},[])}function haveSameKeys(e,i){let n=Object.keys(e),t=Object.keys(i);if(n.length!==t.length)return!1;for(let[e,i]of n.entries())if(i!==t[e])return!1;return!0}function mapUpdateSet(e,i){let n=Object.entries(i).filter(([,e])=>void 0!==e).map(([i,n])=>entity_is(n,i_)||entity_is(n,eV)?[i,n]:[i,new iA(n,e[ix.Symbol.Columns][i])]);if(0===n.length)throw Error("No values to set");return Object.fromEntries(n)}function applyMixins(e,i){for(let n of i)for(let i of Object.getOwnPropertyNames(n.prototype))"constructor"!==i&&Object.defineProperty(e.prototype,i,Object.getOwnPropertyDescriptor(n.prototype,i)||Object.create(null))}function getTableColumns(e){return e[ix.Symbol.Columns]}function getTableLikeName(e){return entity_is(e,ih)?e._.alias:entity_is(e,iM)?e[id].name:entity_is(e,i_)?void 0:e[ix.Symbol.IsAlias]?e[ix.Symbol.Name]:e[ix.Symbol.BaseName]}function isConfig(e){if("object"!=typeof e||null===e||"Object"!==e.constructor.name)return!1;if("logger"in e){let i=typeof e.logger;return"boolean"===i||"object"===i&&"function"==typeof e.logger.logQuery||"undefined"===i}if("schema"in e){let i=typeof e.schema;return"object"===i||"undefined"===i}if("casing"in e){let i=typeof e.casing;return"string"===i||"undefined"===i}if("mode"in e)return"default"===e.mode&&"planetscale"===e.mode&&void 0===e.mode;if("connection"in e){let i=typeof e.connection;return"string"===i||"object"===i||"undefined"===i}if("client"in e){let i=typeof e.client;return"object"===i||"function"===i||"undefined"===i}return 0===Object.keys(e).length}"u"<typeof TextDecoder||new TextDecoder;class nc extends iM{static [eK]="PgViewBase"}class nd{static [eK]="PgDialect";casing;constructor(e){this.casing=new iH(e?.casing)}async migrate(e,i,n){let t="string"==typeof n?"__drizzle_migrations":n.migrationsTable??"__drizzle_migrations",a="string"==typeof n?"drizzle":n.migrationsSchema??"drizzle",r=sql_sql`
|
|
1
|
+
let e,i,n,t,a,r,o,u,s,l,h,g,c,d;import*as p from"buffer";import*as f from"crypto";import*as m from"events";import*as y from"fs";import*as S from"node:fs";import*as b from"node:fs/promises";import*as C from"node:stream";import*as w from"os";import*as T from"path";import*as x from"stream";import*as L from"zlib";import{__webpack_require__ as E}from"./rslib-runtime.mjs";import _ from"axios";import{URL as Y,parse as D}from"url";import{ChatOpenAI as v}from"@langchain/openai";import{AIMessage as A,HumanMessage as N,SystemMessage as P}from"@langchain/core/messages";import Z from"pg";import{exec as R,execSync as M}from"child_process";import{env as J,versions as k}from"process";import{Agent as B,request as H}from"http";import{Agent as F,request as X}from"https";E.add({"./node_modules/dotenv/lib/main.js"(e,i,n){let t=n("fs"),a=n("path"),r=n("os"),o=n("crypto"),u=n("./node_modules/dotenv/package.json").version,s=["\uD83D\uDD10 encrypt with Dotenvx: https://dotenvx.com","\uD83D\uDD10 prevent committing .env to code: https://dotenvx.com/precommit","\uD83D\uDD10 prevent building .env in docker: https://dotenvx.com/prebuild","\uD83D\uDCE1 add observability to secrets: https://dotenvx.com/ops","\uD83D\uDC65 sync secrets across teammates & machines: https://dotenvx.com/ops","\uD83D\uDDC2️ backup and recover secrets: https://dotenvx.com/ops","✅ audit secrets and track compliance: https://dotenvx.com/ops","\uD83D\uDD04 add secrets lifecycle management: https://dotenvx.com/ops","\uD83D\uDD11 add access controls to secrets: https://dotenvx.com/ops","\uD83D\uDEE0️ run anywhere with `dotenvx run -- yourcommand`","⚙️ specify custom .env file path with { path: '/custom/path/.env' }","⚙️ enable debug logging with { debug: true }","⚙️ override existing env vars with { override: true }","⚙️ suppress all logs with { quiet: true }","⚙️ write to custom object with { processEnv: myObject }","⚙️ load multiple .env files with { path: ['.env.local', '.env'] }"];function _getRandomTip(){return s[Math.floor(Math.random()*s.length)]}function parseBoolean(e){return"string"==typeof e?!["false","0","no","off",""].includes(e.toLowerCase()):!!e}function supportsAnsi(){return process.stdout.isTTY}function dim(e){return supportsAnsi()?`\x1b[2m${e}\x1b[0m`:e}let l=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function _warn(e){console.error(`[dotenv@${u}][WARN] ${e}`)}function _debug(e){console.log(`[dotenv@${u}][DEBUG] ${e}`)}function _log(e){console.log(`[dotenv@${u}] ${e}`)}function _dotenvKey(e){return e&&e.DOTENV_KEY&&e.DOTENV_KEY.length>0?e.DOTENV_KEY:process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0?process.env.DOTENV_KEY:""}function _instructions(e,i){let n;try{n=new URL(i)}catch(e){if("ERR_INVALID_URL"===e.code){let e=Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development");throw e.code="INVALID_DOTENV_KEY",e}throw e}let t=n.password;if(!t){let e=Error("INVALID_DOTENV_KEY: Missing key part");throw e.code="INVALID_DOTENV_KEY",e}let a=n.searchParams.get("environment");if(!a){let e=Error("INVALID_DOTENV_KEY: Missing environment part");throw e.code="INVALID_DOTENV_KEY",e}let r=`DOTENV_VAULT_${a.toUpperCase()}`,o=e.parsed[r];if(!o){let e=Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${r} in your .env.vault file.`);throw e.code="NOT_FOUND_DOTENV_ENVIRONMENT",e}return{ciphertext:o,key:t}}function _vaultPath(e){let i=null;if(e&&e.path&&e.path.length>0)if(Array.isArray(e.path))for(let n of e.path)t.existsSync(n)&&(i=n.endsWith(".vault")?n:`${n}.vault`);else i=e.path.endsWith(".vault")?e.path:`${e.path}.vault`;else i=a.resolve(process.cwd(),".env.vault");return t.existsSync(i)?i:null}function _resolveHome(e){return"~"===e[0]?a.join(r.homedir(),e.slice(1)):e}let h={configDotenv:function(e){let i,n=a.resolve(process.cwd(),".env"),r="utf8",o=process.env;e&&null!=e.processEnv&&(o=e.processEnv);let u=parseBoolean(o.DOTENV_CONFIG_DEBUG||e&&e.debug),s=parseBoolean(o.DOTENV_CONFIG_QUIET||e&&e.quiet);e&&e.encoding?r=e.encoding:u&&_debug("No encoding is specified. UTF-8 is used by default");let l=[n];if(e&&e.path)if(Array.isArray(e.path))for(let i of(l=[],e.path))l.push(_resolveHome(i));else l=[_resolveHome(e.path)];let g={};for(let n of l)try{let i=h.parse(t.readFileSync(n,{encoding:r}));h.populate(g,i,e)}catch(e){u&&_debug(`Failed to load ${n} ${e.message}`),i=e}let c=h.populate(o,g,e);if(u=parseBoolean(o.DOTENV_CONFIG_DEBUG||u),s=parseBoolean(o.DOTENV_CONFIG_QUIET||s),u||!s){let e=Object.keys(c).length,n=[];for(let e of l)try{let i=a.relative(process.cwd(),e);n.push(i)}catch(n){u&&_debug(`Failed to load ${e} ${n.message}`),i=n}_log(`injecting env (${e}) from ${n.join(",")} ${dim(`-- tip: ${_getRandomTip()}`)}`)}return i?{parsed:g,error:i}:{parsed:g}},_configVault:function(e){let i=parseBoolean(process.env.DOTENV_CONFIG_DEBUG||e&&e.debug),n=parseBoolean(process.env.DOTENV_CONFIG_QUIET||e&&e.quiet);(i||!n)&&_log("Loading env from encrypted .env.vault");let t=h._parseVault(e),a=process.env;return e&&null!=e.processEnv&&(a=e.processEnv),h.populate(a,t,e),{parsed:t}},_parseVault:function(e){let i,n=_vaultPath(e=e||{});e.path=n;let t=h.configDotenv(e);if(!t.parsed){let e=Error(`MISSING_DATA: Cannot parse ${n} for an unknown reason`);throw e.code="MISSING_DATA",e}let a=_dotenvKey(e).split(","),r=a.length;for(let e=0;e<r;e++)try{let n=a[e].trim(),r=_instructions(t,n);i=h.decrypt(r.ciphertext,r.key);break}catch(i){if(e+1>=r)throw i}return h.parse(i)},config:function(e){if(0===_dotenvKey(e).length)return h.configDotenv(e);let i=_vaultPath(e);return i?h._configVault(e):(_warn(`You set DOTENV_KEY but you are missing a .env.vault file at ${i}. Did you forget to build it?`),h.configDotenv(e))},decrypt:function(e,i){let n=Buffer.from(i.slice(-64),"hex"),t=Buffer.from(e,"base64"),a=t.subarray(0,12),r=t.subarray(-16);t=t.subarray(12,-16);try{let e=o.createDecipheriv("aes-256-gcm",n,a);return e.setAuthTag(r),`${e.update(t)}${e.final()}`}catch(t){let e=t instanceof RangeError,i="Invalid key length"===t.message,n="Unsupported state or unable to authenticate data"===t.message;if(e||i){let e=Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");throw e.code="INVALID_DOTENV_KEY",e}if(n){let e=Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");throw e.code="DECRYPTION_FAILED",e}throw t}},parse:function(e){let i,n={},t=e.toString();for(t=t.replace(/\r\n?/mg,"\n");null!=(i=l.exec(t));){let e=i[1],t=i[2]||"",a=(t=t.trim())[0];t=t.replace(/^(['"`])([\s\S]*)\1$/mg,"$2"),'"'===a&&(t=(t=t.replace(/\\n/g,"\n")).replace(/\\r/g,"\r")),n[e]=t}return n},populate:function(e,i,n={}){let t=!!(n&&n.debug),a=!!(n&&n.override),r={};if("object"!=typeof i){let e=Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");throw e.code="OBJECT_REQUIRED",e}for(let n of Object.keys(i))Object.prototype.hasOwnProperty.call(e,n)?(!0===a&&(e[n]=i[n],r[n]=i[n]),t&&(!0===a?_debug(`"${n}" is already defined and WAS overwritten`):_debug(`"${n}" is already defined and was NOT overwritten`))):(e[n]=i[n],r[n]=i[n]);return r}};e.exports.configDotenv=h.configDotenv,e.exports._configVault=h._configVault,e.exports._parseVault=h._parseVault,e.exports.config=h.config,e.exports.decrypt=h.decrypt,e.exports.parse=h.parse,e.exports.populate=h.populate,e.exports=h},buffer(e){e.exports=p},crypto(e){e.exports=f},events(e){e.exports=m},fs(e){e.exports=y},"node:fs"(e){e.exports=S},"node:fs/promises"(e){e.exports=b},"node:stream"(e){e.exports=C},os(e){e.exports=w},path(e){e.exports=T},stream(e){e.exports=x},zlib(e){e.exports=L},"./node_modules/dotenv/package.json"(e){e.exports=JSON.parse('{"name":"dotenv","version":"17.2.3","description":"Loads environment variables from .env file","main":"lib/main.js","types":"lib/main.d.ts","exports":{".":{"types":"./lib/main.d.ts","require":"./lib/main.js","default":"./lib/main.js"},"./config":"./config.js","./config.js":"./config.js","./lib/env-options":"./lib/env-options.js","./lib/env-options.js":"./lib/env-options.js","./lib/cli-options":"./lib/cli-options.js","./lib/cli-options.js":"./lib/cli-options.js","./package.json":"./package.json"},"scripts":{"dts-check":"tsc --project tests/types/tsconfig.json","lint":"standard","pretest":"npm run lint && npm run dts-check","test":"tap run tests/**/*.js --allow-empty-coverage --disable-coverage --timeout=60000","test:coverage":"tap run tests/**/*.js --show-full-coverage --timeout=60000 --coverage-report=text --coverage-report=lcov","prerelease":"npm test","release":"standard-version"},"repository":{"type":"git","url":"git://github.com/motdotla/dotenv.git"},"homepage":"https://github.com/motdotla/dotenv#readme","funding":"https://dotenvx.com","keywords":["dotenv","env",".env","environment","variables","config","settings"],"readmeFilename":"README.md","license":"BSD-2-Clause","devDependencies":{"@types/node":"^18.11.3","decache":"^4.6.2","sinon":"^14.0.1","standard":"^17.0.0","standard-version":"^9.5.0","tap":"^19.2.0","typescript":"^4.8.4"},"engines":{"node":">=12"},"browser":{"fs":false}}')}});var I,O,Q,U,G,q,$,K,z,W,j,V,ee,ei,en,et,ea,er,eo,eu,es,el,eh,eg,ec,ed,ep,ef,em={};E.r(em),E.d(em,{T:()=>eC});var ey={};E.r(ey),E.d(ey,{n:()=>e_,p:()=>eY});var eS={};E.r(eS),E.d(eS,{F:()=>mq});var eb={};E.r(eb),E.d(eb,{c:()=>eG});class eC{apiKey;baseUrl;modelBaseUrl;retryTimes;retryDelay;timeout;constructor(e){this.apiKey=e?.apiKey||process.env.COZE_WORKLOAD_IDENTITY_API_KEY||"",this.baseUrl=e?.baseUrl||process.env.COZE_INTEGRATION_BASE_URL||"",this.modelBaseUrl=e?.modelBaseUrl||process.env.COZE_INTEGRATION_MODEL_BASE_URL||"",this.retryTimes=e?.retryTimes??3,this.retryDelay=e?.retryDelay??1,this.timeout=e?.timeout??9e5}validate(){if(!this.apiKey)throw Error("API key is required. Set COZE_WORKLOAD_IDENTITY_API_KEY or provide apiKey in config.")}getHeaders(){if(!this.apiKey)throw Error("API key is required. Set COZE_WORKLOAD_IDENTITY_API_KEY or provide apiKey in config.");return{Authorization:`Bearer ${this.apiKey}`,"Content-Type":"application/json"}}}class ew extends Error{constructor(e){super(e),this.name="ConfigurationError"}}class eT extends Error{statusCode;response;constructor(e,i,n){super(e),this.name="APIError",this.statusCode=i,this.response=n}}class ex extends Error{originalError;constructor(e,i){super(e),this.originalError=i,this.name="NetworkError"}}class eL extends Error{constructor(e){super(e),this.name="ValidationError"}}class eE{config;axiosInstance;verbose;constructor(e,i,n=!1){this.config=e||new eC,this.verbose=n,this.axiosInstance=_.create({timeout:this.config.timeout,headers:{Authorization:`Bearer ${this.config.apiKey}`,"Content-Type":"application/json","X-Client-Sdk":"coze-coding-dev-sdk-typescript/0.3.0",...i}})}async request(e,i,n,t){let a=null;for(let r=0;r<=this.config.retryTimes;r++)try{0===r&&this.verbose&&this.logRequest(e,i,n,t);let a=await this.axiosInstance.request({method:e,url:i,data:n,...t});return 0===r&&this.verbose&&this.logResponse(a),a.data}catch(e){if(a=e,e.response){let i=e.response.status;if(i>=400&&i<500&&429!==i)throw new eT(e.response.data?.message||e.message,i,e.response.data)}r<this.config.retryTimes&&await this.sleep(1e3*this.config.retryDelay*(r+1))}if(a)if(_.isAxiosError(a)&&a.response)throw new eT(a.response.data?.message||a.message,a.response.status,a.response.data);else throw new ex(a.message);throw new ex("Request failed after retries")}async requestWithResponse(e,i,n,t){let a=null;for(let r=0;r<=this.config.retryTimes;r++)try{0===r&&this.verbose&&this.logRequest(e,i,n,t);let a=await this.axiosInstance.request({method:e,url:i,data:n,...t});return 0===r&&this.verbose&&this.logResponse(a),a}catch(e){if(a=e,e.response){let i=e.response.status;if(i>=400&&i<500&&429!==i)throw new eT(e.response.data?.message||e.message,i,e.response.data)}r<this.config.retryTimes&&await this.sleep(1e3*this.config.retryDelay*(r+1))}if(a)if(_.isAxiosError(a)&&a.response)throw new eT(a.response.data?.message||a.message,a.response.status,a.response.data);else throw new ex(a.message);throw new ex("Request failed after retries")}sanitizeHeaders(e){let i=["authorization","auth","api-key","apikey","api_key","x-api-key","x-auth-token","token","secret","password","passwd","pwd"],n={};for(let[t,a]of Object.entries(e)){let e=t.toLowerCase();i.some(i=>e.includes(i))?n[t]="***":n[t]=a}return n}logRequest(e,i,n,t){console.log("\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"),console.log("\uD83D\uDCE4 HTTP Request"),console.log("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"),console.log(`Method: ${e}`),console.log(`URL: ${i}`);let a={};Object.assign(a,this.axiosInstance.defaults.headers.common||{},this.axiosInstance.defaults.headers[e.toLowerCase()]||{},t?.headers||{});let r=this.sanitizeHeaders(a);for(let[e,i]of(console.log("\nHeaders:"),Object.entries(r)))console.log(` ${e}: ${i}`);n&&(console.log("\nBody:"),console.log(JSON.stringify(n,null,2))),console.log("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n")}logResponse(e){if(console.log("\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"),console.log("\uD83D\uDCE5 HTTP Response"),console.log("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"),console.log(`Status: ${e.status} ${e.statusText}`),e.headers)for(let[i,n]of(console.log("\nHeaders:"),Object.entries(e.headers)))console.log(` ${i}: ${n}`);if(e.data){console.log("\nBody:");let i="string"==typeof e.data?e.data:JSON.stringify(e.data,null,2);console.log(i.length>1e3?i.substring(0,1e3)+"\n... (truncated)":i)}console.log("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n")}sleep(e){return new Promise(i=>setTimeout(i,e))}}let e_=["x-tt-logid","x-tt-env","x-use-ppe","x-tt-env-fe","x-run-mode","rpc-persist-res-rec-biz-scene","rpc-persist-coze-record-root-id","rpc-persist-res-rec-root-entity-type","rpc-persist-res-rec-root-entity-id","rpc-persist-res-rec-ext-info"];class eY{static extractForwardHeaders(e){let i={};return e instanceof Headers?e_.forEach(n=>{let t=e.get(n);t&&(i[n]=t)}):e_.forEach(n=>{let t=e[n]||e[n.toLowerCase()];t&&(i[n]=t)}),i}}let eD=new Set(["localhost","127.0.0.1","0.0.0.0","::1"]),ev=new Set(["http:","https:"]),eA=[["code.coze.cn","/api/sandbox/coze_coding/file/proxy"]],eN=/^data:([\w.+-]+\/[\w.+-]+)(?:;[\w.+-]+=[\w.+-]+)*;base64,[A-Za-z0-9+/]+={0,2}$/i,eP=new Set(["image/x-wmf","image/wmf","image/x-emf","image/emf","image/x-ms-bmp","image/tiff","image/x-tiff","image/x-icon","image/vnd.microsoft.icon","image/x-portable-pixmap","image/x-portable-bitmap","image/x-portable-graymap"]);class eZ extends eL{url;constructor(e,i){super(e),this.name="URLValidationError",this.url=i}}function isBase64DataUri(e){return!!e&&"string"==typeof e&&eN.test(e.trim())}function getDataUriMediatype(e){if(!e||"string"!=typeof e)return;let i=eN.exec(e.trim());if(i)return i[1].toLowerCase()}function checkBase64DataUri(e){if(!isBase64DataUri(e))return!1;let i=getDataUriMediatype(e);if(i&&eP.has(i))throw new eZ(`The image format '${i}' is outdated and not supported by many models. Please convert the image to a widely-supported format (PNG, JPEG, WEBP or GIF) and try again.`,e);return!0}async function url_utils_validateUrl(e,i){let n,{allowHeadCheck:t=!0,timeout:a=5e3}=i||{};if(!e||"string"!=typeof e)throw new eZ("URL cannot be empty","string"==typeof e?e:void 0);if(!(e=e.trim()))throw new eZ("URL cannot be empty",e);if(checkBase64DataUri(e))return e;try{n=new Y(e)}catch{if(isLocalPath(e))throw new eZ(`The input appears to be a local file path: ${e}. Please upload it using the Storage skill first to get a persistent HTTP URL.`,e);throw new eZ(`Invalid URL format: ${e}`,e)}if(!ev.has(n.protocol))throw new eZ(`Unsupported scheme '${n.protocol}', only http/https allowed`,e);let r=n.hostname;if(!r)throw new eZ(`Cannot extract hostname from URL: ${e}`,e);if(eD.has(r.toLowerCase())||eD.has(r.replace(/^\[|\]$/g,"").toLowerCase()))throw new eZ(`Access to local address is not allowed: ${r}`,e);if(isEphemeralUrl(e))throw new eZ("This URL appears to be a temporary sandbox proxy URL that may expire. Please download the file and upload it to persistent storage (Storage skill) first.",e);return t&&await headCheck(e,a),e}function isEphemeralUrl(e){try{let i=new Y(e),n=i.hostname.toLowerCase(),t=i.pathname;for(let[e,i]of eA)if(n===e&&t.startsWith(i))return!0}catch{}return!1}function isLocalPath(e){return!!e&&!!(e.startsWith("/")||e.startsWith("./")||e.startsWith("../")||e.startsWith("~/")||e.length>=3&&/^[a-zA-Z]$/.test(e[0])&&":"===e[1]&&("/"===e[2]||"\\"===e[2]))}function validateUrlSync(e){let i;if(!e||"string"!=typeof e)throw new eZ("URL cannot be empty","string"==typeof e?e:void 0);if(!(e=e.trim()))throw new eZ("URL cannot be empty",e);if(checkBase64DataUri(e))return e;try{i=new Y(e)}catch{if(isLocalPath(e))throw new eZ(`The input appears to be a local file path: ${e}. Please upload it using the Storage skill first to get a persistent HTTP URL.`,e);throw new eZ(`Invalid URL format: ${e}`,e)}if(!ev.has(i.protocol))throw new eZ(`Unsupported scheme '${i.protocol}', only http/https allowed`,e);let n=i.hostname;if(!n)throw new eZ(`Cannot extract hostname from URL: ${e}`,e);if(eD.has(n.toLowerCase())||eD.has(n.replace(/^\[|\]$/g,"").toLowerCase()))throw new eZ(`Access to local address is not allowed: ${n}`,e);return e}async function headCheck(e,i){let n=new AbortController,t=setTimeout(()=>n.abort(),i);try{let a=await fetch(e,{method:"HEAD",signal:n.signal,headers:{"User-Agent":"CozeSDK-URLValidator/1.0"}});if(405===a.status){clearTimeout(t),await rangeCheck(e,i);return}if(!a.ok)throw new eZ(`URL is not reachable: HTTP ${a.status}`,e)}catch(n){if(n instanceof eZ)throw n;if("AbortError"===n.name)throw new eZ(`URL is not reachable (request timed out after ${i}ms). Please check if the URL is correct and accessible.`,e);throw new eZ(`URL is not reachable (${n.message}). Please check if the URL is correct and accessible.`,e)}finally{clearTimeout(t)}}async function rangeCheck(e,i){let n=new AbortController,t=setTimeout(()=>n.abort(),i);try{let i=await fetch(e,{method:"GET",signal:n.signal,headers:{"User-Agent":"CozeSDK-URLValidator/1.0",Range:"bytes=0-0"}});if(405===i.status||400===i.status)return;if(i.status>=400)throw new eZ(`URL is not reachable: HTTP ${i.status}`,e)}catch(n){if(n instanceof eZ)throw n;if("AbortError"===n.name)throw new eZ(`URL is not reachable (request timed out after ${i}ms). Please check if the URL is correct and accessible.`,e);throw new eZ(`URL is not reachable (${n.message}). Please check if the URL is correct and accessible.`,e)}finally{clearTimeout(t)}}class eR{static DEFAULT_MODEL="doubao-seedream-5-0-260128";static DEFAULT_SIZE="2K";static DEFAULT_CUSTOM_SIZE="2048x2048";static DEFAULT_WATERMARK=!0;static DEFAULT_RESPONSE_FORMAT="url";static DEFAULT_OPTIMIZE_PROMPT_MODE="standard";static DEFAULT_SEQUENTIAL_IMAGE_GENERATION="disabled";static DEFAULT_SEQUENTIAL_IMAGE_GENERATION_MAX_IMAGES=15;static MIN_TOTAL_PIXELS=3686400;static MAX_TOTAL_PIXELS=0x1000000;static MIN_ASPECT_RATIO=1/16;static MAX_ASPECT_RATIO=16;static PRESET_SIZES=["2K","4K"]}function validateImageSize(e){if(eR.PRESET_SIZES.includes(e))return e;let i=e.match(/^(\d+)x(\d+)$/);if(!i)throw Error(`Invalid size format. Must be ${JSON.stringify(eR.PRESET_SIZES)} or 'WIDTHxHEIGHT' format (e.g., 2048x2048). Got: ${e}`);let n=parseInt(i[1],10),t=parseInt(i[2],10);if(n<=0||t<=0)throw Error(`Width and height must be positive integers. Got: ${e}`);let a=n*t;if(a<eR.MIN_TOTAL_PIXELS||a>eR.MAX_TOTAL_PIXELS)throw Error(`Total pixels must be between ${eR.MIN_TOTAL_PIXELS.toLocaleString()} and ${eR.MAX_TOTAL_PIXELS.toLocaleString()}. Got: ${a.toLocaleString()} (${n}x${t})`);let r=n/t;if(r<eR.MIN_ASPECT_RATIO||r>eR.MAX_ASPECT_RATIO)throw Error(`Aspect ratio must be between 1:16 and 16:1. Got: ${n}:${t} (${r.toFixed(2)})`);return e}function validateImageSizeOrDefault(e){try{return validateImageSize(e)}catch{return eR.DEFAULT_SIZE}}class eM{response;constructor(e){this.response=e}get success(){return!this.response.error&&this.response.data.every(e=>!e.error)}get imageUrls(){return this.response.data.filter(e=>e.url).map(e=>e.url)}get imageB64List(){return this.response.data.filter(e=>e.b64_json).map(e=>e.b64_json)}get errorMessages(){let e=[];for(let i of(this.response.error&&e.push(`API Error: ${this.response.error.message||"Unknown error"}`),this.response.data))i.error&&e.push(`Image generation error: ${i.error.message||"Unknown error"}`);return e}}function buildImageGenerationApiRequest(e,i){let n=validateImageSizeOrDefault(e.size||eR.DEFAULT_SIZE);return{model:i,prompt:e.prompt,size:n,watermark:e.watermark??eR.DEFAULT_WATERMARK,image:e.image,response_format:e.responseFormat||eR.DEFAULT_RESPONSE_FORMAT,optimize_prompt_options:{mode:e.optimizePromptMode||eR.DEFAULT_OPTIMIZE_PROMPT_MODE},sequential_image_generation:e.sequentialImageGeneration||eR.DEFAULT_SEQUENTIAL_IMAGE_GENERATION,sequential_image_generation_options:{max_images:e.sequentialImageGenerationMaxImages||eR.DEFAULT_SEQUENTIAL_IMAGE_GENERATION_MAX_IMAGES}}}class eJ extends eE{constructor(e,i,n=!1){super(e,i,n)}async generate(e){if(e.image)if(Array.isArray(e.image))for(let i=0;i<e.image.length;i++)e.image[i]=await url_utils_validateUrl(e.image[i]);else e.image=await url_utils_validateUrl(e.image);let i=e.model||eR.DEFAULT_MODEL,n=buildImageGenerationApiRequest(e,i),t=await this.request("POST",`${this.config.baseUrl}/api/v3/images/generations`,n);if(t.error)throw new eT(`API returned error: ${t.error.message||"Unknown error"}`,t.error.code?parseInt(t.error.code):500,t.error);for(let e of t.data)if(e.error)throw new eT(`Image generation failed: ${e.error.message||"Unknown error"}`,e.error.code?parseInt(e.error.code):500,e.error);return t}async batchGenerate(e){return Promise.all(e.map(e=>this.generate(e)))}getResponseHelper(e){return new eM(e)}}function convertToApiFormat(e){let i={};return e.query&&(i.Query=e.query),e.search_type&&(i.SearchType=e.search_type),void 0!==e.count&&(i.Count=e.count),void 0!==e.need_summary&&(i.NeedSummary=e.need_summary),e.time_range&&(i.TimeRange=e.time_range),e.filter&&(i.Filter={NeedContent:e.filter.need_content||!1,NeedUrl:e.filter.need_url||!1,Sites:e.filter.sites,BlockHosts:e.filter.block_hosts}),i}function convertFromApiFormat(e){let i={};return void 0!==e.Id&&(i.id=e.Id),void 0!==e.SortId&&(i.sort_id=e.SortId),void 0!==e.Title&&(i.title=e.Title),void 0!==e.SiteName&&(i.site_name=e.SiteName),void 0!==e.Url&&(i.url=e.Url),void 0!==e.Snippet&&(i.snippet=e.Snippet),void 0!==e.Summary&&(i.summary=e.Summary),void 0!==e.Content&&(i.content=e.Content),void 0!==e.PublishTime&&(i.publish_time=e.PublishTime),void 0!==e.LogoUrl&&(i.logo_url=e.LogoUrl),void 0!==e.RankScore&&(i.rank_score=e.RankScore),void 0!==e.AuthInfoDes&&(i.auth_info_des=e.AuthInfoDes),void 0!==e.AuthInfoLevel&&(i.auth_info_level=e.AuthInfoLevel),e.Image&&(i.image={url:e.Image.Url,width:e.Image.Width,height:e.Image.Height,shape:e.Image.Shape}),i}class ek extends eE{constructor(e,i,n=!1){super(e,i,n)}async search(e){let i,n=convertToApiFormat(e),t=await this.request("POST",`${this.config.baseUrl}/api/search_api/web_search`,n),a=t.ResponseMetadata||{};if(a.Error)throw new eT(`Search failed: ${a.Error}`,500,a.Error);let r=t.Result||{},o=[];if(r.WebResults)for(let e of r.WebResults)o.push(convertFromApiFormat(e));let u=[];if(r.ImageResults)for(let e of r.ImageResults)u.push(convertFromApiFormat(e));return r.Choices&&r.Choices.length>0&&(i=r.Choices[0].Message?.Content),{web_items:o,image_items:u,summary:i}}async webSearch(e,i=10,n=!0){return this.search({query:e,search_type:"web",count:i,need_summary:n})}async webSearchWithSummary(e,i=10){return this.search({query:e,search_type:"web_summary",count:i,need_summary:!0})}async imageSearch(e,i=10){return this.search({query:e,search_type:"image",count:i,need_summary:!1})}async advancedSearch(e,i={}){let n={need_content:i.needContent,need_url:i.needUrl,sites:i.sites,block_hosts:i.blockHosts};return this.search({query:e,search_type:i.searchType||"web",count:i.count||10,filter:n,need_summary:void 0===i.needSummary||i.needSummary,time_range:i.timeRange})}}class eB{static DEFAULT_SPEAKER="zh_female_xiaohe_uranus_bigtts";static DEFAULT_AUDIO_FORMAT="mp3";static DEFAULT_SAMPLE_RATE=24e3;static DEFAULT_SPEECH_RATE=0;static DEFAULT_LOUDNESS_RATE=0}function buildTTSApiRequest(e){let i={user:{uid:e.uid},req_params:{speaker:e.speaker||eB.DEFAULT_SPEAKER,audio_params:{format:e.audioFormat||eB.DEFAULT_AUDIO_FORMAT,sample_rate:e.sampleRate||eB.DEFAULT_SAMPLE_RATE,speech_rate:e.speechRate??eB.DEFAULT_SPEECH_RATE,loudness_rate:e.loudnessRate??eB.DEFAULT_LOUDNESS_RATE}}};return e.text?i.req_params.text=e.text:e.ssml&&(i.req_params.ssml=e.ssml),i}function buildASRApiRequest(e){let i={};return e.url?i.url=e.url:e.base64Data&&(i.data=e.base64Data),{user:{uid:e.uid},audio:i}}class eH extends eE{constructor(e,i,n=!1){super(e,i,n)}async synthesize(e){if(!e.text&&!e.ssml)throw new eL("必须提供 text 或 ssml 其中之一");let i=buildTTSApiRequest(e),n={...this.config.getHeaders(),Connection:"keep-alive"};try{let e=await _.post(`${this.config.baseUrl}/api/v3/tts/unidirectional`,i,{headers:n,responseType:"stream",timeout:this.config.timeout});return await this.processStreamResponse(e)}catch(e){if(e.response)throw new eT(`TTS 请求失败: ${e.message}`,e.response.status,e.response.data);throw new eT(`TTS 请求异常: ${e.message}`,500)}}async processStreamResponse(e){return new Promise((i,n)=>{let t="",a=0,r="";e.data.on("data",e=>{let o=(r+=e.toString("utf-8")).split("\n");for(let e of(r=o.pop()||"",o))if(e.trim()&&e.startsWith("data:"))try{let r=e.replace("data:","").trim();if(!r)continue;let o=JSON.parse(r);if(0===o.code&&o.data){let e=Buffer.from(o.data,"base64");a+=e.length}else if(2e7===o.code){o.url&&(t=o.url),i({audioUri:t,audioSize:a});return}else if(o.code>0)return void n(new eT(`合成音频失败: ${o.message||""}`,o.code))}catch(e){n(new eT(`响应解析失败: ${e.message}`,500));return}}),e.data.on("end",()=>{t||0!==a?i({audioUri:t,audioSize:a}):n(new eT("未收到完整的音频数据",500))}),e.data.on("error",e=>{n(new eT(`流处理错误: ${e.message}`,500))})})}}class eF extends eE{constructor(e,i,n=!1){super(e,i,n)}async recognize(e){if(!e.url&&!e.base64Data)throw new eL("必须提供 url 或 base64Data 其中之一");let i=buildASRApiRequest(e);try{let e=await this.requestWithResponse("POST",`${this.config.baseUrl}/api/v3/auc/bigmodel/recognize/flash`,i),n=e.headers["x-api-status-code"]||"0",t=e.headers["x-api-message"]||"";if("20000000"!==n)throw new eT(`ASR 识别失败,状态码: ${n}, 错误信息: ${t}`,e.status,{code:n,message:t});let a=e.data.result||{};return{text:a.text||"",duration:a.duration,utterances:a.utterances,rawData:e.data}}catch(e){if(e instanceof eT)throw e;throw new eT(`ASR 请求异常: ${e.message}`,500)}}}class eX{static DEFAULT_MODEL="doubao-seedance-2-0-260128";static DEFAULT_RESOLUTION="720p";static DEFAULT_RATIO="16:9";static DEFAULT_DURATION=5;static DEFAULT_WATERMARK=!0;static DEFAULT_CAMERA_FIXED=!1;static DEFAULT_GENERATE_AUDIO=!0}class eI extends eE{baseUrl;constructor(e,i,n=!1){super(e,i,n),this.baseUrl=this.config.baseUrl}static validateContentItems(e,i){let n=0,t=0,a=0,r=0,o=0;for(let i of e)"image_url"===i.type?"first_frame"===i.role?n+=1:"last_frame"===i.role?t+=1:"reference_image"===i.role&&(a+=1):"video_url"===i.type?r+=1:"audio_url"===i.type&&(o+=1);let u=n>0||t>0,s=a>0||r>0||o>0;if(u&&s)throw new eT("图生视频-首尾帧 与 多模态参考生视频 为互斥场景,不可混用。请只使用 first_frame/last_frame 角色,或只使用 reference_image/reference_video/reference_audio。如需『首尾帧 + 多模态参考』效果,可在多模态场景中通过提示词指定参考图作为首帧/尾帧。",400);if(s){if("doubao-seedance-2-0-260128"!==i)throw new eT(`多模态参考生视频(reference_image/reference_video/reference_audio)仅支持 doubao-seedance-2-0-260128 模型,当前模型为 ${i}`,400);if(0===a&&0===r)throw new eT("多模态参考生视频至少需要包含 1 个 reference_image 或 reference_video,不可单独输入 reference_audio。",400);if(a>9)throw new eT(`reference_image 数量超出限制:最多 9 个,当前 ${a} 个`,400);if(r>3)throw new eT(`reference_video 数量超出限制:最多 3 个,当前 ${r} 个`,400);if(o>3)throw new eT(`reference_audio 数量超出限制:最多 3 个,当前 ${o} 个`,400)}if(u){if(n>1)throw new eT(`first_frame 角色至多 1 个,当前 ${n} 个`,400);if(t>1)throw new eT(`last_frame 角色至多 1 个,当前 ${t} 个`,400);if(t>0&&0===n)throw new eT("提供 last_frame 时必须同时提供 first_frame",400)}}async videoGeneration(e,i){let n=(i?.maxWaitTime??900)*1e3,t=i?.model||eX.DEFAULT_MODEL;for(let i of(eI.validateContentItems(e,t),e))"image_url"===i.type?i.image_url.url=await url_utils_validateUrl(i.image_url.url):"video_url"===i.type?i.video_url.url=await url_utils_validateUrl(i.video_url.url):"audio_url"===i.type&&(i.audio_url.url=await url_utils_validateUrl(i.audio_url.url));let a={model:t,content:e};i?.callbackUrl&&(a.callback_url=i.callbackUrl),i?.returnLastFrame&&(a.return_last_frame=i.returnLastFrame),a.resolution=i?.resolution??eX.DEFAULT_RESOLUTION,a.ratio=i?.ratio??eX.DEFAULT_RATIO,a.duration=i?.duration??eX.DEFAULT_DURATION,a.watermark=i?.watermark??eX.DEFAULT_WATERMARK,i?.seed!==void 0&&(a.seed=i.seed),a.camerafixed=i?.camerafixed??eX.DEFAULT_CAMERA_FIXED,a.generate_audio=i?.generateAudio??eX.DEFAULT_GENERATE_AUDIO;let r=null,o=0;for(;o<3;)try{if(!(r=(await this.request("POST",`${this.baseUrl}/api/v3/contents/generations/tasks`,a)).id))throw new eT("创建视频生成任务失败:响应中缺少任务ID",500);this.verbose&&console.log(`视频生成任务创建成功,任务ID: ${r}`);break}catch(i){o++;let e=i instanceof Error?i.message:String(i);if(this.verbose&&console.error(`创建视频生成任务失败(尝试 ${o}/3): ${e}`),o>=3)throw new eT(`创建视频生成任务失败,已重试3次: ${e}`,500);if(e.toLowerCase().includes("rate limit")||e.includes("429")){let e=Math.min(2**o*1e3,1e4);this.verbose&&console.warn(`遇到速率限制,等待 ${e/1e3} 秒后重试...`),await this.sleep(e)}else if(e.toLowerCase().includes("timeout"))this.verbose&&console.warn("请求超时,等待 2 秒后重试..."),await this.sleep(2e3);else throw i}let u=Date.now(),s=0;for(;Date.now()-u<n;){s++;try{let e=await this.request("GET",`${this.baseUrl}/api/v3/contents/generations/tasks/${r}`),i=e.status;if(this.verbose&&console.log(`任务 ${r} 状态检查 #${s}: ${i}`),"succeeded"===i){let i=e.content?.video_url||null,n=e.content?.last_frame_url||"";if(!i)throw new eT(`视频生成成功但响应中缺少视频URL,任务ID: ${r}`,500);return this.verbose&&console.log(`视频生成成功,任务ID: ${r}, 视频URL: ${i}`),{videoUrl:i,response:e,lastFrameUrl:n}}if("failed"===i){let i=e.error_message||"未知错误";throw this.verbose&&console.error(`视频生成失败,任务ID: ${r}, 错误: ${i}`),new eT(`视频生成失败: ${i}`,500)}if("cancelled"===i)return this.verbose&&console.warn(`视频生成任务被取消,任务ID: ${r}`),{videoUrl:null,response:e,lastFrameUrl:""};else if("queued"===i||"running"===i){await this.sleep(5e3);continue}else{this.verbose&&console.warn(`未知的任务状态: ${i},任务ID: ${r}`),await this.sleep(5e3);continue}}catch(i){let e=i instanceof Error?i.message:String(i);if(this.verbose&&console.error(`查询任务状态失败,任务ID: ${r}, 错误: ${e}`),e.toLowerCase().includes("not found")||e.includes("404"))throw new eT(`任务不存在或已过期,任务ID: ${r}`,404);if(Date.now()-u>=n)throw i;await this.sleep(5e3);continue}}let l=Math.floor((Date.now()-u)/1e3);throw this.verbose&&console.error(`视频生成超时,任务ID: ${r}, 已等待: ${l}秒`),new eT(`视频生成超时,已等待 ${l} 秒,任务ID: ${r}`,408)}async videoGenerationAsync(e,i){return this.videoGeneration(e,i)}}class eO{static DEFAULT_URL_EXPIRE=86400;static MAX_URL_EXPIRE=2592e3;static MIN_URL_EXPIRE=1;static MIN_AUDIO_URL_EXPIRE=3600;static DEFAULT_FONT_TYPE="1525745";static DEFAULT_FONT_SIZE=36;static DEFAULT_FONT_COLOR="#FFFFFFFF";static DEFAULT_BACKGROUND_COLOR="#00000000";static DEFAULT_BACKGROUND_BORDER_WIDTH=0;static DEFAULT_FONT_POS_HEIGHT="10%";static DEFAULT_FONT_POS_X="0";static DEFAULT_FONT_POS_Y="90%";static DEFAULT_FONT_POS_WIDTH="100%";static DEFAULT_SYNC_METHOD="trim";static DEFAULT_SYNC_MODE="video";static DEFAULT_SUBTITLE_TYPE="srt";static DEFAULT_AUDIO_FORMAT="m4a"}class eQ extends eE{baseUrl;constructor(e,i,n=!1){super(e,i,n),this.baseUrl=this.config.baseUrl}async extractByKeyFrame(e){e=await url_utils_validateUrl(e);let i=await this.request("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=frame_extractor_by_key_frame`,{url:e});if(0!==i.code)throw new eT(`Key frame extraction failed: ${i.msg||"Unknown error"}`,i.code);return i}async extractByInterval(e,i){e=await url_utils_validateUrl(e);let n=await this.request("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=frame_extractor_by_interval`,{url:e,interval_ms:i});if(0!==n.code)throw new eT(`Interval frame extraction failed: ${n.msg||"Unknown error"}`,n.code);return n}async extractByCount(e,i){e=await url_utils_validateUrl(e);let n=await this.request("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=frame_extractor_by_count`,{url:e,count:i});if(0!==n.code)throw new eT(`Count-based frame extraction failed: ${n.msg||"Unknown error"}`,n.code);return n}}class eU extends eE{baseUrl;constructor(e,i,n=!1){super(e,i,n),this.baseUrl=this.config.baseUrl}validateUrlExpire(e,i=eO.MIN_URL_EXPIRE){if(void 0===e)return eO.DEFAULT_URL_EXPIRE;if(e<i||e>eO.MAX_URL_EXPIRE)throw new eT(`url_expire must be between ${i} and ${eO.MAX_URL_EXPIRE} seconds`,400);return e}async addSubtitles(e,i,n){e=await url_utils_validateUrl(e),n?.subtitleUrl&&(n.subtitleUrl=await url_utils_validateUrl(n.subtitleUrl));let t=this.validateUrlExpire(n?.urlExpire),a={video:e,subtitle_config:{background_border_width:i.background_border_width??eO.DEFAULT_BACKGROUND_BORDER_WIDTH,font_type:i.font_type??eO.DEFAULT_FONT_TYPE,font_pos_config:{height:i.font_pos_config.height??eO.DEFAULT_FONT_POS_HEIGHT,pos_x:i.font_pos_config.pos_x??eO.DEFAULT_FONT_POS_X,pos_y:i.font_pos_config.pos_y??eO.DEFAULT_FONT_POS_Y,width:i.font_pos_config.width??eO.DEFAULT_FONT_POS_WIDTH}},url_expire:t};void 0!==i.border_width&&(a.subtitle_config.border_width=i.border_width),void 0!==i.font_color&&(a.subtitle_config.font_color=i.font_color),void 0!==i.font_size&&(a.subtitle_config.font_size=i.font_size),void 0!==i.background_color&&(a.subtitle_config.background_color=i.background_color),void 0!==i.border_color&&(a.subtitle_config.border_color=i.border_color),n?.subtitleUrl&&(a.subtitle_url=n.subtitleUrl),n?.textList&&n.textList.length>0&&(a.text_list=n.textList.map(e=>({end_time:e.end_time,start_time:e.start_time,text:e.text})));let r=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=add_subtitles`,a),o=r.headers["x-api-status-code"]||"0",u=r.headers["x-api-message"]||"";if("0"!==o)throw new eT(`Add subtitles failed, status code: ${o}, error: ${u}`,parseInt(o)||500);if(!r.data.url)throw new eT("Add subtitles failed: returned URL is empty",500);return r.data}async concatVideos(e,i){if(!e||0===e.length)throw new eT("videos list cannot be empty",400);for(let i=0;i<e.length;i++)e[i]=await url_utils_validateUrl(e[i]);let n={videos:e,url_expire:this.validateUrlExpire(i?.urlExpire)};i?.transitions&&i.transitions.length>0&&(n.transitions=i.transitions);let t=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=concat_videos`,n),a=t.headers["x-api-status-code"]||"0",r=t.headers["x-api-message"]||"";if("0"!==a)throw new eT(`Concat videos failed, status code: ${a}, error: ${r}`,parseInt(a)||500);if(!t.data.url)throw new eT("Concat videos failed: returned URL is empty",500);return t.data}async compileVideoAudio(e,i,n){e=await url_utils_validateUrl(e),i=await url_utils_validateUrl(i);let t=this.validateUrlExpire(n?.urlExpire),a={video:e,audio:i,url_expire:t};n?.isVideoAudioSync!==void 0&&(a.is_video_audio_sync=n.isVideoAudioSync),n?.outputSync&&(a.output_sync={sync_method:n.outputSync.sync_method??eO.DEFAULT_SYNC_METHOD,sync_mode:n.outputSync.sync_mode??eO.DEFAULT_SYNC_MODE}),n?.isAudioReserve!==void 0&&(a.is_audio_reserve=n.isAudioReserve);let r=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=compile_video_audio`,a),o=r.headers["x-api-status-code"]||"0",u=r.headers["x-api-message"]||"";if("0"!==o)throw new eT(`Compile video audio failed, status code: ${o}, error: ${u}`,parseInt(o)||500);if(!r.data.url)throw new eT("Compile video audio failed: returned URL is empty",500);return r.data}async audioToSubtitle(e,i){e=await url_utils_validateUrl(e);let n=this.validateUrlExpire(i?.urlExpire),t={source:e,url_expire:n};i?.subtitleType&&(t.subtitle_type=i.subtitleType);let a=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=audio_to_subtitle`,t),r=a.headers["x-api-status-code"]||"0",o=a.headers["x-api-message"]||"";if("0"!==r)throw new eT(`Audio to subtitle failed, status code: ${r}, error: ${o}`,parseInt(r)||500);if(!a.data.url)throw new eT("Audio to subtitle failed: returned URL is empty",500);return a.data}async extractAudio(e,i){e=await url_utils_validateUrl(e);let n=this.validateUrlExpire(i?.urlExpire,eO.MIN_AUDIO_URL_EXPIRE),t={video:e,url_expire:n};i?.format&&(t.format=i.format);let a=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=audio_extract`,t),r=a.headers["x-api-status-code"]||"0",o=a.headers["x-api-message"]||"";if("0"!==r)throw new eT(`Extract audio failed, status code: ${r}, error: ${o}`,parseInt(r)||500);if(!a.data.url)throw new eT("Extract audio failed: returned URL is empty",500);return a.data}async videoTrim(e,i){e=await url_utils_validateUrl(e);let n=this.validateUrlExpire(i?.urlExpire);if(i?.startTime!==void 0&&i.startTime<0)throw new eT("start_time must be greater than or equal to 0",400);if(i?.endTime!==void 0&&i.endTime<0)throw new eT("end_time must be greater than or equal to 0",400);let t={video:e,url_expire:n};i?.startTime!==void 0&&(t.start_time=i.startTime),i?.endTime!==void 0&&(t.end_time=i.endTime);let a=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=video_trim`,t),r=a.headers["x-api-status-code"]||"0",o=a.headers["x-api-message"]||"";if("0"!==r)throw new eT(`Video trim failed, status code: ${r}, error: ${o}`,parseInt(r)||500);if(!a.data.url)throw new eT("Video trim failed: returned URL is empty",500);return a.data}}let eG={MODEL:"doubao-seed-1-8-251228",THINKING:"disabled",CACHING:"disabled",TEMPERATURE:1,STREAMING:!0};class e${config;customHeaders;constructor(e,i){this.config=e||new eC,this.customHeaders=i}createLLM(e,i,n){let t={};t.thinking={type:e.thinking??eG.THINKING},e.caching&&"disabled"!==e.caching&&(t.caching={type:e.caching});let a={Authorization:`Bearer ${this.config.apiKey}`,"X-Client-Sdk":"coze-coding-dev-sdk-typescript/0.3.0",...this.customHeaders,...n};return i&&(a["X-Previous-Response-Id"]=i),new v({model:e.model||eG.MODEL,apiKey:this.config.apiKey,configuration:{baseURL:this.config.modelBaseUrl,defaultHeaders:a},streaming:void 0!==e.streaming?e.streaming:eG.STREAMING,temperature:void 0!==e.temperature?e.temperature:eG.TEMPERATURE,modelKwargs:Object.keys(t).length>0?t:void 0})}convertMessages(e){return e.map(e=>{let i=this.convertContent(e.content);switch(e.role){case"system":return new P(i);case"user":return new N(i);case"assistant":return new A(i);default:throw Error(`Unknown message role: ${e.role}`)}})}convertContent(e){return"string"==typeof e?e:e.map(e=>{if("text"===e.type)return{type:"text",text:e.text};if("image_url"===e.type){let i={url:e.image_url.url};return e.image_url.detail&&(i.detail=e.image_url.detail),{type:"image_url",image_url:i}}if("video_url"===e.type){let i={url:e.video_url.url};return void 0!==e.video_url.fps&&(i.fps=e.video_url.fps),{type:"video_url",video_url:i}}return e})}async *stream(e,i={},n,t){if(!e.some(e=>"user"===e.role))throw Error('messages must contain at least one message with role: "user", otherwise the API request will fail validation.');for(let i of e)if(Array.isArray(i.content))for(let e of i.content)"image_url"===e.type&&e.image_url?e.image_url.url=await url_utils_validateUrl(e.image_url.url):"video_url"===e.type&&e.video_url&&(e.video_url.url=await url_utils_validateUrl(e.video_url.url));let a=this.createLLM(i,n,t),r=this.convertMessages(e);for await(let e of(await a.stream(r)))yield e}async invoke(e,i={},n,t){let a="";for await(let r of this.stream(e,i,n,t))r.content&&(a+=r.content.toString());return{content:a}}}var eK=((I={})[I.TEXT=0]="TEXT",I[I.URL=1]="URL",I[I.URI=2]="URI",I);class ez extends eE{baseUrl;constructor(e,i,n=!1){super(e,i,n),this.baseUrl=this.config.baseUrl}async search(e,i,n=5,t=0,a){let r={query:e,top_k:n,min_score:t};i&&(r.dataset=i);let o=`${this.baseUrl}/v1/knowledge_base/recall`,u={...a};this.config.apiKey&&(u["x-coze-token"]=`Bearer ${this.config.apiKey}`);let s=await this.request("POST",o,r,{headers:u});return{chunks:(s.data||[]).map(e=>({content:e.slice||"",score:e.score||0,chunk_id:e.chunk_id,doc_id:e.doc_id})),code:s.code||0,msg:s.msg||""}}async addDocuments(e,i,n,t){let a={dataset:i,data:e};n&&(a.chunk_config=Object.fromEntries(Object.entries(n).filter(([e,i])=>void 0!==i)));let r=`${this.baseUrl}/v1/knowledge_base/batch_import`,o={...t};this.config.apiKey&&(o["x-coze-token"]=`Bearer ${this.config.apiKey}`);let u=await this.request("POST",r,a,{headers:o}),s=u.msg||"";return 0===u.code&&(s="成功!文档正在异步导入中,请稍候。您可以查看数据库中的 'knowledge' schema 来验证导入状态。"),{doc_ids:u.doc_ids,code:u.code||0,msg:s}}}let eW=Symbol.for("drizzle:entityKind");function entity_is(e,i){if(!e||"object"!=typeof e)return!1;if(e instanceof i)return!0;if(!Object.prototype.hasOwnProperty.call(i,eW))throw Error(`Class "${i.name??"<unknown>"}" doesn't look like a Drizzle entity. If this is incorrect and the class is provided by Drizzle, please report this as a bug.`);let n=Object.getPrototypeOf(e).constructor;if(n)for(;n;){if(eW in n&&n[eW]===i[eW])return!0;n=Object.getPrototypeOf(n)}return!1}Symbol.for("drizzle:hasOwnEntityKind");class ej{static [eW]="ConsoleLogWriter";write(e){console.log(e)}}class eV{static [eW]="DefaultLogger";writer;constructor(e){this.writer=e?.writer??new ej}logQuery(e,i){let n=i.map(e=>{try{return JSON.stringify(e)}catch{return String(e)}}),t=n.length?` -- params: [${n.join(", ")}]`:"";this.writer.write(`Query: ${e}${t}`)}}class e0{static [eW]="NoopLogger";logQuery(){}}class e1{constructor(e,i){this.table=e,this.config=i,this.name=i.name,this.keyAsName=i.keyAsName,this.notNull=i.notNull,this.default=i.default,this.defaultFn=i.defaultFn,this.onUpdateFn=i.onUpdateFn,this.hasDefault=i.hasDefault,this.primary=i.primaryKey,this.isUnique=i.isUnique,this.uniqueName=i.uniqueName,this.uniqueType=i.uniqueType,this.dataType=i.dataType,this.columnType=i.columnType,this.generated=i.generated,this.generatedIdentity=i.generatedIdentity}static [eW]="Column";name;keyAsName;primary;notNull;default;defaultFn;onUpdateFn;hasDefault;isUnique;uniqueName;uniqueType;dataType;columnType;enumValues=void 0;generated=void 0;generatedIdentity=void 0;config;mapFromDriverValue(e){return e}mapToDriverValue(e){return e}shouldDisableInsert(){return void 0!==this.config.generated&&"byDefault"!==this.config.generated.type}}class e3{static [eW]="ColumnBuilder";config;constructor(e,i,n){this.config={name:e,keyAsName:""===e,notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType:i,columnType:n,generated:void 0}}$type(){return this}notNull(){return this.config.notNull=!0,this}default(e){return this.config.default=e,this.config.hasDefault=!0,this}$defaultFn(e){return this.config.defaultFn=e,this.config.hasDefault=!0,this}$default=this.$defaultFn;$onUpdateFn(e){return this.config.onUpdateFn=e,this.config.hasDefault=!0,this}$onUpdate=this.$onUpdateFn;primaryKey(){return this.config.primaryKey=!0,this.config.notNull=!0,this}setName(e){""===this.config.name&&(this.config.name=e)}}let e2=Symbol.for("drizzle:Name");class e4{static [eW]="PgForeignKeyBuilder";reference;_onUpdate="no action";_onDelete="no action";constructor(e,i){this.reference=()=>{let{name:i,columns:n,foreignColumns:t}=e();return{name:i,columns:n,foreignTable:t[0].table,foreignColumns:t}},i&&(this._onUpdate=i.onUpdate,this._onDelete=i.onDelete)}onUpdate(e){return this._onUpdate=void 0===e?"no action":e,this}onDelete(e){return this._onDelete=void 0===e?"no action":e,this}build(e){return new e8(e,this)}}class e8{constructor(e,i){this.table=e,this.reference=i.reference,this.onUpdate=i._onUpdate,this.onDelete=i._onDelete}static [eW]="PgForeignKey";reference;onUpdate;onDelete;getName(){let{name:e,columns:i,foreignColumns:n}=this.reference(),t=i.map(e=>e.name),a=n.map(e=>e.name),r=[this.table[e2],...t,n[0].table[e2],...a];return e??`${r.join("_")}_fk`}}function iife(e,...i){return e(...i)}function uniqueKeyName(e,i){return`${e[e2]}_${i.join("_")}_unique`}class e6{constructor(e,i){this.name=i,this.columns=e}static [eW]=null;columns;nullsNotDistinctConfig=!1;nullsNotDistinct(){return this.nullsNotDistinctConfig=!0,this}build(e){return new e7(e,this.columns,this.nullsNotDistinctConfig,this.name)}}class e5{static [eW]=null;name;constructor(e){this.name=e}on(...e){return new e6(e,this.name)}}class e7{constructor(e,i,n,t){this.table=e,this.columns=i,this.name=t??uniqueKeyName(this.table,this.columns.map(e=>e.name)),this.nullsNotDistinct=n}static [eW]=null;columns;name;nullsNotDistinct=!1;getName(){return this.name}}function parsePgArrayValue(e,i,n){for(let t=i;t<e.length;t++){let a=e[t];if("\\"===a){t++;continue}if('"'===a)return[e.slice(i,t).replace(/\\/g,""),t+1];if(!n&&(","===a||"}"===a))return[e.slice(i,t).replace(/\\/g,""),t]}return[e.slice(i).replace(/\\/g,""),e.length]}function parsePgNestedArray(e,i=0){let n=[],t=i,a=!1;for(;t<e.length;){let r=e[t];if(","===r){(a||t===i)&&n.push(""),a=!0,t++;continue}if(a=!1,"\\"===r){t+=2;continue}if('"'===r){let[i,a]=parsePgArrayValue(e,t+1,!0);n.push(i),t=a;continue}if("}"===r)return[n,t+1];if("{"===r){let[i,a]=parsePgNestedArray(e,t+1);n.push(i),t=a;continue}let[o,u]=parsePgArrayValue(e,t,!1);n.push(o),t=u}return[n,t]}function parsePgArray(e){let[i]=parsePgNestedArray(e,1);return i}function makePgArray(e){return`{${e.map(e=>Array.isArray(e)?makePgArray(e):"string"==typeof e?`"${e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`:`${e}`).join(",")}}`}class e9 extends e3{foreignKeyConfigs=[];static [eW]="PgColumnBuilder";array(e){return new ir(this.config.name,this,e)}references(e,i={}){return this.foreignKeyConfigs.push({ref:e,actions:i}),this}unique(e,i){return this.config.isUnique=!0,this.config.uniqueName=e,this.config.uniqueType=i?.nulls,this}generatedAlwaysAs(e){return this.config.generated={as:e,type:"always",mode:"stored"},this}buildForeignKeys(e,i){return this.foreignKeyConfigs.map(({ref:n,actions:t})=>iife((n,t)=>{let a=new e4(()=>({columns:[e],foreignColumns:[n()]}));return t.onUpdate&&a.onUpdate(t.onUpdate),t.onDelete&&a.onDelete(t.onDelete),a.build(i)},n,t))}buildExtraConfigColumn(e){return new it(e,this.config)}}class ie extends e1{constructor(e,i){i.uniqueName||(i.uniqueName=uniqueKeyName(e,[i.name])),super(e,i),this.table=e}static [eW]="PgColumn"}class it extends ie{static [eW]="ExtraConfigColumn";getSQLType(){return this.getSQLType()}indexConfig={order:this.config.order??"asc",nulls:this.config.nulls??"last",opClass:this.config.opClass};defaultConfig={order:"asc",nulls:"last",opClass:void 0};asc(){return this.indexConfig.order="asc",this}desc(){return this.indexConfig.order="desc",this}nullsFirst(){return this.indexConfig.nulls="first",this}nullsLast(){return this.indexConfig.nulls="last",this}op(e){return this.indexConfig.opClass=e,this}}class ia{static [eW]=null;constructor(e,i,n,t){this.name=e,this.keyAsName=i,this.type=n,this.indexConfig=t}name;keyAsName;type;indexConfig}class ir extends e9{static [eW]="PgArrayBuilder";constructor(e,i,n){super(e,"array","PgArray"),this.config.baseBuilder=i,this.config.size=n}build(e){let i=this.config.baseBuilder.build(e);return new io(e,this.config,i)}}class io extends ie{constructor(e,i,n,t){super(e,i),this.baseColumn=n,this.range=t,this.size=i.size}size;static [eW]="PgArray";getSQLType(){return`${this.baseColumn.getSQLType()}[${"number"==typeof this.size?this.size:""}]`}mapFromDriverValue(e){return"string"==typeof e&&(e=parsePgArray(e)),e.map(e=>this.baseColumn.mapFromDriverValue(e))}mapToDriverValue(e,i=!1){let n=e.map(e=>null===e?null:entity_is(this.baseColumn,io)?this.baseColumn.mapToDriverValue(e,!0):this.baseColumn.mapToDriverValue(e));return i?n:makePgArray(n)}}class iu extends e9{static [eW]="PgEnumObjectColumnBuilder";constructor(e,i){super(e,"string","PgEnumObjectColumn"),this.config.enum=i}build(e){return new is(e,this.config)}}class is extends ie{static [eW]="PgEnumObjectColumn";enum;enumValues=this.config.enum.enumValues;constructor(e,i){super(e,i),this.enum=i.enum}getSQLType(){return this.enum.enumName}}let il=Symbol.for("drizzle:isPgEnum");function isPgEnum(e){return!!e&&"function"==typeof e&&il in e&&!0===e[il]}class ih extends e9{static [eW]="PgEnumColumnBuilder";constructor(e,i){super(e,"string","PgEnumColumn"),this.config.enum=i}build(e){return new ig(e,this.config)}}class ig extends ie{static [eW]="PgEnumColumn";enum=this.config.enum;enumValues=this.config.enum.enumValues;constructor(e,i){super(e,i),this.enum=i.enum}getSQLType(){return this.enum.enumName}}class ic{static [eW]="Subquery";constructor(e,i,n,t=!1,a=[]){this._={brand:"Subquery",sql:e,selectedFields:i,alias:n,isWith:t,usedTables:a}}}class id extends ic{static [eW]="WithSubquery"}let ip=(n,t)=>e?(i||(i=e.trace.getTracer("drizzle-orm","0.45.1")),iife((e,i)=>i.startActiveSpan(n,i=>{try{return t(i)}catch(n){throw i.setStatus({code:e.SpanStatusCode.ERROR,message:n instanceof Error?n.message:"Unknown error"}),n}finally{i.end()}}),e,i)):t(),im=Symbol.for("drizzle:ViewBaseConfig"),iy=Symbol.for("drizzle:Schema"),iS=Symbol.for("drizzle:Columns"),ib=Symbol.for("drizzle:ExtraConfigColumns"),iC=Symbol.for("drizzle:OriginalName"),iw=Symbol.for("drizzle:BaseName"),iT=Symbol.for("drizzle:IsAlias"),ix=Symbol.for("drizzle:ExtraConfigBuilder"),iL=Symbol.for("drizzle:IsDrizzleTable");class iE{static [eW]="Table";static Symbol={Name:e2,Schema:iy,OriginalName:iC,Columns:iS,ExtraConfigColumns:ib,BaseName:iw,IsAlias:iT,ExtraConfigBuilder:ix};[e2];[iC];[iy];[iS];[ib];[iw];[iT]=!1;[iL]=!0;[ix]=void 0;constructor(e,i,n){this[e2]=this[iC]=e,this[iy]=i,this[iw]=n}}function getTableUniqueName(e){return`${e[iy]??"public"}.${e[e2]}`}class i_{static [eW]=null}function isSQLWrapper(e){return null!=e&&"function"==typeof e.getSQL}function mergeQueries(e){let i={sql:"",params:[]};for(let n of e)i.sql+=n.sql,i.params.push(...n.params),n.typings?.length&&(i.typings||(i.typings=[]),i.typings.push(...n.typings));return i}class iY{static [eW]="StringChunk";value;constructor(e){this.value=Array.isArray(e)?e:[e]}getSQL(){return new iD([this])}}class iD{constructor(e){for(let i of(this.queryChunks=e,e))if(entity_is(i,iE)){let e=i[iE.Symbol.Schema];this.usedTables.push(void 0===e?i[iE.Symbol.Name]:e+"."+i[iE.Symbol.Name])}}static [eW]="SQL";decoder=iA;shouldInlineParams=!1;usedTables=[];append(e){return this.queryChunks.push(...e.queryChunks),this}toQuery(e){return ip("drizzle.buildSQL",i=>{let n=this.buildQueryFromSourceParams(this.queryChunks,e);return i?.setAttributes({"drizzle.query.text":n.sql,"drizzle.query.params":JSON.stringify(n.params)}),n})}buildQueryFromSourceParams(e,i){let n=Object.assign({},i,{inlineParams:i.inlineParams||this.shouldInlineParams,paramStartIndex:i.paramStartIndex||{value:0}}),{casing:t,escapeName:a,escapeParam:r,prepareTyping:o,inlineParams:u,paramStartIndex:s}=n;return mergeQueries(e.map(e=>{if(entity_is(e,iY))return{sql:e.value.join(""),params:[]};if(entity_is(e,iv))return{sql:a(e.value),params:[]};if(void 0===e)return{sql:"",params:[]};if(Array.isArray(e)){let i=[new iY("(")];for(let[n,t]of e.entries())i.push(t),n<e.length-1&&i.push(new iY(", "));return i.push(new iY(")")),this.buildQueryFromSourceParams(i,n)}if(entity_is(e,iD))return this.buildQueryFromSourceParams(e.queryChunks,{...n,inlineParams:u||e.shouldInlineParams});if(entity_is(e,iE)){let i=e[iE.Symbol.Schema],n=e[iE.Symbol.Name];return{sql:void 0===i||e[iT]?a(n):a(i)+"."+a(n),params:[]}}if(entity_is(e,e1)){let n=t.getColumnCasing(e);if("indexes"===i.invokeSource)return{sql:a(n),params:[]};let r=e.table[iE.Symbol.Schema];return{sql:e.table[iT]||void 0===r?a(e.table[iE.Symbol.Name])+"."+a(n):a(r)+"."+a(e.table[iE.Symbol.Name])+"."+a(n),params:[]}}if(entity_is(e,ik)){let i=e[im].schema,n=e[im].name;return{sql:void 0===i||e[im].isAlias?a(n):a(i)+"."+a(n),params:[]}}if(entity_is(e,iP)){if(entity_is(e.value,iM))return{sql:r(s.value++,e),params:[e],typings:["none"]};let i=null===e.value?null:e.encoder.mapToDriverValue(e.value);if(entity_is(i,iD))return this.buildQueryFromSourceParams([i],n);if(u)return{sql:this.mapInlineParam(i,n),params:[]};let t=["none"];return o&&(t=[o(e.encoder)]),{sql:r(s.value++,i),params:[i],typings:t}}return entity_is(e,iM)?{sql:r(s.value++,e),params:[e],typings:["none"]}:entity_is(e,iD.Aliased)&&void 0!==e.fieldAlias?{sql:a(e.fieldAlias),params:[]}:entity_is(e,ic)?e._.isWith?{sql:a(e._.alias),params:[]}:this.buildQueryFromSourceParams([new iY("("),e._.sql,new iY(") "),new iv(e._.alias)],n):isPgEnum(e)?e.schema?{sql:a(e.schema)+"."+a(e.enumName),params:[]}:{sql:a(e.enumName),params:[]}:isSQLWrapper(e)?e.shouldOmitSQLParens?.()?this.buildQueryFromSourceParams([e.getSQL()],n):this.buildQueryFromSourceParams([new iY("("),e.getSQL(),new iY(")")],n):u?{sql:this.mapInlineParam(e,n),params:[]}:{sql:r(s.value++,e),params:[e],typings:["none"]}}))}mapInlineParam(e,{escapeString:i}){if(null===e)return"null";if("number"==typeof e||"boolean"==typeof e)return e.toString();if("string"==typeof e)return i(e);if("object"==typeof e){let n=e.toString();return"[object Object]"===n?i(JSON.stringify(e)):i(n)}throw Error("Unexpected param value: "+e)}getSQL(){return this}as(e){return void 0===e?this:new iD.Aliased(this,e)}mapWith(e){return this.decoder="function"==typeof e?{mapFromDriverValue:e}:e,this}inlineParams(){return this.shouldInlineParams=!0,this}if(e){return e?this:void 0}}class iv{constructor(e){this.value=e}static [eW]="Name";brand;getSQL(){return new iD([this])}}function isDriverValueEncoder(e){return"object"==typeof e&&null!==e&&"mapToDriverValue"in e&&"function"==typeof e.mapToDriverValue}let iA={mapFromDriverValue:e=>e},iN={mapToDriverValue:e=>e};({...iA,...iN});class iP{constructor(e,i=iN){this.value=e,this.encoder=i}static [eW]="Param";brand;getSQL(){return new iD([this])}}function sql_sql(e,...i){let n=[];for(let[t,a]of((i.length>0||e.length>0&&""!==e[0])&&n.push(new iY(e[0])),i.entries()))n.push(a,new iY(e[t+1]));return new iD(n)}(O=sql_sql||(sql_sql={})).empty=function(){return new iD([])},O.fromList=function(e){return new iD(e)},O.raw=function(e){return new iD([new iY(e)])},O.join=function(e,i){let n=[];for(let[t,a]of e.entries())t>0&&void 0!==i&&n.push(i),n.push(a);return new iD(n)},O.identifier=function(e){return new iv(e)},O.placeholder=function(e){return new iM(e)},O.param=function(e,i){return new iP(e,i)};var iZ=iD||(iD={});class iR{constructor(e,i){this.sql=e,this.fieldAlias=i}static [eW]="SQL.Aliased";isSelectionField=!1;getSQL(){return this.sql}clone(){return new iR(this.sql,this.fieldAlias)}}iZ.Aliased=iR;class iM{constructor(e){this.name=e}static [eW]="Placeholder";getSQL(){return new iD([this])}}function fillPlaceholders(e,i){return e.map(e=>{if(entity_is(e,iM)){if(!(e.name in i))throw Error(`No value for placeholder "${e.name}" was provided`);return i[e.name]}if(entity_is(e,iP)&&entity_is(e.value,iM)){if(!(e.value.name in i))throw Error(`No value for placeholder "${e.value.name}" was provided`);return e.encoder.mapToDriverValue(i[e.value.name])}return e})}let iJ=Symbol.for("drizzle:IsDrizzleView");class ik{static [eW]="View";[im];[iJ]=!0;constructor({name:e,schema:i,selectedFields:n,query:t}){this[im]={name:e,originalName:e,schema:i,selectedFields:n,query:t,isExisting:!t,isAlias:!1}}getSQL(){return new iD([this])}}e1.prototype.getSQL=function(){return new iD([this])},iE.prototype.getSQL=function(){return new iD([this])},ic.prototype.getSQL=function(){return new iD([this])};class iB{constructor(e){this.table=e}static [eW]="ColumnAliasProxyHandler";get(e,i){return"table"===i?this.table:e[i]}}class iH{constructor(e,i){this.alias=e,this.replaceOriginalName=i}static [eW]="TableAliasProxyHandler";get(e,i){if(i===iE.Symbol.IsAlias)return!0;if(i===iE.Symbol.Name||this.replaceOriginalName&&i===iE.Symbol.OriginalName)return this.alias;if(i===im)return{...e[im],name:this.alias,isAlias:!0};if(i===iE.Symbol.Columns){let i=e[iE.Symbol.Columns];if(!i)return i;let n={};return Object.keys(i).map(t=>{n[t]=new Proxy(i[t],new iB(new Proxy(e,this)))}),n}let n=e[i];return entity_is(n,e1)?new Proxy(n,new iB(new Proxy(e,this))):n}}class iF{constructor(e){this.alias=e}static [eW]=null;get(e,i){return"sourceTable"===i?aliasedTable(e.sourceTable,this.alias):e[i]}}function aliasedTable(e,i){return new Proxy(e,new iH(i,!1))}function aliasedTableColumn(e,i){return new Proxy(e,new iB(new Proxy(e.table,new iH(i,!1))))}function mapColumnsInAliasedSQLToAlias(e,i){return new iD.Aliased(mapColumnsInSQLToAlias(e.sql,i),e.fieldAlias)}function mapColumnsInSQLToAlias(e,i){return sql_sql.join(e.queryChunks.map(e=>entity_is(e,e1)?aliasedTableColumn(e,i):entity_is(e,iD)?mapColumnsInSQLToAlias(e,i):entity_is(e,iD.Aliased)?mapColumnsInAliasedSQLToAlias(e,i):e))}function toSnakeCase(e){return(e.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).map(e=>e.toLowerCase()).join("_")}function toCamelCase(e){return(e.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).reduce((e,i,n)=>e+(0===n?i.toLowerCase():`${i[0].toUpperCase()}${i.slice(1)}`),"")}function noopCase(e){return e}class iX{static [eW]="CasingCache";cache={};cachedTables={};convert;constructor(e){this.convert="snake_case"===e?toSnakeCase:"camelCase"===e?toCamelCase:noopCase}getColumnCasing(e){if(!e.keyAsName)return e.name;let i=e.table[iE.Symbol.Schema]??"public",n=e.table[iE.Symbol.OriginalName],t=`${i}.${n}.${e.name}`;return this.cache[t]||this.cacheTable(e.table),this.cache[t]}cacheTable(e){let i=e[iE.Symbol.Schema]??"public",n=e[iE.Symbol.OriginalName],t=`${i}.${n}`;if(!this.cachedTables[t]){for(let i of Object.values(e[iE.Symbol.Columns])){let e=`${t}.${i.name}`;this.cache[e]=this.convert(i.name)}this.cachedTables[t]=!0}}clearCache(){this.cache={},this.cachedTables={}}}class iI extends Error{static [eW]="DrizzleError";constructor({message:e,cause:i}){super(e),this.name="DrizzleError",this.cause=i}}class iO extends Error{constructor(e,i,n){super(`Failed query: ${e}
|
|
2
|
+
params: ${i}`),this.query=e,this.params=i,this.cause=n,Error.captureStackTrace(this,iO),n&&(this.cause=n)}}class iQ extends iI{static [eW]="TransactionRollbackError";constructor(){super({message:"Rollback"})}}class iU extends e9{static [eW]="PgJsonbBuilder";constructor(e){super(e,"json","PgJsonb")}build(e){return new iG(e,this.config)}}class iG extends ie{static [eW]="PgJsonb";constructor(e,i){super(e,i)}getSQLType(){return"jsonb"}mapToDriverValue(e){return JSON.stringify(e)}mapFromDriverValue(e){if("string"==typeof e)try{return JSON.parse(e)}catch{}return e}}class iq extends e9{static [eW]="PgJsonBuilder";constructor(e){super(e,"json","PgJson")}build(e){return new i$(e,this.config)}}class i$ extends ie{static [eW]="PgJson";constructor(e,i){super(e,i)}getSQLType(){return"json"}mapToDriverValue(e){return JSON.stringify(e)}mapFromDriverValue(e){if("string"==typeof e)try{return JSON.parse(e)}catch{}return e}}class iK extends e9{static [eW]="PgNumericBuilder";constructor(e,i,n){super(e,"string","PgNumeric"),this.config.precision=i,this.config.scale=n}build(e){return new iz(e,this.config)}}class iz extends ie{static [eW]="PgNumeric";precision;scale;constructor(e,i){super(e,i),this.precision=i.precision,this.scale=i.scale}mapFromDriverValue(e){return"string"==typeof e?e:String(e)}getSQLType(){return void 0!==this.precision&&void 0!==this.scale?`numeric(${this.precision}, ${this.scale})`:void 0===this.precision?"numeric":`numeric(${this.precision})`}}class iW extends e9{static [eW]="PgNumericNumberBuilder";constructor(e,i,n){super(e,"number","PgNumericNumber"),this.config.precision=i,this.config.scale=n}build(e){return new ij(e,this.config)}}class ij extends ie{static [eW]="PgNumericNumber";precision;scale;constructor(e,i){super(e,i),this.precision=i.precision,this.scale=i.scale}mapFromDriverValue(e){return"number"==typeof e?e:Number(e)}mapToDriverValue=String;getSQLType(){return void 0!==this.precision&&void 0!==this.scale?`numeric(${this.precision}, ${this.scale})`:void 0===this.precision?"numeric":`numeric(${this.precision})`}}class iV extends e9{static [eW]="PgNumericBigIntBuilder";constructor(e,i,n){super(e,"bigint","PgNumericBigInt"),this.config.precision=i,this.config.scale=n}build(e){return new i0(e,this.config)}}class i0 extends ie{static [eW]="PgNumericBigInt";precision;scale;constructor(e,i){super(e,i),this.precision=i.precision,this.scale=i.scale}mapFromDriverValue=BigInt;mapToDriverValue=String;getSQLType(){return void 0!==this.precision&&void 0!==this.scale?`numeric(${this.precision}, ${this.scale})`:void 0===this.precision?"numeric":`numeric(${this.precision})`}}class i1 extends e9{static [eW]="PgDateColumnBaseBuilder";defaultNow(){return this.default(sql_sql`now()`)}}class i3 extends i1{constructor(e,i,n){super(e,"string","PgTime"),this.withTimezone=i,this.precision=n,this.config.withTimezone=i,this.config.precision=n}static [eW]="PgTimeBuilder";build(e){return new i2(e,this.config)}}class i2 extends ie{static [eW]="PgTime";withTimezone;precision;constructor(e,i){super(e,i),this.withTimezone=i.withTimezone,this.precision=i.precision}getSQLType(){let e=void 0===this.precision?"":`(${this.precision})`;return`time${e}${this.withTimezone?" with time zone":""}`}}class i4 extends i1{static [eW]="PgTimestampBuilder";constructor(e,i,n){super(e,"date","PgTimestamp"),this.config.withTimezone=i,this.config.precision=n}build(e){return new i8(e,this.config)}}class i8 extends ie{static [eW]="PgTimestamp";withTimezone;precision;constructor(e,i){super(e,i),this.withTimezone=i.withTimezone,this.precision=i.precision}getSQLType(){let e=void 0===this.precision?"":` (${this.precision})`;return`timestamp${e}${this.withTimezone?" with time zone":""}`}mapFromDriverValue(e){return"string"==typeof e?new Date(this.withTimezone?e:e+"+0000"):e}mapToDriverValue=e=>e.toISOString()}class i6 extends i1{static [eW]="PgTimestampStringBuilder";constructor(e,i,n){super(e,"string","PgTimestampString"),this.config.withTimezone=i,this.config.precision=n}build(e){return new i5(e,this.config)}}class i5 extends ie{static [eW]="PgTimestampString";withTimezone;precision;constructor(e,i){super(e,i),this.withTimezone=i.withTimezone,this.precision=i.precision}getSQLType(){let e=void 0===this.precision?"":`(${this.precision})`;return`timestamp${e}${this.withTimezone?" with time zone":""}`}mapFromDriverValue(e){if("string"==typeof e)return e;let i=e.toISOString().slice(0,-1).replace("T"," ");if(this.withTimezone){let n=e.getTimezoneOffset();return`${i}${n<=0?"+":"-"}${Math.floor(Math.abs(n)/60).toString().padStart(2,"0")}`}return i}}class i7 extends i1{static [eW]="PgDateBuilder";constructor(e){super(e,"date","PgDate")}build(e){return new i9(e,this.config)}}class i9 extends ie{static [eW]="PgDate";getSQLType(){return"date"}mapFromDriverValue(e){return"string"==typeof e?new Date(e):e}mapToDriverValue(e){return e.toISOString()}}class ni extends i1{static [eW]="PgDateStringBuilder";constructor(e){super(e,"string","PgDateString")}build(e){return new nn(e,this.config)}}class nn extends ie{static [eW]="PgDateString";getSQLType(){return"date"}mapFromDriverValue(e){return"string"==typeof e?e:e.toISOString().slice(0,-14)}}class nt extends e9{static [eW]="PgUUIDBuilder";constructor(e){super(e,"string","PgUUID")}defaultRandom(){return this.default(sql_sql`gen_random_uuid()`)}build(e){return new na(e,this.config)}}class na extends ie{static [eW]="PgUUID";getSQLType(){return"uuid"}}let nr=Symbol.for("drizzle:PgInlineForeignKeys"),no=Symbol.for("drizzle:EnableRLS");class nu extends iE{static [eW]="PgTable";static Symbol=Object.assign({},iE.Symbol,{InlineForeignKeys:nr,EnableRLS:no});[nr]=[];[no]=!1;[iE.Symbol.ExtraConfigBuilder]=void 0;[iE.Symbol.ExtraConfigColumns]={}}class ns{static [eW]="PgPrimaryKeyBuilder";columns;name;constructor(e,i){this.columns=e,this.name=i}build(e){return new nl(e,this.columns,this.name)}}class nl{constructor(e,i,n){this.table=e,this.columns=i,this.name=n}static [eW]="PgPrimaryKey";columns;name;getName(){return this.name??`${this.table[nu.Symbol.Name]}_${this.columns.map(e=>e.name).join("_")}_pk`}}function bindIfParam(e,i){return!isDriverValueEncoder(i)||isSQLWrapper(e)||entity_is(e,iP)||entity_is(e,iM)||entity_is(e,e1)||entity_is(e,iE)||entity_is(e,ik)?e:new iP(e,i)}let eq=(e,i)=>sql_sql`${e} = ${bindIfParam(i,e)}`,ne=(e,i)=>sql_sql`${e} <> ${bindIfParam(i,e)}`;function and(...e){let i=e.filter(e=>void 0!==e);if(0!==i.length)return new iD(1===i.length?i:[new iY("("),sql_sql.join(i,new iY(" and ")),new iY(")")])}function or(...e){let i=e.filter(e=>void 0!==e);if(0!==i.length)return new iD(1===i.length?i:[new iY("("),sql_sql.join(i,new iY(" or ")),new iY(")")])}function not(e){return sql_sql`not ${e}`}let gt=(e,i)=>sql_sql`${e} > ${bindIfParam(i,e)}`,gte=(e,i)=>sql_sql`${e} >= ${bindIfParam(i,e)}`,lt=(e,i)=>sql_sql`${e} < ${bindIfParam(i,e)}`,lte=(e,i)=>sql_sql`${e} <= ${bindIfParam(i,e)}`;function inArray(e,i){return Array.isArray(i)?0===i.length?sql_sql`false`:sql_sql`${e} in ${i.map(i=>bindIfParam(i,e))}`:sql_sql`${e} in ${bindIfParam(i,e)}`}function notInArray(e,i){return Array.isArray(i)?0===i.length?sql_sql`true`:sql_sql`${e} not in ${i.map(i=>bindIfParam(i,e))}`:sql_sql`${e} not in ${bindIfParam(i,e)}`}function isNull(e){return sql_sql`${e} is null`}function isNotNull(e){return sql_sql`${e} is not null`}function exists(e){return sql_sql`exists ${e}`}function notExists(e){return sql_sql`not exists ${e}`}function between(e,i,n){return sql_sql`${e} between ${bindIfParam(i,e)} and ${bindIfParam(n,e)}`}function notBetween(e,i,n){return sql_sql`${e} not between ${bindIfParam(i,e)} and ${bindIfParam(n,e)}`}function like(e,i){return sql_sql`${e} like ${i}`}function notLike(e,i){return sql_sql`${e} not like ${i}`}function ilike(e,i){return sql_sql`${e} ilike ${i}`}function notIlike(e,i){return sql_sql`${e} not ilike ${i}`}function asc(e){return sql_sql`${e} asc`}function select_desc(e){return sql_sql`${e} desc`}class nh{constructor(e,i,n){this.sourceTable=e,this.referencedTable=i,this.relationName=n,this.referencedTableName=i[iE.Symbol.Name]}static [eW]="Relation";referencedTableName;fieldName}class ng{constructor(e,i){this.table=e,this.config=i}static [eW]="Relations"}class nc extends nh{constructor(e,i,n,t){super(e,i,n?.relationName),this.config=n,this.isNullable=t}static [eW]="One";withFieldName(e){let i=new nc(this.sourceTable,this.referencedTable,this.config,this.isNullable);return i.fieldName=e,i}}class nd extends nh{constructor(e,i,n){super(e,i,n?.relationName),this.config=n}static [eW]="Many";withFieldName(e){let i=new nd(this.sourceTable,this.referencedTable,this.config);return i.fieldName=e,i}}function getOperators(){return{and:and,between:between,eq:eq,exists:exists,gt:gt,gte:gte,ilike:ilike,inArray:inArray,isNull:isNull,isNotNull:isNotNull,like:like,lt:lt,lte:lte,ne:ne,not:not,notBetween:notBetween,notExists:notExists,notLike:notLike,notIlike:notIlike,notInArray:notInArray,or:or,sql:sql_sql}}function getOrderByOperators(){return{sql:sql_sql,asc:asc,desc:select_desc}}function extractTablesRelationalConfig(e,i){1===Object.keys(e).length&&"default"in e&&!entity_is(e.default,iE)&&(e=e.default);let n={},t={},a={};for(let[r,o]of Object.entries(e))if(entity_is(o,iE)){let e=getTableUniqueName(o),i=t[e];for(let t of(n[e]=r,a[r]={tsName:r,dbName:o[iE.Symbol.Name],schema:o[iE.Symbol.Schema],columns:o[iE.Symbol.Columns],relations:i?.relations??{},primaryKey:i?.primaryKey??[]},Object.values(o[iE.Symbol.Columns])))t.primary&&a[r].primaryKey.push(t);let u=o[iE.Symbol.ExtraConfigBuilder]?.(o[iE.Symbol.ExtraConfigColumns]);if(u)for(let e of Object.values(u))entity_is(e,ns)&&a[r].primaryKey.push(...e.columns)}else if(entity_is(o,ng)){let e,r=getTableUniqueName(o.table),u=n[r];for(let[n,s]of Object.entries(o.config(i(o.table))))if(u){let i=a[u];i.relations[n]=s,e&&i.primaryKey.push(...e)}else r in t||(t[r]={relations:{},primaryKey:e}),t[r].relations[n]=s}return{tables:a,tableNamesMap:n}}function createOne(e){return function(i,n){return new nc(e,i,n,n?.fields.reduce((e,i)=>e&&i.notNull,!0)??!1)}}function createMany(e){return function(i,n){return new nd(e,i,n)}}function normalizeRelation(e,i,n){if(entity_is(n,nc)&&n.config)return{fields:n.config.fields,references:n.config.references};let t=i[getTableUniqueName(n.referencedTable)];if(!t)throw Error(`Table "${n.referencedTable[iE.Symbol.Name]}" not found in schema`);let a=e[t];if(!a)throw Error(`Table "${t}" not found in schema`);let r=n.sourceTable,o=i[getTableUniqueName(r)];if(!o)throw Error(`Table "${r[iE.Symbol.Name]}" not found in schema`);let u=[];for(let e of Object.values(a.relations))(n.relationName&&n!==e&&e.relationName===n.relationName||!n.relationName&&e.referencedTable===n.sourceTable)&&u.push(e);if(u.length>1)throw n.relationName?Error(`There are multiple relations with name "${n.relationName}" in table "${t}"`):Error(`There are multiple relations between "${t}" and "${n.sourceTable[iE.Symbol.Name]}". Please specify relation name`);if(u[0]&&entity_is(u[0],nc)&&u[0].config)return{fields:u[0].config.references,references:u[0].config.fields};throw Error(`There is not enough information to infer relation "${o}.${n.fieldName}"`)}function createTableRelationsHelpers(e){return{one:createOne(e),many:createMany(e)}}function mapRelationalRow(e,i,n,t,a=e=>e){let r={};for(let[o,u]of t.entries())if(u.isJson){let t=i.relations[u.tsKey],s=n[o],l="string"==typeof s?JSON.parse(s):s;r[u.tsKey]=entity_is(t,nc)?l&&mapRelationalRow(e,e[u.relationTableTsKey],l,u.selection,a):l.map(i=>mapRelationalRow(e,e[u.relationTableTsKey],i,u.selection,a))}else{let e,i=a(n[o]),t=u.field;e=entity_is(t,e1)?t:entity_is(t,iD)?t.decoder:t.sql.decoder,r[u.tsKey]=null===i?null:e.mapFromDriverValue(i)}return r}function mapResultRow(e,i,n){let t={},a=e.reduce((e,{path:a,field:r},o)=>{let u;u=entity_is(r,e1)?r:entity_is(r,iD)?r.decoder:entity_is(r,ic)?r._.sql.decoder:r.sql.decoder;let s=e;for(let[e,l]of a.entries())if(e<a.length-1)l in s||(s[l]={}),s=s[l];else{let e=i[o],h=s[l]=null===e?null:u.mapFromDriverValue(e);if(n&&entity_is(r,e1)&&2===a.length){let e=a[0];e in t?"string"==typeof t[e]&&t[e]!==r.table[e2]&&(t[e]=!1):t[e]=null===h&&r.table[e2]}}return e},{});if(n&&Object.keys(t).length>0)for(let[e,i]of Object.entries(t))"string"!=typeof i||n[i]||(a[e]=null);return a}function orderSelectedFields(e,i){return Object.entries(e).reduce((e,[n,t])=>{if("string"!=typeof n)return e;let a=i?[...i,n]:[n];return entity_is(t,e1)||entity_is(t,iD)||entity_is(t,iD.Aliased)||entity_is(t,ic)?e.push({path:a,field:t}):entity_is(t,iE)?e.push(...orderSelectedFields(t[iE.Symbol.Columns],a)):e.push(...orderSelectedFields(t,a)),e},[])}function haveSameKeys(e,i){let n=Object.keys(e),t=Object.keys(i);if(n.length!==t.length)return!1;for(let[e,i]of n.entries())if(i!==t[e])return!1;return!0}function mapUpdateSet(e,i){let n=Object.entries(i).filter(([,e])=>void 0!==e).map(([i,n])=>entity_is(n,iD)||entity_is(n,e1)?[i,n]:[i,new iP(n,e[iE.Symbol.Columns][i])]);if(0===n.length)throw Error("No values to set");return Object.fromEntries(n)}function applyMixins(e,i){for(let n of i)for(let i of Object.getOwnPropertyNames(n.prototype))"constructor"!==i&&Object.defineProperty(e.prototype,i,Object.getOwnPropertyDescriptor(n.prototype,i)||Object.create(null))}function getTableColumns(e){return e[iE.Symbol.Columns]}function getTableLikeName(e){return entity_is(e,ic)?e._.alias:entity_is(e,ik)?e[im].name:entity_is(e,iD)?void 0:e[iE.Symbol.IsAlias]?e[iE.Symbol.Name]:e[iE.Symbol.BaseName]}function isConfig(e){if("object"!=typeof e||null===e||"Object"!==e.constructor.name)return!1;if("logger"in e){let i=typeof e.logger;return"boolean"===i||"object"===i&&"function"==typeof e.logger.logQuery||"undefined"===i}if("schema"in e){let i=typeof e.schema;return"object"===i||"undefined"===i}if("casing"in e){let i=typeof e.casing;return"string"===i||"undefined"===i}if("mode"in e)return"default"===e.mode&&"planetscale"===e.mode&&void 0===e.mode;if("connection"in e){let i=typeof e.connection;return"string"===i||"object"===i||"undefined"===i}if("client"in e){let i=typeof e.client;return"object"===i||"function"===i||"undefined"===i}return 0===Object.keys(e).length}"u"<typeof TextDecoder||new TextDecoder;class np extends ik{static [eW]="PgViewBase"}class nf{static [eW]="PgDialect";casing;constructor(e){this.casing=new iX(e?.casing)}async migrate(e,i,n){let t="string"==typeof n?"__drizzle_migrations":n.migrationsTable??"__drizzle_migrations",a="string"==typeof n?"drizzle":n.migrationsSchema??"drizzle",r=sql_sql`
|
|
3
3
|
CREATE TABLE IF NOT EXISTS ${sql_sql.identifier(a)}.${sql_sql.identifier(t)} (
|
|
4
4
|
id SERIAL PRIMARY KEY,
|
|
5
5
|
hash text NOT NULL,
|
|
6
6
|
created_at bigint
|
|
7
7
|
)
|
|
8
|
-
`;await i.execute(sql_sql`CREATE SCHEMA IF NOT EXISTS ${sql_sql.identifier(a)}`),await i.execute(r);let o=(await i.all(sql_sql`select id, hash, created_at from ${sql_sql.identifier(a)}.${sql_sql.identifier(t)} order by created_at desc limit 1`))[0];await i.transaction(async i=>{for await(let n of e)if(!o||Number(o.created_at)<n.folderMillis){for(let e of n.sql)await i.execute(sql_sql.raw(e));await i.execute(sql_sql`insert into ${sql_sql.identifier(a)}.${sql_sql.identifier(t)} ("hash", "created_at") values(${n.hash}, ${n.folderMillis})`)}})}escapeName(e){return`"${e}"`}escapeParam(e){return`$${e+1}`}escapeString(e){return`'${e.replace(/'/g,"''")}'`}buildWithCTE(e){if(!e?.length)return;let i=[sql_sql`with `];for(let[n,t]of e.entries())i.push(sql_sql`${sql_sql.identifier(t._.alias)} as (${t._.sql})`),n<e.length-1&&i.push(sql_sql`, `);return i.push(sql_sql` `),sql_sql.join(i)}buildDeleteQuery({table:e,where:i,returning:n,withList:t}){let a=this.buildWithCTE(t),r=n?sql_sql` returning ${this.buildSelection(n,{isSingleTable:!0})}`:void 0,o=i?sql_sql` where ${i}`:void 0;return sql_sql`${a}delete from ${e}${o}${r}`}buildUpdateSet(e,i){let n=e[ix.Symbol.Columns],t=Object.keys(n).filter(e=>void 0!==i[e]||n[e]?.onUpdateFn!==void 0),a=t.length;return sql_sql.join(t.flatMap((e,t)=>{let r=n[e],o=r.onUpdateFn?.(),u=i[e]??(entity_is(o,i_)?o:sql_sql.param(o,r)),s=sql_sql`${sql_sql.identifier(this.casing.getColumnCasing(r))} = ${u}`;return t<a-1?[s,sql_sql.raw(", ")]:[s]}))}buildUpdateQuery({table:e,set:i,where:n,returning:t,withList:a,from:r,joins:o}){let u=this.buildWithCTE(a),s=e[nr.Symbol.Name],l=e[nr.Symbol.Schema],h=e[nr.Symbol.OriginalName],g=s===h?void 0:s,c=sql_sql`${l?sql_sql`${sql_sql.identifier(l)}.`:void 0}${sql_sql.identifier(h)}${g&&sql_sql` ${sql_sql.identifier(g)}`}`,d=this.buildUpdateSet(e,i),p=r&&sql_sql.join([sql_sql.raw(" from "),this.buildFromTable(r)]),f=this.buildJoins(o),m=t?sql_sql` returning ${this.buildSelection(t,{isSingleTable:!r})}`:void 0,y=n?sql_sql` where ${n}`:void 0;return sql_sql`${u}update ${c} set ${d}${p}${f}${y}${m}`}buildSelection(e,{isSingleTable:i=!1}={}){let n=e.length,t=e.flatMap(({field:e},t)=>{let a=[];if(entity_is(e,i_.Aliased)&&e.isSelectionField)a.push(sql_sql.identifier(e.fieldAlias));else if(entity_is(e,i_.Aliased)||entity_is(e,i_)){let n=entity_is(e,i_.Aliased)?e.sql:e;i?a.push(new i_(n.queryChunks.map(e=>entity_is(e,e7)?sql_sql.identifier(this.casing.getColumnCasing(e)):e))):a.push(n),entity_is(e,i_.Aliased)&&a.push(sql_sql` as ${sql_sql.identifier(e.fieldAlias)}`)}else if(entity_is(e,eV))i?a.push(sql_sql.identifier(this.casing.getColumnCasing(e))):a.push(e);else if(entity_is(e,ih)){let i=Object.entries(e._.selectedFields);if(1===i.length){let n=i[0][1],t=entity_is(n,i_)?n.decoder:entity_is(n,eV)?{mapFromDriverValue:e=>n.mapFromDriverValue(e)}:n.sql.decoder;t&&(e._.sql.decoder=t)}a.push(e)}return t<n-1&&a.push(sql_sql`, `),a});return sql_sql.join(t)}buildJoins(e){if(!e||0===e.length)return;let i=[];for(let[n,t]of e.entries()){0===n&&i.push(sql_sql` `);let a=t.table,r=t.lateral?sql_sql` lateral`:void 0,o=t.on?sql_sql` on ${t.on}`:void 0;if(entity_is(a,nr)){let e=a[nr.Symbol.Name],n=a[nr.Symbol.Schema],u=a[nr.Symbol.OriginalName],s=e===u?void 0:t.alias;i.push(sql_sql`${sql_sql.raw(t.joinType)} join${r} ${n?sql_sql`${sql_sql.identifier(n)}.`:void 0}${sql_sql.identifier(u)}${s&&sql_sql` ${sql_sql.identifier(s)}`}${o}`)}else if(entity_is(a,iM)){let e=a[id].name,n=a[id].schema,u=a[id].originalName,s=e===u?void 0:t.alias;i.push(sql_sql`${sql_sql.raw(t.joinType)} join${r} ${n?sql_sql`${sql_sql.identifier(n)}.`:void 0}${sql_sql.identifier(u)}${s&&sql_sql` ${sql_sql.identifier(s)}`}${o}`)}else i.push(sql_sql`${sql_sql.raw(t.joinType)} join${r} ${a}${o}`);n<e.length-1&&i.push(sql_sql` `)}return sql_sql.join(i)}buildFromTable(e){if(entity_is(e,ix)&&e[ix.Symbol.IsAlias]){let i=sql_sql`${sql_sql.identifier(e[ix.Symbol.OriginalName])}`;return e[ix.Symbol.Schema]&&(i=sql_sql`${sql_sql.identifier(e[ix.Symbol.Schema])}.${i}`),sql_sql`${i} ${sql_sql.identifier(e[ix.Symbol.Name])}`}return e}buildSelectQuery({withList:e,fields:i,fieldsFlat:n,where:t,having:a,table:r,joins:o,orderBy:u,groupBy:s,limit:l,offset:h,lockingClause:g,distinct:c,setOperators:d}){let p,f,m,y=n??orderSelectedFields(i);for(let e of y){let i;if(entity_is(e.field,eV)&&e.field.table[e1]!==(entity_is(r,ih)?r._.alias:entity_is(r,nc)?r[id].name:entity_is(r,i_)?void 0:r[e1])&&(i=e.field.table,!o?.some(({alias:e})=>e===(i[ix.Symbol.IsAlias]?i[e1]:i[ix.Symbol.BaseName])))){let i=e.field.table[e1];throw Error(`Your "${e.path.join("->")}" field references a column "${i}"."${e.field.name}", but the table "${i}" is not part of the query! Did you forget to join it?`)}}let S=!o||0===o.length,b=this.buildWithCTE(e);c&&(p=!0===c?sql_sql` distinct`:sql_sql` distinct on (${sql_sql.join(c.on,sql_sql`, `)})`);let C=this.buildSelection(y,{isSingleTable:S}),w=this.buildFromTable(r),T=this.buildJoins(o),x=t?sql_sql` where ${t}`:void 0,L=a?sql_sql` having ${a}`:void 0;u&&u.length>0&&(f=sql_sql` order by ${sql_sql.join(u,sql_sql`, `)}`),s&&s.length>0&&(m=sql_sql` group by ${sql_sql.join(s,sql_sql`, `)}`);let E="object"==typeof l||"number"==typeof l&&l>=0?sql_sql` limit ${l}`:void 0,_=h?sql_sql` offset ${h}`:void 0,Y=sql_sql.empty();if(g){let e=sql_sql` for ${sql_sql.raw(g.strength)}`;g.config.of&&e.append(sql_sql` of ${sql_sql.join(Array.isArray(g.config.of)?g.config.of:[g.config.of],sql_sql`, `)}`),g.config.noWait?e.append(sql_sql` nowait`):g.config.skipLocked&&e.append(sql_sql` skip locked`),Y.append(e)}let D=sql_sql`${b}select${p} ${C} from ${w}${T}${x}${m}${L}${f}${E}${_}${Y}`;return d.length>0?this.buildSetOperations(D,d):D}buildSetOperations(e,i){let[n,...t]=i;if(!n)throw Error("Cannot pass undefined values to any set operator");return 0===t.length?this.buildSetOperationQuery({leftSelect:e,setOperator:n}):this.buildSetOperations(this.buildSetOperationQuery({leftSelect:e,setOperator:n}),t)}buildSetOperationQuery({leftSelect:e,setOperator:{type:i,isAll:n,rightSelect:t,limit:a,orderBy:r,offset:o}}){let u,s=sql_sql`(${e.getSQL()}) `,l=sql_sql`(${t.getSQL()})`;if(r&&r.length>0){let e=[];for(let i of r)if(entity_is(i,e7))e.push(sql_sql.identifier(i.name));else if(entity_is(i,i_)){for(let e=0;e<i.queryChunks.length;e++){let n=i.queryChunks[e];entity_is(n,e7)&&(i.queryChunks[e]=sql_sql.identifier(n.name))}e.push(sql_sql`${i}`)}else e.push(sql_sql`${i}`);u=sql_sql` order by ${sql_sql.join(e,sql_sql`, `)} `}let h="object"==typeof a||"number"==typeof a&&a>=0?sql_sql` limit ${a}`:void 0,g=sql_sql.raw(`${i} ${n?"all ":""}`),c=o?sql_sql` offset ${o}`:void 0;return sql_sql`${s}${g}${l}${u}${h}${c}`}buildInsertQuery({table:e,values:i,onConflict:n,returning:t,withList:a,select:r,overridingSystemValue_:o}){let u=[],s=Object.entries(e[ix.Symbol.Columns]).filter(([e,i])=>!i.shouldDisableInsert()),l=s.map(([,e])=>sql_sql.identifier(this.casing.getColumnCasing(e)));if(r)entity_is(i,i_)?u.push(i):u.push(i.getSQL());else for(let[e,n]of(u.push(sql_sql.raw("values ")),i.entries())){let t=[];for(let[e,i]of s){let a=n[e];if(void 0===a||entity_is(a,iA)&&void 0===a.value)if(void 0!==i.defaultFn){let e=i.defaultFn(),n=entity_is(e,i_)?e:sql_sql.param(e,i);t.push(n)}else if(i.default||void 0===i.onUpdateFn)t.push(sql_sql`default`);else{let e=i.onUpdateFn(),n=entity_is(e,i_)?e:sql_sql.param(e,i);t.push(n)}else t.push(a)}u.push(t),e<i.length-1&&u.push(sql_sql`, `)}let h=this.buildWithCTE(a),g=sql_sql.join(u),c=t?sql_sql` returning ${this.buildSelection(t,{isSingleTable:!0})}`:void 0,d=n?sql_sql` on conflict ${n}`:void 0,p=!0===o?sql_sql`overriding system value `:void 0;return sql_sql`${h}insert into ${e} ${l} ${p}${g}${d}${c}`}buildRefreshMaterializedViewQuery({view:e,concurrently:i,withNoData:n}){let t=i?sql_sql` concurrently`:void 0,a=n?sql_sql` with no data`:void 0;return sql_sql`refresh materialized view${t} ${e}${a}`}prepareTyping(e){if(entity_is(e,iQ)||entity_is(e,iG))return"json";if(entity_is(e,i$))return"decimal";if(entity_is(e,i1))return"time";if(entity_is(e,i2)||entity_is(e,i8))return"timestamp";if(entity_is(e,i5)||entity_is(e,i9))return"date";else if(entity_is(e,nn))return"uuid";else return"none"}sqlToQuery(e,i){return e.toQuery({casing:this.casing,escapeName:this.escapeName,escapeParam:this.escapeParam,escapeString:this.escapeString,prepareTyping:this.prepareTyping,invokeSource:i})}buildRelationalQueryWithoutPK({fullSchema:e,schema:i,tableNamesMap:n,table:t,tableConfig:a,queryConfig:r,tableAlias:o,nestedQueryRelation:u,joinOn:s}){let l,h=[],g,c,d=[],p,f=[];if(!0===r)h=Object.entries(a.columns).map(([e,i])=>({dbKey:i.name,tsKey:e,field:aliasedTableColumn(i,o),relationTableTsKey:void 0,isJson:!1,selection:[]}));else{let t=Object.fromEntries(Object.entries(a.columns).map(([e,i])=>[e,aliasedTableColumn(i,o)]));if(r.where){let e="function"==typeof r.where?r.where(t,getOperators()):r.where;p=e&&mapColumnsInSQLToAlias(e,o)}let u=[],s=[];if(r.columns){let e=!1;for(let[i,n]of Object.entries(r.columns))void 0!==n&&i in a.columns&&(e||!0!==n||(e=!0),s.push(i));s.length>0&&(s=e?s.filter(e=>r.columns?.[e]===!0):Object.keys(a.columns).filter(e=>!s.includes(e)))}else s=Object.keys(a.columns);for(let e of s){let i=a.columns[e];u.push({tsKey:e,value:i})}let l=[];if(r.with&&(l=Object.entries(r.with).filter(e=>!!e[1]).map(([e,i])=>({tsKey:e,queryConfig:i,relation:a.relations[e]}))),r.extras)for(let[e,i]of Object.entries("function"==typeof r.extras?r.extras(t,{sql:sql_sql}):r.extras))u.push({tsKey:e,value:mapColumnsInAliasedSQLToAlias(i,o)});for(let{tsKey:e,value:i}of u)h.push({dbKey:entity_is(i,i_.Aliased)?i.fieldAlias:a.columns[e].name,tsKey:e,field:entity_is(i,eV)?aliasedTableColumn(i,o):i,relationTableTsKey:void 0,isJson:!1,selection:[]});let m="function"==typeof r.orderBy?r.orderBy(t,getOrderByOperators()):r.orderBy??[];for(let{tsKey:t,queryConfig:a,relation:u}of(Array.isArray(m)||(m=[m]),d=m.map(e=>entity_is(e,eV)?aliasedTableColumn(e,o):mapColumnsInSQLToAlias(e,o)),g=r.limit,c=r.offset,l)){let r=normalizeRelation(i,n,u),s=n[getTableUniqueName(u.referencedTable)],l=`${o}_${t}`,g=and(...r.fields.map((e,i)=>eq(aliasedTableColumn(r.references[i],l),aliasedTableColumn(e,o)))),c=this.buildRelationalQueryWithoutPK({fullSchema:e,schema:i,tableNamesMap:n,table:e[s],tableConfig:i[s],queryConfig:entity_is(u,nh)?!0===a?{limit:1}:{...a,limit:1}:a,tableAlias:l,joinOn:g,nestedQueryRelation:u}),d=sql_sql`${sql_sql.identifier(l)}.${sql_sql.identifier("data")}`.as(t);f.push({on:sql_sql`true`,table:new ih(c.sql,{},l),alias:l,joinType:"left",lateral:!0}),h.push({dbKey:t,tsKey:t,field:d,relationTableTsKey:s,isJson:!0,selection:c.selection})}}if(0===h.length)throw new iF({message:`No fields selected for table "${a.tsName}" ("${o}")`});if(p=and(s,p),u){let e=sql_sql`json_build_array(${sql_sql.join(h.map(({field:e,tsKey:i,isJson:n})=>n?sql_sql`${sql_sql.identifier(`${o}_${i}`)}.${sql_sql.identifier("data")}`:entity_is(e,i_.Aliased)?e.sql:e),sql_sql`, `)})`;entity_is(u,ng)&&(e=sql_sql`coalesce(json_agg(${e}${d.length>0?sql_sql` order by ${sql_sql.join(d,sql_sql`, `)}`:void 0}), '[]'::json)`);let i=[{dbKey:"data",tsKey:"data",field:e.as("data"),isJson:!0,relationTableTsKey:a.tsName,selection:h}];void 0!==g||void 0!==c||d.length>0?(l=this.buildSelectQuery({table:aliasedTable(t,o),fields:{},fieldsFlat:[{path:[],field:sql_sql.raw("*")}],where:p,limit:g,offset:c,orderBy:d,setOperators:[]}),p=void 0,g=void 0,c=void 0,d=[]):l=aliasedTable(t,o),l=this.buildSelectQuery({table:entity_is(l,nr)?l:new ih(l,{},o),fields:{},fieldsFlat:i.map(({field:e})=>({path:[],field:entity_is(e,eV)?aliasedTableColumn(e,o):e})),joins:f,where:p,limit:g,offset:c,orderBy:d,setOperators:[]})}else l=this.buildSelectQuery({table:aliasedTable(t,o),fields:{},fieldsFlat:h.map(({field:e})=>({path:[],field:entity_is(e,eV)?aliasedTableColumn(e,o):e})),joins:f,where:p,limit:g,offset:c,orderBy:d,setOperators:[]});return{tableTsKey:a.tsName,sql:l,selection:h}}}class np{static [eK]="SelectionProxyHandler";config;constructor(e){this.config={...e}}get(e,i){if("_"===i)return{...e._,selectedFields:new Proxy(e._.selectedFields,this)};if(i===id)return{...e[id],selectedFields:new Proxy(e[id].selectedFields,this)};if("symbol"==typeof i)return e[i];let n=(entity_is(e,ih)?e._.selectedFields:entity_is(e,iM)?e[id].selectedFields:e)[i];if(entity_is(n,i_.Aliased)){if("sql"===this.config.sqlAliasedBehavior&&!n.isSelectionField)return n.sql;let e=n.clone();return e.isSelectionField=!0,e}if(entity_is(n,i_)){if("sql"===this.config.sqlBehavior)return n;throw Error(`You tried to reference "${i}" field from a subquery, which is a raw SQL field, but it doesn't have an alias declared. Please add an alias to the field using ".as('alias')" method.`)}return entity_is(n,eV)?this.config.alias?new Proxy(n,new iJ(new Proxy(n.table,new ik(this.config.alias,this.config.replaceOriginalName??!1)))):n:"object"!=typeof n||null===n?n:new Proxy(n,new np(this.config))}}class nf{static [eK]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}class nm{static [eK]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch(e){return this.then(void 0,e)}finally(e){return this.then(i=>(e?.(),i),i=>{throw e?.(),i})}then(e,i){return this.execute().then(e,i)}}function extractUsedTable(e){return entity_is(e,nr)?[e[ip]?`${e[ip]}.${e[ix.Symbol.BaseName]}`:e[ix.Symbol.BaseName]]:entity_is(e,ih)?e._.usedTables??[]:entity_is(e,i_)?e.usedTables??[]:[]}class ny{static [eK]="PgSelectBuilder";fields;session;dialect;withList=[];distinct;constructor(e){this.fields=e.fields,this.session=e.session,this.dialect=e.dialect,e.withList&&(this.withList=e.withList),this.distinct=e.distinct}authToken;setToken(e){return this.authToken=e,this}from(e){let i,n=!!this.fields;return i=this.fields?this.fields:entity_is(e,ih)?Object.fromEntries(Object.keys(e._.selectedFields).map(i=>[i,e[i]])):entity_is(e,nc)?e[id].selectedFields:entity_is(e,i_)?{}:getTableColumns(e),new nb({table:e,fields:i,isPartialSelect:n,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct}).setToken(this.authToken)}}class nS extends nf{static [eK]="PgSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;cacheConfig=void 0;usedTables=new Set;constructor({table:e,fields:i,isPartialSelect:n,session:t,dialect:a,withList:r,distinct:o}){for(let u of(super(),this.config={withList:r,table:e,fields:{...i},distinct:o,setOperators:[]},this.isPartialSelect=n,this.session=t,this.dialect=a,this._={selectedFields:i,config:this.config},this.tableName=getTableLikeName(e),this.joinsNotNullableMap="string"==typeof this.tableName?{[this.tableName]:!0}:{},extractUsedTable(e)))this.usedTables.add(u)}getUsedTables(){return[...this.usedTables]}createJoin(e,i){return(n,t)=>{let a=this.tableName,r=getTableLikeName(n);for(let e of extractUsedTable(n))this.usedTables.add(e);if("string"==typeof r&&this.config.joins?.some(e=>e.alias===r))throw Error(`Alias "${r}" is already used in this query`);if(!this.isPartialSelect&&(1===Object.keys(this.joinsNotNullableMap).length&&"string"==typeof a&&(this.config.fields={[a]:this.config.fields}),"string"==typeof r&&!entity_is(n,i_))){let e=entity_is(n,ih)?n._.selectedFields:entity_is(n,iM)?n[id].selectedFields:n[ix.Symbol.Columns];this.config.fields[r]=e}if("function"==typeof t&&(t=t(new Proxy(this.config.fields,new np({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.joins||(this.config.joins=[]),this.config.joins.push({on:t,table:n,joinType:e,alias:r,lateral:i}),"string"==typeof r)switch(e){case"left":this.joinsNotNullableMap[r]=!1;break;case"right":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[r]=!0;break;case"cross":case"inner":this.joinsNotNullableMap[r]=!0;break;case"full":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[r]=!1}return this}}leftJoin=this.createJoin("left",!1);leftJoinLateral=this.createJoin("left",!0);rightJoin=this.createJoin("right",!1);innerJoin=this.createJoin("inner",!1);innerJoinLateral=this.createJoin("inner",!0);fullJoin=this.createJoin("full",!1);crossJoin=this.createJoin("cross",!1);crossJoinLateral=this.createJoin("cross",!0);createSetOperator(e,i){return n=>{let t="function"==typeof n?n(getPgSetOperators()):n;if(!haveSameKeys(this.getSelectedFields(),t.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return this.config.setOperators.push({type:e,isAll:i,rightSelect:t}),this}}union=this.createSetOperator("union",!1);unionAll=this.createSetOperator("union",!0);intersect=this.createSetOperator("intersect",!1);intersectAll=this.createSetOperator("intersect",!0);except=this.createSetOperator("except",!1);exceptAll=this.createSetOperator("except",!0);addSetOperators(e){return this.config.setOperators.push(...e),this}where(e){return"function"==typeof e&&(e=e(new Proxy(this.config.fields,new np({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.where=e,this}having(e){return"function"==typeof e&&(e=e(new Proxy(this.config.fields,new np({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.having=e,this}groupBy(...e){if("function"==typeof e[0]){let i=e[0](new Proxy(this.config.fields,new np({sqlAliasedBehavior:"alias",sqlBehavior:"sql"})));this.config.groupBy=Array.isArray(i)?i:[i]}else this.config.groupBy=e;return this}orderBy(...e){if("function"==typeof e[0]){let i=e[0](new Proxy(this.config.fields,new np({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),n=Array.isArray(i)?i:[i];this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=n:this.config.orderBy=n}else this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=e:this.config.orderBy=e;return this}limit(e){return this.config.setOperators.length>0?this.config.setOperators.at(-1).limit=e:this.config.limit=e,this}offset(e){return this.config.setOperators.length>0?this.config.setOperators.at(-1).offset=e:this.config.offset=e,this}for(e,i={}){return this.config.lockingClause={strength:e,config:i},this}getSQL(){return this.dialect.buildSelectQuery(this.config)}toSQL(){let{typings:e,...i}=this.dialect.sqlToQuery(this.getSQL());return i}as(e){let i=[];if(i.push(...extractUsedTable(this.config.table)),this.config.joins)for(let e of this.config.joins)i.push(...extractUsedTable(e.table));return new Proxy(new ih(this.getSQL(),this.config.fields,e,!1,[...new Set(i)]),new np({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new np({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}$dynamic(){return this}$withCache(e){return this.cacheConfig=void 0===e?{config:{},enable:!0,autoInvalidate:!0}:!1===e?{enable:!1}:{enable:!0,autoInvalidate:!0,...e},this}}class nb extends nS{static [eK]="PgSelect";_prepare(e){let{session:i,config:n,dialect:t,joinsNotNullableMap:a,authToken:r,cacheConfig:o,usedTables:u}=this;if(!i)throw Error("Cannot execute a query on a query builder. Please use a database instance instead.");let{fields:s}=n;return ic("drizzle.prepareQuery",()=>{let n=orderSelectedFields(s),l=i.prepareQuery(t.sqlToQuery(this.getSQL()),n,e,!0,void 0,{type:"select",tables:[...u]},o);return l.joinsNotNullableMap=a,l.setToken(r)})}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>ic("drizzle.operation",()=>this._prepare().execute(e,this.authToken))}function createSetOperator(e,i){return(n,t,...a)=>{let r=[t,...a].map(n=>({type:e,isAll:i,rightSelect:n}));for(let e of r)if(!haveSameKeys(n.getSelectedFields(),e.rightSelect.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return n.addSetOperators(r)}}applyMixins(nb,[nm]);let getPgSetOperators=()=>({union:nC,unionAll:nw,intersect:nT,intersectAll:nx,except:nL,exceptAll:nE}),nC=createSetOperator("union",!1),nw=createSetOperator("union",!0),nT=createSetOperator("intersect",!1),nx=createSetOperator("intersect",!0),nL=createSetOperator("except",!1),nE=createSetOperator("except",!0);class n_{static [eK]="PgQueryBuilder";dialect;dialectConfig;constructor(e){this.dialect=entity_is(e,nd)?e:void 0,this.dialectConfig=entity_is(e,nd)?void 0:e}$with=(e,i)=>{let n=this;return{as:t=>("function"==typeof t&&(t=t(n)),new Proxy(new ig(t.getSQL(),i??("getSelectedFields"in t?t.getSelectedFields()??{}:{}),e,!0),new np({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"})))}};with(...e){let i=this;return{select:function(n){return new ny({fields:n??void 0,session:void 0,dialect:i.getDialect(),withList:e})},selectDistinct:function(e){return new ny({fields:e??void 0,session:void 0,dialect:i.getDialect(),distinct:!0})},selectDistinctOn:function(e,n){return new ny({fields:n??void 0,session:void 0,dialect:i.getDialect(),distinct:{on:e}})}}}select(e){return new ny({fields:e??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct(e){return new ny({fields:e??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}selectDistinctOn(e,i){return new ny({fields:i??void 0,session:void 0,dialect:this.getDialect(),distinct:{on:e}})}getDialect(){return this.dialect||(this.dialect=new nd(this.dialectConfig)),this.dialect}}class nY{constructor(e,i,n,t){this.table=e,this.session=i,this.dialect=n,this.withList=t}static [eK]="PgUpdateBuilder";authToken;setToken(e){return this.authToken=e,this}set(e){return new nD(this.table,mapUpdateSet(this.table,e),this.session,this.dialect,this.withList).setToken(this.authToken)}}class nD extends nm{constructor(e,i,n,t,a){super(),this.session=n,this.dialect=t,this.config={set:i,table:e,withList:a,joins:[]},this.tableName=getTableLikeName(e),this.joinsNotNullableMap="string"==typeof this.tableName?{[this.tableName]:!0}:{}}static [eK]="PgUpdate";config;tableName;joinsNotNullableMap;cacheConfig;from(e){let i=getTableLikeName(e);return"string"==typeof i&&(this.joinsNotNullableMap[i]=!0),this.config.from=e,this}getTableLikeFields(e){return entity_is(e,nr)?e[ix.Symbol.Columns]:entity_is(e,ih)?e._.selectedFields:e[id].selectedFields}createJoin(e){return(i,n)=>{let t=getTableLikeName(i);if("string"==typeof t&&this.config.joins.some(e=>e.alias===t))throw Error(`Alias "${t}" is already used in this query`);if("function"==typeof n){let e=this.config.from&&!entity_is(this.config.from,i_)?this.getTableLikeFields(this.config.from):void 0;n=n(new Proxy(this.config.table[ix.Symbol.Columns],new np({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})),e&&new Proxy(e,new np({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))}if(this.config.joins.push({on:n,table:i,joinType:e,alias:t}),"string"==typeof t)switch(e){case"left":this.joinsNotNullableMap[t]=!1;break;case"right":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[t]=!0;break;case"inner":this.joinsNotNullableMap[t]=!0;break;case"full":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[t]=!1}return this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");where(e){return this.config.where=e,this}returning(e){if(!e&&(e=Object.assign({},this.config.table[ix.Symbol.Columns]),this.config.from)){let i=getTableLikeName(this.config.from);if("string"==typeof i&&this.config.from&&!entity_is(this.config.from,i_)){let n=this.getTableLikeFields(this.config.from);e[i]=n}for(let i of this.config.joins){let n=getTableLikeName(i.table);if("string"==typeof n&&!entity_is(i.table,i_)){let t=this.getTableLikeFields(i.table);e[n]=t}}}return this.config.returningFields=e,this.config.returning=orderSelectedFields(e),this}getSQL(){return this.dialect.buildUpdateQuery(this.config)}toSQL(){let{typings:e,...i}=this.dialect.sqlToQuery(this.getSQL());return i}_prepare(e){let i=this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,e,!0,void 0,{type:"insert",tables:extractUsedTable(this.config.table)},this.cacheConfig);return i.joinsNotNullableMap=this.joinsNotNullableMap,i}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>this._prepare().execute(e,this.authToken);getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new np({alias:this.config.table[e1],sqlAliasedBehavior:"alias",sqlBehavior:"error"})):void 0}$dynamic(){return this}}class nv{constructor(e,i,n,t,a){this.table=e,this.session=i,this.dialect=n,this.withList=t,this.overridingSystemValue_=a}static [eK]="PgInsertBuilder";authToken;setToken(e){return this.authToken=e,this}overridingSystemValue(){return this.overridingSystemValue_=!0,this}values(e){if(0===(e=Array.isArray(e)?e:[e]).length)throw Error("values() must be called with at least one value");let i=e.map(e=>{let i={},n=this.table[ix.Symbol.Columns];for(let t of Object.keys(e)){let a=e[t];i[t]=entity_is(a,i_)?a:new iA(a,n[t])}return i});return new nA(this.table,i,this.session,this.dialect,this.withList,!1,this.overridingSystemValue_).setToken(this.authToken)}select(e){let i="function"==typeof e?e(new n_):e;if(!entity_is(i,i_)&&!haveSameKeys(this.table[im],i._.selectedFields))throw Error("Insert select error: selected fields are not the same or are in a different order compared to the table definition");return new nA(this.table,i,this.session,this.dialect,this.withList,!0)}}class nA extends nm{constructor(e,i,n,t,a,r,o){super(),this.session=n,this.dialect=t,this.config={table:e,values:i,withList:a,select:r,overridingSystemValue_:o}}static [eK]="PgInsert";config;cacheConfig;returning(e=this.config.table[ix.Symbol.Columns]){return this.config.returningFields=e,this.config.returning=orderSelectedFields(e),this}onConflictDoNothing(e={}){if(void 0===e.target)this.config.onConflict=sql_sql`do nothing`;else{let i="";i=Array.isArray(e.target)?e.target.map(e=>this.dialect.escapeName(this.dialect.casing.getColumnCasing(e))).join(","):this.dialect.escapeName(this.dialect.casing.getColumnCasing(e.target));let n=e.where?sql_sql` where ${e.where}`:void 0;this.config.onConflict=sql_sql`(${sql_sql.raw(i)})${n} do nothing`}return this}onConflictDoUpdate(e){if(e.where&&(e.targetWhere||e.setWhere))throw Error('You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.');let i=e.where?sql_sql` where ${e.where}`:void 0,n=e.targetWhere?sql_sql` where ${e.targetWhere}`:void 0,t=e.setWhere?sql_sql` where ${e.setWhere}`:void 0,a=this.dialect.buildUpdateSet(this.config.table,mapUpdateSet(this.config.table,e.set)),r="";return r=Array.isArray(e.target)?e.target.map(e=>this.dialect.escapeName(this.dialect.casing.getColumnCasing(e))).join(","):this.dialect.escapeName(this.dialect.casing.getColumnCasing(e.target)),this.config.onConflict=sql_sql`(${sql_sql.raw(r)})${n} do update set ${a}${i}${t}`,this}getSQL(){return this.dialect.buildInsertQuery(this.config)}toSQL(){let{typings:e,...i}=this.dialect.sqlToQuery(this.getSQL());return i}_prepare(e){return ic("drizzle.prepareQuery",()=>this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,e,!0,void 0,{type:"insert",tables:extractUsedTable(this.config.table)},this.cacheConfig))}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>ic("drizzle.operation",()=>this._prepare().execute(e,this.authToken));getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new np({alias:this.config.table[e1],sqlAliasedBehavior:"alias",sqlBehavior:"error"})):void 0}$dynamic(){return this}}class nN extends nm{constructor(e,i,n,t){super(),this.session=i,this.dialect=n,this.config={table:e,withList:t}}static [eK]="PgDelete";config;cacheConfig;where(e){return this.config.where=e,this}returning(e=this.config.table[ix.Symbol.Columns]){return this.config.returningFields=e,this.config.returning=orderSelectedFields(e),this}getSQL(){return this.dialect.buildDeleteQuery(this.config)}toSQL(){let{typings:e,...i}=this.dialect.sqlToQuery(this.getSQL());return i}_prepare(e){return ic("drizzle.prepareQuery",()=>this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,e,!0,void 0,{type:"delete",tables:extractUsedTable(this.config.table)},this.cacheConfig))}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>ic("drizzle.operation",()=>this._prepare().execute(e,this.authToken));getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new np({alias:this.config.table[e1],sqlAliasedBehavior:"alias",sqlBehavior:"error"})):void 0}$dynamic(){return this}}class nP extends i_{constructor(e){super(nP.buildEmbeddedCount(e.source,e.filters).queryChunks),this.params=e,this.mapWith(Number),this.session=e.session,this.sql=nP.buildCount(e.source,e.filters)}sql;token;static [eK]="PgCountBuilder";[Symbol.toStringTag]="PgCountBuilder";session;static buildEmbeddedCount(e,i){return sql_sql`(select count(*) from ${e}${sql_sql.raw(" where ").if(i)}${i})`}static buildCount(e,i){return sql_sql`select count(*) as count from ${e}${sql_sql.raw(" where ").if(i)}${i};`}setToken(e){return this.token=e,this}then(e,i){return Promise.resolve(this.session.count(this.sql,this.token)).then(e,i)}catch(e){return this.then(void 0,e)}finally(e){return this.then(i=>(e?.(),i),i=>{throw e?.(),i})}}class nZ{constructor(e,i,n,t,a,r,o){this.fullSchema=e,this.schema=i,this.tableNamesMap=n,this.table=t,this.tableConfig=a,this.dialect=r,this.session=o}static [eK]="PgRelationalQueryBuilder";findMany(e){return new nR(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e||{},"many")}findFirst(e){return new nR(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?{...e,limit:1}:{limit:1},"first")}}class nR extends nm{constructor(e,i,n,t,a,r,o,u,s){super(),this.fullSchema=e,this.schema=i,this.tableNamesMap=n,this.table=t,this.tableConfig=a,this.dialect=r,this.session=o,this.config=u,this.mode=s}static [eK]="PgRelationalQuery";_prepare(e){return ic("drizzle.prepareQuery",()=>{let{query:i,builtQuery:n}=this._toSQL();return this.session.prepareQuery(n,void 0,e,!0,(e,n)=>{let t=e.map(e=>mapRelationalRow(this.schema,this.tableConfig,e,i.selection,n));return"first"===this.mode?t[0]:t})})}prepare(e){return this._prepare(e)}_getQuery(){return this.dialect.buildRelationalQueryWithoutPK({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName})}getSQL(){return this._getQuery().sql}_toSQL(){let e=this._getQuery(),i=this.dialect.sqlToQuery(e.sql);return{query:e,builtQuery:i}}toSQL(){return this._toSQL().builtQuery}authToken;setToken(e){return this.authToken=e,this}execute(){return ic("drizzle.operation",()=>this._prepare().execute(void 0,this.authToken))}}class nM extends nm{constructor(e,i,n,t){super(),this.execute=e,this.sql=i,this.query=n,this.mapBatchResult=t}static [eK]="PgRaw";getSQL(){return this.sql}getQuery(){return this.query}mapResult(e,i){return i?this.mapBatchResult(e):e}_prepare(){return this}isResponseInArrayMode(){return!1}}class nJ extends nm{constructor(e,i,n){super(),this.session=i,this.dialect=n,this.config={view:e}}static [eK]="PgRefreshMaterializedView";config;concurrently(){if(void 0!==this.config.withNoData)throw Error("Cannot use concurrently and withNoData together");return this.config.concurrently=!0,this}withNoData(){if(void 0!==this.config.concurrently)throw Error("Cannot use concurrently and withNoData together");return this.config.withNoData=!0,this}getSQL(){return this.dialect.buildRefreshMaterializedViewQuery(this.config)}toSQL(){let{typings:e,...i}=this.dialect.sqlToQuery(this.getSQL());return i}_prepare(e){return ic("drizzle.prepareQuery",()=>this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),void 0,e,!0))}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>ic("drizzle.operation",()=>this._prepare().execute(e,this.authToken))}class nk{constructor(e,i,n){if(this.dialect=e,this.session=i,this._=n?{schema:n.schema,fullSchema:n.fullSchema,tableNamesMap:n.tableNamesMap,session:i}:{schema:void 0,fullSchema:{},tableNamesMap:{},session:i},this.query={},this._.schema)for(let[t,a]of Object.entries(this._.schema))this.query[t]=new nZ(n.fullSchema,this._.schema,this._.tableNamesMap,n.fullSchema[t],a,e,i);this.$cache={invalidate:async e=>{}}}static [eK]="PgDatabase";query;$with=(e,i)=>{let n=this;return{as:t=>("function"==typeof t&&(t=t(new n_(n.dialect))),new Proxy(new ig(t.getSQL(),i??("getSelectedFields"in t?t.getSelectedFields()??{}:{}),e,!0),new np({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"})))}};$count(e,i){return new nP({source:e,filters:i,session:this.session})}$cache;with(...e){let i=this;return{select:function(n){return new ny({fields:n??void 0,session:i.session,dialect:i.dialect,withList:e})},selectDistinct:function(n){return new ny({fields:n??void 0,session:i.session,dialect:i.dialect,withList:e,distinct:!0})},selectDistinctOn:function(n,t){return new ny({fields:t??void 0,session:i.session,dialect:i.dialect,withList:e,distinct:{on:n}})},update:function(n){return new nY(n,i.session,i.dialect,e)},insert:function(n){return new nv(n,i.session,i.dialect,e)},delete:function(n){return new nN(n,i.session,i.dialect,e)}}}select(e){return new ny({fields:e??void 0,session:this.session,dialect:this.dialect})}selectDistinct(e){return new ny({fields:e??void 0,session:this.session,dialect:this.dialect,distinct:!0})}selectDistinctOn(e,i){return new ny({fields:i??void 0,session:this.session,dialect:this.dialect,distinct:{on:e}})}update(e){return new nY(e,this.session,this.dialect)}insert(e){return new nv(e,this.session,this.dialect)}delete(e){return new nN(e,this.session,this.dialect)}refreshMaterializedView(e){return new nJ(e,this.session,this.dialect)}authToken;execute(e){let i="string"==typeof e?sql_sql.raw(e):e.getSQL(),n=this.dialect.sqlToQuery(i),t=this.session.prepareQuery(n,void 0,void 0,!1);return new nM(()=>t.execute(void 0,this.authToken),i,n,e=>t.mapResult(e,!0))}transaction(e,i){return this.session.transaction(e,i)}}class nB{static [eK]="Cache"}class nH extends nB{strategy(){return"all"}static [eK]="NoopCache";async get(e){}async put(e,i,n,t){}async onMutate(e){}}async function hashQuery(e,i){let n=`${e}-${JSON.stringify(i)}`,t=new TextEncoder().encode(n);return[...new Uint8Array(await crypto.subtle.digest("SHA-256",t))].map(e=>e.toString(16).padStart(2,"0")).join("")}class nF{constructor(e,i,n,t){this.query=e,this.cache=i,this.queryMetadata=n,this.cacheConfig=t,i&&"all"===i.strategy()&&void 0===t&&(this.cacheConfig={enable:!0,autoInvalidate:!0}),this.cacheConfig?.enable||(this.cacheConfig=void 0)}authToken;getQuery(){return this.query}mapResult(e,i){return e}setToken(e){return this.authToken=e,this}static [eK]="PgPreparedQuery";joinsNotNullableMap;async queryWithCache(e,i,n){if(void 0===this.cache||entity_is(this.cache,nH)||void 0===this.queryMetadata||this.cacheConfig&&!this.cacheConfig.enable)try{return await n()}catch(n){throw new iX(e,i,n)}if(("insert"===this.queryMetadata.type||"update"===this.queryMetadata.type||"delete"===this.queryMetadata.type)&&this.queryMetadata.tables.length>0)try{let[e]=await Promise.all([n(),this.cache.onMutate({tables:this.queryMetadata.tables})]);return e}catch(n){throw new iX(e,i,n)}if(!this.cacheConfig)try{return await n()}catch(n){throw new iX(e,i,n)}if("select"===this.queryMetadata.type){let t=await this.cache.get(this.cacheConfig.tag??await hashQuery(e,i),this.queryMetadata.tables,void 0!==this.cacheConfig.tag,this.cacheConfig.autoInvalidate);if(void 0===t){let t;try{t=await n()}catch(n){throw new iX(e,i,n)}return await this.cache.put(this.cacheConfig.tag??await hashQuery(e,i),t,this.cacheConfig.autoInvalidate?this.queryMetadata.tables:[],void 0!==this.cacheConfig.tag,this.cacheConfig.config),t}return t}try{return await n()}catch(n){throw new iX(e,i,n)}}}class nX{constructor(e){this.dialect=e}static [eK]="PgSession";execute(e,i){return ic("drizzle.operation",()=>ic("drizzle.prepareQuery",()=>this.prepareQuery(this.dialect.sqlToQuery(e),void 0,void 0,!1)).setToken(i).execute(void 0,i))}all(e){return this.prepareQuery(this.dialect.sqlToQuery(e),void 0,void 0,!1).all()}async count(e,i){return Number((await this.execute(e,i))[0].count)}}class nI extends nk{constructor(e,i,n,t=0){super(e,i,n),this.schema=n,this.nestedIndex=t}static [eK]="PgTransaction";rollback(){throw new iI}getTransactionConfigSQL(e){let i=[];return e.isolationLevel&&i.push(`isolation level ${e.isolationLevel}`),e.accessMode&&i.push(e.accessMode),"boolean"==typeof e.deferrable&&i.push(e.deferrable?"deferrable":"not deferrable"),sql_sql.raw(i.join(" "))}setTransaction(e){return this.session.execute(sql_sql`set transaction ${this.getTransactionConfigSQL(e)}`)}}let{Pool:nO,types:nQ}=Z;class nU extends nF{constructor(e,i,n,t,a,r,o,u,s,l,h){super({sql:i,params:n},a,r,o),this.client=e,this.queryString=i,this.params=n,this.logger=t,this.fields=u,this._isResponseInArrayMode=l,this.customResultMapper=h,this.rawQueryConfig={name:s,text:i,types:{getTypeParser:(e,i)=>e===nQ.builtins.TIMESTAMPTZ||e===nQ.builtins.TIMESTAMP||e===nQ.builtins.DATE||e===nQ.builtins.INTERVAL||1231===e||1115===e||1185===e||1187===e||1182===e?e=>e:nQ.getTypeParser(e,i)}},this.queryConfig={name:s,text:i,rowMode:"array",types:{getTypeParser:(e,i)=>e===nQ.builtins.TIMESTAMPTZ||e===nQ.builtins.TIMESTAMP||e===nQ.builtins.DATE||e===nQ.builtins.INTERVAL||1231===e||1115===e||1185===e||1187===e||1182===e?e=>e:nQ.getTypeParser(e,i)}}}static [eK]="NodePgPreparedQuery";rawQueryConfig;queryConfig;async execute(e={}){return ic("drizzle.execute",async()=>{let i=fillPlaceholders(this.params,e);this.logger.logQuery(this.rawQueryConfig.text,i);let{fields:n,rawQueryConfig:t,client:a,queryConfig:r,joinsNotNullableMap:o,customResultMapper:u}=this;if(!n&&!u)return ic("drizzle.driver.execute",async e=>(e?.setAttributes({"drizzle.query.name":t.name,"drizzle.query.text":t.text,"drizzle.query.params":JSON.stringify(i)}),this.queryWithCache(t.text,i,async()=>await a.query(t,i))));let s=await ic("drizzle.driver.execute",e=>(e?.setAttributes({"drizzle.query.name":r.name,"drizzle.query.text":r.text,"drizzle.query.params":JSON.stringify(i)}),this.queryWithCache(r.text,i,async()=>await a.query(r,i))));return ic("drizzle.mapResponse",()=>u?u(s.rows):s.rows.map(e=>mapResultRow(n,e,o)))})}all(e={}){return ic("drizzle.execute",()=>{let i=fillPlaceholders(this.params,e);return this.logger.logQuery(this.rawQueryConfig.text,i),ic("drizzle.driver.execute",e=>(e?.setAttributes({"drizzle.query.name":this.rawQueryConfig.name,"drizzle.query.text":this.rawQueryConfig.text,"drizzle.query.params":JSON.stringify(i)}),this.queryWithCache(this.rawQueryConfig.text,i,async()=>this.client.query(this.rawQueryConfig,i)).then(e=>e.rows)))})}isResponseInArrayMode(){return this._isResponseInArrayMode}}class nG extends nX{constructor(e,i,n,t={}){super(i),this.client=e,this.schema=n,this.options=t,this.logger=t.logger??new ej,this.cache=t.cache??new nH}static [eK]="NodePgSession";logger;cache;prepareQuery(e,i,n,t,a,r,o){return new nU(this.client,e.sql,e.params,this.logger,this.cache,r,o,i,n,t,a)}async transaction(e,i){let n=this.client instanceof nO||Object.getPrototypeOf(this.client).constructor.name.includes("Pool"),t=n?new nG(await this.client.connect(),this.dialect,this.schema,this.options):this,a=new nq(this.dialect,t,this.schema);await a.execute(sql_sql`begin${i?sql_sql` ${a.getTransactionConfigSQL(i)}`:void 0}`);try{let i=await e(a);return await a.execute(sql_sql`commit`),i}catch(e){throw await a.execute(sql_sql`rollback`),e}finally{n&&t.client.release()}}async count(e){return Number((await this.execute(e)).rows[0].count)}}class nq extends nI{static [eK]="NodePgTransaction";async transaction(e){let i=`sp${this.nestedIndex+1}`,n=new nq(this.dialect,this.session,this.schema,this.nestedIndex+1);await n.execute(sql_sql.raw(`savepoint ${i}`));try{let t=await e(n);return await n.execute(sql_sql.raw(`release savepoint ${i}`)),t}catch(e){throw await n.execute(sql_sql.raw(`rollback to savepoint ${i}`)),e}}}class n${constructor(e,i,n={}){this.client=e,this.dialect=i,this.options=n}static [eK]="NodePgDriver";createSession(e){return new nG(this.client,this.dialect,e,{logger:this.options.logger,cache:this.options.cache})}}class nK extends nk{static [eK]="NodePgDatabase"}function construct(e,i={}){let n,t,a=new nd({casing:i.casing});if(!0===i.logger?n=new eW:!1!==i.logger&&(n=i.logger),i.schema){let e=extractTablesRelationalConfig(i.schema,createTableRelationsHelpers);t={fullSchema:i.schema,schema:e.tables,tableNamesMap:e.tableNamesMap}}let r=new n$(e,a,{logger:n,cache:i.cache}).createSession(t),o=new nK(a,r,t);return o.$client=e,o.$cache=i.cache,o.$cache&&(o.$cache.invalidate=i.cache?.onMutate),o}function drizzle(...e){if("string"==typeof e[0])return construct(new Z.Pool({connectionString:e[0]}),e[1]);if(isConfig(e[0])){let{connection:i,client:n,...t}=e[0];return n?construct(n,t):construct(new Z.Pool("string"==typeof i?{connectionString:i}:i),t)}return construct(e[0],e[1])}(drizzle||(drizzle={})).mock=function(e){return construct({},e)};class nz{static MAX_CONNECTIONS=100;static IDLE_TIMEOUT_MILLIS=3e4;static CONNECTION_TIMEOUT_MILLIS=3e4;static MAX_RETRY_TIME=2e4;static DEFAULT_SCHEMA_PATH="src/storage/database/shared/schema.ts"}let nW=!1;function loadEnv(){if(!nW&&!process.env.PGDATABASE_URL)try{try{if(E("./node_modules/dotenv/lib/main.js").config(),process.env.PGDATABASE_URL){nW=!0;return}}catch{}let e=`
|
|
8
|
+
`;await i.execute(sql_sql`CREATE SCHEMA IF NOT EXISTS ${sql_sql.identifier(a)}`),await i.execute(r);let o=(await i.all(sql_sql`select id, hash, created_at from ${sql_sql.identifier(a)}.${sql_sql.identifier(t)} order by created_at desc limit 1`))[0];await i.transaction(async i=>{for await(let n of e)if(!o||Number(o.created_at)<n.folderMillis){for(let e of n.sql)await i.execute(sql_sql.raw(e));await i.execute(sql_sql`insert into ${sql_sql.identifier(a)}.${sql_sql.identifier(t)} ("hash", "created_at") values(${n.hash}, ${n.folderMillis})`)}})}escapeName(e){return`"${e}"`}escapeParam(e){return`$${e+1}`}escapeString(e){return`'${e.replace(/'/g,"''")}'`}buildWithCTE(e){if(!e?.length)return;let i=[sql_sql`with `];for(let[n,t]of e.entries())i.push(sql_sql`${sql_sql.identifier(t._.alias)} as (${t._.sql})`),n<e.length-1&&i.push(sql_sql`, `);return i.push(sql_sql` `),sql_sql.join(i)}buildDeleteQuery({table:e,where:i,returning:n,withList:t}){let a=this.buildWithCTE(t),r=n?sql_sql` returning ${this.buildSelection(n,{isSingleTable:!0})}`:void 0,o=i?sql_sql` where ${i}`:void 0;return sql_sql`${a}delete from ${e}${o}${r}`}buildUpdateSet(e,i){let n=e[iE.Symbol.Columns],t=Object.keys(n).filter(e=>void 0!==i[e]||n[e]?.onUpdateFn!==void 0),a=t.length;return sql_sql.join(t.flatMap((e,t)=>{let r=n[e],o=r.onUpdateFn?.(),u=i[e]??(entity_is(o,iD)?o:sql_sql.param(o,r)),s=sql_sql`${sql_sql.identifier(this.casing.getColumnCasing(r))} = ${u}`;return t<a-1?[s,sql_sql.raw(", ")]:[s]}))}buildUpdateQuery({table:e,set:i,where:n,returning:t,withList:a,from:r,joins:o}){let u=this.buildWithCTE(a),s=e[nu.Symbol.Name],l=e[nu.Symbol.Schema],h=e[nu.Symbol.OriginalName],g=s===h?void 0:s,c=sql_sql`${l?sql_sql`${sql_sql.identifier(l)}.`:void 0}${sql_sql.identifier(h)}${g&&sql_sql` ${sql_sql.identifier(g)}`}`,d=this.buildUpdateSet(e,i),p=r&&sql_sql.join([sql_sql.raw(" from "),this.buildFromTable(r)]),f=this.buildJoins(o),m=t?sql_sql` returning ${this.buildSelection(t,{isSingleTable:!r})}`:void 0,y=n?sql_sql` where ${n}`:void 0;return sql_sql`${u}update ${c} set ${d}${p}${f}${y}${m}`}buildSelection(e,{isSingleTable:i=!1}={}){let n=e.length,t=e.flatMap(({field:e},t)=>{let a=[];if(entity_is(e,iD.Aliased)&&e.isSelectionField)a.push(sql_sql.identifier(e.fieldAlias));else if(entity_is(e,iD.Aliased)||entity_is(e,iD)){let n=entity_is(e,iD.Aliased)?e.sql:e;i?a.push(new iD(n.queryChunks.map(e=>entity_is(e,ie)?sql_sql.identifier(this.casing.getColumnCasing(e)):e))):a.push(n),entity_is(e,iD.Aliased)&&a.push(sql_sql` as ${sql_sql.identifier(e.fieldAlias)}`)}else if(entity_is(e,e1))i?a.push(sql_sql.identifier(this.casing.getColumnCasing(e))):a.push(e);else if(entity_is(e,ic)){let i=Object.entries(e._.selectedFields);if(1===i.length){let n=i[0][1],t=entity_is(n,iD)?n.decoder:entity_is(n,e1)?{mapFromDriverValue:e=>n.mapFromDriverValue(e)}:n.sql.decoder;t&&(e._.sql.decoder=t)}a.push(e)}return t<n-1&&a.push(sql_sql`, `),a});return sql_sql.join(t)}buildJoins(e){if(!e||0===e.length)return;let i=[];for(let[n,t]of e.entries()){0===n&&i.push(sql_sql` `);let a=t.table,r=t.lateral?sql_sql` lateral`:void 0,o=t.on?sql_sql` on ${t.on}`:void 0;if(entity_is(a,nu)){let e=a[nu.Symbol.Name],n=a[nu.Symbol.Schema],u=a[nu.Symbol.OriginalName],s=e===u?void 0:t.alias;i.push(sql_sql`${sql_sql.raw(t.joinType)} join${r} ${n?sql_sql`${sql_sql.identifier(n)}.`:void 0}${sql_sql.identifier(u)}${s&&sql_sql` ${sql_sql.identifier(s)}`}${o}`)}else if(entity_is(a,ik)){let e=a[im].name,n=a[im].schema,u=a[im].originalName,s=e===u?void 0:t.alias;i.push(sql_sql`${sql_sql.raw(t.joinType)} join${r} ${n?sql_sql`${sql_sql.identifier(n)}.`:void 0}${sql_sql.identifier(u)}${s&&sql_sql` ${sql_sql.identifier(s)}`}${o}`)}else i.push(sql_sql`${sql_sql.raw(t.joinType)} join${r} ${a}${o}`);n<e.length-1&&i.push(sql_sql` `)}return sql_sql.join(i)}buildFromTable(e){if(entity_is(e,iE)&&e[iE.Symbol.IsAlias]){let i=sql_sql`${sql_sql.identifier(e[iE.Symbol.OriginalName])}`;return e[iE.Symbol.Schema]&&(i=sql_sql`${sql_sql.identifier(e[iE.Symbol.Schema])}.${i}`),sql_sql`${i} ${sql_sql.identifier(e[iE.Symbol.Name])}`}return e}buildSelectQuery({withList:e,fields:i,fieldsFlat:n,where:t,having:a,table:r,joins:o,orderBy:u,groupBy:s,limit:l,offset:h,lockingClause:g,distinct:c,setOperators:d}){let p,f,m,y=n??orderSelectedFields(i);for(let e of y){let i;if(entity_is(e.field,e1)&&e.field.table[e2]!==(entity_is(r,ic)?r._.alias:entity_is(r,np)?r[im].name:entity_is(r,iD)?void 0:r[e2])&&(i=e.field.table,!o?.some(({alias:e})=>e===(i[iE.Symbol.IsAlias]?i[e2]:i[iE.Symbol.BaseName])))){let i=e.field.table[e2];throw Error(`Your "${e.path.join("->")}" field references a column "${i}"."${e.field.name}", but the table "${i}" is not part of the query! Did you forget to join it?`)}}let S=!o||0===o.length,b=this.buildWithCTE(e);c&&(p=!0===c?sql_sql` distinct`:sql_sql` distinct on (${sql_sql.join(c.on,sql_sql`, `)})`);let C=this.buildSelection(y,{isSingleTable:S}),w=this.buildFromTable(r),T=this.buildJoins(o),x=t?sql_sql` where ${t}`:void 0,L=a?sql_sql` having ${a}`:void 0;u&&u.length>0&&(f=sql_sql` order by ${sql_sql.join(u,sql_sql`, `)}`),s&&s.length>0&&(m=sql_sql` group by ${sql_sql.join(s,sql_sql`, `)}`);let E="object"==typeof l||"number"==typeof l&&l>=0?sql_sql` limit ${l}`:void 0,_=h?sql_sql` offset ${h}`:void 0,Y=sql_sql.empty();if(g){let e=sql_sql` for ${sql_sql.raw(g.strength)}`;g.config.of&&e.append(sql_sql` of ${sql_sql.join(Array.isArray(g.config.of)?g.config.of:[g.config.of],sql_sql`, `)}`),g.config.noWait?e.append(sql_sql` nowait`):g.config.skipLocked&&e.append(sql_sql` skip locked`),Y.append(e)}let D=sql_sql`${b}select${p} ${C} from ${w}${T}${x}${m}${L}${f}${E}${_}${Y}`;return d.length>0?this.buildSetOperations(D,d):D}buildSetOperations(e,i){let[n,...t]=i;if(!n)throw Error("Cannot pass undefined values to any set operator");return 0===t.length?this.buildSetOperationQuery({leftSelect:e,setOperator:n}):this.buildSetOperations(this.buildSetOperationQuery({leftSelect:e,setOperator:n}),t)}buildSetOperationQuery({leftSelect:e,setOperator:{type:i,isAll:n,rightSelect:t,limit:a,orderBy:r,offset:o}}){let u,s=sql_sql`(${e.getSQL()}) `,l=sql_sql`(${t.getSQL()})`;if(r&&r.length>0){let e=[];for(let i of r)if(entity_is(i,ie))e.push(sql_sql.identifier(i.name));else if(entity_is(i,iD)){for(let e=0;e<i.queryChunks.length;e++){let n=i.queryChunks[e];entity_is(n,ie)&&(i.queryChunks[e]=sql_sql.identifier(n.name))}e.push(sql_sql`${i}`)}else e.push(sql_sql`${i}`);u=sql_sql` order by ${sql_sql.join(e,sql_sql`, `)} `}let h="object"==typeof a||"number"==typeof a&&a>=0?sql_sql` limit ${a}`:void 0,g=sql_sql.raw(`${i} ${n?"all ":""}`),c=o?sql_sql` offset ${o}`:void 0;return sql_sql`${s}${g}${l}${u}${h}${c}`}buildInsertQuery({table:e,values:i,onConflict:n,returning:t,withList:a,select:r,overridingSystemValue_:o}){let u=[],s=Object.entries(e[iE.Symbol.Columns]).filter(([e,i])=>!i.shouldDisableInsert()),l=s.map(([,e])=>sql_sql.identifier(this.casing.getColumnCasing(e)));if(r)entity_is(i,iD)?u.push(i):u.push(i.getSQL());else for(let[e,n]of(u.push(sql_sql.raw("values ")),i.entries())){let t=[];for(let[e,i]of s){let a=n[e];if(void 0===a||entity_is(a,iP)&&void 0===a.value)if(void 0!==i.defaultFn){let e=i.defaultFn(),n=entity_is(e,iD)?e:sql_sql.param(e,i);t.push(n)}else if(i.default||void 0===i.onUpdateFn)t.push(sql_sql`default`);else{let e=i.onUpdateFn(),n=entity_is(e,iD)?e:sql_sql.param(e,i);t.push(n)}else t.push(a)}u.push(t),e<i.length-1&&u.push(sql_sql`, `)}let h=this.buildWithCTE(a),g=sql_sql.join(u),c=t?sql_sql` returning ${this.buildSelection(t,{isSingleTable:!0})}`:void 0,d=n?sql_sql` on conflict ${n}`:void 0,p=!0===o?sql_sql`overriding system value `:void 0;return sql_sql`${h}insert into ${e} ${l} ${p}${g}${d}${c}`}buildRefreshMaterializedViewQuery({view:e,concurrently:i,withNoData:n}){let t=i?sql_sql` concurrently`:void 0,a=n?sql_sql` with no data`:void 0;return sql_sql`refresh materialized view${t} ${e}${a}`}prepareTyping(e){if(entity_is(e,iG)||entity_is(e,i$))return"json";if(entity_is(e,iz))return"decimal";if(entity_is(e,i2))return"time";if(entity_is(e,i8)||entity_is(e,i5))return"timestamp";if(entity_is(e,i9)||entity_is(e,nn))return"date";else if(entity_is(e,na))return"uuid";else return"none"}sqlToQuery(e,i){return e.toQuery({casing:this.casing,escapeName:this.escapeName,escapeParam:this.escapeParam,escapeString:this.escapeString,prepareTyping:this.prepareTyping,invokeSource:i})}buildRelationalQueryWithoutPK({fullSchema:e,schema:i,tableNamesMap:n,table:t,tableConfig:a,queryConfig:r,tableAlias:o,nestedQueryRelation:u,joinOn:s}){let l,h=[],g,c,d=[],p,f=[];if(!0===r)h=Object.entries(a.columns).map(([e,i])=>({dbKey:i.name,tsKey:e,field:aliasedTableColumn(i,o),relationTableTsKey:void 0,isJson:!1,selection:[]}));else{let t=Object.fromEntries(Object.entries(a.columns).map(([e,i])=>[e,aliasedTableColumn(i,o)]));if(r.where){let e="function"==typeof r.where?r.where(t,getOperators()):r.where;p=e&&mapColumnsInSQLToAlias(e,o)}let u=[],s=[];if(r.columns){let e=!1;for(let[i,n]of Object.entries(r.columns))void 0!==n&&i in a.columns&&(e||!0!==n||(e=!0),s.push(i));s.length>0&&(s=e?s.filter(e=>r.columns?.[e]===!0):Object.keys(a.columns).filter(e=>!s.includes(e)))}else s=Object.keys(a.columns);for(let e of s){let i=a.columns[e];u.push({tsKey:e,value:i})}let l=[];if(r.with&&(l=Object.entries(r.with).filter(e=>!!e[1]).map(([e,i])=>({tsKey:e,queryConfig:i,relation:a.relations[e]}))),r.extras)for(let[e,i]of Object.entries("function"==typeof r.extras?r.extras(t,{sql:sql_sql}):r.extras))u.push({tsKey:e,value:mapColumnsInAliasedSQLToAlias(i,o)});for(let{tsKey:e,value:i}of u)h.push({dbKey:entity_is(i,iD.Aliased)?i.fieldAlias:a.columns[e].name,tsKey:e,field:entity_is(i,e1)?aliasedTableColumn(i,o):i,relationTableTsKey:void 0,isJson:!1,selection:[]});let m="function"==typeof r.orderBy?r.orderBy(t,getOrderByOperators()):r.orderBy??[];for(let{tsKey:t,queryConfig:a,relation:u}of(Array.isArray(m)||(m=[m]),d=m.map(e=>entity_is(e,e1)?aliasedTableColumn(e,o):mapColumnsInSQLToAlias(e,o)),g=r.limit,c=r.offset,l)){let r=normalizeRelation(i,n,u),s=n[getTableUniqueName(u.referencedTable)],l=`${o}_${t}`,g=and(...r.fields.map((e,i)=>eq(aliasedTableColumn(r.references[i],l),aliasedTableColumn(e,o)))),c=this.buildRelationalQueryWithoutPK({fullSchema:e,schema:i,tableNamesMap:n,table:e[s],tableConfig:i[s],queryConfig:entity_is(u,nc)?!0===a?{limit:1}:{...a,limit:1}:a,tableAlias:l,joinOn:g,nestedQueryRelation:u}),d=sql_sql`${sql_sql.identifier(l)}.${sql_sql.identifier("data")}`.as(t);f.push({on:sql_sql`true`,table:new ic(c.sql,{},l),alias:l,joinType:"left",lateral:!0}),h.push({dbKey:t,tsKey:t,field:d,relationTableTsKey:s,isJson:!0,selection:c.selection})}}if(0===h.length)throw new iI({message:`No fields selected for table "${a.tsName}" ("${o}")`});if(p=and(s,p),u){let e=sql_sql`json_build_array(${sql_sql.join(h.map(({field:e,tsKey:i,isJson:n})=>n?sql_sql`${sql_sql.identifier(`${o}_${i}`)}.${sql_sql.identifier("data")}`:entity_is(e,iD.Aliased)?e.sql:e),sql_sql`, `)})`;entity_is(u,nd)&&(e=sql_sql`coalesce(json_agg(${e}${d.length>0?sql_sql` order by ${sql_sql.join(d,sql_sql`, `)}`:void 0}), '[]'::json)`);let i=[{dbKey:"data",tsKey:"data",field:e.as("data"),isJson:!0,relationTableTsKey:a.tsName,selection:h}];void 0!==g||void 0!==c||d.length>0?(l=this.buildSelectQuery({table:aliasedTable(t,o),fields:{},fieldsFlat:[{path:[],field:sql_sql.raw("*")}],where:p,limit:g,offset:c,orderBy:d,setOperators:[]}),p=void 0,g=void 0,c=void 0,d=[]):l=aliasedTable(t,o),l=this.buildSelectQuery({table:entity_is(l,nu)?l:new ic(l,{},o),fields:{},fieldsFlat:i.map(({field:e})=>({path:[],field:entity_is(e,e1)?aliasedTableColumn(e,o):e})),joins:f,where:p,limit:g,offset:c,orderBy:d,setOperators:[]})}else l=this.buildSelectQuery({table:aliasedTable(t,o),fields:{},fieldsFlat:h.map(({field:e})=>({path:[],field:entity_is(e,e1)?aliasedTableColumn(e,o):e})),joins:f,where:p,limit:g,offset:c,orderBy:d,setOperators:[]});return{tableTsKey:a.tsName,sql:l,selection:h}}}class nm{static [eW]="SelectionProxyHandler";config;constructor(e){this.config={...e}}get(e,i){if("_"===i)return{...e._,selectedFields:new Proxy(e._.selectedFields,this)};if(i===im)return{...e[im],selectedFields:new Proxy(e[im].selectedFields,this)};if("symbol"==typeof i)return e[i];let n=(entity_is(e,ic)?e._.selectedFields:entity_is(e,ik)?e[im].selectedFields:e)[i];if(entity_is(n,iD.Aliased)){if("sql"===this.config.sqlAliasedBehavior&&!n.isSelectionField)return n.sql;let e=n.clone();return e.isSelectionField=!0,e}if(entity_is(n,iD)){if("sql"===this.config.sqlBehavior)return n;throw Error(`You tried to reference "${i}" field from a subquery, which is a raw SQL field, but it doesn't have an alias declared. Please add an alias to the field using ".as('alias')" method.`)}return entity_is(n,e1)?this.config.alias?new Proxy(n,new iB(new Proxy(n.table,new iH(this.config.alias,this.config.replaceOriginalName??!1)))):n:"object"!=typeof n||null===n?n:new Proxy(n,new nm(this.config))}}class ny{static [eW]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}class nS{static [eW]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch(e){return this.then(void 0,e)}finally(e){return this.then(i=>(e?.(),i),i=>{throw e?.(),i})}then(e,i){return this.execute().then(e,i)}}function extractUsedTable(e){return entity_is(e,nu)?[e[iy]?`${e[iy]}.${e[iE.Symbol.BaseName]}`:e[iE.Symbol.BaseName]]:entity_is(e,ic)?e._.usedTables??[]:entity_is(e,iD)?e.usedTables??[]:[]}class nb{static [eW]="PgSelectBuilder";fields;session;dialect;withList=[];distinct;constructor(e){this.fields=e.fields,this.session=e.session,this.dialect=e.dialect,e.withList&&(this.withList=e.withList),this.distinct=e.distinct}authToken;setToken(e){return this.authToken=e,this}from(e){let i,n=!!this.fields;return i=this.fields?this.fields:entity_is(e,ic)?Object.fromEntries(Object.keys(e._.selectedFields).map(i=>[i,e[i]])):entity_is(e,np)?e[im].selectedFields:entity_is(e,iD)?{}:getTableColumns(e),new nw({table:e,fields:i,isPartialSelect:n,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct}).setToken(this.authToken)}}class nC extends ny{static [eW]="PgSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;cacheConfig=void 0;usedTables=new Set;constructor({table:e,fields:i,isPartialSelect:n,session:t,dialect:a,withList:r,distinct:o}){for(let u of(super(),this.config={withList:r,table:e,fields:{...i},distinct:o,setOperators:[]},this.isPartialSelect=n,this.session=t,this.dialect=a,this._={selectedFields:i,config:this.config},this.tableName=getTableLikeName(e),this.joinsNotNullableMap="string"==typeof this.tableName?{[this.tableName]:!0}:{},extractUsedTable(e)))this.usedTables.add(u)}getUsedTables(){return[...this.usedTables]}createJoin(e,i){return(n,t)=>{let a=this.tableName,r=getTableLikeName(n);for(let e of extractUsedTable(n))this.usedTables.add(e);if("string"==typeof r&&this.config.joins?.some(e=>e.alias===r))throw Error(`Alias "${r}" is already used in this query`);if(!this.isPartialSelect&&(1===Object.keys(this.joinsNotNullableMap).length&&"string"==typeof a&&(this.config.fields={[a]:this.config.fields}),"string"==typeof r&&!entity_is(n,iD))){let e=entity_is(n,ic)?n._.selectedFields:entity_is(n,ik)?n[im].selectedFields:n[iE.Symbol.Columns];this.config.fields[r]=e}if("function"==typeof t&&(t=t(new Proxy(this.config.fields,new nm({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.joins||(this.config.joins=[]),this.config.joins.push({on:t,table:n,joinType:e,alias:r,lateral:i}),"string"==typeof r)switch(e){case"left":this.joinsNotNullableMap[r]=!1;break;case"right":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[r]=!0;break;case"cross":case"inner":this.joinsNotNullableMap[r]=!0;break;case"full":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[r]=!1}return this}}leftJoin=this.createJoin("left",!1);leftJoinLateral=this.createJoin("left",!0);rightJoin=this.createJoin("right",!1);innerJoin=this.createJoin("inner",!1);innerJoinLateral=this.createJoin("inner",!0);fullJoin=this.createJoin("full",!1);crossJoin=this.createJoin("cross",!1);crossJoinLateral=this.createJoin("cross",!0);createSetOperator(e,i){return n=>{let t="function"==typeof n?n(getPgSetOperators()):n;if(!haveSameKeys(this.getSelectedFields(),t.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return this.config.setOperators.push({type:e,isAll:i,rightSelect:t}),this}}union=this.createSetOperator("union",!1);unionAll=this.createSetOperator("union",!0);intersect=this.createSetOperator("intersect",!1);intersectAll=this.createSetOperator("intersect",!0);except=this.createSetOperator("except",!1);exceptAll=this.createSetOperator("except",!0);addSetOperators(e){return this.config.setOperators.push(...e),this}where(e){return"function"==typeof e&&(e=e(new Proxy(this.config.fields,new nm({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.where=e,this}having(e){return"function"==typeof e&&(e=e(new Proxy(this.config.fields,new nm({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.having=e,this}groupBy(...e){if("function"==typeof e[0]){let i=e[0](new Proxy(this.config.fields,new nm({sqlAliasedBehavior:"alias",sqlBehavior:"sql"})));this.config.groupBy=Array.isArray(i)?i:[i]}else this.config.groupBy=e;return this}orderBy(...e){if("function"==typeof e[0]){let i=e[0](new Proxy(this.config.fields,new nm({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),n=Array.isArray(i)?i:[i];this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=n:this.config.orderBy=n}else this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=e:this.config.orderBy=e;return this}limit(e){return this.config.setOperators.length>0?this.config.setOperators.at(-1).limit=e:this.config.limit=e,this}offset(e){return this.config.setOperators.length>0?this.config.setOperators.at(-1).offset=e:this.config.offset=e,this}for(e,i={}){return this.config.lockingClause={strength:e,config:i},this}getSQL(){return this.dialect.buildSelectQuery(this.config)}toSQL(){let{typings:e,...i}=this.dialect.sqlToQuery(this.getSQL());return i}as(e){let i=[];if(i.push(...extractUsedTable(this.config.table)),this.config.joins)for(let e of this.config.joins)i.push(...extractUsedTable(e.table));return new Proxy(new ic(this.getSQL(),this.config.fields,e,!1,[...new Set(i)]),new nm({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new nm({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}$dynamic(){return this}$withCache(e){return this.cacheConfig=void 0===e?{config:{},enable:!0,autoInvalidate:!0}:!1===e?{enable:!1}:{enable:!0,autoInvalidate:!0,...e},this}}class nw extends nC{static [eW]="PgSelect";_prepare(e){let{session:i,config:n,dialect:t,joinsNotNullableMap:a,authToken:r,cacheConfig:o,usedTables:u}=this;if(!i)throw Error("Cannot execute a query on a query builder. Please use a database instance instead.");let{fields:s}=n;return ip("drizzle.prepareQuery",()=>{let n=orderSelectedFields(s),l=i.prepareQuery(t.sqlToQuery(this.getSQL()),n,e,!0,void 0,{type:"select",tables:[...u]},o);return l.joinsNotNullableMap=a,l.setToken(r)})}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>ip("drizzle.operation",()=>this._prepare().execute(e,this.authToken))}function createSetOperator(e,i){return(n,t,...a)=>{let r=[t,...a].map(n=>({type:e,isAll:i,rightSelect:n}));for(let e of r)if(!haveSameKeys(n.getSelectedFields(),e.rightSelect.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return n.addSetOperators(r)}}applyMixins(nw,[nS]);let getPgSetOperators=()=>({union:nT,unionAll:nx,intersect:nL,intersectAll:nE,except:n_,exceptAll:nY}),nT=createSetOperator("union",!1),nx=createSetOperator("union",!0),nL=createSetOperator("intersect",!1),nE=createSetOperator("intersect",!0),n_=createSetOperator("except",!1),nY=createSetOperator("except",!0);class nD{static [eW]="PgQueryBuilder";dialect;dialectConfig;constructor(e){this.dialect=entity_is(e,nf)?e:void 0,this.dialectConfig=entity_is(e,nf)?void 0:e}$with=(e,i)=>{let n=this;return{as:t=>("function"==typeof t&&(t=t(n)),new Proxy(new id(t.getSQL(),i??("getSelectedFields"in t?t.getSelectedFields()??{}:{}),e,!0),new nm({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"})))}};with(...e){let i=this;return{select:function(n){return new nb({fields:n??void 0,session:void 0,dialect:i.getDialect(),withList:e})},selectDistinct:function(e){return new nb({fields:e??void 0,session:void 0,dialect:i.getDialect(),distinct:!0})},selectDistinctOn:function(e,n){return new nb({fields:n??void 0,session:void 0,dialect:i.getDialect(),distinct:{on:e}})}}}select(e){return new nb({fields:e??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct(e){return new nb({fields:e??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}selectDistinctOn(e,i){return new nb({fields:i??void 0,session:void 0,dialect:this.getDialect(),distinct:{on:e}})}getDialect(){return this.dialect||(this.dialect=new nf(this.dialectConfig)),this.dialect}}class nv{constructor(e,i,n,t){this.table=e,this.session=i,this.dialect=n,this.withList=t}static [eW]="PgUpdateBuilder";authToken;setToken(e){return this.authToken=e,this}set(e){return new nA(this.table,mapUpdateSet(this.table,e),this.session,this.dialect,this.withList).setToken(this.authToken)}}class nA extends nS{constructor(e,i,n,t,a){super(),this.session=n,this.dialect=t,this.config={set:i,table:e,withList:a,joins:[]},this.tableName=getTableLikeName(e),this.joinsNotNullableMap="string"==typeof this.tableName?{[this.tableName]:!0}:{}}static [eW]="PgUpdate";config;tableName;joinsNotNullableMap;cacheConfig;from(e){let i=getTableLikeName(e);return"string"==typeof i&&(this.joinsNotNullableMap[i]=!0),this.config.from=e,this}getTableLikeFields(e){return entity_is(e,nu)?e[iE.Symbol.Columns]:entity_is(e,ic)?e._.selectedFields:e[im].selectedFields}createJoin(e){return(i,n)=>{let t=getTableLikeName(i);if("string"==typeof t&&this.config.joins.some(e=>e.alias===t))throw Error(`Alias "${t}" is already used in this query`);if("function"==typeof n){let e=this.config.from&&!entity_is(this.config.from,iD)?this.getTableLikeFields(this.config.from):void 0;n=n(new Proxy(this.config.table[iE.Symbol.Columns],new nm({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})),e&&new Proxy(e,new nm({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))}if(this.config.joins.push({on:n,table:i,joinType:e,alias:t}),"string"==typeof t)switch(e){case"left":this.joinsNotNullableMap[t]=!1;break;case"right":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[t]=!0;break;case"inner":this.joinsNotNullableMap[t]=!0;break;case"full":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[t]=!1}return this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");where(e){return this.config.where=e,this}returning(e){if(!e&&(e=Object.assign({},this.config.table[iE.Symbol.Columns]),this.config.from)){let i=getTableLikeName(this.config.from);if("string"==typeof i&&this.config.from&&!entity_is(this.config.from,iD)){let n=this.getTableLikeFields(this.config.from);e[i]=n}for(let i of this.config.joins){let n=getTableLikeName(i.table);if("string"==typeof n&&!entity_is(i.table,iD)){let t=this.getTableLikeFields(i.table);e[n]=t}}}return this.config.returningFields=e,this.config.returning=orderSelectedFields(e),this}getSQL(){return this.dialect.buildUpdateQuery(this.config)}toSQL(){let{typings:e,...i}=this.dialect.sqlToQuery(this.getSQL());return i}_prepare(e){let i=this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,e,!0,void 0,{type:"insert",tables:extractUsedTable(this.config.table)},this.cacheConfig);return i.joinsNotNullableMap=this.joinsNotNullableMap,i}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>this._prepare().execute(e,this.authToken);getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new nm({alias:this.config.table[e2],sqlAliasedBehavior:"alias",sqlBehavior:"error"})):void 0}$dynamic(){return this}}class nN{constructor(e,i,n,t,a){this.table=e,this.session=i,this.dialect=n,this.withList=t,this.overridingSystemValue_=a}static [eW]="PgInsertBuilder";authToken;setToken(e){return this.authToken=e,this}overridingSystemValue(){return this.overridingSystemValue_=!0,this}values(e){if(0===(e=Array.isArray(e)?e:[e]).length)throw Error("values() must be called with at least one value");let i=e.map(e=>{let i={},n=this.table[iE.Symbol.Columns];for(let t of Object.keys(e)){let a=e[t];i[t]=entity_is(a,iD)?a:new iP(a,n[t])}return i});return new nP(this.table,i,this.session,this.dialect,this.withList,!1,this.overridingSystemValue_).setToken(this.authToken)}select(e){let i="function"==typeof e?e(new nD):e;if(!entity_is(i,iD)&&!haveSameKeys(this.table[iS],i._.selectedFields))throw Error("Insert select error: selected fields are not the same or are in a different order compared to the table definition");return new nP(this.table,i,this.session,this.dialect,this.withList,!0)}}class nP extends nS{constructor(e,i,n,t,a,r,o){super(),this.session=n,this.dialect=t,this.config={table:e,values:i,withList:a,select:r,overridingSystemValue_:o}}static [eW]="PgInsert";config;cacheConfig;returning(e=this.config.table[iE.Symbol.Columns]){return this.config.returningFields=e,this.config.returning=orderSelectedFields(e),this}onConflictDoNothing(e={}){if(void 0===e.target)this.config.onConflict=sql_sql`do nothing`;else{let i="";i=Array.isArray(e.target)?e.target.map(e=>this.dialect.escapeName(this.dialect.casing.getColumnCasing(e))).join(","):this.dialect.escapeName(this.dialect.casing.getColumnCasing(e.target));let n=e.where?sql_sql` where ${e.where}`:void 0;this.config.onConflict=sql_sql`(${sql_sql.raw(i)})${n} do nothing`}return this}onConflictDoUpdate(e){if(e.where&&(e.targetWhere||e.setWhere))throw Error('You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.');let i=e.where?sql_sql` where ${e.where}`:void 0,n=e.targetWhere?sql_sql` where ${e.targetWhere}`:void 0,t=e.setWhere?sql_sql` where ${e.setWhere}`:void 0,a=this.dialect.buildUpdateSet(this.config.table,mapUpdateSet(this.config.table,e.set)),r="";return r=Array.isArray(e.target)?e.target.map(e=>this.dialect.escapeName(this.dialect.casing.getColumnCasing(e))).join(","):this.dialect.escapeName(this.dialect.casing.getColumnCasing(e.target)),this.config.onConflict=sql_sql`(${sql_sql.raw(r)})${n} do update set ${a}${i}${t}`,this}getSQL(){return this.dialect.buildInsertQuery(this.config)}toSQL(){let{typings:e,...i}=this.dialect.sqlToQuery(this.getSQL());return i}_prepare(e){return ip("drizzle.prepareQuery",()=>this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,e,!0,void 0,{type:"insert",tables:extractUsedTable(this.config.table)},this.cacheConfig))}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>ip("drizzle.operation",()=>this._prepare().execute(e,this.authToken));getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new nm({alias:this.config.table[e2],sqlAliasedBehavior:"alias",sqlBehavior:"error"})):void 0}$dynamic(){return this}}class nZ extends nS{constructor(e,i,n,t){super(),this.session=i,this.dialect=n,this.config={table:e,withList:t}}static [eW]="PgDelete";config;cacheConfig;where(e){return this.config.where=e,this}returning(e=this.config.table[iE.Symbol.Columns]){return this.config.returningFields=e,this.config.returning=orderSelectedFields(e),this}getSQL(){return this.dialect.buildDeleteQuery(this.config)}toSQL(){let{typings:e,...i}=this.dialect.sqlToQuery(this.getSQL());return i}_prepare(e){return ip("drizzle.prepareQuery",()=>this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,e,!0,void 0,{type:"delete",tables:extractUsedTable(this.config.table)},this.cacheConfig))}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>ip("drizzle.operation",()=>this._prepare().execute(e,this.authToken));getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new nm({alias:this.config.table[e2],sqlAliasedBehavior:"alias",sqlBehavior:"error"})):void 0}$dynamic(){return this}}class nR extends iD{constructor(e){super(nR.buildEmbeddedCount(e.source,e.filters).queryChunks),this.params=e,this.mapWith(Number),this.session=e.session,this.sql=nR.buildCount(e.source,e.filters)}sql;token;static [eW]="PgCountBuilder";[Symbol.toStringTag]="PgCountBuilder";session;static buildEmbeddedCount(e,i){return sql_sql`(select count(*) from ${e}${sql_sql.raw(" where ").if(i)}${i})`}static buildCount(e,i){return sql_sql`select count(*) as count from ${e}${sql_sql.raw(" where ").if(i)}${i};`}setToken(e){return this.token=e,this}then(e,i){return Promise.resolve(this.session.count(this.sql,this.token)).then(e,i)}catch(e){return this.then(void 0,e)}finally(e){return this.then(i=>(e?.(),i),i=>{throw e?.(),i})}}class nM{constructor(e,i,n,t,a,r,o){this.fullSchema=e,this.schema=i,this.tableNamesMap=n,this.table=t,this.tableConfig=a,this.dialect=r,this.session=o}static [eW]="PgRelationalQueryBuilder";findMany(e){return new nJ(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e||{},"many")}findFirst(e){return new nJ(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?{...e,limit:1}:{limit:1},"first")}}class nJ extends nS{constructor(e,i,n,t,a,r,o,u,s){super(),this.fullSchema=e,this.schema=i,this.tableNamesMap=n,this.table=t,this.tableConfig=a,this.dialect=r,this.session=o,this.config=u,this.mode=s}static [eW]="PgRelationalQuery";_prepare(e){return ip("drizzle.prepareQuery",()=>{let{query:i,builtQuery:n}=this._toSQL();return this.session.prepareQuery(n,void 0,e,!0,(e,n)=>{let t=e.map(e=>mapRelationalRow(this.schema,this.tableConfig,e,i.selection,n));return"first"===this.mode?t[0]:t})})}prepare(e){return this._prepare(e)}_getQuery(){return this.dialect.buildRelationalQueryWithoutPK({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName})}getSQL(){return this._getQuery().sql}_toSQL(){let e=this._getQuery(),i=this.dialect.sqlToQuery(e.sql);return{query:e,builtQuery:i}}toSQL(){return this._toSQL().builtQuery}authToken;setToken(e){return this.authToken=e,this}execute(){return ip("drizzle.operation",()=>this._prepare().execute(void 0,this.authToken))}}class nk extends nS{constructor(e,i,n,t){super(),this.execute=e,this.sql=i,this.query=n,this.mapBatchResult=t}static [eW]="PgRaw";getSQL(){return this.sql}getQuery(){return this.query}mapResult(e,i){return i?this.mapBatchResult(e):e}_prepare(){return this}isResponseInArrayMode(){return!1}}class nB extends nS{constructor(e,i,n){super(),this.session=i,this.dialect=n,this.config={view:e}}static [eW]="PgRefreshMaterializedView";config;concurrently(){if(void 0!==this.config.withNoData)throw Error("Cannot use concurrently and withNoData together");return this.config.concurrently=!0,this}withNoData(){if(void 0!==this.config.concurrently)throw Error("Cannot use concurrently and withNoData together");return this.config.withNoData=!0,this}getSQL(){return this.dialect.buildRefreshMaterializedViewQuery(this.config)}toSQL(){let{typings:e,...i}=this.dialect.sqlToQuery(this.getSQL());return i}_prepare(e){return ip("drizzle.prepareQuery",()=>this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),void 0,e,!0))}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>ip("drizzle.operation",()=>this._prepare().execute(e,this.authToken))}class nH{constructor(e,i,n){if(this.dialect=e,this.session=i,this._=n?{schema:n.schema,fullSchema:n.fullSchema,tableNamesMap:n.tableNamesMap,session:i}:{schema:void 0,fullSchema:{},tableNamesMap:{},session:i},this.query={},this._.schema)for(let[t,a]of Object.entries(this._.schema))this.query[t]=new nM(n.fullSchema,this._.schema,this._.tableNamesMap,n.fullSchema[t],a,e,i);this.$cache={invalidate:async e=>{}}}static [eW]="PgDatabase";query;$with=(e,i)=>{let n=this;return{as:t=>("function"==typeof t&&(t=t(new nD(n.dialect))),new Proxy(new id(t.getSQL(),i??("getSelectedFields"in t?t.getSelectedFields()??{}:{}),e,!0),new nm({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"})))}};$count(e,i){return new nR({source:e,filters:i,session:this.session})}$cache;with(...e){let i=this;return{select:function(n){return new nb({fields:n??void 0,session:i.session,dialect:i.dialect,withList:e})},selectDistinct:function(n){return new nb({fields:n??void 0,session:i.session,dialect:i.dialect,withList:e,distinct:!0})},selectDistinctOn:function(n,t){return new nb({fields:t??void 0,session:i.session,dialect:i.dialect,withList:e,distinct:{on:n}})},update:function(n){return new nv(n,i.session,i.dialect,e)},insert:function(n){return new nN(n,i.session,i.dialect,e)},delete:function(n){return new nZ(n,i.session,i.dialect,e)}}}select(e){return new nb({fields:e??void 0,session:this.session,dialect:this.dialect})}selectDistinct(e){return new nb({fields:e??void 0,session:this.session,dialect:this.dialect,distinct:!0})}selectDistinctOn(e,i){return new nb({fields:i??void 0,session:this.session,dialect:this.dialect,distinct:{on:e}})}update(e){return new nv(e,this.session,this.dialect)}insert(e){return new nN(e,this.session,this.dialect)}delete(e){return new nZ(e,this.session,this.dialect)}refreshMaterializedView(e){return new nB(e,this.session,this.dialect)}authToken;execute(e){let i="string"==typeof e?sql_sql.raw(e):e.getSQL(),n=this.dialect.sqlToQuery(i),t=this.session.prepareQuery(n,void 0,void 0,!1);return new nk(()=>t.execute(void 0,this.authToken),i,n,e=>t.mapResult(e,!0))}transaction(e,i){return this.session.transaction(e,i)}}class nF{static [eW]="Cache"}class nX extends nF{strategy(){return"all"}static [eW]="NoopCache";async get(e){}async put(e,i,n,t){}async onMutate(e){}}async function hashQuery(e,i){let n=`${e}-${JSON.stringify(i)}`,t=new TextEncoder().encode(n);return[...new Uint8Array(await crypto.subtle.digest("SHA-256",t))].map(e=>e.toString(16).padStart(2,"0")).join("")}class nI{constructor(e,i,n,t){this.query=e,this.cache=i,this.queryMetadata=n,this.cacheConfig=t,i&&"all"===i.strategy()&&void 0===t&&(this.cacheConfig={enable:!0,autoInvalidate:!0}),this.cacheConfig?.enable||(this.cacheConfig=void 0)}authToken;getQuery(){return this.query}mapResult(e,i){return e}setToken(e){return this.authToken=e,this}static [eW]="PgPreparedQuery";joinsNotNullableMap;async queryWithCache(e,i,n){if(void 0===this.cache||entity_is(this.cache,nX)||void 0===this.queryMetadata||this.cacheConfig&&!this.cacheConfig.enable)try{return await n()}catch(n){throw new iO(e,i,n)}if(("insert"===this.queryMetadata.type||"update"===this.queryMetadata.type||"delete"===this.queryMetadata.type)&&this.queryMetadata.tables.length>0)try{let[e]=await Promise.all([n(),this.cache.onMutate({tables:this.queryMetadata.tables})]);return e}catch(n){throw new iO(e,i,n)}if(!this.cacheConfig)try{return await n()}catch(n){throw new iO(e,i,n)}if("select"===this.queryMetadata.type){let t=await this.cache.get(this.cacheConfig.tag??await hashQuery(e,i),this.queryMetadata.tables,void 0!==this.cacheConfig.tag,this.cacheConfig.autoInvalidate);if(void 0===t){let t;try{t=await n()}catch(n){throw new iO(e,i,n)}return await this.cache.put(this.cacheConfig.tag??await hashQuery(e,i),t,this.cacheConfig.autoInvalidate?this.queryMetadata.tables:[],void 0!==this.cacheConfig.tag,this.cacheConfig.config),t}return t}try{return await n()}catch(n){throw new iO(e,i,n)}}}class nO{constructor(e){this.dialect=e}static [eW]="PgSession";execute(e,i){return ip("drizzle.operation",()=>ip("drizzle.prepareQuery",()=>this.prepareQuery(this.dialect.sqlToQuery(e),void 0,void 0,!1)).setToken(i).execute(void 0,i))}all(e){return this.prepareQuery(this.dialect.sqlToQuery(e),void 0,void 0,!1).all()}async count(e,i){return Number((await this.execute(e,i))[0].count)}}class nQ extends nH{constructor(e,i,n,t=0){super(e,i,n),this.schema=n,this.nestedIndex=t}static [eW]="PgTransaction";rollback(){throw new iQ}getTransactionConfigSQL(e){let i=[];return e.isolationLevel&&i.push(`isolation level ${e.isolationLevel}`),e.accessMode&&i.push(e.accessMode),"boolean"==typeof e.deferrable&&i.push(e.deferrable?"deferrable":"not deferrable"),sql_sql.raw(i.join(" "))}setTransaction(e){return this.session.execute(sql_sql`set transaction ${this.getTransactionConfigSQL(e)}`)}}let{Pool:nU,types:nG}=Z;class nq extends nI{constructor(e,i,n,t,a,r,o,u,s,l,h){super({sql:i,params:n},a,r,o),this.client=e,this.queryString=i,this.params=n,this.logger=t,this.fields=u,this._isResponseInArrayMode=l,this.customResultMapper=h,this.rawQueryConfig={name:s,text:i,types:{getTypeParser:(e,i)=>e===nG.builtins.TIMESTAMPTZ||e===nG.builtins.TIMESTAMP||e===nG.builtins.DATE||e===nG.builtins.INTERVAL||1231===e||1115===e||1185===e||1187===e||1182===e?e=>e:nG.getTypeParser(e,i)}},this.queryConfig={name:s,text:i,rowMode:"array",types:{getTypeParser:(e,i)=>e===nG.builtins.TIMESTAMPTZ||e===nG.builtins.TIMESTAMP||e===nG.builtins.DATE||e===nG.builtins.INTERVAL||1231===e||1115===e||1185===e||1187===e||1182===e?e=>e:nG.getTypeParser(e,i)}}}static [eW]="NodePgPreparedQuery";rawQueryConfig;queryConfig;async execute(e={}){return ip("drizzle.execute",async()=>{let i=fillPlaceholders(this.params,e);this.logger.logQuery(this.rawQueryConfig.text,i);let{fields:n,rawQueryConfig:t,client:a,queryConfig:r,joinsNotNullableMap:o,customResultMapper:u}=this;if(!n&&!u)return ip("drizzle.driver.execute",async e=>(e?.setAttributes({"drizzle.query.name":t.name,"drizzle.query.text":t.text,"drizzle.query.params":JSON.stringify(i)}),this.queryWithCache(t.text,i,async()=>await a.query(t,i))));let s=await ip("drizzle.driver.execute",e=>(e?.setAttributes({"drizzle.query.name":r.name,"drizzle.query.text":r.text,"drizzle.query.params":JSON.stringify(i)}),this.queryWithCache(r.text,i,async()=>await a.query(r,i))));return ip("drizzle.mapResponse",()=>u?u(s.rows):s.rows.map(e=>mapResultRow(n,e,o)))})}all(e={}){return ip("drizzle.execute",()=>{let i=fillPlaceholders(this.params,e);return this.logger.logQuery(this.rawQueryConfig.text,i),ip("drizzle.driver.execute",e=>(e?.setAttributes({"drizzle.query.name":this.rawQueryConfig.name,"drizzle.query.text":this.rawQueryConfig.text,"drizzle.query.params":JSON.stringify(i)}),this.queryWithCache(this.rawQueryConfig.text,i,async()=>this.client.query(this.rawQueryConfig,i)).then(e=>e.rows)))})}isResponseInArrayMode(){return this._isResponseInArrayMode}}class n$ extends nO{constructor(e,i,n,t={}){super(i),this.client=e,this.schema=n,this.options=t,this.logger=t.logger??new e0,this.cache=t.cache??new nX}static [eW]="NodePgSession";logger;cache;prepareQuery(e,i,n,t,a,r,o){return new nq(this.client,e.sql,e.params,this.logger,this.cache,r,o,i,n,t,a)}async transaction(e,i){let n=this.client instanceof nU||Object.getPrototypeOf(this.client).constructor.name.includes("Pool"),t=n?new n$(await this.client.connect(),this.dialect,this.schema,this.options):this,a=new nK(this.dialect,t,this.schema);await a.execute(sql_sql`begin${i?sql_sql` ${a.getTransactionConfigSQL(i)}`:void 0}`);try{let i=await e(a);return await a.execute(sql_sql`commit`),i}catch(e){throw await a.execute(sql_sql`rollback`),e}finally{n&&t.client.release()}}async count(e){return Number((await this.execute(e)).rows[0].count)}}class nK extends nQ{static [eW]="NodePgTransaction";async transaction(e){let i=`sp${this.nestedIndex+1}`,n=new nK(this.dialect,this.session,this.schema,this.nestedIndex+1);await n.execute(sql_sql.raw(`savepoint ${i}`));try{let t=await e(n);return await n.execute(sql_sql.raw(`release savepoint ${i}`)),t}catch(e){throw await n.execute(sql_sql.raw(`rollback to savepoint ${i}`)),e}}}class nz{constructor(e,i,n={}){this.client=e,this.dialect=i,this.options=n}static [eW]="NodePgDriver";createSession(e){return new n$(this.client,this.dialect,e,{logger:this.options.logger,cache:this.options.cache})}}class nW extends nH{static [eW]="NodePgDatabase"}function construct(e,i={}){let n,t,a=new nf({casing:i.casing});if(!0===i.logger?n=new eV:!1!==i.logger&&(n=i.logger),i.schema){let e=extractTablesRelationalConfig(i.schema,createTableRelationsHelpers);t={fullSchema:i.schema,schema:e.tables,tableNamesMap:e.tableNamesMap}}let r=new nz(e,a,{logger:n,cache:i.cache}).createSession(t),o=new nW(a,r,t);return o.$client=e,o.$cache=i.cache,o.$cache&&(o.$cache.invalidate=i.cache?.onMutate),o}function drizzle(...e){if("string"==typeof e[0])return construct(new Z.Pool({connectionString:e[0]}),e[1]);if(isConfig(e[0])){let{connection:i,client:n,...t}=e[0];return n?construct(n,t):construct(new Z.Pool("string"==typeof i?{connectionString:i}:i),t)}return construct(e[0],e[1])}(drizzle||(drizzle={})).mock=function(e){return construct({},e)};class nj{static MAX_CONNECTIONS=100;static IDLE_TIMEOUT_MILLIS=3e4;static CONNECTION_TIMEOUT_MILLIS=3e4;static MAX_RETRY_TIME=2e4;static DEFAULT_SCHEMA_PATH="src/storage/database/shared/schema.ts"}let nV=!1;function loadEnv(){if(!nV&&!process.env.PGDATABASE_URL)try{try{if(E("./node_modules/dotenv/lib/main.js").config(),process.env.PGDATABASE_URL){nV=!0;return}}catch{}let e=`
|
|
9
9
|
import os
|
|
10
10
|
import sys
|
|
11
11
|
try:
|
|
@@ -17,7 +17,7 @@ try:
|
|
|
17
17
|
print(f"{env_var.key}={env_var.value}")
|
|
18
18
|
except Exception as e:
|
|
19
19
|
print(f"# Error: {e}", file=sys.stderr)
|
|
20
|
-
`;for(let i of M(`python3 -c '${e.replace(/'/g,"'\"'\"'")}'`,{encoding:"utf-8",timeout:1e4,stdio:["pipe","pipe","pipe"]}).trim().split("\n")){if(i.startsWith("#"))continue;let e=i.indexOf("=");if(e>0){let n=i.substring(0,e),t=i.substring(e+1);(t.startsWith("'")&&t.endsWith("'")||t.startsWith('"')&&t.endsWith('"'))&&(t=t.slice(1,-1)),process.env[n]||(process.env[n]=t)}}
|
|
20
|
+
`;for(let i of M(`python3 -c '${e.replace(/'/g,"'\"'\"'")}'`,{encoding:"utf-8",timeout:1e4,stdio:["pipe","pipe","pipe"]}).trim().split("\n")){if(i.startsWith("#"))continue;let e=i.indexOf("=");if(e>0){let n=i.substring(0,e),t=i.substring(e+1);(t.startsWith("'")&&t.endsWith("'")||t.startsWith('"')&&t.endsWith('"'))&&(t=t.slice(1,-1)),process.env[n]||(process.env[n]=t)}}nV=!0}catch{}}function getDbUrl(){loadEnv();let e=process.env.PGDATABASE_URL||"";if(!e)throw Error("Database URL not configured. Set PGDATABASE_URL environment variable.\nDid you create a database? You can create one via the Coze Coding platform.");return e.startsWith("postgres://")&&(e="postgresql://"+e.substring(11)),e}let n0=null,n1=null;async function createPoolWithRetry(e){let i=getDbUrl(),n=new Z.Pool({connectionString:i,max:e?.maxConnections??nj.MAX_CONNECTIONS,idleTimeoutMillis:e?.idleTimeoutMillis??nj.IDLE_TIMEOUT_MILLIS,connectionTimeoutMillis:e?.connectionTimeoutMillis??nj.CONNECTION_TIMEOUT_MILLIS}),t=Date.now(),a=null;for(;Date.now()-t<nj.MAX_RETRY_TIME;)try{let e=await n.connect();return await e.query("SELECT 1"),e.release(),n}catch(i){a=i;let e=((Date.now()-t)/1e3).toFixed(1);console.warn(`Database connection failed, retrying... (elapsed: ${e}s)`),await new Promise(e=>setTimeout(e,Math.min(1e3,nj.MAX_RETRY_TIME-(Date.now()-t))))}throw console.error(`Database connection failed after ${nj.MAX_RETRY_TIME/1e3}s: ${a?.message}`),a}async function getPool(e){return loadEnv(),n0||(n0=await createPoolWithRetry(e)),n0}async function getDb(e){if(!n1){let i=await getPool();n1=e?drizzle(i,{schema:e}):drizzle(i)}return n1}async function getClient(){return(await getPool()).connect()}async function closePool(){n0&&(await n0.end(),n0=null,n1=null)}let n3=E("fs"),n2=E("path"),n4=E("os"),n8="/usr/lib/node_modules";function fixGeneratedIdentity(e){if(!n3.existsSync(e))return;let i=n3.readFileSync(e,"utf-8"),n=i.replace(/\.generatedByDefaultAsIdentity\(\{[^}]*\}\)/g,".generatedByDefaultAsIdentity()");n!==i&&n3.writeFileSync(e,n)}async function generateModels(e={}){let{outputPath:i=nj.DEFAULT_SCHEMA_PATH,verbose:n=!1}=e;loadEnv();let t=getDbUrl(),a=n2.dirname(i);a&&!n3.existsSync(a)&&n3.mkdirSync(a,{recursive:!0});let r=n3.mkdtempSync(n2.join(n4.tmpdir(),"drizzle-")),o=n2.dirname(a),u=n2.join(o,"drizzle.config.ts"),s=`
|
|
21
21
|
import { defineConfig } from 'drizzle-kit';
|
|
22
22
|
|
|
23
23
|
export default defineConfig({
|
|
@@ -27,9 +27,9 @@ export default defineConfig({
|
|
|
27
27
|
url: '${t}',
|
|
28
28
|
},
|
|
29
29
|
});
|
|
30
|
-
`;try{let e;
|
|
30
|
+
`;try{let e;n3.writeFileSync(u,s),n&&console.log("Introspecting database schema...");let t=`npx drizzle-kit introspect --config=${u}`;n&&console.log(`Running: ${t}`);try{e=M(t,{encoding:"utf-8",stdio:"pipe",timeout:6e4,env:{...process.env,NODE_PATH:n8}})}catch(n){let e=n.stderr?.toString()||"",i=n.stdout?.toString()||"";throw Error(`drizzle-kit introspect failed:
|
|
31
31
|
${e||i||n.message}`)}if(e&&(e.includes("error:")||e.includes("Error:")))throw Error(`drizzle-kit introspect failed:
|
|
32
|
-
${e}`);n&&e&&console.log(e);let o=
|
|
32
|
+
${e}`);n&&e&&console.log(e);let o=n2.join(r,"schema.ts"),l=n2.join(r,"relations.ts");if(n3.existsSync(o)&&(fixGeneratedIdentity(o),n3.copyFileSync(o,i),n&&console.log(`✓ Copied schema.ts to ${a}/`)),n3.existsSync(l)){let e=n2.join(a,"relations.ts");n3.copyFileSync(l,e),n&&console.log(`✓ Copied relations.ts to ${a}/`)}try{M("git add -A",{encoding:"utf-8",stdio:"pipe",cwd:process.cwd()})}catch{}n&&console.log("✓ Schema generated successfully")}finally{n3.existsSync(u)&&n3.unlinkSync(u),n3.existsSync(r)&&n3.rmSync(r,{recursive:!0})}}async function upgrade(e={}){let{schemaPath:i=nj.DEFAULT_SCHEMA_PATH,projectPath:n=process.cwd(),verbose:t=!1}=e;loadEnv();let a=getDbUrl(),r=n2.isAbsolute(i)?i:n2.join(n,i);if(!n3.existsSync(r))throw Error(`Schema file not found: ${r}`);let o=n2.dirname(r),u=n2.dirname(o),s=n2.join(u,"drizzle.config.ts"),l=`
|
|
33
33
|
import { defineConfig } from 'drizzle-kit';
|
|
34
34
|
|
|
35
35
|
export default defineConfig({
|
|
@@ -39,24 +39,24 @@ export default defineConfig({
|
|
|
39
39
|
url: '${a}',
|
|
40
40
|
},
|
|
41
41
|
});
|
|
42
|
-
`;try{let e;
|
|
42
|
+
`;try{let e;n3.writeFileSync(s,l),t&&console.log("Pushing schema changes to database...");let i=`npx drizzle-kit push --force --config=${s}`;t&&console.log(`Running: ${i}`);try{e=M(i,{encoding:"utf-8",stdio:"pipe",timeout:12e4,cwd:n,env:{...process.env,NODE_PATH:n8}})}catch(n){let e=n.stderr?.toString()||"",i=n.stdout?.toString()||"";throw Error(`drizzle-kit push failed:
|
|
43
43
|
${e||i||n.message}`)}if(e&&(e.includes("error:")||e.includes("Error:")))throw Error(`drizzle-kit push failed:
|
|
44
|
-
${e}`);t&&e&&console.log(e),t&&console.log("✅ Database migration completed successfully")}finally{n0.existsSync(s)&&n0.unlinkSync(s)}}class n4{method;protocol;hostname;port;path;query;headers;username;password;fragment;body;constructor(e){this.method=e.method||"GET",this.hostname=e.hostname||"localhost",this.port=e.port,this.query=e.query||{},this.headers=e.headers||{},this.body=e.body,this.protocol=e.protocol?":"!==e.protocol.slice(-1)?`${e.protocol}:`:e.protocol:"https:",this.path=e.path?"/"!==e.path.charAt(0)?`/${e.path}`:e.path:"/",this.username=e.username,this.password=e.password,this.fragment=e.fragment}static clone(e){let i=new n4({...e,headers:{...e.headers}});return i.query&&(i.query=cloneQuery(i.query)),i}static isInstance(e){return!!e&&"method"in e&&"protocol"in e&&"hostname"in e&&"path"in e&&"object"==typeof e.query&&"object"==typeof e.headers}clone(){return n4.clone(this)}}function cloneQuery(e){return Object.keys(e).reduce((i,n)=>{let t=e[n];return{...i,[n]:Array.isArray(t)?[...t]:t}},{})}function addExpectContinueMiddleware(e){return i=>async n=>{let{request:t}=n;if(!1!==e.expectContinueHeader&&n4.isInstance(t)&&t.body&&"node"===e.runtime&&e.requestHandler?.constructor?.name!=="FetchHttpHandler"){let i=!0;if("number"==typeof e.expectContinueHeader)try{i=(Number(t.headers?.["content-length"])??e.bodyLengthChecker?.(t.body)??1/0)>=e.expectContinueHeader}catch(e){}else i=!!e.expectContinueHeader;i&&(t.headers.Expect="100-continue")}return i({...n,request:t})}}let n8={step:"build",tags:["SET_EXPECT_HEADER","EXPECT_HEADER"],name:"addExpectContinueMiddleware",override:!0},normalizeProvider=e=>{if("function"==typeof e)return e;let i=Promise.resolve(e);return()=>i},n6={WHEN_SUPPORTED:"WHEN_SUPPORTED",WHEN_REQUIRED:"WHEN_REQUIRED"},n5=n6.WHEN_SUPPORTED,n7={WHEN_SUPPORTED:"WHEN_SUPPORTED",WHEN_REQUIRED:"WHEN_REQUIRED"},n9=n6.WHEN_SUPPORTED;(Q=ea||(ea={})).MD5="MD5",Q.CRC32="CRC32",Q.CRC32C="CRC32C",Q.CRC64NVME="CRC64NVME",Q.SHA1="SHA1",Q.SHA256="SHA256",(U=er||(er={})).HEADER="header",U.TRAILER="trailer";let te=ea.CRC32;function resolveHostHeaderConfig(e){return e}let ti={name:"hostHeaderMiddleware",step:"build",priority:"low",tags:["HOST"],override:!0},getHostHeaderPlugin=e=>({applyToStack:i=>{i.add(i=>async n=>{if(!n4.isInstance(n.request))return i(n);let{request:t}=n,{handlerProtocol:a=""}=e.requestHandler.metadata||{};if(a.indexOf("h2")>=0&&!t.headers[":authority"])delete t.headers.host,t.headers[":authority"]=t.hostname+(t.port?":"+t.port:"");else if(!t.headers.host){let e=t.hostname;null!=t.port&&(e+=`:${t.port}`),t.headers.host=e}return i(n)},ti)}}),tn={name:"loggerMiddleware",tags:["LOGGER"],step:"initialize",override:!0},getLoggerPlugin=e=>({applyToStack:e=>{e.add((e,i)=>async n=>{try{let t=await e(n),{clientName:a,commandName:r,logger:o,dynamoDbDocumentClientOptions:u={}}=i,{overrideInputFilterSensitiveLog:s,overrideOutputFilterSensitiveLog:l}=u,h=s??i.inputFilterSensitiveLog,g=l??i.outputFilterSensitiveLog,{$metadata:c,...d}=t.output;return o?.info?.({clientName:a,commandName:r,input:h(n.input),output:g(d),metadata:c}),t}catch(s){let{clientName:e,commandName:t,logger:a,dynamoDbDocumentClientOptions:r={}}=i,{overrideInputFilterSensitiveLog:o}=r,u=o??i.inputFilterSensitiveLog;throw a?.error?.({clientName:e,commandName:t,input:u(n.input),error:s,metadata:s.$metadata}),s}},tn)}}),tt={step:"build",tags:["RECURSION_DETECTION"],name:"recursionDetectionMiddleware",override:!0,priority:"low"},ta={REQUEST_ID:Symbol.for("_AWS_LAMBDA_REQUEST_ID"),X_RAY_TRACE_ID:Symbol.for("_AWS_LAMBDA_X_RAY_TRACE_ID"),TENANT_ID:Symbol.for("_AWS_LAMBDA_TENANT_ID")},tr=["true","1"].includes(process.env?.AWS_LAMBDA_NODEJS_NO_GLOBAL_AWSLAMBDA??"");tr||(globalThis.awslambda=globalThis.awslambda||{});class to{static PROTECTED_KEYS=ta;isProtectedKey(e){return Object.values(ta).includes(e)}getRequestId(){return this.get(ta.REQUEST_ID)??"-"}getXRayTraceId(){return this.get(ta.X_RAY_TRACE_ID)}getTenantId(){return this.get(ta.TENANT_ID)}}class tu extends to{currentContext;getContext(){return this.currentContext}hasContext(){return void 0!==this.currentContext}get(e){return this.currentContext?.[e]}set(e,i){if(this.isProtectedKey(e))throw Error(`Cannot modify protected Lambda context field: ${String(e)}`);this.currentContext=this.currentContext||{},this.currentContext[e]=i}run(e,i){return this.currentContext=e,i()}}class ts extends to{als;static async create(){let e=new ts;return e.als=new(await import("node:async_hooks")).AsyncLocalStorage,e}getContext(){return this.als.getStore()}hasContext(){return void 0!==this.als.getStore()}get(e){return this.als.getStore()?.[e]}set(e,i){if(this.isProtectedKey(e))throw Error(`Cannot modify protected Lambda context field: ${String(e)}`);let n=this.als.getStore();if(!n)throw Error("No context available");n[e]=i}run(e,i){return this.als.run(e,i)}}G=eo||(eo={}),c=null,G.getInstanceAsync=async function(){return c||(c=(async()=>{let e="AWS_LAMBDA_MAX_CONCURRENCY"in process.env?await ts.create():new tu;return!tr&&globalThis.awslambda?.InvokeStore?globalThis.awslambda.InvokeStore:(!tr&&globalThis.awslambda&&(globalThis.awslambda.InvokeStore=e),e)})()),c},G._testing="1"===process.env.AWS_LAMBDA_BENCHMARK_MODE?{reset:()=>{c=null,globalThis.awslambda?.InvokeStore&&delete globalThis.awslambda.InvokeStore,globalThis.awslambda={}}}:void 0;let tl="X-Amzn-Trace-Id",getRecursionDetectionPlugin=e=>({applyToStack:e=>{e.add(e=>async i=>{let{request:n}=i;if(!n4.isInstance(n))return e(i);let t=Object.keys(n.headers??{}).find(e=>e.toLowerCase()===tl.toLowerCase())??tl;if(n.headers.hasOwnProperty(t))return e(i);let a=process.env.AWS_LAMBDA_FUNCTION_NAME,r=process.env._X_AMZN_TRACE_ID,o=await eo.getInstanceAsync(),u=o?.getXRayTraceId()??r,nonEmptyString=e=>"string"==typeof e&&e.length>0;return nonEmptyString(a)&&nonEmptyString(u)&&(n.headers[tl]=u),e({...i,request:n})},tt)}});class th{data;lastPurgeTime=Date.now();static EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS=3e4;constructor(e={}){this.data=e}get(e){let i=this.data[e];if(i)return i}set(e,i){return this.data[e]=i,i}delete(e){delete this.data[e]}async purgeExpired(){let e=Date.now();if(!(this.lastPurgeTime+th.EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS>e))for(let i in this.data){let n=this.data[i];if(!n.isRefreshing){let t=await n.identity;t.expiration&&t.expiration.getTime()<e&&delete this.data[i]}}}}class tg{_identity;isRefreshing;accessed;constructor(e,i=!1,n=Date.now()){this._identity=e,this.isRefreshing=i,this.accessed=n}get identity(){return this.accessed=Date.now(),this._identity}}class tc{createSessionFn;cache;static REFRESH_WINDOW_MS=6e4;constructor(e,i=new th){this.createSessionFn=e,this.cache=i}async getS3ExpressIdentity(e,i){let n=i.Bucket,{cache:t}=this,a=t.get(n);return a?a.identity.then(e=>(e.expiration?.getTime()??0)<Date.now()?t.set(n,new tg(this.getIdentity(n))).identity:((e.expiration?.getTime()??0)<Date.now()+tc.REFRESH_WINDOW_MS&&!a.isRefreshing&&(a.isRefreshing=!0,this.getIdentity(n).then(e=>{t.set(n,new tg(Promise.resolve(e)))})),e)):t.set(n,new tg(this.getIdentity(n))).identity}async getIdentity(e){await this.cache.purgeExpired().catch(e=>{console.warn("Error while clearing expired entries in S3ExpressIdentityCache: \n"+e)});let i=await this.createSessionFn(e);if(!i.Credentials?.AccessKeyId||!i.Credentials?.SecretAccessKey)throw Error("s3#createSession response credential missing AccessKeyId or SecretAccessKey.");return{accessKeyId:i.Credentials.AccessKeyId,secretAccessKey:i.Credentials.SecretAccessKey,sessionToken:i.Credentials.SessionToken,expiration:i.Credentials.Expiration?new Date(i.Credentials.Expiration):void 0}}}function bucketEndpointMiddleware(e){return(i,n)=>async t=>{if(e.bucketEndpoint){let e=n.endpointV2;if(e){let i=t.input.Bucket;if("string"==typeof i)try{let t=new URL(i);n.endpointV2={...e,url:t}}catch(t){let e=`@aws-sdk/middleware-sdk-s3: bucketEndpoint=true was set but Bucket=${i} could not be parsed as URL.`;throw n.logger?.constructor?.name==="NoOpLogger"?console.warn(e):n.logger?.warn?.(e),t}}}return i(t)}}let td={name:"bucketEndpointMiddleware",override:!0,relation:"after",toMiddleware:"endpointV2Middleware"};function validateBucketNameMiddleware({bucketEndpoint:e}){return i=>async n=>{let{input:{Bucket:t}}=n;if(!e&&"string"==typeof t&&!("string"==typeof t&&0===t.indexOf("arn:")&&t.split(":").length>=6)&&t.indexOf("/")>=0){let e=Error(`Bucket name shouldn't contain '/', received '${t}'`);throw e.name="InvalidBucketName",e}return i({...n})}}let tp={step:"initialize",tags:["VALIDATE_BUCKET_NAME"],name:"validateBucketNameMiddleware",override:!0},tf={tags:["REGION_REDIRECT","S3"],name:"regionRedirectEndpointMiddleware",override:!0,relation:"before",toMiddleware:"endpointV2Middleware"};function regionRedirectMiddleware(e){return(i,n)=>async t=>{try{return await i(t)}catch(a){if(e.followRegionRedirects){let r=a?.$metadata?.httpStatusCode,o="HeadBucketCommand"===n.commandName,u=a?.$response?.headers?.["x-amz-bucket-region"];if(u&&(301===r||400===r&&(a?.name==="IllegalLocationConstraintException"||o))){try{n.logger?.debug(`Redirecting from ${await e.region()} to ${u}`),n.__s3RegionRedirect=u}catch(e){throw Error("Region redirect failed: "+e)}return i(t)}}throw a}}}let tm={step:"initialize",tags:["REGION_REDIRECT","S3"],name:"regionRedirectMiddleware",override:!0};function setFeature(e,i,n){e.__aws_sdk_context?e.__aws_sdk_context.features||(e.__aws_sdk_context.features={}):e.__aws_sdk_context={features:{}},e.__aws_sdk_context.features[i]=n}let booleanSelector=(e,i,n)=>{if(i in e){if("true"===e[i])return!0;if("false"===e[i])return!1;throw Error(`Cannot load ${n} "${i}". Expected "true" or "false", got ${e[i]}.`)}};(q=eu||(eu={})).ENV="env",q.CONFIG="shared config entry";let ty="X-Amz-S3session-Token",tS=ty.toLowerCase(),tb={environmentVariableSelector:e=>booleanSelector(e,"AWS_S3_DISABLE_EXPRESS_SESSION_AUTH",eu.ENV),configFileSelector:e=>booleanSelector(e,"s3_disable_express_session_auth",eu.CONFIG),default:!1},tC={name:"s3ExpressMiddleware",step:"build",tags:["S3","S3_EXPRESS"],override:!0},tw="__smithy_context",getSmithyContext=e=>e[tw]||(e[tw]={}),tT={step:"finalizeRequest",tags:["HTTP_SIGNING"],name:"httpSigningMiddleware",aliases:["apiKeyMiddleware","tokenMiddleware","awsAuthMiddleware"],override:!0,relation:"after",toMiddleware:"retryMiddleware"},getHttpSigningPlugin=e=>({applyToStack:e=>{e.addRelativeTo((e,i)=>async n=>{if(!n4.isInstance(n.request))return e(n);let t=getSmithyContext(i).selectedHttpAuthScheme;if(!t)throw Error("No HttpAuthScheme was selected: unable to sign request");let{httpAuthOption:{signingProperties:a={}},identity:r,signer:o}=t,u=await e({...n,request:await o.sign(n.request,r,a)}).catch((o.errorHandler||(e=>e=>{throw e}))(a));return(o.successHandler||((e,i)=>{}))(u.response,a),u},tT)}}),signS3Express=async(e,i,n,t)=>{let a=await t.signWithCredentials(n,e,{});if(a.headers["X-Amz-Security-Token"]||a.headers["x-amz-security-token"])throw Error("X-Amz-Security-Token must not be set for s3-express requests.");return a},normalizeProvider_normalizeProvider=e=>{if("function"==typeof e)return e;let i=Promise.resolve(e);return()=>i},tx;function isValidUserAgentAppId(e){return void 0===e||"string"==typeof e&&e.length<=50}function resolveUserAgentConfig(e){let i=normalizeProvider_normalizeProvider(e.userAgentAppId??tx),{customUserAgent:n}=e;return Object.assign(e,{customUserAgent:"string"==typeof n?[[n]]:n,userAgentAppId:async()=>{let n=await i();if(!isValidUserAgentAppId(n)){let i=e.logger?.constructor?.name!=="NoOpLogger"&&e.logger?e.logger:console;"string"!=typeof n?i?.warn("userAgentAppId must be a string or undefined."):n.length>50&&i?.warn("The provided userAgentAppId exceeds the maximum length of 50 characters.")}return n}})}let tL={},tE=RegExp("^(?!.*-$)(?!-)[a-zA-Z0-9-]{1,63}$"),isValidHostLabel=(e,i=!1)=>{if(!i)return tE.test(e);for(let i of e.split("."))if(!isValidHostLabel(i))return!1;return!0},t_=RegExp("^(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}$"),isIpAddress=e=>t_.test(e)||e.startsWith("[")&&e.endsWith("]"),isVirtualHostableS3Bucket=(e,i=!1)=>{if(i){for(let i of e.split("."))if(!isVirtualHostableS3Bucket(i))return!1;return!0}return!(!isValidHostLabel(e)||e.length<3||e.length>63||e!==e.toLowerCase()||isIpAddress(e))};var tY=JSON.parse('{"partitions":[{"id":"aws","outputs":{"dnsSuffix":"amazonaws.com","dualStackDnsSuffix":"api.aws","implicitGlobalRegion":"us-east-1","name":"aws","supportsDualStack":true,"supportsFIPS":true},"regionRegex":"^(us|eu|ap|sa|ca|me|af|il|mx)\\\\-\\\\w+\\\\-\\\\d+$","regions":{"af-south-1":{"description":"Africa (Cape Town)"},"ap-east-1":{"description":"Asia Pacific (Hong Kong)"},"ap-east-2":{"description":"Asia Pacific (Taipei)"},"ap-northeast-1":{"description":"Asia Pacific (Tokyo)"},"ap-northeast-2":{"description":"Asia Pacific (Seoul)"},"ap-northeast-3":{"description":"Asia Pacific (Osaka)"},"ap-south-1":{"description":"Asia Pacific (Mumbai)"},"ap-south-2":{"description":"Asia Pacific (Hyderabad)"},"ap-southeast-1":{"description":"Asia Pacific (Singapore)"},"ap-southeast-2":{"description":"Asia Pacific (Sydney)"},"ap-southeast-3":{"description":"Asia Pacific (Jakarta)"},"ap-southeast-4":{"description":"Asia Pacific (Melbourne)"},"ap-southeast-5":{"description":"Asia Pacific (Malaysia)"},"ap-southeast-6":{"description":"Asia Pacific (New Zealand)"},"ap-southeast-7":{"description":"Asia Pacific (Thailand)"},"aws-global":{"description":"aws global region"},"ca-central-1":{"description":"Canada (Central)"},"ca-west-1":{"description":"Canada West (Calgary)"},"eu-central-1":{"description":"Europe (Frankfurt)"},"eu-central-2":{"description":"Europe (Zurich)"},"eu-north-1":{"description":"Europe (Stockholm)"},"eu-south-1":{"description":"Europe (Milan)"},"eu-south-2":{"description":"Europe (Spain)"},"eu-west-1":{"description":"Europe (Ireland)"},"eu-west-2":{"description":"Europe (London)"},"eu-west-3":{"description":"Europe (Paris)"},"il-central-1":{"description":"Israel (Tel Aviv)"},"me-central-1":{"description":"Middle East (UAE)"},"me-south-1":{"description":"Middle East (Bahrain)"},"mx-central-1":{"description":"Mexico (Central)"},"sa-east-1":{"description":"South America (Sao Paulo)"},"us-east-1":{"description":"US East (N. Virginia)"},"us-east-2":{"description":"US East (Ohio)"},"us-west-1":{"description":"US West (N. California)"},"us-west-2":{"description":"US West (Oregon)"}}},{"id":"aws-cn","outputs":{"dnsSuffix":"amazonaws.com.cn","dualStackDnsSuffix":"api.amazonwebservices.com.cn","implicitGlobalRegion":"cn-northwest-1","name":"aws-cn","supportsDualStack":true,"supportsFIPS":true},"regionRegex":"^cn\\\\-\\\\w+\\\\-\\\\d+$","regions":{"aws-cn-global":{"description":"aws-cn global region"},"cn-north-1":{"description":"China (Beijing)"},"cn-northwest-1":{"description":"China (Ningxia)"}}},{"id":"aws-eusc","outputs":{"dnsSuffix":"amazonaws.eu","dualStackDnsSuffix":"api.amazonwebservices.eu","implicitGlobalRegion":"eusc-de-east-1","name":"aws-eusc","supportsDualStack":true,"supportsFIPS":true},"regionRegex":"^eusc\\\\-(de)\\\\-\\\\w+\\\\-\\\\d+$","regions":{"eusc-de-east-1":{"description":"EU (Germany)"}}},{"id":"aws-iso","outputs":{"dnsSuffix":"c2s.ic.gov","dualStackDnsSuffix":"api.aws.ic.gov","implicitGlobalRegion":"us-iso-east-1","name":"aws-iso","supportsDualStack":true,"supportsFIPS":true},"regionRegex":"^us\\\\-iso\\\\-\\\\w+\\\\-\\\\d+$","regions":{"aws-iso-global":{"description":"aws-iso global region"},"us-iso-east-1":{"description":"US ISO East"},"us-iso-west-1":{"description":"US ISO WEST"}}},{"id":"aws-iso-b","outputs":{"dnsSuffix":"sc2s.sgov.gov","dualStackDnsSuffix":"api.aws.scloud","implicitGlobalRegion":"us-isob-east-1","name":"aws-iso-b","supportsDualStack":true,"supportsFIPS":true},"regionRegex":"^us\\\\-isob\\\\-\\\\w+\\\\-\\\\d+$","regions":{"aws-iso-b-global":{"description":"aws-iso-b global region"},"us-isob-east-1":{"description":"US ISOB East (Ohio)"},"us-isob-west-1":{"description":"US ISOB West"}}},{"id":"aws-iso-e","outputs":{"dnsSuffix":"cloud.adc-e.uk","dualStackDnsSuffix":"api.cloud-aws.adc-e.uk","implicitGlobalRegion":"eu-isoe-west-1","name":"aws-iso-e","supportsDualStack":true,"supportsFIPS":true},"regionRegex":"^eu\\\\-isoe\\\\-\\\\w+\\\\-\\\\d+$","regions":{"aws-iso-e-global":{"description":"aws-iso-e global region"},"eu-isoe-west-1":{"description":"EU ISOE West"}}},{"id":"aws-iso-f","outputs":{"dnsSuffix":"csp.hci.ic.gov","dualStackDnsSuffix":"api.aws.hci.ic.gov","implicitGlobalRegion":"us-isof-south-1","name":"aws-iso-f","supportsDualStack":true,"supportsFIPS":true},"regionRegex":"^us\\\\-isof\\\\-\\\\w+\\\\-\\\\d+$","regions":{"aws-iso-f-global":{"description":"aws-iso-f global region"},"us-isof-east-1":{"description":"US ISOF EAST"},"us-isof-south-1":{"description":"US ISOF SOUTH"}}},{"id":"aws-us-gov","outputs":{"dnsSuffix":"amazonaws.com","dualStackDnsSuffix":"api.aws","implicitGlobalRegion":"us-gov-west-1","name":"aws-us-gov","supportsDualStack":true,"supportsFIPS":true},"regionRegex":"^us\\\\-gov\\\\-\\\\w+\\\\-\\\\d+$","regions":{"aws-us-gov-global":{"description":"aws-us-gov global region"},"us-gov-east-1":{"description":"AWS GovCloud (US-East)"},"us-gov-west-1":{"description":"AWS GovCloud (US-West)"}}}],"version":"1.1"}');let tD={isVirtualHostableS3Bucket:isVirtualHostableS3Bucket,parseArn:e=>{let i=e.split(":");if(i.length<6)return null;let[n,t,a,r,o,...u]=i;return"arn"!==n||""===t||""===a||""===u.join(":")?null:{partition:t,service:a,region:r,accountId:o,resourceId:u.map(e=>e.split("/")).flat()}},partition:e=>{let{partitions:i}=tY;for(let n of i){let{regions:i,outputs:t}=n;for(let[n,a]of Object.entries(i))if(n===e)return{...t,...a}}for(let n of i){let{regionRegex:i,outputs:t}=n;if(new RegExp(i).test(e))return{...t}}let n=i.find(e=>"aws"===e.id);if(!n)throw Error("Provided region was not found in the partition array or regex, and default partition with id 'aws' doesn't exist.");return{...n.outputs}}};tL.aws=tD;let tv=/\d{12}\.ddb/;async function checkFeatures(e,i,n){let t=n.request;if(t?.headers?.["smithy-protocol"]==="rpc-v2-cbor"&&setFeature(e,"PROTOCOL_RPC_V2_CBOR","M"),"function"==typeof i.retryStrategy){let n=await i.retryStrategy();"function"==typeof n.acquireInitialRetryToken?n.constructor?.name?.includes("Adaptive")?setFeature(e,"RETRY_MODE_ADAPTIVE","F"):setFeature(e,"RETRY_MODE_STANDARD","E"):setFeature(e,"RETRY_MODE_LEGACY","D")}if("function"==typeof i.accountIdEndpointMode){let n=e.endpointV2;switch(String(n?.url?.hostname).match(tv)&&setFeature(e,"ACCOUNT_ID_ENDPOINT","O"),await i.accountIdEndpointMode?.()){case"disabled":setFeature(e,"ACCOUNT_ID_MODE_DISABLED","Q");break;case"preferred":setFeature(e,"ACCOUNT_ID_MODE_PREFERRED","P");break;case"required":setFeature(e,"ACCOUNT_ID_MODE_REQUIRED","R")}}let a=e.__smithy_context?.selectedHttpAuthScheme?.identity;if(a?.$source)for(let[i,n]of(a.accountId&&setFeature(e,"RESOLVED_ACCOUNT_ID","T"),Object.entries(a.$source??{})))setFeature(e,i,n)}let tA="user-agent",tN="x-amz-user-agent",tP=/[^!$%&'*+\-.^_`|~\w]/g,tZ=/[^!$%&'*+\-.^_`|~\w#]/g;function encodeFeatures(e){let i="";for(let n in e){let t=e[n];if(i.length+t.length+1<=1024){i.length?i+=","+t:i+=t;continue}break}return i}let escapeUserAgent=e=>{let i=e[0].split("/").map(e=>e.replace(tP,"-")).join("/"),n=e[1]?.replace(tZ,"-"),t=i.indexOf("/"),a=i.substring(0,t),r=i.substring(t+1);return"api"===a&&(r=r.toLowerCase()),[a,r,n].filter(e=>e&&e.length>0).reduce((e,i,n)=>{switch(n){case 0:return i;case 1:return`${e}/${i}`;default:return`${e}#${i}`}},"")},tR={name:"getUserAgentMiddleware",step:"build",priority:"low",tags:["SET_USER_AGENT","USER_AGENT"],override:!0},getUserAgentPlugin=e=>({applyToStack:i=>{i.add((i,n)=>async t=>{let{request:a}=t;if(!n4.isInstance(a))return i(t);let{headers:r}=a,o=n?.userAgent?.map(escapeUserAgent)||[],u=(await e.defaultUserAgentProvider()).map(escapeUserAgent);await checkFeatures(n,e,t),u.push(`m/${encodeFeatures(Object.assign({},n.__smithy_context?.features,n.__aws_sdk_context?.features))}`);let s=e?.customUserAgent?.map(escapeUserAgent)||[],l=await e.userAgentAppId();l&&u.push(escapeUserAgent(["app",`${l}`]));let h=[].concat([...u,...o,...s]).join(" "),g=[...u.filter(e=>e.startsWith("aws-sdk-")),...s].join(" ");return"browser"!==e.runtime?(g&&(r[tN]=r[tN]?`${r[tA]} ${g}`:g),r[tA]=h):r[tN]=h,i({...t,request:a})},tR)}}),tM=new Set,isFipsRegion=e=>"string"==typeof e&&(e.startsWith("fips-")||e.endsWith("-fips")),resolveRegionConfig=e=>{let{region:i,useFipsEndpoint:n}=e;if(!i)throw Error("Region is missing");return Object.assign(e,{region:async()=>{let e,n=isFipsRegion(e="function"==typeof i?await i():i)?["fips-aws-global","aws-fips"].includes(e)?"us-east-1":e.replace(/fips-(dkr-|prod-)?|-fips/,""):e;return((e,i=isValidHostLabel)=>{if(tM.has(e)||i(e))tM.add(e);else if("*"===e)console.warn('@smithy/config-resolver WARN - Please use the caller region instead of "*". See "sigv4a" in https://github.com/aws/aws-sdk-js-v3/blob/main/supplemental-docs/CLIENTS.md.');else throw Error(`Region not accepted: region="${e}" is not a valid hostname component.`)})(n),n},useFipsEndpoint:async()=>!!isFipsRegion("string"==typeof i?i:await i())||("function"!=typeof n?Promise.resolve(!!n):n())})};function convertHttpAuthSchemesToMap(e){let i=new Map;for(let n of e)i.set(n.schemeId,n);return i}let tJ={step:"serialize",tags:["HTTP_AUTH_SCHEME"],name:"httpAuthSchemeMiddleware",override:!0,relation:"before",toMiddleware:"endpointV2Middleware"},getHttpAuthSchemeEndpointRuleSetPlugin=(e,{httpAuthSchemeParametersProvider:i,identityProviderConfigProvider:n})=>({applyToStack:t=>{let a;t.addRelativeTo((a={httpAuthSchemeParametersProvider:i,identityProviderConfigProvider:n},(i,n)=>async t=>{let r=((e,i)=>{if(!i||0===i.length)return e;let n=[];for(let t of i)for(let i of e)i.schemeId.split("#")[1]===t&&n.push(i);for(let i of e)n.find(({schemeId:e})=>e===i.schemeId)||n.push(i);return n})(e.httpAuthSchemeProvider(await a.httpAuthSchemeParametersProvider(e,n,t.input)),e.authSchemePreference?await e.authSchemePreference():[]),o=convertHttpAuthSchemesToMap(e.httpAuthSchemes),u=getSmithyContext(n),s=[];for(let i of r){let t=o.get(i.schemeId);if(!t){s.push(`HttpAuthScheme \`${i.schemeId}\` was not enabled for this service.`);continue}let r=t.identityProvider(await a.identityProviderConfigProvider(e));if(!r){s.push(`HttpAuthScheme \`${i.schemeId}\` did not have an IdentityProvider configured.`);continue}let{identityProperties:l={},signingProperties:h={}}=i.propertiesExtractor?.(e,n)||{};i.identityProperties=Object.assign(i.identityProperties||{},l),i.signingProperties=Object.assign(i.signingProperties||{},h),u.selectedHttpAuthScheme={httpAuthOption:i,identity:await r(i.identityProperties),signer:t.signer};break}if(!u.selectedHttpAuthScheme)throw Error(s.join("\n"));return i(t)}),tJ)}});class tk{authSchemes=new Map;constructor(e){for(let[i,n]of Object.entries(e))void 0!==n&&this.authSchemes.set(i,n)}getIdentityProvider(e){return this.authSchemes.get(e)}}class tB{statusCode;reason;headers;body;constructor(e){this.statusCode=e.statusCode,this.reason=e.reason,this.headers=e.headers||{},this.body=e.body}static isInstance(e){return!!e&&"number"==typeof e.statusCode&&"object"==typeof e.headers}}let operation_operation=(e,i,n,t,a)=>({name:i,namespace:e,traits:n,input:t,output:a}),findHeader=(e,i)=>(i.find(([i])=>i.match(e))||[void 0,void 0])[1],tH={name:"deserializerMiddleware",step:"deserialize",tags:["DESERIALIZER"],override:!0},tF={name:"serializerMiddleware",step:"serialize",tags:["SERIALIZER"],override:!0};function getSchemaSerdePlugin(e){return{applyToStack:i=>{i.add((i,n)=>async t=>{let{operationSchema:a}=getSmithyContext(n),[,r,o,u,s,l]=a??[],h=n.endpointV2?.url&&e.urlParser?async()=>e.urlParser(n.endpointV2.url):e.endpoint,g=await e.protocol.serializeRequest(operation_operation(r,o,u,s,l),t.input,{...e,...n,endpoint:h});return i({...t,request:g})},tF),i.add((i,n)=>async t=>{let{response:a}=await i(t),{operationSchema:r}=getSmithyContext(n),[,o,u,s,l,h]=r??[];try{let i=await e.protocol.deserializeResponse(operation_operation(o,u,s,l,h),{...e,...n},a);return{response:a,output:i}}catch(e){if(Object.defineProperty(e,"$response",{value:a,enumerable:!1,writable:!1,configurable:!1}),!("$metadata"in e)){let i="Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.";try{e.message+="\n "+i}catch(e){n.logger&&n.logger?.constructor?.name!=="NoOpLogger"?n.logger?.warn?.(i):console.warn(i)}void 0!==e.$responseBodyText&&e.$response&&(e.$response.body=e.$responseBodyText);try{if(tB.isInstance(a)){let{headers:i={}}=a,n=Object.entries(i);e.$metadata={httpStatusCode:a.statusCode,requestId:findHeader(/^x-[\w-]+-request-?id$/,n),extendedRequestId:findHeader(/^x-[\w-]+-id-2$/,n),cfId:findHeader(/^x-[\w-]+-cf-id$/,n)}}}catch(e){}}throw e}},tH),e.protocol.setSerdeContext(e)}}}let tX="content-length";function contentLengthMiddleware(e){return i=>async n=>{let t=n.request;if(n4.isInstance(t)){let{body:i,headers:n}=t;if(i&&-1===Object.keys(n).map(e=>e.toLowerCase()).indexOf(tX))try{let n=e(i);t.headers={...t.headers,[tX]:String(n)}}catch(e){}}return i({...n,request:t})}}let tI={step:"build",tags:["SET_CONTENT_LENGTH","CONTENT_LENGTH"],name:"contentLengthMiddleware",override:!0},getContentLengthPlugin=e=>({applyToStack:i=>{i.add(contentLengthMiddleware(e.bodyLengthChecker),tI)}}),memoize=(e,i,n)=>{let t,a,r,o=!1,coalesceProvider=async()=>{a||(a=e());try{t=await a,r=!0,o=!1}finally{a=void 0}return t};return void 0===i?async e=>((!r||e?.forceRefresh)&&(t=await coalesceProvider()),t):async e=>((!r||e?.forceRefresh)&&(t=await coalesceProvider()),o||(n&&!n(t)?o=!0:i(t)&&await coalesceProvider()),t)};class tO extends Error{name="ProviderError";tryNextLink;constructor(e,i=!0){let n,t=!0;"boolean"==typeof i?(n=void 0,t=i):null!=i&&"object"==typeof i&&(n=i.logger,t=i.tryNextLink??!0),super(e),this.tryNextLink=t,Object.setPrototypeOf(this,tO.prototype),n?.debug?.(`@smithy/property-provider ${t?"->":"(!)"} ${e}`)}static from(e,i=!0){return Object.assign(new this(e.message,i),e)}}let chain_chain=(...e)=>async()=>{let i;if(0===e.length)throw new tO("No providers in chain");for(let n of e)try{return await n()}catch(e){if(i=e,e?.tryNextLink)continue;throw e}throw i};class tQ extends tO{name="CredentialsProviderError";constructor(e,i=!0){super(e,i),Object.setPrototypeOf(this,tQ.prototype)}}function getSelectorName(e){try{let i=new Set(Array.from(e.match(/([A-Z_]){3,}/g)??[]));return i.delete("CONFIG"),i.delete("CONFIG_PREFIX_SEPARATOR"),i.delete("ENV"),[...i].join(", ")}catch(i){return e}}let tU="AWS_PROFILE",getProfileName=e=>e.profile||process.env[tU]||"default";($=es||(es={})).PROFILE="profile",$.SSO_SESSION="sso-session",$.SERVICES="services";let getConfigData=e=>Object.entries(e).filter(([e])=>{let i=e.indexOf(".");return -1!==i&&Object.values(es).includes(e.substring(0,i))}).reduce((e,[i,n])=>{let t=i.indexOf(".");return e[i.substring(0,t)===es.PROFILE?i.substring(t+1):i]=n,e},{...e.default&&{default:e.default}}),tG={},getHomeDir=()=>{let{HOME:e,USERPROFILE:i,HOMEPATH:n,HOMEDRIVE:t=`C:${n1.sep}`}=process.env;if(e)return e;if(i)return i;if(n)return`${t}${n}`;let a=process&&process.geteuid?`${process.geteuid()}`:"DEFAULT";return tG[a]||(tG[a]=(0,n3.homedir)()),tG[a]},getConfigFilepath=()=>process.env.AWS_CONFIG_FILE||(0,n1.join)(getHomeDir(),".aws","config"),tq=/^([\w-]+)\s(["'])?([\w-@\+\.%:/]+)\2$/,t$=["__proto__","profile __proto__"],parseIni=e=>{let i,n,t={};for(let a of e.split(/\r?\n/)){let e=a.split(/(^|\s)[;#]/)[0].trim();if("["===e[0]&&"]"===e[e.length-1]){i=void 0,n=void 0;let t=e.substring(1,e.length-1),a=tq.exec(t);if(a){let[,e,,n]=a;Object.values(es).includes(e)&&(i=[e,n].join("."))}else i=t;if(t$.includes(t))throw Error(`Found invalid profile name "${t}"`)}else if(i){let r=e.indexOf("=");if(![0,-1].includes(r)){let[o,u]=[e.substring(0,r).trim(),e.substring(r+1).trim()];if(""===u)n=o;else{n&&a.trimStart()===a&&(n=void 0),t[i]=t[i]||{};let e=n?[n,o].join("."):o;t[i][e]=u}}}}return t},tK=E("node:fs/promises"),tz={},tW={},readFile=(e,i)=>void 0!==tW[e]?tW[e]:((!tz[e]||i?.ignoreCache)&&(tz[e]=(0,tK.readFile)(e,"utf8")),tz[e]),swallowError=()=>({}),loadSharedConfigFiles=async(e={})=>{let{filepath:i=process.env.AWS_SHARED_CREDENTIALS_FILE||(0,n1.join)(getHomeDir(),".aws","credentials"),configFilepath:n=getConfigFilepath()}=e,t=getHomeDir(),a=i;i.startsWith("~/")&&(a=(0,n1.join)(t,i.slice(2)));let r=n;n.startsWith("~/")&&(r=(0,n1.join)(t,n.slice(2)));let o=await Promise.all([readFile(r,{ignoreCache:e.ignoreCache}).then(parseIni).then(getConfigData).catch(swallowError),readFile(a,{ignoreCache:e.ignoreCache}).then(parseIni).catch(swallowError)]);return{configFile:o[0],credentialsFile:o[1]}},loadConfig=({environmentVariableSelector:e,configFileSelector:i,default:n},t={})=>{let a,{signingName:r,logger:o}=t;return memoize(chain_chain((a={signingName:r,logger:o},async()=>{try{let i=e(process.env,a);if(void 0===i)throw Error();return i}catch(i){throw new tQ(i.message||`Not found in ENV: ${getSelectorName(e.toString())}`,{logger:a?.logger})}}),((e,{preferredFile:i="config",...n}={})=>async()=>{let t=getProfileName(n),{configFile:a,credentialsFile:r}=await loadSharedConfigFiles(n),o=r[t]||{},u=a[t]||{},s="config"===i?{...o,...u}:{...u,...o};try{let n="config"===i?a:r,t=e(s,n);if(void 0===t)throw Error();return t}catch(i){throw new tQ(i.message||`Not found in config files w/ profile [${t}]: ${getSelectorName(e.toString())}`,{logger:n.logger})}})(i,t),(e=>"function"==typeof e?async()=>await e():()=>Promise.resolve(e))(n)))},tj="AWS_ENDPOINT_URL",tV="endpoint_url",getEndpointFromConfig=async e=>{let i;return loadConfig((i=e??"",{environmentVariableSelector:e=>{let n=e[[tj,...i.split(" ").map(e=>e.toUpperCase())].join("_")];if(n)return n;let t=e[tj];if(t)return t},configFileSelector:(e,n)=>{if(n&&e.services){let t=n[["services",e.services].join(".")];if(t){let e=t[[i.split(" ").map(e=>e.toLowerCase()).join("_"),tV].join(".")];if(e)return e}}let t=e[tV];if(t)return t},default:void 0}))()};function parseQueryString(e){let i={};if(e=e.replace(/^\?/,""))for(let n of e.split("&")){let[e,t=null]=n.split("=");e=decodeURIComponent(e),t&&(t=decodeURIComponent(t)),e in i?Array.isArray(i[e])?i[e].push(t):i[e]=[i[e],t]:i[e]=t}return i}let dist_es_parseUrl=e=>{let i;if("string"==typeof e)return dist_es_parseUrl(new URL(e));let{hostname:n,pathname:t,port:a,protocol:r,search:o}=e;return o&&(i=parseQueryString(o)),{hostname:n,port:a?parseInt(a):void 0,protocol:r,path:t,query:i}},toEndpointV1_toEndpointV1=e=>"object"==typeof e?"url"in e?dist_es_parseUrl(e.url):e:dist_es_parseUrl(e),resolveEndpointConfig=e=>{let i,n=e.tls??!0,{endpoint:t,useDualstackEndpoint:a,useFipsEndpoint:r}=e,o=Object.assign(e,{endpoint:null!=t?async()=>toEndpointV1_toEndpointV1(await normalizeProvider(t)()):void 0,tls:n,isCustomEndpoint:!!t,useDualstackEndpoint:normalizeProvider(a??!1),useFipsEndpoint:normalizeProvider(r??!1)});return o.serviceConfiguredEndpoint=async()=>(e.serviceId&&!i&&(i=getEndpointFromConfig(e.serviceId)),i),o};(K=el||(el={})).STANDARD="standard",K.ADAPTIVE="adaptive";let t0=el.STANDARD,t1=["BandwidthLimitExceeded","EC2ThrottledException","LimitExceededException","PriorRequestNotComplete","ProvisionedThroughputExceededException","RequestLimitExceeded","RequestThrottled","RequestThrottledException","SlowDown","ThrottledException","Throttling","ThrottlingException","TooManyRequestsException","TransactionInProgressException"],t3=["TimeoutError","RequestTimeout","RequestTimeoutException"],t2=[500,502,503,504],t4=["ECONNRESET","ECONNREFUSED","EPIPE","ETIMEDOUT"],t8=["EHOSTUNREACH","ENETUNREACH","ENOTFOUND"],isThrottlingError=e=>e.$metadata?.httpStatusCode===429||t1.includes(e.name)||e.$retryable?.throttling==!0,isTransientError=(e,i=0)=>{let n;return e?.$retryable!==void 0||e.$metadata?.clockSkewCorrected||t3.includes(e.name)||t4.includes(e?.code||"")||t8.includes(e?.code||"")||t2.includes(e.$metadata?.httpStatusCode||0)||(n=new Set(["Failed to fetch","NetworkError when attempting to fetch resource","The Internet connection appears to be offline","Load failed","Network request failed"]),!!(e&&e instanceof TypeError)&&n.has(e.message))||void 0!==e.cause&&i<=10&&isTransientError(e.cause,i+1)};class t6{static setTimeoutFn=setTimeout;beta;minCapacity;minFillRate;scaleConstant;smooth;currentCapacity=0;enabled=!1;lastMaxRate=0;measuredTxRate=0;requestCount=0;fillRate;lastThrottleTime;lastTimestamp=0;lastTxRateBucket;maxCapacity;timeWindow=0;constructor(e){this.beta=e?.beta??.7,this.minCapacity=e?.minCapacity??1,this.minFillRate=e?.minFillRate??.5,this.scaleConstant=e?.scaleConstant??.4,this.smooth=e?.smooth??.8;let i=this.getCurrentTimeInSeconds();this.lastThrottleTime=i,this.lastTxRateBucket=Math.floor(this.getCurrentTimeInSeconds()),this.fillRate=this.minFillRate,this.maxCapacity=this.minCapacity}getCurrentTimeInSeconds(){return Date.now()/1e3}async getSendToken(){return this.acquireTokenBucket(1)}async acquireTokenBucket(e){if(this.enabled){if(this.refillTokenBucket(),e>this.currentCapacity){let i=(e-this.currentCapacity)/this.fillRate*1e3;await new Promise(e=>t6.setTimeoutFn(e,i))}this.currentCapacity=this.currentCapacity-e}}refillTokenBucket(){let e=this.getCurrentTimeInSeconds();if(!this.lastTimestamp){this.lastTimestamp=e;return}let i=(e-this.lastTimestamp)*this.fillRate;this.currentCapacity=Math.min(this.maxCapacity,this.currentCapacity+i),this.lastTimestamp=e}updateClientSendingRate(e){let i;if(this.updateMeasuredRate(),isThrottlingError(e)){let e=this.enabled?Math.min(this.measuredTxRate,this.fillRate):this.measuredTxRate;this.lastMaxRate=e,this.calculateTimeWindow(),this.lastThrottleTime=this.getCurrentTimeInSeconds(),i=this.cubicThrottle(e),this.enableTokenBucket()}else this.calculateTimeWindow(),i=this.cubicSuccess(this.getCurrentTimeInSeconds());let n=Math.min(i,2*this.measuredTxRate);this.updateTokenBucketRate(n)}calculateTimeWindow(){this.timeWindow=this.getPrecise(Math.pow(this.lastMaxRate*(1-this.beta)/this.scaleConstant,1/3))}cubicThrottle(e){return this.getPrecise(e*this.beta)}cubicSuccess(e){return this.getPrecise(this.scaleConstant*Math.pow(e-this.lastThrottleTime-this.timeWindow,3)+this.lastMaxRate)}enableTokenBucket(){this.enabled=!0}updateTokenBucketRate(e){this.refillTokenBucket(),this.fillRate=Math.max(e,this.minFillRate),this.maxCapacity=Math.max(e,this.minCapacity),this.currentCapacity=Math.min(this.currentCapacity,this.maxCapacity)}updateMeasuredRate(){let e=Math.floor(2*this.getCurrentTimeInSeconds())/2;if(this.requestCount++,e>this.lastTxRateBucket){let i=this.requestCount/(e-this.lastTxRateBucket);this.measuredTxRate=this.getPrecise(i*this.smooth+this.measuredTxRate*(1-this.smooth)),this.requestCount=0,this.lastTxRateBucket=e}}getPrecise(e){return parseFloat(e.toFixed(8))}}let createDefaultRetryToken=({retryDelay:e,retryCount:i,retryCost:n})=>({getRetryCount:()=>i,getRetryDelay:()=>Math.min(2e4,e),getRetryCost:()=>n});class t5{maxAttempts;mode=el.STANDARD;capacity=500;retryBackoffStrategy=(()=>{let e=100;return{computeNextBackoffDelay:i=>Math.floor(Math.min(2e4,Math.random()*2**i*e)),setDelayBase:i=>{e=i}}})();maxAttemptsProvider;constructor(e){this.maxAttempts=e,this.maxAttemptsProvider="function"==typeof e?e:async()=>e}async acquireInitialRetryToken(e){return createDefaultRetryToken({retryDelay:100,retryCount:0})}async refreshRetryTokenForRetry(e,i){let n=await this.getMaxAttempts();if(this.shouldRetry(e,i,n)){let n=i.errorType;this.retryBackoffStrategy.setDelayBase("THROTTLING"===n?500:100);let t=this.retryBackoffStrategy.computeNextBackoffDelay(e.getRetryCount()),a=i.retryAfterHint?Math.max(i.retryAfterHint.getTime()-Date.now()||0,t):t,r=this.getCapacityCost(n);return this.capacity-=r,createDefaultRetryToken({retryDelay:a,retryCount:e.getRetryCount()+1,retryCost:r})}throw Error("No retry token available")}recordSuccess(e){this.capacity=Math.max(500,this.capacity+(e.getRetryCost()??1))}getCapacity(){return this.capacity}async getMaxAttempts(){try{return await this.maxAttemptsProvider()}catch(e){return console.warn("Max attempts provider could not resolve. Using default of 3"),3}}shouldRetry(e,i,n){return e.getRetryCount()+1<n&&this.capacity>=this.getCapacityCost(i.errorType)&&this.isRetryableError(i.errorType)}getCapacityCost(e){return"TRANSIENT"===e?10:5}isRetryableError(e){return"THROTTLING"===e||"TRANSIENT"===e}}class t7{maxAttemptsProvider;rateLimiter;standardRetryStrategy;mode=el.ADAPTIVE;constructor(e,i){this.maxAttemptsProvider=e;let{rateLimiter:n}=i??{};this.rateLimiter=n??new t6,this.standardRetryStrategy=new t5(e)}async acquireInitialRetryToken(e){return await this.rateLimiter.getSendToken(),this.standardRetryStrategy.acquireInitialRetryToken(e)}async refreshRetryTokenForRetry(e,i){return this.rateLimiter.updateClientSendingRate(i),this.standardRetryStrategy.refreshRetryTokenForRetry(e,i)}recordSuccess(e){this.rateLimiter.updateClientSendingRate({}),this.standardRetryStrategy.recordSuccess(e)}}let t9="AWS_MAX_ATTEMPTS",ae="max_attempts",ai={environmentVariableSelector:e=>{let i=e[t9];if(!i)return;let n=parseInt(i);if(Number.isNaN(n))throw Error(`Environment variable ${t9} mast be a number, got "${i}"`);return n},configFileSelector:e=>{let i=e[ae];if(!i)return;let n=parseInt(i);if(Number.isNaN(n))throw Error(`Shared config file entry ${ae} mast be a number, got "${i}"`);return n},default:3},resolveRetryConfig=e=>{let{retryStrategy:i,retryMode:n,maxAttempts:t}=e,a=normalizeProvider(t??3);return Object.assign(e,{maxAttempts:a,retryStrategy:async()=>i||(await normalizeProvider(n)()===el.ADAPTIVE?new t7(a):new t5(a))})},an={environmentVariableSelector:e=>e.AWS_RETRY_MODE,configFileSelector:e=>e.retry_mode,default:t0};class at{trace(){}debug(){}info(){}warn(){}error(){}}let aa=E("crypto"),ar=aa.default.randomUUID.bind(aa.default),ao=Array.from({length:256},(e,i)=>i.toString(16).padStart(2,"0")),v4=()=>{if(ar)return ar();let e=new Uint8Array(16);return crypto.getRandomValues(e),e[6]=15&e[6]|64,e[8]=63&e[8]|128,ao[e[0]]+ao[e[1]]+ao[e[2]]+ao[e[3]]+"-"+ao[e[4]]+ao[e[5]]+"-"+ao[e[6]]+ao[e[7]]+"-"+ao[e[8]]+ao[e[9]]+"-"+ao[e[10]]+ao[e[11]]+ao[e[12]]+ao[e[13]]+ao[e[14]]+ao[e[15]]},au=E("stream"),isStreamingPayload=e=>e?.body instanceof au.Readable||"u">typeof ReadableStream&&e?.body instanceof ReadableStream,asSdkError=e=>e instanceof Error?e:e instanceof Object?Object.assign(Error(),e):"string"==typeof e?Error(e):Error(`AWS SDK error wrapper for ${e}`),getRetryErrorInfo=e=>{let i={error:e,errorType:getRetryErrorType(e)},n=getRetryAfterHint(e.$response);return n&&(i.retryAfterHint=n),i},getRetryErrorType=e=>isThrottlingError(e)?"THROTTLING":isTransientError(e)?"TRANSIENT":(e=>{if(e.$metadata?.httpStatusCode!==void 0){let i=e.$metadata.httpStatusCode;if(500<=i&&i<=599&&!isTransientError(e))return!0}return!1})(e)?"SERVER_ERROR":"CLIENT_ERROR",as={name:"retryMiddleware",tags:["RETRY"],step:"finalizeRequest",priority:"high",override:!0},getRetryPlugin=e=>({applyToStack:i=>{i.add((i,n)=>async t=>{let a,r=await e.retryStrategy(),o=await e.maxAttempts();if(void 0===(a=r).acquireInitialRetryToken||void 0===a.refreshRetryTokenForRetry||void 0===a.recordSuccess)return r?.mode&&(n.userAgent=[...n.userAgent||[],["cfg/retry-mode",r.mode]]),r.retry(i,t);{let e=await r.acquireInitialRetryToken(n.partition_id),a=Error(),u=0,s=0,{request:l}=t,h=n4.isInstance(l);for(h&&(l.headers["amz-sdk-invocation-id"]=v4());;)try{h&&(l.headers["amz-sdk-request"]=`attempt=${u+1}; max=${o}`);let{response:n,output:a}=await i(t);return r.recordSuccess(e),a.$metadata.attempts=u+1,a.$metadata.totalRetryDelay=s,{response:n,output:a}}catch(o){let i=getRetryErrorInfo(o);if(a=asSdkError(o),h&&isStreamingPayload(l))throw(n.logger instanceof at?console:n.logger)?.warn("An error was encountered in a non-retryable streaming request."),a;try{e=await r.refreshRetryTokenForRetry(e,i)}catch(e){throw a.$metadata||(a.$metadata={}),a.$metadata.attempts=u+1,a.$metadata.totalRetryDelay=s,a}u=e.getRetryCount();let t=e.getRetryDelay();s+=t,await new Promise(e=>setTimeout(e,t))}}},as)}}),getRetryAfterHint=e=>{if(!tB.isInstance(e))return;let i=Object.keys(e.headers).find(e=>"retry-after"===e.toLowerCase());if(!i)return;let n=e.headers[i],t=Number(n);return new Date(Number.isNaN(t)?n:1e3*t)},getAllAliases=(e,i)=>{let n=[];if(e&&n.push(e),i)for(let e of i)n.push(e);return n},getMiddlewareNameWithAliases=(e,i)=>`${e||"anonymous"}${i&&i.length>0?` (a.k.a. ${i.join(",")})`:""}`,constructStack=()=>{let e=[],i=[],n=!1,t=new Set,cloneTo=n=>(e.forEach(e=>{n.add(e.middleware,{...e})}),i.forEach(e=>{n.addRelativeTo(e.middleware,{...e})}),n.identifyOnResolve?.(a.identifyOnResolve()),n),expandRelativeMiddlewareList=e=>{let i=[];return e.before.forEach(e=>{0===e.before.length&&0===e.after.length?i.push(e):i.push(...expandRelativeMiddlewareList(e))}),i.push(e),e.after.reverse().forEach(e=>{0===e.before.length&&0===e.after.length?i.push(e):i.push(...expandRelativeMiddlewareList(e))}),i},getMiddlewareList=(n=!1)=>{let t=[],a=[],r={};return e.forEach(e=>{let i={...e,before:[],after:[]};for(let e of getAllAliases(i.name,i.aliases))r[e]=i;t.push(i)}),i.forEach(e=>{let i={...e,before:[],after:[]};for(let e of getAllAliases(i.name,i.aliases))r[e]=i;a.push(i)}),a.forEach(e=>{if(e.toMiddleware){let i=r[e.toMiddleware];if(void 0===i){if(n)return;throw Error(`${e.toMiddleware} is not found when adding ${getMiddlewareNameWithAliases(e.name,e.aliases)} middleware ${e.relation} ${e.toMiddleware}`)}"after"===e.relation&&i.after.push(e),"before"===e.relation&&i.before.push(e)}}),t.sort((e,i)=>al[i.step]-al[e.step]||ah[i.priority||"normal"]-ah[e.priority||"normal"]).map(expandRelativeMiddlewareList).reduce((e,i)=>(e.push(...i),e),[])},a={add:(i,n={})=>{let{name:a,override:r,aliases:o}=n,u={step:"initialize",priority:"normal",middleware:i,...n},s=getAllAliases(a,o);if(s.length>0){if(s.some(e=>t.has(e))){if(!r)throw Error(`Duplicate middleware name '${getMiddlewareNameWithAliases(a,o)}'`);for(let i of s){let n=e.findIndex(e=>e.name===i||e.aliases?.some(e=>e===i));if(-1===n)continue;let t=e[n];if(t.step!==u.step||u.priority!==t.priority)throw Error(`"${getMiddlewareNameWithAliases(t.name,t.aliases)}" middleware with ${t.priority} priority in ${t.step} step cannot be overridden by "${getMiddlewareNameWithAliases(a,o)}" middleware with ${u.priority} priority in ${u.step} step.`);e.splice(n,1)}}for(let e of s)t.add(e)}e.push(u)},addRelativeTo:(e,n)=>{let{name:a,override:r,aliases:o}=n,u={middleware:e,...n},s=getAllAliases(a,o);if(s.length>0){if(s.some(e=>t.has(e))){if(!r)throw Error(`Duplicate middleware name '${getMiddlewareNameWithAliases(a,o)}'`);for(let e of s){let n=i.findIndex(i=>i.name===e||i.aliases?.some(i=>i===e));if(-1===n)continue;let t=i[n];if(t.toMiddleware!==u.toMiddleware||t.relation!==u.relation)throw Error(`"${getMiddlewareNameWithAliases(t.name,t.aliases)}" middleware ${t.relation} "${t.toMiddleware}" middleware cannot be overridden by "${getMiddlewareNameWithAliases(a,o)}" middleware ${u.relation} "${u.toMiddleware}" middleware.`);i.splice(n,1)}}for(let e of s)t.add(e)}i.push(u)},clone:()=>cloneTo(constructStack()),use:e=>{e.applyToStack(a)},remove:n=>{let a,r;if("string"==typeof n){let a,r;return a=!1,r=e=>{let i=getAllAliases(e.name,e.aliases);if(i.includes(n)){for(let e of(a=!0,i))t.delete(e);return!1}return!0},e=e.filter(r),i=i.filter(r),a}return a=!1,r=e=>{if(e.middleware===n){for(let i of(a=!0,getAllAliases(e.name,e.aliases)))t.delete(i);return!1}return!0},e=e.filter(r),i=i.filter(r),a},removeByTag:n=>{let a=!1,filterCb=e=>{let{tags:i,name:r,aliases:o}=e;if(i&&i.includes(n)){for(let e of getAllAliases(r,o))t.delete(e);return a=!0,!1}return!0};return e=e.filter(filterCb),i=i.filter(filterCb),a},concat:e=>{let i=cloneTo(constructStack());return i.use(e),i.identifyOnResolve(n||i.identifyOnResolve()||(e.identifyOnResolve?.()??!1)),i},applyToStack:cloneTo,identify:()=>getMiddlewareList(!0).map(e=>{let i=e.step??e.relation+" "+e.toMiddleware;return getMiddlewareNameWithAliases(e.name,e.aliases)+" - "+i}),identifyOnResolve:e=>("boolean"==typeof e&&(n=e),n),resolve:(e,i)=>{for(let n of getMiddlewareList().map(e=>e.middleware).reverse())e=n(e,i);return n&&console.log(a.identify()),e}};return a},al={initialize:5,serialize:4,build:3,finalizeRequest:2,deserialize:1},ah={high:3,normal:2,low:1};class ag{config;middlewareStack=constructStack();initConfig;handlers;constructor(e){this.config=e;let{protocol:i,protocolSettings:n}=e;n&&"function"==typeof i&&(e.protocol=new i(n))}send(e,i,n){let t,a="function"!=typeof i?i:void 0,r="function"==typeof i?i:n;if(void 0===a&&!0===this.config.cacheMiddleware){this.handlers||(this.handlers=new WeakMap);let i=this.handlers;i.has(e.constructor)?t=i.get(e.constructor):(t=e.resolveMiddleware(this.middlewareStack,this.config,a),i.set(e.constructor,t))}else delete this.handlers,t=e.resolveMiddleware(this.middlewareStack,this.config,a);if(!r)return t(e).then(e=>e.output);t(e).then(e=>r(null,e.output),e=>r(e)).catch(()=>{})}destroy(){this.config?.requestHandler?.destroy?.(),delete this.handlers}}function setCredentialFeature(e,i,n){return e.$source||(e.$source={}),e.$source[i]=n,e}let memoizeIdentityProvider_isIdentityExpired=function(e){return doesIdentityRequireRefresh(e)&&e.expiration.getTime()-Date.now()<3e5},doesIdentityRequireRefresh=e=>void 0!==e.expiration,ac={},ad={};for(let e=0;e<256;e++){let i=e.toString(16).toLowerCase();1===i.length&&(i=`0${i}`),ac[e]=i,ad[i]=e}function fromHex(e){if(e.length%2!=0)throw Error("Hex encoded strings must have an even number length");let i=new Uint8Array(e.length/2);for(let n=0;n<e.length;n+=2){let t=e.slice(n,n+2).toLowerCase();if(t in ad)i[n/2]=ad[t];else throw Error(`Cannot decode unrecognized sequence ${t} as hexadecimal`)}return i}function toHex(e){let i="";for(let n=0;n<e.byteLength;n++)i+=ac[e[n]];return i}let dist_es_isArrayBuffer=e=>"function"==typeof ArrayBuffer&&e instanceof ArrayBuffer||"[object ArrayBuffer]"===Object.prototype.toString.call(e),ap=E("buffer"),dist_es_fromArrayBuffer=(e,i=0,n=e.byteLength-i)=>{if(!dist_es_isArrayBuffer(e))throw TypeError(`The "input" argument must be ArrayBuffer. Received type ${typeof e} (${e})`);return ap.Buffer.from(e,i,n)},fromString=(e,i)=>{if("string"!=typeof e)throw TypeError(`The "input" argument must be of type string. Received type ${typeof e} (${e})`);return i?ap.Buffer.from(e,i):ap.Buffer.from(e)},fromUtf8_fromUtf8=e=>{let i=fromString(e,"utf8");return new Uint8Array(i.buffer,i.byteOffset,i.byteLength/Uint8Array.BYTES_PER_ELEMENT)},toUint8Array=e=>"string"==typeof e?fromUtf8_fromUtf8(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(e),af="X-Amz-Date",am="X-Amz-Signature",ay="X-Amz-Security-Token",aS="authorization",ab=af.toLowerCase(),aC=[aS,ab,"date"],aw=am.toLowerCase(),aT="x-amz-content-sha256",ax=ay.toLowerCase(),aL={authorization:!0,"cache-control":!0,connection:!0,expect:!0,from:!0,"keep-alive":!0,"max-forwards":!0,pragma:!0,referer:!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0,"user-agent":!0,"x-amzn-trace-id":!0},aE=/^proxy-/,a_=/^sec-/,aY="AWS4-HMAC-SHA256",aD="aws4_request",av={},aA=[],createScope=(e,i,n)=>`${e}/${i}/${n}/${aD}`,getSigningKey=async(e,i,n,t,a)=>{let r=await hmac(e,i.secretAccessKey,i.accessKeyId),o=`${n}:${t}:${a}:${toHex(r)}:${i.sessionToken}`;if(o in av)return av[o];for(aA.push(o);aA.length>50;)delete av[aA.shift()];let u=`AWS4${i.secretAccessKey}`;for(let i of[n,t,a,aD])u=await hmac(e,u,i);return av[o]=u},hmac=(e,i,n)=>{let t=new e(i);return t.update(toUint8Array(n)),t.digest()},getCanonicalHeaders=({headers:e},i,n)=>{let t={};for(let a of Object.keys(e).sort()){if(void 0==e[a])continue;let r=a.toLowerCase();(!(r in aL||i?.has(r)||aE.test(r)||a_.test(r))||n&&(!n||n.has(r)))&&(t[r]=e[a].trim().replace(/\s+/g," "))}return t},getPayloadHash=async({headers:e,body:i},n)=>{for(let i of Object.keys(e))if(i.toLowerCase()===aT)return e[i];if(void 0==i)return"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";if("string"==typeof i||ArrayBuffer.isView(i)||dist_es_isArrayBuffer(i)){let e=new n;return e.update(toUint8Array(i)),toHex(await e.digest())}return"UNSIGNED-PAYLOAD"};class aN{format(e){let i=[];for(let n of Object.keys(e)){let t=fromUtf8_fromUtf8(n);i.push(Uint8Array.from([t.byteLength]),t,this.formatHeaderValue(e[n]))}let n=new Uint8Array(i.reduce((e,i)=>e+i.byteLength,0)),t=0;for(let e of i)n.set(e,t),t+=e.byteLength;return n}formatHeaderValue(e){switch(e.type){case"boolean":return Uint8Array.from([+!e.value]);case"byte":return Uint8Array.from([2,e.value]);case"short":let i=new DataView(new ArrayBuffer(3));return i.setUint8(0,3),i.setInt16(1,e.value,!1),new Uint8Array(i.buffer);case"integer":let n=new DataView(new ArrayBuffer(5));return n.setUint8(0,4),n.setInt32(1,e.value,!1),new Uint8Array(n.buffer);case"long":let t=new Uint8Array(9);return t[0]=5,t.set(e.value.bytes,1),t;case"binary":let a=new DataView(new ArrayBuffer(3+e.value.byteLength));a.setUint8(0,6),a.setUint16(1,e.value.byteLength,!1);let r=new Uint8Array(a.buffer);return r.set(e.value,3),r;case"string":let o=fromUtf8_fromUtf8(e.value),u=new DataView(new ArrayBuffer(3+o.byteLength));u.setUint8(0,7),u.setUint16(1,o.byteLength,!1);let s=new Uint8Array(u.buffer);return s.set(o,3),s;case"timestamp":let l=new Uint8Array(9);return l[0]=8,l.set(aZ.fromNumber(e.value.valueOf()).bytes,1),l;case"uuid":if(!aP.test(e.value))throw Error(`Invalid UUID received: ${e.value}`);let h=new Uint8Array(17);return h[0]=9,h.set(fromHex(e.value.replace(/\-/g,"")),1),h}}}(z=eh||(eh={}))[z.boolTrue=0]="boolTrue",z[z.boolFalse=1]="boolFalse",z[z.byte=2]="byte",z[z.short=3]="short",z[z.integer=4]="integer",z[z.long=5]="long",z[z.byteArray=6]="byteArray",z[z.string=7]="string",z[z.timestamp=8]="timestamp",z[z.uuid=9]="uuid";let aP=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;class aZ{bytes;constructor(e){if(this.bytes=e,8!==e.byteLength)throw Error("Int64 buffers must be exactly 8 bytes")}static fromNumber(e){if(e>0x8000000000000000||e<-0x8000000000000000)throw Error(`${e} is too large (or, if negative, too small) to represent as an Int64`);let i=new Uint8Array(8);for(let n=7,t=Math.abs(Math.round(e));n>-1&&t>0;n--,t/=256)i[n]=t;return e<0&&negate(i),new aZ(i)}valueOf(){let e=this.bytes.slice(0),i=128&e[0];return i&&negate(e),parseInt(toHex(e),16)*(i?-1:1)}toString(){return String(this.valueOf())}}function negate(e){for(let i=0;i<8;i++)e[i]^=255;for(let i=7;i>-1&&(e[i]++,0===e[i]);i--);}let prepareRequest=e=>{for(let i of Object.keys((e=n4.clone(e)).headers))aC.indexOf(i.toLowerCase())>-1&&delete e.headers[i];return e},escapeUri=e=>encodeURIComponent(e).replace(/[!'()*]/g,hexEncode),hexEncode=e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`;class aR{service;regionProvider;credentialProvider;sha256;uriEscapePath;applyChecksum;constructor({applyChecksum:e,credentials:i,region:n,service:t,sha256:a,uriEscapePath:r=!0}){this.service=t,this.sha256=a,this.uriEscapePath=r,this.applyChecksum="boolean"!=typeof e||e,this.regionProvider=normalizeProvider(n),this.credentialProvider=normalizeProvider(i)}createCanonicalRequest(e,i,n){let t=Object.keys(i).sort();return`${e.method}
|
|
44
|
+
${e}`);t&&e&&console.log(e),t&&console.log("✅ Database migration completed successfully")}finally{n3.existsSync(s)&&n3.unlinkSync(s)}}class n6{method;protocol;hostname;port;path;query;headers;username;password;fragment;body;constructor(e){this.method=e.method||"GET",this.hostname=e.hostname||"localhost",this.port=e.port,this.query=e.query||{},this.headers=e.headers||{},this.body=e.body,this.protocol=e.protocol?":"!==e.protocol.slice(-1)?`${e.protocol}:`:e.protocol:"https:",this.path=e.path?"/"!==e.path.charAt(0)?`/${e.path}`:e.path:"/",this.username=e.username,this.password=e.password,this.fragment=e.fragment}static clone(e){let i=new n6({...e,headers:{...e.headers}});return i.query&&(i.query=cloneQuery(i.query)),i}static isInstance(e){return!!e&&"method"in e&&"protocol"in e&&"hostname"in e&&"path"in e&&"object"==typeof e.query&&"object"==typeof e.headers}clone(){return n6.clone(this)}}function cloneQuery(e){return Object.keys(e).reduce((i,n)=>{let t=e[n];return{...i,[n]:Array.isArray(t)?[...t]:t}},{})}function addExpectContinueMiddleware(e){return i=>async n=>{let{request:t}=n;if(!1!==e.expectContinueHeader&&n6.isInstance(t)&&t.body&&"node"===e.runtime&&e.requestHandler?.constructor?.name!=="FetchHttpHandler"){let i=!0;if("number"==typeof e.expectContinueHeader)try{i=(Number(t.headers?.["content-length"])??e.bodyLengthChecker?.(t.body)??1/0)>=e.expectContinueHeader}catch(e){}else i=!!e.expectContinueHeader;i&&(t.headers.Expect="100-continue")}return i({...n,request:t})}}let n5={step:"build",tags:["SET_EXPECT_HEADER","EXPECT_HEADER"],name:"addExpectContinueMiddleware",override:!0},normalizeProvider=e=>{if("function"==typeof e)return e;let i=Promise.resolve(e);return()=>i},n7={WHEN_SUPPORTED:"WHEN_SUPPORTED",WHEN_REQUIRED:"WHEN_REQUIRED"},n9=n7.WHEN_SUPPORTED,te={WHEN_SUPPORTED:"WHEN_SUPPORTED",WHEN_REQUIRED:"WHEN_REQUIRED"},ti=n7.WHEN_SUPPORTED;(Q=ea||(ea={})).MD5="MD5",Q.CRC32="CRC32",Q.CRC32C="CRC32C",Q.CRC64NVME="CRC64NVME",Q.SHA1="SHA1",Q.SHA256="SHA256",(U=er||(er={})).HEADER="header",U.TRAILER="trailer";let tn=ea.CRC32;function resolveHostHeaderConfig(e){return e}let tt={name:"hostHeaderMiddleware",step:"build",priority:"low",tags:["HOST"],override:!0},getHostHeaderPlugin=e=>({applyToStack:i=>{i.add(i=>async n=>{if(!n6.isInstance(n.request))return i(n);let{request:t}=n,{handlerProtocol:a=""}=e.requestHandler.metadata||{};if(a.indexOf("h2")>=0&&!t.headers[":authority"])delete t.headers.host,t.headers[":authority"]=t.hostname+(t.port?":"+t.port:"");else if(!t.headers.host){let e=t.hostname;null!=t.port&&(e+=`:${t.port}`),t.headers.host=e}return i(n)},tt)}}),ta={name:"loggerMiddleware",tags:["LOGGER"],step:"initialize",override:!0},getLoggerPlugin=e=>({applyToStack:e=>{e.add((e,i)=>async n=>{try{let t=await e(n),{clientName:a,commandName:r,logger:o,dynamoDbDocumentClientOptions:u={}}=i,{overrideInputFilterSensitiveLog:s,overrideOutputFilterSensitiveLog:l}=u,h=s??i.inputFilterSensitiveLog,g=l??i.outputFilterSensitiveLog,{$metadata:c,...d}=t.output;return o?.info?.({clientName:a,commandName:r,input:h(n.input),output:g(d),metadata:c}),t}catch(s){let{clientName:e,commandName:t,logger:a,dynamoDbDocumentClientOptions:r={}}=i,{overrideInputFilterSensitiveLog:o}=r,u=o??i.inputFilterSensitiveLog;throw a?.error?.({clientName:e,commandName:t,input:u(n.input),error:s,metadata:s.$metadata}),s}},ta)}}),tr={step:"build",tags:["RECURSION_DETECTION"],name:"recursionDetectionMiddleware",override:!0,priority:"low"},to={REQUEST_ID:Symbol.for("_AWS_LAMBDA_REQUEST_ID"),X_RAY_TRACE_ID:Symbol.for("_AWS_LAMBDA_X_RAY_TRACE_ID"),TENANT_ID:Symbol.for("_AWS_LAMBDA_TENANT_ID")},tu=["true","1"].includes(process.env?.AWS_LAMBDA_NODEJS_NO_GLOBAL_AWSLAMBDA??"");tu||(globalThis.awslambda=globalThis.awslambda||{});class ts{static PROTECTED_KEYS=to;isProtectedKey(e){return Object.values(to).includes(e)}getRequestId(){return this.get(to.REQUEST_ID)??"-"}getXRayTraceId(){return this.get(to.X_RAY_TRACE_ID)}getTenantId(){return this.get(to.TENANT_ID)}}class tl extends ts{currentContext;getContext(){return this.currentContext}hasContext(){return void 0!==this.currentContext}get(e){return this.currentContext?.[e]}set(e,i){if(this.isProtectedKey(e))throw Error(`Cannot modify protected Lambda context field: ${String(e)}`);this.currentContext=this.currentContext||{},this.currentContext[e]=i}run(e,i){return this.currentContext=e,i()}}class th extends ts{als;static async create(){let e=new th;return e.als=new(await import("node:async_hooks")).AsyncLocalStorage,e}getContext(){return this.als.getStore()}hasContext(){return void 0!==this.als.getStore()}get(e){return this.als.getStore()?.[e]}set(e,i){if(this.isProtectedKey(e))throw Error(`Cannot modify protected Lambda context field: ${String(e)}`);let n=this.als.getStore();if(!n)throw Error("No context available");n[e]=i}run(e,i){return this.als.run(e,i)}}G=eo||(eo={}),c=null,G.getInstanceAsync=async function(){return c||(c=(async()=>{let e="AWS_LAMBDA_MAX_CONCURRENCY"in process.env?await th.create():new tl;return!tu&&globalThis.awslambda?.InvokeStore?globalThis.awslambda.InvokeStore:(!tu&&globalThis.awslambda&&(globalThis.awslambda.InvokeStore=e),e)})()),c},G._testing="1"===process.env.AWS_LAMBDA_BENCHMARK_MODE?{reset:()=>{c=null,globalThis.awslambda?.InvokeStore&&delete globalThis.awslambda.InvokeStore,globalThis.awslambda={}}}:void 0;let tg="X-Amzn-Trace-Id",getRecursionDetectionPlugin=e=>({applyToStack:e=>{e.add(e=>async i=>{let{request:n}=i;if(!n6.isInstance(n))return e(i);let t=Object.keys(n.headers??{}).find(e=>e.toLowerCase()===tg.toLowerCase())??tg;if(n.headers.hasOwnProperty(t))return e(i);let a=process.env.AWS_LAMBDA_FUNCTION_NAME,r=process.env._X_AMZN_TRACE_ID,o=await eo.getInstanceAsync(),u=o?.getXRayTraceId()??r,nonEmptyString=e=>"string"==typeof e&&e.length>0;return nonEmptyString(a)&&nonEmptyString(u)&&(n.headers[tg]=u),e({...i,request:n})},tr)}});class tc{data;lastPurgeTime=Date.now();static EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS=3e4;constructor(e={}){this.data=e}get(e){let i=this.data[e];if(i)return i}set(e,i){return this.data[e]=i,i}delete(e){delete this.data[e]}async purgeExpired(){let e=Date.now();if(!(this.lastPurgeTime+tc.EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS>e))for(let i in this.data){let n=this.data[i];if(!n.isRefreshing){let t=await n.identity;t.expiration&&t.expiration.getTime()<e&&delete this.data[i]}}}}class td{_identity;isRefreshing;accessed;constructor(e,i=!1,n=Date.now()){this._identity=e,this.isRefreshing=i,this.accessed=n}get identity(){return this.accessed=Date.now(),this._identity}}class tp{createSessionFn;cache;static REFRESH_WINDOW_MS=6e4;constructor(e,i=new tc){this.createSessionFn=e,this.cache=i}async getS3ExpressIdentity(e,i){let n=i.Bucket,{cache:t}=this,a=t.get(n);return a?a.identity.then(e=>(e.expiration?.getTime()??0)<Date.now()?t.set(n,new td(this.getIdentity(n))).identity:((e.expiration?.getTime()??0)<Date.now()+tp.REFRESH_WINDOW_MS&&!a.isRefreshing&&(a.isRefreshing=!0,this.getIdentity(n).then(e=>{t.set(n,new td(Promise.resolve(e)))})),e)):t.set(n,new td(this.getIdentity(n))).identity}async getIdentity(e){await this.cache.purgeExpired().catch(e=>{console.warn("Error while clearing expired entries in S3ExpressIdentityCache: \n"+e)});let i=await this.createSessionFn(e);if(!i.Credentials?.AccessKeyId||!i.Credentials?.SecretAccessKey)throw Error("s3#createSession response credential missing AccessKeyId or SecretAccessKey.");return{accessKeyId:i.Credentials.AccessKeyId,secretAccessKey:i.Credentials.SecretAccessKey,sessionToken:i.Credentials.SessionToken,expiration:i.Credentials.Expiration?new Date(i.Credentials.Expiration):void 0}}}function bucketEndpointMiddleware(e){return(i,n)=>async t=>{if(e.bucketEndpoint){let e=n.endpointV2;if(e){let i=t.input.Bucket;if("string"==typeof i)try{let t=new URL(i);n.endpointV2={...e,url:t}}catch(t){let e=`@aws-sdk/middleware-sdk-s3: bucketEndpoint=true was set but Bucket=${i} could not be parsed as URL.`;throw n.logger?.constructor?.name==="NoOpLogger"?console.warn(e):n.logger?.warn?.(e),t}}}return i(t)}}let tf={name:"bucketEndpointMiddleware",override:!0,relation:"after",toMiddleware:"endpointV2Middleware"};function validateBucketNameMiddleware({bucketEndpoint:e}){return i=>async n=>{let{input:{Bucket:t}}=n;if(!e&&"string"==typeof t&&!("string"==typeof t&&0===t.indexOf("arn:")&&t.split(":").length>=6)&&t.indexOf("/")>=0){let e=Error(`Bucket name shouldn't contain '/', received '${t}'`);throw e.name="InvalidBucketName",e}return i({...n})}}let tm={step:"initialize",tags:["VALIDATE_BUCKET_NAME"],name:"validateBucketNameMiddleware",override:!0},ty={tags:["REGION_REDIRECT","S3"],name:"regionRedirectEndpointMiddleware",override:!0,relation:"before",toMiddleware:"endpointV2Middleware"};function regionRedirectMiddleware(e){return(i,n)=>async t=>{try{return await i(t)}catch(a){if(e.followRegionRedirects){let r=a?.$metadata?.httpStatusCode,o="HeadBucketCommand"===n.commandName,u=a?.$response?.headers?.["x-amz-bucket-region"];if(u&&(301===r||400===r&&(a?.name==="IllegalLocationConstraintException"||o))){try{n.logger?.debug(`Redirecting from ${await e.region()} to ${u}`),n.__s3RegionRedirect=u}catch(e){throw Error("Region redirect failed: "+e)}return i(t)}}throw a}}}let tS={step:"initialize",tags:["REGION_REDIRECT","S3"],name:"regionRedirectMiddleware",override:!0};function setFeature(e,i,n){e.__aws_sdk_context?e.__aws_sdk_context.features||(e.__aws_sdk_context.features={}):e.__aws_sdk_context={features:{}},e.__aws_sdk_context.features[i]=n}let booleanSelector=(e,i,n)=>{if(i in e){if("true"===e[i])return!0;if("false"===e[i])return!1;throw Error(`Cannot load ${n} "${i}". Expected "true" or "false", got ${e[i]}.`)}};(q=eu||(eu={})).ENV="env",q.CONFIG="shared config entry";let tb="X-Amz-S3session-Token",tC=tb.toLowerCase(),tw={environmentVariableSelector:e=>booleanSelector(e,"AWS_S3_DISABLE_EXPRESS_SESSION_AUTH",eu.ENV),configFileSelector:e=>booleanSelector(e,"s3_disable_express_session_auth",eu.CONFIG),default:!1},tT={name:"s3ExpressMiddleware",step:"build",tags:["S3","S3_EXPRESS"],override:!0},tx="__smithy_context",getSmithyContext=e=>e[tx]||(e[tx]={}),tL={step:"finalizeRequest",tags:["HTTP_SIGNING"],name:"httpSigningMiddleware",aliases:["apiKeyMiddleware","tokenMiddleware","awsAuthMiddleware"],override:!0,relation:"after",toMiddleware:"retryMiddleware"},getHttpSigningPlugin=e=>({applyToStack:e=>{e.addRelativeTo((e,i)=>async n=>{if(!n6.isInstance(n.request))return e(n);let t=getSmithyContext(i).selectedHttpAuthScheme;if(!t)throw Error("No HttpAuthScheme was selected: unable to sign request");let{httpAuthOption:{signingProperties:a={}},identity:r,signer:o}=t,u=await e({...n,request:await o.sign(n.request,r,a)}).catch((o.errorHandler||(e=>e=>{throw e}))(a));return(o.successHandler||((e,i)=>{}))(u.response,a),u},tL)}}),signS3Express=async(e,i,n,t)=>{let a=await t.signWithCredentials(n,e,{});if(a.headers["X-Amz-Security-Token"]||a.headers["x-amz-security-token"])throw Error("X-Amz-Security-Token must not be set for s3-express requests.");return a},normalizeProvider_normalizeProvider=e=>{if("function"==typeof e)return e;let i=Promise.resolve(e);return()=>i},tE;function isValidUserAgentAppId(e){return void 0===e||"string"==typeof e&&e.length<=50}function resolveUserAgentConfig(e){let i=normalizeProvider_normalizeProvider(e.userAgentAppId??tE),{customUserAgent:n}=e;return Object.assign(e,{customUserAgent:"string"==typeof n?[[n]]:n,userAgentAppId:async()=>{let n=await i();if(!isValidUserAgentAppId(n)){let i=e.logger?.constructor?.name!=="NoOpLogger"&&e.logger?e.logger:console;"string"!=typeof n?i?.warn("userAgentAppId must be a string or undefined."):n.length>50&&i?.warn("The provided userAgentAppId exceeds the maximum length of 50 characters.")}return n}})}let t_={},tY=RegExp("^(?!.*-$)(?!-)[a-zA-Z0-9-]{1,63}$"),isValidHostLabel=(e,i=!1)=>{if(!i)return tY.test(e);for(let i of e.split("."))if(!isValidHostLabel(i))return!1;return!0},tD=RegExp("^(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}$"),isIpAddress=e=>tD.test(e)||e.startsWith("[")&&e.endsWith("]"),isVirtualHostableS3Bucket=(e,i=!1)=>{if(i){for(let i of e.split("."))if(!isVirtualHostableS3Bucket(i))return!1;return!0}return!(!isValidHostLabel(e)||e.length<3||e.length>63||e!==e.toLowerCase()||isIpAddress(e))};var tv=JSON.parse('{"partitions":[{"id":"aws","outputs":{"dnsSuffix":"amazonaws.com","dualStackDnsSuffix":"api.aws","implicitGlobalRegion":"us-east-1","name":"aws","supportsDualStack":true,"supportsFIPS":true},"regionRegex":"^(us|eu|ap|sa|ca|me|af|il|mx)\\\\-\\\\w+\\\\-\\\\d+$","regions":{"af-south-1":{"description":"Africa (Cape Town)"},"ap-east-1":{"description":"Asia Pacific (Hong Kong)"},"ap-east-2":{"description":"Asia Pacific (Taipei)"},"ap-northeast-1":{"description":"Asia Pacific (Tokyo)"},"ap-northeast-2":{"description":"Asia Pacific (Seoul)"},"ap-northeast-3":{"description":"Asia Pacific (Osaka)"},"ap-south-1":{"description":"Asia Pacific (Mumbai)"},"ap-south-2":{"description":"Asia Pacific (Hyderabad)"},"ap-southeast-1":{"description":"Asia Pacific (Singapore)"},"ap-southeast-2":{"description":"Asia Pacific (Sydney)"},"ap-southeast-3":{"description":"Asia Pacific (Jakarta)"},"ap-southeast-4":{"description":"Asia Pacific (Melbourne)"},"ap-southeast-5":{"description":"Asia Pacific (Malaysia)"},"ap-southeast-6":{"description":"Asia Pacific (New Zealand)"},"ap-southeast-7":{"description":"Asia Pacific (Thailand)"},"aws-global":{"description":"aws global region"},"ca-central-1":{"description":"Canada (Central)"},"ca-west-1":{"description":"Canada West (Calgary)"},"eu-central-1":{"description":"Europe (Frankfurt)"},"eu-central-2":{"description":"Europe (Zurich)"},"eu-north-1":{"description":"Europe (Stockholm)"},"eu-south-1":{"description":"Europe (Milan)"},"eu-south-2":{"description":"Europe (Spain)"},"eu-west-1":{"description":"Europe (Ireland)"},"eu-west-2":{"description":"Europe (London)"},"eu-west-3":{"description":"Europe (Paris)"},"il-central-1":{"description":"Israel (Tel Aviv)"},"me-central-1":{"description":"Middle East (UAE)"},"me-south-1":{"description":"Middle East (Bahrain)"},"mx-central-1":{"description":"Mexico (Central)"},"sa-east-1":{"description":"South America (Sao Paulo)"},"us-east-1":{"description":"US East (N. Virginia)"},"us-east-2":{"description":"US East (Ohio)"},"us-west-1":{"description":"US West (N. California)"},"us-west-2":{"description":"US West (Oregon)"}}},{"id":"aws-cn","outputs":{"dnsSuffix":"amazonaws.com.cn","dualStackDnsSuffix":"api.amazonwebservices.com.cn","implicitGlobalRegion":"cn-northwest-1","name":"aws-cn","supportsDualStack":true,"supportsFIPS":true},"regionRegex":"^cn\\\\-\\\\w+\\\\-\\\\d+$","regions":{"aws-cn-global":{"description":"aws-cn global region"},"cn-north-1":{"description":"China (Beijing)"},"cn-northwest-1":{"description":"China (Ningxia)"}}},{"id":"aws-eusc","outputs":{"dnsSuffix":"amazonaws.eu","dualStackDnsSuffix":"api.amazonwebservices.eu","implicitGlobalRegion":"eusc-de-east-1","name":"aws-eusc","supportsDualStack":true,"supportsFIPS":true},"regionRegex":"^eusc\\\\-(de)\\\\-\\\\w+\\\\-\\\\d+$","regions":{"eusc-de-east-1":{"description":"EU (Germany)"}}},{"id":"aws-iso","outputs":{"dnsSuffix":"c2s.ic.gov","dualStackDnsSuffix":"api.aws.ic.gov","implicitGlobalRegion":"us-iso-east-1","name":"aws-iso","supportsDualStack":true,"supportsFIPS":true},"regionRegex":"^us\\\\-iso\\\\-\\\\w+\\\\-\\\\d+$","regions":{"aws-iso-global":{"description":"aws-iso global region"},"us-iso-east-1":{"description":"US ISO East"},"us-iso-west-1":{"description":"US ISO WEST"}}},{"id":"aws-iso-b","outputs":{"dnsSuffix":"sc2s.sgov.gov","dualStackDnsSuffix":"api.aws.scloud","implicitGlobalRegion":"us-isob-east-1","name":"aws-iso-b","supportsDualStack":true,"supportsFIPS":true},"regionRegex":"^us\\\\-isob\\\\-\\\\w+\\\\-\\\\d+$","regions":{"aws-iso-b-global":{"description":"aws-iso-b global region"},"us-isob-east-1":{"description":"US ISOB East (Ohio)"},"us-isob-west-1":{"description":"US ISOB West"}}},{"id":"aws-iso-e","outputs":{"dnsSuffix":"cloud.adc-e.uk","dualStackDnsSuffix":"api.cloud-aws.adc-e.uk","implicitGlobalRegion":"eu-isoe-west-1","name":"aws-iso-e","supportsDualStack":true,"supportsFIPS":true},"regionRegex":"^eu\\\\-isoe\\\\-\\\\w+\\\\-\\\\d+$","regions":{"aws-iso-e-global":{"description":"aws-iso-e global region"},"eu-isoe-west-1":{"description":"EU ISOE West"}}},{"id":"aws-iso-f","outputs":{"dnsSuffix":"csp.hci.ic.gov","dualStackDnsSuffix":"api.aws.hci.ic.gov","implicitGlobalRegion":"us-isof-south-1","name":"aws-iso-f","supportsDualStack":true,"supportsFIPS":true},"regionRegex":"^us\\\\-isof\\\\-\\\\w+\\\\-\\\\d+$","regions":{"aws-iso-f-global":{"description":"aws-iso-f global region"},"us-isof-east-1":{"description":"US ISOF EAST"},"us-isof-south-1":{"description":"US ISOF SOUTH"}}},{"id":"aws-us-gov","outputs":{"dnsSuffix":"amazonaws.com","dualStackDnsSuffix":"api.aws","implicitGlobalRegion":"us-gov-west-1","name":"aws-us-gov","supportsDualStack":true,"supportsFIPS":true},"regionRegex":"^us\\\\-gov\\\\-\\\\w+\\\\-\\\\d+$","regions":{"aws-us-gov-global":{"description":"aws-us-gov global region"},"us-gov-east-1":{"description":"AWS GovCloud (US-East)"},"us-gov-west-1":{"description":"AWS GovCloud (US-West)"}}}],"version":"1.1"}');let tA={isVirtualHostableS3Bucket:isVirtualHostableS3Bucket,parseArn:e=>{let i=e.split(":");if(i.length<6)return null;let[n,t,a,r,o,...u]=i;return"arn"!==n||""===t||""===a||""===u.join(":")?null:{partition:t,service:a,region:r,accountId:o,resourceId:u.map(e=>e.split("/")).flat()}},partition:e=>{let{partitions:i}=tv;for(let n of i){let{regions:i,outputs:t}=n;for(let[n,a]of Object.entries(i))if(n===e)return{...t,...a}}for(let n of i){let{regionRegex:i,outputs:t}=n;if(new RegExp(i).test(e))return{...t}}let n=i.find(e=>"aws"===e.id);if(!n)throw Error("Provided region was not found in the partition array or regex, and default partition with id 'aws' doesn't exist.");return{...n.outputs}}};t_.aws=tA;let tN=/\d{12}\.ddb/;async function checkFeatures(e,i,n){let t=n.request;if(t?.headers?.["smithy-protocol"]==="rpc-v2-cbor"&&setFeature(e,"PROTOCOL_RPC_V2_CBOR","M"),"function"==typeof i.retryStrategy){let n=await i.retryStrategy();"function"==typeof n.acquireInitialRetryToken?n.constructor?.name?.includes("Adaptive")?setFeature(e,"RETRY_MODE_ADAPTIVE","F"):setFeature(e,"RETRY_MODE_STANDARD","E"):setFeature(e,"RETRY_MODE_LEGACY","D")}if("function"==typeof i.accountIdEndpointMode){let n=e.endpointV2;switch(String(n?.url?.hostname).match(tN)&&setFeature(e,"ACCOUNT_ID_ENDPOINT","O"),await i.accountIdEndpointMode?.()){case"disabled":setFeature(e,"ACCOUNT_ID_MODE_DISABLED","Q");break;case"preferred":setFeature(e,"ACCOUNT_ID_MODE_PREFERRED","P");break;case"required":setFeature(e,"ACCOUNT_ID_MODE_REQUIRED","R")}}let a=e.__smithy_context?.selectedHttpAuthScheme?.identity;if(a?.$source)for(let[i,n]of(a.accountId&&setFeature(e,"RESOLVED_ACCOUNT_ID","T"),Object.entries(a.$source??{})))setFeature(e,i,n)}let tP="user-agent",tZ="x-amz-user-agent",tR=/[^!$%&'*+\-.^_`|~\w]/g,tM=/[^!$%&'*+\-.^_`|~\w#]/g;function encodeFeatures(e){let i="";for(let n in e){let t=e[n];if(i.length+t.length+1<=1024){i.length?i+=","+t:i+=t;continue}break}return i}let escapeUserAgent=e=>{let i=e[0].split("/").map(e=>e.replace(tR,"-")).join("/"),n=e[1]?.replace(tM,"-"),t=i.indexOf("/"),a=i.substring(0,t),r=i.substring(t+1);return"api"===a&&(r=r.toLowerCase()),[a,r,n].filter(e=>e&&e.length>0).reduce((e,i,n)=>{switch(n){case 0:return i;case 1:return`${e}/${i}`;default:return`${e}#${i}`}},"")},tJ={name:"getUserAgentMiddleware",step:"build",priority:"low",tags:["SET_USER_AGENT","USER_AGENT"],override:!0},getUserAgentPlugin=e=>({applyToStack:i=>{i.add((i,n)=>async t=>{let{request:a}=t;if(!n6.isInstance(a))return i(t);let{headers:r}=a,o=n?.userAgent?.map(escapeUserAgent)||[],u=(await e.defaultUserAgentProvider()).map(escapeUserAgent);await checkFeatures(n,e,t),u.push(`m/${encodeFeatures(Object.assign({},n.__smithy_context?.features,n.__aws_sdk_context?.features))}`);let s=e?.customUserAgent?.map(escapeUserAgent)||[],l=await e.userAgentAppId();l&&u.push(escapeUserAgent(["app",`${l}`]));let h=[].concat([...u,...o,...s]).join(" "),g=[...u.filter(e=>e.startsWith("aws-sdk-")),...s].join(" ");return"browser"!==e.runtime?(g&&(r[tZ]=r[tZ]?`${r[tP]} ${g}`:g),r[tP]=h):r[tZ]=h,i({...t,request:a})},tJ)}}),tk=new Set,isFipsRegion=e=>"string"==typeof e&&(e.startsWith("fips-")||e.endsWith("-fips")),resolveRegionConfig=e=>{let{region:i,useFipsEndpoint:n}=e;if(!i)throw Error("Region is missing");return Object.assign(e,{region:async()=>{let e,n=isFipsRegion(e="function"==typeof i?await i():i)?["fips-aws-global","aws-fips"].includes(e)?"us-east-1":e.replace(/fips-(dkr-|prod-)?|-fips/,""):e;return((e,i=isValidHostLabel)=>{if(tk.has(e)||i(e))tk.add(e);else if("*"===e)console.warn('@smithy/config-resolver WARN - Please use the caller region instead of "*". See "sigv4a" in https://github.com/aws/aws-sdk-js-v3/blob/main/supplemental-docs/CLIENTS.md.');else throw Error(`Region not accepted: region="${e}" is not a valid hostname component.`)})(n),n},useFipsEndpoint:async()=>!!isFipsRegion("string"==typeof i?i:await i())||("function"!=typeof n?Promise.resolve(!!n):n())})};function convertHttpAuthSchemesToMap(e){let i=new Map;for(let n of e)i.set(n.schemeId,n);return i}let tB={step:"serialize",tags:["HTTP_AUTH_SCHEME"],name:"httpAuthSchemeMiddleware",override:!0,relation:"before",toMiddleware:"endpointV2Middleware"},getHttpAuthSchemeEndpointRuleSetPlugin=(e,{httpAuthSchemeParametersProvider:i,identityProviderConfigProvider:n})=>({applyToStack:t=>{let a;t.addRelativeTo((a={httpAuthSchemeParametersProvider:i,identityProviderConfigProvider:n},(i,n)=>async t=>{let r=((e,i)=>{if(!i||0===i.length)return e;let n=[];for(let t of i)for(let i of e)i.schemeId.split("#")[1]===t&&n.push(i);for(let i of e)n.find(({schemeId:e})=>e===i.schemeId)||n.push(i);return n})(e.httpAuthSchemeProvider(await a.httpAuthSchemeParametersProvider(e,n,t.input)),e.authSchemePreference?await e.authSchemePreference():[]),o=convertHttpAuthSchemesToMap(e.httpAuthSchemes),u=getSmithyContext(n),s=[];for(let i of r){let t=o.get(i.schemeId);if(!t){s.push(`HttpAuthScheme \`${i.schemeId}\` was not enabled for this service.`);continue}let r=t.identityProvider(await a.identityProviderConfigProvider(e));if(!r){s.push(`HttpAuthScheme \`${i.schemeId}\` did not have an IdentityProvider configured.`);continue}let{identityProperties:l={},signingProperties:h={}}=i.propertiesExtractor?.(e,n)||{};i.identityProperties=Object.assign(i.identityProperties||{},l),i.signingProperties=Object.assign(i.signingProperties||{},h),u.selectedHttpAuthScheme={httpAuthOption:i,identity:await r(i.identityProperties),signer:t.signer};break}if(!u.selectedHttpAuthScheme)throw Error(s.join("\n"));return i(t)}),tB)}});class tH{authSchemes=new Map;constructor(e){for(let[i,n]of Object.entries(e))void 0!==n&&this.authSchemes.set(i,n)}getIdentityProvider(e){return this.authSchemes.get(e)}}class tF{statusCode;reason;headers;body;constructor(e){this.statusCode=e.statusCode,this.reason=e.reason,this.headers=e.headers||{},this.body=e.body}static isInstance(e){return!!e&&"number"==typeof e.statusCode&&"object"==typeof e.headers}}let operation_operation=(e,i,n,t,a)=>({name:i,namespace:e,traits:n,input:t,output:a}),findHeader=(e,i)=>(i.find(([i])=>i.match(e))||[void 0,void 0])[1],tX={name:"deserializerMiddleware",step:"deserialize",tags:["DESERIALIZER"],override:!0},tI={name:"serializerMiddleware",step:"serialize",tags:["SERIALIZER"],override:!0};function getSchemaSerdePlugin(e){return{applyToStack:i=>{i.add((i,n)=>async t=>{let{operationSchema:a}=getSmithyContext(n),[,r,o,u,s,l]=a??[],h=n.endpointV2?.url&&e.urlParser?async()=>e.urlParser(n.endpointV2.url):e.endpoint,g=await e.protocol.serializeRequest(operation_operation(r,o,u,s,l),t.input,{...e,...n,endpoint:h});return i({...t,request:g})},tI),i.add((i,n)=>async t=>{let{response:a}=await i(t),{operationSchema:r}=getSmithyContext(n),[,o,u,s,l,h]=r??[];try{let i=await e.protocol.deserializeResponse(operation_operation(o,u,s,l,h),{...e,...n},a);return{response:a,output:i}}catch(e){if(Object.defineProperty(e,"$response",{value:a,enumerable:!1,writable:!1,configurable:!1}),!("$metadata"in e)){let i="Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.";try{e.message+="\n "+i}catch(e){n.logger&&n.logger?.constructor?.name!=="NoOpLogger"?n.logger?.warn?.(i):console.warn(i)}void 0!==e.$responseBodyText&&e.$response&&(e.$response.body=e.$responseBodyText);try{if(tF.isInstance(a)){let{headers:i={}}=a,n=Object.entries(i);e.$metadata={httpStatusCode:a.statusCode,requestId:findHeader(/^x-[\w-]+-request-?id$/,n),extendedRequestId:findHeader(/^x-[\w-]+-id-2$/,n),cfId:findHeader(/^x-[\w-]+-cf-id$/,n)}}}catch(e){}}throw e}},tX),e.protocol.setSerdeContext(e)}}}let tO="content-length";function contentLengthMiddleware(e){return i=>async n=>{let t=n.request;if(n6.isInstance(t)){let{body:i,headers:n}=t;if(i&&-1===Object.keys(n).map(e=>e.toLowerCase()).indexOf(tO))try{let n=e(i);t.headers={...t.headers,[tO]:String(n)}}catch(e){}}return i({...n,request:t})}}let tQ={step:"build",tags:["SET_CONTENT_LENGTH","CONTENT_LENGTH"],name:"contentLengthMiddleware",override:!0},getContentLengthPlugin=e=>({applyToStack:i=>{i.add(contentLengthMiddleware(e.bodyLengthChecker),tQ)}}),memoize=(e,i,n)=>{let t,a,r,o=!1,coalesceProvider=async()=>{a||(a=e());try{t=await a,r=!0,o=!1}finally{a=void 0}return t};return void 0===i?async e=>((!r||e?.forceRefresh)&&(t=await coalesceProvider()),t):async e=>((!r||e?.forceRefresh)&&(t=await coalesceProvider()),o||(n&&!n(t)?o=!0:i(t)&&await coalesceProvider()),t)};class tU extends Error{name="ProviderError";tryNextLink;constructor(e,i=!0){let n,t=!0;"boolean"==typeof i?(n=void 0,t=i):null!=i&&"object"==typeof i&&(n=i.logger,t=i.tryNextLink??!0),super(e),this.tryNextLink=t,Object.setPrototypeOf(this,tU.prototype),n?.debug?.(`@smithy/property-provider ${t?"->":"(!)"} ${e}`)}static from(e,i=!0){return Object.assign(new this(e.message,i),e)}}let chain_chain=(...e)=>async()=>{let i;if(0===e.length)throw new tU("No providers in chain");for(let n of e)try{return await n()}catch(e){if(i=e,e?.tryNextLink)continue;throw e}throw i};class tG extends tU{name="CredentialsProviderError";constructor(e,i=!0){super(e,i),Object.setPrototypeOf(this,tG.prototype)}}function getSelectorName(e){try{let i=new Set(Array.from(e.match(/([A-Z_]){3,}/g)??[]));return i.delete("CONFIG"),i.delete("CONFIG_PREFIX_SEPARATOR"),i.delete("ENV"),[...i].join(", ")}catch(i){return e}}let tq="AWS_PROFILE",getProfileName=e=>e.profile||process.env[tq]||"default";($=es||(es={})).PROFILE="profile",$.SSO_SESSION="sso-session",$.SERVICES="services";let getConfigData=e=>Object.entries(e).filter(([e])=>{let i=e.indexOf(".");return -1!==i&&Object.values(es).includes(e.substring(0,i))}).reduce((e,[i,n])=>{let t=i.indexOf(".");return e[i.substring(0,t)===es.PROFILE?i.substring(t+1):i]=n,e},{...e.default&&{default:e.default}}),t$={},getHomeDir=()=>{let{HOME:e,USERPROFILE:i,HOMEPATH:n,HOMEDRIVE:t=`C:${n2.sep}`}=process.env;if(e)return e;if(i)return i;if(n)return`${t}${n}`;let a=process&&process.geteuid?`${process.geteuid()}`:"DEFAULT";return t$[a]||(t$[a]=(0,n4.homedir)()),t$[a]},getConfigFilepath=()=>process.env.AWS_CONFIG_FILE||(0,n2.join)(getHomeDir(),".aws","config"),tK=/^([\w-]+)\s(["'])?([\w-@\+\.%:/]+)\2$/,tz=["__proto__","profile __proto__"],parseIni=e=>{let i,n,t={};for(let a of e.split(/\r?\n/)){let e=a.split(/(^|\s)[;#]/)[0].trim();if("["===e[0]&&"]"===e[e.length-1]){i=void 0,n=void 0;let t=e.substring(1,e.length-1),a=tK.exec(t);if(a){let[,e,,n]=a;Object.values(es).includes(e)&&(i=[e,n].join("."))}else i=t;if(tz.includes(t))throw Error(`Found invalid profile name "${t}"`)}else if(i){let r=e.indexOf("=");if(![0,-1].includes(r)){let[o,u]=[e.substring(0,r).trim(),e.substring(r+1).trim()];if(""===u)n=o;else{n&&a.trimStart()===a&&(n=void 0),t[i]=t[i]||{};let e=n?[n,o].join("."):o;t[i][e]=u}}}}return t},tW=E("node:fs/promises"),tj={},tV={},readFile=(e,i)=>void 0!==tV[e]?tV[e]:((!tj[e]||i?.ignoreCache)&&(tj[e]=(0,tW.readFile)(e,"utf8")),tj[e]),swallowError=()=>({}),loadSharedConfigFiles=async(e={})=>{let{filepath:i=process.env.AWS_SHARED_CREDENTIALS_FILE||(0,n2.join)(getHomeDir(),".aws","credentials"),configFilepath:n=getConfigFilepath()}=e,t=getHomeDir(),a=i;i.startsWith("~/")&&(a=(0,n2.join)(t,i.slice(2)));let r=n;n.startsWith("~/")&&(r=(0,n2.join)(t,n.slice(2)));let o=await Promise.all([readFile(r,{ignoreCache:e.ignoreCache}).then(parseIni).then(getConfigData).catch(swallowError),readFile(a,{ignoreCache:e.ignoreCache}).then(parseIni).catch(swallowError)]);return{configFile:o[0],credentialsFile:o[1]}},loadConfig=({environmentVariableSelector:e,configFileSelector:i,default:n},t={})=>{let a,{signingName:r,logger:o}=t;return memoize(chain_chain((a={signingName:r,logger:o},async()=>{try{let i=e(process.env,a);if(void 0===i)throw Error();return i}catch(i){throw new tG(i.message||`Not found in ENV: ${getSelectorName(e.toString())}`,{logger:a?.logger})}}),((e,{preferredFile:i="config",...n}={})=>async()=>{let t=getProfileName(n),{configFile:a,credentialsFile:r}=await loadSharedConfigFiles(n),o=r[t]||{},u=a[t]||{},s="config"===i?{...o,...u}:{...u,...o};try{let n="config"===i?a:r,t=e(s,n);if(void 0===t)throw Error();return t}catch(i){throw new tG(i.message||`Not found in config files w/ profile [${t}]: ${getSelectorName(e.toString())}`,{logger:n.logger})}})(i,t),(e=>"function"==typeof e?async()=>await e():()=>Promise.resolve(e))(n)))},t0="AWS_ENDPOINT_URL",t1="endpoint_url",getEndpointFromConfig=async e=>{let i;return loadConfig((i=e??"",{environmentVariableSelector:e=>{let n=e[[t0,...i.split(" ").map(e=>e.toUpperCase())].join("_")];if(n)return n;let t=e[t0];if(t)return t},configFileSelector:(e,n)=>{if(n&&e.services){let t=n[["services",e.services].join(".")];if(t){let e=t[[i.split(" ").map(e=>e.toLowerCase()).join("_"),t1].join(".")];if(e)return e}}let t=e[t1];if(t)return t},default:void 0}))()};function parseQueryString(e){let i={};if(e=e.replace(/^\?/,""))for(let n of e.split("&")){let[e,t=null]=n.split("=");e=decodeURIComponent(e),t&&(t=decodeURIComponent(t)),e in i?Array.isArray(i[e])?i[e].push(t):i[e]=[i[e],t]:i[e]=t}return i}let dist_es_parseUrl=e=>{let i;if("string"==typeof e)return dist_es_parseUrl(new URL(e));let{hostname:n,pathname:t,port:a,protocol:r,search:o}=e;return o&&(i=parseQueryString(o)),{hostname:n,port:a?parseInt(a):void 0,protocol:r,path:t,query:i}},toEndpointV1_toEndpointV1=e=>"object"==typeof e?"url"in e?dist_es_parseUrl(e.url):e:dist_es_parseUrl(e),resolveEndpointConfig=e=>{let i,n=e.tls??!0,{endpoint:t,useDualstackEndpoint:a,useFipsEndpoint:r}=e,o=Object.assign(e,{endpoint:null!=t?async()=>toEndpointV1_toEndpointV1(await normalizeProvider(t)()):void 0,tls:n,isCustomEndpoint:!!t,useDualstackEndpoint:normalizeProvider(a??!1),useFipsEndpoint:normalizeProvider(r??!1)});return o.serviceConfiguredEndpoint=async()=>(e.serviceId&&!i&&(i=getEndpointFromConfig(e.serviceId)),i),o};(K=el||(el={})).STANDARD="standard",K.ADAPTIVE="adaptive";let t3=el.STANDARD,t2=["BandwidthLimitExceeded","EC2ThrottledException","LimitExceededException","PriorRequestNotComplete","ProvisionedThroughputExceededException","RequestLimitExceeded","RequestThrottled","RequestThrottledException","SlowDown","ThrottledException","Throttling","ThrottlingException","TooManyRequestsException","TransactionInProgressException"],t4=["TimeoutError","RequestTimeout","RequestTimeoutException"],t8=[500,502,503,504],t6=["ECONNRESET","ECONNREFUSED","EPIPE","ETIMEDOUT"],t5=["EHOSTUNREACH","ENETUNREACH","ENOTFOUND"],isThrottlingError=e=>e.$metadata?.httpStatusCode===429||t2.includes(e.name)||e.$retryable?.throttling==!0,isTransientError=(e,i=0)=>{let n;return e?.$retryable!==void 0||e.$metadata?.clockSkewCorrected||t4.includes(e.name)||t6.includes(e?.code||"")||t5.includes(e?.code||"")||t8.includes(e.$metadata?.httpStatusCode||0)||(n=new Set(["Failed to fetch","NetworkError when attempting to fetch resource","The Internet connection appears to be offline","Load failed","Network request failed"]),!!(e&&e instanceof TypeError)&&n.has(e.message))||void 0!==e.cause&&i<=10&&isTransientError(e.cause,i+1)};class t7{static setTimeoutFn=setTimeout;beta;minCapacity;minFillRate;scaleConstant;smooth;currentCapacity=0;enabled=!1;lastMaxRate=0;measuredTxRate=0;requestCount=0;fillRate;lastThrottleTime;lastTimestamp=0;lastTxRateBucket;maxCapacity;timeWindow=0;constructor(e){this.beta=e?.beta??.7,this.minCapacity=e?.minCapacity??1,this.minFillRate=e?.minFillRate??.5,this.scaleConstant=e?.scaleConstant??.4,this.smooth=e?.smooth??.8;let i=this.getCurrentTimeInSeconds();this.lastThrottleTime=i,this.lastTxRateBucket=Math.floor(this.getCurrentTimeInSeconds()),this.fillRate=this.minFillRate,this.maxCapacity=this.minCapacity}getCurrentTimeInSeconds(){return Date.now()/1e3}async getSendToken(){return this.acquireTokenBucket(1)}async acquireTokenBucket(e){if(this.enabled){if(this.refillTokenBucket(),e>this.currentCapacity){let i=(e-this.currentCapacity)/this.fillRate*1e3;await new Promise(e=>t7.setTimeoutFn(e,i))}this.currentCapacity=this.currentCapacity-e}}refillTokenBucket(){let e=this.getCurrentTimeInSeconds();if(!this.lastTimestamp){this.lastTimestamp=e;return}let i=(e-this.lastTimestamp)*this.fillRate;this.currentCapacity=Math.min(this.maxCapacity,this.currentCapacity+i),this.lastTimestamp=e}updateClientSendingRate(e){let i;if(this.updateMeasuredRate(),isThrottlingError(e)){let e=this.enabled?Math.min(this.measuredTxRate,this.fillRate):this.measuredTxRate;this.lastMaxRate=e,this.calculateTimeWindow(),this.lastThrottleTime=this.getCurrentTimeInSeconds(),i=this.cubicThrottle(e),this.enableTokenBucket()}else this.calculateTimeWindow(),i=this.cubicSuccess(this.getCurrentTimeInSeconds());let n=Math.min(i,2*this.measuredTxRate);this.updateTokenBucketRate(n)}calculateTimeWindow(){this.timeWindow=this.getPrecise(Math.pow(this.lastMaxRate*(1-this.beta)/this.scaleConstant,1/3))}cubicThrottle(e){return this.getPrecise(e*this.beta)}cubicSuccess(e){return this.getPrecise(this.scaleConstant*Math.pow(e-this.lastThrottleTime-this.timeWindow,3)+this.lastMaxRate)}enableTokenBucket(){this.enabled=!0}updateTokenBucketRate(e){this.refillTokenBucket(),this.fillRate=Math.max(e,this.minFillRate),this.maxCapacity=Math.max(e,this.minCapacity),this.currentCapacity=Math.min(this.currentCapacity,this.maxCapacity)}updateMeasuredRate(){let e=Math.floor(2*this.getCurrentTimeInSeconds())/2;if(this.requestCount++,e>this.lastTxRateBucket){let i=this.requestCount/(e-this.lastTxRateBucket);this.measuredTxRate=this.getPrecise(i*this.smooth+this.measuredTxRate*(1-this.smooth)),this.requestCount=0,this.lastTxRateBucket=e}}getPrecise(e){return parseFloat(e.toFixed(8))}}let createDefaultRetryToken=({retryDelay:e,retryCount:i,retryCost:n})=>({getRetryCount:()=>i,getRetryDelay:()=>Math.min(2e4,e),getRetryCost:()=>n});class t9{maxAttempts;mode=el.STANDARD;capacity=500;retryBackoffStrategy=(()=>{let e=100;return{computeNextBackoffDelay:i=>Math.floor(Math.min(2e4,Math.random()*2**i*e)),setDelayBase:i=>{e=i}}})();maxAttemptsProvider;constructor(e){this.maxAttempts=e,this.maxAttemptsProvider="function"==typeof e?e:async()=>e}async acquireInitialRetryToken(e){return createDefaultRetryToken({retryDelay:100,retryCount:0})}async refreshRetryTokenForRetry(e,i){let n=await this.getMaxAttempts();if(this.shouldRetry(e,i,n)){let n=i.errorType;this.retryBackoffStrategy.setDelayBase("THROTTLING"===n?500:100);let t=this.retryBackoffStrategy.computeNextBackoffDelay(e.getRetryCount()),a=i.retryAfterHint?Math.max(i.retryAfterHint.getTime()-Date.now()||0,t):t,r=this.getCapacityCost(n);return this.capacity-=r,createDefaultRetryToken({retryDelay:a,retryCount:e.getRetryCount()+1,retryCost:r})}throw Error("No retry token available")}recordSuccess(e){this.capacity=Math.max(500,this.capacity+(e.getRetryCost()??1))}getCapacity(){return this.capacity}async getMaxAttempts(){try{return await this.maxAttemptsProvider()}catch(e){return console.warn("Max attempts provider could not resolve. Using default of 3"),3}}shouldRetry(e,i,n){return e.getRetryCount()+1<n&&this.capacity>=this.getCapacityCost(i.errorType)&&this.isRetryableError(i.errorType)}getCapacityCost(e){return"TRANSIENT"===e?10:5}isRetryableError(e){return"THROTTLING"===e||"TRANSIENT"===e}}class ae{maxAttemptsProvider;rateLimiter;standardRetryStrategy;mode=el.ADAPTIVE;constructor(e,i){this.maxAttemptsProvider=e;let{rateLimiter:n}=i??{};this.rateLimiter=n??new t7,this.standardRetryStrategy=new t9(e)}async acquireInitialRetryToken(e){return await this.rateLimiter.getSendToken(),this.standardRetryStrategy.acquireInitialRetryToken(e)}async refreshRetryTokenForRetry(e,i){return this.rateLimiter.updateClientSendingRate(i),this.standardRetryStrategy.refreshRetryTokenForRetry(e,i)}recordSuccess(e){this.rateLimiter.updateClientSendingRate({}),this.standardRetryStrategy.recordSuccess(e)}}let ai="AWS_MAX_ATTEMPTS",an="max_attempts",at={environmentVariableSelector:e=>{let i=e[ai];if(!i)return;let n=parseInt(i);if(Number.isNaN(n))throw Error(`Environment variable ${ai} mast be a number, got "${i}"`);return n},configFileSelector:e=>{let i=e[an];if(!i)return;let n=parseInt(i);if(Number.isNaN(n))throw Error(`Shared config file entry ${an} mast be a number, got "${i}"`);return n},default:3},resolveRetryConfig=e=>{let{retryStrategy:i,retryMode:n,maxAttempts:t}=e,a=normalizeProvider(t??3);return Object.assign(e,{maxAttempts:a,retryStrategy:async()=>i||(await normalizeProvider(n)()===el.ADAPTIVE?new ae(a):new t9(a))})},aa={environmentVariableSelector:e=>e.AWS_RETRY_MODE,configFileSelector:e=>e.retry_mode,default:t3};class ar{trace(){}debug(){}info(){}warn(){}error(){}}let ao=E("crypto"),au=ao.default.randomUUID.bind(ao.default),as=Array.from({length:256},(e,i)=>i.toString(16).padStart(2,"0")),v4=()=>{if(au)return au();let e=new Uint8Array(16);return crypto.getRandomValues(e),e[6]=15&e[6]|64,e[8]=63&e[8]|128,as[e[0]]+as[e[1]]+as[e[2]]+as[e[3]]+"-"+as[e[4]]+as[e[5]]+"-"+as[e[6]]+as[e[7]]+"-"+as[e[8]]+as[e[9]]+"-"+as[e[10]]+as[e[11]]+as[e[12]]+as[e[13]]+as[e[14]]+as[e[15]]},al=E("stream"),isStreamingPayload=e=>e?.body instanceof al.Readable||"u">typeof ReadableStream&&e?.body instanceof ReadableStream,asSdkError=e=>e instanceof Error?e:e instanceof Object?Object.assign(Error(),e):"string"==typeof e?Error(e):Error(`AWS SDK error wrapper for ${e}`),getRetryErrorInfo=e=>{let i={error:e,errorType:getRetryErrorType(e)},n=getRetryAfterHint(e.$response);return n&&(i.retryAfterHint=n),i},getRetryErrorType=e=>isThrottlingError(e)?"THROTTLING":isTransientError(e)?"TRANSIENT":(e=>{if(e.$metadata?.httpStatusCode!==void 0){let i=e.$metadata.httpStatusCode;if(500<=i&&i<=599&&!isTransientError(e))return!0}return!1})(e)?"SERVER_ERROR":"CLIENT_ERROR",ah={name:"retryMiddleware",tags:["RETRY"],step:"finalizeRequest",priority:"high",override:!0},getRetryPlugin=e=>({applyToStack:i=>{i.add((i,n)=>async t=>{let a,r=await e.retryStrategy(),o=await e.maxAttempts();if(void 0===(a=r).acquireInitialRetryToken||void 0===a.refreshRetryTokenForRetry||void 0===a.recordSuccess)return r?.mode&&(n.userAgent=[...n.userAgent||[],["cfg/retry-mode",r.mode]]),r.retry(i,t);{let e=await r.acquireInitialRetryToken(n.partition_id),a=Error(),u=0,s=0,{request:l}=t,h=n6.isInstance(l);for(h&&(l.headers["amz-sdk-invocation-id"]=v4());;)try{h&&(l.headers["amz-sdk-request"]=`attempt=${u+1}; max=${o}`);let{response:n,output:a}=await i(t);return r.recordSuccess(e),a.$metadata.attempts=u+1,a.$metadata.totalRetryDelay=s,{response:n,output:a}}catch(o){let i=getRetryErrorInfo(o);if(a=asSdkError(o),h&&isStreamingPayload(l))throw(n.logger instanceof ar?console:n.logger)?.warn("An error was encountered in a non-retryable streaming request."),a;try{e=await r.refreshRetryTokenForRetry(e,i)}catch(e){throw a.$metadata||(a.$metadata={}),a.$metadata.attempts=u+1,a.$metadata.totalRetryDelay=s,a}u=e.getRetryCount();let t=e.getRetryDelay();s+=t,await new Promise(e=>setTimeout(e,t))}}},ah)}}),getRetryAfterHint=e=>{if(!tF.isInstance(e))return;let i=Object.keys(e.headers).find(e=>"retry-after"===e.toLowerCase());if(!i)return;let n=e.headers[i],t=Number(n);return new Date(Number.isNaN(t)?n:1e3*t)},getAllAliases=(e,i)=>{let n=[];if(e&&n.push(e),i)for(let e of i)n.push(e);return n},getMiddlewareNameWithAliases=(e,i)=>`${e||"anonymous"}${i&&i.length>0?` (a.k.a. ${i.join(",")})`:""}`,constructStack=()=>{let e=[],i=[],n=!1,t=new Set,cloneTo=n=>(e.forEach(e=>{n.add(e.middleware,{...e})}),i.forEach(e=>{n.addRelativeTo(e.middleware,{...e})}),n.identifyOnResolve?.(a.identifyOnResolve()),n),expandRelativeMiddlewareList=e=>{let i=[];return e.before.forEach(e=>{0===e.before.length&&0===e.after.length?i.push(e):i.push(...expandRelativeMiddlewareList(e))}),i.push(e),e.after.reverse().forEach(e=>{0===e.before.length&&0===e.after.length?i.push(e):i.push(...expandRelativeMiddlewareList(e))}),i},getMiddlewareList=(n=!1)=>{let t=[],a=[],r={};return e.forEach(e=>{let i={...e,before:[],after:[]};for(let e of getAllAliases(i.name,i.aliases))r[e]=i;t.push(i)}),i.forEach(e=>{let i={...e,before:[],after:[]};for(let e of getAllAliases(i.name,i.aliases))r[e]=i;a.push(i)}),a.forEach(e=>{if(e.toMiddleware){let i=r[e.toMiddleware];if(void 0===i){if(n)return;throw Error(`${e.toMiddleware} is not found when adding ${getMiddlewareNameWithAliases(e.name,e.aliases)} middleware ${e.relation} ${e.toMiddleware}`)}"after"===e.relation&&i.after.push(e),"before"===e.relation&&i.before.push(e)}}),t.sort((e,i)=>ag[i.step]-ag[e.step]||ac[i.priority||"normal"]-ac[e.priority||"normal"]).map(expandRelativeMiddlewareList).reduce((e,i)=>(e.push(...i),e),[])},a={add:(i,n={})=>{let{name:a,override:r,aliases:o}=n,u={step:"initialize",priority:"normal",middleware:i,...n},s=getAllAliases(a,o);if(s.length>0){if(s.some(e=>t.has(e))){if(!r)throw Error(`Duplicate middleware name '${getMiddlewareNameWithAliases(a,o)}'`);for(let i of s){let n=e.findIndex(e=>e.name===i||e.aliases?.some(e=>e===i));if(-1===n)continue;let t=e[n];if(t.step!==u.step||u.priority!==t.priority)throw Error(`"${getMiddlewareNameWithAliases(t.name,t.aliases)}" middleware with ${t.priority} priority in ${t.step} step cannot be overridden by "${getMiddlewareNameWithAliases(a,o)}" middleware with ${u.priority} priority in ${u.step} step.`);e.splice(n,1)}}for(let e of s)t.add(e)}e.push(u)},addRelativeTo:(e,n)=>{let{name:a,override:r,aliases:o}=n,u={middleware:e,...n},s=getAllAliases(a,o);if(s.length>0){if(s.some(e=>t.has(e))){if(!r)throw Error(`Duplicate middleware name '${getMiddlewareNameWithAliases(a,o)}'`);for(let e of s){let n=i.findIndex(i=>i.name===e||i.aliases?.some(i=>i===e));if(-1===n)continue;let t=i[n];if(t.toMiddleware!==u.toMiddleware||t.relation!==u.relation)throw Error(`"${getMiddlewareNameWithAliases(t.name,t.aliases)}" middleware ${t.relation} "${t.toMiddleware}" middleware cannot be overridden by "${getMiddlewareNameWithAliases(a,o)}" middleware ${u.relation} "${u.toMiddleware}" middleware.`);i.splice(n,1)}}for(let e of s)t.add(e)}i.push(u)},clone:()=>cloneTo(constructStack()),use:e=>{e.applyToStack(a)},remove:n=>{let a,r;if("string"==typeof n){let a,r;return a=!1,r=e=>{let i=getAllAliases(e.name,e.aliases);if(i.includes(n)){for(let e of(a=!0,i))t.delete(e);return!1}return!0},e=e.filter(r),i=i.filter(r),a}return a=!1,r=e=>{if(e.middleware===n){for(let i of(a=!0,getAllAliases(e.name,e.aliases)))t.delete(i);return!1}return!0},e=e.filter(r),i=i.filter(r),a},removeByTag:n=>{let a=!1,filterCb=e=>{let{tags:i,name:r,aliases:o}=e;if(i&&i.includes(n)){for(let e of getAllAliases(r,o))t.delete(e);return a=!0,!1}return!0};return e=e.filter(filterCb),i=i.filter(filterCb),a},concat:e=>{let i=cloneTo(constructStack());return i.use(e),i.identifyOnResolve(n||i.identifyOnResolve()||(e.identifyOnResolve?.()??!1)),i},applyToStack:cloneTo,identify:()=>getMiddlewareList(!0).map(e=>{let i=e.step??e.relation+" "+e.toMiddleware;return getMiddlewareNameWithAliases(e.name,e.aliases)+" - "+i}),identifyOnResolve:e=>("boolean"==typeof e&&(n=e),n),resolve:(e,i)=>{for(let n of getMiddlewareList().map(e=>e.middleware).reverse())e=n(e,i);return n&&console.log(a.identify()),e}};return a},ag={initialize:5,serialize:4,build:3,finalizeRequest:2,deserialize:1},ac={high:3,normal:2,low:1};class ad{config;middlewareStack=constructStack();initConfig;handlers;constructor(e){this.config=e;let{protocol:i,protocolSettings:n}=e;n&&"function"==typeof i&&(e.protocol=new i(n))}send(e,i,n){let t,a="function"!=typeof i?i:void 0,r="function"==typeof i?i:n;if(void 0===a&&!0===this.config.cacheMiddleware){this.handlers||(this.handlers=new WeakMap);let i=this.handlers;i.has(e.constructor)?t=i.get(e.constructor):(t=e.resolveMiddleware(this.middlewareStack,this.config,a),i.set(e.constructor,t))}else delete this.handlers,t=e.resolveMiddleware(this.middlewareStack,this.config,a);if(!r)return t(e).then(e=>e.output);t(e).then(e=>r(null,e.output),e=>r(e)).catch(()=>{})}destroy(){this.config?.requestHandler?.destroy?.(),delete this.handlers}}function setCredentialFeature(e,i,n){return e.$source||(e.$source={}),e.$source[i]=n,e}let memoizeIdentityProvider_isIdentityExpired=function(e){return doesIdentityRequireRefresh(e)&&e.expiration.getTime()-Date.now()<3e5},doesIdentityRequireRefresh=e=>void 0!==e.expiration,ap={},af={};for(let e=0;e<256;e++){let i=e.toString(16).toLowerCase();1===i.length&&(i=`0${i}`),ap[e]=i,af[i]=e}function fromHex(e){if(e.length%2!=0)throw Error("Hex encoded strings must have an even number length");let i=new Uint8Array(e.length/2);for(let n=0;n<e.length;n+=2){let t=e.slice(n,n+2).toLowerCase();if(t in af)i[n/2]=af[t];else throw Error(`Cannot decode unrecognized sequence ${t} as hexadecimal`)}return i}function toHex(e){let i="";for(let n=0;n<e.byteLength;n++)i+=ap[e[n]];return i}let dist_es_isArrayBuffer=e=>"function"==typeof ArrayBuffer&&e instanceof ArrayBuffer||"[object ArrayBuffer]"===Object.prototype.toString.call(e),am=E("buffer"),dist_es_fromArrayBuffer=(e,i=0,n=e.byteLength-i)=>{if(!dist_es_isArrayBuffer(e))throw TypeError(`The "input" argument must be ArrayBuffer. Received type ${typeof e} (${e})`);return am.Buffer.from(e,i,n)},fromString=(e,i)=>{if("string"!=typeof e)throw TypeError(`The "input" argument must be of type string. Received type ${typeof e} (${e})`);return i?am.Buffer.from(e,i):am.Buffer.from(e)},fromUtf8_fromUtf8=e=>{let i=fromString(e,"utf8");return new Uint8Array(i.buffer,i.byteOffset,i.byteLength/Uint8Array.BYTES_PER_ELEMENT)},toUint8Array=e=>"string"==typeof e?fromUtf8_fromUtf8(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(e),ay="X-Amz-Date",aS="X-Amz-Signature",ab="X-Amz-Security-Token",aC="authorization",aw=ay.toLowerCase(),aT=[aC,aw,"date"],ax=aS.toLowerCase(),aL="x-amz-content-sha256",aE=ab.toLowerCase(),a_={authorization:!0,"cache-control":!0,connection:!0,expect:!0,from:!0,"keep-alive":!0,"max-forwards":!0,pragma:!0,referer:!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0,"user-agent":!0,"x-amzn-trace-id":!0},aY=/^proxy-/,aD=/^sec-/,av="AWS4-HMAC-SHA256",aA="aws4_request",aN={},aP=[],createScope=(e,i,n)=>`${e}/${i}/${n}/${aA}`,getSigningKey=async(e,i,n,t,a)=>{let r=await hmac(e,i.secretAccessKey,i.accessKeyId),o=`${n}:${t}:${a}:${toHex(r)}:${i.sessionToken}`;if(o in aN)return aN[o];for(aP.push(o);aP.length>50;)delete aN[aP.shift()];let u=`AWS4${i.secretAccessKey}`;for(let i of[n,t,a,aA])u=await hmac(e,u,i);return aN[o]=u},hmac=(e,i,n)=>{let t=new e(i);return t.update(toUint8Array(n)),t.digest()},getCanonicalHeaders=({headers:e},i,n)=>{let t={};for(let a of Object.keys(e).sort()){if(void 0==e[a])continue;let r=a.toLowerCase();(!(r in a_||i?.has(r)||aY.test(r)||aD.test(r))||n&&(!n||n.has(r)))&&(t[r]=e[a].trim().replace(/\s+/g," "))}return t},getPayloadHash=async({headers:e,body:i},n)=>{for(let i of Object.keys(e))if(i.toLowerCase()===aL)return e[i];if(void 0==i)return"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";if("string"==typeof i||ArrayBuffer.isView(i)||dist_es_isArrayBuffer(i)){let e=new n;return e.update(toUint8Array(i)),toHex(await e.digest())}return"UNSIGNED-PAYLOAD"};class aZ{format(e){let i=[];for(let n of Object.keys(e)){let t=fromUtf8_fromUtf8(n);i.push(Uint8Array.from([t.byteLength]),t,this.formatHeaderValue(e[n]))}let n=new Uint8Array(i.reduce((e,i)=>e+i.byteLength,0)),t=0;for(let e of i)n.set(e,t),t+=e.byteLength;return n}formatHeaderValue(e){switch(e.type){case"boolean":return Uint8Array.from([+!e.value]);case"byte":return Uint8Array.from([2,e.value]);case"short":let i=new DataView(new ArrayBuffer(3));return i.setUint8(0,3),i.setInt16(1,e.value,!1),new Uint8Array(i.buffer);case"integer":let n=new DataView(new ArrayBuffer(5));return n.setUint8(0,4),n.setInt32(1,e.value,!1),new Uint8Array(n.buffer);case"long":let t=new Uint8Array(9);return t[0]=5,t.set(e.value.bytes,1),t;case"binary":let a=new DataView(new ArrayBuffer(3+e.value.byteLength));a.setUint8(0,6),a.setUint16(1,e.value.byteLength,!1);let r=new Uint8Array(a.buffer);return r.set(e.value,3),r;case"string":let o=fromUtf8_fromUtf8(e.value),u=new DataView(new ArrayBuffer(3+o.byteLength));u.setUint8(0,7),u.setUint16(1,o.byteLength,!1);let s=new Uint8Array(u.buffer);return s.set(o,3),s;case"timestamp":let l=new Uint8Array(9);return l[0]=8,l.set(aM.fromNumber(e.value.valueOf()).bytes,1),l;case"uuid":if(!aR.test(e.value))throw Error(`Invalid UUID received: ${e.value}`);let h=new Uint8Array(17);return h[0]=9,h.set(fromHex(e.value.replace(/\-/g,"")),1),h}}}(z=eh||(eh={}))[z.boolTrue=0]="boolTrue",z[z.boolFalse=1]="boolFalse",z[z.byte=2]="byte",z[z.short=3]="short",z[z.integer=4]="integer",z[z.long=5]="long",z[z.byteArray=6]="byteArray",z[z.string=7]="string",z[z.timestamp=8]="timestamp",z[z.uuid=9]="uuid";let aR=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;class aM{bytes;constructor(e){if(this.bytes=e,8!==e.byteLength)throw Error("Int64 buffers must be exactly 8 bytes")}static fromNumber(e){if(e>0x8000000000000000||e<-0x8000000000000000)throw Error(`${e} is too large (or, if negative, too small) to represent as an Int64`);let i=new Uint8Array(8);for(let n=7,t=Math.abs(Math.round(e));n>-1&&t>0;n--,t/=256)i[n]=t;return e<0&&negate(i),new aM(i)}valueOf(){let e=this.bytes.slice(0),i=128&e[0];return i&&negate(e),parseInt(toHex(e),16)*(i?-1:1)}toString(){return String(this.valueOf())}}function negate(e){for(let i=0;i<8;i++)e[i]^=255;for(let i=7;i>-1&&(e[i]++,0===e[i]);i--);}let prepareRequest=e=>{for(let i of Object.keys((e=n6.clone(e)).headers))aT.indexOf(i.toLowerCase())>-1&&delete e.headers[i];return e},escapeUri=e=>encodeURIComponent(e).replace(/[!'()*]/g,hexEncode),hexEncode=e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`;class aJ{service;regionProvider;credentialProvider;sha256;uriEscapePath;applyChecksum;constructor({applyChecksum:e,credentials:i,region:n,service:t,sha256:a,uriEscapePath:r=!0}){this.service=t,this.sha256=a,this.uriEscapePath=r,this.applyChecksum="boolean"!=typeof e||e,this.regionProvider=normalizeProvider(n),this.credentialProvider=normalizeProvider(i)}createCanonicalRequest(e,i,n){let t=Object.keys(i).sort();return`${e.method}
|
|
45
45
|
${this.getCanonicalPath(e)}
|
|
46
|
-
${(({query:e={}})=>{let i=[],n={};for(let t of Object.keys(e)){if(t.toLowerCase()===
|
|
46
|
+
${(({query:e={}})=>{let i=[],n={};for(let t of Object.keys(e)){if(t.toLowerCase()===ax)continue;let a=escapeUri(t);i.push(a);let r=e[t];"string"==typeof r?n[a]=`${a}=${escapeUri(r)}`:Array.isArray(r)&&(n[a]=r.slice(0).reduce((e,i)=>e.concat([`${a}=${escapeUri(i)}`]),[]).sort().join("&"))}return i.sort().map(e=>n[e]).filter(e=>e).join("&")})(e)}
|
|
47
47
|
${t.map(e=>`${e}:${i[e]}`).join("\n")}
|
|
48
48
|
|
|
49
49
|
${t.join(";")}
|
|
50
50
|
${n}`}async createStringToSign(e,i,n,t){let a=new this.sha256;a.update(toUint8Array(n));let r=await a.digest();return`${t}
|
|
51
51
|
${e}
|
|
52
52
|
${i}
|
|
53
|
-
${toHex(r)}`}getCanonicalPath({path:e}){if(this.uriEscapePath){let i=[];for(let n of e.split("/"))n?.length!==0&&"."!==n&&(".."===n?i.pop():i.push(n));return escapeUri(`${e?.startsWith("/")?"/":""}${i.join("/")}${i.length>0&&e?.endsWith("/")?"/":""}`).replace(/%2F/g,"/")}return e}validateResolvedCredentials(e){if("object"!=typeof e||"string"!=typeof e.accessKeyId||"string"!=typeof e.secretAccessKey)throw Error("Resolved credential object is not valid")}formatDate(e){var i;let n=("number"==typeof(i=e)?new Date(1e3*i):"string"==typeof i?new Date(Number(i)?1e3*Number(i):i):i).toISOString().replace(/\.\d{3}Z$/,"Z").replace(/[\-:]/g,"");return{longDate:n,shortDate:n.slice(0,8)}}getCanonicalHeaderList(e){return Object.keys(e).sort().join(";")}}class aM extends aR{headerFormatter=new aN;constructor({applyChecksum:e,credentials:i,region:n,service:t,sha256:a,uriEscapePath:r=!0}){super({applyChecksum:e,credentials:i,region:n,service:t,sha256:a,uriEscapePath:r})}async presign(e,i={}){let{signingDate:n=new Date,expiresIn:t=3600,unsignableHeaders:a,unhoistableHeaders:r,signableHeaders:o,hoistableHeaders:u,signingRegion:s,signingService:l}=i,h=await this.credentialProvider();this.validateResolvedCredentials(h);let g=s??await this.regionProvider(),{longDate:c,shortDate:d}=this.formatDate(n);if(t>604800)return Promise.reject("Signature version 4 presigned URLs must have an expiration date less than one week in the future");let p=createScope(d,g,l??this.service),f=((e,i={})=>{let{headers:n,query:t={}}=n4.clone(e);for(let e of Object.keys(n)){let a=e.toLowerCase();("x-amz-"===a.slice(0,6)&&!i.unhoistableHeaders?.has(a)||i.hoistableHeaders?.has(a))&&(t[e]=n[e],delete n[e])}return{...e,headers:n,query:t}})(prepareRequest(e),{unhoistableHeaders:r,hoistableHeaders:u});h.sessionToken&&(f.query[ay]=h.sessionToken),f.query["X-Amz-Algorithm"]=aY,f.query["X-Amz-Credential"]=`${h.accessKeyId}/${p}`,f.query[af]=c,f.query["X-Amz-Expires"]=t.toString(10);let m=getCanonicalHeaders(f,a,o);return f.query["X-Amz-SignedHeaders"]=this.getCanonicalHeaderList(m),f.query[am]=await this.getSignature(c,p,this.getSigningKey(h,g,d,l),this.createCanonicalRequest(f,m,await getPayloadHash(e,this.sha256))),f}async sign(e,i){return"string"==typeof e?this.signString(e,i):e.headers&&e.payload?this.signEvent(e,i):e.message?this.signMessage(e,i):this.signRequest(e,i)}async signEvent({headers:e,payload:i},{signingDate:n=new Date,priorSignature:t,signingRegion:a,signingService:r}){let o=a??await this.regionProvider(),{shortDate:u,longDate:s}=this.formatDate(n),l=createScope(u,o,r??this.service),h=await getPayloadHash({headers:{},body:i},this.sha256),g=new this.sha256;g.update(e);let c=["AWS4-HMAC-SHA256-PAYLOAD",s,l,t,toHex(await g.digest()),h].join("\n");return this.signString(c,{signingDate:n,signingRegion:o,signingService:r})}async signMessage(e,{signingDate:i=new Date,signingRegion:n,signingService:t}){return this.signEvent({headers:this.headerFormatter.format(e.message.headers),payload:e.message.body},{signingDate:i,signingRegion:n,signingService:t,priorSignature:e.priorSignature}).then(i=>({message:e.message,signature:i}))}async signString(e,{signingDate:i=new Date,signingRegion:n,signingService:t}={}){let a=await this.credentialProvider();this.validateResolvedCredentials(a);let r=n??await this.regionProvider(),{shortDate:o}=this.formatDate(i),u=new this.sha256(await this.getSigningKey(a,r,o,t));return u.update(toUint8Array(e)),toHex(await u.digest())}async signRequest(e,{signingDate:i=new Date,signableHeaders:n,unsignableHeaders:t,signingRegion:a,signingService:r}={}){let o=await this.credentialProvider();this.validateResolvedCredentials(o);let u=a??await this.regionProvider(),s=prepareRequest(e),{longDate:l,shortDate:h}=this.formatDate(i),g=createScope(h,u,r??this.service);s.headers[ab]=l,o.sessionToken&&(s.headers[ax]=o.sessionToken);let c=await getPayloadHash(s,this.sha256);!((e,i)=>{for(let n of(e=e.toLowerCase(),Object.keys(i)))if(e===n.toLowerCase())return!0;return!1})(aT,s.headers)&&this.applyChecksum&&(s.headers[aT]=c);let d=getCanonicalHeaders(s,t,n),p=await this.getSignature(l,g,this.getSigningKey(o,u,h,r),this.createCanonicalRequest(s,d,c));return s.headers[aS]=`${aY} Credential=${o.accessKeyId}/${g}, SignedHeaders=${this.getCanonicalHeaderList(d)}, Signature=${p}`,s}async getSignature(e,i,n,t){let a=await this.createStringToSign(e,i,t,aY),r=new this.sha256(await n);return r.update(toUint8Array(a)),toHex(await r.digest())}getSigningKey(e,i,n,t){return getSigningKey(this.sha256,e,n,i,t||this.service)}}let resolveAwsSdkSigV4Config=e=>{let i,n,t=e.credentials,a=!!e.credentials;Object.defineProperty(e,"credentials",{set(n){n&&n!==t&&n!==i&&(a=!0);let r=normalizeCredentialProvider(e,{credentials:t=n,credentialDefaultProvider:e.credentialDefaultProvider}),o=bindCallerConfig(e,r);if(a&&!o.attributed){let e="object"==typeof t&&null!==t;(i=async i=>{let n=await o(i);return e&&(!n.$source||0===Object.keys(n.$source).length)?setCredentialFeature(n,"CREDENTIALS_CODE","e"):n}).memoized=o.memoized,i.configBound=o.configBound,i.attributed=!0}else i=o},get:()=>i,enumerable:!0,configurable:!0}),e.credentials=t;let{signingEscapePath:r=!0,systemClockOffset:o=e.systemClockOffset||0,sha256:u}=e;return n=e.signer?normalizeProvider_normalizeProvider(e.signer):e.regionInfoProvider?()=>normalizeProvider_normalizeProvider(e.region)().then(async i=>[await e.regionInfoProvider(i,{useFipsEndpoint:await e.useFipsEndpoint(),useDualstackEndpoint:await e.useDualstackEndpoint()})||{},i]).then(([i,n])=>{let{signingRegion:t,signingService:a}=i;e.signingRegion=e.signingRegion||t||n,e.signingName=e.signingName||a||e.serviceId;let o={...e,credentials:e.credentials,region:e.signingRegion,service:e.signingName,sha256:u,uriEscapePath:r};return new(e.signerConstructor||aM)(o)}):async i=>{let n=(i=Object.assign({},{name:"sigv4",signingName:e.signingName||e.defaultSigningName,signingRegion:await normalizeProvider_normalizeProvider(e.region)(),properties:{}},i)).signingRegion,t=i.signingName;e.signingRegion=e.signingRegion||n,e.signingName=e.signingName||t||e.serviceId;let a={...e,credentials:e.credentials,region:e.signingRegion,service:e.signingName,sha256:u,uriEscapePath:r};return new(e.signerConstructor||aM)(a)},Object.assign(e,{systemClockOffset:o,signingEscapePath:r,signer:n})};function normalizeCredentialProvider(e,{credentials:i,credentialDefaultProvider:n}){let t;return(t=i?i?.memoized?i:((e,i,n)=>{let t,a,r;if(void 0===e)return;let o="function"!=typeof e?async()=>Promise.resolve(e):e,u=!1,coalesceProvider=async e=>{a||(a=o(e));try{t=await a,r=!0,u=!1}finally{a=void 0}return t};return void 0===i?async e=>((!r||e?.forceRefresh)&&(t=await coalesceProvider(e)),t):async e=>((!r||e?.forceRefresh)&&(t=await coalesceProvider(e)),u||(n(t)?i(t)&&await coalesceProvider(e):u=!0),t)})(i,memoizeIdentityProvider_isIdentityExpired,doesIdentityRequireRefresh):n?normalizeProvider_normalizeProvider(n(Object.assign({},e,{parentClientConfig:e}))):async()=>{throw Error("@aws-sdk/core::resolveAwsSdkSigV4Config - `credentials` not provided and no credentialDefaultProvider was configured.")}).memoized=!0,t}function bindCallerConfig(e,i){if(i.configBound)return i;let fn=async n=>i({...n,callerClientConfig:e});return fn.memoized=i.memoized,fn.configBound=!0,fn}let aJ={environmentVariableSelector(e){if(e.AWS_SIGV4A_SIGNING_REGION_SET)return e.AWS_SIGV4A_SIGNING_REGION_SET.split(",").map(e=>e.trim());throw new tO("AWS_SIGV4A_SIGNING_REGION_SET not set in env.",{tryNextLink:!0})},configFileSelector(e){if(e.sigv4a_signing_region_set)return(e.sigv4a_signing_region_set??"").split(",").map(e=>e.trim());throw new tO("sigv4a_signing_region_set not set in profile.",{tryNextLink:!0})},default:void 0};class ak extends aM{async signWithCredentials(e,i,n){let t=getCredentialsWithoutSessionToken(i);return e.headers[tS]=i.sessionToken,setSingleOverride(this,t),this.signRequest(e,n??{})}async presignWithCredentials(e,i,n){let t=getCredentialsWithoutSessionToken(i);return delete e.headers[tS],e.headers[ty]=i.sessionToken,e.query=e.query??{},e.query[ty]=i.sessionToken,setSingleOverride(this,t),this.presign(e,n)}}function getCredentialsWithoutSessionToken(e){return{accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,expiration:e.expiration}}function setSingleOverride(e,i){let n=setTimeout(()=>{throw Error("SignatureV4S3Express credential override was created but not called.")},10),t=e.credentialProvider;e.credentialProvider=()=>(clearTimeout(n),e.credentialProvider=t,Promise.resolve(i))}class aB{sigv4aSigner;sigv4Signer;signerOptions;static sigv4aDependency(){return"none"}constructor(e){this.sigv4Signer=new ak(e),this.signerOptions=e}async sign(e,i={}){return"*"===i.signingRegion?this.getSigv4aSigner().sign(e,i):this.sigv4Signer.sign(e,i)}async signWithCredentials(e,i,n={}){if("*"===n.signingRegion){let e=this.getSigv4aSigner();!1;throw Error('signWithCredentials with signingRegion \'*\' is only supported when using the CRT dependency @aws-sdk/signature-v4-crt. Please check whether you have installed the "@aws-sdk/signature-v4-crt" package explicitly. You must also register the package by calling [require("@aws-sdk/signature-v4-crt");] or an ESM equivalent such as [import "@aws-sdk/signature-v4-crt";]. For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt')}return this.sigv4Signer.signWithCredentials(e,i,n)}async presign(e,i={}){if("*"===i.signingRegion){let e=this.getSigv4aSigner();!1;throw Error('presign with signingRegion \'*\' is only supported when using the CRT dependency @aws-sdk/signature-v4-crt. Please check whether you have installed the "@aws-sdk/signature-v4-crt" package explicitly. You must also register the package by calling [require("@aws-sdk/signature-v4-crt");] or an ESM equivalent such as [import "@aws-sdk/signature-v4-crt";]. For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt')}return this.sigv4Signer.presign(e,i)}async presignWithCredentials(e,i,n={}){if("*"===n.signingRegion)throw Error("Method presignWithCredentials is not supported for [signingRegion=*].");return this.sigv4Signer.presignWithCredentials(e,i,n)}getSigv4aSigner(){if(!this.sigv4aSigner)if("node"===this.signerOptions.runtime){!0;throw Error("Neither CRT nor JS SigV4a implementation is available. Please load either @aws-sdk/signature-v4-crt or @aws-sdk/signature-v4a. For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt")}else{!0;throw Error("JS SigV4a implementation is not available or not a valid constructor. Please check whether you have installed the @aws-sdk/signature-v4a package explicitly. The CRT implementation is not available for browsers. You must also register the package by calling [require('@aws-sdk/signature-v4a');] or an ESM equivalent such as [import '@aws-sdk/signature-v4a';]. For more information please go to https://github.com/aws/aws-sdk-js-v3#using-javascript-non-crt-implementation-of-sigv4a")}return this.sigv4aSigner}}let resolveParamsForS3=async e=>{let i=e?.Bucket||"";if("string"==typeof e.Bucket&&(e.Bucket=i.replace(/#/g,encodeURIComponent("#")).replace(/\?/g,encodeURIComponent("?"))),isArnBucketName(i)){if(!0===e.ForcePathStyle)throw Error("Path-style addressing cannot be used with ARN buckets")}else isDnsCompatibleBucketName(i)&&(-1===i.indexOf(".")||String(e.Endpoint).startsWith("http:"))&&i.toLowerCase()===i&&!(i.length<3)||(e.ForcePathStyle=!0);return e.DisableMultiRegionAccessPoints&&(e.disableMultiRegionAccessPoints=!0,e.DisableMRAP=!0),e},aH=/^[a-z0-9][a-z0-9\.\-]{1,61}[a-z0-9]$/,aF=/(\d+\.){3}\d+/,aX=/\.\./,isDnsCompatibleBucketName=e=>aH.test(e)&&!aF.test(e)&&!aX.test(e),isArnBucketName=e=>{let[i,n,t,,,a]=e.split(":"),r="arn"===i&&e.split(":").length>=6,o=!!(r&&n&&t&&a);if(r&&!o)throw Error(`Invalid ARN: ${e} was an invalid ARN.`);return o},createConfigValueProvider=(e,i,n,t=!1)=>{let configProvider=async()=>{let a;if(t){let t=n.clientContextParams;a=t?.[e]??n[e]??n[i]}else a=n[e]??n[i];return"function"==typeof a?a():a};return"credentialScope"===e||"CredentialScope"===i?async()=>{let e="function"==typeof n.credentials?await n.credentials():n.credentials;return e?.credentialScope??e?.CredentialScope}:"accountId"===e||"AccountId"===i?async()=>{let e="function"==typeof n.credentials?await n.credentials():n.credentials;return e?.accountId??e?.AccountId}:"endpoint"===e||"endpoint"===i?async()=>{if(!1===n.isCustomEndpoint)return;let e=await configProvider();if(e&&"object"==typeof e){if("url"in e)return e.url.href;if("hostname"in e){let{protocol:i,hostname:n,port:t,path:a}=e;return`${i}//${n}${t?":"+t:""}${a}`}}return e}:configProvider},getEndpointFromInstructions=async(e,i,n,t)=>{if(!n.isCustomEndpoint){let e;(e=n.serviceConfiguredEndpoint?await n.serviceConfiguredEndpoint():await getEndpointFromConfig(n.serviceId))&&(n.endpoint=()=>Promise.resolve(toEndpointV1_toEndpointV1(e)),n.isCustomEndpoint=!0)}let a=await resolveParams(e,i,n);if("function"!=typeof n.endpointProvider)throw Error("config.endpointProvider is not set.");return n.endpointProvider(a,t)},resolveParams=async(e,i,n)=>{let t={},a=i?.getEndpointParameterInstructions?.()||{};for(let[i,r]of Object.entries(a))switch(r.type){case"staticContextParams":t[i]=r.value;break;case"contextParams":t[i]=e[r.name];break;case"clientContextParams":case"builtInParams":t[i]=await createConfigValueProvider(r.name,i,n,"builtInParams"!==r.type)();break;case"operationContextParams":t[i]=r.get(e);break;default:throw Error("Unrecognized endpoint parameter instruction: "+JSON.stringify(r))}return 0===Object.keys(a).length&&Object.assign(t,n),"s3"===String(n.serviceId).toLowerCase()&&await resolveParamsForS3(t),t};class aI{capacity;data=new Map;parameters=[];constructor({size:e,params:i}){this.capacity=e??50,i&&(this.parameters=i)}get(e,i){let n=this.hash(e);if(!1===n)return i();if(!this.data.has(n)){if(this.data.size>this.capacity+10){let e=this.data.keys(),i=0;for(;;){let{value:n,done:t}=e.next();if(this.data.delete(n),t||++i>10)break}}this.data.set(n,i())}return this.data.get(n)}size(){return this.data.size}hash(e){let i="",{parameters:n}=this;if(0===n.length)return!1;for(let t of n){let n=String(e[t]??"");if(n.includes("|;"))return!1;i+=n+"|;"}return i}}let aO="endpoints";function toDebugString(e){return"object"!=typeof e||null==e?e:"ref"in e?`$${toDebugString(e.ref)}`:"fn"in e?`${e.fn}(${(e.argv||[]).map(toDebugString).join(", ")})`:JSON.stringify(e,null,2)}class aQ extends Error{constructor(e){super(e),this.name="EndpointError"}}let getAttr=(e,i)=>(e=>{let i=e.split("."),n=[];for(let t of i){let i=t.indexOf("[");if(-1!==i){if(t.indexOf("]")!==t.length-1)throw new aQ(`Path: '${e}' does not end with ']'`);let a=t.slice(i+1,-1);if(Number.isNaN(parseInt(a)))throw new aQ(`Invalid array index: '${a}' in path: '${e}'`);0!==i&&n.push(t.slice(0,i)),n.push(a)}else n.push(t)}return n})(i).reduce((n,t)=>{if("object"!=typeof n)throw new aQ(`Index '${t}' in '${i}' not found in '${JSON.stringify(e)}'`);return Array.isArray(n)?n[parseInt(t)]:n[t]},e);(W=eg||(eg={})).HTTP="http",W.HTTPS="https";let aU={[eg.HTTP]:80,[eg.HTTPS]:443},aG={booleanEquals:(e,i)=>e===i,getAttr:getAttr,isSet:e=>null!=e,isValidHostLabel:isValidHostLabel,not:e=>!e,parseURL:e=>{let i=(()=>{try{if(e instanceof URL)return e;if("object"==typeof e&&"hostname"in e){let{hostname:i,port:n,protocol:t="",path:a="",query:r={}}=e,o=new URL(`${t}//${i}${n?`:${n}`:""}${a}`);return o.search=Object.entries(r).map(([e,i])=>`${e}=${i}`).join("&"),o}return new URL(e)}catch(e){return null}})();if(!i)return console.error(`Unable to parse ${JSON.stringify(e)} as a whatwg URL.`),null;let n=i.href,{host:t,hostname:a,pathname:r,protocol:o,search:u}=i;if(u)return null;let s=o.slice(0,-1);if(!Object.values(eg).includes(s))return null;let l=isIpAddress(a),h=n.includes(`${t}:${aU[s]}`)||"string"==typeof e&&e.includes(`${t}:${aU[s]}`),g=`${t}${h?`:${aU[s]}`:""}`;return{scheme:s,authority:g,path:r,normalizedPath:r.endsWith("/")?r:`${r}/`,isIp:l}},stringEquals:(e,i)=>e===i,substring:(e,i,n,t)=>i>=n||e.length<n?null:t?e.substring(e.length-n,e.length-i):e.substring(i,n),uriEncode:e=>encodeURIComponent(e).replace(/[!*'()]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`)},evaluateTemplate=(e,i)=>{let n=[],t={...i.endpointParams,...i.referenceRecord},a=0;for(;a<e.length;){let i=e.indexOf("{",a);if(-1===i){n.push(e.slice(a));break}n.push(e.slice(a,i));let r=e.indexOf("}",i);if(-1===r){n.push(e.slice(i));break}"{"===e[i+1]&&"}"===e[r+1]&&(n.push(e.slice(i+1,r)),a=r+2);let o=e.substring(i+1,r);if(o.includes("#")){let[e,i]=o.split("#");n.push(getAttr(t[e],i))}else n.push(t[o]);a=r+1}return n.join("")},evaluateExpression=(e,i,n)=>{if("string"==typeof e)return evaluateTemplate(e,n);if(e.fn)return aq.callFunction(e,n);if(e.ref)return(({ref:e},i)=>({...i.endpointParams,...i.referenceRecord})[e])(e,n);throw new aQ(`'${i}': ${String(e)} is not a string, function or reference.`)},callFunction=({fn:e,argv:i},n)=>{let t=i.map(e=>["boolean","number"].includes(typeof e)?e:aq.evaluateExpression(e,"arg",n)),a=e.split(".");return a[0]in tL&&null!=a[1]?tL[a[0]][a[1]](...t):aG[e](...t)},aq={evaluateExpression:evaluateExpression,callFunction:callFunction},evaluateCondition=({assign:e,...i},n)=>{if(e&&e in n.referenceRecord)throw new aQ(`'${e}' is already defined in Reference Record.`);let t=callFunction(i,n);return n.logger?.debug?.(`${aO} evaluateCondition: ${toDebugString(i)} = ${toDebugString(t)}`),{result:""===t||!!t,...null!=e&&{toAssign:{name:e,value:t}}}},evaluateConditions=(e=[],i)=>{let n={};for(let t of e){let{result:e,toAssign:a}=evaluateCondition(t,{...i,referenceRecord:{...i.referenceRecord,...n}});if(!e)return{result:e};a&&(n[a.name]=a.value,i.logger?.debug?.(`${aO} assign: ${a.name} := ${toDebugString(a.value)}`))}return{result:!0,referenceRecord:n}},getEndpointProperties=(e,i)=>Object.entries(e).reduce((e,[n,t])=>({...e,[n]:a$.getEndpointProperty(t,i)}),{}),getEndpointProperty=(e,i)=>{if(Array.isArray(e))return e.map(e=>getEndpointProperty(e,i));switch(typeof e){case"string":return evaluateTemplate(e,i);case"object":if(null===e)throw new aQ(`Unexpected endpoint property: ${e}`);return a$.getEndpointProperties(e,i);case"boolean":return e;default:throw new aQ(`Unexpected endpoint property type: ${typeof e}`)}},a$={getEndpointProperty:getEndpointProperty,getEndpointProperties:getEndpointProperties},evaluateEndpointRule=(e,i)=>{let{conditions:n,endpoint:t}=e,{result:a,referenceRecord:r}=evaluateConditions(n,i);if(!a)return;let o={...i,referenceRecord:{...i.referenceRecord,...r}},{url:u,properties:s,headers:l}=t;return i.logger?.debug?.(`${aO} Resolving endpoint from template: ${toDebugString(t)}`),{...void 0!=l&&{headers:Object.entries(l).reduce((e,[i,n])=>({...e,[i]:n.map(e=>{let n=evaluateExpression(e,"Header value entry",o);if("string"!=typeof n)throw new aQ(`Header '${i}' value '${n}' is not a string`);return n})}),{})},...void 0!=s&&{properties:getEndpointProperties(s,o)},url:((e,i)=>{let n=evaluateExpression(e,"Endpoint URL",i);if("string"==typeof n)try{return new URL(n)}catch(e){throw console.error(`Failed to construct URL with ${n}`,e),e}throw new aQ(`Endpoint URL must be a string, got ${typeof n}`)})(u,o)}},evaluateErrorRule=(e,i)=>{let{conditions:n,error:t}=e,{result:a,referenceRecord:r}=evaluateConditions(n,i);if(a)throw new aQ(evaluateExpression(t,"Error",{...i,referenceRecord:{...i.referenceRecord,...r}}))},evaluateRules=(e,i)=>{for(let n of e)if("endpoint"===n.type){let e=evaluateEndpointRule(n,i);if(e)return e}else if("error"===n.type)evaluateErrorRule(n,i);else if("tree"===n.type){let e=aK.evaluateTreeRule(n,i);if(e)return e}else throw new aQ(`Unknown endpoint rule: ${n}`);throw new aQ("Rules evaluation failed")},aK={evaluateRules:evaluateRules,evaluateTreeRule:(e,i)=>{let{conditions:n,rules:t}=e,{result:a,referenceRecord:r}=evaluateConditions(n,i);if(a)return aK.evaluateRules(t,{...i,referenceRecord:{...i.referenceRecord,...r}})}},resolveEndpoint=(e,i)=>{let{endpointParams:n,logger:t}=i,{parameters:a,rules:r}=e;i.logger?.debug?.(`${aO} Initial EndpointParams: ${toDebugString(n)}`);let o=Object.entries(a).filter(([,e])=>null!=e.default).map(([e,i])=>[e,i.default]);if(o.length>0)for(let[e,i]of o)n[e]=n[e]??i;for(let e of Object.entries(a).filter(([,e])=>e.required).map(([e])=>e))if(null==n[e])throw new aQ(`Missing required parameter: '${e}'`);let u=evaluateRules(r,{endpointParams:n,logger:t,referenceRecord:{}});return i.logger?.debug?.(`${aO} Resolved endpoint: ${toDebugString(u)}`),u},az="required",aW="type",aj="rules",aV="conditions",a0="argv",a1="assign",a3="properties",a2="backend",a4="authSchemes",a8="disableDoubleEncoding",a6="signingName",a5="signingRegion",a7="headers",a9="signingRegionSet",re="isSet",ri="booleanEquals",rn="error",rt="aws.partition",ra="stringEquals",rr="getAttr",ro="name",ru="substring",rs="bucketSuffix",rl="parseURL",rh="endpoint",rg="tree",rc="aws.isVirtualHostableS3Bucket",rd="{url#scheme}://{Bucket}.{url#authority}{url#path}",rp="accessPointSuffix",rf="{url#scheme}://{url#authority}{url#path}",rm="hardwareType",ry="regionPrefix",rS="bucketAliasSuffix",rb="outpostId",rC="isValidHostLabel",rw="sigv4a",rT="s3-outposts",rx="{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}",rL="https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}",rE="https://{Bucket}.s3.{partitionResult#dnsSuffix}",r_="aws.parseArn",rY="bucketArn",rD="arnType",rv="s3-object-lambda",rA="accesspoint",rN="accessPointName",rP="{url#scheme}://{accessPointName}-{bucketArn#accountId}.{url#authority}{url#path}",rZ="mrapPartition",rR="outpostType",rM="arnPrefix",rJ="{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}",rk="https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",rB="https://s3.{partitionResult#dnsSuffix}",rH={[az]:!1,[aW]:"string"},rF={[az]:!0,default:!1,[aW]:"boolean"},rX={[az]:!1,[aW]:"boolean"},rI={fn:ri,[a0]:[{ref:"Accelerate"},!0]},rO={fn:ri,[a0]:[{ref:"UseFIPS"},!0]},rQ={fn:ri,[a0]:[{ref:"UseDualStack"},!0]},rU={fn:re,[a0]:[{ref:"Endpoint"}]},rG={fn:rt,[a0]:[{ref:"Region"}],[a1]:"partitionResult"},rq={fn:ra,[a0]:[{fn:rr,[a0]:[{ref:"partitionResult"},ro]},"aws-cn"]},r$={fn:re,[a0]:[{ref:"Bucket"}]},rK={ref:"Bucket"},rz={[aV]:[rI],[rn]:"S3Express does not support S3 Accelerate.",[aW]:rn},rW={[aV]:[rU,{fn:rl,[a0]:[{ref:"Endpoint"}],[a1]:"url"}],[aj]:[{[aV]:[{fn:re,[a0]:[{ref:"DisableS3ExpressSessionAuth"}]},{fn:ri,[a0]:[{ref:"DisableS3ExpressSessionAuth"},!0]}],[aj]:[{[aV]:[{fn:ri,[a0]:[{fn:rr,[a0]:[{ref:"url"},"isIp"]},!0]}],[aj]:[{[aV]:[{fn:"uriEncode",[a0]:[rK],[a1]:"uri_encoded_bucket"}],[aj]:[{[rh]:{url:"{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}",[a3]:{[a2]:"S3Express",[a4]:[{[a8]:!0,[ro]:"sigv4",[a6]:"s3express",[a5]:"{Region}"}]},[a7]:{}},[aW]:rh}],[aW]:rg}],[aW]:rg},{[aV]:[{fn:rc,[a0]:[rK,!1]}],[aj]:[{[rh]:{url:rd,[a3]:{[a2]:"S3Express",[a4]:[{[a8]:!0,[ro]:"sigv4",[a6]:"s3express",[a5]:"{Region}"}]},[a7]:{}},[aW]:rh}],[aW]:rg},{[rn]:"S3Express bucket name is not a valid virtual hostable name.",[aW]:rn}],[aW]:rg},{[aV]:[{fn:ri,[a0]:[{fn:rr,[a0]:[{ref:"url"},"isIp"]},!0]}],[aj]:[{[aV]:[{fn:"uriEncode",[a0]:[rK],[a1]:"uri_encoded_bucket"}],[aj]:[{[rh]:{url:"{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}",[a3]:{[a2]:"S3Express",[a4]:[{[a8]:!0,[ro]:"sigv4-s3express",[a6]:"s3express",[a5]:"{Region}"}]},[a7]:{}},[aW]:rh}],[aW]:rg}],[aW]:rg},{[aV]:[{fn:rc,[a0]:[rK,!1]}],[aj]:[{[rh]:{url:rd,[a3]:{[a2]:"S3Express",[a4]:[{[a8]:!0,[ro]:"sigv4-s3express",[a6]:"s3express",[a5]:"{Region}"}]},[a7]:{}},[aW]:rh}],[aW]:rg},{[rn]:"S3Express bucket name is not a valid virtual hostable name.",[aW]:rn}],[aW]:rg},rj={fn:rl,[a0]:[{ref:"Endpoint"}],[a1]:"url"},rV={fn:ri,[a0]:[{fn:rr,[a0]:[{ref:"url"},"isIp"]},!0]},r0={ref:"url"},r1={fn:"uriEncode",[a0]:[rK],[a1]:"uri_encoded_bucket"},r3={[a2]:"S3Express",[a4]:[{[a8]:!0,[ro]:"sigv4",[a6]:"s3express",[a5]:"{Region}"}]},r2={},r4={fn:rc,[a0]:[rK,!1]},r8={[rn]:"S3Express bucket name is not a valid virtual hostable name.",[aW]:rn},r6={fn:re,[a0]:[{ref:"UseS3ExpressControlEndpoint"}]},r5={fn:ri,[a0]:[{ref:"UseS3ExpressControlEndpoint"},!0]},r7={fn:"not",[a0]:[rU]},r9={fn:ri,[a0]:[{ref:"UseDualStack"},!1]},oe={fn:ri,[a0]:[{ref:"UseFIPS"},!1]},oi={[rn]:"Unrecognized S3Express bucket name format.",[aW]:rn},on={fn:"not",[a0]:[r$]},ot={ref:rm},oa={[aV]:[r7],[rn]:"Expected a endpoint to be specified but no endpoint was found",[aW]:rn},oo={[a4]:[{[a8]:!0,[ro]:rw,[a6]:rT,[a9]:["*"]},{[a8]:!0,[ro]:"sigv4",[a6]:rT,[a5]:"{Region}"}]},ou={fn:ri,[a0]:[{ref:"ForcePathStyle"},!1]},os={fn:ri,[a0]:[{ref:"Accelerate"},!1]},ol={fn:ra,[a0]:[{ref:"Region"},"aws-global"]},oh={[a4]:[{[a8]:!0,[ro]:"sigv4",[a6]:"s3",[a5]:"us-east-1"}]},og={fn:"not",[a0]:[ol]},oc={fn:ri,[a0]:[{ref:"UseGlobalEndpoint"},!0]},od={url:"https://{Bucket}.s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",[a3]:{[a4]:[{[a8]:!0,[ro]:"sigv4",[a6]:"s3",[a5]:"{Region}"}]},[a7]:{}},op={[a4]:[{[a8]:!0,[ro]:"sigv4",[a6]:"s3",[a5]:"{Region}"}]},of={fn:ri,[a0]:[{ref:"UseGlobalEndpoint"},!1]},om={url:"https://{Bucket}.s3-fips.{Region}.{partitionResult#dnsSuffix}",[a3]:op,[a7]:{}},oy={url:"https://{Bucket}.s3-accelerate.dualstack.{partitionResult#dnsSuffix}",[a3]:op,[a7]:{}},oS={url:"https://{Bucket}.s3.dualstack.{Region}.{partitionResult#dnsSuffix}",[a3]:op,[a7]:{}},ob={fn:ri,[a0]:[{fn:rr,[a0]:[r0,"isIp"]},!1]},oC={url:rx,[a3]:op,[a7]:{}},ow={url:rd,[a3]:op,[a7]:{}},oT={[rh]:ow,[aW]:rh},ox={url:rL,[a3]:op,[a7]:{}},oL={url:"https://{Bucket}.s3.{Region}.{partitionResult#dnsSuffix}",[a3]:op,[a7]:{}},oE={[rn]:"Invalid region: region was not a valid DNS name.",[aW]:rn},o_={ref:rY},oY={ref:rD},oD={fn:rr,[a0]:[o_,"service"]},ov={ref:rN},oA={[aV]:[rQ],[rn]:"S3 Object Lambda does not support Dual-stack",[aW]:rn},oN={[aV]:[rI],[rn]:"S3 Object Lambda does not support S3 Accelerate",[aW]:rn},oP={[aV]:[{fn:re,[a0]:[{ref:"DisableAccessPoints"}]},{fn:ri,[a0]:[{ref:"DisableAccessPoints"},!0]}],[rn]:"Access points are not supported for this operation",[aW]:rn},oZ={[aV]:[{fn:re,[a0]:[{ref:"UseArnRegion"}]},{fn:ri,[a0]:[{ref:"UseArnRegion"},!1]},{fn:"not",[a0]:[{fn:ra,[a0]:[{fn:rr,[a0]:[o_,"region"]},"{Region}"]}]}],[rn]:"Invalid configuration: region from ARN `{bucketArn#region}` does not match client region `{Region}` and UseArnRegion is `false`",[aW]:rn},oR={fn:rr,[a0]:[{ref:"bucketPartition"},ro]},oM={fn:rr,[a0]:[o_,"accountId"]},oJ={[a4]:[{[a8]:!0,[ro]:"sigv4",[a6]:rv,[a5]:"{bucketArn#region}"}]},ok={[rn]:"Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `{accessPointName}`",[aW]:rn},oB={[rn]:"Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `{bucketArn#accountId}`",[aW]:rn},oH={[rn]:"Invalid region in ARN: `{bucketArn#region}` (invalid DNS name)",[aW]:rn},oF={[rn]:"Client was configured for partition `{partitionResult#name}` but ARN (`{Bucket}`) has `{bucketPartition#name}`",[aW]:rn},oX={[rn]:"Invalid ARN: The ARN may only contain a single resource component after `accesspoint`.",[aW]:rn},oI={[rn]:"Invalid ARN: Expected a resource of the format `accesspoint:<accesspoint name>` but no name was provided",[aW]:rn},oO={[a4]:[{[a8]:!0,[ro]:"sigv4",[a6]:"s3",[a5]:"{bucketArn#region}"}]},oQ={[a4]:[{[a8]:!0,[ro]:rw,[a6]:rT,[a9]:["*"]},{[a8]:!0,[ro]:"sigv4",[a6]:rT,[a5]:"{bucketArn#region}"}]},oU={fn:r_,[a0]:[rK]},oG={url:"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[a3]:op,[a7]:{}},oq={url:"https://s3-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[a3]:op,[a7]:{}},o$={url:"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[a3]:op,[a7]:{}},oK={url:rJ,[a3]:op,[a7]:{}},oz={url:"https://s3.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[a3]:op,[a7]:{}},oW={ref:"UseObjectLambdaEndpoint"},oj={[a4]:[{[a8]:!0,[ro]:"sigv4",[a6]:rv,[a5]:"{Region}"}]},oV={url:"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",[a3]:op,[a7]:{}},o0={url:"https://s3-fips.{Region}.{partitionResult#dnsSuffix}",[a3]:op,[a7]:{}},o1={url:"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}",[a3]:op,[a7]:{}},o3={url:rf,[a3]:op,[a7]:{}},o2={url:"https://s3.{Region}.{partitionResult#dnsSuffix}",[a3]:op,[a7]:{}},o4=[{ref:"Region"}],o8=[rI],o6=[rU,rj],o5=[{fn:re,[a0]:[{ref:"DisableS3ExpressSessionAuth"}]},{fn:ri,[a0]:[{ref:"DisableS3ExpressSessionAuth"},!0]}],o7=[r4],o9=[rG],ue=[rO,rQ],ui=[rO,r9],un=[oe,rQ],ut=[oe,r9],ua=[{fn:ru,[a0]:[rK,6,14,!0],[a1]:"s3expressAvailabilityZoneId"},{fn:ru,[a0]:[rK,14,16,!0],[a1]:"s3expressAvailabilityZoneDelim"},{fn:ra,[a0]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],ur=[{[aV]:[rO,rQ],[rh]:{url:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}",[a3]:r3,[a7]:{}},[aW]:rh},{[aV]:ui,[rh]:{url:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}",[a3]:r3,[a7]:{}},[aW]:rh},{[aV]:un,[rh]:{url:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}",[a3]:r3,[a7]:{}},[aW]:rh},{[aV]:ut,[rh]:{url:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}",[a3]:r3,[a7]:{}},[aW]:rh}],uo=[{fn:ru,[a0]:[rK,6,15,!0],[a1]:"s3expressAvailabilityZoneId"},{fn:ru,[a0]:[rK,15,17,!0],[a1]:"s3expressAvailabilityZoneDelim"},{fn:ra,[a0]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],uu=[{fn:ru,[a0]:[rK,6,19,!0],[a1]:"s3expressAvailabilityZoneId"},{fn:ru,[a0]:[rK,19,21,!0],[a1]:"s3expressAvailabilityZoneDelim"},{fn:ra,[a0]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],us=[{fn:ru,[a0]:[rK,6,20,!0],[a1]:"s3expressAvailabilityZoneId"},{fn:ru,[a0]:[rK,20,22,!0],[a1]:"s3expressAvailabilityZoneDelim"},{fn:ra,[a0]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],ul=[{fn:ru,[a0]:[rK,6,26,!0],[a1]:"s3expressAvailabilityZoneId"},{fn:ru,[a0]:[rK,26,28,!0],[a1]:"s3expressAvailabilityZoneDelim"},{fn:ra,[a0]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],uh=[{[aV]:[rO,rQ],[rh]:{url:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}",[a3]:{[a2]:"S3Express",[a4]:[{[a8]:!0,[ro]:"sigv4-s3express",[a6]:"s3express",[a5]:"{Region}"}]},[a7]:{}},[aW]:rh},{[aV]:ui,[rh]:{url:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}",[a3]:{[a2]:"S3Express",[a4]:[{[a8]:!0,[ro]:"sigv4-s3express",[a6]:"s3express",[a5]:"{Region}"}]},[a7]:{}},[aW]:rh},{[aV]:un,[rh]:{url:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}",[a3]:{[a2]:"S3Express",[a4]:[{[a8]:!0,[ro]:"sigv4-s3express",[a6]:"s3express",[a5]:"{Region}"}]},[a7]:{}},[aW]:rh},{[aV]:ut,[rh]:{url:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}",[a3]:{[a2]:"S3Express",[a4]:[{[a8]:!0,[ro]:"sigv4-s3express",[a6]:"s3express",[a5]:"{Region}"}]},[a7]:{}},[aW]:rh}],ug=[rK,0,7,!0],uc=[{fn:ru,[a0]:[rK,7,15,!0],[a1]:"s3expressAvailabilityZoneId"},{fn:ru,[a0]:[rK,15,17,!0],[a1]:"s3expressAvailabilityZoneDelim"},{fn:ra,[a0]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],ud=[{fn:ru,[a0]:[rK,7,16,!0],[a1]:"s3expressAvailabilityZoneId"},{fn:ru,[a0]:[rK,16,18,!0],[a1]:"s3expressAvailabilityZoneDelim"},{fn:ra,[a0]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],up=[{fn:ru,[a0]:[rK,7,20,!0],[a1]:"s3expressAvailabilityZoneId"},{fn:ru,[a0]:[rK,20,22,!0],[a1]:"s3expressAvailabilityZoneDelim"},{fn:ra,[a0]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],uf=[{fn:ru,[a0]:[rK,7,21,!0],[a1]:"s3expressAvailabilityZoneId"},{fn:ru,[a0]:[rK,21,23,!0],[a1]:"s3expressAvailabilityZoneDelim"},{fn:ra,[a0]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],um=[{fn:ru,[a0]:[rK,7,27,!0],[a1]:"s3expressAvailabilityZoneId"},{fn:ru,[a0]:[rK,27,29,!0],[a1]:"s3expressAvailabilityZoneDelim"},{fn:ra,[a0]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],uy=[{fn:rC,[a0]:[{ref:rb},!1]}],uS=[{fn:ra,[a0]:[{ref:ry},"beta"]}],ub=[{fn:rC,[a0]:[{ref:"Region"},!1]}],uC=[{fn:ra,[a0]:[{ref:"Region"},"us-east-1"]}],uw=[{fn:ra,[a0]:[oY,rA]}],uT=[{fn:rr,[a0]:[o_,"resourceId[1]"],[a1]:rN},{fn:"not",[a0]:[{fn:ra,[a0]:[ov,""]}]}],ux=[rQ],uL=[{fn:"not",[a0]:[{fn:ra,[a0]:[{fn:rr,[a0]:[o_,"region"]},""]}]}],uE=[{fn:"not",[a0]:[{fn:re,[a0]:[{fn:rr,[a0]:[o_,"resourceId[2]"]}]}]}],u_=[{fn:rt,[a0]:[{fn:rr,[a0]:[o_,"region"]}],[a1]:"bucketPartition"}],uY=[{fn:ra,[a0]:[oR,{fn:rr,[a0]:[{ref:"partitionResult"},ro]}]}],uD=[{fn:rC,[a0]:[{fn:rr,[a0]:[o_,"region"]},!0]}],uv=[{fn:rC,[a0]:[oM,!1]}],uA=[{fn:rC,[a0]:[ov,!1]}],uN=[rO],uP=[{fn:rC,[a0]:[{ref:"Region"},!0]}],uZ={version:"1.0",parameters:{Bucket:rH,Region:rH,UseFIPS:rF,UseDualStack:rF,Endpoint:rH,ForcePathStyle:rF,Accelerate:rF,UseGlobalEndpoint:rF,UseObjectLambdaEndpoint:rX,Key:rH,Prefix:rH,CopySource:rH,DisableAccessPoints:rX,DisableMultiRegionAccessPoints:rF,UseArnRegion:rX,UseS3ExpressControlEndpoint:rX,DisableS3ExpressSessionAuth:rX},[aj]:[{[aV]:[{fn:re,[a0]:o4}],[aj]:[{[aV]:[rI,rO],error:"Accelerate cannot be used with FIPS",[aW]:rn},{[aV]:[rQ,rU],error:"Cannot set dual-stack in combination with a custom endpoint.",[aW]:rn},{[aV]:[rU,rO],error:"A custom endpoint cannot be combined with FIPS",[aW]:rn},{[aV]:[rU,rI],error:"A custom endpoint cannot be combined with S3 Accelerate",[aW]:rn},{[aV]:[rO,rG,rq],error:"Partition does not support FIPS",[aW]:rn},{[aV]:[r$,{fn:ru,[a0]:[rK,0,6,!0],[a1]:rs},{fn:ra,[a0]:[{ref:rs},"--x-s3"]}],[aj]:[rz,rW,{[aV]:[r6,r5],[aj]:[{[aV]:o9,[aj]:[{[aV]:[r1,r7],[aj]:[{[aV]:ue,endpoint:{url:"https://s3express-control-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[a3]:r3,[a7]:r2},[aW]:rh},{[aV]:ui,endpoint:{url:"https://s3express-control-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[a3]:r3,[a7]:r2},[aW]:rh},{[aV]:un,endpoint:{url:"https://s3express-control.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[a3]:r3,[a7]:r2},[aW]:rh},{[aV]:ut,endpoint:{url:"https://s3express-control.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[a3]:r3,[a7]:r2},[aW]:rh}],[aW]:rg}],[aW]:rg}],[aW]:rg},{[aV]:o7,[aj]:[{[aV]:o9,[aj]:[{[aV]:o5,[aj]:[{[aV]:ua,[aj]:ur,[aW]:rg},{[aV]:uo,[aj]:ur,[aW]:rg},{[aV]:uu,[aj]:ur,[aW]:rg},{[aV]:us,[aj]:ur,[aW]:rg},{[aV]:ul,[aj]:ur,[aW]:rg},oi],[aW]:rg},{[aV]:ua,[aj]:uh,[aW]:rg},{[aV]:uo,[aj]:uh,[aW]:rg},{[aV]:uu,[aj]:uh,[aW]:rg},{[aV]:us,[aj]:uh,[aW]:rg},{[aV]:ul,[aj]:uh,[aW]:rg},oi],[aW]:rg}],[aW]:rg},r8],[aW]:rg},{[aV]:[r$,{fn:ru,[a0]:ug,[a1]:rp},{fn:ra,[a0]:[{ref:rp},"--xa-s3"]}],[aj]:[rz,rW,{[aV]:o7,[aj]:[{[aV]:o9,[aj]:[{[aV]:o5,[aj]:[{[aV]:uc,[aj]:ur,[aW]:rg},{[aV]:ud,[aj]:ur,[aW]:rg},{[aV]:up,[aj]:ur,[aW]:rg},{[aV]:uf,[aj]:ur,[aW]:rg},{[aV]:um,[aj]:ur,[aW]:rg},oi],[aW]:rg},{[aV]:uc,[aj]:uh,[aW]:rg},{[aV]:ud,[aj]:uh,[aW]:rg},{[aV]:up,[aj]:uh,[aW]:rg},{[aV]:uf,[aj]:uh,[aW]:rg},{[aV]:um,[aj]:uh,[aW]:rg},oi],[aW]:rg}],[aW]:rg},r8],[aW]:rg},{[aV]:[on,r6,r5],[aj]:[{[aV]:o9,[aj]:[{[aV]:o6,endpoint:{url:rf,[a3]:r3,[a7]:r2},[aW]:rh},{[aV]:ue,endpoint:{url:"https://s3express-control-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",[a3]:r3,[a7]:r2},[aW]:rh},{[aV]:ui,endpoint:{url:"https://s3express-control-fips.{Region}.{partitionResult#dnsSuffix}",[a3]:r3,[a7]:r2},[aW]:rh},{[aV]:un,endpoint:{url:"https://s3express-control.dualstack.{Region}.{partitionResult#dnsSuffix}",[a3]:r3,[a7]:r2},[aW]:rh},{[aV]:ut,endpoint:{url:"https://s3express-control.{Region}.{partitionResult#dnsSuffix}",[a3]:r3,[a7]:r2},[aW]:rh}],[aW]:rg}],[aW]:rg},{[aV]:[r$,{fn:ru,[a0]:[rK,49,50,!0],[a1]:rm},{fn:ru,[a0]:[rK,8,12,!0],[a1]:ry},{fn:ru,[a0]:ug,[a1]:rS},{fn:ru,[a0]:[rK,32,49,!0],[a1]:rb},{fn:rt,[a0]:o4,[a1]:"regionPartition"},{fn:ra,[a0]:[{ref:rS},"--op-s3"]}],[aj]:[{[aV]:uy,[aj]:[{[aV]:o7,[aj]:[{[aV]:[{fn:ra,[a0]:[ot,"e"]}],[aj]:[{[aV]:uS,[aj]:[oa,{[aV]:o6,endpoint:{url:"https://{Bucket}.ec2.{url#authority}",[a3]:oo,[a7]:r2},[aW]:rh}],[aW]:rg},{endpoint:{url:"https://{Bucket}.ec2.s3-outposts.{Region}.{regionPartition#dnsSuffix}",[a3]:oo,[a7]:r2},[aW]:rh}],[aW]:rg},{[aV]:[{fn:ra,[a0]:[ot,"o"]}],[aj]:[{[aV]:uS,[aj]:[oa,{[aV]:o6,endpoint:{url:"https://{Bucket}.op-{outpostId}.{url#authority}",[a3]:oo,[a7]:r2},[aW]:rh}],[aW]:rg},{endpoint:{url:"https://{Bucket}.op-{outpostId}.s3-outposts.{Region}.{regionPartition#dnsSuffix}",[a3]:oo,[a7]:r2},[aW]:rh}],[aW]:rg},{error:'Unrecognized hardware type: "Expected hardware type o or e but got {hardwareType}"',[aW]:rn}],[aW]:rg},{error:"Invalid Outposts Bucket alias - it must be a valid bucket name.",[aW]:rn}],[aW]:rg},{error:"Invalid ARN: The outpost Id must only contain a-z, A-Z, 0-9 and `-`.",[aW]:rn}],[aW]:rg},{[aV]:[r$],[aj]:[{[aV]:[rU,{fn:"not",[a0]:[{fn:re,[a0]:[{fn:rl,[a0]:[{ref:"Endpoint"}]}]}]}],error:"Custom endpoint `{Endpoint}` was not a valid URI",[aW]:rn},{[aV]:[ou,r4],[aj]:[{[aV]:o9,[aj]:[{[aV]:ub,[aj]:[{[aV]:[rI,rq],error:"S3 Accelerate cannot be used in this region",[aW]:rn},{[aV]:[rQ,rO,os,r7,ol],endpoint:{url:"https://{Bucket}.s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}",[a3]:oh,[a7]:r2},[aW]:rh},{[aV]:[rQ,rO,os,r7,og,oc],[aj]:[{endpoint:od,[aW]:rh}],[aW]:rg},{[aV]:[rQ,rO,os,r7,og,of],endpoint:od,[aW]:rh},{[aV]:[r9,rO,os,r7,ol],endpoint:{url:"https://{Bucket}.s3-fips.us-east-1.{partitionResult#dnsSuffix}",[a3]:oh,[a7]:r2},[aW]:rh},{[aV]:[r9,rO,os,r7,og,oc],[aj]:[{endpoint:om,[aW]:rh}],[aW]:rg},{[aV]:[r9,rO,os,r7,og,of],endpoint:om,[aW]:rh},{[aV]:[rQ,oe,rI,r7,ol],endpoint:{url:"https://{Bucket}.s3-accelerate.dualstack.us-east-1.{partitionResult#dnsSuffix}",[a3]:oh,[a7]:r2},[aW]:rh},{[aV]:[rQ,oe,rI,r7,og,oc],[aj]:[{endpoint:oy,[aW]:rh}],[aW]:rg},{[aV]:[rQ,oe,rI,r7,og,of],endpoint:oy,[aW]:rh},{[aV]:[rQ,oe,os,r7,ol],endpoint:{url:"https://{Bucket}.s3.dualstack.us-east-1.{partitionResult#dnsSuffix}",[a3]:oh,[a7]:r2},[aW]:rh},{[aV]:[rQ,oe,os,r7,og,oc],[aj]:[{endpoint:oS,[aW]:rh}],[aW]:rg},{[aV]:[rQ,oe,os,r7,og,of],endpoint:oS,[aW]:rh},{[aV]:[r9,oe,os,rU,rj,rV,ol],endpoint:{url:rx,[a3]:oh,[a7]:r2},[aW]:rh},{[aV]:[r9,oe,os,rU,rj,ob,ol],endpoint:{url:rd,[a3]:oh,[a7]:r2},[aW]:rh},{[aV]:[r9,oe,os,rU,rj,rV,og,oc],[aj]:[{[aV]:uC,endpoint:oC,[aW]:rh},{endpoint:oC,[aW]:rh}],[aW]:rg},{[aV]:[r9,oe,os,rU,rj,ob,og,oc],[aj]:[{[aV]:uC,endpoint:ow,[aW]:rh},oT],[aW]:rg},{[aV]:[r9,oe,os,rU,rj,rV,og,of],endpoint:oC,[aW]:rh},{[aV]:[r9,oe,os,rU,rj,ob,og,of],endpoint:ow,[aW]:rh},{[aV]:[r9,oe,rI,r7,ol],endpoint:{url:rL,[a3]:oh,[a7]:r2},[aW]:rh},{[aV]:[r9,oe,rI,r7,og,oc],[aj]:[{[aV]:uC,endpoint:ox,[aW]:rh},{endpoint:ox,[aW]:rh}],[aW]:rg},{[aV]:[r9,oe,rI,r7,og,of],endpoint:ox,[aW]:rh},{[aV]:[r9,oe,os,r7,ol],endpoint:{url:rE,[a3]:oh,[a7]:r2},[aW]:rh},{[aV]:[r9,oe,os,r7,og,oc],[aj]:[{[aV]:uC,endpoint:{url:rE,[a3]:op,[a7]:r2},[aW]:rh},{endpoint:oL,[aW]:rh}],[aW]:rg},{[aV]:[r9,oe,os,r7,og,of],endpoint:oL,[aW]:rh}],[aW]:rg},oE],[aW]:rg}],[aW]:rg},{[aV]:[rU,rj,{fn:ra,[a0]:[{fn:rr,[a0]:[r0,"scheme"]},"http"]},{fn:rc,[a0]:[rK,!0]},ou,oe,r9,os],[aj]:[{[aV]:o9,[aj]:[{[aV]:ub,[aj]:[oT],[aW]:rg},oE],[aW]:rg}],[aW]:rg},{[aV]:[ou,{fn:r_,[a0]:[rK],[a1]:rY}],[aj]:[{[aV]:[{fn:rr,[a0]:[o_,"resourceId[0]"],[a1]:rD},{fn:"not",[a0]:[{fn:ra,[a0]:[oY,""]}]}],[aj]:[{[aV]:[{fn:ra,[a0]:[oD,rv]}],[aj]:[{[aV]:uw,[aj]:[{[aV]:uT,[aj]:[oA,oN,{[aV]:uL,[aj]:[oP,{[aV]:uE,[aj]:[oZ,{[aV]:u_,[aj]:[{[aV]:o9,[aj]:[{[aV]:uY,[aj]:[{[aV]:uD,[aj]:[{[aV]:[{fn:ra,[a0]:[oM,""]}],error:"Invalid ARN: Missing account id",[aW]:rn},{[aV]:uv,[aj]:[{[aV]:uA,[aj]:[{[aV]:o6,endpoint:{url:rP,[a3]:oJ,[a7]:r2},[aW]:rh},{[aV]:uN,endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}",[a3]:oJ,[a7]:r2},[aW]:rh},{endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda.{bucketArn#region}.{bucketPartition#dnsSuffix}",[a3]:oJ,[a7]:r2},[aW]:rh}],[aW]:rg},ok],[aW]:rg},oB],[aW]:rg},oH],[aW]:rg},oF],[aW]:rg}],[aW]:rg}],[aW]:rg},oX],[aW]:rg},{error:"Invalid ARN: bucket ARN is missing a region",[aW]:rn}],[aW]:rg},oI],[aW]:rg},{error:"Invalid ARN: Object Lambda ARNs only support `accesspoint` arn types, but found: `{arnType}`",[aW]:rn}],[aW]:rg},{[aV]:uw,[aj]:[{[aV]:uT,[aj]:[{[aV]:uL,[aj]:[{[aV]:uw,[aj]:[{[aV]:uL,[aj]:[oP,{[aV]:uE,[aj]:[oZ,{[aV]:u_,[aj]:[{[aV]:o9,[aj]:[{[aV]:[{fn:ra,[a0]:[oR,"{partitionResult#name}"]}],[aj]:[{[aV]:uD,[aj]:[{[aV]:[{fn:ra,[a0]:[oD,"s3"]}],[aj]:[{[aV]:uv,[aj]:[{[aV]:uA,[aj]:[{[aV]:o8,error:"Access Points do not support S3 Accelerate",[aW]:rn},{[aV]:ue,endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}",[a3]:oO,[a7]:r2},[aW]:rh},{[aV]:ui,endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}",[a3]:oO,[a7]:r2},[aW]:rh},{[aV]:un,endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}",[a3]:oO,[a7]:r2},[aW]:rh},{[aV]:[oe,r9,rU,rj],endpoint:{url:rP,[a3]:oO,[a7]:r2},[aW]:rh},{[aV]:ut,endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.{bucketArn#region}.{bucketPartition#dnsSuffix}",[a3]:oO,[a7]:r2},[aW]:rh}],[aW]:rg},ok],[aW]:rg},oB],[aW]:rg},{error:"Invalid ARN: The ARN was not for the S3 service, found: {bucketArn#service}",[aW]:rn}],[aW]:rg},oH],[aW]:rg},oF],[aW]:rg}],[aW]:rg}],[aW]:rg},oX],[aW]:rg}],[aW]:rg}],[aW]:rg},{[aV]:[{fn:rC,[a0]:[ov,!0]}],[aj]:[{[aV]:ux,error:"S3 MRAP does not support dual-stack",[aW]:rn},{[aV]:uN,error:"S3 MRAP does not support FIPS",[aW]:rn},{[aV]:o8,error:"S3 MRAP does not support S3 Accelerate",[aW]:rn},{[aV]:[{fn:ri,[a0]:[{ref:"DisableMultiRegionAccessPoints"},!0]}],error:"Invalid configuration: Multi-Region Access Point ARNs are disabled.",[aW]:rn},{[aV]:[{fn:rt,[a0]:o4,[a1]:rZ}],[aj]:[{[aV]:[{fn:ra,[a0]:[{fn:rr,[a0]:[{ref:rZ},ro]},{fn:rr,[a0]:[o_,"partition"]}]}],[aj]:[{endpoint:{url:"https://{accessPointName}.accesspoint.s3-global.{mrapPartition#dnsSuffix}",[a3]:{[a4]:[{[a8]:!0,name:rw,[a6]:"s3",[a9]:["*"]}]},[a7]:r2},[aW]:rh}],[aW]:rg},{error:"Client was configured for partition `{mrapPartition#name}` but bucket referred to partition `{bucketArn#partition}`",[aW]:rn}],[aW]:rg}],[aW]:rg},{error:"Invalid Access Point Name",[aW]:rn}],[aW]:rg},oI],[aW]:rg},{[aV]:[{fn:ra,[a0]:[oD,rT]}],[aj]:[{[aV]:ux,error:"S3 Outposts does not support Dual-stack",[aW]:rn},{[aV]:uN,error:"S3 Outposts does not support FIPS",[aW]:rn},{[aV]:o8,error:"S3 Outposts does not support S3 Accelerate",[aW]:rn},{[aV]:[{fn:re,[a0]:[{fn:rr,[a0]:[o_,"resourceId[4]"]}]}],error:"Invalid Arn: Outpost Access Point ARN contains sub resources",[aW]:rn},{[aV]:[{fn:rr,[a0]:[o_,"resourceId[1]"],[a1]:rb}],[aj]:[{[aV]:uy,[aj]:[oZ,{[aV]:u_,[aj]:[{[aV]:o9,[aj]:[{[aV]:uY,[aj]:[{[aV]:uD,[aj]:[{[aV]:uv,[aj]:[{[aV]:[{fn:rr,[a0]:[o_,"resourceId[2]"],[a1]:rR}],[aj]:[{[aV]:[{fn:rr,[a0]:[o_,"resourceId[3]"],[a1]:rN}],[aj]:[{[aV]:[{fn:ra,[a0]:[{ref:rR},rA]}],[aj]:[{[aV]:o6,endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.{outpostId}.{url#authority}",[a3]:oQ,[a7]:r2},[aW]:rh},{endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.{outpostId}.s3-outposts.{bucketArn#region}.{bucketPartition#dnsSuffix}",[a3]:oQ,[a7]:r2},[aW]:rh}],[aW]:rg},{error:"Expected an outpost type `accesspoint`, found {outpostType}",[aW]:rn}],[aW]:rg},{error:"Invalid ARN: expected an access point name",[aW]:rn}],[aW]:rg},{error:"Invalid ARN: Expected a 4-component resource",[aW]:rn}],[aW]:rg},oB],[aW]:rg},oH],[aW]:rg},oF],[aW]:rg}],[aW]:rg}],[aW]:rg},{error:"Invalid ARN: The outpost Id may only contain a-z, A-Z, 0-9 and `-`. Found: `{outpostId}`",[aW]:rn}],[aW]:rg},{error:"Invalid ARN: The Outpost Id was not set",[aW]:rn}],[aW]:rg},{error:"Invalid ARN: Unrecognized format: {Bucket} (type: {arnType})",[aW]:rn}],[aW]:rg},{error:"Invalid ARN: No ARN type specified",[aW]:rn}],[aW]:rg},{[aV]:[{fn:ru,[a0]:[rK,0,4,!1],[a1]:rM},{fn:ra,[a0]:[{ref:rM},"arn:"]},{fn:"not",[a0]:[{fn:re,[a0]:[oU]}]}],error:"Invalid ARN: `{Bucket}` was not a valid ARN",[aW]:rn},{[aV]:[{fn:ri,[a0]:[{ref:"ForcePathStyle"},!0]},oU],error:"Path-style addressing cannot be used with ARN buckets",[aW]:rn},{[aV]:[r1],[aj]:[{[aV]:o9,[aj]:[{[aV]:[os],[aj]:[{[aV]:[rQ,r7,rO,ol],endpoint:{url:"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[a3]:oh,[a7]:r2},[aW]:rh},{[aV]:[rQ,r7,rO,og,oc],[aj]:[{endpoint:oG,[aW]:rh}],[aW]:rg},{[aV]:[rQ,r7,rO,og,of],endpoint:oG,[aW]:rh},{[aV]:[r9,r7,rO,ol],endpoint:{url:"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[a3]:oh,[a7]:r2},[aW]:rh},{[aV]:[r9,r7,rO,og,oc],[aj]:[{endpoint:oq,[aW]:rh}],[aW]:rg},{[aV]:[r9,r7,rO,og,of],endpoint:oq,[aW]:rh},{[aV]:[rQ,r7,oe,ol],endpoint:{url:"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[a3]:oh,[a7]:r2},[aW]:rh},{[aV]:[rQ,r7,oe,og,oc],[aj]:[{endpoint:o$,[aW]:rh}],[aW]:rg},{[aV]:[rQ,r7,oe,og,of],endpoint:o$,[aW]:rh},{[aV]:[r9,rU,rj,oe,ol],endpoint:{url:rJ,[a3]:oh,[a7]:r2},[aW]:rh},{[aV]:[r9,rU,rj,oe,og,oc],[aj]:[{[aV]:uC,endpoint:oK,[aW]:rh},{endpoint:oK,[aW]:rh}],[aW]:rg},{[aV]:[r9,rU,rj,oe,og,of],endpoint:oK,[aW]:rh},{[aV]:[r9,r7,oe,ol],endpoint:{url:rk,[a3]:oh,[a7]:r2},[aW]:rh},{[aV]:[r9,r7,oe,og,oc],[aj]:[{[aV]:uC,endpoint:{url:rk,[a3]:op,[a7]:r2},[aW]:rh},{endpoint:oz,[aW]:rh}],[aW]:rg},{[aV]:[r9,r7,oe,og,of],endpoint:oz,[aW]:rh}],[aW]:rg},{error:"Path-style addressing cannot be used with S3 Accelerate",[aW]:rn}],[aW]:rg}],[aW]:rg}],[aW]:rg},{[aV]:[{fn:re,[a0]:[oW]},{fn:ri,[a0]:[oW,!0]}],[aj]:[{[aV]:o9,[aj]:[{[aV]:uP,[aj]:[oA,oN,{[aV]:o6,endpoint:{url:rf,[a3]:oj,[a7]:r2},[aW]:rh},{[aV]:uN,endpoint:{url:"https://s3-object-lambda-fips.{Region}.{partitionResult#dnsSuffix}",[a3]:oj,[a7]:r2},[aW]:rh},{endpoint:{url:"https://s3-object-lambda.{Region}.{partitionResult#dnsSuffix}",[a3]:oj,[a7]:r2},[aW]:rh}],[aW]:rg},oE],[aW]:rg}],[aW]:rg},{[aV]:[on],[aj]:[{[aV]:o9,[aj]:[{[aV]:uP,[aj]:[{[aV]:[rO,rQ,r7,ol],endpoint:{url:"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}",[a3]:oh,[a7]:r2},[aW]:rh},{[aV]:[rO,rQ,r7,og,oc],[aj]:[{endpoint:oV,[aW]:rh}],[aW]:rg},{[aV]:[rO,rQ,r7,og,of],endpoint:oV,[aW]:rh},{[aV]:[rO,r9,r7,ol],endpoint:{url:"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}",[a3]:oh,[a7]:r2},[aW]:rh},{[aV]:[rO,r9,r7,og,oc],[aj]:[{endpoint:o0,[aW]:rh}],[aW]:rg},{[aV]:[rO,r9,r7,og,of],endpoint:o0,[aW]:rh},{[aV]:[oe,rQ,r7,ol],endpoint:{url:"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}",[a3]:oh,[a7]:r2},[aW]:rh},{[aV]:[oe,rQ,r7,og,oc],[aj]:[{endpoint:o1,[aW]:rh}],[aW]:rg},{[aV]:[oe,rQ,r7,og,of],endpoint:o1,[aW]:rh},{[aV]:[oe,r9,rU,rj,ol],endpoint:{url:rf,[a3]:oh,[a7]:r2},[aW]:rh},{[aV]:[oe,r9,rU,rj,og,oc],[aj]:[{[aV]:uC,endpoint:o3,[aW]:rh},{endpoint:o3,[aW]:rh}],[aW]:rg},{[aV]:[oe,r9,rU,rj,og,of],endpoint:o3,[aW]:rh},{[aV]:[oe,r9,r7,ol],endpoint:{url:rB,[a3]:oh,[a7]:r2},[aW]:rh},{[aV]:[oe,r9,r7,og,oc],[aj]:[{[aV]:uC,endpoint:{url:rB,[a3]:op,[a7]:r2},[aW]:rh},{endpoint:o2,[aW]:rh}],[aW]:rg},{[aV]:[oe,r9,r7,og,of],endpoint:o2,[aW]:rh}],[aW]:rg},oE],[aW]:rg}],[aW]:rg}],[aW]:rg},{error:"A region must be set when sending requests to S3.",[aW]:rn}]},uR=new aI({size:50,params:["Accelerate","Bucket","DisableAccessPoints","DisableMultiRegionAccessPoints","DisableS3ExpressSessionAuth","Endpoint","ForcePathStyle","Region","UseArnRegion","UseDualStack","UseFIPS","UseGlobalEndpoint","UseObjectLambdaEndpoint","UseS3ExpressControlEndpoint"]}),endpointResolver_defaultEndpointResolver=(e,i={})=>uR.get(e,()=>resolveEndpoint(uZ,{endpointParams:e,logger:i.logger}));tL.aws=tD;let uM=(d=async(e,i,n)=>({operation:getSmithyContext(i).operation,region:await normalizeProvider(e.region)()||(()=>{throw Error("expected `region` to be configured for `aws.auth#sigv4`")})()}),async(e,i,n)=>{if(!n)throw Error("Could not find `input` for `defaultEndpointRuleSetHttpAuthSchemeParametersProvider`");let t=await d(e,i,n),a=getSmithyContext(i)?.commandInstance?.constructor?.getEndpointParameterInstructions;if(!a)throw Error(`getEndpointParameterInstructions() is not defined on '${i.commandName}'`);return Object.assign(t,await resolveParams(n,{getEndpointParameterInstructions:a},e))});function createAwsAuthSigv4HttpAuthOption(e){return{schemeId:"aws.auth#sigv4",signingProperties:{name:"s3",region:e.region},propertiesExtractor:(e,i)=>({signingProperties:{config:e,context:i}})}}function createAwsAuthSigv4aHttpAuthOption(e){return{schemeId:"aws.auth#sigv4a",signingProperties:{name:"s3",region:e.region},propertiesExtractor:(e,i)=>({signingProperties:{config:e,context:i}})}}let uJ=(j=e=>{let i=[];return e.operation,i.push(createAwsAuthSigv4HttpAuthOption(e)),i.push(createAwsAuthSigv4aHttpAuthOption(e)),i},V={"aws.auth#sigv4":createAwsAuthSigv4HttpAuthOption,"aws.auth#sigv4a":createAwsAuthSigv4aHttpAuthOption},e=>{let i=endpointResolver_defaultEndpointResolver(e),n=i.properties?.authSchemes;if(!n)return j(e);let t=[];for(let i of n){let a,{name:r,properties:o={},...u}=i,s=r.toLowerCase();if(r!==s&&console.warn(`HttpAuthScheme has been normalized with lowercasing: '${r}' to '${s}'`),"sigv4a"===s){a="aws.auth#sigv4a";let e=n.find(e=>{let i=e.name.toLowerCase();return"sigv4a"!==i&&i.startsWith("sigv4")});if("none"===aB.sigv4aDependency()&&e)continue}else if(s.startsWith("sigv4"))a="aws.auth#sigv4";else throw Error(`Unknown HttpAuthScheme found in '@smithy.rules#endpointRuleSet': '${s}'`);let l=V[a];if(!l)throw Error(`Could not find HttpAuthOption create function for '${a}'`);let h=l(e);h.schemeId=a,h.signingProperties={...h.signingProperties||{},...u,...o},t.push(h)}return t});async function splitStream(e){return"function"==typeof e.stream&&(e=e.stream()),e.tee()}let isReadableStream=e=>"function"==typeof ReadableStream&&(e?.constructor?.name===ReadableStream.name||e instanceof ReadableStream);async function splitStream_splitStream(e){if(isReadableStream(e)||"function"==typeof Blob&&(e?.constructor?.name===Blob.name||e instanceof Blob))return splitStream(e);let i=new au.PassThrough,n=new au.PassThrough;return e.pipe(i),e.pipe(n),[i,n]}async function headStream(e,i){let n=0,t=[],a=e.getReader(),r=!1;for(;!r;){let{done:e,value:o}=await a.read();if(o&&(t.push(o),n+=o?.byteLength??0),n>=i)break;r=e}a.releaseLock();let o=new Uint8Array(Math.min(i,n)),u=0;for(let e of t){if(e.byteLength>o.byteLength-u){o.set(e.subarray(0,o.byteLength-u),u);break}o.set(e,u),u+=e.length}return o}class uk extends au.Writable{buffers=[];limit=1/0;bytesBuffered=0;_write(e,i,n){if(this.buffers.push(e),this.bytesBuffered+=e.byteLength??0,this.bytesBuffered>=this.limit){let e=this.bytesBuffered-this.limit,i=this.buffers[this.buffers.length-1];this.buffers[this.buffers.length-1]=i.subarray(0,i.byteLength-e),this.emit("finish")}n()}}let uB={CopyObjectCommand:!0,UploadPartCopyCommand:!0,CompleteMultipartUploadCommand:!0},uH={relation:"after",toMiddleware:"deserializerMiddleware",tags:["THROW_200_EXCEPTIONS","S3"],name:"throw200ExceptionsMiddleware",override:!0},getThrow200ExceptionsPlugin=e=>({applyToStack:i=>{i.addRelativeTo((i,n)=>async t=>{let a=await i(t),{response:r}=a;if(!tB.isInstance(r))return a;let{statusCode:o,body:u}=r;if(o<200||o>=300||"function"!=typeof u?.stream&&"function"!=typeof u?.pipe&&"function"!=typeof u?.tee)return a;let s=u,l=u;!u||"object"!=typeof u||u instanceof Uint8Array||([s,l]=await splitStream_splitStream(u)),r.body=l;let h=await ((e=new Uint8Array,i)=>e instanceof Uint8Array?Promise.resolve(e):i.streamCollector(e)||Promise.resolve(new Uint8Array))(s,{streamCollector:async e=>isReadableStream(e)?headStream(e,3e3):new Promise((i,n)=>{let t=new uk;t.limit=3e3,e.pipe(t),e.on("error",e=>{t.end(),n(e)}),t.on("error",n),t.on("finish",function(){i(new Uint8Array(Buffer.concat(this.buffers)))})})});"function"==typeof s?.destroy&&s.destroy();let g=e.utf8Encoder(h.subarray(h.length-16));if(0===h.length&&uB[n.commandName]){let e=Error("S3 aborted request");throw e.name="InternalError",e}return g&&g.endsWith("</Error>")&&(r.statusCode=400),a},uH)}});function setFeature_setFeature(e,i,n){e.__smithy_context?e.__smithy_context.features||(e.__smithy_context.features={}):e.__smithy_context={features:{}},e.__smithy_context.features[i]=n}let uF={step:"serialize",tags:["ENDPOINT_PARAMETERS","ENDPOINT_V2","ENDPOINT"],name:"endpointV2Middleware",override:!0,relation:"before",toMiddleware:"serializerMiddleware"},getEndpointPlugin=(e,i)=>({applyToStack:n=>{n.addRelativeTo((({config:e,instructions:i})=>(n,t)=>async a=>{e.isCustomEndpoint&&setFeature_setFeature(t,"ENDPOINT_OVERRIDE","N");let r=await getEndpointFromInstructions(a.input,{getEndpointParameterInstructions:()=>i},{...e},t);t.endpointV2=r,t.authSchemes=r.properties?.authSchemes;let o=t.authSchemes?.[0];if(o){t.signing_region=o.signingRegion,t.signing_service=o.signingName;let e=getSmithyContext(t),i=e?.selectedHttpAuthScheme?.httpAuthOption;i&&(i.signingProperties=Object.assign(i.signingProperties||{},{signing_region:o.signingRegion,signingRegion:o.signingRegion,signing_service:o.signingName,signingName:o.signingName,signingRegionSet:o.signingRegionSet},o.properties))}return n({...a})})({config:e,instructions:i}),uF)}}),deref=e=>"function"==typeof e?e():e;function translateTraits(e){if("object"==typeof e)return e;e|=0;let i={},n=0;for(let t of["httpLabel","idempotent","idempotencyToken","sensitive","httpPayload","httpResponseCode","httpQueryParams"])(e>>n++&1)==1&&(i[t]=1);return i}class uX{ref;memberName;static symbol=Symbol.for("@smithy/nor");symbol=uX.symbol;name;schema;_isMemberSchema;traits;memberTraits;normalizedTraits;constructor(e,i){this.ref=e,this.memberName=i;let n=[],t=e,a=e;for(this._isMemberSchema=!1;isMemberSchema(t);)n.push(t[1]),a=deref(t=t[0]),this._isMemberSchema=!0;if(n.length>0){this.memberTraits={};for(let e=n.length-1;e>=0;--e){let i=n[e];Object.assign(this.memberTraits,translateTraits(i))}}else this.memberTraits=0;if(a instanceof uX){let e=this.memberTraits;Object.assign(this,a),this.memberTraits=Object.assign({},e,a.getMemberTraits(),this.getMemberTraits()),this.normalizedTraits=void 0,this.memberName=i??a.memberName;return}if(this.schema=deref(a),isStaticSchema(this.schema)?(this.name=`${this.schema[1]}#${this.schema[2]}`,this.traits=this.schema[3]):(this.name=this.memberName??String(a),this.traits=0),this._isMemberSchema&&!i)throw Error(`@smithy/core/schema - NormalizedSchema member init ${this.getName(!0)} missing member name.`)}static[Symbol.hasInstance](e){let i=this.prototype.isPrototypeOf(e);return i||"object"!=typeof e||null===e?i:e.symbol===this.symbol}static of(e){let i=deref(e);if(i instanceof uX)return i;if(isMemberSchema(i)){let[n,t]=i;if(n instanceof uX)return Object.assign(n.getMergedTraits(),translateTraits(t)),n;throw Error(`@smithy/core/schema - may not init unwrapped member schema=${JSON.stringify(e,null,2)}.`)}return new uX(i)}getSchema(){let e=this.schema;return 0===e[0]?e[4]:e}getName(e=!1){let{name:i}=this;return!e&&i&&i.includes("#")?i.split("#")[1]:i||void 0}getMemberName(){return this.memberName}isMemberSchema(){return this._isMemberSchema}isListSchema(){let e=this.getSchema();return"number"==typeof e?e>=64&&e<128:1===e[0]}isMapSchema(){let e=this.getSchema();return"number"==typeof e?e>=128&&e<=255:2===e[0]}isStructSchema(){let e=this.getSchema()[0];return 3===e||-3===e||4===e}isUnionSchema(){return 4===this.getSchema()[0]}isBlobSchema(){let e=this.getSchema();return 21===e||42===e}isTimestampSchema(){let e=this.getSchema();return"number"==typeof e&&e>=4&&e<=7}isUnitSchema(){return"unit"===this.getSchema()}isDocumentSchema(){return 15===this.getSchema()}isStringSchema(){return 0===this.getSchema()}isBooleanSchema(){return 2===this.getSchema()}isNumericSchema(){return 1===this.getSchema()}isBigIntegerSchema(){return 17===this.getSchema()}isBigDecimalSchema(){return 19===this.getSchema()}isStreaming(){let{streaming:e}=this.getMergedTraits();return!!e||42===this.getSchema()}isIdempotencyToken(){let match=e=>(4&e)==4||!!e?.idempotencyToken,{normalizedTraits:e,traits:i,memberTraits:n}=this;return match(e)||match(i)||match(n)}getMergedTraits(){return this.normalizedTraits??(this.normalizedTraits={...this.getOwnTraits(),...this.getMemberTraits()})}getMemberTraits(){return translateTraits(this.memberTraits)}getOwnTraits(){return translateTraits(this.traits)}getKeySchema(){let[e,i]=[this.isDocumentSchema(),this.isMapSchema()];if(!e&&!i)throw Error(`@smithy/core/schema - cannot get key for non-map: ${this.getName(!0)}`);let n=this.getSchema();return NormalizedSchema_member([e?15:n[4]??0,0],"key")}getValueSchema(){let e=this.getSchema(),[i,n,t]=[this.isDocumentSchema(),this.isMapSchema(),this.isListSchema()],a="number"==typeof e?63&e:e&&"object"==typeof e&&(n||t)?e[3+e[0]]:i?15:void 0;if(null!=a)return NormalizedSchema_member([a,0],n?"value":"member");throw Error(`@smithy/core/schema - ${this.getName(!0)} has no value member.`)}getMemberSchema(e){let i=this.getSchema();if(this.isStructSchema()&&i[4].includes(e)){let n=i[4].indexOf(e),t=i[5][n];return NormalizedSchema_member(isMemberSchema(t)?t:[t,0],e)}if(this.isDocumentSchema())return NormalizedSchema_member([15,0],e);throw Error(`@smithy/core/schema - ${this.getName(!0)} has no no member=${e}.`)}getMemberSchemas(){let e={};try{for(let[i,n]of this.structIterator())e[i]=n}catch(e){}return e}getEventStreamMember(){if(this.isStructSchema()){for(let[e,i]of this.structIterator())if(i.isStreaming()&&i.isStructSchema())return e}return""}*structIterator(){if(this.isUnitSchema())return;if(!this.isStructSchema())throw Error("@smithy/core/schema - cannot iterate non-struct schema.");let e=this.getSchema();for(let i=0;i<e[4].length;++i)yield[e[4][i],NormalizedSchema_member([e[5][i],0],e[4][i])]}}function NormalizedSchema_member(e,i){return e instanceof uX?Object.assign(e,{memberName:i,_isMemberSchema:!0}):new uX(e,i)}let isMemberSchema=e=>Array.isArray(e)&&2===e.length,isStaticSchema=e=>Array.isArray(e)&&e.length>=5,uI="***SensitiveInformation***";function schemaLogFilter(e,i){if(null==i)return i;let n=uX.of(e);if(n.getMergedTraits().sensitive)return uI;if(n.isListSchema()){if(n.getValueSchema().getMergedTraits().sensitive)return uI}else if(n.isMapSchema()){if(n.getKeySchema().getMergedTraits().sensitive||n.getValueSchema().getMergedTraits().sensitive)return uI}else if(n.isStructSchema()&&"object"==typeof i){let e={};for(let[t,a]of n.structIterator())null!=i[t]&&(e[t]=schemaLogFilter(a,i[t]));return e}return i}class uO{middlewareStack=constructStack();schema;static classBuilder(){return new uQ}resolveMiddlewareWithContext(e,i,n,{middlewareFn:t,clientName:a,commandName:r,inputFilterSensitiveLog:o,outputFilterSensitiveLog:u,smithyContext:s,additionalContext:l,CommandCtor:h}){for(let a of t.bind(this)(h,e,i,n))this.middlewareStack.use(a);let g=e.concat(this.middlewareStack),{logger:c}=i,d={logger:c,clientName:a,commandName:r,inputFilterSensitiveLog:o,outputFilterSensitiveLog:u,[tw]:{commandInstance:this,...s},...l},{requestHandler:p}=i;return g.resolve(e=>p.handle(e.request,n||{}),d)}}class uQ{_init=()=>{};_ep={};_middlewareFn=()=>[];_commandName="";_clientName="";_additionalContext={};_smithyContext={};_inputFilterSensitiveLog=void 0;_outputFilterSensitiveLog=void 0;_serializer=null;_deserializer=null;_operationSchema;init(e){this._init=e}ep(e){return this._ep=e,this}m(e){return this._middlewareFn=e,this}s(e,i,n={}){return this._smithyContext={service:e,operation:i,...n},this}c(e={}){return this._additionalContext=e,this}n(e,i){return this._clientName=e,this._commandName=i,this}f(e=e=>e,i=e=>e){return this._inputFilterSensitiveLog=e,this._outputFilterSensitiveLog=i,this}ser(e){return this._serializer=e,this}de(e){return this._deserializer=e,this}sc(e){return this._operationSchema=e,this._smithyContext.operationSchema=e,this}build(){let e,i=this;return e=class extends uO{input;static getEndpointParameterInstructions(){return i._ep}constructor(...[e]){super(),this.input=e??{},i._init(this),this.schema=i._operationSchema}resolveMiddleware(n,t,a){let r=i._operationSchema,o=r?.[4]??r?.input,u=r?.[5]??r?.output;return this.resolveMiddlewareWithContext(n,t,a,{CommandCtor:e,middlewareFn:i._middlewareFn,clientName:i._clientName,commandName:i._commandName,inputFilterSensitiveLog:i._inputFilterSensitiveLog??(r?schemaLogFilter.bind(null,o):e=>e),outputFilterSensitiveLog:i._outputFilterSensitiveLog??(r?schemaLogFilter.bind(null,u):e=>e),smithyContext:i._smithyContext,additionalContext:i._additionalContext})}serialize=i._serializer;deserialize=i._deserializer}}}let uU={ForcePathStyle:{type:"clientContextParams",name:"forcePathStyle"},UseArnRegion:{type:"clientContextParams",name:"useArnRegion"},DisableMultiRegionAccessPoints:{type:"clientContextParams",name:"disableMultiregionAccessPoints"},Accelerate:{type:"clientContextParams",name:"useAccelerateEndpoint"},DisableS3ExpressSessionAuth:{type:"clientContextParams",name:"disableS3ExpressSessionAuth"},UseGlobalEndpoint:{type:"builtInParams",name:"useGlobalEndpoint"},UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}};class uG{namespace;schemas;exceptions;static registries=new Map;constructor(e,i=new Map,n=new Map){this.namespace=e,this.schemas=i,this.exceptions=n}static for(e){return uG.registries.has(e)||uG.registries.set(e,new uG(e)),uG.registries.get(e)}register(e,i){let n=this.normalizeShapeId(e);uG.for(n.split("#")[0]).schemas.set(n,i)}getSchema(e){let i=this.normalizeShapeId(e);if(!this.schemas.has(i))throw Error(`@smithy/core/schema - schema not found for ${i}`);return this.schemas.get(i)}registerError(e,i){let n=uG.for(e[1]);n.schemas.set(e[1]+"#"+e[2],e),n.exceptions.set(e,i)}getErrorCtor(e){return uG.for(e[1]).exceptions.get(e)}getBaseException(){for(let e of this.exceptions.keys())if(Array.isArray(e)){let[,i,n]=e,t=i+"#"+n;if(t.startsWith("smithy.ts.sdk.synthetic.")&&t.endsWith("ServiceException"))return e}}find(e){return[...this.schemas.values()].find(e)}clear(){this.schemas.clear(),this.exceptions.clear()}normalizeShapeId(e){return e.includes("#")?e:this.namespace+"#"+e}}class uq extends Error{$fault;$response;$retryable;$metadata;constructor(e){super(e.message),Object.setPrototypeOf(this,Object.getPrototypeOf(this).constructor.prototype),this.name=e.name,this.$fault=e.$fault,this.$metadata=e.$metadata}static isInstance(e){return!!e&&(uq.prototype.isPrototypeOf(e)||!!e.$fault&&!!e.$metadata&&("client"===e.$fault||"server"===e.$fault))}static[Symbol.hasInstance](e){return!!e&&(this===uq?uq.isInstance(e):!!uq.isInstance(e)&&(e.name&&this.name?this.prototype.isPrototypeOf(e)||e.name===this.name:this.prototype.isPrototypeOf(e)))}}let decorateServiceException=(e,i={})=>{Object.entries(i).filter(([,e])=>void 0!==e).forEach(([i,n])=>{(void 0==e[i]||""===e[i])&&(e[i]=n)});let n=e.message||e.Message||"UnknownError";return e.message=n,delete e.Message,e};class u$ extends uq{constructor(e){super(e),Object.setPrototypeOf(this,u$.prototype)}}class uK extends u${name="NoSuchUpload";$fault="client";constructor(e){super({name:"NoSuchUpload",$fault:"client",...e}),Object.setPrototypeOf(this,uK.prototype)}}class uz extends u${name="ObjectNotInActiveTierError";$fault="client";constructor(e){super({name:"ObjectNotInActiveTierError",$fault:"client",...e}),Object.setPrototypeOf(this,uz.prototype)}}class uW extends u${name="BucketAlreadyExists";$fault="client";constructor(e){super({name:"BucketAlreadyExists",$fault:"client",...e}),Object.setPrototypeOf(this,uW.prototype)}}class uj extends u${name="BucketAlreadyOwnedByYou";$fault="client";constructor(e){super({name:"BucketAlreadyOwnedByYou",$fault:"client",...e}),Object.setPrototypeOf(this,uj.prototype)}}class uV extends u${name="NoSuchBucket";$fault="client";constructor(e){super({name:"NoSuchBucket",$fault:"client",...e}),Object.setPrototypeOf(this,uV.prototype)}}class u0 extends u${name="InvalidObjectState";$fault="client";StorageClass;AccessTier;constructor(e){super({name:"InvalidObjectState",$fault:"client",...e}),Object.setPrototypeOf(this,u0.prototype),this.StorageClass=e.StorageClass,this.AccessTier=e.AccessTier}}class u1 extends u${name="NoSuchKey";$fault="client";constructor(e){super({name:"NoSuchKey",$fault:"client",...e}),Object.setPrototypeOf(this,u1.prototype)}}class u3 extends u${name="NotFound";$fault="client";constructor(e){super({name:"NotFound",$fault:"client",...e}),Object.setPrototypeOf(this,u3.prototype)}}class u2 extends u${name="EncryptionTypeMismatch";$fault="client";constructor(e){super({name:"EncryptionTypeMismatch",$fault:"client",...e}),Object.setPrototypeOf(this,u2.prototype)}}class u4 extends u${name="InvalidRequest";$fault="client";constructor(e){super({name:"InvalidRequest",$fault:"client",...e}),Object.setPrototypeOf(this,u4.prototype)}}class u8 extends u${name="InvalidWriteOffset";$fault="client";constructor(e){super({name:"InvalidWriteOffset",$fault:"client",...e}),Object.setPrototypeOf(this,u8.prototype)}}class u6 extends u${name="TooManyParts";$fault="client";constructor(e){super({name:"TooManyParts",$fault:"client",...e}),Object.setPrototypeOf(this,u6.prototype)}}class u5 extends u${name="IdempotencyParameterMismatch";$fault="client";constructor(e){super({name:"IdempotencyParameterMismatch",$fault:"client",...e}),Object.setPrototypeOf(this,u5.prototype)}}class u7 extends u${name="ObjectAlreadyInActiveTierError";$fault="client";constructor(e){super({name:"ObjectAlreadyInActiveTierError",$fault:"client",...e}),Object.setPrototypeOf(this,u7.prototype)}}let u9="AccessControlTranslation",se="AbortIncompleteMultipartUpload",si="AccessKeyId",sn="AccessPointArn",st="AcceptRanges",sa="AccessTier",sr="Bucket",so="BlockedEncryptionTypes",su="BucketKeyEnabled",ss="Body",sl="ChecksumAlgorithm",sh="CacheControl",sg="ChecksumCRC32",sc="ChecksumCRC32C",sd="ChecksumCRC64NVME",sp="Cache-Control",sf="Content-Disposition",sm="ContentDisposition",sy="Content-Encoding",sS="ContentEncoding",sb="ContentLanguage",sC="Content-Language",sw="Content-Length",sT="ContentLength",sx="Content-MD5",sL="ContentMD5",sE="CompleteMultipartUpload",s_="ChecksumMode",sY="ContentRange",sD="Content-Range",sv="ChecksumSHA1",sA="ChecksumSHA256",sN="ChecksumType",sP="Content-Type",sZ="ContentType",sR="ContinuationToken",sM="Condition",sJ="Credentials",sk="Days",sB="DeleteMarker",sH="DeleteMarkerReplication",sF="DisplayName",sX="DefaultRetention",sI="Date",sO="Delimiter",sQ="Destination",sU="Expiration",sG="ExpectedBucketOwner",sq="EncryptionConfiguration",s$="ExistingObjectReplication",sK="ExpiresString",sz="EncryptionType",sW="ETag",sj="EncodingType",sV="Encryption",s0="Events",s1="Event",s3="Expires",s2="Filter",s4="FieldDelimiter",s8="FilterRule",s6="Format",s5="GrantFullControl",s7="GrantRead",s9="GrantReadACP",le="GrantWriteACP",li="Grant",ln="Grantee",la="HostName",lr="IfMatch",lo="If-Modified-Since",lu="IfModifiedSince",ls="If-Match",ll="IfNoneMatch",lh="If-None-Match",lg="InputSerialization",lc="IfUnmodifiedSince",ld="If-Unmodified-Since",lp="Initiator",lf="JSON",lm="LastModified",ly="Last-Modified",lS="Metadata",lb="MetadataEntry",lC="MaxKeys",lw="MissingMeta",lT="MultipartUpload",lx="Metrics",lL="Name",lE="NoncurrentDays",l_="NewerNoncurrentVersions",lY="NoncurrentVersionExpiration",lD="NoncurrentVersionTransition",lv="Owner",lA="ObjectLockLegalHoldStatus",lN="ObjectLockMode",lP="ObjectLockRetainUntilDate",lZ="ObjectSizeGreaterThan",lR="ObjectSizeLessThan",lM="OutputSerialization",lJ="Prefix",lk="PartsCount",lB="PartNumber",lH="PartitionedPrefix",lF="Part",lX="Permission",lI="Protocol",lO="QuoteCharacter",lQ="QuoteEscapeCharacter",lU="RequestCharged",lG="ResponseCacheControl",lq="ResponseContentDisposition",l$="ResponseContentEncoding",lK="ResponseContentLanguage",lz="ResponseContentType",lW="RecordDelimiter",lj="ResponseExpires",lV="RecordExpiration",l0="ReplicaModifications",l1="RequestPayer",l3="RoutingRule",l2="ReplicationStatus",l4="RestoreStatus",l8="ReplicationTime",l6="Range",l5="Restore",l7="Redirect",l9="Status",he="StartAfter",hi="SecretAccessKey",hn="S3BucketDestination",ht="StorageClass",ha="StorageClassAnalysis",hr="SSE-KMS",ho="SseKmsEncryptedObjects",hu="SimplePrefix",hs="SSE-S3",hl="SourceSelectionCriteria",hh="ServerSideEncryption",hg="SSECustomerAlgorithm",hc="SSECustomerKey",hd="SSECustomerKeyMD5",hp="SSEKMS",hf="SSEKMSEncryptionContext",hm="SSEKMSKeyId",hy="SSES3",hS="SessionToken",hb="Size",hC="Tags",hw="TagCount",hT="TargetGrants",hx="TargetObjectKeyFormat",hL="TagSet",hE="Tagging",h_="Tiering",hY="Transition",hD="Type",hv="UploadId",hA="UserMetadata",hN="Value",hP="VersionId",hZ="WebsiteRedirectLocation",hR="accept-ranges",hM="client",hJ="error",hk="http",hB="httpChecksum",hH="httpError",hF="httpHeader",hX="httpPayload",hI="httpPrefixHeaders",hO="httpQuery",hQ="http://www.w3.org/2001/XMLSchema-instance",hU="partNumber",hG="response-cache-control",hq="response-content-disposition",h$="response-content-encoding",hK="response-content-language",hz="response-content-type",hW="response-expires",hj="smithy.ts.sdk.synthetic.com.amazonaws.s3",hV="uploadId",h0="versionId",h1="xmlFlattened",h3="xmlName",h2="xmlNamespace",h4="x-amz-acl",h8="x-amz-checksum-algorithm",h6="x-amz-checksum-crc32",h5="x-amz-checksum-crc32c",h7="x-amz-checksum-crc64nvme",h9="x-amz-checksum-mode",ge="x-amz-checksum-sha1",gi="x-amz-checksum-sha256",gn="x-amz-checksum-type",ga="x-amz-delete-marker",gr="x-amz-expiration",go="x-amz-expected-bucket-owner",gu="x-amz-grant-full-control",gs="x-amz-grant-read",gl="x-amz-grant-read-acp",gh="x-amz-grant-write-acp",gg="x-amz-meta-",gc="x-amz-missing-meta",gd="x-amz-mp-parts-count",gp="x-amz-object-lock-legal-hold",gf="x-amz-object-lock-mode",gm="x-amz-object-lock-retain-until-date",gy="x-amz-restore",gS="x-amz-request-charged",gb="x-amz-request-payer",gC="x-amz-replication-status",gw="x-amz-storage-class",gT="x-amz-sdk-checksum-algorithm",gx="x-amz-server-side-encryption",gL="x-amz-server-side-encryption-aws-kms-key-id",gE="x-amz-server-side-encryption-bucket-key-enabled",g_="x-amz-server-side-encryption-context",gY="x-amz-server-side-encryption-customer-algorithm",gD="x-amz-server-side-encryption-customer-key",gv="x-amz-server-side-encryption-customer-key-MD5",gA="x-amz-tagging",gN="x-amz-tagging-count",gP="x-amz-version-id",gZ="x-amz-website-redirect-location",gR="com.amazonaws.s3";var gM=[0,gR,"SessionCredentialValue",8,0],gJ=[0,gR,hc,8,0],gk=[0,gR,hf,8,0],gB=[0,gR,hm,8,0],gH=[0,gR,"StreamingBlob",{streaming:1},42],gF=[3,gR,se,0,["DaysAfterInitiation"],[1]],gX=[3,gR,"AbortMultipartUploadOutput",0,[lU],[[0,{[hF]:gS}]]],gI=[3,gR,"AbortMultipartUploadRequest",0,[sr,"Key",hv,l1,sG,"IfMatchInitiatedTime"],[[0,1],[0,1],[0,{[hO]:hV}],[0,{[hF]:gb}],[0,{[hF]:go}],[6,{[hF]:"x-amz-if-match-initiated-time"}]]],gO=[3,gR,u9,0,[lv],[0]],gQ=[3,gR,"AnalyticsAndOperator",0,[lJ,hC],[0,[()=>dX,{[h1]:1,[h3]:"Tag"}]]],gU=[3,gR,"AnalyticsExportDestination",0,[hn],[()=>gG]],gG=[3,gR,"AnalyticsS3BucketDestination",0,[s6,"BucketAccountId",sr,lJ],[0,0,0,0]],gq=[3,gR,so,0,[sz],[[()=>dM,{[h1]:1}]]],g$=[-3,gR,"BucketAlreadyExists",{[hJ]:hM,[hH]:409},[],[]];uG.for(gR).registerError(g$,uW);var gK=[-3,gR,"BucketAlreadyOwnedByYou",{[hJ]:hM,[hH]:409},[],[]];uG.for(gR).registerError(gK,uj);var gz=[3,gR,"CommonPrefix",0,[lJ],[0]],gW=[3,gR,"CompletedMultipartUpload",0,["Parts"],[[()=>dR,{[h1]:1,[h3]:lF}]]],gj=[3,gR,"CompletedPart",0,[sW,sg,sc,sd,sv,sA,lB],[0,0,0,0,0,0,1]],gV=[3,gR,"CompleteMultipartUploadOutput",{[h3]:"CompleteMultipartUploadResult"},["Location",sr,"Key",sU,sW,sg,sc,sd,sv,sA,sN,hh,hP,hm,su,lU],[0,0,0,[0,{[hF]:gr}],0,0,0,0,0,0,0,[0,{[hF]:gx}],[0,{[hF]:gP}],[()=>gB,{[hF]:gL}],[2,{[hF]:gE}],[0,{[hF]:gS}]]],g0=[3,gR,"CompleteMultipartUploadRequest",0,[sr,"Key",lT,hv,sg,sc,sd,sv,sA,sN,"MpuObjectSize",l1,sG,lr,ll,hg,hc,hd],[[0,1],[0,1],[()=>gW,{[hX]:1,[h3]:sE}],[0,{[hO]:hV}],[0,{[hF]:h6}],[0,{[hF]:h5}],[0,{[hF]:h7}],[0,{[hF]:ge}],[0,{[hF]:gi}],[0,{[hF]:gn}],[1,{[hF]:"x-amz-mp-object-size"}],[0,{[hF]:gb}],[0,{[hF]:go}],[0,{[hF]:ls}],[0,{[hF]:lh}],[0,{[hF]:gY}],[()=>gJ,{[hF]:gD}],[0,{[hF]:gv}]]],g1=[3,gR,sM,0,["HttpErrorCodeReturnedEquals","KeyPrefixEquals"],[0,0]],g3=[3,gR,"CORSRule",0,["ID","AllowedHeaders","AllowedMethods","AllowedOrigins","ExposeHeaders","MaxAgeSeconds"],[0,[64,{[h1]:1,[h3]:"AllowedHeader"}],[64,{[h1]:1,[h3]:"AllowedMethod"}],[64,{[h1]:1,[h3]:"AllowedOrigin"}],[64,{[h1]:1,[h3]:"ExposeHeader"}],1]],g2=[3,gR,"CreateMultipartUploadOutput",{[h3]:"InitiateMultipartUploadResult"},["AbortDate","AbortRuleId",sr,"Key",hv,hh,hg,hd,hm,hf,su,lU,sl,sN],[[4,{[hF]:"x-amz-abort-date"}],[0,{[hF]:"x-amz-abort-rule-id"}],[0,{[h3]:sr}],0,0,[0,{[hF]:gx}],[0,{[hF]:gY}],[0,{[hF]:gv}],[()=>gB,{[hF]:gL}],[()=>gk,{[hF]:g_}],[2,{[hF]:gE}],[0,{[hF]:gS}],[0,{[hF]:h8}],[0,{[hF]:gn}]]],g4=[3,gR,"CreateMultipartUploadRequest",0,["ACL",sr,sh,sm,sS,sb,sZ,s3,s5,s7,s9,le,"Key",lS,hh,ht,hZ,hg,hc,hd,hm,hf,su,l1,hE,lN,lP,lA,sG,sl,sN],[[0,{[hF]:h4}],[0,1],[0,{[hF]:sp}],[0,{[hF]:sf}],[0,{[hF]:sy}],[0,{[hF]:sC}],[0,{[hF]:sP}],[4,{[hF]:s3}],[0,{[hF]:gu}],[0,{[hF]:gs}],[0,{[hF]:gl}],[0,{[hF]:gh}],[0,1],[128,{[hI]:gg}],[0,{[hF]:gx}],[0,{[hF]:gw}],[0,{[hF]:gZ}],[0,{[hF]:gY}],[()=>gJ,{[hF]:gD}],[0,{[hF]:gv}],[()=>gB,{[hF]:gL}],[()=>gk,{[hF]:g_}],[2,{[hF]:gE}],[0,{[hF]:gb}],[0,{[hF]:gA}],[0,{[hF]:gf}],[5,{[hF]:gm}],[0,{[hF]:gp}],[0,{[hF]:go}],[0,{[hF]:h8}],[0,{[hF]:gn}]]],g8=[3,gR,"CreateSessionOutput",{[h3]:"CreateSessionResult"},[hh,hm,hf,su,sJ],[[0,{[hF]:gx}],[()=>gB,{[hF]:gL}],[()=>gk,{[hF]:g_}],[2,{[hF]:gE}],[()=>dp,{[h3]:sJ}]]],g6=[3,gR,"CreateSessionRequest",0,["SessionMode",sr,hh,hm,hf,su],[[0,{[hF]:"x-amz-create-session-mode"}],[0,1],[0,{[hF]:gx}],[()=>gB,{[hF]:gL}],[()=>gk,{[hF]:g_}],[2,{[hF]:gE}]]],g5=[3,gR,"CSVInput",0,["FileHeaderInfo","Comments",lQ,lW,s4,lO,"AllowQuotedRecordDelimiter"],[0,0,0,0,0,0,2]],g7=[3,gR,"CSVOutput",0,["QuoteFields",lQ,lW,s4,lO],[0,0,0,0,0]],g9=[3,gR,sX,0,["Mode",sk,"Years"],[0,1,1]],ce=[3,gR,sH,0,[l9],[0]],ci=[3,gR,"DeleteObjectOutput",0,[sB,hP,lU],[[2,{[hF]:ga}],[0,{[hF]:gP}],[0,{[hF]:gS}]]],cn=[3,gR,"DeleteObjectRequest",0,[sr,"Key","MFA",hP,l1,"BypassGovernanceRetention",sG,lr,"IfMatchLastModifiedTime","IfMatchSize"],[[0,1],[0,1],[0,{[hF]:"x-amz-mfa"}],[0,{[hO]:h0}],[0,{[hF]:gb}],[2,{[hF]:"x-amz-bypass-governance-retention"}],[0,{[hF]:go}],[0,{[hF]:ls}],[6,{[hF]:"x-amz-if-match-last-modified-time"}],[1,{[hF]:"x-amz-if-match-size"}]]],ct=[3,gR,sQ,0,[sr,"Account",ht,u9,sq,l8,lx],[0,0,0,()=>gO,()=>cr,()=>dr,()=>cH]],ca=[3,gR,sV,0,[sz,"KMSKeyId","KMSContext"],[0,[()=>gB,0],0]],cr=[3,gR,sq,0,["ReplicaKmsKeyID"],[0]],co=[-3,gR,"EncryptionTypeMismatch",{[hJ]:hM,[hH]:400},[],[]];uG.for(gR).registerError(co,u2);var cu=[3,gR,s$,0,[l9],[0]],cs=[3,gR,s8,0,[lL,hN],[0,0]],cl=[3,gR,"GetObjectOutput",0,[ss,sB,st,sU,l5,lm,sT,sW,sg,sc,sd,sv,sA,sN,lw,hP,sh,sm,sS,sb,sY,sZ,s3,sK,hZ,hh,lS,hg,hd,hm,su,ht,lU,l2,lk,hw,lN,lP,lA],[[()=>gH,16],[2,{[hF]:ga}],[0,{[hF]:hR}],[0,{[hF]:gr}],[0,{[hF]:gy}],[4,{[hF]:ly}],[1,{[hF]:sw}],[0,{[hF]:sW}],[0,{[hF]:h6}],[0,{[hF]:h5}],[0,{[hF]:h7}],[0,{[hF]:ge}],[0,{[hF]:gi}],[0,{[hF]:gn}],[1,{[hF]:gc}],[0,{[hF]:gP}],[0,{[hF]:sp}],[0,{[hF]:sf}],[0,{[hF]:sy}],[0,{[hF]:sC}],[0,{[hF]:sD}],[0,{[hF]:sP}],[4,{[hF]:s3}],[0,{[hF]:sK}],[0,{[hF]:gZ}],[0,{[hF]:gx}],[128,{[hI]:gg}],[0,{[hF]:gY}],[0,{[hF]:gv}],[()=>gB,{[hF]:gL}],[2,{[hF]:gE}],[0,{[hF]:gw}],[0,{[hF]:gS}],[0,{[hF]:gC}],[1,{[hF]:gd}],[1,{[hF]:gN}],[0,{[hF]:gf}],[5,{[hF]:gm}],[0,{[hF]:gp}]]],ch=[3,gR,"GetObjectRequest",0,[sr,lr,lu,ll,lc,"Key",l6,lG,lq,l$,lK,lz,lj,hP,hg,hc,hd,l1,lB,sG,s_],[[0,1],[0,{[hF]:ls}],[4,{[hF]:lo}],[0,{[hF]:lh}],[4,{[hF]:ld}],[0,1],[0,{[hF]:l6}],[0,{[hO]:hG}],[0,{[hO]:hq}],[0,{[hO]:h$}],[0,{[hO]:hK}],[0,{[hO]:hz}],[6,{[hO]:hW}],[0,{[hO]:h0}],[0,{[hF]:gY}],[()=>gJ,{[hF]:gD}],[0,{[hF]:gv}],[0,{[hF]:gb}],[1,{[hO]:hU}],[0,{[hF]:go}],[0,{[hF]:h9}]]],cg=[3,gR,li,0,[ln,lX],[[()=>cc,{[h2]:["xsi",hQ]}],0]],cc=[3,gR,ln,0,[sF,"EmailAddress","ID","URI",hD],[0,0,0,0,[0,{xmlAttribute:1,[h3]:"xsi:type"}]]],cd=[3,gR,"HeadObjectOutput",0,[sB,st,sU,l5,"ArchiveStatus",lm,sT,sg,sc,sd,sv,sA,sN,sW,lw,hP,sh,sm,sS,sb,sZ,sY,s3,sK,hZ,hh,lS,hg,hd,hm,su,ht,lU,l2,lk,hw,lN,lP,lA],[[2,{[hF]:ga}],[0,{[hF]:hR}],[0,{[hF]:gr}],[0,{[hF]:gy}],[0,{[hF]:"x-amz-archive-status"}],[4,{[hF]:ly}],[1,{[hF]:sw}],[0,{[hF]:h6}],[0,{[hF]:h5}],[0,{[hF]:h7}],[0,{[hF]:ge}],[0,{[hF]:gi}],[0,{[hF]:gn}],[0,{[hF]:sW}],[1,{[hF]:gc}],[0,{[hF]:gP}],[0,{[hF]:sp}],[0,{[hF]:sf}],[0,{[hF]:sy}],[0,{[hF]:sC}],[0,{[hF]:sP}],[0,{[hF]:sD}],[4,{[hF]:s3}],[0,{[hF]:sK}],[0,{[hF]:gZ}],[0,{[hF]:gx}],[128,{[hI]:gg}],[0,{[hF]:gY}],[0,{[hF]:gv}],[()=>gB,{[hF]:gL}],[2,{[hF]:gE}],[0,{[hF]:gw}],[0,{[hF]:gS}],[0,{[hF]:gC}],[1,{[hF]:gd}],[1,{[hF]:gN}],[0,{[hF]:gf}],[5,{[hF]:gm}],[0,{[hF]:gp}]]],cp=[3,gR,"HeadObjectRequest",0,[sr,lr,lu,ll,lc,"Key",l6,lG,lq,l$,lK,lz,lj,hP,hg,hc,hd,l1,lB,sG,s_],[[0,1],[0,{[hF]:ls}],[4,{[hF]:lo}],[0,{[hF]:lh}],[4,{[hF]:ld}],[0,1],[0,{[hF]:l6}],[0,{[hO]:hG}],[0,{[hO]:hq}],[0,{[hO]:h$}],[0,{[hO]:hK}],[0,{[hO]:hz}],[6,{[hO]:hW}],[0,{[hO]:h0}],[0,{[hF]:gY}],[()=>gJ,{[hF]:gD}],[0,{[hF]:gv}],[0,{[hF]:gb}],[1,{[hO]:hU}],[0,{[hF]:go}],[0,{[hF]:h9}]]],cf=[-3,gR,"IdempotencyParameterMismatch",{[hJ]:hM,[hH]:400},[],[]];uG.for(gR).registerError(cf,u5);var cm=[3,gR,lp,0,["ID",sF],[0,0]],cy=[3,gR,lg,0,["CSV","CompressionType",lf,"Parquet"],[()=>g5,0,()=>cD,()=>c3]],cS=[3,gR,"IntelligentTieringAndOperator",0,[lJ,hC],[0,[()=>dX,{[h1]:1,[h3]:"Tag"}]]],cb=[3,gR,"IntelligentTieringFilter",0,[lJ,"Tag","And"],[0,()=>dT,[()=>cS,0]]],cC=[-3,gR,"InvalidObjectState",{[hJ]:hM,[hH]:403},[ht,sa],[0,0]];uG.for(gR).registerError(cC,u0);var cw=[-3,gR,"InvalidRequest",{[hJ]:hM,[hH]:400},[],[]];uG.for(gR).registerError(cw,u4);var cT=[-3,gR,"InvalidWriteOffset",{[hJ]:hM,[hH]:400},[],[]];uG.for(gR).registerError(cT,u8);var cx=[3,gR,"InventoryDestination",0,[hn],[[()=>c_,0]]],cL=[3,gR,"InventoryEncryption",0,[hy,hp],[[()=>db,{[h3]:hs}],[()=>dy,{[h3]:hr}]]],cE=[3,gR,"InventoryFilter",0,[lJ],[0]],c_=[3,gR,"InventoryS3BucketDestination",0,["AccountId",sr,s6,lJ,sV],[0,0,0,0,[()=>cL,0]]],cY=[3,gR,"InventorySchedule",0,["Frequency"],[0]],cD=[3,gR,"JSONInput",0,[hD],[0]],cv=[3,gR,"JSONOutput",0,[lW],[0]],cA=[3,gR,"LambdaFunctionConfiguration",0,["Id","LambdaFunctionArn",s0,s2],[0,[0,{[h3]:"CloudFunction"}],[64,{[h1]:1,[h3]:s1}],[()=>cq,0]]],cN=[3,gR,"LifecycleExpiration",0,[sI,sk,"ExpiredObjectDeleteMarker"],[5,1,2]],cP=[3,gR,"LifecycleRule",0,[sU,"ID",lJ,s2,l9,"Transitions","NoncurrentVersionTransitions",lY,se],[()=>cN,0,0,[()=>cR,0],0,[()=>dO,{[h1]:1,[h3]:hY}],[()=>dH,{[h1]:1,[h3]:lD}],()=>cX,()=>gF]],cZ=[3,gR,"LifecycleRuleAndOperator",0,[lJ,hC,lZ,lR],[0,[()=>dX,{[h1]:1,[h3]:"Tag"}],1,1]],cR=[3,gR,"LifecycleRuleFilter",0,[lJ,"Tag",lZ,lR,"And"],[0,()=>dT,1,1,[()=>cZ,0]]],cM=[3,gR,"ListObjectsV2Output",{[h3]:"ListBucketResult"},["IsTruncated","Contents",lL,lJ,sO,lC,"CommonPrefixes",sj,"KeyCount",sR,"NextContinuationToken",he,lU],[2,[()=>dF,{[h1]:1}],0,0,0,1,[()=>dZ,{[h1]:1}],0,1,0,0,0,[0,{[hF]:gS}]]],cJ=[3,gR,"ListObjectsV2Request",0,[sr,sO,sj,lC,lJ,sR,"FetchOwner",he,l1,sG,"OptionalObjectAttributes"],[[0,1],[0,{[hO]:"delimiter"}],[0,{[hO]:"encoding-type"}],[1,{[hO]:"max-keys"}],[0,{[hO]:"prefix"}],[0,{[hO]:"continuation-token"}],[2,{[hO]:"fetch-owner"}],[0,{[hO]:"start-after"}],[0,{[hF]:gb}],[0,{[hF]:go}],[64,{[hF]:"x-amz-optional-object-attributes"}]]],ck=[3,gR,lb,0,[lL,hN],[0,0]],cB=[3,gR,"MetadataTableEncryptionConfiguration",0,["SseAlgorithm","KmsKeyArn"],[0,0]],cH=[3,gR,lx,0,[l9,"EventThreshold"],[0,()=>du]],cF=[3,gR,"MetricsAndOperator",0,[lJ,hC,sn],[0,[()=>dX,{[h1]:1,[h3]:"Tag"}],0]],cX=[3,gR,lY,0,[lE,l_],[1,1]],cI=[3,gR,lD,0,[lE,ht,l_],[1,0,1]],cO=[-3,gR,"NoSuchBucket",{[hJ]:hM,[hH]:404},[],[]];uG.for(gR).registerError(cO,uV);var cQ=[-3,gR,"NoSuchKey",{[hJ]:hM,[hH]:404},[],[]];uG.for(gR).registerError(cQ,u1);var cU=[-3,gR,"NoSuchUpload",{[hJ]:hM,[hH]:404},[],[]];uG.for(gR).registerError(cU,uK);var cG=[-3,gR,"NotFound",{[hJ]:hM},[],[]];uG.for(gR).registerError(cG,u3);var cq=[3,gR,"NotificationConfigurationFilter",0,["Key"],[[()=>dh,{[h3]:"S3Key"}]]],c$=[3,gR,"Object",0,["Key",lm,sW,sl,sN,hb,ht,lv,l4],[0,4,0,[64,{[h1]:1}],0,1,0,()=>c0,()=>ds]],cK=[-3,gR,"ObjectAlreadyInActiveTierError",{[hJ]:hM,[hH]:403},[],[]];uG.for(gR).registerError(cK,u7);var cz=[3,gR,"ObjectIdentifier",0,["Key",hP,sW,"LastModifiedTime",hb],[0,0,0,6,1]],cW=[-3,gR,"ObjectNotInActiveTierError",{[hJ]:hM,[hH]:403},[],[]];uG.for(gR).registerError(cW,uz);var cj=[3,gR,"ObjectPart",0,[lB,hb,sg,sc,sd,sv,sA],[1,1,0,0,0,0,0]],cV=[3,gR,lM,0,["CSV",lf],[()=>g7,()=>cv]],c0=[3,gR,lv,0,[sF,"ID"],[0,0]],c1=[3,gR,"OwnershipControlsRule",0,["ObjectOwnership"],[0]],c3=[3,gR,"ParquetInput",0,[],[]],c2=[3,gR,lH,{[h3]:lH},["PartitionDateSource"],[0]],c4=[3,gR,"PutObjectOutput",0,[sU,sW,sg,sc,sd,sv,sA,sN,hh,hP,hg,hd,hm,hf,su,hb,lU],[[0,{[hF]:gr}],[0,{[hF]:sW}],[0,{[hF]:h6}],[0,{[hF]:h5}],[0,{[hF]:h7}],[0,{[hF]:ge}],[0,{[hF]:gi}],[0,{[hF]:gn}],[0,{[hF]:gx}],[0,{[hF]:gP}],[0,{[hF]:gY}],[0,{[hF]:gv}],[()=>gB,{[hF]:gL}],[()=>gk,{[hF]:g_}],[2,{[hF]:gE}],[1,{[hF]:"x-amz-object-size"}],[0,{[hF]:gS}]]],c8=[3,gR,"PutObjectRequest",0,["ACL",ss,sr,sh,sm,sS,sb,sT,sL,sZ,sl,sg,sc,sd,sv,sA,s3,lr,ll,s5,s7,s9,le,"Key","WriteOffsetBytes",lS,hh,ht,hZ,hg,hc,hd,hm,hf,su,l1,hE,lN,lP,lA,sG],[[0,{[hF]:h4}],[()=>gH,16],[0,1],[0,{[hF]:sp}],[0,{[hF]:sf}],[0,{[hF]:sy}],[0,{[hF]:sC}],[1,{[hF]:sw}],[0,{[hF]:sx}],[0,{[hF]:sP}],[0,{[hF]:gT}],[0,{[hF]:h6}],[0,{[hF]:h5}],[0,{[hF]:h7}],[0,{[hF]:ge}],[0,{[hF]:gi}],[4,{[hF]:s3}],[0,{[hF]:ls}],[0,{[hF]:lh}],[0,{[hF]:gu}],[0,{[hF]:gs}],[0,{[hF]:gl}],[0,{[hF]:gh}],[0,1],[1,{[hF]:"x-amz-write-offset-bytes"}],[128,{[hI]:gg}],[0,{[hF]:gx}],[0,{[hF]:gw}],[0,{[hF]:gZ}],[0,{[hF]:gY}],[()=>gJ,{[hF]:gD}],[0,{[hF]:gv}],[()=>gB,{[hF]:gL}],[()=>gk,{[hF]:g_}],[2,{[hF]:gE}],[0,{[hF]:gb}],[0,{[hF]:gA}],[0,{[hF]:gf}],[5,{[hF]:gm}],[0,{[hF]:gp}],[0,{[hF]:go}]]],c6=[3,gR,"PutObjectTaggingOutput",0,[hP],[[0,{[hF]:gP}]]],c5=[3,gR,"PutObjectTaggingRequest",0,[sr,"Key",hP,sL,sl,hE,sG,l1],[[0,1],[0,1],[0,{[hO]:h0}],[0,{[hF]:sx}],[0,{[hF]:gT}],[()=>dx,{[hX]:1,[h3]:hE}],[0,{[hF]:go}],[0,{[hF]:gb}]]],c7=[3,gR,"QueueConfiguration",0,["Id","QueueArn",s0,s2],[0,[0,{[h3]:"Queue"}],[64,{[h1]:1,[h3]:s1}],[()=>cq,0]]],c9=[3,gR,lV,0,[sU,sk],[0,1]],de=[3,gR,l7,0,[la,"HttpRedirectCode",lI,"ReplaceKeyPrefixWith","ReplaceKeyWith"],[0,0,0,0,0]],di=[3,gR,l0,0,[l9],[0]],dn=[3,gR,"ReplicationRule",0,["ID","Priority",lJ,s2,l9,hl,s$,sQ,sH],[0,1,0,[()=>da,0],0,()=>dm,()=>cu,()=>ct,()=>ce]],dt=[3,gR,"ReplicationRuleAndOperator",0,[lJ,hC],[0,[()=>dX,{[h1]:1,[h3]:"Tag"}]]],da=[3,gR,"ReplicationRuleFilter",0,[lJ,"Tag","And"],[0,()=>dT,[()=>dt,0]]],dr=[3,gR,l8,0,[l9,"Time"],[0,()=>du]],du=[3,gR,"ReplicationTimeValue",0,["Minutes"],[1]],ds=[3,gR,l4,0,["IsRestoreInProgress","RestoreExpiryDate"],[2,4]],dl=[3,gR,l3,0,[sM,l7],[()=>g1,()=>de]],dh=[3,gR,"S3KeyFilter",0,["FilterRules"],[[()=>dJ,{[h1]:1,[h3]:s8}]]],dg=[3,gR,"S3Location",0,["BucketName",lJ,sV,"CannedACL","AccessControlList",hE,hA,ht],[0,0,[()=>ca,0],0,[()=>dk,0],[()=>dx,0],[()=>dQ,0],0]],dc=[3,gR,"ServerSideEncryptionByDefault",0,["SSEAlgorithm","KMSMasterKeyID"],[0,[()=>gB,0]]],dd=[3,gR,"ServerSideEncryptionRule",0,["ApplyServerSideEncryptionByDefault",su,so],[[()=>dc,0],2,[()=>gq,0]]],dp=[3,gR,"SessionCredentials",0,[si,hi,hS,sU],[[0,{[h3]:si}],[()=>gM,{[h3]:hi}],[()=>gM,{[h3]:hS}],[4,{[h3]:sU}]]],df=[3,gR,hu,{[h3]:hu},[],[]],dm=[3,gR,hl,0,[ho,l0],[()=>dS,()=>di]],dy=[3,gR,hp,{[h3]:hr},["KeyId"],[[()=>gB,0]]],dS=[3,gR,ho,0,[l9],[0]],db=[3,gR,hy,{[h3]:hs},[],[]],dC=[3,gR,ha,0,["DataExport"],[()=>dw]],dw=[3,gR,"StorageClassAnalysisDataExport",0,["OutputSchemaVersion",sQ],[0,()=>gU]],dT=[3,gR,"Tag",0,["Key",hN],[0,0]],dx=[3,gR,hE,0,[hL],[[()=>dX,0]]],dL=[3,gR,"TargetGrant",0,[ln,lX],[[()=>cc,{[h2]:["xsi",hQ]}],0]],dE=[3,gR,hx,0,[hu,lH],[[()=>df,{[h3]:hu}],[()=>c2,{[h3]:lH}]]],d_=[3,gR,h_,0,[sk,sa],[1,0]],dY=[-3,gR,"TooManyParts",{[hJ]:hM,[hH]:400},[],[]];uG.for(gR).registerError(dY,u6);var dD=[3,gR,"TopicConfiguration",0,["Id","TopicArn",s0,s2],[0,[0,{[h3]:"Topic"}],[64,{[h1]:1,[h3]:s1}],[()=>cq,0]]],dv=[3,gR,hY,0,[sI,sk,ht],[5,1,0]],dA=[3,gR,"UploadPartOutput",0,[hh,sW,sg,sc,sd,sv,sA,hg,hd,hm,su,lU],[[0,{[hF]:gx}],[0,{[hF]:sW}],[0,{[hF]:h6}],[0,{[hF]:h5}],[0,{[hF]:h7}],[0,{[hF]:ge}],[0,{[hF]:gi}],[0,{[hF]:gY}],[0,{[hF]:gv}],[()=>gB,{[hF]:gL}],[2,{[hF]:gE}],[0,{[hF]:gS}]]],dN=[3,gR,"UploadPartRequest",0,[ss,sr,sT,sL,sl,sg,sc,sd,sv,sA,"Key",lB,hv,hg,hc,hd,l1,sG],[[()=>gH,16],[0,1],[1,{[hF]:sw}],[0,{[hF]:sx}],[0,{[hF]:gT}],[0,{[hF]:h6}],[0,{[hF]:h5}],[0,{[hF]:h7}],[0,{[hF]:ge}],[0,{[hF]:gi}],[0,1],[1,{[hO]:hU}],[0,{[hO]:hV}],[0,{[hF]:gY}],[()=>gJ,{[hF]:gD}],[0,{[hF]:gv}],[0,{[hF]:gb}],[0,{[hF]:go}]]],dP=[-3,hj,"S3ServiceException",0,[],[]];uG.for(hj).registerError(dP,u$);var dZ=[1,gR,"CommonPrefixList",0,()=>gz],dR=[1,gR,"CompletedPartList",0,()=>gj],dM=[1,gR,"EncryptionTypeList",0,[0,{[h3]:sz}]],dJ=[1,gR,"FilterRuleList",0,()=>cs],dk=[1,gR,"Grants",0,[()=>cg,{[h3]:li}]],dB=[1,gR,"InventoryOptionalFields",0,[0,{[h3]:"Field"}]],dH=[1,gR,"NoncurrentVersionTransitionList",0,()=>cI],dF=[1,gR,"ObjectList",0,[()=>c$,0]],dX=[1,gR,hL,0,[()=>dT,{[h3]:"Tag"}]],dI=[1,gR,hT,0,[()=>dL,{[h3]:li}]],dO=[1,gR,"TransitionList",0,()=>dv],dQ=[1,gR,hA,0,[()=>ck,{[h3]:lb}]],dU=[4,gR,"AnalyticsFilter",0,[lJ,"Tag","And"],[0,()=>dT,[()=>gQ,0]]],dG=[4,gR,"MetricsFilter",0,[lJ,"Tag",sn,"And"],[0,()=>dT,0,[()=>cF,0]]],dq=[9,gR,"AbortMultipartUpload",{[hk]:["DELETE","/{Key+}?x-id=AbortMultipartUpload",204]},()=>gI,()=>gX],d$=[9,gR,sE,{[hk]:["POST","/{Key+}",200]},()=>g0,()=>gV],dK=[9,gR,"CreateMultipartUpload",{[hk]:["POST","/{Key+}?uploads",200]},()=>g4,()=>g2],dz=[9,gR,"CreateSession",{[hk]:["GET","/?session",200]},()=>g6,()=>g8],dW=[9,gR,"DeleteObject",{[hk]:["DELETE","/{Key+}?x-id=DeleteObject",204]},()=>cn,()=>ci],dj=[9,gR,"GetObject",{[hB]:"-",[hk]:["GET","/{Key+}?x-id=GetObject",200]},()=>ch,()=>cl],dV=[9,gR,"HeadObject",{[hk]:["HEAD","/{Key+}",200]},()=>cp,()=>cd],d0=[9,gR,"ListObjectsV2",{[hk]:["GET","/?list-type=2",200]},()=>cJ,()=>cM],d1=[9,gR,"PutObject",{[hB]:"-",[hk]:["PUT","/{Key+}?x-id=PutObject",200]},()=>c8,()=>c4],d3=[9,gR,"PutObjectTagging",{[hB]:"-",[hk]:["PUT","/{Key+}?tagging",200]},()=>c5,()=>c6],d2=[9,gR,"UploadPart",{[hB]:"-",[hk]:["PUT","/{Key+}?x-id=UploadPart",200]},()=>dN,()=>dA];class d4 extends uO.classBuilder().ep({...uU,DisableS3ExpressSessionAuth:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function(e,i,n,t){return[getEndpointPlugin(n,e.getEndpointParameterInstructions()),getThrow200ExceptionsPlugin(n)]}).s("AmazonS3","CreateSession",{}).n("S3Client","CreateSessionCommand").sc(dz).build(){}let d8={warningEmitted:!1},emitWarningIfUnsupportedVersion=e=>{e&&!d8.warningEmitted&&20>parseInt(e.substring(1,e.indexOf(".")))&&(d8.warningEmitted=!0,process.emitWarning(`NodeDeprecationWarning: The AWS SDK for JavaScript (v3) will
|
|
53
|
+
${toHex(r)}`}getCanonicalPath({path:e}){if(this.uriEscapePath){let i=[];for(let n of e.split("/"))n?.length!==0&&"."!==n&&(".."===n?i.pop():i.push(n));return escapeUri(`${e?.startsWith("/")?"/":""}${i.join("/")}${i.length>0&&e?.endsWith("/")?"/":""}`).replace(/%2F/g,"/")}return e}validateResolvedCredentials(e){if("object"!=typeof e||"string"!=typeof e.accessKeyId||"string"!=typeof e.secretAccessKey)throw Error("Resolved credential object is not valid")}formatDate(e){var i;let n=("number"==typeof(i=e)?new Date(1e3*i):"string"==typeof i?new Date(Number(i)?1e3*Number(i):i):i).toISOString().replace(/\.\d{3}Z$/,"Z").replace(/[\-:]/g,"");return{longDate:n,shortDate:n.slice(0,8)}}getCanonicalHeaderList(e){return Object.keys(e).sort().join(";")}}class ak extends aJ{headerFormatter=new aZ;constructor({applyChecksum:e,credentials:i,region:n,service:t,sha256:a,uriEscapePath:r=!0}){super({applyChecksum:e,credentials:i,region:n,service:t,sha256:a,uriEscapePath:r})}async presign(e,i={}){let{signingDate:n=new Date,expiresIn:t=3600,unsignableHeaders:a,unhoistableHeaders:r,signableHeaders:o,hoistableHeaders:u,signingRegion:s,signingService:l}=i,h=await this.credentialProvider();this.validateResolvedCredentials(h);let g=s??await this.regionProvider(),{longDate:c,shortDate:d}=this.formatDate(n);if(t>604800)return Promise.reject("Signature version 4 presigned URLs must have an expiration date less than one week in the future");let p=createScope(d,g,l??this.service),f=((e,i={})=>{let{headers:n,query:t={}}=n6.clone(e);for(let e of Object.keys(n)){let a=e.toLowerCase();("x-amz-"===a.slice(0,6)&&!i.unhoistableHeaders?.has(a)||i.hoistableHeaders?.has(a))&&(t[e]=n[e],delete n[e])}return{...e,headers:n,query:t}})(prepareRequest(e),{unhoistableHeaders:r,hoistableHeaders:u});h.sessionToken&&(f.query[ab]=h.sessionToken),f.query["X-Amz-Algorithm"]=av,f.query["X-Amz-Credential"]=`${h.accessKeyId}/${p}`,f.query[ay]=c,f.query["X-Amz-Expires"]=t.toString(10);let m=getCanonicalHeaders(f,a,o);return f.query["X-Amz-SignedHeaders"]=this.getCanonicalHeaderList(m),f.query[aS]=await this.getSignature(c,p,this.getSigningKey(h,g,d,l),this.createCanonicalRequest(f,m,await getPayloadHash(e,this.sha256))),f}async sign(e,i){return"string"==typeof e?this.signString(e,i):e.headers&&e.payload?this.signEvent(e,i):e.message?this.signMessage(e,i):this.signRequest(e,i)}async signEvent({headers:e,payload:i},{signingDate:n=new Date,priorSignature:t,signingRegion:a,signingService:r}){let o=a??await this.regionProvider(),{shortDate:u,longDate:s}=this.formatDate(n),l=createScope(u,o,r??this.service),h=await getPayloadHash({headers:{},body:i},this.sha256),g=new this.sha256;g.update(e);let c=["AWS4-HMAC-SHA256-PAYLOAD",s,l,t,toHex(await g.digest()),h].join("\n");return this.signString(c,{signingDate:n,signingRegion:o,signingService:r})}async signMessage(e,{signingDate:i=new Date,signingRegion:n,signingService:t}){return this.signEvent({headers:this.headerFormatter.format(e.message.headers),payload:e.message.body},{signingDate:i,signingRegion:n,signingService:t,priorSignature:e.priorSignature}).then(i=>({message:e.message,signature:i}))}async signString(e,{signingDate:i=new Date,signingRegion:n,signingService:t}={}){let a=await this.credentialProvider();this.validateResolvedCredentials(a);let r=n??await this.regionProvider(),{shortDate:o}=this.formatDate(i),u=new this.sha256(await this.getSigningKey(a,r,o,t));return u.update(toUint8Array(e)),toHex(await u.digest())}async signRequest(e,{signingDate:i=new Date,signableHeaders:n,unsignableHeaders:t,signingRegion:a,signingService:r}={}){let o=await this.credentialProvider();this.validateResolvedCredentials(o);let u=a??await this.regionProvider(),s=prepareRequest(e),{longDate:l,shortDate:h}=this.formatDate(i),g=createScope(h,u,r??this.service);s.headers[aw]=l,o.sessionToken&&(s.headers[aE]=o.sessionToken);let c=await getPayloadHash(s,this.sha256);!((e,i)=>{for(let n of(e=e.toLowerCase(),Object.keys(i)))if(e===n.toLowerCase())return!0;return!1})(aL,s.headers)&&this.applyChecksum&&(s.headers[aL]=c);let d=getCanonicalHeaders(s,t,n),p=await this.getSignature(l,g,this.getSigningKey(o,u,h,r),this.createCanonicalRequest(s,d,c));return s.headers[aC]=`${av} Credential=${o.accessKeyId}/${g}, SignedHeaders=${this.getCanonicalHeaderList(d)}, Signature=${p}`,s}async getSignature(e,i,n,t){let a=await this.createStringToSign(e,i,t,av),r=new this.sha256(await n);return r.update(toUint8Array(a)),toHex(await r.digest())}getSigningKey(e,i,n,t){return getSigningKey(this.sha256,e,n,i,t||this.service)}}let resolveAwsSdkSigV4Config=e=>{let i,n,t=e.credentials,a=!!e.credentials;Object.defineProperty(e,"credentials",{set(n){n&&n!==t&&n!==i&&(a=!0);let r=normalizeCredentialProvider(e,{credentials:t=n,credentialDefaultProvider:e.credentialDefaultProvider}),o=bindCallerConfig(e,r);if(a&&!o.attributed){let e="object"==typeof t&&null!==t;(i=async i=>{let n=await o(i);return e&&(!n.$source||0===Object.keys(n.$source).length)?setCredentialFeature(n,"CREDENTIALS_CODE","e"):n}).memoized=o.memoized,i.configBound=o.configBound,i.attributed=!0}else i=o},get:()=>i,enumerable:!0,configurable:!0}),e.credentials=t;let{signingEscapePath:r=!0,systemClockOffset:o=e.systemClockOffset||0,sha256:u}=e;return n=e.signer?normalizeProvider_normalizeProvider(e.signer):e.regionInfoProvider?()=>normalizeProvider_normalizeProvider(e.region)().then(async i=>[await e.regionInfoProvider(i,{useFipsEndpoint:await e.useFipsEndpoint(),useDualstackEndpoint:await e.useDualstackEndpoint()})||{},i]).then(([i,n])=>{let{signingRegion:t,signingService:a}=i;e.signingRegion=e.signingRegion||t||n,e.signingName=e.signingName||a||e.serviceId;let o={...e,credentials:e.credentials,region:e.signingRegion,service:e.signingName,sha256:u,uriEscapePath:r};return new(e.signerConstructor||ak)(o)}):async i=>{let n=(i=Object.assign({},{name:"sigv4",signingName:e.signingName||e.defaultSigningName,signingRegion:await normalizeProvider_normalizeProvider(e.region)(),properties:{}},i)).signingRegion,t=i.signingName;e.signingRegion=e.signingRegion||n,e.signingName=e.signingName||t||e.serviceId;let a={...e,credentials:e.credentials,region:e.signingRegion,service:e.signingName,sha256:u,uriEscapePath:r};return new(e.signerConstructor||ak)(a)},Object.assign(e,{systemClockOffset:o,signingEscapePath:r,signer:n})};function normalizeCredentialProvider(e,{credentials:i,credentialDefaultProvider:n}){let t;return(t=i?i?.memoized?i:((e,i,n)=>{let t,a,r;if(void 0===e)return;let o="function"!=typeof e?async()=>Promise.resolve(e):e,u=!1,coalesceProvider=async e=>{a||(a=o(e));try{t=await a,r=!0,u=!1}finally{a=void 0}return t};return void 0===i?async e=>((!r||e?.forceRefresh)&&(t=await coalesceProvider(e)),t):async e=>((!r||e?.forceRefresh)&&(t=await coalesceProvider(e)),u||(n(t)?i(t)&&await coalesceProvider(e):u=!0),t)})(i,memoizeIdentityProvider_isIdentityExpired,doesIdentityRequireRefresh):n?normalizeProvider_normalizeProvider(n(Object.assign({},e,{parentClientConfig:e}))):async()=>{throw Error("@aws-sdk/core::resolveAwsSdkSigV4Config - `credentials` not provided and no credentialDefaultProvider was configured.")}).memoized=!0,t}function bindCallerConfig(e,i){if(i.configBound)return i;let fn=async n=>i({...n,callerClientConfig:e});return fn.memoized=i.memoized,fn.configBound=!0,fn}let aB={environmentVariableSelector(e){if(e.AWS_SIGV4A_SIGNING_REGION_SET)return e.AWS_SIGV4A_SIGNING_REGION_SET.split(",").map(e=>e.trim());throw new tU("AWS_SIGV4A_SIGNING_REGION_SET not set in env.",{tryNextLink:!0})},configFileSelector(e){if(e.sigv4a_signing_region_set)return(e.sigv4a_signing_region_set??"").split(",").map(e=>e.trim());throw new tU("sigv4a_signing_region_set not set in profile.",{tryNextLink:!0})},default:void 0};class aH extends ak{async signWithCredentials(e,i,n){let t=getCredentialsWithoutSessionToken(i);return e.headers[tC]=i.sessionToken,setSingleOverride(this,t),this.signRequest(e,n??{})}async presignWithCredentials(e,i,n){let t=getCredentialsWithoutSessionToken(i);return delete e.headers[tC],e.headers[tb]=i.sessionToken,e.query=e.query??{},e.query[tb]=i.sessionToken,setSingleOverride(this,t),this.presign(e,n)}}function getCredentialsWithoutSessionToken(e){return{accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,expiration:e.expiration}}function setSingleOverride(e,i){let n=setTimeout(()=>{throw Error("SignatureV4S3Express credential override was created but not called.")},10),t=e.credentialProvider;e.credentialProvider=()=>(clearTimeout(n),e.credentialProvider=t,Promise.resolve(i))}class aF{sigv4aSigner;sigv4Signer;signerOptions;static sigv4aDependency(){return"none"}constructor(e){this.sigv4Signer=new aH(e),this.signerOptions=e}async sign(e,i={}){return"*"===i.signingRegion?this.getSigv4aSigner().sign(e,i):this.sigv4Signer.sign(e,i)}async signWithCredentials(e,i,n={}){if("*"===n.signingRegion){let e=this.getSigv4aSigner();!1;throw Error('signWithCredentials with signingRegion \'*\' is only supported when using the CRT dependency @aws-sdk/signature-v4-crt. Please check whether you have installed the "@aws-sdk/signature-v4-crt" package explicitly. You must also register the package by calling [require("@aws-sdk/signature-v4-crt");] or an ESM equivalent such as [import "@aws-sdk/signature-v4-crt";]. For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt')}return this.sigv4Signer.signWithCredentials(e,i,n)}async presign(e,i={}){if("*"===i.signingRegion){let e=this.getSigv4aSigner();!1;throw Error('presign with signingRegion \'*\' is only supported when using the CRT dependency @aws-sdk/signature-v4-crt. Please check whether you have installed the "@aws-sdk/signature-v4-crt" package explicitly. You must also register the package by calling [require("@aws-sdk/signature-v4-crt");] or an ESM equivalent such as [import "@aws-sdk/signature-v4-crt";]. For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt')}return this.sigv4Signer.presign(e,i)}async presignWithCredentials(e,i,n={}){if("*"===n.signingRegion)throw Error("Method presignWithCredentials is not supported for [signingRegion=*].");return this.sigv4Signer.presignWithCredentials(e,i,n)}getSigv4aSigner(){if(!this.sigv4aSigner)if("node"===this.signerOptions.runtime){!0;throw Error("Neither CRT nor JS SigV4a implementation is available. Please load either @aws-sdk/signature-v4-crt or @aws-sdk/signature-v4a. For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt")}else{!0;throw Error("JS SigV4a implementation is not available or not a valid constructor. Please check whether you have installed the @aws-sdk/signature-v4a package explicitly. The CRT implementation is not available for browsers. You must also register the package by calling [require('@aws-sdk/signature-v4a');] or an ESM equivalent such as [import '@aws-sdk/signature-v4a';]. For more information please go to https://github.com/aws/aws-sdk-js-v3#using-javascript-non-crt-implementation-of-sigv4a")}return this.sigv4aSigner}}let resolveParamsForS3=async e=>{let i=e?.Bucket||"";if("string"==typeof e.Bucket&&(e.Bucket=i.replace(/#/g,encodeURIComponent("#")).replace(/\?/g,encodeURIComponent("?"))),isArnBucketName(i)){if(!0===e.ForcePathStyle)throw Error("Path-style addressing cannot be used with ARN buckets")}else isDnsCompatibleBucketName(i)&&(-1===i.indexOf(".")||String(e.Endpoint).startsWith("http:"))&&i.toLowerCase()===i&&!(i.length<3)||(e.ForcePathStyle=!0);return e.DisableMultiRegionAccessPoints&&(e.disableMultiRegionAccessPoints=!0,e.DisableMRAP=!0),e},aX=/^[a-z0-9][a-z0-9\.\-]{1,61}[a-z0-9]$/,aI=/(\d+\.){3}\d+/,aO=/\.\./,isDnsCompatibleBucketName=e=>aX.test(e)&&!aI.test(e)&&!aO.test(e),isArnBucketName=e=>{let[i,n,t,,,a]=e.split(":"),r="arn"===i&&e.split(":").length>=6,o=!!(r&&n&&t&&a);if(r&&!o)throw Error(`Invalid ARN: ${e} was an invalid ARN.`);return o},createConfigValueProvider=(e,i,n,t=!1)=>{let configProvider=async()=>{let a;if(t){let t=n.clientContextParams;a=t?.[e]??n[e]??n[i]}else a=n[e]??n[i];return"function"==typeof a?a():a};return"credentialScope"===e||"CredentialScope"===i?async()=>{let e="function"==typeof n.credentials?await n.credentials():n.credentials;return e?.credentialScope??e?.CredentialScope}:"accountId"===e||"AccountId"===i?async()=>{let e="function"==typeof n.credentials?await n.credentials():n.credentials;return e?.accountId??e?.AccountId}:"endpoint"===e||"endpoint"===i?async()=>{if(!1===n.isCustomEndpoint)return;let e=await configProvider();if(e&&"object"==typeof e){if("url"in e)return e.url.href;if("hostname"in e){let{protocol:i,hostname:n,port:t,path:a}=e;return`${i}//${n}${t?":"+t:""}${a}`}}return e}:configProvider},getEndpointFromInstructions=async(e,i,n,t)=>{if(!n.isCustomEndpoint){let e;(e=n.serviceConfiguredEndpoint?await n.serviceConfiguredEndpoint():await getEndpointFromConfig(n.serviceId))&&(n.endpoint=()=>Promise.resolve(toEndpointV1_toEndpointV1(e)),n.isCustomEndpoint=!0)}let a=await resolveParams(e,i,n);if("function"!=typeof n.endpointProvider)throw Error("config.endpointProvider is not set.");return n.endpointProvider(a,t)},resolveParams=async(e,i,n)=>{let t={},a=i?.getEndpointParameterInstructions?.()||{};for(let[i,r]of Object.entries(a))switch(r.type){case"staticContextParams":t[i]=r.value;break;case"contextParams":t[i]=e[r.name];break;case"clientContextParams":case"builtInParams":t[i]=await createConfigValueProvider(r.name,i,n,"builtInParams"!==r.type)();break;case"operationContextParams":t[i]=r.get(e);break;default:throw Error("Unrecognized endpoint parameter instruction: "+JSON.stringify(r))}return 0===Object.keys(a).length&&Object.assign(t,n),"s3"===String(n.serviceId).toLowerCase()&&await resolveParamsForS3(t),t};class aQ{capacity;data=new Map;parameters=[];constructor({size:e,params:i}){this.capacity=e??50,i&&(this.parameters=i)}get(e,i){let n=this.hash(e);if(!1===n)return i();if(!this.data.has(n)){if(this.data.size>this.capacity+10){let e=this.data.keys(),i=0;for(;;){let{value:n,done:t}=e.next();if(this.data.delete(n),t||++i>10)break}}this.data.set(n,i())}return this.data.get(n)}size(){return this.data.size}hash(e){let i="",{parameters:n}=this;if(0===n.length)return!1;for(let t of n){let n=String(e[t]??"");if(n.includes("|;"))return!1;i+=n+"|;"}return i}}let aU="endpoints";function toDebugString(e){return"object"!=typeof e||null==e?e:"ref"in e?`$${toDebugString(e.ref)}`:"fn"in e?`${e.fn}(${(e.argv||[]).map(toDebugString).join(", ")})`:JSON.stringify(e,null,2)}class aG extends Error{constructor(e){super(e),this.name="EndpointError"}}let getAttr=(e,i)=>(e=>{let i=e.split("."),n=[];for(let t of i){let i=t.indexOf("[");if(-1!==i){if(t.indexOf("]")!==t.length-1)throw new aG(`Path: '${e}' does not end with ']'`);let a=t.slice(i+1,-1);if(Number.isNaN(parseInt(a)))throw new aG(`Invalid array index: '${a}' in path: '${e}'`);0!==i&&n.push(t.slice(0,i)),n.push(a)}else n.push(t)}return n})(i).reduce((n,t)=>{if("object"!=typeof n)throw new aG(`Index '${t}' in '${i}' not found in '${JSON.stringify(e)}'`);return Array.isArray(n)?n[parseInt(t)]:n[t]},e);(W=eg||(eg={})).HTTP="http",W.HTTPS="https";let aq={[eg.HTTP]:80,[eg.HTTPS]:443},a$={booleanEquals:(e,i)=>e===i,getAttr:getAttr,isSet:e=>null!=e,isValidHostLabel:isValidHostLabel,not:e=>!e,parseURL:e=>{let i=(()=>{try{if(e instanceof URL)return e;if("object"==typeof e&&"hostname"in e){let{hostname:i,port:n,protocol:t="",path:a="",query:r={}}=e,o=new URL(`${t}//${i}${n?`:${n}`:""}${a}`);return o.search=Object.entries(r).map(([e,i])=>`${e}=${i}`).join("&"),o}return new URL(e)}catch(e){return null}})();if(!i)return console.error(`Unable to parse ${JSON.stringify(e)} as a whatwg URL.`),null;let n=i.href,{host:t,hostname:a,pathname:r,protocol:o,search:u}=i;if(u)return null;let s=o.slice(0,-1);if(!Object.values(eg).includes(s))return null;let l=isIpAddress(a),h=n.includes(`${t}:${aq[s]}`)||"string"==typeof e&&e.includes(`${t}:${aq[s]}`),g=`${t}${h?`:${aq[s]}`:""}`;return{scheme:s,authority:g,path:r,normalizedPath:r.endsWith("/")?r:`${r}/`,isIp:l}},stringEquals:(e,i)=>e===i,substring:(e,i,n,t)=>i>=n||e.length<n?null:t?e.substring(e.length-n,e.length-i):e.substring(i,n),uriEncode:e=>encodeURIComponent(e).replace(/[!*'()]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`)},evaluateTemplate=(e,i)=>{let n=[],t={...i.endpointParams,...i.referenceRecord},a=0;for(;a<e.length;){let i=e.indexOf("{",a);if(-1===i){n.push(e.slice(a));break}n.push(e.slice(a,i));let r=e.indexOf("}",i);if(-1===r){n.push(e.slice(i));break}"{"===e[i+1]&&"}"===e[r+1]&&(n.push(e.slice(i+1,r)),a=r+2);let o=e.substring(i+1,r);if(o.includes("#")){let[e,i]=o.split("#");n.push(getAttr(t[e],i))}else n.push(t[o]);a=r+1}return n.join("")},evaluateExpression=(e,i,n)=>{if("string"==typeof e)return evaluateTemplate(e,n);if(e.fn)return aK.callFunction(e,n);if(e.ref)return(({ref:e},i)=>({...i.endpointParams,...i.referenceRecord})[e])(e,n);throw new aG(`'${i}': ${String(e)} is not a string, function or reference.`)},callFunction=({fn:e,argv:i},n)=>{let t=i.map(e=>["boolean","number"].includes(typeof e)?e:aK.evaluateExpression(e,"arg",n)),a=e.split(".");return a[0]in t_&&null!=a[1]?t_[a[0]][a[1]](...t):a$[e](...t)},aK={evaluateExpression:evaluateExpression,callFunction:callFunction},evaluateCondition=({assign:e,...i},n)=>{if(e&&e in n.referenceRecord)throw new aG(`'${e}' is already defined in Reference Record.`);let t=callFunction(i,n);return n.logger?.debug?.(`${aU} evaluateCondition: ${toDebugString(i)} = ${toDebugString(t)}`),{result:""===t||!!t,...null!=e&&{toAssign:{name:e,value:t}}}},evaluateConditions=(e=[],i)=>{let n={};for(let t of e){let{result:e,toAssign:a}=evaluateCondition(t,{...i,referenceRecord:{...i.referenceRecord,...n}});if(!e)return{result:e};a&&(n[a.name]=a.value,i.logger?.debug?.(`${aU} assign: ${a.name} := ${toDebugString(a.value)}`))}return{result:!0,referenceRecord:n}},getEndpointProperties=(e,i)=>Object.entries(e).reduce((e,[n,t])=>({...e,[n]:az.getEndpointProperty(t,i)}),{}),getEndpointProperty=(e,i)=>{if(Array.isArray(e))return e.map(e=>getEndpointProperty(e,i));switch(typeof e){case"string":return evaluateTemplate(e,i);case"object":if(null===e)throw new aG(`Unexpected endpoint property: ${e}`);return az.getEndpointProperties(e,i);case"boolean":return e;default:throw new aG(`Unexpected endpoint property type: ${typeof e}`)}},az={getEndpointProperty:getEndpointProperty,getEndpointProperties:getEndpointProperties},evaluateEndpointRule=(e,i)=>{let{conditions:n,endpoint:t}=e,{result:a,referenceRecord:r}=evaluateConditions(n,i);if(!a)return;let o={...i,referenceRecord:{...i.referenceRecord,...r}},{url:u,properties:s,headers:l}=t;return i.logger?.debug?.(`${aU} Resolving endpoint from template: ${toDebugString(t)}`),{...void 0!=l&&{headers:Object.entries(l).reduce((e,[i,n])=>({...e,[i]:n.map(e=>{let n=evaluateExpression(e,"Header value entry",o);if("string"!=typeof n)throw new aG(`Header '${i}' value '${n}' is not a string`);return n})}),{})},...void 0!=s&&{properties:getEndpointProperties(s,o)},url:((e,i)=>{let n=evaluateExpression(e,"Endpoint URL",i);if("string"==typeof n)try{return new URL(n)}catch(e){throw console.error(`Failed to construct URL with ${n}`,e),e}throw new aG(`Endpoint URL must be a string, got ${typeof n}`)})(u,o)}},evaluateErrorRule=(e,i)=>{let{conditions:n,error:t}=e,{result:a,referenceRecord:r}=evaluateConditions(n,i);if(a)throw new aG(evaluateExpression(t,"Error",{...i,referenceRecord:{...i.referenceRecord,...r}}))},evaluateRules=(e,i)=>{for(let n of e)if("endpoint"===n.type){let e=evaluateEndpointRule(n,i);if(e)return e}else if("error"===n.type)evaluateErrorRule(n,i);else if("tree"===n.type){let e=aW.evaluateTreeRule(n,i);if(e)return e}else throw new aG(`Unknown endpoint rule: ${n}`);throw new aG("Rules evaluation failed")},aW={evaluateRules:evaluateRules,evaluateTreeRule:(e,i)=>{let{conditions:n,rules:t}=e,{result:a,referenceRecord:r}=evaluateConditions(n,i);if(a)return aW.evaluateRules(t,{...i,referenceRecord:{...i.referenceRecord,...r}})}},resolveEndpoint=(e,i)=>{let{endpointParams:n,logger:t}=i,{parameters:a,rules:r}=e;i.logger?.debug?.(`${aU} Initial EndpointParams: ${toDebugString(n)}`);let o=Object.entries(a).filter(([,e])=>null!=e.default).map(([e,i])=>[e,i.default]);if(o.length>0)for(let[e,i]of o)n[e]=n[e]??i;for(let e of Object.entries(a).filter(([,e])=>e.required).map(([e])=>e))if(null==n[e])throw new aG(`Missing required parameter: '${e}'`);let u=evaluateRules(r,{endpointParams:n,logger:t,referenceRecord:{}});return i.logger?.debug?.(`${aU} Resolved endpoint: ${toDebugString(u)}`),u},aj="required",aV="type",a0="rules",a1="conditions",a3="argv",a2="assign",a4="properties",a8="backend",a6="authSchemes",a5="disableDoubleEncoding",a7="signingName",a9="signingRegion",re="headers",ri="signingRegionSet",rn="isSet",rt="booleanEquals",ra="error",rr="aws.partition",ro="stringEquals",ru="getAttr",rs="name",rl="substring",rh="bucketSuffix",rg="parseURL",rc="endpoint",rd="tree",rp="aws.isVirtualHostableS3Bucket",rf="{url#scheme}://{Bucket}.{url#authority}{url#path}",rm="accessPointSuffix",ry="{url#scheme}://{url#authority}{url#path}",rS="hardwareType",rb="regionPrefix",rC="bucketAliasSuffix",rw="outpostId",rT="isValidHostLabel",rx="sigv4a",rL="s3-outposts",rE="{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}",r_="https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}",rY="https://{Bucket}.s3.{partitionResult#dnsSuffix}",rD="aws.parseArn",rv="bucketArn",rA="arnType",rN="s3-object-lambda",rP="accesspoint",rZ="accessPointName",rR="{url#scheme}://{accessPointName}-{bucketArn#accountId}.{url#authority}{url#path}",rM="mrapPartition",rJ="outpostType",rk="arnPrefix",rB="{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}",rH="https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",rF="https://s3.{partitionResult#dnsSuffix}",rX={[aj]:!1,[aV]:"string"},rI={[aj]:!0,default:!1,[aV]:"boolean"},rO={[aj]:!1,[aV]:"boolean"},rQ={fn:rt,[a3]:[{ref:"Accelerate"},!0]},rU={fn:rt,[a3]:[{ref:"UseFIPS"},!0]},rG={fn:rt,[a3]:[{ref:"UseDualStack"},!0]},rq={fn:rn,[a3]:[{ref:"Endpoint"}]},r$={fn:rr,[a3]:[{ref:"Region"}],[a2]:"partitionResult"},rK={fn:ro,[a3]:[{fn:ru,[a3]:[{ref:"partitionResult"},rs]},"aws-cn"]},rz={fn:rn,[a3]:[{ref:"Bucket"}]},rW={ref:"Bucket"},rj={[a1]:[rQ],[ra]:"S3Express does not support S3 Accelerate.",[aV]:ra},rV={[a1]:[rq,{fn:rg,[a3]:[{ref:"Endpoint"}],[a2]:"url"}],[a0]:[{[a1]:[{fn:rn,[a3]:[{ref:"DisableS3ExpressSessionAuth"}]},{fn:rt,[a3]:[{ref:"DisableS3ExpressSessionAuth"},!0]}],[a0]:[{[a1]:[{fn:rt,[a3]:[{fn:ru,[a3]:[{ref:"url"},"isIp"]},!0]}],[a0]:[{[a1]:[{fn:"uriEncode",[a3]:[rW],[a2]:"uri_encoded_bucket"}],[a0]:[{[rc]:{url:"{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}",[a4]:{[a8]:"S3Express",[a6]:[{[a5]:!0,[rs]:"sigv4",[a7]:"s3express",[a9]:"{Region}"}]},[re]:{}},[aV]:rc}],[aV]:rd}],[aV]:rd},{[a1]:[{fn:rp,[a3]:[rW,!1]}],[a0]:[{[rc]:{url:rf,[a4]:{[a8]:"S3Express",[a6]:[{[a5]:!0,[rs]:"sigv4",[a7]:"s3express",[a9]:"{Region}"}]},[re]:{}},[aV]:rc}],[aV]:rd},{[ra]:"S3Express bucket name is not a valid virtual hostable name.",[aV]:ra}],[aV]:rd},{[a1]:[{fn:rt,[a3]:[{fn:ru,[a3]:[{ref:"url"},"isIp"]},!0]}],[a0]:[{[a1]:[{fn:"uriEncode",[a3]:[rW],[a2]:"uri_encoded_bucket"}],[a0]:[{[rc]:{url:"{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}",[a4]:{[a8]:"S3Express",[a6]:[{[a5]:!0,[rs]:"sigv4-s3express",[a7]:"s3express",[a9]:"{Region}"}]},[re]:{}},[aV]:rc}],[aV]:rd}],[aV]:rd},{[a1]:[{fn:rp,[a3]:[rW,!1]}],[a0]:[{[rc]:{url:rf,[a4]:{[a8]:"S3Express",[a6]:[{[a5]:!0,[rs]:"sigv4-s3express",[a7]:"s3express",[a9]:"{Region}"}]},[re]:{}},[aV]:rc}],[aV]:rd},{[ra]:"S3Express bucket name is not a valid virtual hostable name.",[aV]:ra}],[aV]:rd},r0={fn:rg,[a3]:[{ref:"Endpoint"}],[a2]:"url"},r1={fn:rt,[a3]:[{fn:ru,[a3]:[{ref:"url"},"isIp"]},!0]},r3={ref:"url"},r2={fn:"uriEncode",[a3]:[rW],[a2]:"uri_encoded_bucket"},r4={[a8]:"S3Express",[a6]:[{[a5]:!0,[rs]:"sigv4",[a7]:"s3express",[a9]:"{Region}"}]},r8={},r6={fn:rp,[a3]:[rW,!1]},r5={[ra]:"S3Express bucket name is not a valid virtual hostable name.",[aV]:ra},r7={fn:rn,[a3]:[{ref:"UseS3ExpressControlEndpoint"}]},r9={fn:rt,[a3]:[{ref:"UseS3ExpressControlEndpoint"},!0]},oe={fn:"not",[a3]:[rq]},oi={fn:rt,[a3]:[{ref:"UseDualStack"},!1]},on={fn:rt,[a3]:[{ref:"UseFIPS"},!1]},ot={[ra]:"Unrecognized S3Express bucket name format.",[aV]:ra},oa={fn:"not",[a3]:[rz]},oo={ref:rS},ou={[a1]:[oe],[ra]:"Expected a endpoint to be specified but no endpoint was found",[aV]:ra},os={[a6]:[{[a5]:!0,[rs]:rx,[a7]:rL,[ri]:["*"]},{[a5]:!0,[rs]:"sigv4",[a7]:rL,[a9]:"{Region}"}]},ol={fn:rt,[a3]:[{ref:"ForcePathStyle"},!1]},oh={fn:rt,[a3]:[{ref:"Accelerate"},!1]},og={fn:ro,[a3]:[{ref:"Region"},"aws-global"]},oc={[a6]:[{[a5]:!0,[rs]:"sigv4",[a7]:"s3",[a9]:"us-east-1"}]},od={fn:"not",[a3]:[og]},op={fn:rt,[a3]:[{ref:"UseGlobalEndpoint"},!0]},of={url:"https://{Bucket}.s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",[a4]:{[a6]:[{[a5]:!0,[rs]:"sigv4",[a7]:"s3",[a9]:"{Region}"}]},[re]:{}},om={[a6]:[{[a5]:!0,[rs]:"sigv4",[a7]:"s3",[a9]:"{Region}"}]},oy={fn:rt,[a3]:[{ref:"UseGlobalEndpoint"},!1]},oS={url:"https://{Bucket}.s3-fips.{Region}.{partitionResult#dnsSuffix}",[a4]:om,[re]:{}},ob={url:"https://{Bucket}.s3-accelerate.dualstack.{partitionResult#dnsSuffix}",[a4]:om,[re]:{}},oC={url:"https://{Bucket}.s3.dualstack.{Region}.{partitionResult#dnsSuffix}",[a4]:om,[re]:{}},ow={fn:rt,[a3]:[{fn:ru,[a3]:[r3,"isIp"]},!1]},oT={url:rE,[a4]:om,[re]:{}},ox={url:rf,[a4]:om,[re]:{}},oL={[rc]:ox,[aV]:rc},oE={url:r_,[a4]:om,[re]:{}},o_={url:"https://{Bucket}.s3.{Region}.{partitionResult#dnsSuffix}",[a4]:om,[re]:{}},oY={[ra]:"Invalid region: region was not a valid DNS name.",[aV]:ra},oD={ref:rv},ov={ref:rA},oA={fn:ru,[a3]:[oD,"service"]},oN={ref:rZ},oP={[a1]:[rG],[ra]:"S3 Object Lambda does not support Dual-stack",[aV]:ra},oZ={[a1]:[rQ],[ra]:"S3 Object Lambda does not support S3 Accelerate",[aV]:ra},oR={[a1]:[{fn:rn,[a3]:[{ref:"DisableAccessPoints"}]},{fn:rt,[a3]:[{ref:"DisableAccessPoints"},!0]}],[ra]:"Access points are not supported for this operation",[aV]:ra},oM={[a1]:[{fn:rn,[a3]:[{ref:"UseArnRegion"}]},{fn:rt,[a3]:[{ref:"UseArnRegion"},!1]},{fn:"not",[a3]:[{fn:ro,[a3]:[{fn:ru,[a3]:[oD,"region"]},"{Region}"]}]}],[ra]:"Invalid configuration: region from ARN `{bucketArn#region}` does not match client region `{Region}` and UseArnRegion is `false`",[aV]:ra},oJ={fn:ru,[a3]:[{ref:"bucketPartition"},rs]},ok={fn:ru,[a3]:[oD,"accountId"]},oB={[a6]:[{[a5]:!0,[rs]:"sigv4",[a7]:rN,[a9]:"{bucketArn#region}"}]},oH={[ra]:"Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `{accessPointName}`",[aV]:ra},oF={[ra]:"Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `{bucketArn#accountId}`",[aV]:ra},oX={[ra]:"Invalid region in ARN: `{bucketArn#region}` (invalid DNS name)",[aV]:ra},oI={[ra]:"Client was configured for partition `{partitionResult#name}` but ARN (`{Bucket}`) has `{bucketPartition#name}`",[aV]:ra},oO={[ra]:"Invalid ARN: The ARN may only contain a single resource component after `accesspoint`.",[aV]:ra},oQ={[ra]:"Invalid ARN: Expected a resource of the format `accesspoint:<accesspoint name>` but no name was provided",[aV]:ra},oU={[a6]:[{[a5]:!0,[rs]:"sigv4",[a7]:"s3",[a9]:"{bucketArn#region}"}]},oG={[a6]:[{[a5]:!0,[rs]:rx,[a7]:rL,[ri]:["*"]},{[a5]:!0,[rs]:"sigv4",[a7]:rL,[a9]:"{bucketArn#region}"}]},oq={fn:rD,[a3]:[rW]},o$={url:"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[a4]:om,[re]:{}},oK={url:"https://s3-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[a4]:om,[re]:{}},oz={url:"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[a4]:om,[re]:{}},oW={url:rB,[a4]:om,[re]:{}},oj={url:"https://s3.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[a4]:om,[re]:{}},oV={ref:"UseObjectLambdaEndpoint"},o0={[a6]:[{[a5]:!0,[rs]:"sigv4",[a7]:rN,[a9]:"{Region}"}]},o1={url:"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",[a4]:om,[re]:{}},o3={url:"https://s3-fips.{Region}.{partitionResult#dnsSuffix}",[a4]:om,[re]:{}},o2={url:"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}",[a4]:om,[re]:{}},o4={url:ry,[a4]:om,[re]:{}},o8={url:"https://s3.{Region}.{partitionResult#dnsSuffix}",[a4]:om,[re]:{}},o6=[{ref:"Region"}],o5=[rQ],o7=[rq,r0],o9=[{fn:rn,[a3]:[{ref:"DisableS3ExpressSessionAuth"}]},{fn:rt,[a3]:[{ref:"DisableS3ExpressSessionAuth"},!0]}],ue=[r6],ui=[r$],un=[rU,rG],ut=[rU,oi],ua=[on,rG],ur=[on,oi],uo=[{fn:rl,[a3]:[rW,6,14,!0],[a2]:"s3expressAvailabilityZoneId"},{fn:rl,[a3]:[rW,14,16,!0],[a2]:"s3expressAvailabilityZoneDelim"},{fn:ro,[a3]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],uu=[{[a1]:[rU,rG],[rc]:{url:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}",[a4]:r4,[re]:{}},[aV]:rc},{[a1]:ut,[rc]:{url:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}",[a4]:r4,[re]:{}},[aV]:rc},{[a1]:ua,[rc]:{url:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}",[a4]:r4,[re]:{}},[aV]:rc},{[a1]:ur,[rc]:{url:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}",[a4]:r4,[re]:{}},[aV]:rc}],us=[{fn:rl,[a3]:[rW,6,15,!0],[a2]:"s3expressAvailabilityZoneId"},{fn:rl,[a3]:[rW,15,17,!0],[a2]:"s3expressAvailabilityZoneDelim"},{fn:ro,[a3]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],ul=[{fn:rl,[a3]:[rW,6,19,!0],[a2]:"s3expressAvailabilityZoneId"},{fn:rl,[a3]:[rW,19,21,!0],[a2]:"s3expressAvailabilityZoneDelim"},{fn:ro,[a3]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],uh=[{fn:rl,[a3]:[rW,6,20,!0],[a2]:"s3expressAvailabilityZoneId"},{fn:rl,[a3]:[rW,20,22,!0],[a2]:"s3expressAvailabilityZoneDelim"},{fn:ro,[a3]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],ug=[{fn:rl,[a3]:[rW,6,26,!0],[a2]:"s3expressAvailabilityZoneId"},{fn:rl,[a3]:[rW,26,28,!0],[a2]:"s3expressAvailabilityZoneDelim"},{fn:ro,[a3]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],uc=[{[a1]:[rU,rG],[rc]:{url:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}",[a4]:{[a8]:"S3Express",[a6]:[{[a5]:!0,[rs]:"sigv4-s3express",[a7]:"s3express",[a9]:"{Region}"}]},[re]:{}},[aV]:rc},{[a1]:ut,[rc]:{url:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}",[a4]:{[a8]:"S3Express",[a6]:[{[a5]:!0,[rs]:"sigv4-s3express",[a7]:"s3express",[a9]:"{Region}"}]},[re]:{}},[aV]:rc},{[a1]:ua,[rc]:{url:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}",[a4]:{[a8]:"S3Express",[a6]:[{[a5]:!0,[rs]:"sigv4-s3express",[a7]:"s3express",[a9]:"{Region}"}]},[re]:{}},[aV]:rc},{[a1]:ur,[rc]:{url:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}",[a4]:{[a8]:"S3Express",[a6]:[{[a5]:!0,[rs]:"sigv4-s3express",[a7]:"s3express",[a9]:"{Region}"}]},[re]:{}},[aV]:rc}],ud=[rW,0,7,!0],up=[{fn:rl,[a3]:[rW,7,15,!0],[a2]:"s3expressAvailabilityZoneId"},{fn:rl,[a3]:[rW,15,17,!0],[a2]:"s3expressAvailabilityZoneDelim"},{fn:ro,[a3]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],uf=[{fn:rl,[a3]:[rW,7,16,!0],[a2]:"s3expressAvailabilityZoneId"},{fn:rl,[a3]:[rW,16,18,!0],[a2]:"s3expressAvailabilityZoneDelim"},{fn:ro,[a3]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],um=[{fn:rl,[a3]:[rW,7,20,!0],[a2]:"s3expressAvailabilityZoneId"},{fn:rl,[a3]:[rW,20,22,!0],[a2]:"s3expressAvailabilityZoneDelim"},{fn:ro,[a3]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],uy=[{fn:rl,[a3]:[rW,7,21,!0],[a2]:"s3expressAvailabilityZoneId"},{fn:rl,[a3]:[rW,21,23,!0],[a2]:"s3expressAvailabilityZoneDelim"},{fn:ro,[a3]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],uS=[{fn:rl,[a3]:[rW,7,27,!0],[a2]:"s3expressAvailabilityZoneId"},{fn:rl,[a3]:[rW,27,29,!0],[a2]:"s3expressAvailabilityZoneDelim"},{fn:ro,[a3]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],ub=[{fn:rT,[a3]:[{ref:rw},!1]}],uC=[{fn:ro,[a3]:[{ref:rb},"beta"]}],uw=[{fn:rT,[a3]:[{ref:"Region"},!1]}],uT=[{fn:ro,[a3]:[{ref:"Region"},"us-east-1"]}],ux=[{fn:ro,[a3]:[ov,rP]}],uL=[{fn:ru,[a3]:[oD,"resourceId[1]"],[a2]:rZ},{fn:"not",[a3]:[{fn:ro,[a3]:[oN,""]}]}],uE=[rG],u_=[{fn:"not",[a3]:[{fn:ro,[a3]:[{fn:ru,[a3]:[oD,"region"]},""]}]}],uY=[{fn:"not",[a3]:[{fn:rn,[a3]:[{fn:ru,[a3]:[oD,"resourceId[2]"]}]}]}],uD=[{fn:rr,[a3]:[{fn:ru,[a3]:[oD,"region"]}],[a2]:"bucketPartition"}],uv=[{fn:ro,[a3]:[oJ,{fn:ru,[a3]:[{ref:"partitionResult"},rs]}]}],uA=[{fn:rT,[a3]:[{fn:ru,[a3]:[oD,"region"]},!0]}],uN=[{fn:rT,[a3]:[ok,!1]}],uP=[{fn:rT,[a3]:[oN,!1]}],uZ=[rU],uR=[{fn:rT,[a3]:[{ref:"Region"},!0]}],uM={version:"1.0",parameters:{Bucket:rX,Region:rX,UseFIPS:rI,UseDualStack:rI,Endpoint:rX,ForcePathStyle:rI,Accelerate:rI,UseGlobalEndpoint:rI,UseObjectLambdaEndpoint:rO,Key:rX,Prefix:rX,CopySource:rX,DisableAccessPoints:rO,DisableMultiRegionAccessPoints:rI,UseArnRegion:rO,UseS3ExpressControlEndpoint:rO,DisableS3ExpressSessionAuth:rO},[a0]:[{[a1]:[{fn:rn,[a3]:o6}],[a0]:[{[a1]:[rQ,rU],error:"Accelerate cannot be used with FIPS",[aV]:ra},{[a1]:[rG,rq],error:"Cannot set dual-stack in combination with a custom endpoint.",[aV]:ra},{[a1]:[rq,rU],error:"A custom endpoint cannot be combined with FIPS",[aV]:ra},{[a1]:[rq,rQ],error:"A custom endpoint cannot be combined with S3 Accelerate",[aV]:ra},{[a1]:[rU,r$,rK],error:"Partition does not support FIPS",[aV]:ra},{[a1]:[rz,{fn:rl,[a3]:[rW,0,6,!0],[a2]:rh},{fn:ro,[a3]:[{ref:rh},"--x-s3"]}],[a0]:[rj,rV,{[a1]:[r7,r9],[a0]:[{[a1]:ui,[a0]:[{[a1]:[r2,oe],[a0]:[{[a1]:un,endpoint:{url:"https://s3express-control-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[a4]:r4,[re]:r8},[aV]:rc},{[a1]:ut,endpoint:{url:"https://s3express-control-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[a4]:r4,[re]:r8},[aV]:rc},{[a1]:ua,endpoint:{url:"https://s3express-control.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[a4]:r4,[re]:r8},[aV]:rc},{[a1]:ur,endpoint:{url:"https://s3express-control.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[a4]:r4,[re]:r8},[aV]:rc}],[aV]:rd}],[aV]:rd}],[aV]:rd},{[a1]:ue,[a0]:[{[a1]:ui,[a0]:[{[a1]:o9,[a0]:[{[a1]:uo,[a0]:uu,[aV]:rd},{[a1]:us,[a0]:uu,[aV]:rd},{[a1]:ul,[a0]:uu,[aV]:rd},{[a1]:uh,[a0]:uu,[aV]:rd},{[a1]:ug,[a0]:uu,[aV]:rd},ot],[aV]:rd},{[a1]:uo,[a0]:uc,[aV]:rd},{[a1]:us,[a0]:uc,[aV]:rd},{[a1]:ul,[a0]:uc,[aV]:rd},{[a1]:uh,[a0]:uc,[aV]:rd},{[a1]:ug,[a0]:uc,[aV]:rd},ot],[aV]:rd}],[aV]:rd},r5],[aV]:rd},{[a1]:[rz,{fn:rl,[a3]:ud,[a2]:rm},{fn:ro,[a3]:[{ref:rm},"--xa-s3"]}],[a0]:[rj,rV,{[a1]:ue,[a0]:[{[a1]:ui,[a0]:[{[a1]:o9,[a0]:[{[a1]:up,[a0]:uu,[aV]:rd},{[a1]:uf,[a0]:uu,[aV]:rd},{[a1]:um,[a0]:uu,[aV]:rd},{[a1]:uy,[a0]:uu,[aV]:rd},{[a1]:uS,[a0]:uu,[aV]:rd},ot],[aV]:rd},{[a1]:up,[a0]:uc,[aV]:rd},{[a1]:uf,[a0]:uc,[aV]:rd},{[a1]:um,[a0]:uc,[aV]:rd},{[a1]:uy,[a0]:uc,[aV]:rd},{[a1]:uS,[a0]:uc,[aV]:rd},ot],[aV]:rd}],[aV]:rd},r5],[aV]:rd},{[a1]:[oa,r7,r9],[a0]:[{[a1]:ui,[a0]:[{[a1]:o7,endpoint:{url:ry,[a4]:r4,[re]:r8},[aV]:rc},{[a1]:un,endpoint:{url:"https://s3express-control-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",[a4]:r4,[re]:r8},[aV]:rc},{[a1]:ut,endpoint:{url:"https://s3express-control-fips.{Region}.{partitionResult#dnsSuffix}",[a4]:r4,[re]:r8},[aV]:rc},{[a1]:ua,endpoint:{url:"https://s3express-control.dualstack.{Region}.{partitionResult#dnsSuffix}",[a4]:r4,[re]:r8},[aV]:rc},{[a1]:ur,endpoint:{url:"https://s3express-control.{Region}.{partitionResult#dnsSuffix}",[a4]:r4,[re]:r8},[aV]:rc}],[aV]:rd}],[aV]:rd},{[a1]:[rz,{fn:rl,[a3]:[rW,49,50,!0],[a2]:rS},{fn:rl,[a3]:[rW,8,12,!0],[a2]:rb},{fn:rl,[a3]:ud,[a2]:rC},{fn:rl,[a3]:[rW,32,49,!0],[a2]:rw},{fn:rr,[a3]:o6,[a2]:"regionPartition"},{fn:ro,[a3]:[{ref:rC},"--op-s3"]}],[a0]:[{[a1]:ub,[a0]:[{[a1]:ue,[a0]:[{[a1]:[{fn:ro,[a3]:[oo,"e"]}],[a0]:[{[a1]:uC,[a0]:[ou,{[a1]:o7,endpoint:{url:"https://{Bucket}.ec2.{url#authority}",[a4]:os,[re]:r8},[aV]:rc}],[aV]:rd},{endpoint:{url:"https://{Bucket}.ec2.s3-outposts.{Region}.{regionPartition#dnsSuffix}",[a4]:os,[re]:r8},[aV]:rc}],[aV]:rd},{[a1]:[{fn:ro,[a3]:[oo,"o"]}],[a0]:[{[a1]:uC,[a0]:[ou,{[a1]:o7,endpoint:{url:"https://{Bucket}.op-{outpostId}.{url#authority}",[a4]:os,[re]:r8},[aV]:rc}],[aV]:rd},{endpoint:{url:"https://{Bucket}.op-{outpostId}.s3-outposts.{Region}.{regionPartition#dnsSuffix}",[a4]:os,[re]:r8},[aV]:rc}],[aV]:rd},{error:'Unrecognized hardware type: "Expected hardware type o or e but got {hardwareType}"',[aV]:ra}],[aV]:rd},{error:"Invalid Outposts Bucket alias - it must be a valid bucket name.",[aV]:ra}],[aV]:rd},{error:"Invalid ARN: The outpost Id must only contain a-z, A-Z, 0-9 and `-`.",[aV]:ra}],[aV]:rd},{[a1]:[rz],[a0]:[{[a1]:[rq,{fn:"not",[a3]:[{fn:rn,[a3]:[{fn:rg,[a3]:[{ref:"Endpoint"}]}]}]}],error:"Custom endpoint `{Endpoint}` was not a valid URI",[aV]:ra},{[a1]:[ol,r6],[a0]:[{[a1]:ui,[a0]:[{[a1]:uw,[a0]:[{[a1]:[rQ,rK],error:"S3 Accelerate cannot be used in this region",[aV]:ra},{[a1]:[rG,rU,oh,oe,og],endpoint:{url:"https://{Bucket}.s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}",[a4]:oc,[re]:r8},[aV]:rc},{[a1]:[rG,rU,oh,oe,od,op],[a0]:[{endpoint:of,[aV]:rc}],[aV]:rd},{[a1]:[rG,rU,oh,oe,od,oy],endpoint:of,[aV]:rc},{[a1]:[oi,rU,oh,oe,og],endpoint:{url:"https://{Bucket}.s3-fips.us-east-1.{partitionResult#dnsSuffix}",[a4]:oc,[re]:r8},[aV]:rc},{[a1]:[oi,rU,oh,oe,od,op],[a0]:[{endpoint:oS,[aV]:rc}],[aV]:rd},{[a1]:[oi,rU,oh,oe,od,oy],endpoint:oS,[aV]:rc},{[a1]:[rG,on,rQ,oe,og],endpoint:{url:"https://{Bucket}.s3-accelerate.dualstack.us-east-1.{partitionResult#dnsSuffix}",[a4]:oc,[re]:r8},[aV]:rc},{[a1]:[rG,on,rQ,oe,od,op],[a0]:[{endpoint:ob,[aV]:rc}],[aV]:rd},{[a1]:[rG,on,rQ,oe,od,oy],endpoint:ob,[aV]:rc},{[a1]:[rG,on,oh,oe,og],endpoint:{url:"https://{Bucket}.s3.dualstack.us-east-1.{partitionResult#dnsSuffix}",[a4]:oc,[re]:r8},[aV]:rc},{[a1]:[rG,on,oh,oe,od,op],[a0]:[{endpoint:oC,[aV]:rc}],[aV]:rd},{[a1]:[rG,on,oh,oe,od,oy],endpoint:oC,[aV]:rc},{[a1]:[oi,on,oh,rq,r0,r1,og],endpoint:{url:rE,[a4]:oc,[re]:r8},[aV]:rc},{[a1]:[oi,on,oh,rq,r0,ow,og],endpoint:{url:rf,[a4]:oc,[re]:r8},[aV]:rc},{[a1]:[oi,on,oh,rq,r0,r1,od,op],[a0]:[{[a1]:uT,endpoint:oT,[aV]:rc},{endpoint:oT,[aV]:rc}],[aV]:rd},{[a1]:[oi,on,oh,rq,r0,ow,od,op],[a0]:[{[a1]:uT,endpoint:ox,[aV]:rc},oL],[aV]:rd},{[a1]:[oi,on,oh,rq,r0,r1,od,oy],endpoint:oT,[aV]:rc},{[a1]:[oi,on,oh,rq,r0,ow,od,oy],endpoint:ox,[aV]:rc},{[a1]:[oi,on,rQ,oe,og],endpoint:{url:r_,[a4]:oc,[re]:r8},[aV]:rc},{[a1]:[oi,on,rQ,oe,od,op],[a0]:[{[a1]:uT,endpoint:oE,[aV]:rc},{endpoint:oE,[aV]:rc}],[aV]:rd},{[a1]:[oi,on,rQ,oe,od,oy],endpoint:oE,[aV]:rc},{[a1]:[oi,on,oh,oe,og],endpoint:{url:rY,[a4]:oc,[re]:r8},[aV]:rc},{[a1]:[oi,on,oh,oe,od,op],[a0]:[{[a1]:uT,endpoint:{url:rY,[a4]:om,[re]:r8},[aV]:rc},{endpoint:o_,[aV]:rc}],[aV]:rd},{[a1]:[oi,on,oh,oe,od,oy],endpoint:o_,[aV]:rc}],[aV]:rd},oY],[aV]:rd}],[aV]:rd},{[a1]:[rq,r0,{fn:ro,[a3]:[{fn:ru,[a3]:[r3,"scheme"]},"http"]},{fn:rp,[a3]:[rW,!0]},ol,on,oi,oh],[a0]:[{[a1]:ui,[a0]:[{[a1]:uw,[a0]:[oL],[aV]:rd},oY],[aV]:rd}],[aV]:rd},{[a1]:[ol,{fn:rD,[a3]:[rW],[a2]:rv}],[a0]:[{[a1]:[{fn:ru,[a3]:[oD,"resourceId[0]"],[a2]:rA},{fn:"not",[a3]:[{fn:ro,[a3]:[ov,""]}]}],[a0]:[{[a1]:[{fn:ro,[a3]:[oA,rN]}],[a0]:[{[a1]:ux,[a0]:[{[a1]:uL,[a0]:[oP,oZ,{[a1]:u_,[a0]:[oR,{[a1]:uY,[a0]:[oM,{[a1]:uD,[a0]:[{[a1]:ui,[a0]:[{[a1]:uv,[a0]:[{[a1]:uA,[a0]:[{[a1]:[{fn:ro,[a3]:[ok,""]}],error:"Invalid ARN: Missing account id",[aV]:ra},{[a1]:uN,[a0]:[{[a1]:uP,[a0]:[{[a1]:o7,endpoint:{url:rR,[a4]:oB,[re]:r8},[aV]:rc},{[a1]:uZ,endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}",[a4]:oB,[re]:r8},[aV]:rc},{endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda.{bucketArn#region}.{bucketPartition#dnsSuffix}",[a4]:oB,[re]:r8},[aV]:rc}],[aV]:rd},oH],[aV]:rd},oF],[aV]:rd},oX],[aV]:rd},oI],[aV]:rd}],[aV]:rd}],[aV]:rd},oO],[aV]:rd},{error:"Invalid ARN: bucket ARN is missing a region",[aV]:ra}],[aV]:rd},oQ],[aV]:rd},{error:"Invalid ARN: Object Lambda ARNs only support `accesspoint` arn types, but found: `{arnType}`",[aV]:ra}],[aV]:rd},{[a1]:ux,[a0]:[{[a1]:uL,[a0]:[{[a1]:u_,[a0]:[{[a1]:ux,[a0]:[{[a1]:u_,[a0]:[oR,{[a1]:uY,[a0]:[oM,{[a1]:uD,[a0]:[{[a1]:ui,[a0]:[{[a1]:[{fn:ro,[a3]:[oJ,"{partitionResult#name}"]}],[a0]:[{[a1]:uA,[a0]:[{[a1]:[{fn:ro,[a3]:[oA,"s3"]}],[a0]:[{[a1]:uN,[a0]:[{[a1]:uP,[a0]:[{[a1]:o5,error:"Access Points do not support S3 Accelerate",[aV]:ra},{[a1]:un,endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}",[a4]:oU,[re]:r8},[aV]:rc},{[a1]:ut,endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}",[a4]:oU,[re]:r8},[aV]:rc},{[a1]:ua,endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}",[a4]:oU,[re]:r8},[aV]:rc},{[a1]:[on,oi,rq,r0],endpoint:{url:rR,[a4]:oU,[re]:r8},[aV]:rc},{[a1]:ur,endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.{bucketArn#region}.{bucketPartition#dnsSuffix}",[a4]:oU,[re]:r8},[aV]:rc}],[aV]:rd},oH],[aV]:rd},oF],[aV]:rd},{error:"Invalid ARN: The ARN was not for the S3 service, found: {bucketArn#service}",[aV]:ra}],[aV]:rd},oX],[aV]:rd},oI],[aV]:rd}],[aV]:rd}],[aV]:rd},oO],[aV]:rd}],[aV]:rd}],[aV]:rd},{[a1]:[{fn:rT,[a3]:[oN,!0]}],[a0]:[{[a1]:uE,error:"S3 MRAP does not support dual-stack",[aV]:ra},{[a1]:uZ,error:"S3 MRAP does not support FIPS",[aV]:ra},{[a1]:o5,error:"S3 MRAP does not support S3 Accelerate",[aV]:ra},{[a1]:[{fn:rt,[a3]:[{ref:"DisableMultiRegionAccessPoints"},!0]}],error:"Invalid configuration: Multi-Region Access Point ARNs are disabled.",[aV]:ra},{[a1]:[{fn:rr,[a3]:o6,[a2]:rM}],[a0]:[{[a1]:[{fn:ro,[a3]:[{fn:ru,[a3]:[{ref:rM},rs]},{fn:ru,[a3]:[oD,"partition"]}]}],[a0]:[{endpoint:{url:"https://{accessPointName}.accesspoint.s3-global.{mrapPartition#dnsSuffix}",[a4]:{[a6]:[{[a5]:!0,name:rx,[a7]:"s3",[ri]:["*"]}]},[re]:r8},[aV]:rc}],[aV]:rd},{error:"Client was configured for partition `{mrapPartition#name}` but bucket referred to partition `{bucketArn#partition}`",[aV]:ra}],[aV]:rd}],[aV]:rd},{error:"Invalid Access Point Name",[aV]:ra}],[aV]:rd},oQ],[aV]:rd},{[a1]:[{fn:ro,[a3]:[oA,rL]}],[a0]:[{[a1]:uE,error:"S3 Outposts does not support Dual-stack",[aV]:ra},{[a1]:uZ,error:"S3 Outposts does not support FIPS",[aV]:ra},{[a1]:o5,error:"S3 Outposts does not support S3 Accelerate",[aV]:ra},{[a1]:[{fn:rn,[a3]:[{fn:ru,[a3]:[oD,"resourceId[4]"]}]}],error:"Invalid Arn: Outpost Access Point ARN contains sub resources",[aV]:ra},{[a1]:[{fn:ru,[a3]:[oD,"resourceId[1]"],[a2]:rw}],[a0]:[{[a1]:ub,[a0]:[oM,{[a1]:uD,[a0]:[{[a1]:ui,[a0]:[{[a1]:uv,[a0]:[{[a1]:uA,[a0]:[{[a1]:uN,[a0]:[{[a1]:[{fn:ru,[a3]:[oD,"resourceId[2]"],[a2]:rJ}],[a0]:[{[a1]:[{fn:ru,[a3]:[oD,"resourceId[3]"],[a2]:rZ}],[a0]:[{[a1]:[{fn:ro,[a3]:[{ref:rJ},rP]}],[a0]:[{[a1]:o7,endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.{outpostId}.{url#authority}",[a4]:oG,[re]:r8},[aV]:rc},{endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.{outpostId}.s3-outposts.{bucketArn#region}.{bucketPartition#dnsSuffix}",[a4]:oG,[re]:r8},[aV]:rc}],[aV]:rd},{error:"Expected an outpost type `accesspoint`, found {outpostType}",[aV]:ra}],[aV]:rd},{error:"Invalid ARN: expected an access point name",[aV]:ra}],[aV]:rd},{error:"Invalid ARN: Expected a 4-component resource",[aV]:ra}],[aV]:rd},oF],[aV]:rd},oX],[aV]:rd},oI],[aV]:rd}],[aV]:rd}],[aV]:rd},{error:"Invalid ARN: The outpost Id may only contain a-z, A-Z, 0-9 and `-`. Found: `{outpostId}`",[aV]:ra}],[aV]:rd},{error:"Invalid ARN: The Outpost Id was not set",[aV]:ra}],[aV]:rd},{error:"Invalid ARN: Unrecognized format: {Bucket} (type: {arnType})",[aV]:ra}],[aV]:rd},{error:"Invalid ARN: No ARN type specified",[aV]:ra}],[aV]:rd},{[a1]:[{fn:rl,[a3]:[rW,0,4,!1],[a2]:rk},{fn:ro,[a3]:[{ref:rk},"arn:"]},{fn:"not",[a3]:[{fn:rn,[a3]:[oq]}]}],error:"Invalid ARN: `{Bucket}` was not a valid ARN",[aV]:ra},{[a1]:[{fn:rt,[a3]:[{ref:"ForcePathStyle"},!0]},oq],error:"Path-style addressing cannot be used with ARN buckets",[aV]:ra},{[a1]:[r2],[a0]:[{[a1]:ui,[a0]:[{[a1]:[oh],[a0]:[{[a1]:[rG,oe,rU,og],endpoint:{url:"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[a4]:oc,[re]:r8},[aV]:rc},{[a1]:[rG,oe,rU,od,op],[a0]:[{endpoint:o$,[aV]:rc}],[aV]:rd},{[a1]:[rG,oe,rU,od,oy],endpoint:o$,[aV]:rc},{[a1]:[oi,oe,rU,og],endpoint:{url:"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[a4]:oc,[re]:r8},[aV]:rc},{[a1]:[oi,oe,rU,od,op],[a0]:[{endpoint:oK,[aV]:rc}],[aV]:rd},{[a1]:[oi,oe,rU,od,oy],endpoint:oK,[aV]:rc},{[a1]:[rG,oe,on,og],endpoint:{url:"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[a4]:oc,[re]:r8},[aV]:rc},{[a1]:[rG,oe,on,od,op],[a0]:[{endpoint:oz,[aV]:rc}],[aV]:rd},{[a1]:[rG,oe,on,od,oy],endpoint:oz,[aV]:rc},{[a1]:[oi,rq,r0,on,og],endpoint:{url:rB,[a4]:oc,[re]:r8},[aV]:rc},{[a1]:[oi,rq,r0,on,od,op],[a0]:[{[a1]:uT,endpoint:oW,[aV]:rc},{endpoint:oW,[aV]:rc}],[aV]:rd},{[a1]:[oi,rq,r0,on,od,oy],endpoint:oW,[aV]:rc},{[a1]:[oi,oe,on,og],endpoint:{url:rH,[a4]:oc,[re]:r8},[aV]:rc},{[a1]:[oi,oe,on,od,op],[a0]:[{[a1]:uT,endpoint:{url:rH,[a4]:om,[re]:r8},[aV]:rc},{endpoint:oj,[aV]:rc}],[aV]:rd},{[a1]:[oi,oe,on,od,oy],endpoint:oj,[aV]:rc}],[aV]:rd},{error:"Path-style addressing cannot be used with S3 Accelerate",[aV]:ra}],[aV]:rd}],[aV]:rd}],[aV]:rd},{[a1]:[{fn:rn,[a3]:[oV]},{fn:rt,[a3]:[oV,!0]}],[a0]:[{[a1]:ui,[a0]:[{[a1]:uR,[a0]:[oP,oZ,{[a1]:o7,endpoint:{url:ry,[a4]:o0,[re]:r8},[aV]:rc},{[a1]:uZ,endpoint:{url:"https://s3-object-lambda-fips.{Region}.{partitionResult#dnsSuffix}",[a4]:o0,[re]:r8},[aV]:rc},{endpoint:{url:"https://s3-object-lambda.{Region}.{partitionResult#dnsSuffix}",[a4]:o0,[re]:r8},[aV]:rc}],[aV]:rd},oY],[aV]:rd}],[aV]:rd},{[a1]:[oa],[a0]:[{[a1]:ui,[a0]:[{[a1]:uR,[a0]:[{[a1]:[rU,rG,oe,og],endpoint:{url:"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}",[a4]:oc,[re]:r8},[aV]:rc},{[a1]:[rU,rG,oe,od,op],[a0]:[{endpoint:o1,[aV]:rc}],[aV]:rd},{[a1]:[rU,rG,oe,od,oy],endpoint:o1,[aV]:rc},{[a1]:[rU,oi,oe,og],endpoint:{url:"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}",[a4]:oc,[re]:r8},[aV]:rc},{[a1]:[rU,oi,oe,od,op],[a0]:[{endpoint:o3,[aV]:rc}],[aV]:rd},{[a1]:[rU,oi,oe,od,oy],endpoint:o3,[aV]:rc},{[a1]:[on,rG,oe,og],endpoint:{url:"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}",[a4]:oc,[re]:r8},[aV]:rc},{[a1]:[on,rG,oe,od,op],[a0]:[{endpoint:o2,[aV]:rc}],[aV]:rd},{[a1]:[on,rG,oe,od,oy],endpoint:o2,[aV]:rc},{[a1]:[on,oi,rq,r0,og],endpoint:{url:ry,[a4]:oc,[re]:r8},[aV]:rc},{[a1]:[on,oi,rq,r0,od,op],[a0]:[{[a1]:uT,endpoint:o4,[aV]:rc},{endpoint:o4,[aV]:rc}],[aV]:rd},{[a1]:[on,oi,rq,r0,od,oy],endpoint:o4,[aV]:rc},{[a1]:[on,oi,oe,og],endpoint:{url:rF,[a4]:oc,[re]:r8},[aV]:rc},{[a1]:[on,oi,oe,od,op],[a0]:[{[a1]:uT,endpoint:{url:rF,[a4]:om,[re]:r8},[aV]:rc},{endpoint:o8,[aV]:rc}],[aV]:rd},{[a1]:[on,oi,oe,od,oy],endpoint:o8,[aV]:rc}],[aV]:rd},oY],[aV]:rd}],[aV]:rd}],[aV]:rd},{error:"A region must be set when sending requests to S3.",[aV]:ra}]},uJ=new aQ({size:50,params:["Accelerate","Bucket","DisableAccessPoints","DisableMultiRegionAccessPoints","DisableS3ExpressSessionAuth","Endpoint","ForcePathStyle","Region","UseArnRegion","UseDualStack","UseFIPS","UseGlobalEndpoint","UseObjectLambdaEndpoint","UseS3ExpressControlEndpoint"]}),endpointResolver_defaultEndpointResolver=(e,i={})=>uJ.get(e,()=>resolveEndpoint(uM,{endpointParams:e,logger:i.logger}));t_.aws=tA;let uk=(d=async(e,i,n)=>({operation:getSmithyContext(i).operation,region:await normalizeProvider(e.region)()||(()=>{throw Error("expected `region` to be configured for `aws.auth#sigv4`")})()}),async(e,i,n)=>{if(!n)throw Error("Could not find `input` for `defaultEndpointRuleSetHttpAuthSchemeParametersProvider`");let t=await d(e,i,n),a=getSmithyContext(i)?.commandInstance?.constructor?.getEndpointParameterInstructions;if(!a)throw Error(`getEndpointParameterInstructions() is not defined on '${i.commandName}'`);return Object.assign(t,await resolveParams(n,{getEndpointParameterInstructions:a},e))});function createAwsAuthSigv4HttpAuthOption(e){return{schemeId:"aws.auth#sigv4",signingProperties:{name:"s3",region:e.region},propertiesExtractor:(e,i)=>({signingProperties:{config:e,context:i}})}}function createAwsAuthSigv4aHttpAuthOption(e){return{schemeId:"aws.auth#sigv4a",signingProperties:{name:"s3",region:e.region},propertiesExtractor:(e,i)=>({signingProperties:{config:e,context:i}})}}let uB=(j=e=>{let i=[];return e.operation,i.push(createAwsAuthSigv4HttpAuthOption(e)),i.push(createAwsAuthSigv4aHttpAuthOption(e)),i},V={"aws.auth#sigv4":createAwsAuthSigv4HttpAuthOption,"aws.auth#sigv4a":createAwsAuthSigv4aHttpAuthOption},e=>{let i=endpointResolver_defaultEndpointResolver(e),n=i.properties?.authSchemes;if(!n)return j(e);let t=[];for(let i of n){let a,{name:r,properties:o={},...u}=i,s=r.toLowerCase();if(r!==s&&console.warn(`HttpAuthScheme has been normalized with lowercasing: '${r}' to '${s}'`),"sigv4a"===s){a="aws.auth#sigv4a";let e=n.find(e=>{let i=e.name.toLowerCase();return"sigv4a"!==i&&i.startsWith("sigv4")});if("none"===aF.sigv4aDependency()&&e)continue}else if(s.startsWith("sigv4"))a="aws.auth#sigv4";else throw Error(`Unknown HttpAuthScheme found in '@smithy.rules#endpointRuleSet': '${s}'`);let l=V[a];if(!l)throw Error(`Could not find HttpAuthOption create function for '${a}'`);let h=l(e);h.schemeId=a,h.signingProperties={...h.signingProperties||{},...u,...o},t.push(h)}return t});async function splitStream(e){return"function"==typeof e.stream&&(e=e.stream()),e.tee()}let isReadableStream=e=>"function"==typeof ReadableStream&&(e?.constructor?.name===ReadableStream.name||e instanceof ReadableStream);async function splitStream_splitStream(e){if(isReadableStream(e)||"function"==typeof Blob&&(e?.constructor?.name===Blob.name||e instanceof Blob))return splitStream(e);let i=new al.PassThrough,n=new al.PassThrough;return e.pipe(i),e.pipe(n),[i,n]}async function headStream(e,i){let n=0,t=[],a=e.getReader(),r=!1;for(;!r;){let{done:e,value:o}=await a.read();if(o&&(t.push(o),n+=o?.byteLength??0),n>=i)break;r=e}a.releaseLock();let o=new Uint8Array(Math.min(i,n)),u=0;for(let e of t){if(e.byteLength>o.byteLength-u){o.set(e.subarray(0,o.byteLength-u),u);break}o.set(e,u),u+=e.length}return o}class uH extends al.Writable{buffers=[];limit=1/0;bytesBuffered=0;_write(e,i,n){if(this.buffers.push(e),this.bytesBuffered+=e.byteLength??0,this.bytesBuffered>=this.limit){let e=this.bytesBuffered-this.limit,i=this.buffers[this.buffers.length-1];this.buffers[this.buffers.length-1]=i.subarray(0,i.byteLength-e),this.emit("finish")}n()}}let uF={CopyObjectCommand:!0,UploadPartCopyCommand:!0,CompleteMultipartUploadCommand:!0},uX={relation:"after",toMiddleware:"deserializerMiddleware",tags:["THROW_200_EXCEPTIONS","S3"],name:"throw200ExceptionsMiddleware",override:!0},getThrow200ExceptionsPlugin=e=>({applyToStack:i=>{i.addRelativeTo((i,n)=>async t=>{let a=await i(t),{response:r}=a;if(!tF.isInstance(r))return a;let{statusCode:o,body:u}=r;if(o<200||o>=300||"function"!=typeof u?.stream&&"function"!=typeof u?.pipe&&"function"!=typeof u?.tee)return a;let s=u,l=u;!u||"object"!=typeof u||u instanceof Uint8Array||([s,l]=await splitStream_splitStream(u)),r.body=l;let h=await ((e=new Uint8Array,i)=>e instanceof Uint8Array?Promise.resolve(e):i.streamCollector(e)||Promise.resolve(new Uint8Array))(s,{streamCollector:async e=>isReadableStream(e)?headStream(e,3e3):new Promise((i,n)=>{let t=new uH;t.limit=3e3,e.pipe(t),e.on("error",e=>{t.end(),n(e)}),t.on("error",n),t.on("finish",function(){i(new Uint8Array(Buffer.concat(this.buffers)))})})});"function"==typeof s?.destroy&&s.destroy();let g=e.utf8Encoder(h.subarray(h.length-16));if(0===h.length&&uF[n.commandName]){let e=Error("S3 aborted request");throw e.name="InternalError",e}return g&&g.endsWith("</Error>")&&(r.statusCode=400),a},uX)}});function setFeature_setFeature(e,i,n){e.__smithy_context?e.__smithy_context.features||(e.__smithy_context.features={}):e.__smithy_context={features:{}},e.__smithy_context.features[i]=n}let uI={step:"serialize",tags:["ENDPOINT_PARAMETERS","ENDPOINT_V2","ENDPOINT"],name:"endpointV2Middleware",override:!0,relation:"before",toMiddleware:"serializerMiddleware"},getEndpointPlugin=(e,i)=>({applyToStack:n=>{n.addRelativeTo((({config:e,instructions:i})=>(n,t)=>async a=>{e.isCustomEndpoint&&setFeature_setFeature(t,"ENDPOINT_OVERRIDE","N");let r=await getEndpointFromInstructions(a.input,{getEndpointParameterInstructions:()=>i},{...e},t);t.endpointV2=r,t.authSchemes=r.properties?.authSchemes;let o=t.authSchemes?.[0];if(o){t.signing_region=o.signingRegion,t.signing_service=o.signingName;let e=getSmithyContext(t),i=e?.selectedHttpAuthScheme?.httpAuthOption;i&&(i.signingProperties=Object.assign(i.signingProperties||{},{signing_region:o.signingRegion,signingRegion:o.signingRegion,signing_service:o.signingName,signingName:o.signingName,signingRegionSet:o.signingRegionSet},o.properties))}return n({...a})})({config:e,instructions:i}),uI)}}),deref=e=>"function"==typeof e?e():e;function translateTraits(e){if("object"==typeof e)return e;e|=0;let i={},n=0;for(let t of["httpLabel","idempotent","idempotencyToken","sensitive","httpPayload","httpResponseCode","httpQueryParams"])(e>>n++&1)==1&&(i[t]=1);return i}class uO{ref;memberName;static symbol=Symbol.for("@smithy/nor");symbol=uO.symbol;name;schema;_isMemberSchema;traits;memberTraits;normalizedTraits;constructor(e,i){this.ref=e,this.memberName=i;let n=[],t=e,a=e;for(this._isMemberSchema=!1;isMemberSchema(t);)n.push(t[1]),a=deref(t=t[0]),this._isMemberSchema=!0;if(n.length>0){this.memberTraits={};for(let e=n.length-1;e>=0;--e){let i=n[e];Object.assign(this.memberTraits,translateTraits(i))}}else this.memberTraits=0;if(a instanceof uO){let e=this.memberTraits;Object.assign(this,a),this.memberTraits=Object.assign({},e,a.getMemberTraits(),this.getMemberTraits()),this.normalizedTraits=void 0,this.memberName=i??a.memberName;return}if(this.schema=deref(a),isStaticSchema(this.schema)?(this.name=`${this.schema[1]}#${this.schema[2]}`,this.traits=this.schema[3]):(this.name=this.memberName??String(a),this.traits=0),this._isMemberSchema&&!i)throw Error(`@smithy/core/schema - NormalizedSchema member init ${this.getName(!0)} missing member name.`)}static[Symbol.hasInstance](e){let i=this.prototype.isPrototypeOf(e);return i||"object"!=typeof e||null===e?i:e.symbol===this.symbol}static of(e){let i=deref(e);if(i instanceof uO)return i;if(isMemberSchema(i)){let[n,t]=i;if(n instanceof uO)return Object.assign(n.getMergedTraits(),translateTraits(t)),n;throw Error(`@smithy/core/schema - may not init unwrapped member schema=${JSON.stringify(e,null,2)}.`)}return new uO(i)}getSchema(){let e=this.schema;return 0===e[0]?e[4]:e}getName(e=!1){let{name:i}=this;return!e&&i&&i.includes("#")?i.split("#")[1]:i||void 0}getMemberName(){return this.memberName}isMemberSchema(){return this._isMemberSchema}isListSchema(){let e=this.getSchema();return"number"==typeof e?e>=64&&e<128:1===e[0]}isMapSchema(){let e=this.getSchema();return"number"==typeof e?e>=128&&e<=255:2===e[0]}isStructSchema(){let e=this.getSchema()[0];return 3===e||-3===e||4===e}isUnionSchema(){return 4===this.getSchema()[0]}isBlobSchema(){let e=this.getSchema();return 21===e||42===e}isTimestampSchema(){let e=this.getSchema();return"number"==typeof e&&e>=4&&e<=7}isUnitSchema(){return"unit"===this.getSchema()}isDocumentSchema(){return 15===this.getSchema()}isStringSchema(){return 0===this.getSchema()}isBooleanSchema(){return 2===this.getSchema()}isNumericSchema(){return 1===this.getSchema()}isBigIntegerSchema(){return 17===this.getSchema()}isBigDecimalSchema(){return 19===this.getSchema()}isStreaming(){let{streaming:e}=this.getMergedTraits();return!!e||42===this.getSchema()}isIdempotencyToken(){let match=e=>(4&e)==4||!!e?.idempotencyToken,{normalizedTraits:e,traits:i,memberTraits:n}=this;return match(e)||match(i)||match(n)}getMergedTraits(){return this.normalizedTraits??(this.normalizedTraits={...this.getOwnTraits(),...this.getMemberTraits()})}getMemberTraits(){return translateTraits(this.memberTraits)}getOwnTraits(){return translateTraits(this.traits)}getKeySchema(){let[e,i]=[this.isDocumentSchema(),this.isMapSchema()];if(!e&&!i)throw Error(`@smithy/core/schema - cannot get key for non-map: ${this.getName(!0)}`);let n=this.getSchema();return NormalizedSchema_member([e?15:n[4]??0,0],"key")}getValueSchema(){let e=this.getSchema(),[i,n,t]=[this.isDocumentSchema(),this.isMapSchema(),this.isListSchema()],a="number"==typeof e?63&e:e&&"object"==typeof e&&(n||t)?e[3+e[0]]:i?15:void 0;if(null!=a)return NormalizedSchema_member([a,0],n?"value":"member");throw Error(`@smithy/core/schema - ${this.getName(!0)} has no value member.`)}getMemberSchema(e){let i=this.getSchema();if(this.isStructSchema()&&i[4].includes(e)){let n=i[4].indexOf(e),t=i[5][n];return NormalizedSchema_member(isMemberSchema(t)?t:[t,0],e)}if(this.isDocumentSchema())return NormalizedSchema_member([15,0],e);throw Error(`@smithy/core/schema - ${this.getName(!0)} has no no member=${e}.`)}getMemberSchemas(){let e={};try{for(let[i,n]of this.structIterator())e[i]=n}catch(e){}return e}getEventStreamMember(){if(this.isStructSchema()){for(let[e,i]of this.structIterator())if(i.isStreaming()&&i.isStructSchema())return e}return""}*structIterator(){if(this.isUnitSchema())return;if(!this.isStructSchema())throw Error("@smithy/core/schema - cannot iterate non-struct schema.");let e=this.getSchema();for(let i=0;i<e[4].length;++i)yield[e[4][i],NormalizedSchema_member([e[5][i],0],e[4][i])]}}function NormalizedSchema_member(e,i){return e instanceof uO?Object.assign(e,{memberName:i,_isMemberSchema:!0}):new uO(e,i)}let isMemberSchema=e=>Array.isArray(e)&&2===e.length,isStaticSchema=e=>Array.isArray(e)&&e.length>=5,uQ="***SensitiveInformation***";function schemaLogFilter(e,i){if(null==i)return i;let n=uO.of(e);if(n.getMergedTraits().sensitive)return uQ;if(n.isListSchema()){if(n.getValueSchema().getMergedTraits().sensitive)return uQ}else if(n.isMapSchema()){if(n.getKeySchema().getMergedTraits().sensitive||n.getValueSchema().getMergedTraits().sensitive)return uQ}else if(n.isStructSchema()&&"object"==typeof i){let e={};for(let[t,a]of n.structIterator())null!=i[t]&&(e[t]=schemaLogFilter(a,i[t]));return e}return i}class uU{middlewareStack=constructStack();schema;static classBuilder(){return new uG}resolveMiddlewareWithContext(e,i,n,{middlewareFn:t,clientName:a,commandName:r,inputFilterSensitiveLog:o,outputFilterSensitiveLog:u,smithyContext:s,additionalContext:l,CommandCtor:h}){for(let a of t.bind(this)(h,e,i,n))this.middlewareStack.use(a);let g=e.concat(this.middlewareStack),{logger:c}=i,d={logger:c,clientName:a,commandName:r,inputFilterSensitiveLog:o,outputFilterSensitiveLog:u,[tx]:{commandInstance:this,...s},...l},{requestHandler:p}=i;return g.resolve(e=>p.handle(e.request,n||{}),d)}}class uG{_init=()=>{};_ep={};_middlewareFn=()=>[];_commandName="";_clientName="";_additionalContext={};_smithyContext={};_inputFilterSensitiveLog=void 0;_outputFilterSensitiveLog=void 0;_serializer=null;_deserializer=null;_operationSchema;init(e){this._init=e}ep(e){return this._ep=e,this}m(e){return this._middlewareFn=e,this}s(e,i,n={}){return this._smithyContext={service:e,operation:i,...n},this}c(e={}){return this._additionalContext=e,this}n(e,i){return this._clientName=e,this._commandName=i,this}f(e=e=>e,i=e=>e){return this._inputFilterSensitiveLog=e,this._outputFilterSensitiveLog=i,this}ser(e){return this._serializer=e,this}de(e){return this._deserializer=e,this}sc(e){return this._operationSchema=e,this._smithyContext.operationSchema=e,this}build(){let e,i=this;return e=class extends uU{input;static getEndpointParameterInstructions(){return i._ep}constructor(...[e]){super(),this.input=e??{},i._init(this),this.schema=i._operationSchema}resolveMiddleware(n,t,a){let r=i._operationSchema,o=r?.[4]??r?.input,u=r?.[5]??r?.output;return this.resolveMiddlewareWithContext(n,t,a,{CommandCtor:e,middlewareFn:i._middlewareFn,clientName:i._clientName,commandName:i._commandName,inputFilterSensitiveLog:i._inputFilterSensitiveLog??(r?schemaLogFilter.bind(null,o):e=>e),outputFilterSensitiveLog:i._outputFilterSensitiveLog??(r?schemaLogFilter.bind(null,u):e=>e),smithyContext:i._smithyContext,additionalContext:i._additionalContext})}serialize=i._serializer;deserialize=i._deserializer}}}let uq={ForcePathStyle:{type:"clientContextParams",name:"forcePathStyle"},UseArnRegion:{type:"clientContextParams",name:"useArnRegion"},DisableMultiRegionAccessPoints:{type:"clientContextParams",name:"disableMultiregionAccessPoints"},Accelerate:{type:"clientContextParams",name:"useAccelerateEndpoint"},DisableS3ExpressSessionAuth:{type:"clientContextParams",name:"disableS3ExpressSessionAuth"},UseGlobalEndpoint:{type:"builtInParams",name:"useGlobalEndpoint"},UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}};class u${namespace;schemas;exceptions;static registries=new Map;constructor(e,i=new Map,n=new Map){this.namespace=e,this.schemas=i,this.exceptions=n}static for(e){return u$.registries.has(e)||u$.registries.set(e,new u$(e)),u$.registries.get(e)}register(e,i){let n=this.normalizeShapeId(e);u$.for(n.split("#")[0]).schemas.set(n,i)}getSchema(e){let i=this.normalizeShapeId(e);if(!this.schemas.has(i))throw Error(`@smithy/core/schema - schema not found for ${i}`);return this.schemas.get(i)}registerError(e,i){let n=u$.for(e[1]);n.schemas.set(e[1]+"#"+e[2],e),n.exceptions.set(e,i)}getErrorCtor(e){return u$.for(e[1]).exceptions.get(e)}getBaseException(){for(let e of this.exceptions.keys())if(Array.isArray(e)){let[,i,n]=e,t=i+"#"+n;if(t.startsWith("smithy.ts.sdk.synthetic.")&&t.endsWith("ServiceException"))return e}}find(e){return[...this.schemas.values()].find(e)}clear(){this.schemas.clear(),this.exceptions.clear()}normalizeShapeId(e){return e.includes("#")?e:this.namespace+"#"+e}}class uK extends Error{$fault;$response;$retryable;$metadata;constructor(e){super(e.message),Object.setPrototypeOf(this,Object.getPrototypeOf(this).constructor.prototype),this.name=e.name,this.$fault=e.$fault,this.$metadata=e.$metadata}static isInstance(e){return!!e&&(uK.prototype.isPrototypeOf(e)||!!e.$fault&&!!e.$metadata&&("client"===e.$fault||"server"===e.$fault))}static[Symbol.hasInstance](e){return!!e&&(this===uK?uK.isInstance(e):!!uK.isInstance(e)&&(e.name&&this.name?this.prototype.isPrototypeOf(e)||e.name===this.name:this.prototype.isPrototypeOf(e)))}}let decorateServiceException=(e,i={})=>{Object.entries(i).filter(([,e])=>void 0!==e).forEach(([i,n])=>{(void 0==e[i]||""===e[i])&&(e[i]=n)});let n=e.message||e.Message||"UnknownError";return e.message=n,delete e.Message,e};class uz extends uK{constructor(e){super(e),Object.setPrototypeOf(this,uz.prototype)}}class uW extends uz{name="NoSuchUpload";$fault="client";constructor(e){super({name:"NoSuchUpload",$fault:"client",...e}),Object.setPrototypeOf(this,uW.prototype)}}class uj extends uz{name="ObjectNotInActiveTierError";$fault="client";constructor(e){super({name:"ObjectNotInActiveTierError",$fault:"client",...e}),Object.setPrototypeOf(this,uj.prototype)}}class uV extends uz{name="BucketAlreadyExists";$fault="client";constructor(e){super({name:"BucketAlreadyExists",$fault:"client",...e}),Object.setPrototypeOf(this,uV.prototype)}}class u0 extends uz{name="BucketAlreadyOwnedByYou";$fault="client";constructor(e){super({name:"BucketAlreadyOwnedByYou",$fault:"client",...e}),Object.setPrototypeOf(this,u0.prototype)}}class u1 extends uz{name="NoSuchBucket";$fault="client";constructor(e){super({name:"NoSuchBucket",$fault:"client",...e}),Object.setPrototypeOf(this,u1.prototype)}}class u3 extends uz{name="InvalidObjectState";$fault="client";StorageClass;AccessTier;constructor(e){super({name:"InvalidObjectState",$fault:"client",...e}),Object.setPrototypeOf(this,u3.prototype),this.StorageClass=e.StorageClass,this.AccessTier=e.AccessTier}}class u2 extends uz{name="NoSuchKey";$fault="client";constructor(e){super({name:"NoSuchKey",$fault:"client",...e}),Object.setPrototypeOf(this,u2.prototype)}}class u4 extends uz{name="NotFound";$fault="client";constructor(e){super({name:"NotFound",$fault:"client",...e}),Object.setPrototypeOf(this,u4.prototype)}}class u8 extends uz{name="EncryptionTypeMismatch";$fault="client";constructor(e){super({name:"EncryptionTypeMismatch",$fault:"client",...e}),Object.setPrototypeOf(this,u8.prototype)}}class u6 extends uz{name="InvalidRequest";$fault="client";constructor(e){super({name:"InvalidRequest",$fault:"client",...e}),Object.setPrototypeOf(this,u6.prototype)}}class u5 extends uz{name="InvalidWriteOffset";$fault="client";constructor(e){super({name:"InvalidWriteOffset",$fault:"client",...e}),Object.setPrototypeOf(this,u5.prototype)}}class u7 extends uz{name="TooManyParts";$fault="client";constructor(e){super({name:"TooManyParts",$fault:"client",...e}),Object.setPrototypeOf(this,u7.prototype)}}class u9 extends uz{name="IdempotencyParameterMismatch";$fault="client";constructor(e){super({name:"IdempotencyParameterMismatch",$fault:"client",...e}),Object.setPrototypeOf(this,u9.prototype)}}class se extends uz{name="ObjectAlreadyInActiveTierError";$fault="client";constructor(e){super({name:"ObjectAlreadyInActiveTierError",$fault:"client",...e}),Object.setPrototypeOf(this,se.prototype)}}let si="AccessControlTranslation",sn="AbortIncompleteMultipartUpload",st="AccessKeyId",sa="AccessPointArn",sr="AcceptRanges",so="AccessTier",su="Bucket",ss="BlockedEncryptionTypes",sl="BucketKeyEnabled",sh="Body",sg="ChecksumAlgorithm",sc="CacheControl",sd="ChecksumCRC32",sp="ChecksumCRC32C",sf="ChecksumCRC64NVME",sm="Cache-Control",sy="Content-Disposition",sS="ContentDisposition",sb="Content-Encoding",sC="ContentEncoding",sw="ContentLanguage",sT="Content-Language",sx="Content-Length",sL="ContentLength",sE="Content-MD5",s_="ContentMD5",sY="CompleteMultipartUpload",sD="ChecksumMode",sv="ContentRange",sA="Content-Range",sN="ChecksumSHA1",sP="ChecksumSHA256",sZ="ChecksumType",sR="Content-Type",sM="ContentType",sJ="ContinuationToken",sk="Condition",sB="Credentials",sH="Days",sF="DeleteMarker",sX="DeleteMarkerReplication",sI="DisplayName",sO="DefaultRetention",sQ="Date",sU="Delimiter",sG="Destination",sq="Expiration",s$="ExpectedBucketOwner",sK="EncryptionConfiguration",sz="ExistingObjectReplication",sW="ExpiresString",sj="EncryptionType",sV="ETag",s0="EncodingType",s1="Encryption",s3="Events",s2="Event",s4="Expires",s8="Filter",s6="FieldDelimiter",s5="FilterRule",s7="Format",s9="GrantFullControl",le="GrantRead",li="GrantReadACP",ln="GrantWriteACP",la="Grant",lr="Grantee",lo="HostName",lu="IfMatch",ls="If-Modified-Since",ll="IfModifiedSince",lh="If-Match",lg="IfNoneMatch",lc="If-None-Match",ld="InputSerialization",lp="IfUnmodifiedSince",lf="If-Unmodified-Since",lm="Initiator",ly="JSON",lS="LastModified",lb="Last-Modified",lC="Metadata",lw="MetadataEntry",lT="MaxKeys",lx="MissingMeta",lL="MultipartUpload",lE="Metrics",l_="Name",lY="NoncurrentDays",lD="NewerNoncurrentVersions",lv="NoncurrentVersionExpiration",lA="NoncurrentVersionTransition",lN="Owner",lP="ObjectLockLegalHoldStatus",lZ="ObjectLockMode",lR="ObjectLockRetainUntilDate",lM="ObjectSizeGreaterThan",lJ="ObjectSizeLessThan",lk="OutputSerialization",lB="Prefix",lH="PartsCount",lF="PartNumber",lX="PartitionedPrefix",lI="Part",lO="Permission",lQ="Protocol",lU="QuoteCharacter",lG="QuoteEscapeCharacter",lq="RequestCharged",l$="ResponseCacheControl",lK="ResponseContentDisposition",lz="ResponseContentEncoding",lW="ResponseContentLanguage",lj="ResponseContentType",lV="RecordDelimiter",l0="ResponseExpires",l1="RecordExpiration",l3="ReplicaModifications",l2="RequestPayer",l4="RoutingRule",l8="ReplicationStatus",l6="RestoreStatus",l5="ReplicationTime",l7="Range",l9="Restore",he="Redirect",hi="Status",hn="StartAfter",ht="SecretAccessKey",ha="S3BucketDestination",hr="StorageClass",ho="StorageClassAnalysis",hu="SSE-KMS",hs="SseKmsEncryptedObjects",hl="SimplePrefix",hh="SSE-S3",hg="SourceSelectionCriteria",hc="ServerSideEncryption",hd="SSECustomerAlgorithm",hp="SSECustomerKey",hf="SSECustomerKeyMD5",hm="SSEKMS",hy="SSEKMSEncryptionContext",hS="SSEKMSKeyId",hb="SSES3",hC="SessionToken",hw="Size",hT="Tags",hx="TagCount",hL="TargetGrants",hE="TargetObjectKeyFormat",h_="TagSet",hY="Tagging",hD="Tiering",hv="Transition",hA="Type",hN="UploadId",hP="UserMetadata",hZ="Value",hR="VersionId",hM="WebsiteRedirectLocation",hJ="accept-ranges",hk="client",hB="error",hH="http",hF="httpChecksum",hX="httpError",hI="httpHeader",hO="httpPayload",hQ="httpPrefixHeaders",hU="httpQuery",hG="http://www.w3.org/2001/XMLSchema-instance",hq="partNumber",h$="response-cache-control",hK="response-content-disposition",hz="response-content-encoding",hW="response-content-language",hj="response-content-type",hV="response-expires",h0="smithy.ts.sdk.synthetic.com.amazonaws.s3",h1="uploadId",h3="versionId",h2="xmlFlattened",h4="xmlName",h8="xmlNamespace",h6="x-amz-acl",h5="x-amz-checksum-algorithm",h7="x-amz-checksum-crc32",h9="x-amz-checksum-crc32c",ge="x-amz-checksum-crc64nvme",gi="x-amz-checksum-mode",gn="x-amz-checksum-sha1",ga="x-amz-checksum-sha256",gr="x-amz-checksum-type",go="x-amz-delete-marker",gu="x-amz-expiration",gs="x-amz-expected-bucket-owner",gl="x-amz-grant-full-control",gh="x-amz-grant-read",gg="x-amz-grant-read-acp",gc="x-amz-grant-write-acp",gd="x-amz-meta-",gp="x-amz-missing-meta",gf="x-amz-mp-parts-count",gm="x-amz-object-lock-legal-hold",gy="x-amz-object-lock-mode",gS="x-amz-object-lock-retain-until-date",gb="x-amz-restore",gC="x-amz-request-charged",gw="x-amz-request-payer",gT="x-amz-replication-status",gx="x-amz-storage-class",gL="x-amz-sdk-checksum-algorithm",gE="x-amz-server-side-encryption",g_="x-amz-server-side-encryption-aws-kms-key-id",gY="x-amz-server-side-encryption-bucket-key-enabled",gD="x-amz-server-side-encryption-context",gv="x-amz-server-side-encryption-customer-algorithm",gA="x-amz-server-side-encryption-customer-key",gN="x-amz-server-side-encryption-customer-key-MD5",gP="x-amz-tagging",gZ="x-amz-tagging-count",gR="x-amz-version-id",gM="x-amz-website-redirect-location",gJ="com.amazonaws.s3";var gk=[0,gJ,"SessionCredentialValue",8,0],gB=[0,gJ,hp,8,0],gH=[0,gJ,hy,8,0],gF=[0,gJ,hS,8,0],gX=[0,gJ,"StreamingBlob",{streaming:1},42],gI=[3,gJ,sn,0,["DaysAfterInitiation"],[1]],gO=[3,gJ,"AbortMultipartUploadOutput",0,[lq],[[0,{[hI]:gC}]]],gQ=[3,gJ,"AbortMultipartUploadRequest",0,[su,"Key",hN,l2,s$,"IfMatchInitiatedTime"],[[0,1],[0,1],[0,{[hU]:h1}],[0,{[hI]:gw}],[0,{[hI]:gs}],[6,{[hI]:"x-amz-if-match-initiated-time"}]]],gU=[3,gJ,si,0,[lN],[0]],gG=[3,gJ,"AnalyticsAndOperator",0,[lB,hT],[0,[()=>dO,{[h2]:1,[h4]:"Tag"}]]],gq=[3,gJ,"AnalyticsExportDestination",0,[ha],[()=>g$]],g$=[3,gJ,"AnalyticsS3BucketDestination",0,[s7,"BucketAccountId",su,lB],[0,0,0,0]],gK=[3,gJ,ss,0,[sj],[[()=>dk,{[h2]:1}]]],gz=[-3,gJ,"BucketAlreadyExists",{[hB]:hk,[hX]:409},[],[]];u$.for(gJ).registerError(gz,uV);var gW=[-3,gJ,"BucketAlreadyOwnedByYou",{[hB]:hk,[hX]:409},[],[]];u$.for(gJ).registerError(gW,u0);var gj=[3,gJ,"CommonPrefix",0,[lB],[0]],gV=[3,gJ,"CompletedMultipartUpload",0,["Parts"],[[()=>dJ,{[h2]:1,[h4]:lI}]]],g0=[3,gJ,"CompletedPart",0,[sV,sd,sp,sf,sN,sP,lF],[0,0,0,0,0,0,1]],g1=[3,gJ,"CompleteMultipartUploadOutput",{[h4]:"CompleteMultipartUploadResult"},["Location",su,"Key",sq,sV,sd,sp,sf,sN,sP,sZ,hc,hR,hS,sl,lq],[0,0,0,[0,{[hI]:gu}],0,0,0,0,0,0,0,[0,{[hI]:gE}],[0,{[hI]:gR}],[()=>gF,{[hI]:g_}],[2,{[hI]:gY}],[0,{[hI]:gC}]]],g3=[3,gJ,"CompleteMultipartUploadRequest",0,[su,"Key",lL,hN,sd,sp,sf,sN,sP,sZ,"MpuObjectSize",l2,s$,lu,lg,hd,hp,hf],[[0,1],[0,1],[()=>gV,{[hO]:1,[h4]:sY}],[0,{[hU]:h1}],[0,{[hI]:h7}],[0,{[hI]:h9}],[0,{[hI]:ge}],[0,{[hI]:gn}],[0,{[hI]:ga}],[0,{[hI]:gr}],[1,{[hI]:"x-amz-mp-object-size"}],[0,{[hI]:gw}],[0,{[hI]:gs}],[0,{[hI]:lh}],[0,{[hI]:lc}],[0,{[hI]:gv}],[()=>gB,{[hI]:gA}],[0,{[hI]:gN}]]],g2=[3,gJ,sk,0,["HttpErrorCodeReturnedEquals","KeyPrefixEquals"],[0,0]],g4=[3,gJ,"CORSRule",0,["ID","AllowedHeaders","AllowedMethods","AllowedOrigins","ExposeHeaders","MaxAgeSeconds"],[0,[64,{[h2]:1,[h4]:"AllowedHeader"}],[64,{[h2]:1,[h4]:"AllowedMethod"}],[64,{[h2]:1,[h4]:"AllowedOrigin"}],[64,{[h2]:1,[h4]:"ExposeHeader"}],1]],g8=[3,gJ,"CreateMultipartUploadOutput",{[h4]:"InitiateMultipartUploadResult"},["AbortDate","AbortRuleId",su,"Key",hN,hc,hd,hf,hS,hy,sl,lq,sg,sZ],[[4,{[hI]:"x-amz-abort-date"}],[0,{[hI]:"x-amz-abort-rule-id"}],[0,{[h4]:su}],0,0,[0,{[hI]:gE}],[0,{[hI]:gv}],[0,{[hI]:gN}],[()=>gF,{[hI]:g_}],[()=>gH,{[hI]:gD}],[2,{[hI]:gY}],[0,{[hI]:gC}],[0,{[hI]:h5}],[0,{[hI]:gr}]]],g6=[3,gJ,"CreateMultipartUploadRequest",0,["ACL",su,sc,sS,sC,sw,sM,s4,s9,le,li,ln,"Key",lC,hc,hr,hM,hd,hp,hf,hS,hy,sl,l2,hY,lZ,lR,lP,s$,sg,sZ],[[0,{[hI]:h6}],[0,1],[0,{[hI]:sm}],[0,{[hI]:sy}],[0,{[hI]:sb}],[0,{[hI]:sT}],[0,{[hI]:sR}],[4,{[hI]:s4}],[0,{[hI]:gl}],[0,{[hI]:gh}],[0,{[hI]:gg}],[0,{[hI]:gc}],[0,1],[128,{[hQ]:gd}],[0,{[hI]:gE}],[0,{[hI]:gx}],[0,{[hI]:gM}],[0,{[hI]:gv}],[()=>gB,{[hI]:gA}],[0,{[hI]:gN}],[()=>gF,{[hI]:g_}],[()=>gH,{[hI]:gD}],[2,{[hI]:gY}],[0,{[hI]:gw}],[0,{[hI]:gP}],[0,{[hI]:gy}],[5,{[hI]:gS}],[0,{[hI]:gm}],[0,{[hI]:gs}],[0,{[hI]:h5}],[0,{[hI]:gr}]]],g5=[3,gJ,"CreateSessionOutput",{[h4]:"CreateSessionResult"},[hc,hS,hy,sl,sB],[[0,{[hI]:gE}],[()=>gF,{[hI]:g_}],[()=>gH,{[hI]:gD}],[2,{[hI]:gY}],[()=>dm,{[h4]:sB}]]],g7=[3,gJ,"CreateSessionRequest",0,["SessionMode",su,hc,hS,hy,sl],[[0,{[hI]:"x-amz-create-session-mode"}],[0,1],[0,{[hI]:gE}],[()=>gF,{[hI]:g_}],[()=>gH,{[hI]:gD}],[2,{[hI]:gY}]]],g9=[3,gJ,"CSVInput",0,["FileHeaderInfo","Comments",lG,lV,s6,lU,"AllowQuotedRecordDelimiter"],[0,0,0,0,0,0,2]],ce=[3,gJ,"CSVOutput",0,["QuoteFields",lG,lV,s6,lU],[0,0,0,0,0]],ci=[3,gJ,sO,0,["Mode",sH,"Years"],[0,1,1]],cn=[3,gJ,sX,0,[hi],[0]],ct=[3,gJ,"DeleteObjectOutput",0,[sF,hR,lq],[[2,{[hI]:go}],[0,{[hI]:gR}],[0,{[hI]:gC}]]],ca=[3,gJ,"DeleteObjectRequest",0,[su,"Key","MFA",hR,l2,"BypassGovernanceRetention",s$,lu,"IfMatchLastModifiedTime","IfMatchSize"],[[0,1],[0,1],[0,{[hI]:"x-amz-mfa"}],[0,{[hU]:h3}],[0,{[hI]:gw}],[2,{[hI]:"x-amz-bypass-governance-retention"}],[0,{[hI]:gs}],[0,{[hI]:lh}],[6,{[hI]:"x-amz-if-match-last-modified-time"}],[1,{[hI]:"x-amz-if-match-size"}]]],cr=[3,gJ,sG,0,[su,"Account",hr,si,sK,l5,lE],[0,0,0,()=>gU,()=>cu,()=>ds,()=>cX]],co=[3,gJ,s1,0,[sj,"KMSKeyId","KMSContext"],[0,[()=>gF,0],0]],cu=[3,gJ,sK,0,["ReplicaKmsKeyID"],[0]],cs=[-3,gJ,"EncryptionTypeMismatch",{[hB]:hk,[hX]:400},[],[]];u$.for(gJ).registerError(cs,u8);var cl=[3,gJ,sz,0,[hi],[0]],ch=[3,gJ,s5,0,[l_,hZ],[0,0]],cg=[3,gJ,"GetObjectOutput",0,[sh,sF,sr,sq,l9,lS,sL,sV,sd,sp,sf,sN,sP,sZ,lx,hR,sc,sS,sC,sw,sv,sM,s4,sW,hM,hc,lC,hd,hf,hS,sl,hr,lq,l8,lH,hx,lZ,lR,lP],[[()=>gX,16],[2,{[hI]:go}],[0,{[hI]:hJ}],[0,{[hI]:gu}],[0,{[hI]:gb}],[4,{[hI]:lb}],[1,{[hI]:sx}],[0,{[hI]:sV}],[0,{[hI]:h7}],[0,{[hI]:h9}],[0,{[hI]:ge}],[0,{[hI]:gn}],[0,{[hI]:ga}],[0,{[hI]:gr}],[1,{[hI]:gp}],[0,{[hI]:gR}],[0,{[hI]:sm}],[0,{[hI]:sy}],[0,{[hI]:sb}],[0,{[hI]:sT}],[0,{[hI]:sA}],[0,{[hI]:sR}],[4,{[hI]:s4}],[0,{[hI]:sW}],[0,{[hI]:gM}],[0,{[hI]:gE}],[128,{[hQ]:gd}],[0,{[hI]:gv}],[0,{[hI]:gN}],[()=>gF,{[hI]:g_}],[2,{[hI]:gY}],[0,{[hI]:gx}],[0,{[hI]:gC}],[0,{[hI]:gT}],[1,{[hI]:gf}],[1,{[hI]:gZ}],[0,{[hI]:gy}],[5,{[hI]:gS}],[0,{[hI]:gm}]]],cc=[3,gJ,"GetObjectRequest",0,[su,lu,ll,lg,lp,"Key",l7,l$,lK,lz,lW,lj,l0,hR,hd,hp,hf,l2,lF,s$,sD],[[0,1],[0,{[hI]:lh}],[4,{[hI]:ls}],[0,{[hI]:lc}],[4,{[hI]:lf}],[0,1],[0,{[hI]:l7}],[0,{[hU]:h$}],[0,{[hU]:hK}],[0,{[hU]:hz}],[0,{[hU]:hW}],[0,{[hU]:hj}],[6,{[hU]:hV}],[0,{[hU]:h3}],[0,{[hI]:gv}],[()=>gB,{[hI]:gA}],[0,{[hI]:gN}],[0,{[hI]:gw}],[1,{[hU]:hq}],[0,{[hI]:gs}],[0,{[hI]:gi}]]],cd=[3,gJ,la,0,[lr,lO],[[()=>cp,{[h8]:["xsi",hG]}],0]],cp=[3,gJ,lr,0,[sI,"EmailAddress","ID","URI",hA],[0,0,0,0,[0,{xmlAttribute:1,[h4]:"xsi:type"}]]],cf=[3,gJ,"HeadObjectOutput",0,[sF,sr,sq,l9,"ArchiveStatus",lS,sL,sd,sp,sf,sN,sP,sZ,sV,lx,hR,sc,sS,sC,sw,sM,sv,s4,sW,hM,hc,lC,hd,hf,hS,sl,hr,lq,l8,lH,hx,lZ,lR,lP],[[2,{[hI]:go}],[0,{[hI]:hJ}],[0,{[hI]:gu}],[0,{[hI]:gb}],[0,{[hI]:"x-amz-archive-status"}],[4,{[hI]:lb}],[1,{[hI]:sx}],[0,{[hI]:h7}],[0,{[hI]:h9}],[0,{[hI]:ge}],[0,{[hI]:gn}],[0,{[hI]:ga}],[0,{[hI]:gr}],[0,{[hI]:sV}],[1,{[hI]:gp}],[0,{[hI]:gR}],[0,{[hI]:sm}],[0,{[hI]:sy}],[0,{[hI]:sb}],[0,{[hI]:sT}],[0,{[hI]:sR}],[0,{[hI]:sA}],[4,{[hI]:s4}],[0,{[hI]:sW}],[0,{[hI]:gM}],[0,{[hI]:gE}],[128,{[hQ]:gd}],[0,{[hI]:gv}],[0,{[hI]:gN}],[()=>gF,{[hI]:g_}],[2,{[hI]:gY}],[0,{[hI]:gx}],[0,{[hI]:gC}],[0,{[hI]:gT}],[1,{[hI]:gf}],[1,{[hI]:gZ}],[0,{[hI]:gy}],[5,{[hI]:gS}],[0,{[hI]:gm}]]],cm=[3,gJ,"HeadObjectRequest",0,[su,lu,ll,lg,lp,"Key",l7,l$,lK,lz,lW,lj,l0,hR,hd,hp,hf,l2,lF,s$,sD],[[0,1],[0,{[hI]:lh}],[4,{[hI]:ls}],[0,{[hI]:lc}],[4,{[hI]:lf}],[0,1],[0,{[hI]:l7}],[0,{[hU]:h$}],[0,{[hU]:hK}],[0,{[hU]:hz}],[0,{[hU]:hW}],[0,{[hU]:hj}],[6,{[hU]:hV}],[0,{[hU]:h3}],[0,{[hI]:gv}],[()=>gB,{[hI]:gA}],[0,{[hI]:gN}],[0,{[hI]:gw}],[1,{[hU]:hq}],[0,{[hI]:gs}],[0,{[hI]:gi}]]],cy=[-3,gJ,"IdempotencyParameterMismatch",{[hB]:hk,[hX]:400},[],[]];u$.for(gJ).registerError(cy,u9);var cS=[3,gJ,lm,0,["ID",sI],[0,0]],cb=[3,gJ,ld,0,["CSV","CompressionType",ly,"Parquet"],[()=>g9,0,()=>cA,()=>c4]],cC=[3,gJ,"IntelligentTieringAndOperator",0,[lB,hT],[0,[()=>dO,{[h2]:1,[h4]:"Tag"}]]],cw=[3,gJ,"IntelligentTieringFilter",0,[lB,"Tag","And"],[0,()=>dL,[()=>cC,0]]],cT=[-3,gJ,"InvalidObjectState",{[hB]:hk,[hX]:403},[hr,so],[0,0]];u$.for(gJ).registerError(cT,u3);var cx=[-3,gJ,"InvalidRequest",{[hB]:hk,[hX]:400},[],[]];u$.for(gJ).registerError(cx,u6);var cL=[-3,gJ,"InvalidWriteOffset",{[hB]:hk,[hX]:400},[],[]];u$.for(gJ).registerError(cL,u5);var cE=[3,gJ,"InventoryDestination",0,[ha],[[()=>cD,0]]],c_=[3,gJ,"InventoryEncryption",0,[hb,hm],[[()=>dw,{[h4]:hh}],[()=>db,{[h4]:hu}]]],cY=[3,gJ,"InventoryFilter",0,[lB],[0]],cD=[3,gJ,"InventoryS3BucketDestination",0,["AccountId",su,s7,lB,s1],[0,0,0,0,[()=>c_,0]]],cv=[3,gJ,"InventorySchedule",0,["Frequency"],[0]],cA=[3,gJ,"JSONInput",0,[hA],[0]],cN=[3,gJ,"JSONOutput",0,[lV],[0]],cP=[3,gJ,"LambdaFunctionConfiguration",0,["Id","LambdaFunctionArn",s3,s8],[0,[0,{[h4]:"CloudFunction"}],[64,{[h2]:1,[h4]:s2}],[()=>cK,0]]],cZ=[3,gJ,"LifecycleExpiration",0,[sQ,sH,"ExpiredObjectDeleteMarker"],[5,1,2]],cR=[3,gJ,"LifecycleRule",0,[sq,"ID",lB,s8,hi,"Transitions","NoncurrentVersionTransitions",lv,sn],[()=>cZ,0,0,[()=>cJ,0],0,[()=>dU,{[h2]:1,[h4]:hv}],[()=>dX,{[h2]:1,[h4]:lA}],()=>cO,()=>gI]],cM=[3,gJ,"LifecycleRuleAndOperator",0,[lB,hT,lM,lJ],[0,[()=>dO,{[h2]:1,[h4]:"Tag"}],1,1]],cJ=[3,gJ,"LifecycleRuleFilter",0,[lB,"Tag",lM,lJ,"And"],[0,()=>dL,1,1,[()=>cM,0]]],ck=[3,gJ,"ListObjectsV2Output",{[h4]:"ListBucketResult"},["IsTruncated","Contents",l_,lB,sU,lT,"CommonPrefixes",s0,"KeyCount",sJ,"NextContinuationToken",hn,lq],[2,[()=>dI,{[h2]:1}],0,0,0,1,[()=>dM,{[h2]:1}],0,1,0,0,0,[0,{[hI]:gC}]]],cB=[3,gJ,"ListObjectsV2Request",0,[su,sU,s0,lT,lB,sJ,"FetchOwner",hn,l2,s$,"OptionalObjectAttributes"],[[0,1],[0,{[hU]:"delimiter"}],[0,{[hU]:"encoding-type"}],[1,{[hU]:"max-keys"}],[0,{[hU]:"prefix"}],[0,{[hU]:"continuation-token"}],[2,{[hU]:"fetch-owner"}],[0,{[hU]:"start-after"}],[0,{[hI]:gw}],[0,{[hI]:gs}],[64,{[hI]:"x-amz-optional-object-attributes"}]]],cH=[3,gJ,lw,0,[l_,hZ],[0,0]],cF=[3,gJ,"MetadataTableEncryptionConfiguration",0,["SseAlgorithm","KmsKeyArn"],[0,0]],cX=[3,gJ,lE,0,[hi,"EventThreshold"],[0,()=>dl]],cI=[3,gJ,"MetricsAndOperator",0,[lB,hT,sa],[0,[()=>dO,{[h2]:1,[h4]:"Tag"}],0]],cO=[3,gJ,lv,0,[lY,lD],[1,1]],cQ=[3,gJ,lA,0,[lY,hr,lD],[1,0,1]],cU=[-3,gJ,"NoSuchBucket",{[hB]:hk,[hX]:404},[],[]];u$.for(gJ).registerError(cU,u1);var cG=[-3,gJ,"NoSuchKey",{[hB]:hk,[hX]:404},[],[]];u$.for(gJ).registerError(cG,u2);var cq=[-3,gJ,"NoSuchUpload",{[hB]:hk,[hX]:404},[],[]];u$.for(gJ).registerError(cq,uW);var c$=[-3,gJ,"NotFound",{[hB]:hk},[],[]];u$.for(gJ).registerError(c$,u4);var cK=[3,gJ,"NotificationConfigurationFilter",0,["Key"],[[()=>dc,{[h4]:"S3Key"}]]],cz=[3,gJ,"Object",0,["Key",lS,sV,sg,sZ,hw,hr,lN,l6],[0,4,0,[64,{[h2]:1}],0,1,0,()=>c3,()=>dh]],cW=[-3,gJ,"ObjectAlreadyInActiveTierError",{[hB]:hk,[hX]:403},[],[]];u$.for(gJ).registerError(cW,se);var cj=[3,gJ,"ObjectIdentifier",0,["Key",hR,sV,"LastModifiedTime",hw],[0,0,0,6,1]],cV=[-3,gJ,"ObjectNotInActiveTierError",{[hB]:hk,[hX]:403},[],[]];u$.for(gJ).registerError(cV,uj);var c0=[3,gJ,"ObjectPart",0,[lF,hw,sd,sp,sf,sN,sP],[1,1,0,0,0,0,0]],c1=[3,gJ,lk,0,["CSV",ly],[()=>ce,()=>cN]],c3=[3,gJ,lN,0,[sI,"ID"],[0,0]],c2=[3,gJ,"OwnershipControlsRule",0,["ObjectOwnership"],[0]],c4=[3,gJ,"ParquetInput",0,[],[]],c8=[3,gJ,lX,{[h4]:lX},["PartitionDateSource"],[0]],c6=[3,gJ,"PutObjectOutput",0,[sq,sV,sd,sp,sf,sN,sP,sZ,hc,hR,hd,hf,hS,hy,sl,hw,lq],[[0,{[hI]:gu}],[0,{[hI]:sV}],[0,{[hI]:h7}],[0,{[hI]:h9}],[0,{[hI]:ge}],[0,{[hI]:gn}],[0,{[hI]:ga}],[0,{[hI]:gr}],[0,{[hI]:gE}],[0,{[hI]:gR}],[0,{[hI]:gv}],[0,{[hI]:gN}],[()=>gF,{[hI]:g_}],[()=>gH,{[hI]:gD}],[2,{[hI]:gY}],[1,{[hI]:"x-amz-object-size"}],[0,{[hI]:gC}]]],c5=[3,gJ,"PutObjectRequest",0,["ACL",sh,su,sc,sS,sC,sw,sL,s_,sM,sg,sd,sp,sf,sN,sP,s4,lu,lg,s9,le,li,ln,"Key","WriteOffsetBytes",lC,hc,hr,hM,hd,hp,hf,hS,hy,sl,l2,hY,lZ,lR,lP,s$],[[0,{[hI]:h6}],[()=>gX,16],[0,1],[0,{[hI]:sm}],[0,{[hI]:sy}],[0,{[hI]:sb}],[0,{[hI]:sT}],[1,{[hI]:sx}],[0,{[hI]:sE}],[0,{[hI]:sR}],[0,{[hI]:gL}],[0,{[hI]:h7}],[0,{[hI]:h9}],[0,{[hI]:ge}],[0,{[hI]:gn}],[0,{[hI]:ga}],[4,{[hI]:s4}],[0,{[hI]:lh}],[0,{[hI]:lc}],[0,{[hI]:gl}],[0,{[hI]:gh}],[0,{[hI]:gg}],[0,{[hI]:gc}],[0,1],[1,{[hI]:"x-amz-write-offset-bytes"}],[128,{[hQ]:gd}],[0,{[hI]:gE}],[0,{[hI]:gx}],[0,{[hI]:gM}],[0,{[hI]:gv}],[()=>gB,{[hI]:gA}],[0,{[hI]:gN}],[()=>gF,{[hI]:g_}],[()=>gH,{[hI]:gD}],[2,{[hI]:gY}],[0,{[hI]:gw}],[0,{[hI]:gP}],[0,{[hI]:gy}],[5,{[hI]:gS}],[0,{[hI]:gm}],[0,{[hI]:gs}]]],c7=[3,gJ,"PutObjectTaggingOutput",0,[hR],[[0,{[hI]:gR}]]],c9=[3,gJ,"PutObjectTaggingRequest",0,[su,"Key",hR,s_,sg,hY,s$,l2],[[0,1],[0,1],[0,{[hU]:h3}],[0,{[hI]:sE}],[0,{[hI]:gL}],[()=>dE,{[hO]:1,[h4]:hY}],[0,{[hI]:gs}],[0,{[hI]:gw}]]],de=[3,gJ,"QueueConfiguration",0,["Id","QueueArn",s3,s8],[0,[0,{[h4]:"Queue"}],[64,{[h2]:1,[h4]:s2}],[()=>cK,0]]],di=[3,gJ,l1,0,[sq,sH],[0,1]],dn=[3,gJ,he,0,[lo,"HttpRedirectCode",lQ,"ReplaceKeyPrefixWith","ReplaceKeyWith"],[0,0,0,0,0]],dt=[3,gJ,l3,0,[hi],[0]],da=[3,gJ,"ReplicationRule",0,["ID","Priority",lB,s8,hi,hg,sz,sG,sX],[0,1,0,[()=>du,0],0,()=>dS,()=>cl,()=>cr,()=>cn]],dr=[3,gJ,"ReplicationRuleAndOperator",0,[lB,hT],[0,[()=>dO,{[h2]:1,[h4]:"Tag"}]]],du=[3,gJ,"ReplicationRuleFilter",0,[lB,"Tag","And"],[0,()=>dL,[()=>dr,0]]],ds=[3,gJ,l5,0,[hi,"Time"],[0,()=>dl]],dl=[3,gJ,"ReplicationTimeValue",0,["Minutes"],[1]],dh=[3,gJ,l6,0,["IsRestoreInProgress","RestoreExpiryDate"],[2,4]],dg=[3,gJ,l4,0,[sk,he],[()=>g2,()=>dn]],dc=[3,gJ,"S3KeyFilter",0,["FilterRules"],[[()=>dB,{[h2]:1,[h4]:s5}]]],dd=[3,gJ,"S3Location",0,["BucketName",lB,s1,"CannedACL","AccessControlList",hY,hP,hr],[0,0,[()=>co,0],0,[()=>dH,0],[()=>dE,0],[()=>dG,0],0]],dp=[3,gJ,"ServerSideEncryptionByDefault",0,["SSEAlgorithm","KMSMasterKeyID"],[0,[()=>gF,0]]],df=[3,gJ,"ServerSideEncryptionRule",0,["ApplyServerSideEncryptionByDefault",sl,ss],[[()=>dp,0],2,[()=>gK,0]]],dm=[3,gJ,"SessionCredentials",0,[st,ht,hC,sq],[[0,{[h4]:st}],[()=>gk,{[h4]:ht}],[()=>gk,{[h4]:hC}],[4,{[h4]:sq}]]],dy=[3,gJ,hl,{[h4]:hl},[],[]],dS=[3,gJ,hg,0,[hs,l3],[()=>dC,()=>dt]],db=[3,gJ,hm,{[h4]:hu},["KeyId"],[[()=>gF,0]]],dC=[3,gJ,hs,0,[hi],[0]],dw=[3,gJ,hb,{[h4]:hh},[],[]],dT=[3,gJ,ho,0,["DataExport"],[()=>dx]],dx=[3,gJ,"StorageClassAnalysisDataExport",0,["OutputSchemaVersion",sG],[0,()=>gq]],dL=[3,gJ,"Tag",0,["Key",hZ],[0,0]],dE=[3,gJ,hY,0,[h_],[[()=>dO,0]]],d_=[3,gJ,"TargetGrant",0,[lr,lO],[[()=>cp,{[h8]:["xsi",hG]}],0]],dY=[3,gJ,hE,0,[hl,lX],[[()=>dy,{[h4]:hl}],[()=>c8,{[h4]:lX}]]],dD=[3,gJ,hD,0,[sH,so],[1,0]],dv=[-3,gJ,"TooManyParts",{[hB]:hk,[hX]:400},[],[]];u$.for(gJ).registerError(dv,u7);var dA=[3,gJ,"TopicConfiguration",0,["Id","TopicArn",s3,s8],[0,[0,{[h4]:"Topic"}],[64,{[h2]:1,[h4]:s2}],[()=>cK,0]]],dN=[3,gJ,hv,0,[sQ,sH,hr],[5,1,0]],dP=[3,gJ,"UploadPartOutput",0,[hc,sV,sd,sp,sf,sN,sP,hd,hf,hS,sl,lq],[[0,{[hI]:gE}],[0,{[hI]:sV}],[0,{[hI]:h7}],[0,{[hI]:h9}],[0,{[hI]:ge}],[0,{[hI]:gn}],[0,{[hI]:ga}],[0,{[hI]:gv}],[0,{[hI]:gN}],[()=>gF,{[hI]:g_}],[2,{[hI]:gY}],[0,{[hI]:gC}]]],dZ=[3,gJ,"UploadPartRequest",0,[sh,su,sL,s_,sg,sd,sp,sf,sN,sP,"Key",lF,hN,hd,hp,hf,l2,s$],[[()=>gX,16],[0,1],[1,{[hI]:sx}],[0,{[hI]:sE}],[0,{[hI]:gL}],[0,{[hI]:h7}],[0,{[hI]:h9}],[0,{[hI]:ge}],[0,{[hI]:gn}],[0,{[hI]:ga}],[0,1],[1,{[hU]:hq}],[0,{[hU]:h1}],[0,{[hI]:gv}],[()=>gB,{[hI]:gA}],[0,{[hI]:gN}],[0,{[hI]:gw}],[0,{[hI]:gs}]]],dR=[-3,h0,"S3ServiceException",0,[],[]];u$.for(h0).registerError(dR,uz);var dM=[1,gJ,"CommonPrefixList",0,()=>gj],dJ=[1,gJ,"CompletedPartList",0,()=>g0],dk=[1,gJ,"EncryptionTypeList",0,[0,{[h4]:sj}]],dB=[1,gJ,"FilterRuleList",0,()=>ch],dH=[1,gJ,"Grants",0,[()=>cd,{[h4]:la}]],dF=[1,gJ,"InventoryOptionalFields",0,[0,{[h4]:"Field"}]],dX=[1,gJ,"NoncurrentVersionTransitionList",0,()=>cQ],dI=[1,gJ,"ObjectList",0,[()=>cz,0]],dO=[1,gJ,h_,0,[()=>dL,{[h4]:"Tag"}]],dQ=[1,gJ,hL,0,[()=>d_,{[h4]:la}]],dU=[1,gJ,"TransitionList",0,()=>dN],dG=[1,gJ,hP,0,[()=>cH,{[h4]:lw}]],dq=[4,gJ,"AnalyticsFilter",0,[lB,"Tag","And"],[0,()=>dL,[()=>gG,0]]],d$=[4,gJ,"MetricsFilter",0,[lB,"Tag",sa,"And"],[0,()=>dL,0,[()=>cI,0]]],dK=[9,gJ,"AbortMultipartUpload",{[hH]:["DELETE","/{Key+}?x-id=AbortMultipartUpload",204]},()=>gQ,()=>gO],dz=[9,gJ,sY,{[hH]:["POST","/{Key+}",200]},()=>g3,()=>g1],dW=[9,gJ,"CreateMultipartUpload",{[hH]:["POST","/{Key+}?uploads",200]},()=>g6,()=>g8],dj=[9,gJ,"CreateSession",{[hH]:["GET","/?session",200]},()=>g7,()=>g5],dV=[9,gJ,"DeleteObject",{[hH]:["DELETE","/{Key+}?x-id=DeleteObject",204]},()=>ca,()=>ct],d0=[9,gJ,"GetObject",{[hF]:"-",[hH]:["GET","/{Key+}?x-id=GetObject",200]},()=>cc,()=>cg],d1=[9,gJ,"HeadObject",{[hH]:["HEAD","/{Key+}",200]},()=>cm,()=>cf],d3=[9,gJ,"ListObjectsV2",{[hH]:["GET","/?list-type=2",200]},()=>cB,()=>ck],d2=[9,gJ,"PutObject",{[hF]:"-",[hH]:["PUT","/{Key+}?x-id=PutObject",200]},()=>c5,()=>c6],d4=[9,gJ,"PutObjectTagging",{[hF]:"-",[hH]:["PUT","/{Key+}?tagging",200]},()=>c9,()=>c7],d8=[9,gJ,"UploadPart",{[hF]:"-",[hH]:["PUT","/{Key+}?x-id=UploadPart",200]},()=>dZ,()=>dP];class d6 extends uU.classBuilder().ep({...uq,DisableS3ExpressSessionAuth:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function(e,i,n,t){return[getEndpointPlugin(n,e.getEndpointParameterInstructions()),getThrow200ExceptionsPlugin(n)]}).s("AmazonS3","CreateSession",{}).n("S3Client","CreateSessionCommand").sc(dj).build(){}let d5={warningEmitted:!1},emitWarningIfUnsupportedVersion=e=>{e&&!d5.warningEmitted&&20>parseInt(e.substring(1,e.indexOf(".")))&&(d5.warningEmitted=!0,process.emitWarning(`NodeDeprecationWarning: The AWS SDK for JavaScript (v3) will
|
|
54
54
|
no longer support Node.js ${e} in January 2026.
|
|
55
55
|
|
|
56
56
|
To continue receiving updates to AWS services, bug fixes, and security
|
|
57
57
|
updates please upgrade to a supported Node.js LTS version.
|
|
58
58
|
|
|
59
|
-
More information can be found at: https://a.co/c895JFp`))},getArrayForCommaSeparatedString=e=>"string"==typeof e&&e.length>0?e.split(",").map(e=>e.trim()):[],
|
|
59
|
+
More information can be found at: https://a.co/c895JFp`))},getArrayForCommaSeparatedString=e=>"string"==typeof e&&e.length>0?e.split(",").map(e=>e.trim()):[],d7="AWS_AUTH_SCHEME_PREFERENCE",d9="auth_scheme_preference",pe={environmentVariableSelector:(e,i)=>{if(i?.signingName){let n;if(n=i.signingName,`AWS_BEARER_TOKEN_${n.replace(/[\s-]/g,"_").toUpperCase()}`in e)return["httpBearerAuth"]}if(d7 in e)return getArrayForCommaSeparatedString(e[d7])},configFileSelector:e=>{if(d9 in e)return getArrayForCommaSeparatedString(e[d9])},default:[]},pi="AWS_ACCESS_KEY_ID",pn="AWS_SECRET_ACCESS_KEY",fromEnv_fromEnv=e=>async()=>{e?.logger?.debug("@aws-sdk/credential-provider-env - fromEnv");let i=process.env[pi],n=process.env[pn],t=process.env.AWS_SESSION_TOKEN,a=process.env.AWS_CREDENTIAL_EXPIRATION,r=process.env.AWS_CREDENTIAL_SCOPE,o=process.env.AWS_ACCOUNT_ID;if(i&&n){let e={accessKeyId:i,secretAccessKey:n,...t&&{sessionToken:t},...a&&{expiration:new Date(a)},...r&&{credentialScope:r},...o&&{accountId:o}};return setCredentialFeature(e,"CREDENTIALS_ENV_VARS","g"),e}throw new tG("Unable to find environment variable credentials.",{logger:e?.logger})},pt="AWS_EC2_METADATA_DISABLED",remoteProvider=async e=>{let{ENV_CMDS_FULL_URI:i,ENV_CMDS_RELATIVE_URI:n,fromContainerMetadata:t,fromInstanceMetadata:a}=await import("./1~398.mjs").then(e=>({ENV_CMDS_FULL_URI:e.ENV_CMDS_FULL_URI,ENV_CMDS_RELATIVE_URI:e.ENV_CMDS_RELATIVE_URI,fromContainerMetadata:e.fromContainerMetadata,fromInstanceMetadata:e.fromInstanceMetadata}));if(process.env[n]||process.env[i]){e.logger?.debug("@aws-sdk/credential-provider-node - remoteProvider::fromHttp/fromContainerMetadata");let{fromHttp:i}=await import("./1~35.mjs").then(e=>({fromHttp:e.fromHttp}));return chain_chain(i(e),t(e))}return process.env[pt]&&"false"!==process.env[pt]?async()=>{throw new tG("EC2 Instance Metadata Service access disabled",{logger:e.logger})}:(e.logger?.debug("@aws-sdk/credential-provider-node - remoteProvider::fromInstanceMetadata"),a(e))};function memoizeChain(e,i){let n,t,a,r=internalCreateChain(e),provider=async e=>{if(e?.forceRefresh)return await r(e);if(a?.expiration&&a?.expiration?.getTime()<Date.now()&&(a=void 0),n)await n;else if(!a||i?.(a))if(!a)return n=r(e).then(e=>{a=e,n=void 0}),provider(e);else t||(t=r(e).then(e=>{a=e,t=void 0}));return a};return provider}let internalCreateChain=e=>async i=>{let n;for(let t of e)try{return await t(i)}catch(e){if(n=e,e?.tryNextLink)continue;throw e}throw n},pa=!1,defaultProvider=(e={})=>memoizeChain([async()=>{if(e.profile??process.env[tq])throw process.env[pi]&&process.env[pn]&&!pa&&((e.logger?.warn&&e.logger?.constructor?.name!=="NoOpLogger"?e.logger.warn.bind(e.logger):console.warn)(`@aws-sdk/credential-provider-node - defaultProvider::fromEnv WARNING:
|
|
60
60
|
Multiple credential sources detected:
|
|
61
61
|
Both AWS_PROFILE and the pair AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY static credentials are set.
|
|
62
62
|
This SDK will proceed with the AWS_PROFILE value.
|
|
@@ -64,22 +64,22 @@ More information can be found at: https://a.co/c895JFp`))},getArrayForCommaSepar
|
|
|
64
64
|
However, a future version may change this behavior to prefer the ENV static credentials.
|
|
65
65
|
Please ensure that your environment only sets either the AWS_PROFILE or the
|
|
66
66
|
AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY pair.
|
|
67
|
-
`),pn=!0),new tQ("AWS_PROFILE is set, skipping fromEnv provider.",{logger:e.logger,tryNextLink:!0});return e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromEnv"),fromEnv_fromEnv(e)()},async i=>{e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromSSO");let{ssoStartUrl:n,ssoAccountId:t,ssoRegion:a,ssoRoleName:r,ssoSession:o}=e;if(!n&&!t&&!a&&!r&&!o)throw new tQ("Skipping SSO provider in default chain (inputs do not include SSO fields).",{logger:e.logger});let{fromSSO:u}=await import("./1~390.mjs").then(e=>({fromSSO:e.fromSSO}));return u(e)(i)},async i=>{e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromIni");let{fromIni:n}=await import("./1~113.mjs").then(e=>({fromIni:e.fromIni}));return n(e)(i)},async i=>{e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromProcess");let{fromProcess:n}=await import("./1~844.mjs").then(e=>({fromProcess:e.fromProcess}));return n(e)(i)},async i=>{e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromTokenFile");let{fromTokenFile:n}=await import("./1~622.mjs").then(e=>({fromTokenFile:e.fromTokenFile}));return n(e)(i)},async()=>(e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::remoteProvider"),(await remoteProvider(e))()),async()=>{throw new tQ("Could not load credentials from any providers",{tryNextLink:!1,logger:e.logger})}],credentialsTreatedAsExpired),credentialsTreatedAsExpired=e=>e?.expiration!==void 0&&e.expiration.getTime()-Date.now()<3e5,pt={environmentVariableSelector:e=>booleanSelector(e,"AWS_S3_USE_ARN_REGION",eu.ENV),configFileSelector:e=>booleanSelector(e,"s3_use_arn_region",eu.CONFIG),default:void 0};(ee=ec||(ec={})).ENV="env",ee.CONFIG="shared config entry";let stringUnionSelector=(e,i,n,t)=>{if(!(i in e))return;let a=e[i].toUpperCase();if(!Object.values(n).includes(a))throw TypeError(`Cannot load ${t} '${i}'. Expected one of ${Object.values(n)}, got '${e[i]}'.`);return a},pa={environmentVariableSelector:e=>stringUnionSelector(e,"AWS_REQUEST_CHECKSUM_CALCULATION",n6,ec.ENV),configFileSelector:e=>stringUnionSelector(e,"request_checksum_calculation",n6,ec.CONFIG),default:n5},pr={environmentVariableSelector:e=>stringUnionSelector(e,"AWS_RESPONSE_CHECKSUM_VALIDATION",n7,ec.ENV),configFileSelector:e=>stringUnionSelector(e,"response_checksum_validation",n7,ec.CONFIG),default:n9},createDefaultUserAgentProvider=({serviceId:e,clientVersion:i})=>async n=>{let t=[["aws-sdk-js",i],["ua","2.1"],[`os/${(0,n3.platform)()}`,(0,n3.release)()],["lang/js"],["md/nodejs",`${k.node}`]],a=null;a&&t.push(a),e&&t.push([`api/${e}`,i]),J.AWS_EXECUTION_ENV&&t.push([`exec-env/${J.AWS_EXECUTION_ENV}`]);let r=await n?.userAgentAppId?.();return r?[...t,[`app/${r}`]]:[...t]},po={environmentVariableSelector:e=>e.AWS_SDK_UA_APP_ID,configFileSelector:e=>e.sdk_ua_app_id??e["sdk-ua-app-id"],default:tx},pu={environmentVariableSelector:e=>e.AWS_REGION,configFileSelector:e=>e.region,default:()=>{throw Error("Region is missing")}},ps={preferredFile:"credentials"},pl={environmentVariableSelector:e=>booleanSelector(e,"AWS_USE_DUALSTACK_ENDPOINT",eu.ENV),configFileSelector:e=>booleanSelector(e,"use_dualstack_endpoint",eu.CONFIG),default:!1},ph={environmentVariableSelector:e=>booleanSelector(e,"AWS_USE_FIPS_ENDPOINT",eu.ENV),configFileSelector:e=>booleanSelector(e,"use_fips_endpoint",eu.CONFIG),default:!1};function __awaiter(e,i,n,t){function adopt(e){return e instanceof n?e:new n(function(i){i(e)})}return new(n||(n=Promise))(function(n,a){function fulfilled(e){try{step(t.next(e))}catch(e){a(e)}}function rejected(e){try{step(t.throw(e))}catch(e){a(e)}}function step(e){e.done?n(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,i||[])).next())})}function __generator(e,i){var n,t,a,r={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return o.next=verb(0),o.throw=verb(1),o.return=verb(2),"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function verb(e){return function(i){return step([e,i])}}function step(u){if(n)throw TypeError("Generator is already executing.");for(;o&&(o=0,u[0]&&(r=0)),r;)try{if(n=1,t&&(a=2&u[0]?t.return:u[0]?t.throw||((a=t.return)&&a.call(t),0):t.next)&&!(a=a.call(t,u[1])).done)return a;switch(t=0,a&&(u=[2&u[0],a.value]),u[0]){case 0:case 1:a=u;break;case 4:return r.label++,{value:u[1],done:!1};case 5:r.label++,t=u[1],u=[0];continue;case 7:u=r.ops.pop(),r.trys.pop();continue;default:if(!(a=(a=r.trys).length>0&&a[a.length-1])&&(6===u[0]||2===u[0])){r=0;continue}if(3===u[0]&&(!a||u[1]>a[0]&&u[1]<a[3])){r.label=u[1];break}if(6===u[0]&&r.label<a[1]){r.label=a[1],a=u;break}if(a&&r.label<a[2]){r.label=a[2],r.ops.push(u);break}a[2]&&r.ops.pop(),r.trys.pop();continue}u=i.call(e,r)}catch(e){u=[6,e],t=0}finally{n=a=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}function __values(e){var i="function"==typeof Symbol&&Symbol.iterator,n=i&&e[i],t=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&t>=e.length&&(e=void 0),{value:e&&e[t++],done:!e}}};throw TypeError(i?"Object is not iterable.":"Symbol.iterator is not defined.")}var pg="u">typeof Buffer&&Buffer.from?function(e){return Buffer.from(e,"utf8")}:e=>{let i=((e,i)=>{if("string"!=typeof e)throw TypeError(`The "input" argument must be of type string. Received type ${typeof e} (${e})`);return i?ap.Buffer.from(e,i):ap.Buffer.from(e)})(e,"utf8");return new Uint8Array(i.buffer,i.byteOffset,i.byteLength/Uint8Array.BYTES_PER_ELEMENT)};function convertToBuffer(e){return e instanceof Uint8Array?e:"string"==typeof e?pg(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(e)}function isEmptyData(e){return"string"==typeof e?0===e.length:0===e.byteLength}function numToUint8(e){return new Uint8Array([(0xff000000&e)>>24,(0xff0000&e)>>16,(65280&e)>>8,255&e])}function uint32ArrayFrom(e){if(!Uint32Array.from){for(var i=new Uint32Array(e.length),n=0;n<e.length;)i[n]=e[n],n+=1;return i}return Uint32Array.from(e)}var pc=function(){function AwsCrc32(){this.crc32=new pd}return AwsCrc32.prototype.update=function(e){isEmptyData(e)||this.crc32.update(convertToBuffer(e))},AwsCrc32.prototype.digest=function(){return __awaiter(this,void 0,void 0,function(){return __generator(this,function(e){return[2,numToUint8(this.crc32.digest())]})})},AwsCrc32.prototype.reset=function(){this.crc32=new pd},AwsCrc32}(),pd=function(){function Crc32(){this.checksum=0xffffffff}return Crc32.prototype.update=function(e){var i,n;try{for(var t=__values(e),a=t.next();!a.done;a=t.next()){var r=a.value;this.checksum=this.checksum>>>8^pp[(this.checksum^r)&255]}}catch(e){i={error:e}}finally{try{a&&!a.done&&(n=t.return)&&n.call(t)}finally{if(i)throw i.error}}return this},Crc32.prototype.digest=function(){return(0xffffffff^this.checksum)>>>0},Crc32}(),pp=uint32ArrayFrom([0,0x77073096,0xee0e612c,0x990951ba,0x76dc419,0x706af48f,0xe963a535,0x9e6495a3,0xedb8832,0x79dcb8a4,0xe0d5e91e,0x97d2d988,0x9b64c2b,0x7eb17cbd,0xe7b82d07,0x90bf1d91,0x1db71064,0x6ab020f2,0xf3b97148,0x84be41de,0x1adad47d,0x6ddde4eb,0xf4d4b551,0x83d385c7,0x136c9856,0x646ba8c0,0xfd62f97a,0x8a65c9ec,0x14015c4f,0x63066cd9,0xfa0f3d63,0x8d080df5,0x3b6e20c8,0x4c69105e,0xd56041e4,0xa2677172,0x3c03e4d1,0x4b04d447,0xd20d85fd,0xa50ab56b,0x35b5a8fa,0x42b2986c,0xdbbbc9d6,0xacbcf940,0x32d86ce3,0x45df5c75,0xdcd60dcf,0xabd13d59,0x26d930ac,0x51de003a,0xc8d75180,0xbfd06116,0x21b4f4b5,0x56b3c423,0xcfba9599,0xb8bda50f,0x2802b89e,0x5f058808,0xc60cd9b2,0xb10be924,0x2f6f7c87,0x58684c11,0xc1611dab,0xb6662d3d,0x76dc4190,0x1db7106,0x98d220bc,0xefd5102a,0x71b18589,0x6b6b51f,0x9fbfe4a5,0xe8b8d433,0x7807c9a2,0xf00f934,0x9609a88e,0xe10e9818,0x7f6a0dbb,0x86d3d2d,0x91646c97,0xe6635c01,0x6b6b51f4,0x1c6c6162,0x856530d8,0xf262004e,0x6c0695ed,0x1b01a57b,0x8208f4c1,0xf50fc457,0x65b0d9c6,0x12b7e950,0x8bbeb8ea,0xfcb9887c,0x62dd1ddf,0x15da2d49,0x8cd37cf3,0xfbd44c65,0x4db26158,0x3ab551ce,0xa3bc0074,0xd4bb30e2,0x4adfa541,0x3dd895d7,0xa4d1c46d,0xd3d6f4fb,0x4369e96a,0x346ed9fc,0xad678846,0xda60b8d0,0x44042d73,0x33031de5,0xaa0a4c5f,0xdd0d7cc9,0x5005713c,0x270241aa,0xbe0b1010,0xc90c2086,0x5768b525,0x206f85b3,0xb966d409,0xce61e49f,0x5edef90e,0x29d9c998,0xb0d09822,0xc7d7a8b4,0x59b33d17,0x2eb40d81,0xb7bd5c3b,0xc0ba6cad,0xedb88320,0x9abfb3b6,0x3b6e20c,0x74b1d29a,0xead54739,0x9dd277af,0x4db2615,0x73dc1683,0xe3630b12,0x94643b84,0xd6d6a3e,0x7a6a5aa8,0xe40ecf0b,0x9309ff9d,0xa00ae27,0x7d079eb1,0xf00f9344,0x8708a3d2,0x1e01f268,0x6906c2fe,0xf762575d,0x806567cb,0x196c3671,0x6e6b06e7,0xfed41b76,0x89d32be0,0x10da7a5a,0x67dd4acc,0xf9b9df6f,0x8ebeeff9,0x17b7be43,0x60b08ed5,0xd6d6a3e8,0xa1d1937e,0x38d8c2c4,0x4fdff252,0xd1bb67f1,0xa6bc5767,0x3fb506dd,0x48b2364b,0xd80d2bda,0xaf0a1b4c,0x36034af6,0x41047a60,0xdf60efc3,0xa867df55,0x316e8eef,0x4669be79,0xcb61b38c,0xbc66831a,0x256fd2a0,0x5268e236,0xcc0c7795,0xbb0b4703,0x220216b9,0x5505262f,0xc5ba3bbe,0xb2bd0b28,0x2bb45a92,0x5cb36a04,0xc2d7ffa7,0xb5d0cf31,0x2cd99e8b,0x5bdeae1d,0x9b64c2b0,0xec63f226,0x756aa39c,0x26d930a,0x9c0906a9,0xeb0e363f,0x72076785,0x5005713,0x95bf4a82,0xe2b87a14,0x7bb12bae,0xcb61b38,0x92d28e9b,0xe5d5be0d,0x7cdcefb7,0xbdbdf21,0x86d3d2d4,0xf1d4e242,0x68ddb3f8,0x1fda836e,0x81be16cd,0xf6b9265b,0x6fb077e1,0x18b74777,0x88085ae6,0xff0f6a70,0x66063bca,0x11010b5c,0x8f659eff,0xf862ae69,0x616bffd3,0x166ccf45,0xa00ae278,0xd70dd2ee,0x4e048354,0x3903b3c2,0xa7672661,0xd06016f7,0x4969474d,0x3e6e77db,0xaed16a4a,0xd9d65adc,0x40df0b66,936918e3,0xa9bcae53,0xdebb9ec5,0x47b2cf7f,0x30b5ffe9,0xbdbdf21c,0xcabac28a,0x53b39330,0x24b4a3a6,0xbad03605,0xcdd70693,0x54de5729,0x23d967bf,0xb3667a2e,0xc4614ab8,0x5d681b02,0x2a6f2b94,0xb40bbe37,0xc30c8ea1,0x5a05df1b,0x2d02ef8d]);class pf{bytes;constructor(e){if(this.bytes=e,8!==e.byteLength)throw Error("Int64 buffers must be exactly 8 bytes")}static fromNumber(e){if(e>0x8000000000000000||e<-0x8000000000000000)throw Error(`${e} is too large (or, if negative, too small) to represent as an Int64`);let i=new Uint8Array(8);for(let n=7,t=Math.abs(Math.round(e));n>-1&&t>0;n--,t/=256)i[n]=t;return e<0&&Int64_negate(i),new pf(i)}valueOf(){let e=this.bytes.slice(0),i=128&e[0];return i&&Int64_negate(e),parseInt(toHex(e),16)*(i?-1:1)}toString(){return String(this.valueOf())}}function Int64_negate(e){for(let i=0;i<8;i++)e[i]^=255;for(let i=7;i>-1&&(e[i]++,0===e[i]);i--);}class pm{toUtf8;fromUtf8;constructor(e,i){this.toUtf8=e,this.fromUtf8=i}format(e){let i=[];for(let n of Object.keys(e)){let t=this.fromUtf8(n);i.push(Uint8Array.from([t.byteLength]),t,this.formatHeaderValue(e[n]))}let n=new Uint8Array(i.reduce((e,i)=>e+i.byteLength,0)),t=0;for(let e of i)n.set(e,t),t+=e.byteLength;return n}formatHeaderValue(e){switch(e.type){case"boolean":return Uint8Array.from([+!e.value]);case"byte":return Uint8Array.from([2,e.value]);case"short":let i=new DataView(new ArrayBuffer(3));return i.setUint8(0,3),i.setInt16(1,e.value,!1),new Uint8Array(i.buffer);case"integer":let n=new DataView(new ArrayBuffer(5));return n.setUint8(0,4),n.setInt32(1,e.value,!1),new Uint8Array(n.buffer);case"long":let t=new Uint8Array(9);return t[0]=5,t.set(e.value.bytes,1),t;case"binary":let a=new DataView(new ArrayBuffer(3+e.value.byteLength));a.setUint8(0,6),a.setUint16(1,e.value.byteLength,!1);let r=new Uint8Array(a.buffer);return r.set(e.value,3),r;case"string":let o=this.fromUtf8(e.value),u=new DataView(new ArrayBuffer(3+o.byteLength));u.setUint8(0,7),u.setUint16(1,o.byteLength,!1);let s=new Uint8Array(u.buffer);return s.set(o,3),s;case"timestamp":let l=new Uint8Array(9);return l[0]=8,l.set(pf.fromNumber(e.value.valueOf()).bytes,1),l;case"uuid":if(!p_.test(e.value))throw Error(`Invalid UUID received: ${e.value}`);let h=new Uint8Array(17);return h[0]=9,h.set(fromHex(e.value.replace(/\-/g,"")),1),h}}parse(e){let i={},n=0;for(;n<e.byteLength;){let t=e.getUint8(n++),a=this.toUtf8(new Uint8Array(e.buffer,e.byteOffset+n,t));switch(n+=t,e.getUint8(n++)){case 0:i[a]={type:py,value:!0};break;case 1:i[a]={type:py,value:!1};break;case 2:i[a]={type:pS,value:e.getInt8(n++)};break;case 3:i[a]={type:pb,value:e.getInt16(n,!1)},n+=2;break;case 4:i[a]={type:pC,value:e.getInt32(n,!1)},n+=4;break;case 5:i[a]={type:pw,value:new pf(new Uint8Array(e.buffer,e.byteOffset+n,8))},n+=8;break;case 6:let r=e.getUint16(n,!1);n+=2,i[a]={type:pT,value:new Uint8Array(e.buffer,e.byteOffset+n,r)},n+=r;break;case 7:let o=e.getUint16(n,!1);n+=2,i[a]={type:px,value:this.toUtf8(new Uint8Array(e.buffer,e.byteOffset+n,o))},n+=o;break;case 8:i[a]={type:pL,value:new Date(new pf(new Uint8Array(e.buffer,e.byteOffset+n,8)).valueOf())},n+=8;break;case 9:let u=new Uint8Array(e.buffer,e.byteOffset+n,16);n+=16,i[a]={type:pE,value:`${toHex(u.subarray(0,4))}-${toHex(u.subarray(4,6))}-${toHex(u.subarray(6,8))}-${toHex(u.subarray(8,10))}-${toHex(u.subarray(10))}`};break;default:throw Error("Unrecognized header type tag")}}return i}}(ei=ed||(ed={}))[ei.boolTrue=0]="boolTrue",ei[ei.boolFalse=1]="boolFalse",ei[ei.byte=2]="byte",ei[ei.short=3]="short",ei[ei.integer=4]="integer",ei[ei.long=5]="long",ei[ei.byteArray=6]="byteArray",ei[ei.string=7]="string",ei[ei.timestamp=8]="timestamp",ei[ei.uuid=9]="uuid";let py="boolean",pS="byte",pb="short",pC="integer",pw="long",pT="binary",px="string",pL="timestamp",pE="uuid",p_=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/,pY=16;function splitMessage({byteLength:e,byteOffset:i,buffer:n}){if(e<pY)throw Error("Provided message too short to accommodate event stream message overhead");let t=new DataView(n,i,e),a=t.getUint32(0,!1);if(e!==a)throw Error("Reported message length does not match received message length");let r=t.getUint32(4,!1),o=t.getUint32(8,!1),u=t.getUint32(e-4,!1),s=new pd().update(new Uint8Array(n,i,8));if(o!==s.digest())throw Error(`The prelude checksum specified in the message (${o}) does not match the calculated CRC32 checksum (${s.digest()})`);if(s.update(new Uint8Array(n,i+8,e-12)),u!==s.digest())throw Error(`The message checksum (${s.digest()}) did not match the expected value of ${u}`);return{headers:new DataView(n,i+8+4,r),body:new Uint8Array(n,i+8+4+r,a-r-16)}}class pD{headerMarshaller;messageBuffer;isEndOfStream;constructor(e,i){this.headerMarshaller=new pm(e,i),this.messageBuffer=[],this.isEndOfStream=!1}feed(e){this.messageBuffer.push(this.decode(e))}endOfStream(){this.isEndOfStream=!0}getMessage(){let e=this.messageBuffer.pop(),i=this.isEndOfStream;return{getMessage:()=>e,isEndOfStream:()=>i}}getAvailableMessages(){let e=this.messageBuffer;this.messageBuffer=[];let i=this.isEndOfStream;return{getMessages:()=>e,isEndOfStream:()=>i}}encode({headers:e,body:i}){let n=this.headerMarshaller.format(e),t=n.byteLength+i.byteLength+16,a=new Uint8Array(t),r=new DataView(a.buffer,a.byteOffset,a.byteLength),o=new pd;return r.setUint32(0,t,!1),r.setUint32(4,n.byteLength,!1),r.setUint32(8,o.update(a.subarray(0,8)).digest(),!1),a.set(n,12),a.set(i,n.byteLength+12),r.setUint32(t-4,o.update(a.subarray(8,t-4)).digest(),!1),a}decode(e){let{headers:i,body:n}=splitMessage(e);return{headers:this.headerMarshaller.parse(i),body:n}}formatHeaders(e){return this.headerMarshaller.format(e)}}class pv{options;constructor(e){this.options=e}[Symbol.asyncIterator](){return this.asyncIterator()}async *asyncIterator(){for await(let e of this.options.messageStream){let i=await this.options.deserializer(e);void 0!==i&&(yield i)}}}class pA{options;constructor(e){this.options=e}[Symbol.asyncIterator](){return this.asyncIterator()}async *asyncIterator(){for await(let e of this.options.inputStream){let i=this.options.decoder.decode(e);yield i}}}class pN{options;constructor(e){this.options=e}[Symbol.asyncIterator](){return this.asyncIterator()}async *asyncIterator(){for await(let e of this.options.messageStream){let i=this.options.encoder.encode(e);yield i}this.options.includeEndFrame&&(yield new Uint8Array(0))}}class pP{options;constructor(e){this.options=e}[Symbol.asyncIterator](){return this.asyncIterator()}async *asyncIterator(){for await(let e of this.options.inputStream){let i=this.options.serializer(e);yield i}}}function getChunkedStream(e){let i=0,n=0,t=null,a=null,allocateMessage=e=>{if("number"!=typeof e)throw Error("Attempted to allocate an event message where size was not a number: "+e);i=e,n=4,new DataView((t=new Uint8Array(e)).buffer).setUint32(0,e,!1)};return{[Symbol.asyncIterator]:async function*(){let r=e[Symbol.asyncIterator]();for(;;){let{value:e,done:o}=await r.next();if(o){if(i)if(i===n)yield t;else throw Error("Truncated event message received.");return}let u=e.length,s=0;for(;s<u;){if(!t){let i=u-s;a||(a=new Uint8Array(4));let t=Math.min(4-n,i);if(a.set(e.slice(s,s+t),n),n+=t,s+=t,n<4)break;allocateMessage(new DataView(a.buffer).getUint32(0,!1)),a=null}let r=Math.min(i-n,u-s);t.set(e.slice(s,s+r),n),n+=r,s+=r,i&&i===n&&(yield t,t=null,i=0,n=0)}}}}}function getMessageUnmarshaller(e,i){return async function(n){let{value:t}=n.headers[":message-type"];if("error"===t){let e=Error(n.headers[":error-message"].value||"UnknownError");throw e.name=n.headers[":error-code"].value,e}if("exception"===t){let t=n.headers[":exception-type"].value,a=await e({[t]:n});if(a.$unknown){let e=Error(i(n.body));throw e.name=t,e}throw a[t]}if("event"===t){let i={[n.headers[":event-type"].value]:n},t=await e(i);if(t.$unknown)return;return t}throw Error(`Unrecognizable event type: ${n.headers[":event-type"].value}`)}}class pZ{eventStreamCodec;utfEncoder;constructor({utf8Encoder:e,utf8Decoder:i}){this.eventStreamCodec=new pD(e,i),this.utfEncoder=e}deserialize(e,i){return new pv({messageStream:new pA({inputStream:getChunkedStream(e),decoder:this.eventStreamCodec}),deserializer:getMessageUnmarshaller(i,this.utfEncoder)})}serialize(e,i){return new pN({messageStream:new pP({inputStream:e,serializer:i}),encoder:this.eventStreamCodec,includeEndFrame:!0})}}async function*readabletoIterable(e){let i=!1,n=!1,t=[];for(e.on("error",e=>{if(i||(i=!0),e)throw e}),e.on("data",e=>{t.push(e)}),e.on("end",()=>{i=!0});!n;){let e=await new Promise(e=>setTimeout(()=>e(t.shift()),0));e&&(yield e),n=i&&0===t.length}}class pR{universalMarshaller;constructor({utf8Encoder:e,utf8Decoder:i}){this.universalMarshaller=new pZ({utf8Decoder:i,utf8Encoder:e})}deserialize(e,i){let n="function"==typeof e[Symbol.asyncIterator]?e:readabletoIterable(e);return this.universalMarshaller.deserialize(n,i)}serialize(e,i){return au.Readable.from(this.universalMarshaller.serialize(e,i))}}let eventStreamSerdeProvider=e=>new pR(e);class pM{algorithmIdentifier;secret;hash;constructor(e,i){this.algorithmIdentifier=e,this.secret=i,this.reset()}update(e,i){this.hash.update(toUint8Array(castSourceData(e,i)))}digest(){return Promise.resolve(this.hash.digest())}reset(){this.hash=this.secret?(0,aa.createHmac)(this.algorithmIdentifier,castSourceData(this.secret)):(0,aa.createHash)(this.algorithmIdentifier)}}function castSourceData(e,i){return ap.Buffer.isBuffer(e)?e:"string"==typeof e?fromString(e,i):ArrayBuffer.isView(e)?dist_es_fromArrayBuffer(e.buffer,e.byteOffset,e.byteLength):dist_es_fromArrayBuffer(e)}class pJ extends au.Writable{hash;constructor(e,i){super(i),this.hash=e}_write(e,i,n){try{this.hash.update(toUint8Array(e))}catch(e){return n(e)}n()}}let readableStreamHasher=(e,i)=>{if(null!==i.readableFlowing)throw Error("Unable to calculate hash for flowing readable stream");let n=new e,t=new pJ(n);return i.pipe(t),new Promise((e,a)=>{i.on("error",e=>{t.end(),a(e)}),t.on("error",a),t.on("finish",()=>{n.digest().then(e).catch(a)})})};function buildQueryString(e){let i=[];for(let n of Object.keys(e).sort()){let t=e[n];if(n=escapeUri(n),Array.isArray(t))for(let e=0,a=t.length;e<a;e++)i.push(`${n}=${escapeUri(t[e])}`);else{let e=n;(t||"string"==typeof t)&&(e+=`=${escapeUri(t)}`),i.push(e)}}return i.join("&")}let pk=["ECONNRESET","EPIPE","ETIMEDOUT"],pB=e=>clearTimeout(e),pH=3e3;async function writeRequestBody(e,i,n=6e3,t=!1){let a=i.headers??{},r=a.Expect||a.expect,o=-1,u=!0;t||"100-continue"!==r||(u=await Promise.race([new Promise(e=>{o=Number(setTimeout(()=>e(!0),Math.max(6e3,n)))}),new Promise(i=>{e.on("continue",()=>{pB(o),i(!0)}),e.on("response",()=>{pB(o),i(!1)}),e.on("error",()=>{pB(o),i(!1)})})])),u&&writeBody(e,i.body)}function writeBody(e,i){i instanceof au.Readable?i.pipe(e):i?Buffer.isBuffer(i)||"string"==typeof i?e.end(i):"object"==typeof i&&i.buffer&&"number"==typeof i.byteOffset&&"number"==typeof i.byteLength?e.end(Buffer.from(i.buffer,i.byteOffset,i.byteLength)):e.end(Buffer.from(i)):e.end()}class pF{config;configProvider;socketWarningTimestamp=0;externalAgent=!1;metadata={handlerProtocol:"http/1.1"};static create(e){return"function"==typeof e?.handle?e:new pF(e)}static checkSocketUsage(e,i,n=console){let{sockets:t,requests:a,maxSockets:r}=e;if("number"!=typeof r||r===1/0||Date.now()-15e3<i)return i;if(t&&a)for(let e in t){let i=t[e]?.length??0,o=a[e]?.length??0;if(i>=r&&o>=2*r)return n?.warn?.(`@smithy/node-http-handler:WARN - socket usage at capacity=${i} and ${o} additional requests are enqueued.
|
|
67
|
+
`),pa=!0),new tG("AWS_PROFILE is set, skipping fromEnv provider.",{logger:e.logger,tryNextLink:!0});return e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromEnv"),fromEnv_fromEnv(e)()},async i=>{e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromSSO");let{ssoStartUrl:n,ssoAccountId:t,ssoRegion:a,ssoRoleName:r,ssoSession:o}=e;if(!n&&!t&&!a&&!r&&!o)throw new tG("Skipping SSO provider in default chain (inputs do not include SSO fields).",{logger:e.logger});let{fromSSO:u}=await import("./1~390.mjs").then(e=>({fromSSO:e.fromSSO}));return u(e)(i)},async i=>{e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromIni");let{fromIni:n}=await import("./1~113.mjs").then(e=>({fromIni:e.fromIni}));return n(e)(i)},async i=>{e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromProcess");let{fromProcess:n}=await import("./1~844.mjs").then(e=>({fromProcess:e.fromProcess}));return n(e)(i)},async i=>{e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromTokenFile");let{fromTokenFile:n}=await import("./1~622.mjs").then(e=>({fromTokenFile:e.fromTokenFile}));return n(e)(i)},async()=>(e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::remoteProvider"),(await remoteProvider(e))()),async()=>{throw new tG("Could not load credentials from any providers",{tryNextLink:!1,logger:e.logger})}],credentialsTreatedAsExpired),credentialsTreatedAsExpired=e=>e?.expiration!==void 0&&e.expiration.getTime()-Date.now()<3e5,pr={environmentVariableSelector:e=>booleanSelector(e,"AWS_S3_USE_ARN_REGION",eu.ENV),configFileSelector:e=>booleanSelector(e,"s3_use_arn_region",eu.CONFIG),default:void 0};(ee=ec||(ec={})).ENV="env",ee.CONFIG="shared config entry";let stringUnionSelector=(e,i,n,t)=>{if(!(i in e))return;let a=e[i].toUpperCase();if(!Object.values(n).includes(a))throw TypeError(`Cannot load ${t} '${i}'. Expected one of ${Object.values(n)}, got '${e[i]}'.`);return a},po={environmentVariableSelector:e=>stringUnionSelector(e,"AWS_REQUEST_CHECKSUM_CALCULATION",n7,ec.ENV),configFileSelector:e=>stringUnionSelector(e,"request_checksum_calculation",n7,ec.CONFIG),default:n9},pu={environmentVariableSelector:e=>stringUnionSelector(e,"AWS_RESPONSE_CHECKSUM_VALIDATION",te,ec.ENV),configFileSelector:e=>stringUnionSelector(e,"response_checksum_validation",te,ec.CONFIG),default:ti},createDefaultUserAgentProvider=({serviceId:e,clientVersion:i})=>async n=>{let t=[["aws-sdk-js",i],["ua","2.1"],[`os/${(0,n4.platform)()}`,(0,n4.release)()],["lang/js"],["md/nodejs",`${k.node}`]],a=null;a&&t.push(a),e&&t.push([`api/${e}`,i]),J.AWS_EXECUTION_ENV&&t.push([`exec-env/${J.AWS_EXECUTION_ENV}`]);let r=await n?.userAgentAppId?.();return r?[...t,[`app/${r}`]]:[...t]},ps={environmentVariableSelector:e=>e.AWS_SDK_UA_APP_ID,configFileSelector:e=>e.sdk_ua_app_id??e["sdk-ua-app-id"],default:tE},pl={environmentVariableSelector:e=>e.AWS_REGION,configFileSelector:e=>e.region,default:()=>{throw Error("Region is missing")}},ph={preferredFile:"credentials"},pg={environmentVariableSelector:e=>booleanSelector(e,"AWS_USE_DUALSTACK_ENDPOINT",eu.ENV),configFileSelector:e=>booleanSelector(e,"use_dualstack_endpoint",eu.CONFIG),default:!1},pc={environmentVariableSelector:e=>booleanSelector(e,"AWS_USE_FIPS_ENDPOINT",eu.ENV),configFileSelector:e=>booleanSelector(e,"use_fips_endpoint",eu.CONFIG),default:!1};function __awaiter(e,i,n,t){function adopt(e){return e instanceof n?e:new n(function(i){i(e)})}return new(n||(n=Promise))(function(n,a){function fulfilled(e){try{step(t.next(e))}catch(e){a(e)}}function rejected(e){try{step(t.throw(e))}catch(e){a(e)}}function step(e){e.done?n(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,i||[])).next())})}function __generator(e,i){var n,t,a,r={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return o.next=verb(0),o.throw=verb(1),o.return=verb(2),"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function verb(e){return function(i){return step([e,i])}}function step(u){if(n)throw TypeError("Generator is already executing.");for(;o&&(o=0,u[0]&&(r=0)),r;)try{if(n=1,t&&(a=2&u[0]?t.return:u[0]?t.throw||((a=t.return)&&a.call(t),0):t.next)&&!(a=a.call(t,u[1])).done)return a;switch(t=0,a&&(u=[2&u[0],a.value]),u[0]){case 0:case 1:a=u;break;case 4:return r.label++,{value:u[1],done:!1};case 5:r.label++,t=u[1],u=[0];continue;case 7:u=r.ops.pop(),r.trys.pop();continue;default:if(!(a=(a=r.trys).length>0&&a[a.length-1])&&(6===u[0]||2===u[0])){r=0;continue}if(3===u[0]&&(!a||u[1]>a[0]&&u[1]<a[3])){r.label=u[1];break}if(6===u[0]&&r.label<a[1]){r.label=a[1],a=u;break}if(a&&r.label<a[2]){r.label=a[2],r.ops.push(u);break}a[2]&&r.ops.pop(),r.trys.pop();continue}u=i.call(e,r)}catch(e){u=[6,e],t=0}finally{n=a=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}function __values(e){var i="function"==typeof Symbol&&Symbol.iterator,n=i&&e[i],t=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&t>=e.length&&(e=void 0),{value:e&&e[t++],done:!e}}};throw TypeError(i?"Object is not iterable.":"Symbol.iterator is not defined.")}var pd="u">typeof Buffer&&Buffer.from?function(e){return Buffer.from(e,"utf8")}:e=>{let i=((e,i)=>{if("string"!=typeof e)throw TypeError(`The "input" argument must be of type string. Received type ${typeof e} (${e})`);return i?am.Buffer.from(e,i):am.Buffer.from(e)})(e,"utf8");return new Uint8Array(i.buffer,i.byteOffset,i.byteLength/Uint8Array.BYTES_PER_ELEMENT)};function convertToBuffer(e){return e instanceof Uint8Array?e:"string"==typeof e?pd(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(e)}function isEmptyData(e){return"string"==typeof e?0===e.length:0===e.byteLength}function numToUint8(e){return new Uint8Array([(0xff000000&e)>>24,(0xff0000&e)>>16,(65280&e)>>8,255&e])}function uint32ArrayFrom(e){if(!Uint32Array.from){for(var i=new Uint32Array(e.length),n=0;n<e.length;)i[n]=e[n],n+=1;return i}return Uint32Array.from(e)}var pp=function(){function AwsCrc32(){this.crc32=new pf}return AwsCrc32.prototype.update=function(e){isEmptyData(e)||this.crc32.update(convertToBuffer(e))},AwsCrc32.prototype.digest=function(){return __awaiter(this,void 0,void 0,function(){return __generator(this,function(e){return[2,numToUint8(this.crc32.digest())]})})},AwsCrc32.prototype.reset=function(){this.crc32=new pf},AwsCrc32}(),pf=function(){function Crc32(){this.checksum=0xffffffff}return Crc32.prototype.update=function(e){var i,n;try{for(var t=__values(e),a=t.next();!a.done;a=t.next()){var r=a.value;this.checksum=this.checksum>>>8^pm[(this.checksum^r)&255]}}catch(e){i={error:e}}finally{try{a&&!a.done&&(n=t.return)&&n.call(t)}finally{if(i)throw i.error}}return this},Crc32.prototype.digest=function(){return(0xffffffff^this.checksum)>>>0},Crc32}(),pm=uint32ArrayFrom([0,0x77073096,0xee0e612c,0x990951ba,0x76dc419,0x706af48f,0xe963a535,0x9e6495a3,0xedb8832,0x79dcb8a4,0xe0d5e91e,0x97d2d988,0x9b64c2b,0x7eb17cbd,0xe7b82d07,0x90bf1d91,0x1db71064,0x6ab020f2,0xf3b97148,0x84be41de,0x1adad47d,0x6ddde4eb,0xf4d4b551,0x83d385c7,0x136c9856,0x646ba8c0,0xfd62f97a,0x8a65c9ec,0x14015c4f,0x63066cd9,0xfa0f3d63,0x8d080df5,0x3b6e20c8,0x4c69105e,0xd56041e4,0xa2677172,0x3c03e4d1,0x4b04d447,0xd20d85fd,0xa50ab56b,0x35b5a8fa,0x42b2986c,0xdbbbc9d6,0xacbcf940,0x32d86ce3,0x45df5c75,0xdcd60dcf,0xabd13d59,0x26d930ac,0x51de003a,0xc8d75180,0xbfd06116,0x21b4f4b5,0x56b3c423,0xcfba9599,0xb8bda50f,0x2802b89e,0x5f058808,0xc60cd9b2,0xb10be924,0x2f6f7c87,0x58684c11,0xc1611dab,0xb6662d3d,0x76dc4190,0x1db7106,0x98d220bc,0xefd5102a,0x71b18589,0x6b6b51f,0x9fbfe4a5,0xe8b8d433,0x7807c9a2,0xf00f934,0x9609a88e,0xe10e9818,0x7f6a0dbb,0x86d3d2d,0x91646c97,0xe6635c01,0x6b6b51f4,0x1c6c6162,0x856530d8,0xf262004e,0x6c0695ed,0x1b01a57b,0x8208f4c1,0xf50fc457,0x65b0d9c6,0x12b7e950,0x8bbeb8ea,0xfcb9887c,0x62dd1ddf,0x15da2d49,0x8cd37cf3,0xfbd44c65,0x4db26158,0x3ab551ce,0xa3bc0074,0xd4bb30e2,0x4adfa541,0x3dd895d7,0xa4d1c46d,0xd3d6f4fb,0x4369e96a,0x346ed9fc,0xad678846,0xda60b8d0,0x44042d73,0x33031de5,0xaa0a4c5f,0xdd0d7cc9,0x5005713c,0x270241aa,0xbe0b1010,0xc90c2086,0x5768b525,0x206f85b3,0xb966d409,0xce61e49f,0x5edef90e,0x29d9c998,0xb0d09822,0xc7d7a8b4,0x59b33d17,0x2eb40d81,0xb7bd5c3b,0xc0ba6cad,0xedb88320,0x9abfb3b6,0x3b6e20c,0x74b1d29a,0xead54739,0x9dd277af,0x4db2615,0x73dc1683,0xe3630b12,0x94643b84,0xd6d6a3e,0x7a6a5aa8,0xe40ecf0b,0x9309ff9d,0xa00ae27,0x7d079eb1,0xf00f9344,0x8708a3d2,0x1e01f268,0x6906c2fe,0xf762575d,0x806567cb,0x196c3671,0x6e6b06e7,0xfed41b76,0x89d32be0,0x10da7a5a,0x67dd4acc,0xf9b9df6f,0x8ebeeff9,0x17b7be43,0x60b08ed5,0xd6d6a3e8,0xa1d1937e,0x38d8c2c4,0x4fdff252,0xd1bb67f1,0xa6bc5767,0x3fb506dd,0x48b2364b,0xd80d2bda,0xaf0a1b4c,0x36034af6,0x41047a60,0xdf60efc3,0xa867df55,0x316e8eef,0x4669be79,0xcb61b38c,0xbc66831a,0x256fd2a0,0x5268e236,0xcc0c7795,0xbb0b4703,0x220216b9,0x5505262f,0xc5ba3bbe,0xb2bd0b28,0x2bb45a92,0x5cb36a04,0xc2d7ffa7,0xb5d0cf31,0x2cd99e8b,0x5bdeae1d,0x9b64c2b0,0xec63f226,0x756aa39c,0x26d930a,0x9c0906a9,0xeb0e363f,0x72076785,0x5005713,0x95bf4a82,0xe2b87a14,0x7bb12bae,0xcb61b38,0x92d28e9b,0xe5d5be0d,0x7cdcefb7,0xbdbdf21,0x86d3d2d4,0xf1d4e242,0x68ddb3f8,0x1fda836e,0x81be16cd,0xf6b9265b,0x6fb077e1,0x18b74777,0x88085ae6,0xff0f6a70,0x66063bca,0x11010b5c,0x8f659eff,0xf862ae69,0x616bffd3,0x166ccf45,0xa00ae278,0xd70dd2ee,0x4e048354,0x3903b3c2,0xa7672661,0xd06016f7,0x4969474d,0x3e6e77db,0xaed16a4a,0xd9d65adc,0x40df0b66,936918e3,0xa9bcae53,0xdebb9ec5,0x47b2cf7f,0x30b5ffe9,0xbdbdf21c,0xcabac28a,0x53b39330,0x24b4a3a6,0xbad03605,0xcdd70693,0x54de5729,0x23d967bf,0xb3667a2e,0xc4614ab8,0x5d681b02,0x2a6f2b94,0xb40bbe37,0xc30c8ea1,0x5a05df1b,0x2d02ef8d]);class py{bytes;constructor(e){if(this.bytes=e,8!==e.byteLength)throw Error("Int64 buffers must be exactly 8 bytes")}static fromNumber(e){if(e>0x8000000000000000||e<-0x8000000000000000)throw Error(`${e} is too large (or, if negative, too small) to represent as an Int64`);let i=new Uint8Array(8);for(let n=7,t=Math.abs(Math.round(e));n>-1&&t>0;n--,t/=256)i[n]=t;return e<0&&Int64_negate(i),new py(i)}valueOf(){let e=this.bytes.slice(0),i=128&e[0];return i&&Int64_negate(e),parseInt(toHex(e),16)*(i?-1:1)}toString(){return String(this.valueOf())}}function Int64_negate(e){for(let i=0;i<8;i++)e[i]^=255;for(let i=7;i>-1&&(e[i]++,0===e[i]);i--);}class pS{toUtf8;fromUtf8;constructor(e,i){this.toUtf8=e,this.fromUtf8=i}format(e){let i=[];for(let n of Object.keys(e)){let t=this.fromUtf8(n);i.push(Uint8Array.from([t.byteLength]),t,this.formatHeaderValue(e[n]))}let n=new Uint8Array(i.reduce((e,i)=>e+i.byteLength,0)),t=0;for(let e of i)n.set(e,t),t+=e.byteLength;return n}formatHeaderValue(e){switch(e.type){case"boolean":return Uint8Array.from([+!e.value]);case"byte":return Uint8Array.from([2,e.value]);case"short":let i=new DataView(new ArrayBuffer(3));return i.setUint8(0,3),i.setInt16(1,e.value,!1),new Uint8Array(i.buffer);case"integer":let n=new DataView(new ArrayBuffer(5));return n.setUint8(0,4),n.setInt32(1,e.value,!1),new Uint8Array(n.buffer);case"long":let t=new Uint8Array(9);return t[0]=5,t.set(e.value.bytes,1),t;case"binary":let a=new DataView(new ArrayBuffer(3+e.value.byteLength));a.setUint8(0,6),a.setUint16(1,e.value.byteLength,!1);let r=new Uint8Array(a.buffer);return r.set(e.value,3),r;case"string":let o=this.fromUtf8(e.value),u=new DataView(new ArrayBuffer(3+o.byteLength));u.setUint8(0,7),u.setUint16(1,o.byteLength,!1);let s=new Uint8Array(u.buffer);return s.set(o,3),s;case"timestamp":let l=new Uint8Array(9);return l[0]=8,l.set(py.fromNumber(e.value.valueOf()).bytes,1),l;case"uuid":if(!pD.test(e.value))throw Error(`Invalid UUID received: ${e.value}`);let h=new Uint8Array(17);return h[0]=9,h.set(fromHex(e.value.replace(/\-/g,"")),1),h}}parse(e){let i={},n=0;for(;n<e.byteLength;){let t=e.getUint8(n++),a=this.toUtf8(new Uint8Array(e.buffer,e.byteOffset+n,t));switch(n+=t,e.getUint8(n++)){case 0:i[a]={type:pb,value:!0};break;case 1:i[a]={type:pb,value:!1};break;case 2:i[a]={type:pC,value:e.getInt8(n++)};break;case 3:i[a]={type:pw,value:e.getInt16(n,!1)},n+=2;break;case 4:i[a]={type:pT,value:e.getInt32(n,!1)},n+=4;break;case 5:i[a]={type:px,value:new py(new Uint8Array(e.buffer,e.byteOffset+n,8))},n+=8;break;case 6:let r=e.getUint16(n,!1);n+=2,i[a]={type:pL,value:new Uint8Array(e.buffer,e.byteOffset+n,r)},n+=r;break;case 7:let o=e.getUint16(n,!1);n+=2,i[a]={type:pE,value:this.toUtf8(new Uint8Array(e.buffer,e.byteOffset+n,o))},n+=o;break;case 8:i[a]={type:p_,value:new Date(new py(new Uint8Array(e.buffer,e.byteOffset+n,8)).valueOf())},n+=8;break;case 9:let u=new Uint8Array(e.buffer,e.byteOffset+n,16);n+=16,i[a]={type:pY,value:`${toHex(u.subarray(0,4))}-${toHex(u.subarray(4,6))}-${toHex(u.subarray(6,8))}-${toHex(u.subarray(8,10))}-${toHex(u.subarray(10))}`};break;default:throw Error("Unrecognized header type tag")}}return i}}(ei=ed||(ed={}))[ei.boolTrue=0]="boolTrue",ei[ei.boolFalse=1]="boolFalse",ei[ei.byte=2]="byte",ei[ei.short=3]="short",ei[ei.integer=4]="integer",ei[ei.long=5]="long",ei[ei.byteArray=6]="byteArray",ei[ei.string=7]="string",ei[ei.timestamp=8]="timestamp",ei[ei.uuid=9]="uuid";let pb="boolean",pC="byte",pw="short",pT="integer",px="long",pL="binary",pE="string",p_="timestamp",pY="uuid",pD=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/,pv=16;function splitMessage({byteLength:e,byteOffset:i,buffer:n}){if(e<pv)throw Error("Provided message too short to accommodate event stream message overhead");let t=new DataView(n,i,e),a=t.getUint32(0,!1);if(e!==a)throw Error("Reported message length does not match received message length");let r=t.getUint32(4,!1),o=t.getUint32(8,!1),u=t.getUint32(e-4,!1),s=new pf().update(new Uint8Array(n,i,8));if(o!==s.digest())throw Error(`The prelude checksum specified in the message (${o}) does not match the calculated CRC32 checksum (${s.digest()})`);if(s.update(new Uint8Array(n,i+8,e-12)),u!==s.digest())throw Error(`The message checksum (${s.digest()}) did not match the expected value of ${u}`);return{headers:new DataView(n,i+8+4,r),body:new Uint8Array(n,i+8+4+r,a-r-16)}}class pA{headerMarshaller;messageBuffer;isEndOfStream;constructor(e,i){this.headerMarshaller=new pS(e,i),this.messageBuffer=[],this.isEndOfStream=!1}feed(e){this.messageBuffer.push(this.decode(e))}endOfStream(){this.isEndOfStream=!0}getMessage(){let e=this.messageBuffer.pop(),i=this.isEndOfStream;return{getMessage:()=>e,isEndOfStream:()=>i}}getAvailableMessages(){let e=this.messageBuffer;this.messageBuffer=[];let i=this.isEndOfStream;return{getMessages:()=>e,isEndOfStream:()=>i}}encode({headers:e,body:i}){let n=this.headerMarshaller.format(e),t=n.byteLength+i.byteLength+16,a=new Uint8Array(t),r=new DataView(a.buffer,a.byteOffset,a.byteLength),o=new pf;return r.setUint32(0,t,!1),r.setUint32(4,n.byteLength,!1),r.setUint32(8,o.update(a.subarray(0,8)).digest(),!1),a.set(n,12),a.set(i,n.byteLength+12),r.setUint32(t-4,o.update(a.subarray(8,t-4)).digest(),!1),a}decode(e){let{headers:i,body:n}=splitMessage(e);return{headers:this.headerMarshaller.parse(i),body:n}}formatHeaders(e){return this.headerMarshaller.format(e)}}class pN{options;constructor(e){this.options=e}[Symbol.asyncIterator](){return this.asyncIterator()}async *asyncIterator(){for await(let e of this.options.messageStream){let i=await this.options.deserializer(e);void 0!==i&&(yield i)}}}class pP{options;constructor(e){this.options=e}[Symbol.asyncIterator](){return this.asyncIterator()}async *asyncIterator(){for await(let e of this.options.inputStream){let i=this.options.decoder.decode(e);yield i}}}class pZ{options;constructor(e){this.options=e}[Symbol.asyncIterator](){return this.asyncIterator()}async *asyncIterator(){for await(let e of this.options.messageStream){let i=this.options.encoder.encode(e);yield i}this.options.includeEndFrame&&(yield new Uint8Array(0))}}class pR{options;constructor(e){this.options=e}[Symbol.asyncIterator](){return this.asyncIterator()}async *asyncIterator(){for await(let e of this.options.inputStream){let i=this.options.serializer(e);yield i}}}function getChunkedStream(e){let i=0,n=0,t=null,a=null,allocateMessage=e=>{if("number"!=typeof e)throw Error("Attempted to allocate an event message where size was not a number: "+e);i=e,n=4,new DataView((t=new Uint8Array(e)).buffer).setUint32(0,e,!1)};return{[Symbol.asyncIterator]:async function*(){let r=e[Symbol.asyncIterator]();for(;;){let{value:e,done:o}=await r.next();if(o){if(i)if(i===n)yield t;else throw Error("Truncated event message received.");return}let u=e.length,s=0;for(;s<u;){if(!t){let i=u-s;a||(a=new Uint8Array(4));let t=Math.min(4-n,i);if(a.set(e.slice(s,s+t),n),n+=t,s+=t,n<4)break;allocateMessage(new DataView(a.buffer).getUint32(0,!1)),a=null}let r=Math.min(i-n,u-s);t.set(e.slice(s,s+r),n),n+=r,s+=r,i&&i===n&&(yield t,t=null,i=0,n=0)}}}}}function getMessageUnmarshaller(e,i){return async function(n){let{value:t}=n.headers[":message-type"];if("error"===t){let e=Error(n.headers[":error-message"].value||"UnknownError");throw e.name=n.headers[":error-code"].value,e}if("exception"===t){let t=n.headers[":exception-type"].value,a=await e({[t]:n});if(a.$unknown){let e=Error(i(n.body));throw e.name=t,e}throw a[t]}if("event"===t){let i={[n.headers[":event-type"].value]:n},t=await e(i);if(t.$unknown)return;return t}throw Error(`Unrecognizable event type: ${n.headers[":event-type"].value}`)}}class pM{eventStreamCodec;utfEncoder;constructor({utf8Encoder:e,utf8Decoder:i}){this.eventStreamCodec=new pA(e,i),this.utfEncoder=e}deserialize(e,i){return new pN({messageStream:new pP({inputStream:getChunkedStream(e),decoder:this.eventStreamCodec}),deserializer:getMessageUnmarshaller(i,this.utfEncoder)})}serialize(e,i){return new pZ({messageStream:new pR({inputStream:e,serializer:i}),encoder:this.eventStreamCodec,includeEndFrame:!0})}}async function*readabletoIterable(e){let i=!1,n=!1,t=[];for(e.on("error",e=>{if(i||(i=!0),e)throw e}),e.on("data",e=>{t.push(e)}),e.on("end",()=>{i=!0});!n;){let e=await new Promise(e=>setTimeout(()=>e(t.shift()),0));e&&(yield e),n=i&&0===t.length}}class pJ{universalMarshaller;constructor({utf8Encoder:e,utf8Decoder:i}){this.universalMarshaller=new pM({utf8Decoder:i,utf8Encoder:e})}deserialize(e,i){let n="function"==typeof e[Symbol.asyncIterator]?e:readabletoIterable(e);return this.universalMarshaller.deserialize(n,i)}serialize(e,i){return al.Readable.from(this.universalMarshaller.serialize(e,i))}}let eventStreamSerdeProvider=e=>new pJ(e);class pk{algorithmIdentifier;secret;hash;constructor(e,i){this.algorithmIdentifier=e,this.secret=i,this.reset()}update(e,i){this.hash.update(toUint8Array(castSourceData(e,i)))}digest(){return Promise.resolve(this.hash.digest())}reset(){this.hash=this.secret?(0,ao.createHmac)(this.algorithmIdentifier,castSourceData(this.secret)):(0,ao.createHash)(this.algorithmIdentifier)}}function castSourceData(e,i){return am.Buffer.isBuffer(e)?e:"string"==typeof e?fromString(e,i):ArrayBuffer.isView(e)?dist_es_fromArrayBuffer(e.buffer,e.byteOffset,e.byteLength):dist_es_fromArrayBuffer(e)}class pB extends al.Writable{hash;constructor(e,i){super(i),this.hash=e}_write(e,i,n){try{this.hash.update(toUint8Array(e))}catch(e){return n(e)}n()}}let readableStreamHasher=(e,i)=>{if(null!==i.readableFlowing)throw Error("Unable to calculate hash for flowing readable stream");let n=new e,t=new pB(n);return i.pipe(t),new Promise((e,a)=>{i.on("error",e=>{t.end(),a(e)}),t.on("error",a),t.on("finish",()=>{n.digest().then(e).catch(a)})})};function buildQueryString(e){let i=[];for(let n of Object.keys(e).sort()){let t=e[n];if(n=escapeUri(n),Array.isArray(t))for(let e=0,a=t.length;e<a;e++)i.push(`${n}=${escapeUri(t[e])}`);else{let e=n;(t||"string"==typeof t)&&(e+=`=${escapeUri(t)}`),i.push(e)}}return i.join("&")}let pH=["ECONNRESET","EPIPE","ETIMEDOUT"],pF=e=>clearTimeout(e),pX=3e3;async function writeRequestBody(e,i,n=6e3,t=!1){let a=i.headers??{},r=a.Expect||a.expect,o=-1,u=!0;t||"100-continue"!==r||(u=await Promise.race([new Promise(e=>{o=Number(setTimeout(()=>e(!0),Math.max(6e3,n)))}),new Promise(i=>{e.on("continue",()=>{pF(o),i(!0)}),e.on("response",()=>{pF(o),i(!1)}),e.on("error",()=>{pF(o),i(!1)})})])),u&&writeBody(e,i.body)}function writeBody(e,i){i instanceof al.Readable?i.pipe(e):i?Buffer.isBuffer(i)||"string"==typeof i?e.end(i):"object"==typeof i&&i.buffer&&"number"==typeof i.byteOffset&&"number"==typeof i.byteLength?e.end(Buffer.from(i.buffer,i.byteOffset,i.byteLength)):e.end(Buffer.from(i)):e.end()}class pI{config;configProvider;socketWarningTimestamp=0;externalAgent=!1;metadata={handlerProtocol:"http/1.1"};static create(e){return"function"==typeof e?.handle?e:new pI(e)}static checkSocketUsage(e,i,n=console){let{sockets:t,requests:a,maxSockets:r}=e;if("number"!=typeof r||r===1/0||Date.now()-15e3<i)return i;if(t&&a)for(let e in t){let i=t[e]?.length??0,o=a[e]?.length??0;if(i>=r&&o>=2*r)return n?.warn?.(`@smithy/node-http-handler:WARN - socket usage at capacity=${i} and ${o} additional requests are enqueued.
|
|
68
68
|
See https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/node-configuring-maxsockets.html
|
|
69
|
-
or increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler config.`),Date.now()}return i}constructor(e){this.configProvider=new Promise((i,n)=>{"function"==typeof e?e().then(e=>{i(this.resolveDefaultConfig(e))}).catch(n):i(this.resolveDefaultConfig(e))})}resolveDefaultConfig(e){let{requestTimeout:i,connectionTimeout:n,socketTimeout:t,socketAcquisitionWarningTimeout:a,httpAgent:r,httpsAgent:o,throwOnRequestTimeout:u}=e||{};return{connectionTimeout:n,requestTimeout:i,socketTimeout:t,socketAcquisitionWarningTimeout:a,throwOnRequestTimeout:u,httpAgent:r instanceof B||"function"==typeof r?.destroy?(this.externalAgent=!0,r):new B({keepAlive:!0,maxSockets:50,...r}),httpsAgent:o instanceof F||"function"==typeof o?.destroy?(this.externalAgent=!0,o):new F({keepAlive:!0,maxSockets:50,...o}),logger:console}}destroy(){this.config?.httpAgent?.destroy(),this.config?.httpsAgent?.destroy()}async handle(e,{abortSignal:i,requestTimeout:n}={}){return this.config||(this.config=await this.configProvider),new Promise((t,a)=>{let r,o,u=this.config,s=[],resolve=async e=>{await r,s.forEach(pB),t(e)},reject=async e=>{await r,s.forEach(pB),a(e)};if(i?.aborted){let e=Error("Request aborted");e.name="AbortError",reject(e);return}let l="https:"===e.protocol,h=e.headers??{},g=(h.Expect??h.expect)==="100-continue",c=l?u.httpsAgent:u.httpAgent;g&&!this.externalAgent&&(c=new(l?F:B)({keepAlive:!1,maxSockets:1/0})),s.push(setTimeout(()=>{this.socketWarningTimestamp=pF.checkSocketUsage(c,this.socketWarningTimestamp,u.logger)},u.socketAcquisitionWarningTimeout??(u.requestTimeout??2e3)+(u.connectionTimeout??1e3)));let d=buildQueryString(e.query||{});if(null!=e.username||null!=e.password){let i=e.username??"",n=e.password??"";o=`${i}:${n}`}let p=e.path;d&&(p+=`?${d}`),e.fragment&&(p+=`#${e.fragment}`);let f=e.hostname??"";f="["===f[0]&&f.endsWith("]")?e.hostname.slice(1,-1):e.hostname;let m={headers:e.headers,host:f,method:e.method,path:p,port:e.port,agent:c,auth:o},y=(l?X:H)(m,e=>{resolve({response:new tB({statusCode:e.statusCode||-1,reason:e.statusMessage,headers:(e=>{let i={};for(let n of Object.keys(e)){let t=e[n];i[n]=Array.isArray(t)?t.join(","):t}return i})(e.headers),body:e})})});if(y.on("error",e=>{pk.includes(e.code)?reject(Object.assign(e,{name:"TimeoutError"})):reject(e)}),i){let onAbort=()=>{y.destroy();let e=Error("Request aborted");e.name="AbortError",reject(e)};"function"==typeof i.addEventListener?(i.addEventListener("abort",onAbort,{once:!0}),y.once("close",()=>i.removeEventListener("abort",onAbort))):i.onabort=onAbort}let S=n??u.requestTimeout;s.push(((e,i,n=0)=>{if(!n)return -1;let registerTimeout=t=>{let a=setTimeout(()=>{e.destroy(),i(Object.assign(Error(`@smithy/node-http-handler - the request socket did not establish a connection with the server within the configured timeout of ${n} ms.`),{name:"TimeoutError"}))},n-t),doWithSocket=e=>{e?.connecting?e.on("connect",()=>{pB(a)}):pB(a)};e.socket?doWithSocket(e.socket):e.on("socket",doWithSocket)};return n<2e3?(registerTimeout(0),0):setTimeout(registerTimeout.bind(null,1e3),1e3)})(y,reject,u.connectionTimeout)),s.push(((e,i,n=0,t,a)=>n?setTimeout(()=>{let r=`@smithy/node-http-handler - [${t?"ERROR":"WARN"}] a request has exceeded the configured ${n} ms requestTimeout.`;if(t){let n=Object.assign(Error(r),{name:"TimeoutError",code:"ETIMEDOUT"});e.destroy(n),i(n)}else r+=" Init client requestHandler with throwOnRequestTimeout=true to turn this into an error.",a?.warn?.(r)},n):-1)(y,reject,S,u.throwOnRequestTimeout,u.logger??console)),s.push(((e,i,n=0)=>{let registerTimeout=t=>{let a=n-t,onTimeout=()=>{e.destroy(),i(Object.assign(Error(`@smithy/node-http-handler - the request socket timed out after ${n} ms of inactivity (configured by client requestHandler).`),{name:"TimeoutError"}))};e.socket?(e.socket.setTimeout(a,onTimeout),e.on("close",()=>e.socket?.removeListener("timeout",onTimeout))):e.setTimeout(a,onTimeout)};return 0<n&&n<6e3?(registerTimeout(0),0):setTimeout(registerTimeout.bind(null,3e3*(0!==n)),3e3)})(y,reject,u.socketTimeout));let b=m.agent;"object"==typeof b&&"keepAlive"in b&&s.push(((e,{keepAlive:i,keepAliveMsecs:n},t=pH)=>{if(!0!==i)return -1;let registerListener=()=>{e.socket?e.socket.setKeepAlive(i,n||0):e.on("socket",e=>{e.setKeepAlive(i,n||0)})};return 0===t?(registerListener(),0):setTimeout(registerListener,t)})(y,{keepAlive:b.keepAlive,keepAliveMsecs:b.keepAliveMsecs})),r=writeRequestBody(y,e,S,this.externalAgent).catch(e=>(s.forEach(pB),a(e)))})}updateHttpClientConfig(e,i){this.config=void 0,this.configProvider=this.configProvider.then(n=>({...n,[e]:i}))}httpHandlerConfigs(){return this.config??{}}}class pX extends au.Writable{bufferedBytes=[];_write(e,i,n){this.bufferedBytes.push(e),n()}}let streamCollector=e=>isReadableStreamInstance(e)?collectReadableStream(e):new Promise((i,n)=>{let t=new pX;e.pipe(t),e.on("error",e=>{t.end(),n(e)}),t.on("error",n),t.on("finish",function(){i(new Uint8Array(Buffer.concat(this.bufferedBytes)))})}),isReadableStreamInstance=e=>"function"==typeof ReadableStream&&e instanceof ReadableStream;async function collectReadableStream(e){let i=[],n=e.getReader(),t=!1,a=0;for(;!t;){let{done:e,value:r}=await n.read();r&&(i.push(r),a+=r.length),t=e}let r=new Uint8Array(a),o=0;for(let e of i)r.set(e,o),o+=e.length;return r}let pI=!1,emitWarningIfUnsupportedVersion_emitWarningIfUnsupportedVersion=e=>{e&&!pI&&16>parseInt(e.substring(1,e.indexOf(".")))&&(pI=!0)},loadConfigsForDefaultMode=e=>{switch(e){case"standard":case"cross-region":return{retryMode:"standard",connectionTimeout:3100};case"in-region":return{retryMode:"standard",connectionTimeout:1100};case"mobile":return{retryMode:"standard",connectionTimeout:3e4};default:return{}}},pO=E("node:fs"),calculateBodyLength=e=>{if(!e)return 0;if("string"==typeof e)return Buffer.byteLength(e);if("number"==typeof e.byteLength)return e.byteLength;if("number"==typeof e.size)return e.size;if("number"==typeof e.start&&"number"==typeof e.end)return e.end+1-e.start;if(e instanceof pO.ReadStream){if(null!=e.path)return(0,pO.lstatSync)(e.path).size;else if("number"==typeof e.fd)return(0,pO.fstatSync)(e.fd).size}throw Error(`Body Length computation failed for ${e}`)},pQ="AWS_REGION",pU="AWS_DEFAULT_REGION",pG=["in-region","cross-region","mobile","standard","legacy"],pq={environmentVariableSelector:e=>e.AWS_DEFAULTS_MODE,configFileSelector:e=>e.defaults_mode,default:"legacy"},resolveDefaultsModeConfig=({region:e=loadConfig(pu),defaultsMode:i=loadConfig(pq)}={})=>memoize(async()=>{let n="function"==typeof i?await i():i;switch(n?.toLowerCase()){case"auto":return resolveNodeDefaultsModeAuto(e);case"in-region":case"cross-region":case"mobile":case"standard":case"legacy":return Promise.resolve(n?.toLocaleLowerCase());case void 0:return Promise.resolve("legacy");default:throw Error(`Invalid parameter for "defaultsMode", expect ${pG.join(", ")}, got ${n}`)}}),resolveNodeDefaultsModeAuto=async e=>{if(e){let i="function"==typeof e?await e():e,n=await inferPhysicalRegion();return n?i===n?"in-region":"cross-region":"standard"}return"standard"},inferPhysicalRegion=async()=>{if(process.env.AWS_EXECUTION_ENV&&(process.env[pQ]||process.env[pU]))return process.env[pQ]??process.env[pU];if(!process.env.AWS_EC2_METADATA_DISABLED)try{let{getInstanceMetadataEndpoint:e,httpRequest:i}=await import("./1~398.mjs").then(e=>({getInstanceMetadataEndpoint:e.getInstanceMetadataEndpoint,httpRequest:e.httpRequest})),n=await e();return(await i({...n,path:"/latest/meta-data/placement/region"})).toString()}catch(e){}},getSkewCorrectedDate=e=>new Date(Date.now()+e),getDateHeader=e=>tB.isInstance(e)?e.headers?.date??e.headers?.Date:void 0,getUpdatedSystemClockOffset=(e,i)=>{let n=Date.parse(e);return Math.abs(getSkewCorrectedDate(i).getTime()-n)>=3e5?n-Date.now():i},throwSigningPropertyError=(e,i)=>{if(!i)throw Error(`Property \`${e}\` is not resolved for AWS SDK SigV4Auth`);return i},validateSigningProperties=async e=>{let i=throwSigningPropertyError("context",e.context),n=throwSigningPropertyError("config",e.config),t=i.endpointV2?.properties?.authSchemes?.[0],a=throwSigningPropertyError("signer",n.signer),r=await a(t),o=e?.signingRegion;return{config:n,signer:r,signingRegion:o,signingRegionSet:e?.signingRegionSet,signingName:e?.signingName}};class p${async sign(e,i,n){if(!n4.isInstance(e))throw Error("The request is not an instance of `HttpRequest` and cannot be signed");let t=await validateSigningProperties(n),{config:a,signer:r}=t,{signingRegion:o,signingName:u}=t,s=n.context;if(s?.authSchemes?.length){let[e,i]=s.authSchemes;e?.name==="sigv4a"&&i?.name==="sigv4"&&(o=i?.signingRegion??o,u=i?.signingName??u)}return await r.sign(e,{signingDate:getSkewCorrectedDate(a.systemClockOffset),signingRegion:o,signingService:u})}errorHandler(e){return i=>{let n=i.ServerTime??getDateHeader(i.$response);if(n){let t=throwSigningPropertyError("config",e.config),a=t.systemClockOffset;t.systemClockOffset=getUpdatedSystemClockOffset(n,t.systemClockOffset),t.systemClockOffset!==a&&i.$metadata&&(i.$metadata.clockSkewCorrected=!0)}throw i}}successHandler(e,i){let n=getDateHeader(e);if(n){let e=throwSigningPropertyError("config",i.config);e.systemClockOffset=getUpdatedSystemClockOffset(n,e.systemClockOffset)}}}class pK extends p${async sign(e,i,n){if(!n4.isInstance(e))throw Error("The request is not an instance of `HttpRequest` and cannot be signed");let{config:t,signer:a,signingRegion:r,signingRegionSet:o,signingName:u}=await validateSigningProperties(n),s=(await t.sigv4aSigningRegionSet?.()??o??[r]).join(",");return await a.sign(e,{signingDate:getSkewCorrectedDate(t.systemClockOffset),signingRegion:s,signingService:u})}}function splitEvery(e,i,n){if(n<=0||!Number.isInteger(n))throw Error("Invalid number of delimiters ("+n+") for splitEvery.");let t=e.split(i);if(1===n)return t;let a=[],r="";for(let e=0;e<t.length;e++)""===r?r=t[e]:r+=i+t[e],(e+1)%n==0&&(a.push(r),r="");return""!==r&&a.push(r),a}let splitHeader=e=>{let i,n=e.length,t=[],a=!1,r=0;for(let o=0;o<n;++o){let n=e[o];switch(n){case'"':"\\"!==i&&(a=!a);break;case",":a||(t.push(e.slice(r,o)),r=o+1)}i=n}return t.push(e.slice(r)),t.map(e=>{let i=(e=e.trim()).length;return i<2?e:('"'===e[0]&&'"'===e[i-1]&&(e=e.slice(1,i-1)),e.replace(/\\"/g,'"'))})},pz=/^[A-Za-z0-9+/]*={0,2}$/,fromBase64=e=>{if(3*e.length%4!=0)throw TypeError("Incorrect padding on base64 string.");if(!pz.exec(e))throw TypeError("Invalid base64 string.");let i=fromString(e,"base64");return new Uint8Array(i.buffer,i.byteOffset,i.byteLength)},stream_collector_streamCollector=async e=>"function"==typeof Blob&&e instanceof Blob||e.constructor?.name==="Blob"?void 0!==Blob.prototype.arrayBuffer?new Uint8Array(await e.arrayBuffer()):collectBlob(e):collectStream(e);async function collectBlob(e){return new Uint8Array(fromBase64(await readToBase64(e)))}async function collectStream(e){let i=[],n=e.getReader(),t=!1,a=0;for(;!t;){let{done:e,value:r}=await n.read();r&&(i.push(r),a+=r.length),t=e}let r=new Uint8Array(a),o=0;for(let e of i)r.set(e,o),o+=e.length;return r}function readToBase64(e){return new Promise((i,n)=>{let t=new FileReader;t.onloadend=()=>{if(2!==t.readyState)return n(Error("Reader aborted too early"));let e=t.result??"",a=e.indexOf(","),r=a>-1?a+1:e.length;i(e.substring(r))},t.onabort=()=>n(Error("Read aborted")),t.onerror=()=>n(t.error),t.readAsDataURL(e)})}let toBase64=e=>{let i;if("object"!=typeof(i="string"==typeof e?fromUtf8_fromUtf8(e):e)||"number"!=typeof i.byteOffset||"number"!=typeof i.byteLength)throw Error("@smithy/util-base64: toBase64 encoder function only accepts string | Uint8Array.");return dist_es_fromArrayBuffer(i.buffer,i.byteOffset,i.byteLength).toString("base64")},dist_es_toUtf8_toUtf8=e=>{if("string"==typeof e)return e;if("object"!=typeof e||"number"!=typeof e.byteOffset||"number"!=typeof e.byteLength)throw Error("@smithy/util-utf8: toUtf8 encoder function only accepts string | Uint8Array.");return dist_es_fromArrayBuffer(e.buffer,e.byteOffset,e.byteLength).toString("utf8")},pW="The stream has already been transformed.",isBlobInstance=e=>"function"==typeof Blob&&e instanceof Blob,pj="The stream has already been transformed.",sdk_stream_mixin_sdkStreamMixin=e=>{if(!(e instanceof au.Readable))try{if(!isBlobInstance(e)&&!isReadableStream(e)){let i=e?.__proto__?.constructor?.name||e;throw Error(`Unexpected stream implementation, expect Blob or ReadableStream, got ${i}`)}let i=!1,transformToByteArray=async()=>{if(i)throw Error(pW);return i=!0,await stream_collector_streamCollector(e)};return Object.assign(e,{transformToByteArray:transformToByteArray,transformToString:async e=>{let i=await transformToByteArray();if("base64"===e)return toBase64(i);if("hex"===e)return toHex(i);if(void 0===e||"utf8"===e||"utf-8"===e)return dist_es_toUtf8_toUtf8(i);if("function"==typeof TextDecoder)return new TextDecoder(e).decode(i);throw Error("TextDecoder is not available, please make sure polyfill is provided.")},transformToWebStream:()=>{if(i)throw Error(pW);if(i=!0,isBlobInstance(e)){if("function"!=typeof e.stream)throw Error("Cannot transform payload Blob to web stream. Please make sure the Blob.stream() is polyfilled.\nIf you are using React Native, this API is not yet supported, see: https://react-native.canny.io/feature-requests/p/fetch-streaming-body");return e.stream()}if(isReadableStream(e))return e;throw Error(`Cannot transform payload to web stream, got ${e}`)}})}catch(n){let i=e?.__proto__?.constructor?.name||e;throw Error(`Unexpected stream implementation, expect Stream.Readable instance, got ${i}`)}let i=!1,transformToByteArray=async()=>{if(i)throw Error(pj);return i=!0,await streamCollector(e)};return Object.assign(e,{transformToByteArray,transformToString:async e=>{let i=await transformToByteArray();return void 0===e||Buffer.isEncoding(e)?dist_es_fromArrayBuffer(i.buffer,i.byteOffset,i.byteLength).toString(e):new TextDecoder(e).decode(i)},transformToWebStream:()=>{if(i)throw Error(pj);if(null!==e.readableFlowing)throw Error("The stream has been consumed by other callbacks.");if("function"!=typeof au.Readable.toWeb)throw Error("Readable.toWeb() is not supported. Please ensure a polyfill is available.");return i=!0,au.Readable.toWeb(e)}})};class pV extends Uint8Array{static fromString(e,i="utf-8"){if("string"==typeof e)return"base64"===i?pV.mutate(fromBase64(e)):pV.mutate(fromUtf8_fromUtf8(e));throw Error(`Unsupported conversion from ${typeof e} to Uint8ArrayBlobAdapter.`)}static mutate(e){return Object.setPrototypeOf(e,pV.prototype),e}transformToString(e="utf-8"){return"base64"===e?toBase64(this):dist_es_toUtf8_toUtf8(this)}}let collect_stream_body_collectBody=async(e=new Uint8Array,i)=>{if(e instanceof Uint8Array)return pV.mutate(e);if(!e)return pV.mutate(new Uint8Array);let n=i.streamCollector(e);return pV.mutate(await n)};function extendedEncodeURIComponent(e){return encodeURIComponent(e).replace(/[!'()*]/g,function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})}class p0{serdeContext;setSerdeContext(e){this.serdeContext=e}}class p1 extends p0{options;constructor(e){super(),this.options=e}getRequestType(){return n4}getResponseType(){return tB}setSerdeContext(e){this.serdeContext=e,this.serializer.setSerdeContext(e),this.deserializer.setSerdeContext(e),this.getPayloadCodec()&&this.getPayloadCodec().setSerdeContext(e)}updateServiceEndpoint(e,i){if(!("url"in i))return e.protocol=i.protocol,e.hostname=i.hostname,e.port=i.port?Number(i.port):void 0,e.path=i.path,e.query={...i.query},e;for(let[n,t]of(e.protocol=i.url.protocol,e.hostname=i.url.hostname,e.port=i.url.port?Number(i.url.port):void 0,e.path=i.url.pathname,e.fragment=i.url.hash||void 0,e.username=i.url.username||void 0,e.password=i.url.password||void 0,e.query||(e.query={}),i.url.searchParams.entries()))e.query[n]=t;return e}setHostPrefix(e,i,n){let t=uX.of(i.input),a=translateTraits(i.traits??{});if(a.endpoint){let i=a.endpoint?.[0];if("string"==typeof i){for(let[e]of[...t.structIterator()].filter(([,e])=>e.getMergedTraits().hostLabel)){let t=n[e];if("string"!=typeof t)throw Error(`@smithy/core/schema - ${e} in input must be a string as hostLabel.`);i=i.replace(`{${e}}`,t)}e.hostname=i+e.hostname}}}deserializeMetadata(e){return{httpStatusCode:e.statusCode,requestId:e.headers["x-amzn-requestid"]??e.headers["x-amzn-request-id"]??e.headers["x-amz-request-id"],extendedRequestId:e.headers["x-amz-id-2"],cfId:e.headers["x-amz-cf-id"]}}async serializeEventStream({eventStream:e,requestSchema:i,initialRequest:n}){return(await this.loadEventStreamCapability()).serializeEventStream({eventStream:e,requestSchema:i,initialRequest:n})}async deserializeEventStream({response:e,responseSchema:i,initialResponseContainer:n}){return(await this.loadEventStreamCapability()).deserializeEventStream({response:e,responseSchema:i,initialResponseContainer:n})}async loadEventStreamCapability(){let{EventStreamSerde:e}=await import("./1~815.mjs").then(e=>({EventStreamSerde:e.EventStreamSerde}));return new e({marshaller:this.getEventStreamMarshaller(),serializer:this.serializer,deserializer:this.deserializer,serdeContext:this.serdeContext,defaultContentType:this.getDefaultContentType()})}getDefaultContentType(){throw Error(`@smithy/core/protocols - ${this.constructor.name} getDefaultContentType() implementation missing.`)}async deserializeHttpMessage(e,i,n,t,a){return[]}getEventStreamMarshaller(){let e=this.serdeContext;if(!e.eventStreamMarshaller)throw Error("@smithy/core - HttpProtocol: eventStreamMarshaller missing in serdeContext.");return e.eventStreamMarshaller}}class p3 extends p1{async serializeRequest(e,i,n){let t,a={...i??{}},r=this.serializer,o={},u={},s=await n.endpoint(),l=uX.of(e?.input),h=l.getSchema(),g=!1,c=new n4({protocol:"",hostname:"",port:void 0,path:"",fragment:void 0,query:o,headers:u,body:void 0});if(s){this.updateServiceEndpoint(c,s),this.setHostPrefix(c,e,a);let i=translateTraits(e.traits);if(i.http){c.method=i.http[0];let[e,n]=i.http[1].split("?");"/"==c.path?c.path=e:c.path+=e,Object.assign(o,Object.fromEntries(new URLSearchParams(n??"")))}}for(let[e,i]of l.structIterator()){let n=i.getMergedTraits()??{},s=a[e];if(null!=s||i.isIdempotencyToken())if(n.httpPayload)i.isStreaming()?i.isStructSchema()?a[e]&&(t=await this.serializeEventStream({eventStream:a[e],requestSchema:l})):t=s:(r.write(i,s),t=r.flush()),delete a[e];else if(n.httpLabel){r.write(i,s);let n=r.flush();c.path.includes(`{${e}+}`)?c.path=c.path.replace(`{${e}+}`,n.split("/").map(extendedEncodeURIComponent).join("/")):c.path.includes(`{${e}}`)&&(c.path=c.path.replace(`{${e}}`,extendedEncodeURIComponent(n))),delete a[e]}else if(n.httpHeader)r.write(i,s),u[n.httpHeader.toLowerCase()]=String(r.flush()),delete a[e];else if("string"==typeof n.httpPrefixHeaders){for(let[e,t]of Object.entries(s)){let a=n.httpPrefixHeaders+e;r.write([i.getValueSchema(),{httpHeader:a}],t),u[a.toLowerCase()]=r.flush()}delete a[e]}else n.httpQuery||n.httpQueryParams?(this.serializeQuery(i,s,o),delete a[e]):g=!0}return g&&a&&(r.write(h,a),t=r.flush()),c.headers=u,c.query=o,c.body=t,c}serializeQuery(e,i,n){let t=this.serializer,a=e.getMergedTraits();if(a.httpQueryParams){for(let[t,r]of Object.entries(i))if(!(t in n)){let i=e.getValueSchema();Object.assign(i.getMergedTraits(),{...a,httpQuery:t,httpQueryParams:void 0}),this.serializeQuery(i,r,n)}return}if(e.isListSchema()){let r=!!e.getMergedTraits().sparse,o=[];for(let n of i){t.write([e.getValueSchema(),a],n);let i=t.flush();(r||void 0!==i)&&o.push(i)}n[a.httpQuery]=o}else t.write([e,a],i),n[a.httpQuery]=t.flush()}async deserializeResponse(e,i,n){let t=this.deserializer,a=uX.of(e.output),r={};if(n.statusCode>=300){let a=await collect_stream_body_collectBody(n.body,i);throw a.byteLength>0&&Object.assign(r,await t.read(15,a)),await this.handleError(e,i,n,r,this.deserializeMetadata(n)),Error("@smithy/core/protocols - HTTP Protocol error handler failed to throw.")}for(let e in n.headers){let i=n.headers[e];delete n.headers[e],n.headers[e.toLowerCase()]=i}let o=await this.deserializeHttpMessage(a,i,n,r);if(o.length){let e=await collect_stream_body_collectBody(n.body,i);if(e.byteLength>0){let i=await t.read(a,e);for(let e of o)r[e]=i[e]}}else o.discardResponseBody&&await collect_stream_body_collectBody(n.body,i);return r.$metadata=this.deserializeMetadata(n),r}async deserializeHttpMessage(e,i,n,t,a){let r;r=t instanceof Set?a:t;let o=!0,u=this.deserializer,s=uX.of(e),l=[];for(let[e,t]of s.structIterator()){let a=t.getMemberTraits();if(a.httpPayload){if(o=!1,t.isStreaming())t.isStructSchema()?r[e]=await this.deserializeEventStream({response:n,responseSchema:s}):r[e]=sdk_stream_mixin_sdkStreamMixin(n.body);else if(n.body){let a=await collect_stream_body_collectBody(n.body,i);a.byteLength>0&&(r[e]=await u.read(t,a))}}else if(a.httpHeader){let i=String(a.httpHeader).toLowerCase(),o=n.headers[i];if(null!=o)if(t.isListSchema()){let n=t.getValueSchema();n.getMergedTraits().httpHeader=i;let a=[];for(let e of n.isTimestampSchema()&&4===n.getSchema()?splitEvery(o,",",2):splitHeader(o))a.push(await u.read(n,e.trim()));r[e]=a}else r[e]=await u.read(t,o)}else if(void 0!==a.httpPrefixHeaders){for(let[i,o]of(r[e]={},Object.entries(n.headers)))if(i.startsWith(a.httpPrefixHeaders)){let n=t.getValueSchema();n.getMergedTraits().httpHeader=i,r[e][i.slice(a.httpPrefixHeaders.length)]=await u.read(n,o)}}else a.httpResponseCode?r[e]=n.statusCode:l.push(e)}return l.discardResponseBody=o,l}}let expectNumber=e=>{if(null!=e){if("string"==typeof e){let i=parseFloat(e);if(!Number.isNaN(i))return String(i)!==String(e)&&p8.warn(stackTraceWarning(`Expected number but observed string: ${e}`)),i}if("number"==typeof e)return e;throw TypeError(`Expected number, got ${typeof e}: ${e}`)}},p2=Math.ceil(17014118346046923e22*(2-11920928955078125e-23)),expectFloat32=e=>{let i=expectNumber(e);if(void 0!==i&&!Number.isNaN(i)&&i!==1/0&&i!==-1/0&&Math.abs(i)>p2)throw TypeError(`Expected 32-bit float, got ${e}`);return i},expectSizedInt=(e,i)=>{let n=(e=>{if(null!=e){if(Number.isInteger(e)&&!Number.isNaN(e))return e;throw TypeError(`Expected integer, got ${typeof e}: ${e}`)}})(e);if(void 0!==n&&castInt(n,i)!==n)throw TypeError(`Expected ${i}-bit integer, got ${e}`);return n},castInt=(e,i)=>{switch(i){case 32:return Int32Array.of(e)[0];case 16:return Int16Array.of(e)[0];case 8:return Int8Array.of(e)[0]}},p4=/(-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?)|(-?Infinity)|(NaN)/g,parseNumber=e=>{let i=e.match(p4);if(null===i||i[0].length!==e.length)throw TypeError("Expected real number, got implicit NaN");return parseFloat(e)},strictParseShort=e=>"string"==typeof e?expectSizedInt(parseNumber(e),16):expectSizedInt(e,16),stackTraceWarning=e=>String(TypeError(e).stack||e).split("\n").slice(0,5).filter(e=>!e.includes("stackTraceWarning")).join("\n"),p8={warn:console.warn},p6=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],p5=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function dateToUtcString(e){let i=e.getUTCFullYear(),n=e.getUTCMonth(),t=e.getUTCDay(),a=e.getUTCDate(),r=e.getUTCHours(),o=e.getUTCMinutes(),u=e.getUTCSeconds(),s=a<10?`0${a}`:`${a}`,l=r<10?`0${r}`:`${r}`,h=o<10?`0${o}`:`${o}`,g=u<10?`0${u}`:`${u}`;return`${p6[t]}, ${s} ${p5[n]} ${i} ${l}:${h}:${g} GMT`}let p7=new RegExp(/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?[zZ]$/),parseRfc3339DateTime=e=>{if(null==e)return;if("string"!=typeof e)throw TypeError("RFC-3339 date-times must be expressed as strings");let i=p7.exec(e);if(!i)throw TypeError("Invalid RFC-3339 date-time value");let[n,t,a,r,o,u,s,l]=i;return buildDate(strictParseShort(stripLeadingZeroes(t)),parseDateValue(a,"month",1,12),parseDateValue(r,"day",1,31),{hours:o,minutes:u,seconds:s,fractionalMilliseconds:l})},p9=new RegExp(/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?(([-+]\d{2}\:\d{2})|[zZ])$/),parseRfc3339DateTimeWithOffset=e=>{if(null==e)return;if("string"!=typeof e)throw TypeError("RFC-3339 date-times must be expressed as strings");let i=p9.exec(e);if(!i)throw TypeError("Invalid RFC-3339 date-time value");let[n,t,a,r,o,u,s,l,h]=i,g=buildDate(strictParseShort(stripLeadingZeroes(t)),parseDateValue(a,"month",1,12),parseDateValue(r,"day",1,31),{hours:o,minutes:u,seconds:s,fractionalMilliseconds:l});return"Z"!=h.toUpperCase()&&g.setTime(g.getTime()-parseOffsetToMilliseconds(h)),g},fe=new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d{2}) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d{1,2}):(\d{2}):(\d{2})(?:\.(\d+))? GMT$/),fi=new RegExp(/^(?:Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d{2})-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d{2}) (\d{1,2}):(\d{2}):(\d{2})(?:\.(\d+))? GMT$/),ft=new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( [1-9]|\d{2}) (\d{1,2}):(\d{2}):(\d{2})(?:\.(\d+))? (\d{4})$/),parseRfc7231DateTime=e=>{if(null==e)return;if("string"!=typeof e)throw TypeError("RFC-7231 date-times must be expressed as strings");let i=fe.exec(e);if(i){let[e,n,t,a,r,o,u,s]=i;return buildDate(strictParseShort(stripLeadingZeroes(a)),parseMonthByShortName(t),parseDateValue(n,"day",1,31),{hours:r,minutes:o,seconds:u,fractionalMilliseconds:s})}if(i=fi.exec(e)){let[e,n,t,a,r,o,u,s]=i;return adjustRfc850Year(buildDate(parseTwoDigitYear(a),parseMonthByShortName(t),parseDateValue(n,"day",1,31),{hours:r,minutes:o,seconds:u,fractionalMilliseconds:s}))}if(i=ft.exec(e)){let[e,n,t,a,r,o,u,s]=i;return buildDate(strictParseShort(stripLeadingZeroes(s)),parseMonthByShortName(n),parseDateValue(t.trimLeft(),"day",1,31),{hours:a,minutes:r,seconds:o,fractionalMilliseconds:u})}throw TypeError("Invalid RFC-7231 date-time value")},parseEpochTimestamp=e=>{let i;if(null!=e){if("number"==typeof e)i=e;else if("string"==typeof e)i="string"==typeof e?expectNumber(parseNumber(e)):expectNumber(e);else if("object"==typeof e&&1===e.tag)i=e.value;else throw TypeError("Epoch timestamps must be expressed as floating point numbers or their string representation");if(Number.isNaN(i)||i===1/0||i===-1/0)throw TypeError("Epoch timestamps must be valid, non-Infinite, non-NaN numerics");return new Date(Math.round(1e3*i))}},buildDate=(e,i,n,t)=>{let a=i-1;return validateDayOfMonth(e,a,n),new Date(Date.UTC(e,a,n,parseDateValue(t.hours,"hour",0,23),parseDateValue(t.minutes,"minute",0,59),parseDateValue(t.seconds,"seconds",0,60),parseMilliseconds(t.fractionalMilliseconds)))},parseTwoDigitYear=e=>{let i=new Date().getUTCFullYear(),n=100*Math.floor(i/100)+strictParseShort(stripLeadingZeroes(e));return n<i?n+100:n},adjustRfc850Year=e=>e.getTime()-new Date().getTime()>15768e8?new Date(Date.UTC(e.getUTCFullYear()-100,e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds())):e,parseMonthByShortName=e=>{let i=p5.indexOf(e);if(i<0)throw TypeError(`Invalid month: ${e}`);return i+1},fa=[31,28,31,30,31,30,31,31,30,31,30,31],validateDayOfMonth=(e,i,n)=>{let t=fa[i];if(1===i&&isLeapYear(e)&&(t=29),n>t)throw TypeError(`Invalid day for ${p5[i]} in ${e}: ${n}`)},isLeapYear=e=>e%4==0&&(e%100!=0||e%400==0),parseDateValue=(e,i,n,t)=>{var a;let r="string"==typeof(a=stripLeadingZeroes(e))?expectSizedInt(parseNumber(a),8):expectSizedInt(a,8);if(r<n||r>t)throw TypeError(`${i} must be between ${n} and ${t}, inclusive`);return r},parseMilliseconds=e=>{var i;return null==e?0:1e3*("string"==typeof(i="0."+e)?expectFloat32(parseNumber(i)):expectFloat32(i))},parseOffsetToMilliseconds=e=>{let i=e[0],n=1;if("+"==i)n=1;else if("-"==i)n=-1;else throw TypeError(`Offset direction, ${i}, must be "+" or "-"`);return n*(60*Number(e.substring(1,3))+Number(e.substring(4,6)))*6e4},stripLeadingZeroes=e=>{let i=0;for(;i<e.length-1&&"0"===e.charAt(i);)i++;return 0===i?e:e.slice(i)};function quoteHeader(e){return(e.includes(",")||e.includes('"'))&&(e=`"${e.replace(/"/g,'\\"')}"`),e}let lazy_json_LazyJsonString=function(e){return Object.assign(new String(e),{deserializeJSON:()=>JSON.parse(String(e)),toString:()=>String(e),toJSON:()=>String(e)})};function determineTimestampFormat(e,i){if(i.timestampFormat.useTrait&&e.isTimestampSchema()&&(5===e.getSchema()||6===e.getSchema()||7===e.getSchema()))return e.getSchema();let{httpLabel:n,httpPrefixHeaders:t,httpHeader:a,httpQuery:r}=e.getMergedTraits();return(i.httpBindings?"string"==typeof t||a?6:r||n?5:void 0:void 0)??i.timestampFormat.default}lazy_json_LazyJsonString.from=e=>e&&"object"==typeof e&&(e instanceof lazy_json_LazyJsonString||"deserializeJSON"in e)?e:"string"==typeof e||Object.getPrototypeOf(e)===String.prototype?lazy_json_LazyJsonString(String(e)):lazy_json_LazyJsonString(JSON.stringify(e)),lazy_json_LazyJsonString.fromObject=lazy_json_LazyJsonString.from;class fr extends p0{settings;stringBuffer="";constructor(e){super(),this.settings=e}write(e,i){let n=uX.of(e);switch(typeof i){case"object":if(null===i){this.stringBuffer="null";return}if(n.isTimestampSchema()){if(!(i instanceof Date))throw Error(`@smithy/core/protocols - received non-Date value ${i} when schema expected Date in ${n.getName(!0)}`);switch(determineTimestampFormat(n,this.settings)){case 5:this.stringBuffer=i.toISOString().replace(".000Z","Z");break;case 6:this.stringBuffer=dateToUtcString(i);break;case 7:this.stringBuffer=String(i.getTime()/1e3);break;default:console.warn("Missing timestamp format, using epoch seconds",i),this.stringBuffer=String(i.getTime()/1e3)}return}if(n.isBlobSchema()&&"byteLength"in i){this.stringBuffer=(this.serdeContext?.base64Encoder??toBase64)(i);return}if(n.isListSchema()&&Array.isArray(i)){let e="";for(let t of i){this.write([n.getValueSchema(),n.getMergedTraits()],t);let i=this.flush();""!==e&&(e+=", "),e+=n.getValueSchema().isTimestampSchema()?i:quoteHeader(i)}this.stringBuffer=e;return}this.stringBuffer=JSON.stringify(i,null,2);break;case"string":let t=n.getMergedTraits().mediaType,a=i;if(t&&(("application/json"===t||t.endsWith("+json"))&&(a=lazy_json_LazyJsonString.from(a)),n.getMergedTraits().httpHeader)){this.stringBuffer=(this.serdeContext?.base64Encoder??toBase64)(a.toString());return}this.stringBuffer=i;break;default:n.isIdempotencyToken()?this.stringBuffer=v4():this.stringBuffer=String(i)}}flush(){let e=this.stringBuffer;return this.stringBuffer="",e}}class fo{codecSerializer;stringSerializer;buffer;constructor(e,i,n=new fr(i)){this.codecSerializer=e,this.stringSerializer=n}setSerdeContext(e){this.codecSerializer.setSerdeContext(e),this.stringSerializer.setSerdeContext(e)}write(e,i){let n=uX.of(e),t=n.getMergedTraits();if(t.httpHeader||t.httpLabel||t.httpQuery){this.stringSerializer.write(n,i),this.buffer=this.stringSerializer.flush();return}return this.codecSerializer.write(n,i)}flush(){if(void 0!==this.buffer){let e=this.buffer;return this.buffer=void 0,e}return this.codecSerializer.flush()}}let fu="(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun)(?:[ne|u?r]?s?day)?",fs="(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)",fl="(\\d?\\d):(\\d{2}):(\\d{2})(?:\\.(\\d+))?",fh="(\\d?\\d)",fg="(\\d{4})",fc=new RegExp(/^(\d{4})-(\d\d)-(\d\d)[tT](\d\d):(\d\d):(\d\d)(\.(\d+))?(([-+]\d\d:\d\d)|[zZ])$/),fd=RegExp(`^${fu}, ${fh} ${fs} ${fg} ${fl} GMT$`),fp=RegExp(`^${fu}, ${fh}-${fs}-(\\d\\d) ${fl} GMT$`),ff=RegExp(`^${fu} ${fs} ( [1-9]|\\d\\d) ${fl} ${fg}$`),fm=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function schema_date_utils_range(e,i,n){let t=Number(e);if(t<i||t>n)throw Error(`Value ${t} out of range [${i}, ${n}]`)}let fy=/^-?\d*(\.\d+)?$/;class fS{string;type;constructor(e,i){if(this.string=e,this.type=i,!fy.test(e))throw Error('@smithy/core/serde - NumericValue must only contain [0-9], at most one decimal point ".", and an optional negation prefix "-".')}toString(){return this.string}static[Symbol.hasInstance](e){return!!e&&"object"==typeof e&&(fS.prototype.isPrototypeOf(e)||"bigDecimal"===e.type&&fy.test(e.string))}}class fb extends p0{settings;constructor(e){super(),this.settings=e}read(e,i){let n=uX.of(e);if(n.isListSchema())return splitHeader(i).map(e=>this.read(n.getValueSchema(),e));if(n.isBlobSchema())return(this.serdeContext?.base64Decoder??fromBase64)(i);if(n.isTimestampSchema())switch(determineTimestampFormat(n,this.settings)){case 5:return(e=>{if(null==e)return;if("string"!=typeof e)throw TypeError("RFC3339 timestamps must be strings");let i=fc.exec(e);if(!i)throw TypeError(`Invalid RFC3339 timestamp format ${e}`);let[,n,t,a,r,o,u,,s,l]=i;schema_date_utils_range(t,1,12),schema_date_utils_range(a,1,31),schema_date_utils_range(r,0,23),schema_date_utils_range(o,0,59),schema_date_utils_range(u,0,60);let h=new Date(Date.UTC(Number(n),Number(t)-1,Number(a),Number(r),Number(o),Number(u),Number(s)?Math.round(1e3*parseFloat(`0.${s}`)):0));if(h.setUTCFullYear(Number(n)),"Z"!=l.toUpperCase()){let[,e,i,n]=/([+-])(\d\d):(\d\d)/.exec(l)||[void 0,"+",0,0];h.setTime(h.getTime()+("-"===e?1:-1)*(60*Number(i)*6e4+60*Number(n)*1e3))}return h})(i);case 6:return(e=>{let i,n,t,a,r,o,u,s;if(null!=e){if("string"!=typeof e)throw TypeError("RFC7231 timestamps must be strings.");if((s=fd.exec(e))?[,i,n,t,a,r,o,u]=s:(s=fp.exec(e))?([,i,n,t,a,r,o,u]=s,t=(Number(t)+1900).toString()):(s=ff.exec(e))&&([,n,i,a,r,o,u,t]=s),t&&o){let e=Date.UTC(Number(t),fm.indexOf(n),Number(i),Number(a),Number(r),Number(o),u?Math.round(1e3*parseFloat(`0.${u}`)):0);schema_date_utils_range(i,1,31),schema_date_utils_range(a,0,23),schema_date_utils_range(r,0,59),schema_date_utils_range(o,0,60);let s=new Date(e);return s.setUTCFullYear(Number(t)),s}throw TypeError(`Invalid RFC7231 date-time value ${e}.`)}})(i);case 7:if(null==i)return;let t=NaN;if("number"==typeof i)t=i;else if("string"==typeof i){if(!/^-?\d*\.?\d+$/.test(i))throw TypeError("parseEpochTimestamp - numeric string invalid.");t=Number.parseFloat(i)}else"object"==typeof i&&1===i.tag&&(t=i.value);if(isNaN(t)||Math.abs(t)===1/0)throw TypeError("Epoch timestamps must be valid finite numbers.");return new Date(Math.round(1e3*t));default:return console.warn("Missing timestamp format, parsing value with Date constructor:",i),new Date(i)}if(n.isStringSchema()){let e=n.getMergedTraits().mediaType,t=i;if(e)return n.getMergedTraits().httpHeader&&(t=this.base64ToUtf8(t)),("application/json"===e||e.endsWith("+json"))&&(t=lazy_json_LazyJsonString.from(t)),t}return n.isNumericSchema()?Number(i):n.isBigIntegerSchema()?BigInt(i):n.isBigDecimalSchema()?new fS(i,"bigDecimal"):n.isBooleanSchema()?"true"===String(i).toLowerCase():i}base64ToUtf8(e){return(this.serdeContext?.utf8Encoder??dist_es_toUtf8_toUtf8)((this.serdeContext?.base64Decoder??fromBase64)(e))}}class fC extends p0{codecDeserializer;stringDeserializer;constructor(e,i){super(),this.codecDeserializer=e,this.stringDeserializer=new fb(i)}setSerdeContext(e){this.stringDeserializer.setSerdeContext(e),this.codecDeserializer.setSerdeContext(e),this.serdeContext=e}read(e,i){let n=uX.of(e),t=n.getMergedTraits(),a=this.serdeContext?.utf8Encoder??dist_es_toUtf8_toUtf8;if(t.httpHeader||t.httpResponseCode)return this.stringDeserializer.read(n,a(i));if(t.httpPayload){if(n.isBlobSchema()){let e=this.serdeContext?.utf8Decoder??fromUtf8_fromUtf8;return"string"==typeof i?e(i):i}else if(n.isStringSchema())return"byteLength"in i?a(i):i}return this.codecDeserializer.read(n,i)}}class fw{queryCompat;constructor(e=!1){this.queryCompat=e}resolveRestContentType(e,i){let n=i.getMemberSchemas(),t=Object.values(n).find(e=>!!e.getMergedTraits().httpPayload);if(t){let i=t.getMergedTraits().mediaType;return i?i:t.isStringSchema()?"text/plain":t.isBlobSchema()?"application/octet-stream":e}if(!i.isUnitSchema()&&Object.values(n).find(e=>{let{httpQuery:i,httpQueryParams:n,httpHeader:t,httpLabel:a,httpPrefixHeaders:r}=e.getMergedTraits();return!i&&!n&&!t&&!a&&void 0===r}))return e}async getErrorSchemaOrThrowBaseException(e,i,n,t,a,r){let o=i,u=e;e.includes("#")&&([o,u]=e.split("#"));let s={$metadata:a,$fault:n.statusCode<500?"client":"server"},l=uG.for(o);try{return{errorSchema:r?.(l,u)??l.getSchema(e),errorMetadata:s}}catch(n){t.message=t.message??t.Message??"UnknownError";let e=uG.for("smithy.ts.sdk.synthetic."+o),i=e.getBaseException();if(i){let n=e.getErrorCtor(i)??Error;throw this.decorateServiceException(Object.assign(new n({name:u}),s),t)}throw this.decorateServiceException(Object.assign(Error(u),s),t)}}decorateServiceException(e,i={}){if(this.queryCompat){let n=e.Message??i.Message,t=decorateServiceException(e,i);n&&(t.message=n),t.Error={...t.Error,Type:t.Error.Type,Code:t.Error.Code,Message:t.Error.message??t.Error.Message??n};let a=t.$metadata.requestId;return a&&(t.RequestId=a),t}return decorateServiceException(e,i)}setQueryCompatError(e,i){let n=i.headers?.["x-amzn-query-error"];if(void 0!==e&&null!=n){let[i,t]=n.split(";"),a=Object.entries(e),r={Code:i,Type:t};for(let[i,n]of(Object.assign(e,r),a))r["message"===i?"Message":i]=n;delete r.__type,e.Error=r}}queryCompatOutput(e,i){e.Error&&(i.Error=e.Error),e.Type&&(i.Type=e.Type),e.Code&&(i.Code=e.Code)}findQueryCompatibleError(e,i){try{return e.getSchema(i)}catch(n){return e.find(e=>uX.of(e).getMergedTraits().awsQueryError?.[0]===i)}}}class fT{serdeContext;setSerdeContext(e){this.serdeContext=e}}let fx={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(e,i){return i},attributeValueProcessor:function(e,i){return i},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(e,i,n){return e},captureMetaData:!1},fL=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",fE=RegExp("^"+("["+fL+"]["+fL)+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$");function getAllMatches(e,i){let n=[],t=i.exec(e);for(;t;){let a=[];a.startIndex=i.lastIndex-t[0].length;let r=t.length;for(let e=0;e<r;e++)a.push(t[e]);n.push(a),t=i.exec(e)}return n}let isName=function(e){return null!=fE.exec(e)};function isExist(e){return void 0!==e}n="function"!=typeof Symbol?"@@xmlMetadata":Symbol("XML Node Metadata");class f_{constructor(e){this.tagname=e,this.child=[],this[":@"]={}}add(e,i){"__proto__"===e&&(e="#__proto__"),this.child.push({[e]:i})}addChild(e,i){"__proto__"===e.tagname&&(e.tagname="#__proto__"),e[":@"]&&Object.keys(e[":@"]).length>0?this.child.push({[e.tagname]:e.child,":@":e[":@"]}):this.child.push({[e.tagname]:e.child}),void 0!==i&&(this.child[this.child.length-1][n]={startIndex:i})}static getMetaDataSymbol(){return n}}function readDocType(e,i){let n={};if("O"===e[i+3]&&"C"===e[i+4]&&"T"===e[i+5]&&"Y"===e[i+6]&&"P"===e[i+7]&&"E"===e[i+8]){i+=9;let t=1,a=!1,r=!1;for(;i<e.length;i++)if("<"!==e[i]||r)if(">"===e[i]){if(r?"-"===e[i-1]&&"-"===e[i-2]&&(r=!1,t--):t--,0===t)break}else"["===e[i]?a=!0:e[i];else{if(a&&hasSeq(e,"!ENTITY",i)){let t,a;i+=7,[t,a,i]=readEntityExp(e,i+1),-1===a.indexOf("&")&&(n[t]={regx:RegExp(`&${t};`,"g"),val:a})}else if(a&&hasSeq(e,"!ELEMENT",i)){let{index:n}=readElementExp(e,(i+=8)+1);i=n}else if(a&&hasSeq(e,"!ATTLIST",i))i+=8;else if(a&&hasSeq(e,"!NOTATION",i)){let{index:n}=readNotationExp(e,(i+=9)+1);i=n}else if(hasSeq(e,"!--",i))r=!0;else throw Error("Invalid DOCTYPE");t++}if(0!==t)throw Error("Unclosed DOCTYPE")}else throw Error("Invalid Tag instead of DOCTYPE");return{entities:n,i}}let skipWhitespace=(e,i)=>{for(;i<e.length&&/\s/.test(e[i]);)i++;return i};function readEntityExp(e,i){i=skipWhitespace(e,i);let n="";for(;i<e.length&&!/\s/.test(e[i])&&'"'!==e[i]&&"'"!==e[i];)n+=e[i],i++;if(validateEntityName(n),i=skipWhitespace(e,i),"SYSTEM"===e.substring(i,i+6).toUpperCase())throw Error("External entities are not supported");if("%"===e[i])throw Error("Parameter entities are not supported");let t="";return[i,t]=readIdentifierVal(e,i,"entity"),[n,t,--i]}function readNotationExp(e,i){i=skipWhitespace(e,i);let n="";for(;i<e.length&&!/\s/.test(e[i]);)n+=e[i],i++;validateEntityName(n),i=skipWhitespace(e,i);let t=e.substring(i,i+6).toUpperCase();if("SYSTEM"!==t&&"PUBLIC"!==t)throw Error(`Expected SYSTEM or PUBLIC, found "${t}"`);i+=t.length,i=skipWhitespace(e,i);let a=null,r=null;if("PUBLIC"===t)[i,a]=readIdentifierVal(e,i,"publicIdentifier"),i=skipWhitespace(e,i),('"'===e[i]||"'"===e[i])&&([i,r]=readIdentifierVal(e,i,"systemIdentifier"));else if("SYSTEM"===t&&([i,r]=readIdentifierVal(e,i,"systemIdentifier"),!r))throw Error("Missing mandatory system identifier for SYSTEM notation");return{notationName:n,publicIdentifier:a,systemIdentifier:r,index:--i}}function readIdentifierVal(e,i,n){let t="",a=e[i];if('"'!==a&&"'"!==a)throw Error(`Expected quoted string, found "${a}"`);for(i++;i<e.length&&e[i]!==a;)t+=e[i],i++;if(e[i]!==a)throw Error(`Unterminated ${n} value`);return[++i,t]}function readElementExp(e,i){i=skipWhitespace(e,i);let n="";for(;i<e.length&&!/\s/.test(e[i]);)n+=e[i],i++;if(!validateEntityName(n))throw Error(`Invalid element name: "${n}"`);i=skipWhitespace(e,i);let t="";if("E"===e[i]&&hasSeq(e,"MPTY",i))i+=4;else if("A"===e[i]&&hasSeq(e,"NY",i))i+=2;else if("("===e[i]){for(i++;i<e.length&&")"!==e[i];)t+=e[i],i++;if(")"!==e[i])throw Error("Unterminated content model")}else throw Error(`Invalid Element Expression, found "${e[i]}"`);return{elementName:n,contentModel:t.trim(),index:i}}function hasSeq(e,i,n){for(let t=0;t<i.length;t++)if(i[t]!==e[n+t+1])return!1;return!0}function validateEntityName(e){if(isName(e))return e;throw Error(`Invalid entity name ${e}`)}let fY=/^[-+]?0x[a-fA-F0-9]+$/,fD=/^([\-\+])?(0*)([0-9]*(\.[0-9]*)?)$/,fv={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function toNumber(e,i={}){if(i=Object.assign({},fv,i),!e||"string"!=typeof e)return e;let n=e.trim();if(void 0!==i.skipLike&&i.skipLike.test(n))return e;{if("0"===e)return 0;if(i.hex&&fY.test(n))return parse_int(n,16);if(n.includes("e")||n.includes("E"))return resolveEnotation(e,n,i);let t=fD.exec(n);if(!t)return e;{let a=t[1]||"",r=t[2],o=trimZeros(t[3]),u=a?"."===e[r.length+1]:"."===e[r.length];if(!i.leadingZeros&&(r.length>1||1===r.length&&!u))return e;{let t=Number(n),u=String(t);if(0===t)return t;if(-1!==u.search(/[eE]/))if(i.eNotation)return t;else return e;if(-1!==n.indexOf("."))if("0"===u)return t;else if(u===o)return t;else if(u===`${a}${o}`)return t;else return e;let s=r?o:n;return r?s===u||a+s===u?t:e:s===u||s===a+u?t:e}}}}let fA=/^([-+])?(0*)(\d*(\.\d*)?[eE][-\+]?\d+)$/;function resolveEnotation(e,i,n){if(!n.eNotation)return e;let t=i.match(fA);if(!t)return e;{let a=t[1]||"",r=-1===t[3].indexOf("e")?"E":"e",o=t[2],u=a?e[o.length+1]===r:e[o.length]===r;return o.length>1&&u?e:1===o.length&&(t[3].startsWith(`.${r}`)||t[3][0]===r)?Number(i):n.leadingZeros&&!u?Number(i=(t[1]||"")+t[3]):e}}function trimZeros(e){return e&&-1!==e.indexOf(".")&&("."===(e=e.replace(/0+$/,""))?e="0":"."===e[0]?e="0"+e:"."===e[e.length-1]&&(e=e.substring(0,e.length-1))),e}function parse_int(e,i){if(parseInt)return parseInt(e,i);if(Number.parseInt)return Number.parseInt(e,i);if(window&&window.parseInt)return window.parseInt(e,i);throw Error("parseInt, Number.parseInt, window.parseInt are not supported")}function getIgnoreAttributesFn(e){return"function"==typeof e?e:Array.isArray(e)?i=>{for(let n of e)if("string"==typeof n&&i===n||n instanceof RegExp&&n.test(i))return!0}:()=>!1}class fN{constructor(e){this.options=e,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"\xa2"},pound:{regex:/&(pound|#163);/g,val:"\xa3"},yen:{regex:/&(yen|#165);/g,val:"\xa5"},euro:{regex:/&(euro|#8364);/g,val:"€"},copyright:{regex:/&(copy|#169);/g,val:"\xa9"},reg:{regex:/&(reg|#174);/g,val:"\xae"},inr:{regex:/&(inr|#8377);/g,val:"₹"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(e,i)=>String.fromCodePoint(Number.parseInt(i,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(e,i)=>String.fromCodePoint(Number.parseInt(i,16))}},this.addExternalEntities=addExternalEntities,this.parseXml=parseXml,this.parseTextData=parseTextData,this.resolveNameSpace=resolveNameSpace,this.buildAttributesMap=buildAttributesMap,this.isItStopNode=isItStopNode,this.replaceEntitiesValue=replaceEntitiesValue,this.readStopNodeData=readStopNodeData,this.saveTextToParentTag=saveTextToParentTag,this.addChild=addChild,this.ignoreAttributesFn=getIgnoreAttributesFn(this.options.ignoreAttributes)}}function addExternalEntities(e){let i=Object.keys(e);for(let n=0;n<i.length;n++){let t=i[n];this.lastEntities[t]={regex:RegExp("&"+t+";","g"),val:e[t]}}}function parseTextData(e,i,n,t,a,r,o){if(void 0!==e&&(this.options.trimValues&&!t&&(e=e.trim()),e.length>0)){o||(e=this.replaceEntitiesValue(e));let t=this.options.tagValueProcessor(i,e,n,a,r);return null==t?e:typeof t!=typeof e||t!==e?t:this.options.trimValues||e.trim()===e?parseValue(e,this.options.parseTagValue,this.options.numberParseOptions):e}}function resolveNameSpace(e){if(this.options.removeNSPrefix){let i=e.split(":"),n="/"===e.charAt(0)?"/":"";if("xmlns"===i[0])return"";2===i.length&&(e=n+i[1])}return e}let fP=RegExp("([^\\s=]+)\\s*(=\\s*(['\"])([\\s\\S]*?)\\3)?","gm");function buildAttributesMap(e,i,n){if(!0!==this.options.ignoreAttributes&&"string"==typeof e){let n=getAllMatches(e,fP),t=n.length,a={};for(let e=0;e<t;e++){let t=this.resolveNameSpace(n[e][1]);if(this.ignoreAttributesFn(t,i))continue;let r=n[e][4],o=this.options.attributeNamePrefix+t;if(t.length)if(this.options.transformAttributeName&&(o=this.options.transformAttributeName(o)),"__proto__"===o&&(o="#__proto__"),void 0!==r){this.options.trimValues&&(r=r.trim()),r=this.replaceEntitiesValue(r);let e=this.options.attributeValueProcessor(t,r,i);null==e?a[o]=r:typeof e!=typeof r||e!==r?a[o]=e:a[o]=parseValue(r,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(a[o]=!0)}if(Object.keys(a).length){if(this.options.attributesGroupName){let e={};return e[this.options.attributesGroupName]=a,e}return a}}}let parseXml=function(e){e=e.replace(/\r\n?/g,"\n");let i=new f_("!xml"),n=i,t="",a="";for(let r=0;r<e.length;r++)if("<"===e[r])if("/"===e[r+1]){let i=findClosingIndex(e,">",r,"Closing Tag is not closed."),o=e.substring(r+2,i).trim();if(this.options.removeNSPrefix){let e=o.indexOf(":");-1!==e&&(o=o.substr(e+1))}this.options.transformTagName&&(o=this.options.transformTagName(o)),n&&(t=this.saveTextToParentTag(t,n,a));let u=a.substring(a.lastIndexOf(".")+1);if(o&&-1!==this.options.unpairedTags.indexOf(o))throw Error(`Unpaired tag can not be used as closing tag: </${o}>`);let s=0;u&&-1!==this.options.unpairedTags.indexOf(u)?(s=a.lastIndexOf(".",a.lastIndexOf(".")-1),this.tagsNodeStack.pop()):s=a.lastIndexOf("."),a=a.substring(0,s),n=this.tagsNodeStack.pop(),t="",r=i}else if("?"===e[r+1]){let i=readTagExp(e,r,!1,"?>");if(!i)throw Error("Pi Tag is not closed.");if(t=this.saveTextToParentTag(t,n,a),this.options.ignoreDeclaration&&"?xml"===i.tagName||this.options.ignorePiTags);else{let e=new f_(i.tagName);e.add(this.options.textNodeName,""),i.tagName!==i.tagExp&&i.attrExpPresent&&(e[":@"]=this.buildAttributesMap(i.tagExp,a,i.tagName)),this.addChild(n,e,a,r)}r=i.closeIndex+1}else if("!--"===e.substr(r+1,3)){let i=findClosingIndex(e,"--\x3e",r+4,"Comment is not closed.");if(this.options.commentPropName){let o=e.substring(r+4,i-2);t=this.saveTextToParentTag(t,n,a),n.add(this.options.commentPropName,[{[this.options.textNodeName]:o}])}r=i}else if("!D"===e.substr(r+1,2)){let i=readDocType(e,r);this.docTypeEntities=i.entities,r=i.i}else if("!["===e.substr(r+1,2)){let i=findClosingIndex(e,"]]>",r,"CDATA is not closed.")-2,o=e.substring(r+9,i);t=this.saveTextToParentTag(t,n,a);let u=this.parseTextData(o,n.tagname,a,!0,!1,!0,!0);void 0==u&&(u=""),this.options.cdataPropName?n.add(this.options.cdataPropName,[{[this.options.textNodeName]:o}]):n.add(this.options.textNodeName,u),r=i+2}else{let o=readTagExp(e,r,this.options.removeNSPrefix),u=o.tagName,s=o.rawTagName,l=o.tagExp,h=o.attrExpPresent,g=o.closeIndex;this.options.transformTagName&&(u=this.options.transformTagName(u)),n&&t&&"!xml"!==n.tagname&&(t=this.saveTextToParentTag(t,n,a,!1));let c=n;c&&-1!==this.options.unpairedTags.indexOf(c.tagname)&&(n=this.tagsNodeStack.pop(),a=a.substring(0,a.lastIndexOf("."))),u!==i.tagname&&(a+=a?"."+u:u);let d=r;if(this.isItStopNode(this.options.stopNodes,a,u)){let i="";if(l.length>0&&l.lastIndexOf("/")===l.length-1)"/"===u[u.length-1]?(u=u.substr(0,u.length-1),a=a.substr(0,a.length-1),l=u):l=l.substr(0,l.length-1),r=o.closeIndex;else if(-1!==this.options.unpairedTags.indexOf(u))r=o.closeIndex;else{let n=this.readStopNodeData(e,s,g+1);if(!n)throw Error(`Unexpected end of ${s}`);r=n.i,i=n.tagContent}let t=new f_(u);u!==l&&h&&(t[":@"]=this.buildAttributesMap(l,a,u)),i&&(i=this.parseTextData(i,u,a,!0,h,!0,!0)),a=a.substr(0,a.lastIndexOf(".")),t.add(this.options.textNodeName,i),this.addChild(n,t,a,d)}else{if(l.length>0&&l.lastIndexOf("/")===l.length-1){"/"===u[u.length-1]?(u=u.substr(0,u.length-1),a=a.substr(0,a.length-1),l=u):l=l.substr(0,l.length-1),this.options.transformTagName&&(u=this.options.transformTagName(u));let e=new f_(u);u!==l&&h&&(e[":@"]=this.buildAttributesMap(l,a,u)),this.addChild(n,e,a,d),a=a.substr(0,a.lastIndexOf("."))}else{let e=new f_(u);this.tagsNodeStack.push(n),u!==l&&h&&(e[":@"]=this.buildAttributesMap(l,a,u)),this.addChild(n,e,a,d),n=e}t="",r=g}}else t+=e[r];return i.child};function addChild(e,i,n,t){this.options.captureMetaData||(t=void 0);let a=this.options.updateTag(i.tagname,n,i[":@"]);!1===a||("string"==typeof a&&(i.tagname=a),e.addChild(i,t))}let replaceEntitiesValue=function(e){if(this.options.processEntities){for(let i in this.docTypeEntities){let n=this.docTypeEntities[i];e=e.replace(n.regx,n.val)}for(let i in this.lastEntities){let n=this.lastEntities[i];e=e.replace(n.regex,n.val)}if(this.options.htmlEntities)for(let i in this.htmlEntities){let n=this.htmlEntities[i];e=e.replace(n.regex,n.val)}e=e.replace(this.ampEntity.regex,this.ampEntity.val)}return e};function saveTextToParentTag(e,i,n,t){return e&&(void 0===t&&(t=0===i.child.length),void 0!==(e=this.parseTextData(e,i.tagname,n,!1,!!i[":@"]&&0!==Object.keys(i[":@"]).length,t))&&""!==e&&i.add(this.options.textNodeName,e),e=""),e}function isItStopNode(e,i,n){let t="*."+n;for(let n in e){let a=e[n];if(t===a||i===a)return!0}return!1}function tagExpWithClosingIndex(e,i,n=">"){let t,a="";for(let r=i;r<e.length;r++){let i=e[r];if(t)i===t&&(t="");else if('"'===i||"'"===i)t=i;else if(i===n[0]){if(!n[1])return{data:a,index:r};else if(e[r+1]===n[1])return{data:a,index:r}}else" "===i&&(i=" ");a+=i}}function findClosingIndex(e,i,n,t){let a=e.indexOf(i,n);if(-1!==a)return a+i.length-1;throw Error(t)}function readTagExp(e,i,n,t=">"){let a=tagExpWithClosingIndex(e,i+1,t);if(!a)return;let r=a.data,o=a.index,u=r.search(/\s/),s=r,l=!0;-1!==u&&(s=r.substring(0,u),r=r.substring(u+1).trimStart());let h=s;if(n){let e=s.indexOf(":");-1!==e&&(l=(s=s.substr(e+1))!==a.data.substr(e+1))}return{tagName:s,tagExp:r,closeIndex:o,attrExpPresent:l,rawTagName:h}}function readStopNodeData(e,i,n){let t=n,a=1;for(;n<e.length;n++)if("<"===e[n])if("/"===e[n+1]){let r=findClosingIndex(e,">",n,`${i} is not closed`);if(e.substring(n+2,r).trim()===i&&0==--a)return{tagContent:e.substring(t,n),i:r};n=r}else if("?"===e[n+1])n=findClosingIndex(e,"?>",n+1,"StopNode is not closed.");else if("!--"===e.substr(n+1,3))n=findClosingIndex(e,"--\x3e",n+3,"StopNode is not closed.");else if("!["===e.substr(n+1,2))n=findClosingIndex(e,"]]>",n,"StopNode is not closed.")-2;else{let t=readTagExp(e,n,">");t&&((t&&t.tagName)===i&&"/"!==t.tagExp[t.tagExp.length-1]&&a++,n=t.closeIndex)}}function parseValue(e,i,n){if(i&&"string"==typeof e){let i=e.trim();return"true"===i||"false"!==i&&toNumber(e,n)}return isExist(e)?e:""}let fZ=f_.getMetaDataSymbol();function prettify(e,i){return compress(e,i)}function compress(e,i,n){let t,a={};for(let r=0;r<e.length;r++){let o=e[r],u=propName(o),s="";if(s=void 0===n?u:n+"."+u,u===i.textNodeName)void 0===t?t=o[u]:t+=""+o[u];else if(void 0===u)continue;else if(o[u]){let e=compress(o[u],i,s),n=isLeafTag(e,i);void 0!==o[fZ]&&(e[fZ]=o[fZ]),o[":@"]?assignAttributes(e,o[":@"],s,i):1!==Object.keys(e).length||void 0===e[i.textNodeName]||i.alwaysCreateTextNode?0===Object.keys(e).length&&(i.alwaysCreateTextNode?e[i.textNodeName]="":e=""):e=e[i.textNodeName],void 0!==a[u]&&a.hasOwnProperty(u)?(Array.isArray(a[u])||(a[u]=[a[u]]),a[u].push(e)):i.isArray(u,s,n)?a[u]=[e]:a[u]=e}}return"string"==typeof t?t.length>0&&(a[i.textNodeName]=t):void 0!==t&&(a[i.textNodeName]=t),a}function propName(e){let i=Object.keys(e);for(let e=0;e<i.length;e++){let n=i[e];if(":@"!==n)return n}}function assignAttributes(e,i,n,t){if(i){let a=Object.keys(i),r=a.length;for(let o=0;o<r;o++){let r=a[o];t.isArray(r,n+"."+r,!0,!0)?e[r]=[i[r]]:e[r]=i[r]}}}function isLeafTag(e,i){let{textNodeName:n}=i,t=Object.keys(e).length;return 0===t||1===t&&(!!e[n]||"boolean"==typeof e[n]||0===e[n])}let fR={allowBooleanAttributes:!1,unpairedTags:[]};function validator_validate(e,i){i=Object.assign({},fR,i);let n=[],t=!1,a=!1;"\uFEFF"===e[0]&&(e=e.substr(1));for(let r=0;r<e.length;r++)if("<"===e[r]&&"?"===e[r+1]){if(r+=2,(r=readPI(e,r)).err)return r}else if("<"===e[r]){let o=r;if("!"===e[++r]){r=readCommentAndCDATA(e,r);continue}{let u=!1;"/"===e[r]&&(u=!0,r++);let s="";for(;r<e.length&&">"!==e[r]&&" "!==e[r]&&" "!==e[r]&&"\n"!==e[r]&&"\r"!==e[r];r++)s+=e[r];if("/"===(s=s.trim())[s.length-1]&&(s=s.substring(0,s.length-1),r--),!validateTagName(s))return getErrorObject("InvalidTag",0===s.trim().length?"Invalid space after '<'.":"Tag '"+s+"' is an invalid name.",getLineNumberForPosition(e,r));let l=readAttributeStr(e,r);if(!1===l)return getErrorObject("InvalidAttr","Attributes for '"+s+"' have open quote.",getLineNumberForPosition(e,r));let h=l.value;if(r=l.index,"/"===h[h.length-1]){let n=r-h.length,a=validateAttributeString(h=h.substring(0,h.length-1),i);if(!0!==a)return getErrorObject(a.err.code,a.err.msg,getLineNumberForPosition(e,n+a.err.line));t=!0}else if(u)if(!l.tagClosed)return getErrorObject("InvalidTag","Closing tag '"+s+"' doesn't have proper closing.",getLineNumberForPosition(e,r));else{if(h.trim().length>0)return getErrorObject("InvalidTag","Closing tag '"+s+"' can't have attributes or invalid starting.",getLineNumberForPosition(e,o));if(0===n.length)return getErrorObject("InvalidTag","Closing tag '"+s+"' has not been opened.",getLineNumberForPosition(e,o));let i=n.pop();if(s!==i.tagName){let n=getLineNumberForPosition(e,i.tagStartPos);return getErrorObject("InvalidTag","Expected closing tag '"+i.tagName+"' (opened in line "+n.line+", col "+n.col+") instead of closing tag '"+s+"'.",getLineNumberForPosition(e,o))}0==n.length&&(a=!0)}else{let u=validateAttributeString(h,i);if(!0!==u)return getErrorObject(u.err.code,u.err.msg,getLineNumberForPosition(e,r-h.length+u.err.line));if(!0===a)return getErrorObject("InvalidXml","Multiple possible root nodes found.",getLineNumberForPosition(e,r));-1!==i.unpairedTags.indexOf(s)||n.push({tagName:s,tagStartPos:o}),t=!0}for(r++;r<e.length;r++)if("<"===e[r])if("!"===e[r+1]){r=readCommentAndCDATA(e,++r);continue}else if("?"===e[r+1]){if((r=readPI(e,++r)).err)return r}else break;else if("&"===e[r]){let i=validateAmpersand(e,r);if(-1==i)return getErrorObject("InvalidChar","char '&' is not expected.",getLineNumberForPosition(e,r));r=i}else if(!0===a&&!isWhiteSpace(e[r]))return getErrorObject("InvalidXml","Extra text at the end",getLineNumberForPosition(e,r));"<"===e[r]&&r--}}else{if(isWhiteSpace(e[r]))continue;return getErrorObject("InvalidChar","char '"+e[r]+"' is not expected.",getLineNumberForPosition(e,r))}return t?1==n.length?getErrorObject("InvalidTag","Unclosed tag '"+n[0].tagName+"'.",getLineNumberForPosition(e,n[0].tagStartPos)):!(n.length>0)||getErrorObject("InvalidXml","Invalid '"+JSON.stringify(n.map(e=>e.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1}):getErrorObject("InvalidXml","Start tag expected.",1)}function isWhiteSpace(e){return" "===e||" "===e||"\n"===e||"\r"===e}function readPI(e,i){let n=i;for(;i<e.length;i++)if("?"==e[i]||" "==e[i]){let t=e.substr(n,i-n);if(i>5&&"xml"===t)return getErrorObject("InvalidXml","XML declaration allowed only at the start of the document.",getLineNumberForPosition(e,i));if("?"!=e[i]||">"!=e[i+1])continue;i++;break}return i}function readCommentAndCDATA(e,i){if(e.length>i+5&&"-"===e[i+1]&&"-"===e[i+2]){for(i+=3;i<e.length;i++)if("-"===e[i]&&"-"===e[i+1]&&">"===e[i+2]){i+=2;break}}else if(e.length>i+8&&"D"===e[i+1]&&"O"===e[i+2]&&"C"===e[i+3]&&"T"===e[i+4]&&"Y"===e[i+5]&&"P"===e[i+6]&&"E"===e[i+7]){let n=1;for(i+=8;i<e.length;i++)if("<"===e[i])n++;else if(">"===e[i]&&0==--n)break}else if(e.length>i+9&&"["===e[i+1]&&"C"===e[i+2]&&"D"===e[i+3]&&"A"===e[i+4]&&"T"===e[i+5]&&"A"===e[i+6]&&"["===e[i+7]){for(i+=8;i<e.length;i++)if("]"===e[i]&&"]"===e[i+1]&&">"===e[i+2]){i+=2;break}}return i}function readAttributeStr(e,i){let n="",t="",a=!1;for(;i<e.length;i++){if('"'===e[i]||"'"===e[i])""===t?t=e[i]:t!==e[i]||(t="");else if(">"===e[i]&&""===t){a=!0;break}n+=e[i]}return""===t&&{value:n,index:i,tagClosed:a}}let fM=RegExp("(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['\"])(([\\s\\S])*?)\\5)?","g");function validateAttributeString(e,i){let n=getAllMatches(e,fM),t={};for(let e=0;e<n.length;e++){if(0===n[e][1].length)return getErrorObject("InvalidAttr","Attribute '"+n[e][2]+"' has no space in starting.",getPositionFromMatch(n[e]));if(void 0!==n[e][3]&&void 0===n[e][4])return getErrorObject("InvalidAttr","Attribute '"+n[e][2]+"' is without value.",getPositionFromMatch(n[e]));if(void 0===n[e][3]&&!i.allowBooleanAttributes)return getErrorObject("InvalidAttr","boolean attribute '"+n[e][2]+"' is not allowed.",getPositionFromMatch(n[e]));let a=n[e][2];if(!validateAttrName(a))return getErrorObject("InvalidAttr","Attribute '"+a+"' is an invalid name.",getPositionFromMatch(n[e]));if(t.hasOwnProperty(a))return getErrorObject("InvalidAttr","Attribute '"+a+"' is repeated.",getPositionFromMatch(n[e]));t[a]=1}return!0}function validateNumberAmpersand(e,i){let n=/\d/;for("x"===e[i]&&(i++,n=/[\da-fA-F]/);i<e.length;i++){if(";"===e[i])return i;if(!e[i].match(n))break}return -1}function validateAmpersand(e,i){if(";"===e[++i])return -1;if("#"===e[i])return validateNumberAmpersand(e,++i);let n=0;for(;i<e.length;i++,n++)if(!e[i].match(/\w/)||!(n<20)){if(";"===e[i])break;return -1}return i}function getErrorObject(e,i,n){return{err:{code:e,msg:i,line:n.line||n,col:n.col}}}function validateAttrName(e){return isName(e)}function validateTagName(e){return isName(e)}function getLineNumberForPosition(e,i){let n=e.substring(0,i).split(/\r?\n/);return{line:n.length,col:n[n.length-1].length+1}}function getPositionFromMatch(e){return e.startIndex+e[1].length}let fJ=new class{constructor(e){this.externalEntities={},this.options=Object.assign({},fx,e)}parse(e,i){if("string"==typeof e);else if(e.toString)e=e.toString();else throw Error("XML data is accepted in String or Bytes[] form.");if(i){!0===i&&(i={});let n=validator_validate(e,i);if(!0!==n)throw Error(`${n.err.msg}:${n.err.line}:${n.err.col}`)}let n=new fN(this.options);n.addExternalEntities(this.externalEntities);let t=n.parseXml(e);return this.options.preserveOrder||void 0===t?t:prettify(t,this.options)}addEntity(e,i){if(-1!==i.indexOf("&"))throw Error("Entity value can't have '&'");if(-1!==e.indexOf("&")||-1!==e.indexOf(";"))throw Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '
'");if("&"===i)throw Error("An entity with value '&' is not permitted");this.externalEntities[e]=i}static getMetaDataSymbol(){return f_.getMetaDataSymbol()}}({attributeNamePrefix:"",htmlEntities:!0,ignoreAttributes:!1,ignoreDeclaration:!0,parseTagValue:!1,trimValues:!1,tagValueProcessor:(e,i)=>""===i.trim()&&i.includes("\n")?"":void 0});function xml_parser_parseXML(e){return fJ.parse(e,!0)}fJ.addEntity("#xD","\r"),fJ.addEntity("#10","\n");let get_value_from_text_node_getValueFromTextNode=e=>{let i="#text";for(let n in e)e.hasOwnProperty(n)&&void 0!==e[n][i]?e[n]=e[n][i]:"object"==typeof e[n]&&null!==e[n]&&(e[n]=get_value_from_text_node_getValueFromTextNode(e[n]));return e};class fk{from;to;keys;constructor(e,i){this.from=e,this.to=i,this.keys=new Set(Object.keys(this.from).filter(e=>"__type"!==e))}mark(e){this.keys.delete(e)}hasUnknown(){return 1===this.keys.size&&0===Object.keys(this.to).length}writeUnknown(){if(this.hasUnknown()){let e=this.keys.values().next().value,i=this.from[e];this.to.$unknown=[e,i]}}}class fB extends fT{settings;stringDeserializer;constructor(e){super(),this.settings=e,this.stringDeserializer=new fb(e)}setSerdeContext(e){this.serdeContext=e,this.stringDeserializer.setSerdeContext(e)}read(e,i,n){let t=uX.of(e),a=t.getMemberSchemas();if(t.isStructSchema()&&t.isMemberSchema()&&Object.values(a).find(e=>!!e.getMemberTraits().eventPayload)){let e={},n=Object.keys(a)[0];return a[n].isBlobSchema()?e[n]=i:e[n]=this.read(a[n],i),e}let r=(this.serdeContext?.utf8Encoder??dist_es_toUtf8_toUtf8)(i),o=this.parseXml(r);return this.readSchema(e,n?o[n]:o)}readSchema(e,i){let n=uX.of(e);if(n.isUnitSchema())return;let t=n.getMergedTraits();if(n.isListSchema()&&!Array.isArray(i))return this.readSchema(n,[i]);if(null==i)return i;if("object"==typeof i){let e=!!t.sparse,a=!!t.xmlFlattened;if(n.isListSchema()){let t=n.getValueSchema(),r=[],o=t.getMergedTraits().xmlName??"member",u=a?i:(i[0]??i)[o];for(let i of Array.isArray(u)?u:[u])(null!=i||e)&&r.push(this.readSchema(t,i));return r}let r={};if(n.isMapSchema()){let t,o=n.getKeySchema(),u=n.getValueSchema();t=a?Array.isArray(i)?i:[i]:Array.isArray(i.entry)?i.entry:[i.entry];let s=o.getMergedTraits().xmlName??"key",l=u.getMergedTraits().xmlName??"value";for(let i of t){let n=i[s],t=i[l];(null!=t||e)&&(r[n]=this.readSchema(u,t))}return r}if(n.isStructSchema()){let e,t=n.isUnionSchema();for(let[a,o]of(t&&(e=new fk(i,r)),n.structIterator())){let n=o.getMergedTraits(),u=n.httpPayload?n.xmlName??o.getName():o.getMemberTraits().xmlName??a;t&&e.mark(u),null!=i[u]&&(r[a]=this.readSchema(o,i[u]))}return t&&e.writeUnknown(),r}if(n.isDocumentSchema())return i;throw Error(`@aws-sdk/core/protocols - xml deserializer unhandled schema type for ${n.getName(!0)}`)}return n.isListSchema()?[]:n.isMapSchema()||n.isStructSchema()?{}:this.stringDeserializer.read(n,i)}parseXml(e){if(e.length){let i;try{i=xml_parser_parseXML(e)}catch(i){throw i&&"object"==typeof i&&Object.defineProperty(i,"$responseBodyText",{value:e}),i}let n="#text",t=Object.keys(i)[0],a=i[t];return a[n]&&(a[t]=a[n],delete a[n]),get_value_from_text_node_getValueFromTextNode(a)}return{}}}function escapeAttribute(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}function escapeElement(e){return e.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">").replace(/\r/g,"
").replace(/\n/g,"
").replace(/\u0085/g,"…").replace(/\u2028/,"
")}class fH{value;constructor(e){this.value=e}toString(){return escapeElement(""+this.value)}}class fF{name;children;attributes={};static of(e,i,n){let t=new fF(e);return void 0!==i&&t.addChildNode(new fH(i)),void 0!==n&&t.withName(n),t}constructor(e,i=[]){this.name=e,this.children=i}withName(e){return this.name=e,this}addAttribute(e,i){return this.attributes[e]=i,this}addChildNode(e){return this.children.push(e),this}removeAttribute(e){return delete this.attributes[e],this}n(e){return this.name=e,this}c(e){return this.children.push(e),this}a(e,i){return null!=i&&(this.attributes[e]=i),this}cc(e,i,n=i){if(null!=e[i]){let t=fF.of(i,e[i]).withName(n);this.c(t)}}l(e,i,n,t){null!=e[i]&&t().map(e=>{e.withName(n),this.c(e)})}lc(e,i,n,t){if(null!=e[i]){let e=t(),i=new fF(n);e.map(e=>{i.c(e)}),this.c(i)}}toString(){let e=!!this.children.length,i=`<${this.name}`,n=this.attributes;for(let e of Object.keys(n)){let t=n[e];null!=t&&(i+=` ${e}="${escapeAttribute(""+t)}"`)}return i+(e?`>${this.children.map(e=>e.toString()).join("")}</${this.name}>`:"/>")}}function*serializingStructIterator(e,i){if(e.isUnitSchema())return;let n=e.getSchema();for(let e=0;e<n[4].length;++e){let t=n[4][e],a=new uX([n[5][e],0],t);(t in i||a.isIdempotencyToken())&&(yield[t,a])}}function*deserializingStructIterator(e,i,n){if(e.isUnitSchema())return;let t=e.getSchema(),a=Object.keys(i).filter(e=>"__type"!==e).length;for(let e=0;e<t[4].length&&0!==a;++e){let r=t[4][e],o=new uX([t[5][e],0],r),u=r;n&&(u=o.getMergedTraits()[n]??r),u in i&&(yield[r,o],a-=1)}}class fX extends fT{settings;stringBuffer;byteBuffer;buffer;constructor(e){super(),this.settings=e}write(e,i){let n=uX.of(e);if(n.isStringSchema()&&"string"==typeof i)this.stringBuffer=i;else if(n.isBlobSchema())this.byteBuffer="byteLength"in i?i:(this.serdeContext?.base64Decoder??fromBase64)(i);else{this.buffer=this.writeStruct(n,i,void 0);let e=n.getMergedTraits();e.httpPayload&&!e.xmlName&&this.buffer.withName(n.getName())}}flush(){if(void 0!==this.byteBuffer){let e=this.byteBuffer;return delete this.byteBuffer,e}if(void 0!==this.stringBuffer){let e=this.stringBuffer;return delete this.stringBuffer,e}let e=this.buffer;return this.settings.xmlNamespace&&!e?.attributes?.xmlns&&e.addAttribute("xmlns",this.settings.xmlNamespace),delete this.buffer,e.toString()}writeStruct(e,i,n){let t=e.getMergedTraits(),a=e.isMemberSchema()&&!t.httpPayload?e.getMemberTraits().xmlName??e.getMemberName():t.xmlName??e.getName();if(!a||!e.isStructSchema())throw Error(`@aws-sdk/core/protocols - xml serializer, cannot write struct with empty name or non-struct, schema=${e.getName(!0)}.`);let r=fF.of(a),[o,u]=this.getXmlnsAttribute(e,n);for(let[n,t]of serializingStructIterator(e,i)){let e=i[n];if(null!=e||t.isIdempotencyToken()){if(t.getMergedTraits().xmlAttribute){r.addAttribute(t.getMergedTraits().xmlName??n,this.writeSimple(t,e));continue}if(t.isListSchema())this.writeList(t,e,r,u);else if(t.isMapSchema())this.writeMap(t,e,r,u);else if(t.isStructSchema())r.addChildNode(this.writeStruct(t,e,u));else{let i=fF.of(t.getMergedTraits().xmlName??t.getMemberName());this.writeSimpleInto(t,e,i,u),r.addChildNode(i)}}}let{$unknown:s}=i;if(s&&e.isUnionSchema()&&Array.isArray(s)&&1===Object.keys(i).length){let[e,n]=s,t=fF.of(e);if("string"!=typeof n)if(i instanceof fF||i instanceof fH)r.addChildNode(i);else throw Error("@aws-sdk - $unknown union member in XML requires value of type string, @aws-sdk/xml-builder::XmlNode or XmlText.");this.writeSimpleInto(0,n,t,u),r.addChildNode(t)}return u&&r.addAttribute(o,u),r}writeList(e,i,n,t){if(!e.isMemberSchema())throw Error(`@aws-sdk/core/protocols - xml serializer, cannot write non-member list: ${e.getName(!0)}`);let a=e.getMergedTraits(),r=e.getValueSchema(),o=r.getMergedTraits(),u=!!o.sparse,s=!!a.xmlFlattened,[l,h]=this.getXmlnsAttribute(e,t),writeItem=(i,n)=>{if(r.isListSchema())this.writeList(r,Array.isArray(n)?n:[n],i,h);else if(r.isMapSchema())this.writeMap(r,n,i,h);else if(r.isStructSchema()){let t=this.writeStruct(r,n,h);i.addChildNode(t.withName(s?a.xmlName??e.getMemberName():o.xmlName??"member"))}else{let t=fF.of(s?a.xmlName??e.getMemberName():o.xmlName??"member");this.writeSimpleInto(r,n,t,h),i.addChildNode(t)}};if(s)for(let e of i)(u||null!=e)&&writeItem(n,e);else{let t=fF.of(a.xmlName??e.getMemberName());for(let e of(h&&t.addAttribute(l,h),i))(u||null!=e)&&writeItem(t,e);n.addChildNode(t)}}writeMap(e,i,n,t,a=!1){if(!e.isMemberSchema())throw Error(`@aws-sdk/core/protocols - xml serializer, cannot write non-member map: ${e.getName(!0)}`);let r=e.getMergedTraits(),o=e.getKeySchema(),u=o.getMergedTraits().xmlName??"key",s=e.getValueSchema(),l=s.getMergedTraits(),h=l.xmlName??"value",g=!!l.sparse,c=!!r.xmlFlattened,[d,p]=this.getXmlnsAttribute(e,t),addKeyValue=(e,i,n)=>{let t=fF.of(u,i),[a,r]=this.getXmlnsAttribute(o,p);r&&t.addAttribute(a,r),e.addChildNode(t);let l=fF.of(h);s.isListSchema()?this.writeList(s,n,l,p):s.isMapSchema()?this.writeMap(s,n,l,p,!0):s.isStructSchema()?l=this.writeStruct(s,n,p):this.writeSimpleInto(s,n,l,p),e.addChildNode(l)};if(c){for(let[t,a]of Object.entries(i))if(g||null!=a){let i=fF.of(r.xmlName??e.getMemberName());addKeyValue(i,t,a),n.addChildNode(i)}}else{let t;for(let[o,u]of(a||(t=fF.of(r.xmlName??e.getMemberName()),p&&t.addAttribute(d,p),n.addChildNode(t)),Object.entries(i)))if(g||null!=u){let e=fF.of("entry");addKeyValue(e,o,u),(a?n:t).addChildNode(e)}}}writeSimple(e,i){if(null===i)throw Error("@aws-sdk/core/protocols - (XML serializer) cannot write null value.");let n=uX.of(e),t=null;if(i&&"object"==typeof i)if(n.isBlobSchema())t=(this.serdeContext?.base64Encoder??toBase64)(i);else if(n.isTimestampSchema()&&i instanceof Date)switch(determineTimestampFormat(n,this.settings)){case 5:t=i.toISOString().replace(".000Z","Z");break;case 6:t=dateToUtcString(i);break;case 7:t=String(i.getTime()/1e3);break;default:console.warn("Missing timestamp format, using http date",i),t=dateToUtcString(i)}else if(n.isBigDecimalSchema()&&i)return i instanceof fS?i.string:String(i);else if(n.isMapSchema()||n.isListSchema())throw Error("@aws-sdk/core/protocols - xml serializer, cannot call _write() on List/Map schema, call writeList or writeMap() instead.");else throw Error(`@aws-sdk/core/protocols - xml serializer, unhandled schema type for object value and schema: ${n.getName(!0)}`);if((n.isBooleanSchema()||n.isNumericSchema()||n.isBigIntegerSchema()||n.isBigDecimalSchema())&&(t=String(i)),n.isStringSchema()&&(t=void 0===i&&n.isIdempotencyToken()?v4():String(i)),null===t)throw Error(`Unhandled schema-value pair ${n.getName(!0)}=${i}`);return t}writeSimpleInto(e,i,n,t){let a=this.writeSimple(e,i),r=uX.of(e),o=new fH(a),[u,s]=this.getXmlnsAttribute(r,t);s&&n.addAttribute(u,s),n.addChildNode(o)}getXmlnsAttribute(e,i){let[n,t]=e.getMergedTraits().xmlNamespace??[];return t&&t!==i?[n?`xmlns:${n}`:"xmlns",t]:[void 0,void 0]}}class fI extends fT{settings;constructor(e){super(),this.settings=e}createSerializer(){let e=new fX(this.settings);return e.setSerdeContext(this.serdeContext),e}createDeserializer(){let e=new fB(this.settings);return e.setSerdeContext(this.serdeContext),e}}class fO extends p3{codec;serializer;deserializer;mixin=new fw;constructor(e){super(e);let i={timestampFormat:{useTrait:!0,default:5},httpBindings:!0,xmlNamespace:e.xmlNamespace,serviceNamespace:e.defaultNamespace};this.codec=new fI(i),this.serializer=new fo(this.codec.createSerializer(),i),this.deserializer=new fC(this.codec.createDeserializer(),i)}getPayloadCodec(){return this.codec}getShapeId(){return"aws.protocols#restXml"}async serializeRequest(e,i,n){let t=await super.serializeRequest(e,i,n),a=uX.of(e.input);if(!t.headers["content-type"]){let e=this.mixin.resolveRestContentType(this.getDefaultContentType(),a);e&&(t.headers["content-type"]=e)}return"string"!=typeof t.body||t.headers["content-type"]!==this.getDefaultContentType()||t.body.startsWith("<?xml ")||this.hasUnstructuredPayloadBinding(a)||(t.body='<?xml version="1.0" encoding="UTF-8"?>'+t.body),t}async deserializeResponse(e,i,n){return super.deserializeResponse(e,i,n)}async handleError(e,i,n,t,a){let r=(t?.Error?.Code!==void 0?t.Error.Code:t?.Code!==void 0?t.Code:404==n.statusCode?"NotFound":void 0)??"Unknown",{errorSchema:o,errorMetadata:u}=await this.mixin.getErrorSchemaOrThrowBaseException(r,this.options.defaultNamespace,n,t,a),s=uX.of(o),l=t.Error?.message??t.Error?.Message??t.message??t.Message??"Unknown",h=new(uG.for(o[1]).getErrorCtor(o)??Error)(l);await this.deserializeHttpMessage(o,i,n,t);let g={};for(let[e,i]of s.structIterator()){let n=i.getMergedTraits().xmlName??e,a=t.Error?.[n]??t[n];g[e]=this.codec.createDeserializer().readSchema(i,a)}throw this.mixin.decorateServiceException(Object.assign(h,u,{$fault:s.getMergedTraits().error,message:l},g),t)}getDefaultContentType(){return"application/xml"}hasUnstructuredPayloadBinding(e){for(let[,i]of e.structIterator())if(i.getMergedTraits().httpPayload)return!(i.isStructSchema()||i.isMapSchema()||i.isListSchema());return!1}}let getAwsChunkedEncodingStream_getAwsChunkedEncodingStream=(e,i)=>{let{base64Encoder:n,bodyLengthChecker:t,checksumAlgorithmFn:a,checksumLocationName:r,streamHasher:o}=i,u=void 0!==n&&void 0!==a&&void 0!==r&&void 0!==o,s=u?o(a,e):void 0,l=new au.Readable({read:()=>{}});return e.on("data",e=>{let i=t(e)||0;l.push(`${i.toString(16)}\r
|
|
69
|
+
or increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler config.`),Date.now()}return i}constructor(e){this.configProvider=new Promise((i,n)=>{"function"==typeof e?e().then(e=>{i(this.resolveDefaultConfig(e))}).catch(n):i(this.resolveDefaultConfig(e))})}resolveDefaultConfig(e){let{requestTimeout:i,connectionTimeout:n,socketTimeout:t,socketAcquisitionWarningTimeout:a,httpAgent:r,httpsAgent:o,throwOnRequestTimeout:u}=e||{};return{connectionTimeout:n,requestTimeout:i,socketTimeout:t,socketAcquisitionWarningTimeout:a,throwOnRequestTimeout:u,httpAgent:r instanceof B||"function"==typeof r?.destroy?(this.externalAgent=!0,r):new B({keepAlive:!0,maxSockets:50,...r}),httpsAgent:o instanceof F||"function"==typeof o?.destroy?(this.externalAgent=!0,o):new F({keepAlive:!0,maxSockets:50,...o}),logger:console}}destroy(){this.config?.httpAgent?.destroy(),this.config?.httpsAgent?.destroy()}async handle(e,{abortSignal:i,requestTimeout:n}={}){return this.config||(this.config=await this.configProvider),new Promise((t,a)=>{let r,o,u=this.config,s=[],resolve=async e=>{await r,s.forEach(pF),t(e)},reject=async e=>{await r,s.forEach(pF),a(e)};if(i?.aborted){let e=Error("Request aborted");e.name="AbortError",reject(e);return}let l="https:"===e.protocol,h=e.headers??{},g=(h.Expect??h.expect)==="100-continue",c=l?u.httpsAgent:u.httpAgent;g&&!this.externalAgent&&(c=new(l?F:B)({keepAlive:!1,maxSockets:1/0})),s.push(setTimeout(()=>{this.socketWarningTimestamp=pI.checkSocketUsage(c,this.socketWarningTimestamp,u.logger)},u.socketAcquisitionWarningTimeout??(u.requestTimeout??2e3)+(u.connectionTimeout??1e3)));let d=buildQueryString(e.query||{});if(null!=e.username||null!=e.password){let i=e.username??"",n=e.password??"";o=`${i}:${n}`}let p=e.path;d&&(p+=`?${d}`),e.fragment&&(p+=`#${e.fragment}`);let f=e.hostname??"";f="["===f[0]&&f.endsWith("]")?e.hostname.slice(1,-1):e.hostname;let m={headers:e.headers,host:f,method:e.method,path:p,port:e.port,agent:c,auth:o},y=(l?X:H)(m,e=>{resolve({response:new tF({statusCode:e.statusCode||-1,reason:e.statusMessage,headers:(e=>{let i={};for(let n of Object.keys(e)){let t=e[n];i[n]=Array.isArray(t)?t.join(","):t}return i})(e.headers),body:e})})});if(y.on("error",e=>{pH.includes(e.code)?reject(Object.assign(e,{name:"TimeoutError"})):reject(e)}),i){let onAbort=()=>{y.destroy();let e=Error("Request aborted");e.name="AbortError",reject(e)};"function"==typeof i.addEventListener?(i.addEventListener("abort",onAbort,{once:!0}),y.once("close",()=>i.removeEventListener("abort",onAbort))):i.onabort=onAbort}let S=n??u.requestTimeout;s.push(((e,i,n=0)=>{if(!n)return -1;let registerTimeout=t=>{let a=setTimeout(()=>{e.destroy(),i(Object.assign(Error(`@smithy/node-http-handler - the request socket did not establish a connection with the server within the configured timeout of ${n} ms.`),{name:"TimeoutError"}))},n-t),doWithSocket=e=>{e?.connecting?e.on("connect",()=>{pF(a)}):pF(a)};e.socket?doWithSocket(e.socket):e.on("socket",doWithSocket)};return n<2e3?(registerTimeout(0),0):setTimeout(registerTimeout.bind(null,1e3),1e3)})(y,reject,u.connectionTimeout)),s.push(((e,i,n=0,t,a)=>n?setTimeout(()=>{let r=`@smithy/node-http-handler - [${t?"ERROR":"WARN"}] a request has exceeded the configured ${n} ms requestTimeout.`;if(t){let n=Object.assign(Error(r),{name:"TimeoutError",code:"ETIMEDOUT"});e.destroy(n),i(n)}else r+=" Init client requestHandler with throwOnRequestTimeout=true to turn this into an error.",a?.warn?.(r)},n):-1)(y,reject,S,u.throwOnRequestTimeout,u.logger??console)),s.push(((e,i,n=0)=>{let registerTimeout=t=>{let a=n-t,onTimeout=()=>{e.destroy(),i(Object.assign(Error(`@smithy/node-http-handler - the request socket timed out after ${n} ms of inactivity (configured by client requestHandler).`),{name:"TimeoutError"}))};e.socket?(e.socket.setTimeout(a,onTimeout),e.on("close",()=>e.socket?.removeListener("timeout",onTimeout))):e.setTimeout(a,onTimeout)};return 0<n&&n<6e3?(registerTimeout(0),0):setTimeout(registerTimeout.bind(null,3e3*(0!==n)),3e3)})(y,reject,u.socketTimeout));let b=m.agent;"object"==typeof b&&"keepAlive"in b&&s.push(((e,{keepAlive:i,keepAliveMsecs:n},t=pX)=>{if(!0!==i)return -1;let registerListener=()=>{e.socket?e.socket.setKeepAlive(i,n||0):e.on("socket",e=>{e.setKeepAlive(i,n||0)})};return 0===t?(registerListener(),0):setTimeout(registerListener,t)})(y,{keepAlive:b.keepAlive,keepAliveMsecs:b.keepAliveMsecs})),r=writeRequestBody(y,e,S,this.externalAgent).catch(e=>(s.forEach(pF),a(e)))})}updateHttpClientConfig(e,i){this.config=void 0,this.configProvider=this.configProvider.then(n=>({...n,[e]:i}))}httpHandlerConfigs(){return this.config??{}}}class pO extends al.Writable{bufferedBytes=[];_write(e,i,n){this.bufferedBytes.push(e),n()}}let streamCollector=e=>isReadableStreamInstance(e)?collectReadableStream(e):new Promise((i,n)=>{let t=new pO;e.pipe(t),e.on("error",e=>{t.end(),n(e)}),t.on("error",n),t.on("finish",function(){i(new Uint8Array(Buffer.concat(this.bufferedBytes)))})}),isReadableStreamInstance=e=>"function"==typeof ReadableStream&&e instanceof ReadableStream;async function collectReadableStream(e){let i=[],n=e.getReader(),t=!1,a=0;for(;!t;){let{done:e,value:r}=await n.read();r&&(i.push(r),a+=r.length),t=e}let r=new Uint8Array(a),o=0;for(let e of i)r.set(e,o),o+=e.length;return r}let pQ=!1,emitWarningIfUnsupportedVersion_emitWarningIfUnsupportedVersion=e=>{e&&!pQ&&16>parseInt(e.substring(1,e.indexOf(".")))&&(pQ=!0)},loadConfigsForDefaultMode=e=>{switch(e){case"standard":case"cross-region":return{retryMode:"standard",connectionTimeout:3100};case"in-region":return{retryMode:"standard",connectionTimeout:1100};case"mobile":return{retryMode:"standard",connectionTimeout:3e4};default:return{}}},pU=E("node:fs"),calculateBodyLength=e=>{if(!e)return 0;if("string"==typeof e)return Buffer.byteLength(e);if("number"==typeof e.byteLength)return e.byteLength;if("number"==typeof e.size)return e.size;if("number"==typeof e.start&&"number"==typeof e.end)return e.end+1-e.start;if(e instanceof pU.ReadStream){if(null!=e.path)return(0,pU.lstatSync)(e.path).size;else if("number"==typeof e.fd)return(0,pU.fstatSync)(e.fd).size}throw Error(`Body Length computation failed for ${e}`)},pG="AWS_REGION",pq="AWS_DEFAULT_REGION",p$=["in-region","cross-region","mobile","standard","legacy"],pK={environmentVariableSelector:e=>e.AWS_DEFAULTS_MODE,configFileSelector:e=>e.defaults_mode,default:"legacy"},resolveDefaultsModeConfig=({region:e=loadConfig(pl),defaultsMode:i=loadConfig(pK)}={})=>memoize(async()=>{let n="function"==typeof i?await i():i;switch(n?.toLowerCase()){case"auto":return resolveNodeDefaultsModeAuto(e);case"in-region":case"cross-region":case"mobile":case"standard":case"legacy":return Promise.resolve(n?.toLocaleLowerCase());case void 0:return Promise.resolve("legacy");default:throw Error(`Invalid parameter for "defaultsMode", expect ${p$.join(", ")}, got ${n}`)}}),resolveNodeDefaultsModeAuto=async e=>{if(e){let i="function"==typeof e?await e():e,n=await inferPhysicalRegion();return n?i===n?"in-region":"cross-region":"standard"}return"standard"},inferPhysicalRegion=async()=>{if(process.env.AWS_EXECUTION_ENV&&(process.env[pG]||process.env[pq]))return process.env[pG]??process.env[pq];if(!process.env.AWS_EC2_METADATA_DISABLED)try{let{getInstanceMetadataEndpoint:e,httpRequest:i}=await import("./1~398.mjs").then(e=>({getInstanceMetadataEndpoint:e.getInstanceMetadataEndpoint,httpRequest:e.httpRequest})),n=await e();return(await i({...n,path:"/latest/meta-data/placement/region"})).toString()}catch(e){}},getSkewCorrectedDate=e=>new Date(Date.now()+e),getDateHeader=e=>tF.isInstance(e)?e.headers?.date??e.headers?.Date:void 0,getUpdatedSystemClockOffset=(e,i)=>{let n=Date.parse(e);return Math.abs(getSkewCorrectedDate(i).getTime()-n)>=3e5?n-Date.now():i},throwSigningPropertyError=(e,i)=>{if(!i)throw Error(`Property \`${e}\` is not resolved for AWS SDK SigV4Auth`);return i},validateSigningProperties=async e=>{let i=throwSigningPropertyError("context",e.context),n=throwSigningPropertyError("config",e.config),t=i.endpointV2?.properties?.authSchemes?.[0],a=throwSigningPropertyError("signer",n.signer),r=await a(t),o=e?.signingRegion;return{config:n,signer:r,signingRegion:o,signingRegionSet:e?.signingRegionSet,signingName:e?.signingName}};class pz{async sign(e,i,n){if(!n6.isInstance(e))throw Error("The request is not an instance of `HttpRequest` and cannot be signed");let t=await validateSigningProperties(n),{config:a,signer:r}=t,{signingRegion:o,signingName:u}=t,s=n.context;if(s?.authSchemes?.length){let[e,i]=s.authSchemes;e?.name==="sigv4a"&&i?.name==="sigv4"&&(o=i?.signingRegion??o,u=i?.signingName??u)}return await r.sign(e,{signingDate:getSkewCorrectedDate(a.systemClockOffset),signingRegion:o,signingService:u})}errorHandler(e){return i=>{let n=i.ServerTime??getDateHeader(i.$response);if(n){let t=throwSigningPropertyError("config",e.config),a=t.systemClockOffset;t.systemClockOffset=getUpdatedSystemClockOffset(n,t.systemClockOffset),t.systemClockOffset!==a&&i.$metadata&&(i.$metadata.clockSkewCorrected=!0)}throw i}}successHandler(e,i){let n=getDateHeader(e);if(n){let e=throwSigningPropertyError("config",i.config);e.systemClockOffset=getUpdatedSystemClockOffset(n,e.systemClockOffset)}}}class pW extends pz{async sign(e,i,n){if(!n6.isInstance(e))throw Error("The request is not an instance of `HttpRequest` and cannot be signed");let{config:t,signer:a,signingRegion:r,signingRegionSet:o,signingName:u}=await validateSigningProperties(n),s=(await t.sigv4aSigningRegionSet?.()??o??[r]).join(",");return await a.sign(e,{signingDate:getSkewCorrectedDate(t.systemClockOffset),signingRegion:s,signingService:u})}}function splitEvery(e,i,n){if(n<=0||!Number.isInteger(n))throw Error("Invalid number of delimiters ("+n+") for splitEvery.");let t=e.split(i);if(1===n)return t;let a=[],r="";for(let e=0;e<t.length;e++)""===r?r=t[e]:r+=i+t[e],(e+1)%n==0&&(a.push(r),r="");return""!==r&&a.push(r),a}let splitHeader=e=>{let i,n=e.length,t=[],a=!1,r=0;for(let o=0;o<n;++o){let n=e[o];switch(n){case'"':"\\"!==i&&(a=!a);break;case",":a||(t.push(e.slice(r,o)),r=o+1)}i=n}return t.push(e.slice(r)),t.map(e=>{let i=(e=e.trim()).length;return i<2?e:('"'===e[0]&&'"'===e[i-1]&&(e=e.slice(1,i-1)),e.replace(/\\"/g,'"'))})},pj=/^[A-Za-z0-9+/]*={0,2}$/,fromBase64=e=>{if(3*e.length%4!=0)throw TypeError("Incorrect padding on base64 string.");if(!pj.exec(e))throw TypeError("Invalid base64 string.");let i=fromString(e,"base64");return new Uint8Array(i.buffer,i.byteOffset,i.byteLength)},stream_collector_streamCollector=async e=>"function"==typeof Blob&&e instanceof Blob||e.constructor?.name==="Blob"?void 0!==Blob.prototype.arrayBuffer?new Uint8Array(await e.arrayBuffer()):collectBlob(e):collectStream(e);async function collectBlob(e){return new Uint8Array(fromBase64(await readToBase64(e)))}async function collectStream(e){let i=[],n=e.getReader(),t=!1,a=0;for(;!t;){let{done:e,value:r}=await n.read();r&&(i.push(r),a+=r.length),t=e}let r=new Uint8Array(a),o=0;for(let e of i)r.set(e,o),o+=e.length;return r}function readToBase64(e){return new Promise((i,n)=>{let t=new FileReader;t.onloadend=()=>{if(2!==t.readyState)return n(Error("Reader aborted too early"));let e=t.result??"",a=e.indexOf(","),r=a>-1?a+1:e.length;i(e.substring(r))},t.onabort=()=>n(Error("Read aborted")),t.onerror=()=>n(t.error),t.readAsDataURL(e)})}let toBase64=e=>{let i;if("object"!=typeof(i="string"==typeof e?fromUtf8_fromUtf8(e):e)||"number"!=typeof i.byteOffset||"number"!=typeof i.byteLength)throw Error("@smithy/util-base64: toBase64 encoder function only accepts string | Uint8Array.");return dist_es_fromArrayBuffer(i.buffer,i.byteOffset,i.byteLength).toString("base64")},dist_es_toUtf8_toUtf8=e=>{if("string"==typeof e)return e;if("object"!=typeof e||"number"!=typeof e.byteOffset||"number"!=typeof e.byteLength)throw Error("@smithy/util-utf8: toUtf8 encoder function only accepts string | Uint8Array.");return dist_es_fromArrayBuffer(e.buffer,e.byteOffset,e.byteLength).toString("utf8")},pV="The stream has already been transformed.",isBlobInstance=e=>"function"==typeof Blob&&e instanceof Blob,p0="The stream has already been transformed.",sdk_stream_mixin_sdkStreamMixin=e=>{if(!(e instanceof al.Readable))try{if(!isBlobInstance(e)&&!isReadableStream(e)){let i=e?.__proto__?.constructor?.name||e;throw Error(`Unexpected stream implementation, expect Blob or ReadableStream, got ${i}`)}let i=!1,transformToByteArray=async()=>{if(i)throw Error(pV);return i=!0,await stream_collector_streamCollector(e)};return Object.assign(e,{transformToByteArray:transformToByteArray,transformToString:async e=>{let i=await transformToByteArray();if("base64"===e)return toBase64(i);if("hex"===e)return toHex(i);if(void 0===e||"utf8"===e||"utf-8"===e)return dist_es_toUtf8_toUtf8(i);if("function"==typeof TextDecoder)return new TextDecoder(e).decode(i);throw Error("TextDecoder is not available, please make sure polyfill is provided.")},transformToWebStream:()=>{if(i)throw Error(pV);if(i=!0,isBlobInstance(e)){if("function"!=typeof e.stream)throw Error("Cannot transform payload Blob to web stream. Please make sure the Blob.stream() is polyfilled.\nIf you are using React Native, this API is not yet supported, see: https://react-native.canny.io/feature-requests/p/fetch-streaming-body");return e.stream()}if(isReadableStream(e))return e;throw Error(`Cannot transform payload to web stream, got ${e}`)}})}catch(n){let i=e?.__proto__?.constructor?.name||e;throw Error(`Unexpected stream implementation, expect Stream.Readable instance, got ${i}`)}let i=!1,transformToByteArray=async()=>{if(i)throw Error(p0);return i=!0,await streamCollector(e)};return Object.assign(e,{transformToByteArray,transformToString:async e=>{let i=await transformToByteArray();return void 0===e||Buffer.isEncoding(e)?dist_es_fromArrayBuffer(i.buffer,i.byteOffset,i.byteLength).toString(e):new TextDecoder(e).decode(i)},transformToWebStream:()=>{if(i)throw Error(p0);if(null!==e.readableFlowing)throw Error("The stream has been consumed by other callbacks.");if("function"!=typeof al.Readable.toWeb)throw Error("Readable.toWeb() is not supported. Please ensure a polyfill is available.");return i=!0,al.Readable.toWeb(e)}})};class p1 extends Uint8Array{static fromString(e,i="utf-8"){if("string"==typeof e)return"base64"===i?p1.mutate(fromBase64(e)):p1.mutate(fromUtf8_fromUtf8(e));throw Error(`Unsupported conversion from ${typeof e} to Uint8ArrayBlobAdapter.`)}static mutate(e){return Object.setPrototypeOf(e,p1.prototype),e}transformToString(e="utf-8"){return"base64"===e?toBase64(this):dist_es_toUtf8_toUtf8(this)}}let collect_stream_body_collectBody=async(e=new Uint8Array,i)=>{if(e instanceof Uint8Array)return p1.mutate(e);if(!e)return p1.mutate(new Uint8Array);let n=i.streamCollector(e);return p1.mutate(await n)};function extendedEncodeURIComponent(e){return encodeURIComponent(e).replace(/[!'()*]/g,function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})}class p3{serdeContext;setSerdeContext(e){this.serdeContext=e}}class p2 extends p3{options;constructor(e){super(),this.options=e}getRequestType(){return n6}getResponseType(){return tF}setSerdeContext(e){this.serdeContext=e,this.serializer.setSerdeContext(e),this.deserializer.setSerdeContext(e),this.getPayloadCodec()&&this.getPayloadCodec().setSerdeContext(e)}updateServiceEndpoint(e,i){if(!("url"in i))return e.protocol=i.protocol,e.hostname=i.hostname,e.port=i.port?Number(i.port):void 0,e.path=i.path,e.query={...i.query},e;for(let[n,t]of(e.protocol=i.url.protocol,e.hostname=i.url.hostname,e.port=i.url.port?Number(i.url.port):void 0,e.path=i.url.pathname,e.fragment=i.url.hash||void 0,e.username=i.url.username||void 0,e.password=i.url.password||void 0,e.query||(e.query={}),i.url.searchParams.entries()))e.query[n]=t;return e}setHostPrefix(e,i,n){let t=uO.of(i.input),a=translateTraits(i.traits??{});if(a.endpoint){let i=a.endpoint?.[0];if("string"==typeof i){for(let[e]of[...t.structIterator()].filter(([,e])=>e.getMergedTraits().hostLabel)){let t=n[e];if("string"!=typeof t)throw Error(`@smithy/core/schema - ${e} in input must be a string as hostLabel.`);i=i.replace(`{${e}}`,t)}e.hostname=i+e.hostname}}}deserializeMetadata(e){return{httpStatusCode:e.statusCode,requestId:e.headers["x-amzn-requestid"]??e.headers["x-amzn-request-id"]??e.headers["x-amz-request-id"],extendedRequestId:e.headers["x-amz-id-2"],cfId:e.headers["x-amz-cf-id"]}}async serializeEventStream({eventStream:e,requestSchema:i,initialRequest:n}){return(await this.loadEventStreamCapability()).serializeEventStream({eventStream:e,requestSchema:i,initialRequest:n})}async deserializeEventStream({response:e,responseSchema:i,initialResponseContainer:n}){return(await this.loadEventStreamCapability()).deserializeEventStream({response:e,responseSchema:i,initialResponseContainer:n})}async loadEventStreamCapability(){let{EventStreamSerde:e}=await import("./1~815.mjs").then(e=>({EventStreamSerde:e.EventStreamSerde}));return new e({marshaller:this.getEventStreamMarshaller(),serializer:this.serializer,deserializer:this.deserializer,serdeContext:this.serdeContext,defaultContentType:this.getDefaultContentType()})}getDefaultContentType(){throw Error(`@smithy/core/protocols - ${this.constructor.name} getDefaultContentType() implementation missing.`)}async deserializeHttpMessage(e,i,n,t,a){return[]}getEventStreamMarshaller(){let e=this.serdeContext;if(!e.eventStreamMarshaller)throw Error("@smithy/core - HttpProtocol: eventStreamMarshaller missing in serdeContext.");return e.eventStreamMarshaller}}class p4 extends p2{async serializeRequest(e,i,n){let t,a={...i??{}},r=this.serializer,o={},u={},s=await n.endpoint(),l=uO.of(e?.input),h=l.getSchema(),g=!1,c=new n6({protocol:"",hostname:"",port:void 0,path:"",fragment:void 0,query:o,headers:u,body:void 0});if(s){this.updateServiceEndpoint(c,s),this.setHostPrefix(c,e,a);let i=translateTraits(e.traits);if(i.http){c.method=i.http[0];let[e,n]=i.http[1].split("?");"/"==c.path?c.path=e:c.path+=e,Object.assign(o,Object.fromEntries(new URLSearchParams(n??"")))}}for(let[e,i]of l.structIterator()){let n=i.getMergedTraits()??{},s=a[e];if(null!=s||i.isIdempotencyToken())if(n.httpPayload)i.isStreaming()?i.isStructSchema()?a[e]&&(t=await this.serializeEventStream({eventStream:a[e],requestSchema:l})):t=s:(r.write(i,s),t=r.flush()),delete a[e];else if(n.httpLabel){r.write(i,s);let n=r.flush();c.path.includes(`{${e}+}`)?c.path=c.path.replace(`{${e}+}`,n.split("/").map(extendedEncodeURIComponent).join("/")):c.path.includes(`{${e}}`)&&(c.path=c.path.replace(`{${e}}`,extendedEncodeURIComponent(n))),delete a[e]}else if(n.httpHeader)r.write(i,s),u[n.httpHeader.toLowerCase()]=String(r.flush()),delete a[e];else if("string"==typeof n.httpPrefixHeaders){for(let[e,t]of Object.entries(s)){let a=n.httpPrefixHeaders+e;r.write([i.getValueSchema(),{httpHeader:a}],t),u[a.toLowerCase()]=r.flush()}delete a[e]}else n.httpQuery||n.httpQueryParams?(this.serializeQuery(i,s,o),delete a[e]):g=!0}return g&&a&&(r.write(h,a),t=r.flush()),c.headers=u,c.query=o,c.body=t,c}serializeQuery(e,i,n){let t=this.serializer,a=e.getMergedTraits();if(a.httpQueryParams){for(let[t,r]of Object.entries(i))if(!(t in n)){let i=e.getValueSchema();Object.assign(i.getMergedTraits(),{...a,httpQuery:t,httpQueryParams:void 0}),this.serializeQuery(i,r,n)}return}if(e.isListSchema()){let r=!!e.getMergedTraits().sparse,o=[];for(let n of i){t.write([e.getValueSchema(),a],n);let i=t.flush();(r||void 0!==i)&&o.push(i)}n[a.httpQuery]=o}else t.write([e,a],i),n[a.httpQuery]=t.flush()}async deserializeResponse(e,i,n){let t=this.deserializer,a=uO.of(e.output),r={};if(n.statusCode>=300){let a=await collect_stream_body_collectBody(n.body,i);throw a.byteLength>0&&Object.assign(r,await t.read(15,a)),await this.handleError(e,i,n,r,this.deserializeMetadata(n)),Error("@smithy/core/protocols - HTTP Protocol error handler failed to throw.")}for(let e in n.headers){let i=n.headers[e];delete n.headers[e],n.headers[e.toLowerCase()]=i}let o=await this.deserializeHttpMessage(a,i,n,r);if(o.length){let e=await collect_stream_body_collectBody(n.body,i);if(e.byteLength>0){let i=await t.read(a,e);for(let e of o)r[e]=i[e]}}else o.discardResponseBody&&await collect_stream_body_collectBody(n.body,i);return r.$metadata=this.deserializeMetadata(n),r}async deserializeHttpMessage(e,i,n,t,a){let r;r=t instanceof Set?a:t;let o=!0,u=this.deserializer,s=uO.of(e),l=[];for(let[e,t]of s.structIterator()){let a=t.getMemberTraits();if(a.httpPayload){if(o=!1,t.isStreaming())t.isStructSchema()?r[e]=await this.deserializeEventStream({response:n,responseSchema:s}):r[e]=sdk_stream_mixin_sdkStreamMixin(n.body);else if(n.body){let a=await collect_stream_body_collectBody(n.body,i);a.byteLength>0&&(r[e]=await u.read(t,a))}}else if(a.httpHeader){let i=String(a.httpHeader).toLowerCase(),o=n.headers[i];if(null!=o)if(t.isListSchema()){let n=t.getValueSchema();n.getMergedTraits().httpHeader=i;let a=[];for(let e of n.isTimestampSchema()&&4===n.getSchema()?splitEvery(o,",",2):splitHeader(o))a.push(await u.read(n,e.trim()));r[e]=a}else r[e]=await u.read(t,o)}else if(void 0!==a.httpPrefixHeaders){for(let[i,o]of(r[e]={},Object.entries(n.headers)))if(i.startsWith(a.httpPrefixHeaders)){let n=t.getValueSchema();n.getMergedTraits().httpHeader=i,r[e][i.slice(a.httpPrefixHeaders.length)]=await u.read(n,o)}}else a.httpResponseCode?r[e]=n.statusCode:l.push(e)}return l.discardResponseBody=o,l}}let expectNumber=e=>{if(null!=e){if("string"==typeof e){let i=parseFloat(e);if(!Number.isNaN(i))return String(i)!==String(e)&&p5.warn(stackTraceWarning(`Expected number but observed string: ${e}`)),i}if("number"==typeof e)return e;throw TypeError(`Expected number, got ${typeof e}: ${e}`)}},p8=Math.ceil(17014118346046923e22*(2-11920928955078125e-23)),expectFloat32=e=>{let i=expectNumber(e);if(void 0!==i&&!Number.isNaN(i)&&i!==1/0&&i!==-1/0&&Math.abs(i)>p8)throw TypeError(`Expected 32-bit float, got ${e}`);return i},expectSizedInt=(e,i)=>{let n=(e=>{if(null!=e){if(Number.isInteger(e)&&!Number.isNaN(e))return e;throw TypeError(`Expected integer, got ${typeof e}: ${e}`)}})(e);if(void 0!==n&&castInt(n,i)!==n)throw TypeError(`Expected ${i}-bit integer, got ${e}`);return n},castInt=(e,i)=>{switch(i){case 32:return Int32Array.of(e)[0];case 16:return Int16Array.of(e)[0];case 8:return Int8Array.of(e)[0]}},p6=/(-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?)|(-?Infinity)|(NaN)/g,parseNumber=e=>{let i=e.match(p6);if(null===i||i[0].length!==e.length)throw TypeError("Expected real number, got implicit NaN");return parseFloat(e)},strictParseShort=e=>"string"==typeof e?expectSizedInt(parseNumber(e),16):expectSizedInt(e,16),stackTraceWarning=e=>String(TypeError(e).stack||e).split("\n").slice(0,5).filter(e=>!e.includes("stackTraceWarning")).join("\n"),p5={warn:console.warn},p7=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],p9=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function dateToUtcString(e){let i=e.getUTCFullYear(),n=e.getUTCMonth(),t=e.getUTCDay(),a=e.getUTCDate(),r=e.getUTCHours(),o=e.getUTCMinutes(),u=e.getUTCSeconds(),s=a<10?`0${a}`:`${a}`,l=r<10?`0${r}`:`${r}`,h=o<10?`0${o}`:`${o}`,g=u<10?`0${u}`:`${u}`;return`${p7[t]}, ${s} ${p9[n]} ${i} ${l}:${h}:${g} GMT`}let fe=new RegExp(/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?[zZ]$/),parseRfc3339DateTime=e=>{if(null==e)return;if("string"!=typeof e)throw TypeError("RFC-3339 date-times must be expressed as strings");let i=fe.exec(e);if(!i)throw TypeError("Invalid RFC-3339 date-time value");let[n,t,a,r,o,u,s,l]=i;return buildDate(strictParseShort(stripLeadingZeroes(t)),parseDateValue(a,"month",1,12),parseDateValue(r,"day",1,31),{hours:o,minutes:u,seconds:s,fractionalMilliseconds:l})},fi=new RegExp(/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?(([-+]\d{2}\:\d{2})|[zZ])$/),parseRfc3339DateTimeWithOffset=e=>{if(null==e)return;if("string"!=typeof e)throw TypeError("RFC-3339 date-times must be expressed as strings");let i=fi.exec(e);if(!i)throw TypeError("Invalid RFC-3339 date-time value");let[n,t,a,r,o,u,s,l,h]=i,g=buildDate(strictParseShort(stripLeadingZeroes(t)),parseDateValue(a,"month",1,12),parseDateValue(r,"day",1,31),{hours:o,minutes:u,seconds:s,fractionalMilliseconds:l});return"Z"!=h.toUpperCase()&&g.setTime(g.getTime()-parseOffsetToMilliseconds(h)),g},ft=new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d{2}) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d{1,2}):(\d{2}):(\d{2})(?:\.(\d+))? GMT$/),fa=new RegExp(/^(?:Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d{2})-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d{2}) (\d{1,2}):(\d{2}):(\d{2})(?:\.(\d+))? GMT$/),fr=new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( [1-9]|\d{2}) (\d{1,2}):(\d{2}):(\d{2})(?:\.(\d+))? (\d{4})$/),parseRfc7231DateTime=e=>{if(null==e)return;if("string"!=typeof e)throw TypeError("RFC-7231 date-times must be expressed as strings");let i=ft.exec(e);if(i){let[e,n,t,a,r,o,u,s]=i;return buildDate(strictParseShort(stripLeadingZeroes(a)),parseMonthByShortName(t),parseDateValue(n,"day",1,31),{hours:r,minutes:o,seconds:u,fractionalMilliseconds:s})}if(i=fa.exec(e)){let[e,n,t,a,r,o,u,s]=i;return adjustRfc850Year(buildDate(parseTwoDigitYear(a),parseMonthByShortName(t),parseDateValue(n,"day",1,31),{hours:r,minutes:o,seconds:u,fractionalMilliseconds:s}))}if(i=fr.exec(e)){let[e,n,t,a,r,o,u,s]=i;return buildDate(strictParseShort(stripLeadingZeroes(s)),parseMonthByShortName(n),parseDateValue(t.trimLeft(),"day",1,31),{hours:a,minutes:r,seconds:o,fractionalMilliseconds:u})}throw TypeError("Invalid RFC-7231 date-time value")},parseEpochTimestamp=e=>{let i;if(null!=e){if("number"==typeof e)i=e;else if("string"==typeof e)i="string"==typeof e?expectNumber(parseNumber(e)):expectNumber(e);else if("object"==typeof e&&1===e.tag)i=e.value;else throw TypeError("Epoch timestamps must be expressed as floating point numbers or their string representation");if(Number.isNaN(i)||i===1/0||i===-1/0)throw TypeError("Epoch timestamps must be valid, non-Infinite, non-NaN numerics");return new Date(Math.round(1e3*i))}},buildDate=(e,i,n,t)=>{let a=i-1;return validateDayOfMonth(e,a,n),new Date(Date.UTC(e,a,n,parseDateValue(t.hours,"hour",0,23),parseDateValue(t.minutes,"minute",0,59),parseDateValue(t.seconds,"seconds",0,60),parseMilliseconds(t.fractionalMilliseconds)))},parseTwoDigitYear=e=>{let i=new Date().getUTCFullYear(),n=100*Math.floor(i/100)+strictParseShort(stripLeadingZeroes(e));return n<i?n+100:n},adjustRfc850Year=e=>e.getTime()-new Date().getTime()>15768e8?new Date(Date.UTC(e.getUTCFullYear()-100,e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds())):e,parseMonthByShortName=e=>{let i=p9.indexOf(e);if(i<0)throw TypeError(`Invalid month: ${e}`);return i+1},fo=[31,28,31,30,31,30,31,31,30,31,30,31],validateDayOfMonth=(e,i,n)=>{let t=fo[i];if(1===i&&isLeapYear(e)&&(t=29),n>t)throw TypeError(`Invalid day for ${p9[i]} in ${e}: ${n}`)},isLeapYear=e=>e%4==0&&(e%100!=0||e%400==0),parseDateValue=(e,i,n,t)=>{var a;let r="string"==typeof(a=stripLeadingZeroes(e))?expectSizedInt(parseNumber(a),8):expectSizedInt(a,8);if(r<n||r>t)throw TypeError(`${i} must be between ${n} and ${t}, inclusive`);return r},parseMilliseconds=e=>{var i;return null==e?0:1e3*("string"==typeof(i="0."+e)?expectFloat32(parseNumber(i)):expectFloat32(i))},parseOffsetToMilliseconds=e=>{let i=e[0],n=1;if("+"==i)n=1;else if("-"==i)n=-1;else throw TypeError(`Offset direction, ${i}, must be "+" or "-"`);return n*(60*Number(e.substring(1,3))+Number(e.substring(4,6)))*6e4},stripLeadingZeroes=e=>{let i=0;for(;i<e.length-1&&"0"===e.charAt(i);)i++;return 0===i?e:e.slice(i)};function quoteHeader(e){return(e.includes(",")||e.includes('"'))&&(e=`"${e.replace(/"/g,'\\"')}"`),e}let lazy_json_LazyJsonString=function(e){return Object.assign(new String(e),{deserializeJSON:()=>JSON.parse(String(e)),toString:()=>String(e),toJSON:()=>String(e)})};function determineTimestampFormat(e,i){if(i.timestampFormat.useTrait&&e.isTimestampSchema()&&(5===e.getSchema()||6===e.getSchema()||7===e.getSchema()))return e.getSchema();let{httpLabel:n,httpPrefixHeaders:t,httpHeader:a,httpQuery:r}=e.getMergedTraits();return(i.httpBindings?"string"==typeof t||a?6:r||n?5:void 0:void 0)??i.timestampFormat.default}lazy_json_LazyJsonString.from=e=>e&&"object"==typeof e&&(e instanceof lazy_json_LazyJsonString||"deserializeJSON"in e)?e:"string"==typeof e||Object.getPrototypeOf(e)===String.prototype?lazy_json_LazyJsonString(String(e)):lazy_json_LazyJsonString(JSON.stringify(e)),lazy_json_LazyJsonString.fromObject=lazy_json_LazyJsonString.from;class fu extends p3{settings;stringBuffer="";constructor(e){super(),this.settings=e}write(e,i){let n=uO.of(e);switch(typeof i){case"object":if(null===i){this.stringBuffer="null";return}if(n.isTimestampSchema()){if(!(i instanceof Date))throw Error(`@smithy/core/protocols - received non-Date value ${i} when schema expected Date in ${n.getName(!0)}`);switch(determineTimestampFormat(n,this.settings)){case 5:this.stringBuffer=i.toISOString().replace(".000Z","Z");break;case 6:this.stringBuffer=dateToUtcString(i);break;case 7:this.stringBuffer=String(i.getTime()/1e3);break;default:console.warn("Missing timestamp format, using epoch seconds",i),this.stringBuffer=String(i.getTime()/1e3)}return}if(n.isBlobSchema()&&"byteLength"in i){this.stringBuffer=(this.serdeContext?.base64Encoder??toBase64)(i);return}if(n.isListSchema()&&Array.isArray(i)){let e="";for(let t of i){this.write([n.getValueSchema(),n.getMergedTraits()],t);let i=this.flush();""!==e&&(e+=", "),e+=n.getValueSchema().isTimestampSchema()?i:quoteHeader(i)}this.stringBuffer=e;return}this.stringBuffer=JSON.stringify(i,null,2);break;case"string":let t=n.getMergedTraits().mediaType,a=i;if(t&&(("application/json"===t||t.endsWith("+json"))&&(a=lazy_json_LazyJsonString.from(a)),n.getMergedTraits().httpHeader)){this.stringBuffer=(this.serdeContext?.base64Encoder??toBase64)(a.toString());return}this.stringBuffer=i;break;default:n.isIdempotencyToken()?this.stringBuffer=v4():this.stringBuffer=String(i)}}flush(){let e=this.stringBuffer;return this.stringBuffer="",e}}class fs{codecSerializer;stringSerializer;buffer;constructor(e,i,n=new fu(i)){this.codecSerializer=e,this.stringSerializer=n}setSerdeContext(e){this.codecSerializer.setSerdeContext(e),this.stringSerializer.setSerdeContext(e)}write(e,i){let n=uO.of(e),t=n.getMergedTraits();if(t.httpHeader||t.httpLabel||t.httpQuery){this.stringSerializer.write(n,i),this.buffer=this.stringSerializer.flush();return}return this.codecSerializer.write(n,i)}flush(){if(void 0!==this.buffer){let e=this.buffer;return this.buffer=void 0,e}return this.codecSerializer.flush()}}let fl="(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun)(?:[ne|u?r]?s?day)?",fh="(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)",fg="(\\d?\\d):(\\d{2}):(\\d{2})(?:\\.(\\d+))?",fc="(\\d?\\d)",fd="(\\d{4})",fp=new RegExp(/^(\d{4})-(\d\d)-(\d\d)[tT](\d\d):(\d\d):(\d\d)(\.(\d+))?(([-+]\d\d:\d\d)|[zZ])$/),ff=RegExp(`^${fl}, ${fc} ${fh} ${fd} ${fg} GMT$`),fm=RegExp(`^${fl}, ${fc}-${fh}-(\\d\\d) ${fg} GMT$`),fy=RegExp(`^${fl} ${fh} ( [1-9]|\\d\\d) ${fg} ${fd}$`),fS=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function schema_date_utils_range(e,i,n){let t=Number(e);if(t<i||t>n)throw Error(`Value ${t} out of range [${i}, ${n}]`)}let fb=/^-?\d*(\.\d+)?$/;class fC{string;type;constructor(e,i){if(this.string=e,this.type=i,!fb.test(e))throw Error('@smithy/core/serde - NumericValue must only contain [0-9], at most one decimal point ".", and an optional negation prefix "-".')}toString(){return this.string}static[Symbol.hasInstance](e){return!!e&&"object"==typeof e&&(fC.prototype.isPrototypeOf(e)||"bigDecimal"===e.type&&fb.test(e.string))}}class fw extends p3{settings;constructor(e){super(),this.settings=e}read(e,i){let n=uO.of(e);if(n.isListSchema())return splitHeader(i).map(e=>this.read(n.getValueSchema(),e));if(n.isBlobSchema())return(this.serdeContext?.base64Decoder??fromBase64)(i);if(n.isTimestampSchema())switch(determineTimestampFormat(n,this.settings)){case 5:return(e=>{if(null==e)return;if("string"!=typeof e)throw TypeError("RFC3339 timestamps must be strings");let i=fp.exec(e);if(!i)throw TypeError(`Invalid RFC3339 timestamp format ${e}`);let[,n,t,a,r,o,u,,s,l]=i;schema_date_utils_range(t,1,12),schema_date_utils_range(a,1,31),schema_date_utils_range(r,0,23),schema_date_utils_range(o,0,59),schema_date_utils_range(u,0,60);let h=new Date(Date.UTC(Number(n),Number(t)-1,Number(a),Number(r),Number(o),Number(u),Number(s)?Math.round(1e3*parseFloat(`0.${s}`)):0));if(h.setUTCFullYear(Number(n)),"Z"!=l.toUpperCase()){let[,e,i,n]=/([+-])(\d\d):(\d\d)/.exec(l)||[void 0,"+",0,0];h.setTime(h.getTime()+("-"===e?1:-1)*(60*Number(i)*6e4+60*Number(n)*1e3))}return h})(i);case 6:return(e=>{let i,n,t,a,r,o,u,s;if(null!=e){if("string"!=typeof e)throw TypeError("RFC7231 timestamps must be strings.");if((s=ff.exec(e))?[,i,n,t,a,r,o,u]=s:(s=fm.exec(e))?([,i,n,t,a,r,o,u]=s,t=(Number(t)+1900).toString()):(s=fy.exec(e))&&([,n,i,a,r,o,u,t]=s),t&&o){let e=Date.UTC(Number(t),fS.indexOf(n),Number(i),Number(a),Number(r),Number(o),u?Math.round(1e3*parseFloat(`0.${u}`)):0);schema_date_utils_range(i,1,31),schema_date_utils_range(a,0,23),schema_date_utils_range(r,0,59),schema_date_utils_range(o,0,60);let s=new Date(e);return s.setUTCFullYear(Number(t)),s}throw TypeError(`Invalid RFC7231 date-time value ${e}.`)}})(i);case 7:if(null==i)return;let t=NaN;if("number"==typeof i)t=i;else if("string"==typeof i){if(!/^-?\d*\.?\d+$/.test(i))throw TypeError("parseEpochTimestamp - numeric string invalid.");t=Number.parseFloat(i)}else"object"==typeof i&&1===i.tag&&(t=i.value);if(isNaN(t)||Math.abs(t)===1/0)throw TypeError("Epoch timestamps must be valid finite numbers.");return new Date(Math.round(1e3*t));default:return console.warn("Missing timestamp format, parsing value with Date constructor:",i),new Date(i)}if(n.isStringSchema()){let e=n.getMergedTraits().mediaType,t=i;if(e)return n.getMergedTraits().httpHeader&&(t=this.base64ToUtf8(t)),("application/json"===e||e.endsWith("+json"))&&(t=lazy_json_LazyJsonString.from(t)),t}return n.isNumericSchema()?Number(i):n.isBigIntegerSchema()?BigInt(i):n.isBigDecimalSchema()?new fC(i,"bigDecimal"):n.isBooleanSchema()?"true"===String(i).toLowerCase():i}base64ToUtf8(e){return(this.serdeContext?.utf8Encoder??dist_es_toUtf8_toUtf8)((this.serdeContext?.base64Decoder??fromBase64)(e))}}class fT extends p3{codecDeserializer;stringDeserializer;constructor(e,i){super(),this.codecDeserializer=e,this.stringDeserializer=new fw(i)}setSerdeContext(e){this.stringDeserializer.setSerdeContext(e),this.codecDeserializer.setSerdeContext(e),this.serdeContext=e}read(e,i){let n=uO.of(e),t=n.getMergedTraits(),a=this.serdeContext?.utf8Encoder??dist_es_toUtf8_toUtf8;if(t.httpHeader||t.httpResponseCode)return this.stringDeserializer.read(n,a(i));if(t.httpPayload){if(n.isBlobSchema()){let e=this.serdeContext?.utf8Decoder??fromUtf8_fromUtf8;return"string"==typeof i?e(i):i}else if(n.isStringSchema())return"byteLength"in i?a(i):i}return this.codecDeserializer.read(n,i)}}class fx{queryCompat;constructor(e=!1){this.queryCompat=e}resolveRestContentType(e,i){let n=i.getMemberSchemas(),t=Object.values(n).find(e=>!!e.getMergedTraits().httpPayload);if(t){let i=t.getMergedTraits().mediaType;return i?i:t.isStringSchema()?"text/plain":t.isBlobSchema()?"application/octet-stream":e}if(!i.isUnitSchema()&&Object.values(n).find(e=>{let{httpQuery:i,httpQueryParams:n,httpHeader:t,httpLabel:a,httpPrefixHeaders:r}=e.getMergedTraits();return!i&&!n&&!t&&!a&&void 0===r}))return e}async getErrorSchemaOrThrowBaseException(e,i,n,t,a,r){let o=i,u=e;e.includes("#")&&([o,u]=e.split("#"));let s={$metadata:a,$fault:n.statusCode<500?"client":"server"},l=u$.for(o);try{return{errorSchema:r?.(l,u)??l.getSchema(e),errorMetadata:s}}catch(n){t.message=t.message??t.Message??"UnknownError";let e=u$.for("smithy.ts.sdk.synthetic."+o),i=e.getBaseException();if(i){let n=e.getErrorCtor(i)??Error;throw this.decorateServiceException(Object.assign(new n({name:u}),s),t)}throw this.decorateServiceException(Object.assign(Error(u),s),t)}}decorateServiceException(e,i={}){if(this.queryCompat){let n=e.Message??i.Message,t=decorateServiceException(e,i);n&&(t.message=n),t.Error={...t.Error,Type:t.Error.Type,Code:t.Error.Code,Message:t.Error.message??t.Error.Message??n};let a=t.$metadata.requestId;return a&&(t.RequestId=a),t}return decorateServiceException(e,i)}setQueryCompatError(e,i){let n=i.headers?.["x-amzn-query-error"];if(void 0!==e&&null!=n){let[i,t]=n.split(";"),a=Object.entries(e),r={Code:i,Type:t};for(let[i,n]of(Object.assign(e,r),a))r["message"===i?"Message":i]=n;delete r.__type,e.Error=r}}queryCompatOutput(e,i){e.Error&&(i.Error=e.Error),e.Type&&(i.Type=e.Type),e.Code&&(i.Code=e.Code)}findQueryCompatibleError(e,i){try{return e.getSchema(i)}catch(n){return e.find(e=>uO.of(e).getMergedTraits().awsQueryError?.[0]===i)}}}class fL{serdeContext;setSerdeContext(e){this.serdeContext=e}}let fE={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(e,i){return i},attributeValueProcessor:function(e,i){return i},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(e,i,n){return e},captureMetaData:!1},f_=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",fY=RegExp("^"+("["+f_+"]["+f_)+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$");function getAllMatches(e,i){let n=[],t=i.exec(e);for(;t;){let a=[];a.startIndex=i.lastIndex-t[0].length;let r=t.length;for(let e=0;e<r;e++)a.push(t[e]);n.push(a),t=i.exec(e)}return n}let isName=function(e){return null!=fY.exec(e)};function isExist(e){return void 0!==e}n="function"!=typeof Symbol?"@@xmlMetadata":Symbol("XML Node Metadata");class fD{constructor(e){this.tagname=e,this.child=[],this[":@"]={}}add(e,i){"__proto__"===e&&(e="#__proto__"),this.child.push({[e]:i})}addChild(e,i){"__proto__"===e.tagname&&(e.tagname="#__proto__"),e[":@"]&&Object.keys(e[":@"]).length>0?this.child.push({[e.tagname]:e.child,":@":e[":@"]}):this.child.push({[e.tagname]:e.child}),void 0!==i&&(this.child[this.child.length-1][n]={startIndex:i})}static getMetaDataSymbol(){return n}}function readDocType(e,i){let n={};if("O"===e[i+3]&&"C"===e[i+4]&&"T"===e[i+5]&&"Y"===e[i+6]&&"P"===e[i+7]&&"E"===e[i+8]){i+=9;let t=1,a=!1,r=!1;for(;i<e.length;i++)if("<"!==e[i]||r)if(">"===e[i]){if(r?"-"===e[i-1]&&"-"===e[i-2]&&(r=!1,t--):t--,0===t)break}else"["===e[i]?a=!0:e[i];else{if(a&&hasSeq(e,"!ENTITY",i)){let t,a;i+=7,[t,a,i]=readEntityExp(e,i+1),-1===a.indexOf("&")&&(n[t]={regx:RegExp(`&${t};`,"g"),val:a})}else if(a&&hasSeq(e,"!ELEMENT",i)){let{index:n}=readElementExp(e,(i+=8)+1);i=n}else if(a&&hasSeq(e,"!ATTLIST",i))i+=8;else if(a&&hasSeq(e,"!NOTATION",i)){let{index:n}=readNotationExp(e,(i+=9)+1);i=n}else if(hasSeq(e,"!--",i))r=!0;else throw Error("Invalid DOCTYPE");t++}if(0!==t)throw Error("Unclosed DOCTYPE")}else throw Error("Invalid Tag instead of DOCTYPE");return{entities:n,i}}let skipWhitespace=(e,i)=>{for(;i<e.length&&/\s/.test(e[i]);)i++;return i};function readEntityExp(e,i){i=skipWhitespace(e,i);let n="";for(;i<e.length&&!/\s/.test(e[i])&&'"'!==e[i]&&"'"!==e[i];)n+=e[i],i++;if(validateEntityName(n),i=skipWhitespace(e,i),"SYSTEM"===e.substring(i,i+6).toUpperCase())throw Error("External entities are not supported");if("%"===e[i])throw Error("Parameter entities are not supported");let t="";return[i,t]=readIdentifierVal(e,i,"entity"),[n,t,--i]}function readNotationExp(e,i){i=skipWhitespace(e,i);let n="";for(;i<e.length&&!/\s/.test(e[i]);)n+=e[i],i++;validateEntityName(n),i=skipWhitespace(e,i);let t=e.substring(i,i+6).toUpperCase();if("SYSTEM"!==t&&"PUBLIC"!==t)throw Error(`Expected SYSTEM or PUBLIC, found "${t}"`);i+=t.length,i=skipWhitespace(e,i);let a=null,r=null;if("PUBLIC"===t)[i,a]=readIdentifierVal(e,i,"publicIdentifier"),i=skipWhitespace(e,i),('"'===e[i]||"'"===e[i])&&([i,r]=readIdentifierVal(e,i,"systemIdentifier"));else if("SYSTEM"===t&&([i,r]=readIdentifierVal(e,i,"systemIdentifier"),!r))throw Error("Missing mandatory system identifier for SYSTEM notation");return{notationName:n,publicIdentifier:a,systemIdentifier:r,index:--i}}function readIdentifierVal(e,i,n){let t="",a=e[i];if('"'!==a&&"'"!==a)throw Error(`Expected quoted string, found "${a}"`);for(i++;i<e.length&&e[i]!==a;)t+=e[i],i++;if(e[i]!==a)throw Error(`Unterminated ${n} value`);return[++i,t]}function readElementExp(e,i){i=skipWhitespace(e,i);let n="";for(;i<e.length&&!/\s/.test(e[i]);)n+=e[i],i++;if(!validateEntityName(n))throw Error(`Invalid element name: "${n}"`);i=skipWhitespace(e,i);let t="";if("E"===e[i]&&hasSeq(e,"MPTY",i))i+=4;else if("A"===e[i]&&hasSeq(e,"NY",i))i+=2;else if("("===e[i]){for(i++;i<e.length&&")"!==e[i];)t+=e[i],i++;if(")"!==e[i])throw Error("Unterminated content model")}else throw Error(`Invalid Element Expression, found "${e[i]}"`);return{elementName:n,contentModel:t.trim(),index:i}}function hasSeq(e,i,n){for(let t=0;t<i.length;t++)if(i[t]!==e[n+t+1])return!1;return!0}function validateEntityName(e){if(isName(e))return e;throw Error(`Invalid entity name ${e}`)}let fv=/^[-+]?0x[a-fA-F0-9]+$/,fA=/^([\-\+])?(0*)([0-9]*(\.[0-9]*)?)$/,fN={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function toNumber(e,i={}){if(i=Object.assign({},fN,i),!e||"string"!=typeof e)return e;let n=e.trim();if(void 0!==i.skipLike&&i.skipLike.test(n))return e;{if("0"===e)return 0;if(i.hex&&fv.test(n))return parse_int(n,16);if(n.includes("e")||n.includes("E"))return resolveEnotation(e,n,i);let t=fA.exec(n);if(!t)return e;{let a=t[1]||"",r=t[2],o=trimZeros(t[3]),u=a?"."===e[r.length+1]:"."===e[r.length];if(!i.leadingZeros&&(r.length>1||1===r.length&&!u))return e;{let t=Number(n),u=String(t);if(0===t)return t;if(-1!==u.search(/[eE]/))if(i.eNotation)return t;else return e;if(-1!==n.indexOf("."))if("0"===u)return t;else if(u===o)return t;else if(u===`${a}${o}`)return t;else return e;let s=r?o:n;return r?s===u||a+s===u?t:e:s===u||s===a+u?t:e}}}}let fP=/^([-+])?(0*)(\d*(\.\d*)?[eE][-\+]?\d+)$/;function resolveEnotation(e,i,n){if(!n.eNotation)return e;let t=i.match(fP);if(!t)return e;{let a=t[1]||"",r=-1===t[3].indexOf("e")?"E":"e",o=t[2],u=a?e[o.length+1]===r:e[o.length]===r;return o.length>1&&u?e:1===o.length&&(t[3].startsWith(`.${r}`)||t[3][0]===r)?Number(i):n.leadingZeros&&!u?Number(i=(t[1]||"")+t[3]):e}}function trimZeros(e){return e&&-1!==e.indexOf(".")&&("."===(e=e.replace(/0+$/,""))?e="0":"."===e[0]?e="0"+e:"."===e[e.length-1]&&(e=e.substring(0,e.length-1))),e}function parse_int(e,i){if(parseInt)return parseInt(e,i);if(Number.parseInt)return Number.parseInt(e,i);if(window&&window.parseInt)return window.parseInt(e,i);throw Error("parseInt, Number.parseInt, window.parseInt are not supported")}function getIgnoreAttributesFn(e){return"function"==typeof e?e:Array.isArray(e)?i=>{for(let n of e)if("string"==typeof n&&i===n||n instanceof RegExp&&n.test(i))return!0}:()=>!1}class fZ{constructor(e){this.options=e,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"\xa2"},pound:{regex:/&(pound|#163);/g,val:"\xa3"},yen:{regex:/&(yen|#165);/g,val:"\xa5"},euro:{regex:/&(euro|#8364);/g,val:"€"},copyright:{regex:/&(copy|#169);/g,val:"\xa9"},reg:{regex:/&(reg|#174);/g,val:"\xae"},inr:{regex:/&(inr|#8377);/g,val:"₹"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(e,i)=>String.fromCodePoint(Number.parseInt(i,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(e,i)=>String.fromCodePoint(Number.parseInt(i,16))}},this.addExternalEntities=addExternalEntities,this.parseXml=parseXml,this.parseTextData=parseTextData,this.resolveNameSpace=resolveNameSpace,this.buildAttributesMap=buildAttributesMap,this.isItStopNode=isItStopNode,this.replaceEntitiesValue=replaceEntitiesValue,this.readStopNodeData=readStopNodeData,this.saveTextToParentTag=saveTextToParentTag,this.addChild=addChild,this.ignoreAttributesFn=getIgnoreAttributesFn(this.options.ignoreAttributes)}}function addExternalEntities(e){let i=Object.keys(e);for(let n=0;n<i.length;n++){let t=i[n];this.lastEntities[t]={regex:RegExp("&"+t+";","g"),val:e[t]}}}function parseTextData(e,i,n,t,a,r,o){if(void 0!==e&&(this.options.trimValues&&!t&&(e=e.trim()),e.length>0)){o||(e=this.replaceEntitiesValue(e));let t=this.options.tagValueProcessor(i,e,n,a,r);return null==t?e:typeof t!=typeof e||t!==e?t:this.options.trimValues||e.trim()===e?parseValue(e,this.options.parseTagValue,this.options.numberParseOptions):e}}function resolveNameSpace(e){if(this.options.removeNSPrefix){let i=e.split(":"),n="/"===e.charAt(0)?"/":"";if("xmlns"===i[0])return"";2===i.length&&(e=n+i[1])}return e}let fR=RegExp("([^\\s=]+)\\s*(=\\s*(['\"])([\\s\\S]*?)\\3)?","gm");function buildAttributesMap(e,i,n){if(!0!==this.options.ignoreAttributes&&"string"==typeof e){let n=getAllMatches(e,fR),t=n.length,a={};for(let e=0;e<t;e++){let t=this.resolveNameSpace(n[e][1]);if(this.ignoreAttributesFn(t,i))continue;let r=n[e][4],o=this.options.attributeNamePrefix+t;if(t.length)if(this.options.transformAttributeName&&(o=this.options.transformAttributeName(o)),"__proto__"===o&&(o="#__proto__"),void 0!==r){this.options.trimValues&&(r=r.trim()),r=this.replaceEntitiesValue(r);let e=this.options.attributeValueProcessor(t,r,i);null==e?a[o]=r:typeof e!=typeof r||e!==r?a[o]=e:a[o]=parseValue(r,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(a[o]=!0)}if(Object.keys(a).length){if(this.options.attributesGroupName){let e={};return e[this.options.attributesGroupName]=a,e}return a}}}let parseXml=function(e){e=e.replace(/\r\n?/g,"\n");let i=new fD("!xml"),n=i,t="",a="";for(let r=0;r<e.length;r++)if("<"===e[r])if("/"===e[r+1]){let i=findClosingIndex(e,">",r,"Closing Tag is not closed."),o=e.substring(r+2,i).trim();if(this.options.removeNSPrefix){let e=o.indexOf(":");-1!==e&&(o=o.substr(e+1))}this.options.transformTagName&&(o=this.options.transformTagName(o)),n&&(t=this.saveTextToParentTag(t,n,a));let u=a.substring(a.lastIndexOf(".")+1);if(o&&-1!==this.options.unpairedTags.indexOf(o))throw Error(`Unpaired tag can not be used as closing tag: </${o}>`);let s=0;u&&-1!==this.options.unpairedTags.indexOf(u)?(s=a.lastIndexOf(".",a.lastIndexOf(".")-1),this.tagsNodeStack.pop()):s=a.lastIndexOf("."),a=a.substring(0,s),n=this.tagsNodeStack.pop(),t="",r=i}else if("?"===e[r+1]){let i=readTagExp(e,r,!1,"?>");if(!i)throw Error("Pi Tag is not closed.");if(t=this.saveTextToParentTag(t,n,a),this.options.ignoreDeclaration&&"?xml"===i.tagName||this.options.ignorePiTags);else{let e=new fD(i.tagName);e.add(this.options.textNodeName,""),i.tagName!==i.tagExp&&i.attrExpPresent&&(e[":@"]=this.buildAttributesMap(i.tagExp,a,i.tagName)),this.addChild(n,e,a,r)}r=i.closeIndex+1}else if("!--"===e.substr(r+1,3)){let i=findClosingIndex(e,"--\x3e",r+4,"Comment is not closed.");if(this.options.commentPropName){let o=e.substring(r+4,i-2);t=this.saveTextToParentTag(t,n,a),n.add(this.options.commentPropName,[{[this.options.textNodeName]:o}])}r=i}else if("!D"===e.substr(r+1,2)){let i=readDocType(e,r);this.docTypeEntities=i.entities,r=i.i}else if("!["===e.substr(r+1,2)){let i=findClosingIndex(e,"]]>",r,"CDATA is not closed.")-2,o=e.substring(r+9,i);t=this.saveTextToParentTag(t,n,a);let u=this.parseTextData(o,n.tagname,a,!0,!1,!0,!0);void 0==u&&(u=""),this.options.cdataPropName?n.add(this.options.cdataPropName,[{[this.options.textNodeName]:o}]):n.add(this.options.textNodeName,u),r=i+2}else{let o=readTagExp(e,r,this.options.removeNSPrefix),u=o.tagName,s=o.rawTagName,l=o.tagExp,h=o.attrExpPresent,g=o.closeIndex;this.options.transformTagName&&(u=this.options.transformTagName(u)),n&&t&&"!xml"!==n.tagname&&(t=this.saveTextToParentTag(t,n,a,!1));let c=n;c&&-1!==this.options.unpairedTags.indexOf(c.tagname)&&(n=this.tagsNodeStack.pop(),a=a.substring(0,a.lastIndexOf("."))),u!==i.tagname&&(a+=a?"."+u:u);let d=r;if(this.isItStopNode(this.options.stopNodes,a,u)){let i="";if(l.length>0&&l.lastIndexOf("/")===l.length-1)"/"===u[u.length-1]?(u=u.substr(0,u.length-1),a=a.substr(0,a.length-1),l=u):l=l.substr(0,l.length-1),r=o.closeIndex;else if(-1!==this.options.unpairedTags.indexOf(u))r=o.closeIndex;else{let n=this.readStopNodeData(e,s,g+1);if(!n)throw Error(`Unexpected end of ${s}`);r=n.i,i=n.tagContent}let t=new fD(u);u!==l&&h&&(t[":@"]=this.buildAttributesMap(l,a,u)),i&&(i=this.parseTextData(i,u,a,!0,h,!0,!0)),a=a.substr(0,a.lastIndexOf(".")),t.add(this.options.textNodeName,i),this.addChild(n,t,a,d)}else{if(l.length>0&&l.lastIndexOf("/")===l.length-1){"/"===u[u.length-1]?(u=u.substr(0,u.length-1),a=a.substr(0,a.length-1),l=u):l=l.substr(0,l.length-1),this.options.transformTagName&&(u=this.options.transformTagName(u));let e=new fD(u);u!==l&&h&&(e[":@"]=this.buildAttributesMap(l,a,u)),this.addChild(n,e,a,d),a=a.substr(0,a.lastIndexOf("."))}else{let e=new fD(u);this.tagsNodeStack.push(n),u!==l&&h&&(e[":@"]=this.buildAttributesMap(l,a,u)),this.addChild(n,e,a,d),n=e}t="",r=g}}else t+=e[r];return i.child};function addChild(e,i,n,t){this.options.captureMetaData||(t=void 0);let a=this.options.updateTag(i.tagname,n,i[":@"]);!1===a||("string"==typeof a&&(i.tagname=a),e.addChild(i,t))}let replaceEntitiesValue=function(e){if(this.options.processEntities){for(let i in this.docTypeEntities){let n=this.docTypeEntities[i];e=e.replace(n.regx,n.val)}for(let i in this.lastEntities){let n=this.lastEntities[i];e=e.replace(n.regex,n.val)}if(this.options.htmlEntities)for(let i in this.htmlEntities){let n=this.htmlEntities[i];e=e.replace(n.regex,n.val)}e=e.replace(this.ampEntity.regex,this.ampEntity.val)}return e};function saveTextToParentTag(e,i,n,t){return e&&(void 0===t&&(t=0===i.child.length),void 0!==(e=this.parseTextData(e,i.tagname,n,!1,!!i[":@"]&&0!==Object.keys(i[":@"]).length,t))&&""!==e&&i.add(this.options.textNodeName,e),e=""),e}function isItStopNode(e,i,n){let t="*."+n;for(let n in e){let a=e[n];if(t===a||i===a)return!0}return!1}function tagExpWithClosingIndex(e,i,n=">"){let t,a="";for(let r=i;r<e.length;r++){let i=e[r];if(t)i===t&&(t="");else if('"'===i||"'"===i)t=i;else if(i===n[0]){if(!n[1])return{data:a,index:r};else if(e[r+1]===n[1])return{data:a,index:r}}else" "===i&&(i=" ");a+=i}}function findClosingIndex(e,i,n,t){let a=e.indexOf(i,n);if(-1!==a)return a+i.length-1;throw Error(t)}function readTagExp(e,i,n,t=">"){let a=tagExpWithClosingIndex(e,i+1,t);if(!a)return;let r=a.data,o=a.index,u=r.search(/\s/),s=r,l=!0;-1!==u&&(s=r.substring(0,u),r=r.substring(u+1).trimStart());let h=s;if(n){let e=s.indexOf(":");-1!==e&&(l=(s=s.substr(e+1))!==a.data.substr(e+1))}return{tagName:s,tagExp:r,closeIndex:o,attrExpPresent:l,rawTagName:h}}function readStopNodeData(e,i,n){let t=n,a=1;for(;n<e.length;n++)if("<"===e[n])if("/"===e[n+1]){let r=findClosingIndex(e,">",n,`${i} is not closed`);if(e.substring(n+2,r).trim()===i&&0==--a)return{tagContent:e.substring(t,n),i:r};n=r}else if("?"===e[n+1])n=findClosingIndex(e,"?>",n+1,"StopNode is not closed.");else if("!--"===e.substr(n+1,3))n=findClosingIndex(e,"--\x3e",n+3,"StopNode is not closed.");else if("!["===e.substr(n+1,2))n=findClosingIndex(e,"]]>",n,"StopNode is not closed.")-2;else{let t=readTagExp(e,n,">");t&&((t&&t.tagName)===i&&"/"!==t.tagExp[t.tagExp.length-1]&&a++,n=t.closeIndex)}}function parseValue(e,i,n){if(i&&"string"==typeof e){let i=e.trim();return"true"===i||"false"!==i&&toNumber(e,n)}return isExist(e)?e:""}let fM=fD.getMetaDataSymbol();function prettify(e,i){return compress(e,i)}function compress(e,i,n){let t,a={};for(let r=0;r<e.length;r++){let o=e[r],u=propName(o),s="";if(s=void 0===n?u:n+"."+u,u===i.textNodeName)void 0===t?t=o[u]:t+=""+o[u];else if(void 0===u)continue;else if(o[u]){let e=compress(o[u],i,s),n=isLeafTag(e,i);void 0!==o[fM]&&(e[fM]=o[fM]),o[":@"]?assignAttributes(e,o[":@"],s,i):1!==Object.keys(e).length||void 0===e[i.textNodeName]||i.alwaysCreateTextNode?0===Object.keys(e).length&&(i.alwaysCreateTextNode?e[i.textNodeName]="":e=""):e=e[i.textNodeName],void 0!==a[u]&&a.hasOwnProperty(u)?(Array.isArray(a[u])||(a[u]=[a[u]]),a[u].push(e)):i.isArray(u,s,n)?a[u]=[e]:a[u]=e}}return"string"==typeof t?t.length>0&&(a[i.textNodeName]=t):void 0!==t&&(a[i.textNodeName]=t),a}function propName(e){let i=Object.keys(e);for(let e=0;e<i.length;e++){let n=i[e];if(":@"!==n)return n}}function assignAttributes(e,i,n,t){if(i){let a=Object.keys(i),r=a.length;for(let o=0;o<r;o++){let r=a[o];t.isArray(r,n+"."+r,!0,!0)?e[r]=[i[r]]:e[r]=i[r]}}}function isLeafTag(e,i){let{textNodeName:n}=i,t=Object.keys(e).length;return 0===t||1===t&&(!!e[n]||"boolean"==typeof e[n]||0===e[n])}let fJ={allowBooleanAttributes:!1,unpairedTags:[]};function validator_validate(e,i){i=Object.assign({},fJ,i);let n=[],t=!1,a=!1;"\uFEFF"===e[0]&&(e=e.substr(1));for(let r=0;r<e.length;r++)if("<"===e[r]&&"?"===e[r+1]){if(r+=2,(r=readPI(e,r)).err)return r}else if("<"===e[r]){let o=r;if("!"===e[++r]){r=readCommentAndCDATA(e,r);continue}{let u=!1;"/"===e[r]&&(u=!0,r++);let s="";for(;r<e.length&&">"!==e[r]&&" "!==e[r]&&" "!==e[r]&&"\n"!==e[r]&&"\r"!==e[r];r++)s+=e[r];if("/"===(s=s.trim())[s.length-1]&&(s=s.substring(0,s.length-1),r--),!validateTagName(s))return getErrorObject("InvalidTag",0===s.trim().length?"Invalid space after '<'.":"Tag '"+s+"' is an invalid name.",getLineNumberForPosition(e,r));let l=readAttributeStr(e,r);if(!1===l)return getErrorObject("InvalidAttr","Attributes for '"+s+"' have open quote.",getLineNumberForPosition(e,r));let h=l.value;if(r=l.index,"/"===h[h.length-1]){let n=r-h.length,a=validateAttributeString(h=h.substring(0,h.length-1),i);if(!0!==a)return getErrorObject(a.err.code,a.err.msg,getLineNumberForPosition(e,n+a.err.line));t=!0}else if(u)if(!l.tagClosed)return getErrorObject("InvalidTag","Closing tag '"+s+"' doesn't have proper closing.",getLineNumberForPosition(e,r));else{if(h.trim().length>0)return getErrorObject("InvalidTag","Closing tag '"+s+"' can't have attributes or invalid starting.",getLineNumberForPosition(e,o));if(0===n.length)return getErrorObject("InvalidTag","Closing tag '"+s+"' has not been opened.",getLineNumberForPosition(e,o));let i=n.pop();if(s!==i.tagName){let n=getLineNumberForPosition(e,i.tagStartPos);return getErrorObject("InvalidTag","Expected closing tag '"+i.tagName+"' (opened in line "+n.line+", col "+n.col+") instead of closing tag '"+s+"'.",getLineNumberForPosition(e,o))}0==n.length&&(a=!0)}else{let u=validateAttributeString(h,i);if(!0!==u)return getErrorObject(u.err.code,u.err.msg,getLineNumberForPosition(e,r-h.length+u.err.line));if(!0===a)return getErrorObject("InvalidXml","Multiple possible root nodes found.",getLineNumberForPosition(e,r));-1!==i.unpairedTags.indexOf(s)||n.push({tagName:s,tagStartPos:o}),t=!0}for(r++;r<e.length;r++)if("<"===e[r])if("!"===e[r+1]){r=readCommentAndCDATA(e,++r);continue}else if("?"===e[r+1]){if((r=readPI(e,++r)).err)return r}else break;else if("&"===e[r]){let i=validateAmpersand(e,r);if(-1==i)return getErrorObject("InvalidChar","char '&' is not expected.",getLineNumberForPosition(e,r));r=i}else if(!0===a&&!isWhiteSpace(e[r]))return getErrorObject("InvalidXml","Extra text at the end",getLineNumberForPosition(e,r));"<"===e[r]&&r--}}else{if(isWhiteSpace(e[r]))continue;return getErrorObject("InvalidChar","char '"+e[r]+"' is not expected.",getLineNumberForPosition(e,r))}return t?1==n.length?getErrorObject("InvalidTag","Unclosed tag '"+n[0].tagName+"'.",getLineNumberForPosition(e,n[0].tagStartPos)):!(n.length>0)||getErrorObject("InvalidXml","Invalid '"+JSON.stringify(n.map(e=>e.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1}):getErrorObject("InvalidXml","Start tag expected.",1)}function isWhiteSpace(e){return" "===e||" "===e||"\n"===e||"\r"===e}function readPI(e,i){let n=i;for(;i<e.length;i++)if("?"==e[i]||" "==e[i]){let t=e.substr(n,i-n);if(i>5&&"xml"===t)return getErrorObject("InvalidXml","XML declaration allowed only at the start of the document.",getLineNumberForPosition(e,i));if("?"!=e[i]||">"!=e[i+1])continue;i++;break}return i}function readCommentAndCDATA(e,i){if(e.length>i+5&&"-"===e[i+1]&&"-"===e[i+2]){for(i+=3;i<e.length;i++)if("-"===e[i]&&"-"===e[i+1]&&">"===e[i+2]){i+=2;break}}else if(e.length>i+8&&"D"===e[i+1]&&"O"===e[i+2]&&"C"===e[i+3]&&"T"===e[i+4]&&"Y"===e[i+5]&&"P"===e[i+6]&&"E"===e[i+7]){let n=1;for(i+=8;i<e.length;i++)if("<"===e[i])n++;else if(">"===e[i]&&0==--n)break}else if(e.length>i+9&&"["===e[i+1]&&"C"===e[i+2]&&"D"===e[i+3]&&"A"===e[i+4]&&"T"===e[i+5]&&"A"===e[i+6]&&"["===e[i+7]){for(i+=8;i<e.length;i++)if("]"===e[i]&&"]"===e[i+1]&&">"===e[i+2]){i+=2;break}}return i}function readAttributeStr(e,i){let n="",t="",a=!1;for(;i<e.length;i++){if('"'===e[i]||"'"===e[i])""===t?t=e[i]:t!==e[i]||(t="");else if(">"===e[i]&&""===t){a=!0;break}n+=e[i]}return""===t&&{value:n,index:i,tagClosed:a}}let fk=RegExp("(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['\"])(([\\s\\S])*?)\\5)?","g");function validateAttributeString(e,i){let n=getAllMatches(e,fk),t={};for(let e=0;e<n.length;e++){if(0===n[e][1].length)return getErrorObject("InvalidAttr","Attribute '"+n[e][2]+"' has no space in starting.",getPositionFromMatch(n[e]));if(void 0!==n[e][3]&&void 0===n[e][4])return getErrorObject("InvalidAttr","Attribute '"+n[e][2]+"' is without value.",getPositionFromMatch(n[e]));if(void 0===n[e][3]&&!i.allowBooleanAttributes)return getErrorObject("InvalidAttr","boolean attribute '"+n[e][2]+"' is not allowed.",getPositionFromMatch(n[e]));let a=n[e][2];if(!validateAttrName(a))return getErrorObject("InvalidAttr","Attribute '"+a+"' is an invalid name.",getPositionFromMatch(n[e]));if(t.hasOwnProperty(a))return getErrorObject("InvalidAttr","Attribute '"+a+"' is repeated.",getPositionFromMatch(n[e]));t[a]=1}return!0}function validateNumberAmpersand(e,i){let n=/\d/;for("x"===e[i]&&(i++,n=/[\da-fA-F]/);i<e.length;i++){if(";"===e[i])return i;if(!e[i].match(n))break}return -1}function validateAmpersand(e,i){if(";"===e[++i])return -1;if("#"===e[i])return validateNumberAmpersand(e,++i);let n=0;for(;i<e.length;i++,n++)if(!e[i].match(/\w/)||!(n<20)){if(";"===e[i])break;return -1}return i}function getErrorObject(e,i,n){return{err:{code:e,msg:i,line:n.line||n,col:n.col}}}function validateAttrName(e){return isName(e)}function validateTagName(e){return isName(e)}function getLineNumberForPosition(e,i){let n=e.substring(0,i).split(/\r?\n/);return{line:n.length,col:n[n.length-1].length+1}}function getPositionFromMatch(e){return e.startIndex+e[1].length}let fB=new class{constructor(e){this.externalEntities={},this.options=Object.assign({},fE,e)}parse(e,i){if("string"==typeof e);else if(e.toString)e=e.toString();else throw Error("XML data is accepted in String or Bytes[] form.");if(i){!0===i&&(i={});let n=validator_validate(e,i);if(!0!==n)throw Error(`${n.err.msg}:${n.err.line}:${n.err.col}`)}let n=new fZ(this.options);n.addExternalEntities(this.externalEntities);let t=n.parseXml(e);return this.options.preserveOrder||void 0===t?t:prettify(t,this.options)}addEntity(e,i){if(-1!==i.indexOf("&"))throw Error("Entity value can't have '&'");if(-1!==e.indexOf("&")||-1!==e.indexOf(";"))throw Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '
'");if("&"===i)throw Error("An entity with value '&' is not permitted");this.externalEntities[e]=i}static getMetaDataSymbol(){return fD.getMetaDataSymbol()}}({attributeNamePrefix:"",htmlEntities:!0,ignoreAttributes:!1,ignoreDeclaration:!0,parseTagValue:!1,trimValues:!1,tagValueProcessor:(e,i)=>""===i.trim()&&i.includes("\n")?"":void 0});function xml_parser_parseXML(e){return fB.parse(e,!0)}fB.addEntity("#xD","\r"),fB.addEntity("#10","\n");let get_value_from_text_node_getValueFromTextNode=e=>{let i="#text";for(let n in e)e.hasOwnProperty(n)&&void 0!==e[n][i]?e[n]=e[n][i]:"object"==typeof e[n]&&null!==e[n]&&(e[n]=get_value_from_text_node_getValueFromTextNode(e[n]));return e};class fH{from;to;keys;constructor(e,i){this.from=e,this.to=i,this.keys=new Set(Object.keys(this.from).filter(e=>"__type"!==e))}mark(e){this.keys.delete(e)}hasUnknown(){return 1===this.keys.size&&0===Object.keys(this.to).length}writeUnknown(){if(this.hasUnknown()){let e=this.keys.values().next().value,i=this.from[e];this.to.$unknown=[e,i]}}}class fF extends fL{settings;stringDeserializer;constructor(e){super(),this.settings=e,this.stringDeserializer=new fw(e)}setSerdeContext(e){this.serdeContext=e,this.stringDeserializer.setSerdeContext(e)}read(e,i,n){let t=uO.of(e),a=t.getMemberSchemas();if(t.isStructSchema()&&t.isMemberSchema()&&Object.values(a).find(e=>!!e.getMemberTraits().eventPayload)){let e={},n=Object.keys(a)[0];return a[n].isBlobSchema()?e[n]=i:e[n]=this.read(a[n],i),e}let r=(this.serdeContext?.utf8Encoder??dist_es_toUtf8_toUtf8)(i),o=this.parseXml(r);return this.readSchema(e,n?o[n]:o)}readSchema(e,i){let n=uO.of(e);if(n.isUnitSchema())return;let t=n.getMergedTraits();if(n.isListSchema()&&!Array.isArray(i))return this.readSchema(n,[i]);if(null==i)return i;if("object"==typeof i){let e=!!t.sparse,a=!!t.xmlFlattened;if(n.isListSchema()){let t=n.getValueSchema(),r=[],o=t.getMergedTraits().xmlName??"member",u=a?i:(i[0]??i)[o];for(let i of Array.isArray(u)?u:[u])(null!=i||e)&&r.push(this.readSchema(t,i));return r}let r={};if(n.isMapSchema()){let t,o=n.getKeySchema(),u=n.getValueSchema();t=a?Array.isArray(i)?i:[i]:Array.isArray(i.entry)?i.entry:[i.entry];let s=o.getMergedTraits().xmlName??"key",l=u.getMergedTraits().xmlName??"value";for(let i of t){let n=i[s],t=i[l];(null!=t||e)&&(r[n]=this.readSchema(u,t))}return r}if(n.isStructSchema()){let e,t=n.isUnionSchema();for(let[a,o]of(t&&(e=new fH(i,r)),n.structIterator())){let n=o.getMergedTraits(),u=n.httpPayload?n.xmlName??o.getName():o.getMemberTraits().xmlName??a;t&&e.mark(u),null!=i[u]&&(r[a]=this.readSchema(o,i[u]))}return t&&e.writeUnknown(),r}if(n.isDocumentSchema())return i;throw Error(`@aws-sdk/core/protocols - xml deserializer unhandled schema type for ${n.getName(!0)}`)}return n.isListSchema()?[]:n.isMapSchema()||n.isStructSchema()?{}:this.stringDeserializer.read(n,i)}parseXml(e){if(e.length){let i;try{i=xml_parser_parseXML(e)}catch(i){throw i&&"object"==typeof i&&Object.defineProperty(i,"$responseBodyText",{value:e}),i}let n="#text",t=Object.keys(i)[0],a=i[t];return a[n]&&(a[t]=a[n],delete a[n]),get_value_from_text_node_getValueFromTextNode(a)}return{}}}function escapeAttribute(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}function escapeElement(e){return e.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">").replace(/\r/g,"
").replace(/\n/g,"
").replace(/\u0085/g,"…").replace(/\u2028/,"
")}class fX{value;constructor(e){this.value=e}toString(){return escapeElement(""+this.value)}}class fI{name;children;attributes={};static of(e,i,n){let t=new fI(e);return void 0!==i&&t.addChildNode(new fX(i)),void 0!==n&&t.withName(n),t}constructor(e,i=[]){this.name=e,this.children=i}withName(e){return this.name=e,this}addAttribute(e,i){return this.attributes[e]=i,this}addChildNode(e){return this.children.push(e),this}removeAttribute(e){return delete this.attributes[e],this}n(e){return this.name=e,this}c(e){return this.children.push(e),this}a(e,i){return null!=i&&(this.attributes[e]=i),this}cc(e,i,n=i){if(null!=e[i]){let t=fI.of(i,e[i]).withName(n);this.c(t)}}l(e,i,n,t){null!=e[i]&&t().map(e=>{e.withName(n),this.c(e)})}lc(e,i,n,t){if(null!=e[i]){let e=t(),i=new fI(n);e.map(e=>{i.c(e)}),this.c(i)}}toString(){let e=!!this.children.length,i=`<${this.name}`,n=this.attributes;for(let e of Object.keys(n)){let t=n[e];null!=t&&(i+=` ${e}="${escapeAttribute(""+t)}"`)}return i+(e?`>${this.children.map(e=>e.toString()).join("")}</${this.name}>`:"/>")}}function*serializingStructIterator(e,i){if(e.isUnitSchema())return;let n=e.getSchema();for(let e=0;e<n[4].length;++e){let t=n[4][e],a=new uO([n[5][e],0],t);(t in i||a.isIdempotencyToken())&&(yield[t,a])}}function*deserializingStructIterator(e,i,n){if(e.isUnitSchema())return;let t=e.getSchema(),a=Object.keys(i).filter(e=>"__type"!==e).length;for(let e=0;e<t[4].length&&0!==a;++e){let r=t[4][e],o=new uO([t[5][e],0],r),u=r;n&&(u=o.getMergedTraits()[n]??r),u in i&&(yield[r,o],a-=1)}}class fO extends fL{settings;stringBuffer;byteBuffer;buffer;constructor(e){super(),this.settings=e}write(e,i){let n=uO.of(e);if(n.isStringSchema()&&"string"==typeof i)this.stringBuffer=i;else if(n.isBlobSchema())this.byteBuffer="byteLength"in i?i:(this.serdeContext?.base64Decoder??fromBase64)(i);else{this.buffer=this.writeStruct(n,i,void 0);let e=n.getMergedTraits();e.httpPayload&&!e.xmlName&&this.buffer.withName(n.getName())}}flush(){if(void 0!==this.byteBuffer){let e=this.byteBuffer;return delete this.byteBuffer,e}if(void 0!==this.stringBuffer){let e=this.stringBuffer;return delete this.stringBuffer,e}let e=this.buffer;return this.settings.xmlNamespace&&!e?.attributes?.xmlns&&e.addAttribute("xmlns",this.settings.xmlNamespace),delete this.buffer,e.toString()}writeStruct(e,i,n){let t=e.getMergedTraits(),a=e.isMemberSchema()&&!t.httpPayload?e.getMemberTraits().xmlName??e.getMemberName():t.xmlName??e.getName();if(!a||!e.isStructSchema())throw Error(`@aws-sdk/core/protocols - xml serializer, cannot write struct with empty name or non-struct, schema=${e.getName(!0)}.`);let r=fI.of(a),[o,u]=this.getXmlnsAttribute(e,n);for(let[n,t]of serializingStructIterator(e,i)){let e=i[n];if(null!=e||t.isIdempotencyToken()){if(t.getMergedTraits().xmlAttribute){r.addAttribute(t.getMergedTraits().xmlName??n,this.writeSimple(t,e));continue}if(t.isListSchema())this.writeList(t,e,r,u);else if(t.isMapSchema())this.writeMap(t,e,r,u);else if(t.isStructSchema())r.addChildNode(this.writeStruct(t,e,u));else{let i=fI.of(t.getMergedTraits().xmlName??t.getMemberName());this.writeSimpleInto(t,e,i,u),r.addChildNode(i)}}}let{$unknown:s}=i;if(s&&e.isUnionSchema()&&Array.isArray(s)&&1===Object.keys(i).length){let[e,n]=s,t=fI.of(e);if("string"!=typeof n)if(i instanceof fI||i instanceof fX)r.addChildNode(i);else throw Error("@aws-sdk - $unknown union member in XML requires value of type string, @aws-sdk/xml-builder::XmlNode or XmlText.");this.writeSimpleInto(0,n,t,u),r.addChildNode(t)}return u&&r.addAttribute(o,u),r}writeList(e,i,n,t){if(!e.isMemberSchema())throw Error(`@aws-sdk/core/protocols - xml serializer, cannot write non-member list: ${e.getName(!0)}`);let a=e.getMergedTraits(),r=e.getValueSchema(),o=r.getMergedTraits(),u=!!o.sparse,s=!!a.xmlFlattened,[l,h]=this.getXmlnsAttribute(e,t),writeItem=(i,n)=>{if(r.isListSchema())this.writeList(r,Array.isArray(n)?n:[n],i,h);else if(r.isMapSchema())this.writeMap(r,n,i,h);else if(r.isStructSchema()){let t=this.writeStruct(r,n,h);i.addChildNode(t.withName(s?a.xmlName??e.getMemberName():o.xmlName??"member"))}else{let t=fI.of(s?a.xmlName??e.getMemberName():o.xmlName??"member");this.writeSimpleInto(r,n,t,h),i.addChildNode(t)}};if(s)for(let e of i)(u||null!=e)&&writeItem(n,e);else{let t=fI.of(a.xmlName??e.getMemberName());for(let e of(h&&t.addAttribute(l,h),i))(u||null!=e)&&writeItem(t,e);n.addChildNode(t)}}writeMap(e,i,n,t,a=!1){if(!e.isMemberSchema())throw Error(`@aws-sdk/core/protocols - xml serializer, cannot write non-member map: ${e.getName(!0)}`);let r=e.getMergedTraits(),o=e.getKeySchema(),u=o.getMergedTraits().xmlName??"key",s=e.getValueSchema(),l=s.getMergedTraits(),h=l.xmlName??"value",g=!!l.sparse,c=!!r.xmlFlattened,[d,p]=this.getXmlnsAttribute(e,t),addKeyValue=(e,i,n)=>{let t=fI.of(u,i),[a,r]=this.getXmlnsAttribute(o,p);r&&t.addAttribute(a,r),e.addChildNode(t);let l=fI.of(h);s.isListSchema()?this.writeList(s,n,l,p):s.isMapSchema()?this.writeMap(s,n,l,p,!0):s.isStructSchema()?l=this.writeStruct(s,n,p):this.writeSimpleInto(s,n,l,p),e.addChildNode(l)};if(c){for(let[t,a]of Object.entries(i))if(g||null!=a){let i=fI.of(r.xmlName??e.getMemberName());addKeyValue(i,t,a),n.addChildNode(i)}}else{let t;for(let[o,u]of(a||(t=fI.of(r.xmlName??e.getMemberName()),p&&t.addAttribute(d,p),n.addChildNode(t)),Object.entries(i)))if(g||null!=u){let e=fI.of("entry");addKeyValue(e,o,u),(a?n:t).addChildNode(e)}}}writeSimple(e,i){if(null===i)throw Error("@aws-sdk/core/protocols - (XML serializer) cannot write null value.");let n=uO.of(e),t=null;if(i&&"object"==typeof i)if(n.isBlobSchema())t=(this.serdeContext?.base64Encoder??toBase64)(i);else if(n.isTimestampSchema()&&i instanceof Date)switch(determineTimestampFormat(n,this.settings)){case 5:t=i.toISOString().replace(".000Z","Z");break;case 6:t=dateToUtcString(i);break;case 7:t=String(i.getTime()/1e3);break;default:console.warn("Missing timestamp format, using http date",i),t=dateToUtcString(i)}else if(n.isBigDecimalSchema()&&i)return i instanceof fC?i.string:String(i);else if(n.isMapSchema()||n.isListSchema())throw Error("@aws-sdk/core/protocols - xml serializer, cannot call _write() on List/Map schema, call writeList or writeMap() instead.");else throw Error(`@aws-sdk/core/protocols - xml serializer, unhandled schema type for object value and schema: ${n.getName(!0)}`);if((n.isBooleanSchema()||n.isNumericSchema()||n.isBigIntegerSchema()||n.isBigDecimalSchema())&&(t=String(i)),n.isStringSchema()&&(t=void 0===i&&n.isIdempotencyToken()?v4():String(i)),null===t)throw Error(`Unhandled schema-value pair ${n.getName(!0)}=${i}`);return t}writeSimpleInto(e,i,n,t){let a=this.writeSimple(e,i),r=uO.of(e),o=new fX(a),[u,s]=this.getXmlnsAttribute(r,t);s&&n.addAttribute(u,s),n.addChildNode(o)}getXmlnsAttribute(e,i){let[n,t]=e.getMergedTraits().xmlNamespace??[];return t&&t!==i?[n?`xmlns:${n}`:"xmlns",t]:[void 0,void 0]}}class fQ extends fL{settings;constructor(e){super(),this.settings=e}createSerializer(){let e=new fO(this.settings);return e.setSerdeContext(this.serdeContext),e}createDeserializer(){let e=new fF(this.settings);return e.setSerdeContext(this.serdeContext),e}}class fU extends p4{codec;serializer;deserializer;mixin=new fx;constructor(e){super(e);let i={timestampFormat:{useTrait:!0,default:5},httpBindings:!0,xmlNamespace:e.xmlNamespace,serviceNamespace:e.defaultNamespace};this.codec=new fQ(i),this.serializer=new fs(this.codec.createSerializer(),i),this.deserializer=new fT(this.codec.createDeserializer(),i)}getPayloadCodec(){return this.codec}getShapeId(){return"aws.protocols#restXml"}async serializeRequest(e,i,n){let t=await super.serializeRequest(e,i,n),a=uO.of(e.input);if(!t.headers["content-type"]){let e=this.mixin.resolveRestContentType(this.getDefaultContentType(),a);e&&(t.headers["content-type"]=e)}return"string"!=typeof t.body||t.headers["content-type"]!==this.getDefaultContentType()||t.body.startsWith("<?xml ")||this.hasUnstructuredPayloadBinding(a)||(t.body='<?xml version="1.0" encoding="UTF-8"?>'+t.body),t}async deserializeResponse(e,i,n){return super.deserializeResponse(e,i,n)}async handleError(e,i,n,t,a){let r=(t?.Error?.Code!==void 0?t.Error.Code:t?.Code!==void 0?t.Code:404==n.statusCode?"NotFound":void 0)??"Unknown",{errorSchema:o,errorMetadata:u}=await this.mixin.getErrorSchemaOrThrowBaseException(r,this.options.defaultNamespace,n,t,a),s=uO.of(o),l=t.Error?.message??t.Error?.Message??t.message??t.Message??"Unknown",h=new(u$.for(o[1]).getErrorCtor(o)??Error)(l);await this.deserializeHttpMessage(o,i,n,t);let g={};for(let[e,i]of s.structIterator()){let n=i.getMergedTraits().xmlName??e,a=t.Error?.[n]??t[n];g[e]=this.codec.createDeserializer().readSchema(i,a)}throw this.mixin.decorateServiceException(Object.assign(h,u,{$fault:s.getMergedTraits().error,message:l},g),t)}getDefaultContentType(){return"application/xml"}hasUnstructuredPayloadBinding(e){for(let[,i]of e.structIterator())if(i.getMergedTraits().httpPayload)return!(i.isStructSchema()||i.isMapSchema()||i.isListSchema());return!1}}let getAwsChunkedEncodingStream_getAwsChunkedEncodingStream=(e,i)=>{let{base64Encoder:n,bodyLengthChecker:t,checksumAlgorithmFn:a,checksumLocationName:r,streamHasher:o}=i,u=void 0!==n&&void 0!==a&&void 0!==r&&void 0!==o,s=u?o(a,e):void 0,l=new al.Readable({read:()=>{}});return e.on("data",e=>{let i=t(e)||0;l.push(`${i.toString(16)}\r
|
|
70
70
|
`),l.push(e),l.push("\r\n")}),e.on("end",async()=>{if(l.push(`0\r
|
|
71
71
|
`),u){let e=n(await s);l.push(`${r}:${e}\r
|
|
72
72
|
`),l.push(`\r
|
|
73
|
-
`)}l.push(null)}),l},getAwsRegionExtensionConfiguration=e=>({setRegion(i){e.region=i},region:()=>e.region}),resolveAwsRegionExtensionConfiguration=e=>({region:e.region()}),getHttpHandlerExtensionConfiguration=e=>({setHttpHandler(i){e.httpHandler=i},httpHandler:()=>e.httpHandler,updateHttpClientConfig(i,n){e.httpHandler?.updateHttpClientConfig(i,n)},httpHandlerConfigs:()=>e.httpHandler.httpHandlerConfigs()}),resolveHttpHandlerRuntimeConfig=e=>({httpHandler:e.httpHandler()});(en=ep||(ep={})).MD5="md5",en.CRC32="crc32",en.CRC32C="crc32c",en.SHA1="sha1",en.SHA256="sha256";let getDefaultExtensionConfiguration=e=>Object.assign((e=>{let i=[];for(let n in ep){let t=ep[n];void 0!==e[t]&&i.push({algorithmId:()=>t,checksumConstructor:()=>e[t]})}return{addChecksumAlgorithm(e){i.push(e)},checksumAlgorithms:()=>i}})(e),{setRetryStrategy(i){e.retryStrategy=i},retryStrategy:()=>e.retryStrategy}),resolveDefaultRuntimeConfig=e=>{let i,n;return Object.assign((i={},e.checksumAlgorithms().forEach(e=>{i[e.algorithmId()]=e.checksumConstructor()}),i),((n={}).retryStrategy=e.retryStrategy(),n))};class fQ extends ag{config;constructor(...[e]){var i,n,t,a,r;let o,u,s,l,h,g,c,d,p,f,m,y,S,b,C=(i=e||{},emitWarningIfUnsupportedVersion_emitWarningIfUnsupportedVersion(process.version),o=resolveDefaultsModeConfig(i),u=()=>o().then(loadConfigsForDefaultMode),s={apiVersion:"2006-03-01",base64Decoder:i?.base64Decoder??fromBase64,base64Encoder:i?.base64Encoder??toBase64,disableHostPrefix:i?.disableHostPrefix??!1,endpointProvider:i?.endpointProvider??endpointResolver_defaultEndpointResolver,extensions:i?.extensions??[],getAwsChunkedEncodingStream:i?.getAwsChunkedEncodingStream??getAwsChunkedEncodingStream_getAwsChunkedEncodingStream,httpAuthSchemeProvider:i?.httpAuthSchemeProvider??uJ,httpAuthSchemes:i?.httpAuthSchemes??[{schemeId:"aws.auth#sigv4",identityProvider:e=>e.getIdentityProvider("aws.auth#sigv4"),signer:new p$},{schemeId:"aws.auth#sigv4a",identityProvider:e=>e.getIdentityProvider("aws.auth#sigv4a"),signer:new pK}],logger:i?.logger??new at,protocol:i?.protocol??fO,protocolSettings:i?.protocolSettings??{defaultNamespace:"com.amazonaws.s3",xmlNamespace:"http://s3.amazonaws.com/doc/2006-03-01/",version:"2006-03-01",serviceTarget:"AmazonS3"},sdkStreamMixin:i?.sdkStreamMixin??sdk_stream_mixin_sdkStreamMixin,serviceId:i?.serviceId??"S3",signerConstructor:i?.signerConstructor??aB,signingEscapePath:i?.signingEscapePath??!1,urlParser:i?.urlParser??dist_es_parseUrl,useArnRegion:i?.useArnRegion??void 0,utf8Decoder:i?.utf8Decoder??fromUtf8_fromUtf8,utf8Encoder:i?.utf8Encoder??dist_es_toUtf8_toUtf8},emitWarningIfUnsupportedVersion(process.version),l={profile:i?.profile,logger:s.logger},{...s,...i,runtime:"node",defaultsMode:o,authSchemePreference:i?.authSchemePreference??loadConfig(d7,l),bodyLengthChecker:i?.bodyLengthChecker??calculateBodyLength,credentialDefaultProvider:i?.credentialDefaultProvider??defaultProvider,defaultUserAgentProvider:i?.defaultUserAgentProvider??createDefaultUserAgentProvider({serviceId:s.serviceId,clientVersion:"3.964.0"}),disableS3ExpressSessionAuth:i?.disableS3ExpressSessionAuth??loadConfig(tb,l),eventStreamSerdeProvider:i?.eventStreamSerdeProvider??eventStreamSerdeProvider,maxAttempts:i?.maxAttempts??loadConfig(ai,i),md5:i?.md5??pM.bind(null,"md5"),region:i?.region??loadConfig(pu,{...ps,...l}),requestChecksumCalculation:i?.requestChecksumCalculation??loadConfig(pa,l),requestHandler:pF.create(i?.requestHandler??u),responseChecksumValidation:i?.responseChecksumValidation??loadConfig(pr,l),retryMode:i?.retryMode??loadConfig({...an,default:async()=>(await u()).retryMode||t0},i),sha1:i?.sha1??pM.bind(null,"sha1"),sha256:i?.sha256??pM.bind(null,"sha256"),sigv4aSigningRegionSet:i?.sigv4aSigningRegionSet??loadConfig(aJ,l),streamCollector:i?.streamCollector??streamCollector,streamHasher:i?.streamHasher??readableStreamHasher,useArnRegion:i?.useArnRegion??loadConfig(pt,l),useDualstackEndpoint:i?.useDualstackEndpoint??loadConfig(pl,l),useFipsEndpoint:i?.useFipsEndpoint??loadConfig(ph,l),userAgentAppId:i?.userAgentAppId??loadConfig(po,l)});super(C),this.initConfig=C;let w=(a=((e,{session:i})=>{let[n,t]=i,{forcePathStyle:a,useAccelerateEndpoint:r,disableMultiregionAccessPoints:o,followRegionRedirects:u,s3ExpressIdentityProvider:s,bucketEndpoint:l,expectContinueHeader:h}=e;return Object.assign(e,{forcePathStyle:a??!1,useAccelerateEndpoint:r??!1,disableMultiregionAccessPoints:o??!1,followRegionRedirects:u??!1,s3ExpressIdentityProvider:s??new tc(async e=>n().send(new t({Bucket:e}))),bucketEndpoint:l??!1,expectContinueHeader:h??2097152})})(Object.assign(((t=resolveAwsSdkSigV4Config(n=Object.assign(h=resolveEndpointConfig(resolveHostHeaderConfig(resolveRegionConfig(resolveRetryConfig((e=>{let{requestChecksumCalculation:i,responseChecksumValidation:n,requestStreamBufferSize:t}=e;return Object.assign(e,{requestChecksumCalculation:normalizeProvider(i??n5),responseChecksumValidation:normalizeProvider(n??n9),requestStreamBufferSize:Number(t??0)})})(resolveUserAgentConfig(Object.assign(C,{useFipsEndpoint:C.useFipsEndpoint??!1,useDualstackEndpoint:C.useDualstackEndpoint??!1,forcePathStyle:C.forcePathStyle??!1,useAccelerateEndpoint:C.useAccelerateEndpoint??!1,useGlobalEndpoint:C.useGlobalEndpoint??!1,disableMultiregionAccessPoints:C.disableMultiregionAccessPoints??!1,defaultSigningName:"s3",clientContextParams:C.clientContextParams??{}}))))))),{eventStreamMarshaller:h.eventStreamSerdeProvider(h)}))).sigv4aSigningRegionSet=normalizeProvider_normalizeProvider(t.sigv4aSigningRegionSet),t),{authSchemePreference:normalizeProvider(n.authSchemePreference??[])}),{session:[()=>this,d4]}),r=e?.extensions||[],p=Object.assign(getAwsRegionExtensionConfiguration(a),getDefaultExtensionConfiguration(a),getHttpHandlerExtensionConfiguration(a),(g=a.httpAuthSchemes,c=a.httpAuthSchemeProvider,d=a.credentials,{setHttpAuthScheme(e){let i=g.findIndex(i=>i.schemeId===e.schemeId);-1===i?g.push(e):g.splice(i,1,e)},httpAuthSchemes:()=>g,setHttpAuthSchemeProvider(e){c=e},httpAuthSchemeProvider:()=>c,setCredentials(e){d=e},credentials:()=>d})),r.forEach(e=>e.configure(p)),Object.assign(a,resolveAwsRegionExtensionConfiguration(p),resolveDefaultRuntimeConfig(p),resolveHttpHandlerRuntimeConfig(p),{httpAuthSchemes:p.httpAuthSchemes(),httpAuthSchemeProvider:p.httpAuthSchemeProvider(),credentials:p.credentials()}));this.config=w,this.middlewareStack.use(getSchemaSerdePlugin(this.config)),this.middlewareStack.use(getUserAgentPlugin(this.config)),this.middlewareStack.use(getRetryPlugin(this.config)),this.middlewareStack.use(getContentLengthPlugin(this.config)),this.middlewareStack.use(getHostHeaderPlugin(this.config)),this.middlewareStack.use(getLoggerPlugin(this.config)),this.middlewareStack.use(getRecursionDetectionPlugin(this.config)),this.middlewareStack.use(getHttpAuthSchemeEndpointRuleSetPlugin(this.config,{httpAuthSchemeParametersProvider:uM,identityProviderConfigProvider:async e=>new tk({"aws.auth#sigv4":e.credentials,"aws.auth#sigv4a":e.credentials})})),this.middlewareStack.use(getHttpSigningPlugin(this.config)),this.middlewareStack.use((f=this.config,{applyToStack:e=>{e.add(validateBucketNameMiddleware(f),tp),e.addRelativeTo(bucketEndpointMiddleware(f),td)}})),this.middlewareStack.use((m=this.config,{applyToStack:e=>{e.add(addExpectContinueMiddleware(m),n8)}})),this.middlewareStack.use((y=this.config,{applyToStack:e=>{e.add(regionRedirectMiddleware(y),tm),e.addRelativeTo((e,i)=>async n=>{let t=await y.region(),a=y.region,unlock=()=>{};i.__s3RegionRedirect&&(Object.defineProperty(y,"region",{writable:!1,value:async()=>i.__s3RegionRedirect}),unlock=()=>Object.defineProperty(y,"region",{writable:!0,value:a}));try{let a=await e(n);if(i.__s3RegionRedirect){unlock();let e=await y.region();if(t!==e)throw Error("Region was not restored following S3 region redirect.")}return a}catch(e){throw unlock(),e}},tf)}})),this.middlewareStack.use((S=this.config,{applyToStack:e=>{e.add((e,i)=>async n=>{if(i.endpointV2){let e=i.endpointV2,t=e.properties?.authSchemes?.[0]?.name==="sigv4-s3express";if((e.properties?.backend==="S3Express"||e.properties?.bucketType==="Directory")&&(setFeature(i,"S3_EXPRESS_BUCKET","J"),i.isS3ExpressBucket=!0),t){let e=n.input.Bucket;if(e){let t=await S.s3ExpressIdentityProvider.getS3ExpressIdentity(await S.credentials(),{Bucket:e});i.s3ExpressIdentity=t,n4.isInstance(n.request)&&t.sessionToken&&(n.request.headers[tS]=t.sessionToken)}}}return e(n)},tC)}})),this.middlewareStack.use((b=this.config,{applyToStack:e=>{e.addRelativeTo((e,i)=>async n=>{let t;if(!n4.isInstance(n.request))return e(n);let a=getSmithyContext(i).selectedHttpAuthScheme;if(!a)throw Error("No HttpAuthScheme was selected: unable to sign request");let{httpAuthOption:{signingProperties:r={}},identity:o,signer:u}=a;t=i.s3ExpressIdentity?await signS3Express(i.s3ExpressIdentity,r,n.request,await b.signer()):await u.sign(n.request,o,r);let s=await e({...n,request:t}).catch((u.errorHandler||(e=>e=>{throw e}))(r));return(u.successHandler||((e,i)=>{}))(s.response,r),s},tT)}}))}destroy(){super.destroy()}}let fU={name:"flexibleChecksumsInputMiddleware",toMiddleware:"serializerMiddleware",relation:"before",tags:["BODY_CHECKSUM"],override:!0};class fG{allocByteArray;byteLength=0;byteArrays=[];constructor(e){this.allocByteArray=e}push(e){this.byteArrays.push(e),this.byteLength+=e.byteLength}flush(){if(1===this.byteArrays.length){let e=this.byteArrays[0];return this.reset(),e}let e=this.allocByteArray(this.byteLength),i=0;for(let n=0;n<this.byteArrays.length;++n){let t=this.byteArrays[n];e.set(t,i),i+=t.byteLength}return this.reset(),e}reset(){this.byteArrays=[],this.byteLength=0}}function createBufferedReadableStream(e,i,n){let t=e.getReader(),a=!1,r=0,o=["",new fG(e=>new Uint8Array(e))],u=-1,pull=async e=>{let{value:s,done:l}=await t.read();if(l){if(-1!==u){let i=flush(o,u);sizeOf(i)>0&&e.enqueue(i)}e.close()}else{let t=modeOf(s,!1);if(u!==t&&(u>=0&&e.enqueue(flush(o,u)),u=t),-1===u)return void e.enqueue(s);let l=sizeOf(s);r+=l;let h=sizeOf(o[u]);if(l>=i&&0===h)e.enqueue(s);else{let t=createBufferedReadableStream_merge(o,u,s);!a&&r>2*i&&(a=!0,n?.warn(`@smithy/util-stream - stream chunk size ${l} is below threshold of ${i}, automatically buffering.`)),t>=i?e.enqueue(flush(o,u)):await pull(e)}}};return new ReadableStream({pull})}function createBufferedReadableStream_merge(e,i,n){switch(i){case 0:return e[0]+=n,sizeOf(e[0]);case 1:case 2:return e[i].push(n),sizeOf(e[i])}}function flush(e,i){switch(i){case 0:let n=e[0];return e[0]="",n;case 1:case 2:return e[i].flush()}throw Error(`@smithy/util-stream - invalid index ${i} given to flush()`)}function sizeOf(e){return e?.byteLength??e?.length??0}function modeOf(e,i=!0){return i&&"u">typeof Buffer&&e instanceof Buffer?2:e instanceof Uint8Array?1:"string"==typeof e?0:-1}let fq=E("node:stream");function createBufferedReadable_createBufferedReadable(e,i,n){if(isReadableStream(e))return createBufferedReadableStream(e,i,n);let t=new fq.Readable({read(){}}),a=!1,r=0,o=["",new fG(e=>new Uint8Array(e)),new fG(e=>Buffer.from(new Uint8Array(e)))],u=-1;return e.on("data",e=>{let s=modeOf(e,!0);if(u!==s&&(u>=0&&t.push(flush(o,u)),u=s),-1===u)return void t.push(e);let l=sizeOf(e);r+=l;let h=sizeOf(o[u]);if(l>=i&&0===h)t.push(e);else{let s=createBufferedReadableStream_merge(o,u,e);!a&&r>2*i&&(a=!0,n?.warn(`@smithy/util-stream - stream chunk size ${l} is below threshold of ${i}, automatically buffering.`)),s>=i&&t.push(flush(o,u))}}),e.on("end",()=>{if(-1!==u){let e=flush(o,u);sizeOf(e)>0&&t.push(e)}t.push(null)}),t}let f$=[ea.CRC32,ea.CRC32C,ea.CRC64NVME,ea.SHA1,ea.SHA256],fK=[ea.SHA256,ea.SHA1,ea.CRC32,ea.CRC32C,ea.CRC64NVME],getChecksumLocationName=e=>e===ea.MD5?"content-md5":`x-amz-checksum-${e.toLowerCase()}`,isStreaming_isStreaming=e=>void 0!==e&&"string"!=typeof e&&!ArrayBuffer.isView(e)&&!dist_es_isArrayBuffer(e);var fz=function(){function AwsCrc32c(){this.crc32c=new fW}return AwsCrc32c.prototype.update=function(e){isEmptyData(e)||this.crc32c.update(convertToBuffer(e))},AwsCrc32c.prototype.digest=function(){return __awaiter(this,void 0,void 0,function(){return __generator(this,function(e){return[2,numToUint8(this.crc32c.digest())]})})},AwsCrc32c.prototype.reset=function(){this.crc32c=new fW},AwsCrc32c}(),fW=function(){function Crc32c(){this.checksum=0xffffffff}return Crc32c.prototype.update=function(e){var i,n;try{for(var t=__values(e),a=t.next();!a.done;a=t.next()){var r=a.value;this.checksum=this.checksum>>>8^fj[(this.checksum^r)&255]}}catch(e){i={error:e}}finally{try{a&&!a.done&&(n=t.return)&&n.call(t)}finally{if(i)throw i.error}}return this},Crc32c.prototype.digest=function(){return(0xffffffff^this.checksum)>>>0},Crc32c}(),fj=uint32ArrayFrom([0,0xf26b8303,0xe13b70f7,0x1350f3f4,0xc79a971f,0x35f1141c,0x26a1e7e8,0xd4ca64eb,0x8ad958cf,0x78b2dbcc,0x6be22838,0x9989ab3b,0x4d43cfd0,0xbf284cd3,0xac78bf27,0x5e133c24,0x105ec76f,0xe235446c,0xf165b798,0x30e349b,0xd7c45070,0x25afd373,0x36ff2087,0xc494a384,0x9a879fa0,0x68ec1ca3,0x7bbcef57,0x89d76c54,0x5d1d08bf,0xaf768bbc,0xbc267848,0x4e4dfb4b,0x20bd8ede,0xd2d60ddd,0xc186fe29,0x33ed7d2a,0xe72719c1,0x154c9ac2,0x61c6936,0xf477ea35,0xaa64d611,0x580f5512,0x4b5fa6e6,0xb93425e5,0x6dfe410e,0x9f95c20d,0x8cc531f9,0x7eaeb2fa,0x30e349b1,0xc288cab2,0xd1d83946,0x23b3ba45,0xf779deae,0x5125dad,0x1642ae59,0xe4292d5a,0xba3a117e,0x4851927d,0x5b016189,0xa96ae28a,0x7da08661,0x8fcb0562,0x9c9bf696,0x6ef07595,0x417b1dbc,0xb3109ebf,0xa0406d4b,0x522bee48,0x86e18aa3,0x748a09a0,0x67dafa54,0x95b17957,0xcba24573,0x39c9c670,0x2a993584,0xd8f2b687,0xc38d26c,0xfe53516f,0xed03a29b,0x1f682198,0x5125dad3,0xa34e59d0,0xb01eaa24,0x42752927,0x96bf4dcc,0x64d4cecf,0x77843d3b,0x85efbe38,0xdbfc821c,0x2997011f,0x3ac7f2eb,0xc8ac71e8,0x1c661503,0xee0d9600,0xfd5d65f4,0xf36e6f7,0x61c69362,0x93ad1061,0x80fde395,0x72966096,0xa65c047d,0x5437877e,0x4767748a,0xb50cf789,0xeb1fcbad,0x197448ae,0xa24bb5a,0xf84f3859,0x2c855cb2,0xdeeedfb1,0xcdbe2c45,0x3fd5af46,0x7198540d,0x83f3d70e,0x90a324fa,0x62c8a7f9,0xb602c312,0x44694011,0x5739b3e5,0xa55230e6,0xfb410cc2,0x92a8fc1,0x1a7a7c35,0xe811ff36,0x3cdb9bdd,0xceb018de,0xdde0eb2a,0x2f8b6829,0x82f63b78,0x709db87b,0x63cd4b8f,0x91a6c88c,0x456cac67,0xb7072f64,0xa457dc90,0x563c5f93,0x82f63b7,0xfa44e0b4,0xe9141340,0x1b7f9043,0xcfb5f4a8,0x3dde77ab,0x2e8e845f,0xdce5075c,0x92a8fc17,0x60c37f14,0x73938ce0,0x81f80fe3,0x55326b08,0xa759e80b,0xb4091bff,0x466298fc,0x1871a4d8,0xea1a27db,0xf94ad42f,0xb21572c,0xdfeb33c7,0x2d80b0c4,0x3ed04330,0xccbbc033,0xa24bb5a6,0x502036a5,0x4370c551,0xb11b4652,0x65d122b9,0x97baa1ba,0x84ea524e,0x7681d14d,0x2892ed69,0xdaf96e6a,0xc9a99d9e,0x3bc21e9d,0xef087a76,0x1d63f975,0xe330a81,0xfc588982,0xb21572c9,0x407ef1ca,0x532e023e,0xa145813d,0x758fe5d6,0x87e466d5,0x94b49521,0x66df1622,0x38cc2a06,0xcaa7a905,0xd9f75af1,0x2b9cd9f2,0xff56bd19,0xd3d3e1a,0x1e6dcdee,0xec064eed,0xc38d26c4,0x31e6a5c7,0x22b65633,0xd0ddd530,0x417b1db,0xf67c32d8,0xe52cc12c,0x1747422f,0x49547e0b,0xbb3ffd08,0xa86f0efc,0x5a048dff,0x8ecee914,0x7ca56a17,0x6ff599e3,0x9d9e1ae0,0xd3d3e1ab,0x21b862a8,0x32e8915c,0xc083125f,0x144976b4,0xe622f5b7,0xf5720643,0x7198540,0x590ab964,0xab613a67,0xb831c993,0x4a5a4a90,0x9e902e7b,0x6cfbad78,0x7fab5e8c,0x8dc0dd8f,0xe330a81a,0x115b2b19,0x20bd8ed,0xf0605bee,0x24aa3f05,0xd6c1bc06,0xc5914ff2,0x37faccf1,0x69e9f0d5,0x9b8273d6,0x88d28022,0x7ab90321,0xae7367ca,0x5c18e4c9,0x4f48173d,0xbd23943e,0xf36e6f75,0x105ec76,0x12551f82,0xe03e9c81,0x34f4f86a,0xc69f7b69,0xd5cf889d,0x27a40b9e,0x79b737ba,0x8bdcb4b9,0x988c474d,0x6ae7c44e,0xbe2da0a5,0x4c4623a6,0x5f16d052,0xad7d5351]);class fV{c1=0;c2=0;constructor(){t||(t=(()=>{let e=Array(8);for(let i=0;i<8;i++){let n=Array(512);for(let e=0;e<256;e++){let t=BigInt(e);for(let e=0;e<8*(i+1);e++)1n&t?t=t>>1n^0x9a6c9329ac4bc9b5n:t>>=1n;n[2*e]=Number(t>>32n&4294967295n),n[2*e+1]=Number(4294967295n&t)}e[i]=new Uint32Array(n)}return e})(),[a,r,o,u,s,l,h,g]=t),this.reset()}update(e){let i=e.length,n=0,t=this.c1,c=this.c2;for(;n+8<=i;){let i=((c^e[n++])&255)<<1,d=((c>>>8^e[n++])&255)<<1,p=((c>>>16^e[n++])&255)<<1,f=((c>>>24^e[n++])&255)<<1,m=((t^e[n++])&255)<<1,y=((t>>>8^e[n++])&255)<<1,S=((t>>>16^e[n++])&255)<<1,b=((t>>>24^e[n++])&255)<<1;t=g[i]^h[d]^l[p]^s[f]^u[m]^o[y]^r[S]^a[b],c=g[i+1]^h[d+1]^l[p+1]^s[f+1]^u[m+1]^o[y+1]^r[S+1]^a[b+1]}for(;n<i;){let i=((c^e[n])&255)<<1;c=(c>>>8|(255&t)<<24)>>>0,t=t>>>8^a[i],c^=a[i+1],n++}this.c1=t,this.c2=c}async digest(){let e=0xffffffff^this.c1,i=0xffffffff^this.c2;return new Uint8Array([e>>>24,e>>>16&255,e>>>8&255,255&e,i>>>24,i>>>16&255,i>>>8&255,255&i])}reset(){this.c1=0xffffffff,this.c2=0xffffffff}}let f0=E("zlib");class f1{checksum=0;update(e){this.checksum=f0.crc32(e,this.checksum)}async digest(){return numToUint8(this.checksum)}reset(){this.checksum=0}}let selectChecksumAlgorithmFunction=(e,i)=>{switch(e){case ea.MD5:return i.md5;case ea.CRC32:return void 0===f0.crc32?pc:f1;case ea.CRC32C:return fz;case ea.CRC64NVME:!0;return fV;case ea.SHA1:return i.sha1;case ea.SHA256:return i.sha256;default:throw Error(`Unsupported checksum algorithm: ${e}`)}},stringHasher=(e,i)=>{let n=new e;return n.update(toUint8Array(i||"")),n.digest()},f3={name:"flexibleChecksumsMiddleware",step:"build",tags:["BODY_CHECKSUM"],override:!0},getChecksumAlgorithmListForResponse=(e=[])=>{let i=[];for(let n of fK)e.includes(n)&&f$.includes(n)&&i.push(n);return i};class f2 extends au.Duplex{expectedChecksum;checksumSourceLocation;checksum;source;base64Encoder;constructor({expectedChecksum:e,checksum:i,source:n,checksumSourceLocation:t,base64Encoder:a}){if(super(),"function"==typeof n.pipe)this.source=n;else throw Error(`@smithy/util-stream: unsupported source type ${n?.constructor?.name??n} in ChecksumStream.`);this.base64Encoder=a??toBase64,this.expectedChecksum=e,this.checksum=i,this.checksumSourceLocation=t,this.source.pipe(this)}_read(e){}_write(e,i,n){try{this.checksum.update(e),this.push(e)}catch(e){return n(e)}return n()}async _final(e){try{let i=await this.checksum.digest(),n=this.base64Encoder(i);if(this.expectedChecksum!==n)return e(Error(`Checksum mismatch: expected "${this.expectedChecksum}" but received "${n}" in response header "${this.checksumSourceLocation}".`))}catch(i){return e(i)}return this.push(null),e()}}let f4="function"==typeof ReadableStream?ReadableStream:function(){};class f8 extends f4{}function createChecksumStream_createChecksumStream(e){return"function"==typeof ReadableStream&&isReadableStream(e.source)?(({expectedChecksum:e,checksum:i,source:n,checksumSourceLocation:t,base64Encoder:a})=>{if(!isReadableStream(n))throw Error(`@smithy/util-stream: unsupported source type ${n?.constructor?.name??n} in ChecksumStream.`);let r=a??toBase64;if("function"!=typeof TransformStream)throw Error("@smithy/util-stream: unable to instantiate ChecksumStream because API unavailable: ReadableStream/TransformStream.");let o=new TransformStream({start(){},async transform(e,n){i.update(e),n.enqueue(e)},async flush(n){let a=r(await i.digest());if(e!==a){let i=Error(`Checksum mismatch: expected "${e}" but received "${a}" in response header "${t}".`);n.error(i)}else n.terminate()}});n.pipeThrough(o);let u=o.readable;return Object.setPrototypeOf(u,f8.prototype),u})(e):new f2(e)}let getChecksum=async(e,{checksumAlgorithmFn:i,base64Encoder:n})=>n(await stringHasher(i,e)),validateChecksumFromResponse=async(e,{config:i,responseAlgorithms:n,logger:t})=>{let a=getChecksumAlgorithmListForResponse(n),{body:r,headers:o}=e;for(let n of a){let a=getChecksumLocationName(n),u=o[a];if(u){let o;try{o=selectChecksumAlgorithmFunction(n,i)}catch(e){if(n===ea.CRC64NVME){t?.warn(`Skipping ${ea.CRC64NVME} checksum validation: ${e.message}`);continue}throw e}let{base64Encoder:s}=i;if(isStreaming_isStreaming(r)){e.body=createChecksumStream_createChecksumStream({expectedChecksum:u,checksumSourceLocation:a,checksum:new o,source:r,base64Encoder:s});return}let l=await getChecksum(r,{checksumAlgorithmFn:o,base64Encoder:s});if(l===u)break;throw Error(`Checksum mismatch: expected "${l}" but received "${u}" in response header "${a}".`)}}},f6={name:"flexibleChecksumsResponseMiddleware",toMiddleware:"deserializerMiddleware",relation:"after",tags:["BODY_CHECKSUM"],override:!0},getFlexibleChecksumsPlugin=(e,i)=>({applyToStack:n=>{n.add((n,t)=>async a=>{if(!n4.isInstance(a.request)||((e,i)=>{let n=e.toLowerCase();for(let e of Object.keys(i))if(e.toLowerCase().startsWith(n))return!0;return!1})("x-amz-checksum-",a.request.headers))return n(a);let{request:r,input:o}=a,{body:u,headers:s}=r,{base64Encoder:l,streamHasher:h}=e,{requestChecksumRequired:g,requestAlgorithmMember:c}=i,d=await e.requestChecksumCalculation(),p=c?.name,f=c?.httpHeader;p&&!o[p]&&(d===n6.WHEN_SUPPORTED||g)&&(o[p]=te,f&&(s[f]=te));let m=((e,{requestChecksumRequired:i,requestAlgorithmMember:n,requestChecksumCalculation:t})=>{if(!n)return t===n6.WHEN_SUPPORTED||i?te:void 0;if(!e[n])return;let a=e[n];if(!f$.includes(a))throw Error(`The checksum algorithm "${a}" is not supported by the client. Select one of ${f$}.`);return a})(o,{requestChecksumRequired:g,requestAlgorithmMember:c?.name,requestChecksumCalculation:d}),y=u,S=s;if(m){switch(m){case ea.CRC32:setFeature(t,"FLEXIBLE_CHECKSUMS_REQ_CRC32","U");break;case ea.CRC32C:setFeature(t,"FLEXIBLE_CHECKSUMS_REQ_CRC32C","V");break;case ea.CRC64NVME:setFeature(t,"FLEXIBLE_CHECKSUMS_REQ_CRC64","W");break;case ea.SHA1:setFeature(t,"FLEXIBLE_CHECKSUMS_REQ_SHA1","X");break;case ea.SHA256:setFeature(t,"FLEXIBLE_CHECKSUMS_REQ_SHA256","Y")}let i=getChecksumLocationName(m),n=selectChecksumAlgorithmFunction(m,e);if(isStreaming_isStreaming(u)){let{getAwsChunkedEncodingStream:a,bodyLengthChecker:r}=e;y=a("number"==typeof e.requestStreamBufferSize&&e.requestStreamBufferSize>=8192?createBufferedReadable_createBufferedReadable(u,e.requestStreamBufferSize,t.logger):u,{base64Encoder:l,bodyLengthChecker:r,checksumLocationName:i,checksumAlgorithmFn:n,streamHasher:h}),S={...s,"content-encoding":s["content-encoding"]?`${s["content-encoding"]},aws-chunked`:"aws-chunked","transfer-encoding":"chunked","x-amz-decoded-content-length":s["content-length"],"x-amz-content-sha256":"STREAMING-UNSIGNED-PAYLOAD-TRAILER","x-amz-trailer":i},delete S["content-length"]}else if(!((e,i)=>{let n=e.toLowerCase();for(let e of Object.keys(i))if(n===e.toLowerCase())return!0;return!1})(i,s)){let e=await stringHasher(n,u);S={...s,[i]:l(e)}}}try{return await n({...a,request:{...r,headers:S,body:y}})}catch(e){if(e instanceof Error&&"InvalidChunkSizeError"===e.name)try{e.message.endsWith(".")||(e.message+="."),e.message+=" Set [requestStreamBufferSize=number e.g. 65_536] in client constructor to instruct AWS SDK to buffer your input stream."}catch(e){}throw e}},f3),n.addRelativeTo((n,t)=>async a=>{let r=a.input,{requestValidationModeMember:o}=i,u=await e.requestChecksumCalculation(),s=await e.responseChecksumValidation();switch(u){case n6.WHEN_REQUIRED:setFeature(t,"FLEXIBLE_CHECKSUMS_REQ_WHEN_REQUIRED","a");break;case n6.WHEN_SUPPORTED:setFeature(t,"FLEXIBLE_CHECKSUMS_REQ_WHEN_SUPPORTED","Z")}switch(s){case n7.WHEN_REQUIRED:setFeature(t,"FLEXIBLE_CHECKSUMS_RES_WHEN_REQUIRED","c");break;case n7.WHEN_SUPPORTED:setFeature(t,"FLEXIBLE_CHECKSUMS_RES_WHEN_SUPPORTED","b")}return o&&!r[o]&&s===n7.WHEN_SUPPORTED&&(r[o]="ENABLED"),n(a)},fU),n.addRelativeTo((n,t)=>async a=>{if(!n4.isInstance(a.request))return n(a);let r=a.input,o=await n(a),u=o.response,{requestValidationModeMember:s,responseAlgorithms:l}=i;if(s&&"ENABLED"===r[s]){let{clientName:i,commandName:n}=t;if("S3Client"===i&&"GetObjectCommand"===n&&getChecksumAlgorithmListForResponse(l).every(e=>{let i=getChecksumLocationName(e),n=u.headers[i];return!n||(e=>{let i=e.lastIndexOf("-");if(-1!==i){let n=e.slice(i+1);if(!n.startsWith("0")){let e=parseInt(n,10);if(!isNaN(e)&&e>=1&&e<=1e4)return!0}}return!1})(n)}))return o;await validateChecksumFromResponse(u,{config:e,responseAlgorithms:l,logger:t.logger})}return o},f6)}});function checkContentLengthHeader(){return(e,i)=>async n=>{let{request:t}=n;if(n4.isInstance(t)&&!("content-length"in t.headers)&&!("x-amz-decoded-content-length"in t.headers)){let e="Are you using a Stream of unknown length as the Body of a PutObject request? Consider using Upload instead from @aws-sdk/lib-storage.";"function"!=typeof i?.logger?.warn||i.logger instanceof at?console.warn(e):i.logger.warn(e)}return e({...n})}}let f5={step:"finalizeRequest",tags:["CHECK_CONTENT_LENGTH_HEADER"],name:"getCheckContentLengthHeaderPlugin",override:!0},getCheckContentLengthHeaderPlugin=e=>({applyToStack:e=>{e.add(checkContentLengthHeader(),f5)}});function ssecMiddleware(e){return i=>async n=>{let t={...n.input};for(let i of[{target:"SSECustomerKey",hash:"SSECustomerKeyMD5"},{target:"CopySourceSSECustomerKey",hash:"CopySourceSSECustomerKeyMD5"}]){let n=t[i.target];if(n){let a;"string"==typeof n?isValidBase64EncodedSSECustomerKey(n,e)?a=e.base64Decoder(n):(a=e.utf8Decoder(n),t[i.target]=e.base64Encoder(a)):(a=ArrayBuffer.isView(n)?new Uint8Array(n.buffer,n.byteOffset,n.byteLength):new Uint8Array(n),t[i.target]=e.base64Encoder(a));let r=new e.md5;r.update(a),t[i.hash]=e.base64Encoder(await r.digest())}}return i({...n,input:t})}}let f7={name:"ssecMiddleware",step:"initialize",tags:["SSE"],override:!0},getSsecPlugin=e=>({applyToStack:i=>{i.add(ssecMiddleware(e),f7)}});function isValidBase64EncodedSSECustomerKey(e,i){if(!/^(?:[A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e))return!1;try{let n=i.base64Decoder(e);return 32===n.length}catch{return!1}}class f9 extends uO.classBuilder().ep({...uU,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,i,n,t){return[getEndpointPlugin(n,e.getEndpointParameterInstructions()),getFlexibleChecksumsPlugin(n,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!1}),getCheckContentLengthHeaderPlugin(n),getThrow200ExceptionsPlugin(n),getSsecPlugin(n)]}).s("AmazonS3","PutObject",{}).n("S3Client","PutObjectCommand").sc(d1).build(){}let me={tags:["S3"],name:"s3ExpiresMiddleware",override:!0,relation:"after",toMiddleware:"deserializerMiddleware"},getS3ExpiresMiddlewarePlugin=e=>({applyToStack:e=>{e.addRelativeTo((e,i)=>async n=>{let t=await e(n),{response:a}=t;if(tB.isInstance(a)&&a.headers.expires){a.headers.expiresstring=a.headers.expires;try{parseRfc7231DateTime(a.headers.expires)}catch(e){i.logger?.warn(`AWS SDK Warning for ${i.clientName}::${i.commandName} response parsing (${a.headers.expires}): ${e}`),delete a.headers.expires}}return t},me)}});class mi extends uO.classBuilder().ep({...uU,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,i,n,t){return[getEndpointPlugin(n,e.getEndpointParameterInstructions()),getFlexibleChecksumsPlugin(n,{requestChecksumRequired:!1,requestValidationModeMember:"ChecksumMode",responseAlgorithms:["CRC64NVME","CRC32","CRC32C","SHA256","SHA1"]}),getSsecPlugin(n),getS3ExpiresMiddlewarePlugin(n)]}).s("AmazonS3","GetObject",{}).n("S3Client","GetObjectCommand").sc(dj).build(){}class mn extends uO.classBuilder().ep({...uU,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,i,n,t){return[getEndpointPlugin(n,e.getEndpointParameterInstructions()),getThrow200ExceptionsPlugin(n)]}).s("AmazonS3","DeleteObject",{}).n("S3Client","DeleteObjectCommand").sc(dW).build(){}class mt extends uO.classBuilder().ep({...uU,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,i,n,t){return[getEndpointPlugin(n,e.getEndpointParameterInstructions()),getThrow200ExceptionsPlugin(n),getSsecPlugin(n),getS3ExpiresMiddlewarePlugin(n)]}).s("AmazonS3","HeadObject",{}).n("S3Client","HeadObjectCommand").sc(dV).build(){}class ma extends uO.classBuilder().ep({...uU,Bucket:{type:"contextParams",name:"Bucket"},Prefix:{type:"contextParams",name:"Prefix"}}).m(function(e,i,n,t){return[getEndpointPlugin(n,e.getEndpointParameterInstructions()),getThrow200ExceptionsPlugin(n)]}).s("AmazonS3","ListObjectsV2",{}).n("S3Client","ListObjectsV2Command").sc(d0).build(){}class mr extends uO.classBuilder().ep({...uU,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,i,n,t){return[getEndpointPlugin(n,e.getEndpointParameterInstructions()),getThrow200ExceptionsPlugin(n),getSsecPlugin(n)]}).s("AmazonS3","CreateMultipartUpload",{}).n("S3Client","CreateMultipartUploadCommand").sc(dK).build(){}class mo extends uO.classBuilder().ep({...uU,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,i,n,t){return[getEndpointPlugin(n,e.getEndpointParameterInstructions()),getThrow200ExceptionsPlugin(n)]}).s("AmazonS3","AbortMultipartUpload",{}).n("S3Client","AbortMultipartUploadCommand").sc(dq).build(){}class mu extends uO.classBuilder().ep({...uU,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,i,n,t){return[getEndpointPlugin(n,e.getEndpointParameterInstructions()),getFlexibleChecksumsPlugin(n,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!1}),getThrow200ExceptionsPlugin(n),getSsecPlugin(n)]}).s("AmazonS3","UploadPart",{}).n("S3Client","UploadPartCommand").sc(d2).build(){}class ms extends uO.classBuilder().ep({...uU,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,i,n,t){return[getEndpointPlugin(n,e.getEndpointParameterInstructions()),getThrow200ExceptionsPlugin(n),getSsecPlugin(n)]}).s("AmazonS3","CompleteMultipartUpload",{}).n("S3Client","CompleteMultipartUploadCommand").sc(d$).build(){}class ml extends uO.classBuilder().ep({...uU,Bucket:{type:"contextParams",name:"Bucket"}}).m(function(e,i,n,t){return[getEndpointPlugin(n,e.getEndpointParameterInstructions()),getFlexibleChecksumsPlugin(n,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),getThrow200ExceptionsPlugin(n)]}).s("AmazonS3","PutObjectTagging",{}).n("S3Client","PutObjectTaggingCommand").sc(d3).build(){}class mh{onabort=null;_aborted=!1;constructor(){Object.defineProperty(this,"_aborted",{value:!1,writable:!0})}get aborted(){return this._aborted}abort(){this._aborted=!0,this.onabort&&(this.onabort(this),this.onabort=null)}}class mg{signal=new mh;abort(){this.signal.abort()}}let mc={...{lstatSync:()=>{},isFileReadStream:e=>!1},runtime:"node",lstatSync:n0.lstatSync,isFileReadStream:e=>e instanceof n0.ReadStream},byteLength_byteLength=e=>{if(null==e)return 0;if("string"==typeof e)return ap.Buffer.byteLength(e);if("number"==typeof e.byteLength)return e.byteLength;if("number"==typeof e.length)return e.length;if("number"==typeof e.size)return e.size;if("number"==typeof e.start&&"number"==typeof e.end)return e.end+1-e.start;if(mc.isFileReadStream(e))try{return mc.lstatSync(e.path).size}catch(e){}};async function*getChunkStream(e,i,n){let t=1,a={chunks:[],length:0};for await(let r of n(e))for(a.chunks.push(r),a.length+=r.byteLength;a.length>i;){let e=a.chunks.length>1?ap.Buffer.concat(a.chunks):a.chunks[0];yield{partNumber:t,data:e.subarray(0,i)},a.chunks=[e.subarray(i)],a.length=a.chunks[0].byteLength,t+=1}yield{partNumber:t,data:1!==a.chunks.length?ap.Buffer.concat(a.chunks):a.chunks[0],lastPart:!0}}async function*getChunkUint8Array(e,i){let n=1,t=0,a=i;for(;a<e.byteLength;)yield{partNumber:n,data:e.subarray(t,a)},n+=1,a=(t=a)+i;yield{partNumber:n,data:e.subarray(t),lastPart:!0}}async function*getDataReadable(e){for await(let i of e)ap.Buffer.isBuffer(i)||i instanceof Uint8Array?yield i:yield ap.Buffer.from(i)}async function*getDataReadableStream(e){let i=e.getReader();try{for(;;){let{done:e,value:n}=await i.read();if(e)return;ap.Buffer.isBuffer(n)||n instanceof Uint8Array?yield n:yield ap.Buffer.from(n)}}catch(e){throw e}finally{i.releaseLock()}}(et=ef||(ef={})).EMPTY_INPUT="a null or undefined Body",et.CONTENT_LENGTH="the ContentLength property of the params set by the caller",et.STRING_LENGTH="the encoded byte length of the Body string",et.TYPED_ARRAY="the byteLength of a typed byte array such as Uint8Array",et.LENGTH="the value of Body.length",et.SIZE="the value of Body.size",et.START_END_DIFF="the numeric difference between Body.start and Body.end",et.LSTAT="the size of the file given by Body.path on disk as reported by lstatSync";let md=E("events");class mp extends md.EventEmitter{static MIN_PART_SIZE=5242880;MAX_PARTS=1e4;queueSize=4;partSize;leavePartsOnError=!1;tags=[];client;params;totalBytes;totalBytesSource;bytesUploadedSoFar;abortController;concurrentUploaders=[];createMultiPartPromise;abortMultipartUploadCommand=null;uploadedParts=[];uploadEnqueuedPartsCount=0;expectedPartsCount;uploadId;uploadEvent;isMultiPart=!0;singleUploadResult;sent=!1;constructor(e){if(super(),this.queueSize=e.queueSize||this.queueSize,this.leavePartsOnError=e.leavePartsOnError||this.leavePartsOnError,this.tags=e.tags||this.tags,this.client=e.client,this.params=e.params,!this.params)throw Error("InputError: Upload requires params to be passed to upload.");this.totalBytes=this.params.ContentLength??byteLength_byteLength(this.params.Body),this.totalBytesSource=((e,i)=>{if(null!=i)return ef.CONTENT_LENGTH;if(null==e)return ef.EMPTY_INPUT;if("string"==typeof e)return ef.STRING_LENGTH;if("number"==typeof e.byteLength)return ef.TYPED_ARRAY;if("number"==typeof e.length)return ef.LENGTH;if("number"==typeof e.size)return ef.SIZE;if("number"==typeof e.start&&"number"==typeof e.end)return ef.START_END_DIFF;if(mc.isFileReadStream(e))try{return mc.lstatSync(e.path).size,ef.LSTAT}catch(e){}})(this.params.Body,this.params.ContentLength),this.bytesUploadedSoFar=0,this.abortController=e.abortController??new mg,this.partSize=e.partSize||Math.max(mp.MIN_PART_SIZE,Math.floor((this.totalBytes||0)/this.MAX_PARTS)),void 0!==this.totalBytes&&(this.expectedPartsCount=Math.ceil(this.totalBytes/this.partSize)),this.__validateInput()}async abort(){this.abortController.abort()}async done(){if(this.sent)throw Error("@aws-sdk/lib-storage: this instance of Upload has already executed .done(). Create a new instance.");return this.sent=!0,await Promise.race([this.__doMultipartUpload(),this.__abortTimeout(this.abortController.signal)])}on(e,i){return this.uploadEvent=e,super.on(e,i)}async __uploadUsingPut(e){let i,n,t;this.isMultiPart=!1;let a={...this.params,Body:e.data},r=this.client.config,o=r.requestHandler,u=o instanceof md.EventEmitter?o:null,uploadEventListener=i=>{this.bytesUploadedSoFar=i.loaded,this.totalBytes=i.total,this.__notifyProgress({loaded:this.bytesUploadedSoFar,total:this.totalBytes,part:e.partNumber,Key:this.params.Key,Bucket:this.params.Bucket})};null!==u&&u.on("xhr.upload.progress",uploadEventListener);let s=await Promise.all([this.client.send(new f9(a)),r?.endpoint?.()]),l=s[0],h=s[1];if(h||(h=toEndpointV1_toEndpointV1(await getEndpointFromInstructions(a,f9,{...r}))),!h)throw Error('Could not resolve endpoint from S3 "client.config.endpoint()" nor EndpointsV2.');null!==u&&u.off("xhr.upload.progress",uploadEventListener);let g=this.params.Key.split("/").map(e=>extendedEncodeURIComponent(e)).join("/"),c=extendedEncodeURIComponent(this.params.Bucket),d=(i=h.hostname.startsWith(`${c}.`),n=this.client.config.forcePathStyle,t=h.port?`:${h.port}`:"",n?`${h.protocol}//${h.hostname}${t}/${c}/${g}`:i?`${h.protocol}//${h.hostname}${t}/${g}`:`${h.protocol}//${c}.${h.hostname}${t}/${g}`);this.singleUploadResult={...l,Bucket:this.params.Bucket,Key:this.params.Key,Location:d};let p=byteLength_byteLength(e.data);this.__notifyProgress({loaded:p,total:p,part:1,Key:this.params.Key,Bucket:this.params.Bucket})}async __createMultipartUpload(){let e=await this.client.config.requestChecksumCalculation();if(!this.createMultiPartPromise){let i={...this.params,Body:void 0};"WHEN_SUPPORTED"===e&&(i.ChecksumAlgorithm=this.params.ChecksumAlgorithm||"CRC32"),this.createMultiPartPromise=this.client.send(new mr(i)).then(e=>(this.abortMultipartUploadCommand=new mo({Bucket:this.params.Bucket,Key:this.params.Key,UploadId:e.UploadId}),e))}return this.createMultiPartPromise}async __doConcurrentUpload(e){for await(let i of e){if(this.uploadEnqueuedPartsCount>this.MAX_PARTS)throw Error(`Exceeded ${this.MAX_PARTS} parts in multipart upload to Bucket: ${this.params.Bucket} Key: ${this.params.Key}.`);if(this.abortController.signal.aborted)return;if(1===i.partNumber&&i.lastPart)return await this.__uploadUsingPut(i);if(!this.uploadId){let{UploadId:e}=await this.__createMultipartUpload();if(this.uploadId=e,this.abortController.signal.aborted)return}let e=byteLength_byteLength(i.data)||0,n=this.client.config.requestHandler,t=n instanceof md.EventEmitter?n:null,a=0,uploadEventListener=(n,t)=>{(Number(t.query.partNumber)||-1)===i.partNumber&&(n.total&&e&&(this.bytesUploadedSoFar+=n.loaded-a,a=n.loaded),this.__notifyProgress({loaded:this.bytesUploadedSoFar,total:this.totalBytes,part:i.partNumber,Key:this.params.Key,Bucket:this.params.Bucket}))};null!==t&&t.on("xhr.upload.progress",uploadEventListener),this.uploadEnqueuedPartsCount+=1,this.__validateUploadPart(i);let r=await this.client.send(new mu({...this.params,ContentLength:void 0,UploadId:this.uploadId,Body:i.data,PartNumber:i.partNumber}));if(null!==t&&t.off("xhr.upload.progress",uploadEventListener),this.abortController.signal.aborted)return;if(!r.ETag)throw Error(`Part ${i.partNumber} is missing ETag in UploadPart response. Missing Bucket CORS configuration for ETag header?`);this.uploadedParts.push({PartNumber:i.partNumber,ETag:r.ETag,...r.ChecksumCRC32&&{ChecksumCRC32:r.ChecksumCRC32},...r.ChecksumCRC32C&&{ChecksumCRC32C:r.ChecksumCRC32C},...r.ChecksumSHA1&&{ChecksumSHA1:r.ChecksumSHA1},...r.ChecksumSHA256&&{ChecksumSHA256:r.ChecksumSHA256}}),null===t&&(this.bytesUploadedSoFar+=e),this.__notifyProgress({loaded:this.bytesUploadedSoFar,total:this.totalBytes,part:i.partNumber,Key:this.params.Key,Bucket:this.params.Bucket})}}async __doMultipartUpload(){let e,i=((e,i)=>{if(e instanceof Uint8Array)return getChunkUint8Array(e,i);if(e instanceof au.Readable)return getChunkStream(e,i,getDataReadable);if(e instanceof String||"string"==typeof e)return getChunkUint8Array(ap.Buffer.from(e),i);if("function"==typeof e.stream)return getChunkStream(e.stream(),i,getDataReadableStream);if(e instanceof ReadableStream)return getChunkStream(e,i,getDataReadableStream);throw Error("Body Data is unsupported format, expected data to be one of: string | Uint8Array | Buffer | Readable | ReadableStream | Blob;.")})(this.params.Body,this.partSize),n=[];for(let e=0;e<this.queueSize;e++){let e=this.__doConcurrentUpload(i).catch(e=>{n.push(e)});this.concurrentUploaders.push(e)}if(await Promise.all(this.concurrentUploaders),n.length>=1)throw await this.markUploadAsAborted(),n[0];if(this.abortController.signal.aborted)throw await this.markUploadAsAborted(),Object.assign(Error("Upload aborted."),{name:"AbortError"});if(this.isMultiPart){let{expectedPartsCount:i,uploadedParts:n,totalBytes:t,totalBytesSource:a}=this;if(void 0!==t&&void 0!==i&&n.length!==i)throw Error(`Expected ${i} part(s) but uploaded ${n.length} part(s).
|
|
73
|
+
`)}l.push(null)}),l},getAwsRegionExtensionConfiguration=e=>({setRegion(i){e.region=i},region:()=>e.region}),resolveAwsRegionExtensionConfiguration=e=>({region:e.region()}),getHttpHandlerExtensionConfiguration=e=>({setHttpHandler(i){e.httpHandler=i},httpHandler:()=>e.httpHandler,updateHttpClientConfig(i,n){e.httpHandler?.updateHttpClientConfig(i,n)},httpHandlerConfigs:()=>e.httpHandler.httpHandlerConfigs()}),resolveHttpHandlerRuntimeConfig=e=>({httpHandler:e.httpHandler()});(en=ep||(ep={})).MD5="md5",en.CRC32="crc32",en.CRC32C="crc32c",en.SHA1="sha1",en.SHA256="sha256";let getDefaultExtensionConfiguration=e=>Object.assign((e=>{let i=[];for(let n in ep){let t=ep[n];void 0!==e[t]&&i.push({algorithmId:()=>t,checksumConstructor:()=>e[t]})}return{addChecksumAlgorithm(e){i.push(e)},checksumAlgorithms:()=>i}})(e),{setRetryStrategy(i){e.retryStrategy=i},retryStrategy:()=>e.retryStrategy}),resolveDefaultRuntimeConfig=e=>{let i,n;return Object.assign((i={},e.checksumAlgorithms().forEach(e=>{i[e.algorithmId()]=e.checksumConstructor()}),i),((n={}).retryStrategy=e.retryStrategy(),n))};class fG extends ad{config;constructor(...[e]){var i,n,t,a,r;let o,u,s,l,h,g,c,d,p,f,m,y,S,b,C=(i=e||{},emitWarningIfUnsupportedVersion_emitWarningIfUnsupportedVersion(process.version),o=resolveDefaultsModeConfig(i),u=()=>o().then(loadConfigsForDefaultMode),s={apiVersion:"2006-03-01",base64Decoder:i?.base64Decoder??fromBase64,base64Encoder:i?.base64Encoder??toBase64,disableHostPrefix:i?.disableHostPrefix??!1,endpointProvider:i?.endpointProvider??endpointResolver_defaultEndpointResolver,extensions:i?.extensions??[],getAwsChunkedEncodingStream:i?.getAwsChunkedEncodingStream??getAwsChunkedEncodingStream_getAwsChunkedEncodingStream,httpAuthSchemeProvider:i?.httpAuthSchemeProvider??uB,httpAuthSchemes:i?.httpAuthSchemes??[{schemeId:"aws.auth#sigv4",identityProvider:e=>e.getIdentityProvider("aws.auth#sigv4"),signer:new pz},{schemeId:"aws.auth#sigv4a",identityProvider:e=>e.getIdentityProvider("aws.auth#sigv4a"),signer:new pW}],logger:i?.logger??new ar,protocol:i?.protocol??fU,protocolSettings:i?.protocolSettings??{defaultNamespace:"com.amazonaws.s3",xmlNamespace:"http://s3.amazonaws.com/doc/2006-03-01/",version:"2006-03-01",serviceTarget:"AmazonS3"},sdkStreamMixin:i?.sdkStreamMixin??sdk_stream_mixin_sdkStreamMixin,serviceId:i?.serviceId??"S3",signerConstructor:i?.signerConstructor??aF,signingEscapePath:i?.signingEscapePath??!1,urlParser:i?.urlParser??dist_es_parseUrl,useArnRegion:i?.useArnRegion??void 0,utf8Decoder:i?.utf8Decoder??fromUtf8_fromUtf8,utf8Encoder:i?.utf8Encoder??dist_es_toUtf8_toUtf8},emitWarningIfUnsupportedVersion(process.version),l={profile:i?.profile,logger:s.logger},{...s,...i,runtime:"node",defaultsMode:o,authSchemePreference:i?.authSchemePreference??loadConfig(pe,l),bodyLengthChecker:i?.bodyLengthChecker??calculateBodyLength,credentialDefaultProvider:i?.credentialDefaultProvider??defaultProvider,defaultUserAgentProvider:i?.defaultUserAgentProvider??createDefaultUserAgentProvider({serviceId:s.serviceId,clientVersion:"3.964.0"}),disableS3ExpressSessionAuth:i?.disableS3ExpressSessionAuth??loadConfig(tw,l),eventStreamSerdeProvider:i?.eventStreamSerdeProvider??eventStreamSerdeProvider,maxAttempts:i?.maxAttempts??loadConfig(at,i),md5:i?.md5??pk.bind(null,"md5"),region:i?.region??loadConfig(pl,{...ph,...l}),requestChecksumCalculation:i?.requestChecksumCalculation??loadConfig(po,l),requestHandler:pI.create(i?.requestHandler??u),responseChecksumValidation:i?.responseChecksumValidation??loadConfig(pu,l),retryMode:i?.retryMode??loadConfig({...aa,default:async()=>(await u()).retryMode||t3},i),sha1:i?.sha1??pk.bind(null,"sha1"),sha256:i?.sha256??pk.bind(null,"sha256"),sigv4aSigningRegionSet:i?.sigv4aSigningRegionSet??loadConfig(aB,l),streamCollector:i?.streamCollector??streamCollector,streamHasher:i?.streamHasher??readableStreamHasher,useArnRegion:i?.useArnRegion??loadConfig(pr,l),useDualstackEndpoint:i?.useDualstackEndpoint??loadConfig(pg,l),useFipsEndpoint:i?.useFipsEndpoint??loadConfig(pc,l),userAgentAppId:i?.userAgentAppId??loadConfig(ps,l)});super(C),this.initConfig=C;let w=(a=((e,{session:i})=>{let[n,t]=i,{forcePathStyle:a,useAccelerateEndpoint:r,disableMultiregionAccessPoints:o,followRegionRedirects:u,s3ExpressIdentityProvider:s,bucketEndpoint:l,expectContinueHeader:h}=e;return Object.assign(e,{forcePathStyle:a??!1,useAccelerateEndpoint:r??!1,disableMultiregionAccessPoints:o??!1,followRegionRedirects:u??!1,s3ExpressIdentityProvider:s??new tp(async e=>n().send(new t({Bucket:e}))),bucketEndpoint:l??!1,expectContinueHeader:h??2097152})})(Object.assign(((t=resolveAwsSdkSigV4Config(n=Object.assign(h=resolveEndpointConfig(resolveHostHeaderConfig(resolveRegionConfig(resolveRetryConfig((e=>{let{requestChecksumCalculation:i,responseChecksumValidation:n,requestStreamBufferSize:t}=e;return Object.assign(e,{requestChecksumCalculation:normalizeProvider(i??n9),responseChecksumValidation:normalizeProvider(n??ti),requestStreamBufferSize:Number(t??0)})})(resolveUserAgentConfig(Object.assign(C,{useFipsEndpoint:C.useFipsEndpoint??!1,useDualstackEndpoint:C.useDualstackEndpoint??!1,forcePathStyle:C.forcePathStyle??!1,useAccelerateEndpoint:C.useAccelerateEndpoint??!1,useGlobalEndpoint:C.useGlobalEndpoint??!1,disableMultiregionAccessPoints:C.disableMultiregionAccessPoints??!1,defaultSigningName:"s3",clientContextParams:C.clientContextParams??{}}))))))),{eventStreamMarshaller:h.eventStreamSerdeProvider(h)}))).sigv4aSigningRegionSet=normalizeProvider_normalizeProvider(t.sigv4aSigningRegionSet),t),{authSchemePreference:normalizeProvider(n.authSchemePreference??[])}),{session:[()=>this,d6]}),r=e?.extensions||[],p=Object.assign(getAwsRegionExtensionConfiguration(a),getDefaultExtensionConfiguration(a),getHttpHandlerExtensionConfiguration(a),(g=a.httpAuthSchemes,c=a.httpAuthSchemeProvider,d=a.credentials,{setHttpAuthScheme(e){let i=g.findIndex(i=>i.schemeId===e.schemeId);-1===i?g.push(e):g.splice(i,1,e)},httpAuthSchemes:()=>g,setHttpAuthSchemeProvider(e){c=e},httpAuthSchemeProvider:()=>c,setCredentials(e){d=e},credentials:()=>d})),r.forEach(e=>e.configure(p)),Object.assign(a,resolveAwsRegionExtensionConfiguration(p),resolveDefaultRuntimeConfig(p),resolveHttpHandlerRuntimeConfig(p),{httpAuthSchemes:p.httpAuthSchemes(),httpAuthSchemeProvider:p.httpAuthSchemeProvider(),credentials:p.credentials()}));this.config=w,this.middlewareStack.use(getSchemaSerdePlugin(this.config)),this.middlewareStack.use(getUserAgentPlugin(this.config)),this.middlewareStack.use(getRetryPlugin(this.config)),this.middlewareStack.use(getContentLengthPlugin(this.config)),this.middlewareStack.use(getHostHeaderPlugin(this.config)),this.middlewareStack.use(getLoggerPlugin(this.config)),this.middlewareStack.use(getRecursionDetectionPlugin(this.config)),this.middlewareStack.use(getHttpAuthSchemeEndpointRuleSetPlugin(this.config,{httpAuthSchemeParametersProvider:uk,identityProviderConfigProvider:async e=>new tH({"aws.auth#sigv4":e.credentials,"aws.auth#sigv4a":e.credentials})})),this.middlewareStack.use(getHttpSigningPlugin(this.config)),this.middlewareStack.use((f=this.config,{applyToStack:e=>{e.add(validateBucketNameMiddleware(f),tm),e.addRelativeTo(bucketEndpointMiddleware(f),tf)}})),this.middlewareStack.use((m=this.config,{applyToStack:e=>{e.add(addExpectContinueMiddleware(m),n5)}})),this.middlewareStack.use((y=this.config,{applyToStack:e=>{e.add(regionRedirectMiddleware(y),tS),e.addRelativeTo((e,i)=>async n=>{let t=await y.region(),a=y.region,unlock=()=>{};i.__s3RegionRedirect&&(Object.defineProperty(y,"region",{writable:!1,value:async()=>i.__s3RegionRedirect}),unlock=()=>Object.defineProperty(y,"region",{writable:!0,value:a}));try{let a=await e(n);if(i.__s3RegionRedirect){unlock();let e=await y.region();if(t!==e)throw Error("Region was not restored following S3 region redirect.")}return a}catch(e){throw unlock(),e}},ty)}})),this.middlewareStack.use((S=this.config,{applyToStack:e=>{e.add((e,i)=>async n=>{if(i.endpointV2){let e=i.endpointV2,t=e.properties?.authSchemes?.[0]?.name==="sigv4-s3express";if((e.properties?.backend==="S3Express"||e.properties?.bucketType==="Directory")&&(setFeature(i,"S3_EXPRESS_BUCKET","J"),i.isS3ExpressBucket=!0),t){let e=n.input.Bucket;if(e){let t=await S.s3ExpressIdentityProvider.getS3ExpressIdentity(await S.credentials(),{Bucket:e});i.s3ExpressIdentity=t,n6.isInstance(n.request)&&t.sessionToken&&(n.request.headers[tC]=t.sessionToken)}}}return e(n)},tT)}})),this.middlewareStack.use((b=this.config,{applyToStack:e=>{e.addRelativeTo((e,i)=>async n=>{let t;if(!n6.isInstance(n.request))return e(n);let a=getSmithyContext(i).selectedHttpAuthScheme;if(!a)throw Error("No HttpAuthScheme was selected: unable to sign request");let{httpAuthOption:{signingProperties:r={}},identity:o,signer:u}=a;t=i.s3ExpressIdentity?await signS3Express(i.s3ExpressIdentity,r,n.request,await b.signer()):await u.sign(n.request,o,r);let s=await e({...n,request:t}).catch((u.errorHandler||(e=>e=>{throw e}))(r));return(u.successHandler||((e,i)=>{}))(s.response,r),s},tL)}}))}destroy(){super.destroy()}}let fq={name:"flexibleChecksumsInputMiddleware",toMiddleware:"serializerMiddleware",relation:"before",tags:["BODY_CHECKSUM"],override:!0};class f${allocByteArray;byteLength=0;byteArrays=[];constructor(e){this.allocByteArray=e}push(e){this.byteArrays.push(e),this.byteLength+=e.byteLength}flush(){if(1===this.byteArrays.length){let e=this.byteArrays[0];return this.reset(),e}let e=this.allocByteArray(this.byteLength),i=0;for(let n=0;n<this.byteArrays.length;++n){let t=this.byteArrays[n];e.set(t,i),i+=t.byteLength}return this.reset(),e}reset(){this.byteArrays=[],this.byteLength=0}}function createBufferedReadableStream(e,i,n){let t=e.getReader(),a=!1,r=0,o=["",new f$(e=>new Uint8Array(e))],u=-1,pull=async e=>{let{value:s,done:l}=await t.read();if(l){if(-1!==u){let i=flush(o,u);sizeOf(i)>0&&e.enqueue(i)}e.close()}else{let t=modeOf(s,!1);if(u!==t&&(u>=0&&e.enqueue(flush(o,u)),u=t),-1===u)return void e.enqueue(s);let l=sizeOf(s);r+=l;let h=sizeOf(o[u]);if(l>=i&&0===h)e.enqueue(s);else{let t=createBufferedReadableStream_merge(o,u,s);!a&&r>2*i&&(a=!0,n?.warn(`@smithy/util-stream - stream chunk size ${l} is below threshold of ${i}, automatically buffering.`)),t>=i?e.enqueue(flush(o,u)):await pull(e)}}};return new ReadableStream({pull})}function createBufferedReadableStream_merge(e,i,n){switch(i){case 0:return e[0]+=n,sizeOf(e[0]);case 1:case 2:return e[i].push(n),sizeOf(e[i])}}function flush(e,i){switch(i){case 0:let n=e[0];return e[0]="",n;case 1:case 2:return e[i].flush()}throw Error(`@smithy/util-stream - invalid index ${i} given to flush()`)}function sizeOf(e){return e?.byteLength??e?.length??0}function modeOf(e,i=!0){return i&&"u">typeof Buffer&&e instanceof Buffer?2:e instanceof Uint8Array?1:"string"==typeof e?0:-1}let fK=E("node:stream");function createBufferedReadable_createBufferedReadable(e,i,n){if(isReadableStream(e))return createBufferedReadableStream(e,i,n);let t=new fK.Readable({read(){}}),a=!1,r=0,o=["",new f$(e=>new Uint8Array(e)),new f$(e=>Buffer.from(new Uint8Array(e)))],u=-1;return e.on("data",e=>{let s=modeOf(e,!0);if(u!==s&&(u>=0&&t.push(flush(o,u)),u=s),-1===u)return void t.push(e);let l=sizeOf(e);r+=l;let h=sizeOf(o[u]);if(l>=i&&0===h)t.push(e);else{let s=createBufferedReadableStream_merge(o,u,e);!a&&r>2*i&&(a=!0,n?.warn(`@smithy/util-stream - stream chunk size ${l} is below threshold of ${i}, automatically buffering.`)),s>=i&&t.push(flush(o,u))}}),e.on("end",()=>{if(-1!==u){let e=flush(o,u);sizeOf(e)>0&&t.push(e)}t.push(null)}),t}let fz=[ea.CRC32,ea.CRC32C,ea.CRC64NVME,ea.SHA1,ea.SHA256],fW=[ea.SHA256,ea.SHA1,ea.CRC32,ea.CRC32C,ea.CRC64NVME],getChecksumLocationName=e=>e===ea.MD5?"content-md5":`x-amz-checksum-${e.toLowerCase()}`,isStreaming_isStreaming=e=>void 0!==e&&"string"!=typeof e&&!ArrayBuffer.isView(e)&&!dist_es_isArrayBuffer(e);var fj=function(){function AwsCrc32c(){this.crc32c=new fV}return AwsCrc32c.prototype.update=function(e){isEmptyData(e)||this.crc32c.update(convertToBuffer(e))},AwsCrc32c.prototype.digest=function(){return __awaiter(this,void 0,void 0,function(){return __generator(this,function(e){return[2,numToUint8(this.crc32c.digest())]})})},AwsCrc32c.prototype.reset=function(){this.crc32c=new fV},AwsCrc32c}(),fV=function(){function Crc32c(){this.checksum=0xffffffff}return Crc32c.prototype.update=function(e){var i,n;try{for(var t=__values(e),a=t.next();!a.done;a=t.next()){var r=a.value;this.checksum=this.checksum>>>8^f0[(this.checksum^r)&255]}}catch(e){i={error:e}}finally{try{a&&!a.done&&(n=t.return)&&n.call(t)}finally{if(i)throw i.error}}return this},Crc32c.prototype.digest=function(){return(0xffffffff^this.checksum)>>>0},Crc32c}(),f0=uint32ArrayFrom([0,0xf26b8303,0xe13b70f7,0x1350f3f4,0xc79a971f,0x35f1141c,0x26a1e7e8,0xd4ca64eb,0x8ad958cf,0x78b2dbcc,0x6be22838,0x9989ab3b,0x4d43cfd0,0xbf284cd3,0xac78bf27,0x5e133c24,0x105ec76f,0xe235446c,0xf165b798,0x30e349b,0xd7c45070,0x25afd373,0x36ff2087,0xc494a384,0x9a879fa0,0x68ec1ca3,0x7bbcef57,0x89d76c54,0x5d1d08bf,0xaf768bbc,0xbc267848,0x4e4dfb4b,0x20bd8ede,0xd2d60ddd,0xc186fe29,0x33ed7d2a,0xe72719c1,0x154c9ac2,0x61c6936,0xf477ea35,0xaa64d611,0x580f5512,0x4b5fa6e6,0xb93425e5,0x6dfe410e,0x9f95c20d,0x8cc531f9,0x7eaeb2fa,0x30e349b1,0xc288cab2,0xd1d83946,0x23b3ba45,0xf779deae,0x5125dad,0x1642ae59,0xe4292d5a,0xba3a117e,0x4851927d,0x5b016189,0xa96ae28a,0x7da08661,0x8fcb0562,0x9c9bf696,0x6ef07595,0x417b1dbc,0xb3109ebf,0xa0406d4b,0x522bee48,0x86e18aa3,0x748a09a0,0x67dafa54,0x95b17957,0xcba24573,0x39c9c670,0x2a993584,0xd8f2b687,0xc38d26c,0xfe53516f,0xed03a29b,0x1f682198,0x5125dad3,0xa34e59d0,0xb01eaa24,0x42752927,0x96bf4dcc,0x64d4cecf,0x77843d3b,0x85efbe38,0xdbfc821c,0x2997011f,0x3ac7f2eb,0xc8ac71e8,0x1c661503,0xee0d9600,0xfd5d65f4,0xf36e6f7,0x61c69362,0x93ad1061,0x80fde395,0x72966096,0xa65c047d,0x5437877e,0x4767748a,0xb50cf789,0xeb1fcbad,0x197448ae,0xa24bb5a,0xf84f3859,0x2c855cb2,0xdeeedfb1,0xcdbe2c45,0x3fd5af46,0x7198540d,0x83f3d70e,0x90a324fa,0x62c8a7f9,0xb602c312,0x44694011,0x5739b3e5,0xa55230e6,0xfb410cc2,0x92a8fc1,0x1a7a7c35,0xe811ff36,0x3cdb9bdd,0xceb018de,0xdde0eb2a,0x2f8b6829,0x82f63b78,0x709db87b,0x63cd4b8f,0x91a6c88c,0x456cac67,0xb7072f64,0xa457dc90,0x563c5f93,0x82f63b7,0xfa44e0b4,0xe9141340,0x1b7f9043,0xcfb5f4a8,0x3dde77ab,0x2e8e845f,0xdce5075c,0x92a8fc17,0x60c37f14,0x73938ce0,0x81f80fe3,0x55326b08,0xa759e80b,0xb4091bff,0x466298fc,0x1871a4d8,0xea1a27db,0xf94ad42f,0xb21572c,0xdfeb33c7,0x2d80b0c4,0x3ed04330,0xccbbc033,0xa24bb5a6,0x502036a5,0x4370c551,0xb11b4652,0x65d122b9,0x97baa1ba,0x84ea524e,0x7681d14d,0x2892ed69,0xdaf96e6a,0xc9a99d9e,0x3bc21e9d,0xef087a76,0x1d63f975,0xe330a81,0xfc588982,0xb21572c9,0x407ef1ca,0x532e023e,0xa145813d,0x758fe5d6,0x87e466d5,0x94b49521,0x66df1622,0x38cc2a06,0xcaa7a905,0xd9f75af1,0x2b9cd9f2,0xff56bd19,0xd3d3e1a,0x1e6dcdee,0xec064eed,0xc38d26c4,0x31e6a5c7,0x22b65633,0xd0ddd530,0x417b1db,0xf67c32d8,0xe52cc12c,0x1747422f,0x49547e0b,0xbb3ffd08,0xa86f0efc,0x5a048dff,0x8ecee914,0x7ca56a17,0x6ff599e3,0x9d9e1ae0,0xd3d3e1ab,0x21b862a8,0x32e8915c,0xc083125f,0x144976b4,0xe622f5b7,0xf5720643,0x7198540,0x590ab964,0xab613a67,0xb831c993,0x4a5a4a90,0x9e902e7b,0x6cfbad78,0x7fab5e8c,0x8dc0dd8f,0xe330a81a,0x115b2b19,0x20bd8ed,0xf0605bee,0x24aa3f05,0xd6c1bc06,0xc5914ff2,0x37faccf1,0x69e9f0d5,0x9b8273d6,0x88d28022,0x7ab90321,0xae7367ca,0x5c18e4c9,0x4f48173d,0xbd23943e,0xf36e6f75,0x105ec76,0x12551f82,0xe03e9c81,0x34f4f86a,0xc69f7b69,0xd5cf889d,0x27a40b9e,0x79b737ba,0x8bdcb4b9,0x988c474d,0x6ae7c44e,0xbe2da0a5,0x4c4623a6,0x5f16d052,0xad7d5351]);class f1{c1=0;c2=0;constructor(){t||(t=(()=>{let e=Array(8);for(let i=0;i<8;i++){let n=Array(512);for(let e=0;e<256;e++){let t=BigInt(e);for(let e=0;e<8*(i+1);e++)1n&t?t=t>>1n^0x9a6c9329ac4bc9b5n:t>>=1n;n[2*e]=Number(t>>32n&4294967295n),n[2*e+1]=Number(4294967295n&t)}e[i]=new Uint32Array(n)}return e})(),[a,r,o,u,s,l,h,g]=t),this.reset()}update(e){let i=e.length,n=0,t=this.c1,c=this.c2;for(;n+8<=i;){let i=((c^e[n++])&255)<<1,d=((c>>>8^e[n++])&255)<<1,p=((c>>>16^e[n++])&255)<<1,f=((c>>>24^e[n++])&255)<<1,m=((t^e[n++])&255)<<1,y=((t>>>8^e[n++])&255)<<1,S=((t>>>16^e[n++])&255)<<1,b=((t>>>24^e[n++])&255)<<1;t=g[i]^h[d]^l[p]^s[f]^u[m]^o[y]^r[S]^a[b],c=g[i+1]^h[d+1]^l[p+1]^s[f+1]^u[m+1]^o[y+1]^r[S+1]^a[b+1]}for(;n<i;){let i=((c^e[n])&255)<<1;c=(c>>>8|(255&t)<<24)>>>0,t=t>>>8^a[i],c^=a[i+1],n++}this.c1=t,this.c2=c}async digest(){let e=0xffffffff^this.c1,i=0xffffffff^this.c2;return new Uint8Array([e>>>24,e>>>16&255,e>>>8&255,255&e,i>>>24,i>>>16&255,i>>>8&255,255&i])}reset(){this.c1=0xffffffff,this.c2=0xffffffff}}let f3=E("zlib");class f2{checksum=0;update(e){this.checksum=f3.crc32(e,this.checksum)}async digest(){return numToUint8(this.checksum)}reset(){this.checksum=0}}let selectChecksumAlgorithmFunction=(e,i)=>{switch(e){case ea.MD5:return i.md5;case ea.CRC32:return void 0===f3.crc32?pp:f2;case ea.CRC32C:return fj;case ea.CRC64NVME:!0;return f1;case ea.SHA1:return i.sha1;case ea.SHA256:return i.sha256;default:throw Error(`Unsupported checksum algorithm: ${e}`)}},stringHasher=(e,i)=>{let n=new e;return n.update(toUint8Array(i||"")),n.digest()},f4={name:"flexibleChecksumsMiddleware",step:"build",tags:["BODY_CHECKSUM"],override:!0},getChecksumAlgorithmListForResponse=(e=[])=>{let i=[];for(let n of fW)e.includes(n)&&fz.includes(n)&&i.push(n);return i};class f8 extends al.Duplex{expectedChecksum;checksumSourceLocation;checksum;source;base64Encoder;constructor({expectedChecksum:e,checksum:i,source:n,checksumSourceLocation:t,base64Encoder:a}){if(super(),"function"==typeof n.pipe)this.source=n;else throw Error(`@smithy/util-stream: unsupported source type ${n?.constructor?.name??n} in ChecksumStream.`);this.base64Encoder=a??toBase64,this.expectedChecksum=e,this.checksum=i,this.checksumSourceLocation=t,this.source.pipe(this)}_read(e){}_write(e,i,n){try{this.checksum.update(e),this.push(e)}catch(e){return n(e)}return n()}async _final(e){try{let i=await this.checksum.digest(),n=this.base64Encoder(i);if(this.expectedChecksum!==n)return e(Error(`Checksum mismatch: expected "${this.expectedChecksum}" but received "${n}" in response header "${this.checksumSourceLocation}".`))}catch(i){return e(i)}return this.push(null),e()}}let f6="function"==typeof ReadableStream?ReadableStream:function(){};class f5 extends f6{}function createChecksumStream_createChecksumStream(e){return"function"==typeof ReadableStream&&isReadableStream(e.source)?(({expectedChecksum:e,checksum:i,source:n,checksumSourceLocation:t,base64Encoder:a})=>{if(!isReadableStream(n))throw Error(`@smithy/util-stream: unsupported source type ${n?.constructor?.name??n} in ChecksumStream.`);let r=a??toBase64;if("function"!=typeof TransformStream)throw Error("@smithy/util-stream: unable to instantiate ChecksumStream because API unavailable: ReadableStream/TransformStream.");let o=new TransformStream({start(){},async transform(e,n){i.update(e),n.enqueue(e)},async flush(n){let a=r(await i.digest());if(e!==a){let i=Error(`Checksum mismatch: expected "${e}" but received "${a}" in response header "${t}".`);n.error(i)}else n.terminate()}});n.pipeThrough(o);let u=o.readable;return Object.setPrototypeOf(u,f5.prototype),u})(e):new f8(e)}let getChecksum=async(e,{checksumAlgorithmFn:i,base64Encoder:n})=>n(await stringHasher(i,e)),validateChecksumFromResponse=async(e,{config:i,responseAlgorithms:n,logger:t})=>{let a=getChecksumAlgorithmListForResponse(n),{body:r,headers:o}=e;for(let n of a){let a=getChecksumLocationName(n),u=o[a];if(u){let o;try{o=selectChecksumAlgorithmFunction(n,i)}catch(e){if(n===ea.CRC64NVME){t?.warn(`Skipping ${ea.CRC64NVME} checksum validation: ${e.message}`);continue}throw e}let{base64Encoder:s}=i;if(isStreaming_isStreaming(r)){e.body=createChecksumStream_createChecksumStream({expectedChecksum:u,checksumSourceLocation:a,checksum:new o,source:r,base64Encoder:s});return}let l=await getChecksum(r,{checksumAlgorithmFn:o,base64Encoder:s});if(l===u)break;throw Error(`Checksum mismatch: expected "${l}" but received "${u}" in response header "${a}".`)}}},f7={name:"flexibleChecksumsResponseMiddleware",toMiddleware:"deserializerMiddleware",relation:"after",tags:["BODY_CHECKSUM"],override:!0},getFlexibleChecksumsPlugin=(e,i)=>({applyToStack:n=>{n.add((n,t)=>async a=>{if(!n6.isInstance(a.request)||((e,i)=>{let n=e.toLowerCase();for(let e of Object.keys(i))if(e.toLowerCase().startsWith(n))return!0;return!1})("x-amz-checksum-",a.request.headers))return n(a);let{request:r,input:o}=a,{body:u,headers:s}=r,{base64Encoder:l,streamHasher:h}=e,{requestChecksumRequired:g,requestAlgorithmMember:c}=i,d=await e.requestChecksumCalculation(),p=c?.name,f=c?.httpHeader;p&&!o[p]&&(d===n7.WHEN_SUPPORTED||g)&&(o[p]=tn,f&&(s[f]=tn));let m=((e,{requestChecksumRequired:i,requestAlgorithmMember:n,requestChecksumCalculation:t})=>{if(!n)return t===n7.WHEN_SUPPORTED||i?tn:void 0;if(!e[n])return;let a=e[n];if(!fz.includes(a))throw Error(`The checksum algorithm "${a}" is not supported by the client. Select one of ${fz}.`);return a})(o,{requestChecksumRequired:g,requestAlgorithmMember:c?.name,requestChecksumCalculation:d}),y=u,S=s;if(m){switch(m){case ea.CRC32:setFeature(t,"FLEXIBLE_CHECKSUMS_REQ_CRC32","U");break;case ea.CRC32C:setFeature(t,"FLEXIBLE_CHECKSUMS_REQ_CRC32C","V");break;case ea.CRC64NVME:setFeature(t,"FLEXIBLE_CHECKSUMS_REQ_CRC64","W");break;case ea.SHA1:setFeature(t,"FLEXIBLE_CHECKSUMS_REQ_SHA1","X");break;case ea.SHA256:setFeature(t,"FLEXIBLE_CHECKSUMS_REQ_SHA256","Y")}let i=getChecksumLocationName(m),n=selectChecksumAlgorithmFunction(m,e);if(isStreaming_isStreaming(u)){let{getAwsChunkedEncodingStream:a,bodyLengthChecker:r}=e;y=a("number"==typeof e.requestStreamBufferSize&&e.requestStreamBufferSize>=8192?createBufferedReadable_createBufferedReadable(u,e.requestStreamBufferSize,t.logger):u,{base64Encoder:l,bodyLengthChecker:r,checksumLocationName:i,checksumAlgorithmFn:n,streamHasher:h}),S={...s,"content-encoding":s["content-encoding"]?`${s["content-encoding"]},aws-chunked`:"aws-chunked","transfer-encoding":"chunked","x-amz-decoded-content-length":s["content-length"],"x-amz-content-sha256":"STREAMING-UNSIGNED-PAYLOAD-TRAILER","x-amz-trailer":i},delete S["content-length"]}else if(!((e,i)=>{let n=e.toLowerCase();for(let e of Object.keys(i))if(n===e.toLowerCase())return!0;return!1})(i,s)){let e=await stringHasher(n,u);S={...s,[i]:l(e)}}}try{return await n({...a,request:{...r,headers:S,body:y}})}catch(e){if(e instanceof Error&&"InvalidChunkSizeError"===e.name)try{e.message.endsWith(".")||(e.message+="."),e.message+=" Set [requestStreamBufferSize=number e.g. 65_536] in client constructor to instruct AWS SDK to buffer your input stream."}catch(e){}throw e}},f4),n.addRelativeTo((n,t)=>async a=>{let r=a.input,{requestValidationModeMember:o}=i,u=await e.requestChecksumCalculation(),s=await e.responseChecksumValidation();switch(u){case n7.WHEN_REQUIRED:setFeature(t,"FLEXIBLE_CHECKSUMS_REQ_WHEN_REQUIRED","a");break;case n7.WHEN_SUPPORTED:setFeature(t,"FLEXIBLE_CHECKSUMS_REQ_WHEN_SUPPORTED","Z")}switch(s){case te.WHEN_REQUIRED:setFeature(t,"FLEXIBLE_CHECKSUMS_RES_WHEN_REQUIRED","c");break;case te.WHEN_SUPPORTED:setFeature(t,"FLEXIBLE_CHECKSUMS_RES_WHEN_SUPPORTED","b")}return o&&!r[o]&&s===te.WHEN_SUPPORTED&&(r[o]="ENABLED"),n(a)},fq),n.addRelativeTo((n,t)=>async a=>{if(!n6.isInstance(a.request))return n(a);let r=a.input,o=await n(a),u=o.response,{requestValidationModeMember:s,responseAlgorithms:l}=i;if(s&&"ENABLED"===r[s]){let{clientName:i,commandName:n}=t;if("S3Client"===i&&"GetObjectCommand"===n&&getChecksumAlgorithmListForResponse(l).every(e=>{let i=getChecksumLocationName(e),n=u.headers[i];return!n||(e=>{let i=e.lastIndexOf("-");if(-1!==i){let n=e.slice(i+1);if(!n.startsWith("0")){let e=parseInt(n,10);if(!isNaN(e)&&e>=1&&e<=1e4)return!0}}return!1})(n)}))return o;await validateChecksumFromResponse(u,{config:e,responseAlgorithms:l,logger:t.logger})}return o},f7)}});function checkContentLengthHeader(){return(e,i)=>async n=>{let{request:t}=n;if(n6.isInstance(t)&&!("content-length"in t.headers)&&!("x-amz-decoded-content-length"in t.headers)){let e="Are you using a Stream of unknown length as the Body of a PutObject request? Consider using Upload instead from @aws-sdk/lib-storage.";"function"!=typeof i?.logger?.warn||i.logger instanceof ar?console.warn(e):i.logger.warn(e)}return e({...n})}}let f9={step:"finalizeRequest",tags:["CHECK_CONTENT_LENGTH_HEADER"],name:"getCheckContentLengthHeaderPlugin",override:!0},getCheckContentLengthHeaderPlugin=e=>({applyToStack:e=>{e.add(checkContentLengthHeader(),f9)}});function ssecMiddleware(e){return i=>async n=>{let t={...n.input};for(let i of[{target:"SSECustomerKey",hash:"SSECustomerKeyMD5"},{target:"CopySourceSSECustomerKey",hash:"CopySourceSSECustomerKeyMD5"}]){let n=t[i.target];if(n){let a;"string"==typeof n?isValidBase64EncodedSSECustomerKey(n,e)?a=e.base64Decoder(n):(a=e.utf8Decoder(n),t[i.target]=e.base64Encoder(a)):(a=ArrayBuffer.isView(n)?new Uint8Array(n.buffer,n.byteOffset,n.byteLength):new Uint8Array(n),t[i.target]=e.base64Encoder(a));let r=new e.md5;r.update(a),t[i.hash]=e.base64Encoder(await r.digest())}}return i({...n,input:t})}}let me={name:"ssecMiddleware",step:"initialize",tags:["SSE"],override:!0},getSsecPlugin=e=>({applyToStack:i=>{i.add(ssecMiddleware(e),me)}});function isValidBase64EncodedSSECustomerKey(e,i){if(!/^(?:[A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e))return!1;try{let n=i.base64Decoder(e);return 32===n.length}catch{return!1}}class mi extends uU.classBuilder().ep({...uq,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,i,n,t){return[getEndpointPlugin(n,e.getEndpointParameterInstructions()),getFlexibleChecksumsPlugin(n,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!1}),getCheckContentLengthHeaderPlugin(n),getThrow200ExceptionsPlugin(n),getSsecPlugin(n)]}).s("AmazonS3","PutObject",{}).n("S3Client","PutObjectCommand").sc(d2).build(){}let mn={tags:["S3"],name:"s3ExpiresMiddleware",override:!0,relation:"after",toMiddleware:"deserializerMiddleware"},getS3ExpiresMiddlewarePlugin=e=>({applyToStack:e=>{e.addRelativeTo((e,i)=>async n=>{let t=await e(n),{response:a}=t;if(tF.isInstance(a)&&a.headers.expires){a.headers.expiresstring=a.headers.expires;try{parseRfc7231DateTime(a.headers.expires)}catch(e){i.logger?.warn(`AWS SDK Warning for ${i.clientName}::${i.commandName} response parsing (${a.headers.expires}): ${e}`),delete a.headers.expires}}return t},mn)}});class mt extends uU.classBuilder().ep({...uq,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,i,n,t){return[getEndpointPlugin(n,e.getEndpointParameterInstructions()),getFlexibleChecksumsPlugin(n,{requestChecksumRequired:!1,requestValidationModeMember:"ChecksumMode",responseAlgorithms:["CRC64NVME","CRC32","CRC32C","SHA256","SHA1"]}),getSsecPlugin(n),getS3ExpiresMiddlewarePlugin(n)]}).s("AmazonS3","GetObject",{}).n("S3Client","GetObjectCommand").sc(d0).build(){}class ma extends uU.classBuilder().ep({...uq,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,i,n,t){return[getEndpointPlugin(n,e.getEndpointParameterInstructions()),getThrow200ExceptionsPlugin(n)]}).s("AmazonS3","DeleteObject",{}).n("S3Client","DeleteObjectCommand").sc(dV).build(){}class mr extends uU.classBuilder().ep({...uq,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,i,n,t){return[getEndpointPlugin(n,e.getEndpointParameterInstructions()),getThrow200ExceptionsPlugin(n),getSsecPlugin(n),getS3ExpiresMiddlewarePlugin(n)]}).s("AmazonS3","HeadObject",{}).n("S3Client","HeadObjectCommand").sc(d1).build(){}class mo extends uU.classBuilder().ep({...uq,Bucket:{type:"contextParams",name:"Bucket"},Prefix:{type:"contextParams",name:"Prefix"}}).m(function(e,i,n,t){return[getEndpointPlugin(n,e.getEndpointParameterInstructions()),getThrow200ExceptionsPlugin(n)]}).s("AmazonS3","ListObjectsV2",{}).n("S3Client","ListObjectsV2Command").sc(d3).build(){}class mu extends uU.classBuilder().ep({...uq,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,i,n,t){return[getEndpointPlugin(n,e.getEndpointParameterInstructions()),getThrow200ExceptionsPlugin(n),getSsecPlugin(n)]}).s("AmazonS3","CreateMultipartUpload",{}).n("S3Client","CreateMultipartUploadCommand").sc(dW).build(){}class ms extends uU.classBuilder().ep({...uq,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,i,n,t){return[getEndpointPlugin(n,e.getEndpointParameterInstructions()),getThrow200ExceptionsPlugin(n)]}).s("AmazonS3","AbortMultipartUpload",{}).n("S3Client","AbortMultipartUploadCommand").sc(dK).build(){}class ml extends uU.classBuilder().ep({...uq,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,i,n,t){return[getEndpointPlugin(n,e.getEndpointParameterInstructions()),getFlexibleChecksumsPlugin(n,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!1}),getThrow200ExceptionsPlugin(n),getSsecPlugin(n)]}).s("AmazonS3","UploadPart",{}).n("S3Client","UploadPartCommand").sc(d8).build(){}class mh extends uU.classBuilder().ep({...uq,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,i,n,t){return[getEndpointPlugin(n,e.getEndpointParameterInstructions()),getThrow200ExceptionsPlugin(n),getSsecPlugin(n)]}).s("AmazonS3","CompleteMultipartUpload",{}).n("S3Client","CompleteMultipartUploadCommand").sc(dz).build(){}class mg extends uU.classBuilder().ep({...uq,Bucket:{type:"contextParams",name:"Bucket"}}).m(function(e,i,n,t){return[getEndpointPlugin(n,e.getEndpointParameterInstructions()),getFlexibleChecksumsPlugin(n,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),getThrow200ExceptionsPlugin(n)]}).s("AmazonS3","PutObjectTagging",{}).n("S3Client","PutObjectTaggingCommand").sc(d4).build(){}class mc{onabort=null;_aborted=!1;constructor(){Object.defineProperty(this,"_aborted",{value:!1,writable:!0})}get aborted(){return this._aborted}abort(){this._aborted=!0,this.onabort&&(this.onabort(this),this.onabort=null)}}class md{signal=new mc;abort(){this.signal.abort()}}let mp={...{lstatSync:()=>{},isFileReadStream:e=>!1},runtime:"node",lstatSync:n3.lstatSync,isFileReadStream:e=>e instanceof n3.ReadStream},byteLength_byteLength=e=>{if(null==e)return 0;if("string"==typeof e)return am.Buffer.byteLength(e);if("number"==typeof e.byteLength)return e.byteLength;if("number"==typeof e.length)return e.length;if("number"==typeof e.size)return e.size;if("number"==typeof e.start&&"number"==typeof e.end)return e.end+1-e.start;if(mp.isFileReadStream(e))try{return mp.lstatSync(e.path).size}catch(e){}};async function*getChunkStream(e,i,n){let t=1,a={chunks:[],length:0};for await(let r of n(e))for(a.chunks.push(r),a.length+=r.byteLength;a.length>i;){let e=a.chunks.length>1?am.Buffer.concat(a.chunks):a.chunks[0];yield{partNumber:t,data:e.subarray(0,i)},a.chunks=[e.subarray(i)],a.length=a.chunks[0].byteLength,t+=1}yield{partNumber:t,data:1!==a.chunks.length?am.Buffer.concat(a.chunks):a.chunks[0],lastPart:!0}}async function*getChunkUint8Array(e,i){let n=1,t=0,a=i;for(;a<e.byteLength;)yield{partNumber:n,data:e.subarray(t,a)},n+=1,a=(t=a)+i;yield{partNumber:n,data:e.subarray(t),lastPart:!0}}async function*getDataReadable(e){for await(let i of e)am.Buffer.isBuffer(i)||i instanceof Uint8Array?yield i:yield am.Buffer.from(i)}async function*getDataReadableStream(e){let i=e.getReader();try{for(;;){let{done:e,value:n}=await i.read();if(e)return;am.Buffer.isBuffer(n)||n instanceof Uint8Array?yield n:yield am.Buffer.from(n)}}catch(e){throw e}finally{i.releaseLock()}}(et=ef||(ef={})).EMPTY_INPUT="a null or undefined Body",et.CONTENT_LENGTH="the ContentLength property of the params set by the caller",et.STRING_LENGTH="the encoded byte length of the Body string",et.TYPED_ARRAY="the byteLength of a typed byte array such as Uint8Array",et.LENGTH="the value of Body.length",et.SIZE="the value of Body.size",et.START_END_DIFF="the numeric difference between Body.start and Body.end",et.LSTAT="the size of the file given by Body.path on disk as reported by lstatSync";let mf=E("events");class mm extends mf.EventEmitter{static MIN_PART_SIZE=5242880;MAX_PARTS=1e4;queueSize=4;partSize;leavePartsOnError=!1;tags=[];client;params;totalBytes;totalBytesSource;bytesUploadedSoFar;abortController;concurrentUploaders=[];createMultiPartPromise;abortMultipartUploadCommand=null;uploadedParts=[];uploadEnqueuedPartsCount=0;expectedPartsCount;uploadId;uploadEvent;isMultiPart=!0;singleUploadResult;sent=!1;constructor(e){if(super(),this.queueSize=e.queueSize||this.queueSize,this.leavePartsOnError=e.leavePartsOnError||this.leavePartsOnError,this.tags=e.tags||this.tags,this.client=e.client,this.params=e.params,!this.params)throw Error("InputError: Upload requires params to be passed to upload.");this.totalBytes=this.params.ContentLength??byteLength_byteLength(this.params.Body),this.totalBytesSource=((e,i)=>{if(null!=i)return ef.CONTENT_LENGTH;if(null==e)return ef.EMPTY_INPUT;if("string"==typeof e)return ef.STRING_LENGTH;if("number"==typeof e.byteLength)return ef.TYPED_ARRAY;if("number"==typeof e.length)return ef.LENGTH;if("number"==typeof e.size)return ef.SIZE;if("number"==typeof e.start&&"number"==typeof e.end)return ef.START_END_DIFF;if(mp.isFileReadStream(e))try{return mp.lstatSync(e.path).size,ef.LSTAT}catch(e){}})(this.params.Body,this.params.ContentLength),this.bytesUploadedSoFar=0,this.abortController=e.abortController??new md,this.partSize=e.partSize||Math.max(mm.MIN_PART_SIZE,Math.floor((this.totalBytes||0)/this.MAX_PARTS)),void 0!==this.totalBytes&&(this.expectedPartsCount=Math.ceil(this.totalBytes/this.partSize)),this.__validateInput()}async abort(){this.abortController.abort()}async done(){if(this.sent)throw Error("@aws-sdk/lib-storage: this instance of Upload has already executed .done(). Create a new instance.");return this.sent=!0,await Promise.race([this.__doMultipartUpload(),this.__abortTimeout(this.abortController.signal)])}on(e,i){return this.uploadEvent=e,super.on(e,i)}async __uploadUsingPut(e){let i,n,t;this.isMultiPart=!1;let a={...this.params,Body:e.data},r=this.client.config,o=r.requestHandler,u=o instanceof mf.EventEmitter?o:null,uploadEventListener=i=>{this.bytesUploadedSoFar=i.loaded,this.totalBytes=i.total,this.__notifyProgress({loaded:this.bytesUploadedSoFar,total:this.totalBytes,part:e.partNumber,Key:this.params.Key,Bucket:this.params.Bucket})};null!==u&&u.on("xhr.upload.progress",uploadEventListener);let s=await Promise.all([this.client.send(new mi(a)),r?.endpoint?.()]),l=s[0],h=s[1];if(h||(h=toEndpointV1_toEndpointV1(await getEndpointFromInstructions(a,mi,{...r}))),!h)throw Error('Could not resolve endpoint from S3 "client.config.endpoint()" nor EndpointsV2.');null!==u&&u.off("xhr.upload.progress",uploadEventListener);let g=this.params.Key.split("/").map(e=>extendedEncodeURIComponent(e)).join("/"),c=extendedEncodeURIComponent(this.params.Bucket),d=(i=h.hostname.startsWith(`${c}.`),n=this.client.config.forcePathStyle,t=h.port?`:${h.port}`:"",n?`${h.protocol}//${h.hostname}${t}/${c}/${g}`:i?`${h.protocol}//${h.hostname}${t}/${g}`:`${h.protocol}//${c}.${h.hostname}${t}/${g}`);this.singleUploadResult={...l,Bucket:this.params.Bucket,Key:this.params.Key,Location:d};let p=byteLength_byteLength(e.data);this.__notifyProgress({loaded:p,total:p,part:1,Key:this.params.Key,Bucket:this.params.Bucket})}async __createMultipartUpload(){let e=await this.client.config.requestChecksumCalculation();if(!this.createMultiPartPromise){let i={...this.params,Body:void 0};"WHEN_SUPPORTED"===e&&(i.ChecksumAlgorithm=this.params.ChecksumAlgorithm||"CRC32"),this.createMultiPartPromise=this.client.send(new mu(i)).then(e=>(this.abortMultipartUploadCommand=new ms({Bucket:this.params.Bucket,Key:this.params.Key,UploadId:e.UploadId}),e))}return this.createMultiPartPromise}async __doConcurrentUpload(e){for await(let i of e){if(this.uploadEnqueuedPartsCount>this.MAX_PARTS)throw Error(`Exceeded ${this.MAX_PARTS} parts in multipart upload to Bucket: ${this.params.Bucket} Key: ${this.params.Key}.`);if(this.abortController.signal.aborted)return;if(1===i.partNumber&&i.lastPart)return await this.__uploadUsingPut(i);if(!this.uploadId){let{UploadId:e}=await this.__createMultipartUpload();if(this.uploadId=e,this.abortController.signal.aborted)return}let e=byteLength_byteLength(i.data)||0,n=this.client.config.requestHandler,t=n instanceof mf.EventEmitter?n:null,a=0,uploadEventListener=(n,t)=>{(Number(t.query.partNumber)||-1)===i.partNumber&&(n.total&&e&&(this.bytesUploadedSoFar+=n.loaded-a,a=n.loaded),this.__notifyProgress({loaded:this.bytesUploadedSoFar,total:this.totalBytes,part:i.partNumber,Key:this.params.Key,Bucket:this.params.Bucket}))};null!==t&&t.on("xhr.upload.progress",uploadEventListener),this.uploadEnqueuedPartsCount+=1,this.__validateUploadPart(i);let r=await this.client.send(new ml({...this.params,ContentLength:void 0,UploadId:this.uploadId,Body:i.data,PartNumber:i.partNumber}));if(null!==t&&t.off("xhr.upload.progress",uploadEventListener),this.abortController.signal.aborted)return;if(!r.ETag)throw Error(`Part ${i.partNumber} is missing ETag in UploadPart response. Missing Bucket CORS configuration for ETag header?`);this.uploadedParts.push({PartNumber:i.partNumber,ETag:r.ETag,...r.ChecksumCRC32&&{ChecksumCRC32:r.ChecksumCRC32},...r.ChecksumCRC32C&&{ChecksumCRC32C:r.ChecksumCRC32C},...r.ChecksumSHA1&&{ChecksumSHA1:r.ChecksumSHA1},...r.ChecksumSHA256&&{ChecksumSHA256:r.ChecksumSHA256}}),null===t&&(this.bytesUploadedSoFar+=e),this.__notifyProgress({loaded:this.bytesUploadedSoFar,total:this.totalBytes,part:i.partNumber,Key:this.params.Key,Bucket:this.params.Bucket})}}async __doMultipartUpload(){let e,i=((e,i)=>{if(e instanceof Uint8Array)return getChunkUint8Array(e,i);if(e instanceof al.Readable)return getChunkStream(e,i,getDataReadable);if(e instanceof String||"string"==typeof e)return getChunkUint8Array(am.Buffer.from(e),i);if("function"==typeof e.stream)return getChunkStream(e.stream(),i,getDataReadableStream);if(e instanceof ReadableStream)return getChunkStream(e,i,getDataReadableStream);throw Error("Body Data is unsupported format, expected data to be one of: string | Uint8Array | Buffer | Readable | ReadableStream | Blob;.")})(this.params.Body,this.partSize),n=[];for(let e=0;e<this.queueSize;e++){let e=this.__doConcurrentUpload(i).catch(e=>{n.push(e)});this.concurrentUploaders.push(e)}if(await Promise.all(this.concurrentUploaders),n.length>=1)throw await this.markUploadAsAborted(),n[0];if(this.abortController.signal.aborted)throw await this.markUploadAsAborted(),Object.assign(Error("Upload aborted."),{name:"AbortError"});if(this.isMultiPart){let{expectedPartsCount:i,uploadedParts:n,totalBytes:t,totalBytesSource:a}=this;if(void 0!==t&&void 0!==i&&n.length!==i)throw Error(`Expected ${i} part(s) but uploaded ${n.length} part(s).
|
|
74
74
|
The expected part count is based on the byte-count of the input.params.Body,
|
|
75
75
|
which was read from ${a} and is ${t}.
|
|
76
76
|
If this is not correct, provide an override value by setting a number
|
|
77
77
|
to input.params.ContentLength in bytes.
|
|
78
|
-
`);this.uploadedParts.sort((e,i)=>e.PartNumber-i.PartNumber);let r={...this.params,Body:void 0,UploadId:this.uploadId,MultipartUpload:{Parts:this.uploadedParts}};e=await this.client.send(new
|
|
79
|
-
`,"\v","\f","\r","\x0e","\x0f","\x10","\x11","\x12","\x13","\x14","\x15","\x16","\x17","\x18","\x19","\x1a","\x1b","\x1c","\x1d","\x1e","\x1f"," ","!",'"',"#","$","%","&","'","(",")","*","+",",","-",".","/","0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","?","@","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","[","\\","]","^","_","`","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","{","|","}","~","",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null," ","!","C/","PS","$?","Y=","|","SS",'"',"(c)","a","<<","!",null,"(r)","-","deg","+-","2","3","'","u","P","*",",","1","o",">>","1/4","1/2","3/4","?","A","A","A","A","A","A","AE","C","E","E","E","E","I","I","I","I","D","N","O","O","O","O","O","x","O","U","U","U","U","U","Th","ss","a","a","a","a","a","a","ae","c","e","e","e","e","i","i","i","i","d","n","o","o","o","o","o","/","o","u","u","u","u","y","th","y"],
|
|
78
|
+
`);this.uploadedParts.sort((e,i)=>e.PartNumber-i.PartNumber);let r={...this.params,Body:void 0,UploadId:this.uploadId,MultipartUpload:{Parts:this.uploadedParts}};e=await this.client.send(new mh(r)),"string"==typeof e?.Location&&e.Location.includes("%2F")&&(e.Location=e.Location.replace(/%2F/g,"/"))}else e=this.singleUploadResult;return this.abortMultipartUploadCommand=null,this.tags.length&&await this.client.send(new mg({...this.params,Tagging:{TagSet:this.tags}})),e}async markUploadAsAborted(){this.uploadId&&!this.leavePartsOnError&&null!==this.abortMultipartUploadCommand&&(await this.client.send(this.abortMultipartUploadCommand),this.abortMultipartUploadCommand=null)}__notifyProgress(e){this.uploadEvent&&this.emit(this.uploadEvent,e)}async __abortTimeout(e){return new Promise((i,n)=>{e.onabort=()=>{let e=Error("Upload aborted.");e.name="AbortError",n(e)}})}__validateUploadPart(e){let i=byteLength_byteLength(e.data);if(void 0===i)throw Error(`A dataPart was generated without a measurable data chunk size for part number ${e.partNumber}`);if((1!==e.partNumber||!e.lastPart)&&!e.lastPart&&i!==this.partSize)throw Error(`The byte size for part number ${e.partNumber}, size ${i} does not match expected size ${this.partSize}`)}__validateInput(){if(!this.client)throw Error("InputError: Upload requires a AWS client to do uploads with.");if(this.partSize<mm.MIN_PART_SIZE)throw Error(`EntityTooSmall: Your proposed upload part size [${this.partSize}] is smaller than the minimum allowed size [${mm.MIN_PART_SIZE}] (5MB)`);if(this.queueSize<1)throw Error("Queue size: Must have at least one uploading queue.")}}var my=["\0","\x01","\x02","\x03","\x04","\x05","\x06","\x07","\b"," ",`
|
|
79
|
+
`,"\v","\f","\r","\x0e","\x0f","\x10","\x11","\x12","\x13","\x14","\x15","\x16","\x17","\x18","\x19","\x1a","\x1b","\x1c","\x1d","\x1e","\x1f"," ","!",'"',"#","$","%","&","'","(",")","*","+",",","-",".","/","0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","?","@","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","[","\\","]","^","_","`","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","{","|","}","~","",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null," ","!","C/","PS","$?","Y=","|","SS",'"',"(c)","a","<<","!",null,"(r)","-","deg","+-","2","3","'","u","P","*",",","1","o",">>","1/4","1/2","3/4","?","A","A","A","A","A","A","AE","C","E","E","E","E","I","I","I","I","D","N","O","O","O","O","O","x","O","U","U","U","U","U","Th","ss","a","a","a","a","a","a","ae","c","e","e","e","e","i","i","i","i","d","n","o","o","o","o","o","/","o","u","u","u","u","y","th","y"],mS=[" "," "," "," "," "," "," "," "," "," "," "," ",null,null,null,null,"-","-","-","-","--","--","||","_","'","'",",","'",'"','"',",,",'"',"+","++","*","*>",".","..","...",".",`
|
|
80
80
|
`,`
|
|
81
81
|
|
|
82
|
-
`,null,null,null,null,null," ","%0","%00","'","''","'''","`","``","```","^","<",">","*","!!","!?","-","_","-","^","***","--","/","-[","]-",null,"?!","!?","7","PP","(]","[)",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"0",null,null,null,"4","5","6","7","8","9","+","-","=","(",")","n","0","1","2","3","4","5","6","7","8","9","+","-","=","(",")",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"ECU","CL","Cr","FF","L","mil","N","Pts","Rs","W","NS","D","EU","K","T","Dr"],my=["g","gg","n","d","dd","r","m","b","bb","s","ss","","j","jj","c","k","t","p","h"],mS=["a","ae","ya","yae","eo","e","yeo","ye","o","wa","wae","oe","yo","u","weo","we","wi","yu","eu","yi","i"],mb=["","g","gg","gs","n","nj","nh","d","l","lg","lm","lb","ls","lt","lp","lh","m","b","bs","s","ss","ng","j","c","k","t","p","h"],mC=[];mC[0]=mf,mC[1]=["A","a","A","a","A","a","C","c","C","c","C","c","C","c","D","d","D","d","E","e","E","e","E","e","E","e","E","e","G","g","G","g","G","g","G","g","H","h","H","h","I","i","I","i","I","i","I","i","I","i","IJ","ij","J","j","K","k","k","L","l","L","l","L","l","L","l","L","l","N","n","N","n","N","n","'n","NG","ng","O","o","O","o","O","o","OE","oe","R","r","R","r","R","r","S","s","S","s","S","s","S","s","T","t","T","t","T","t","U","u","U","u","U","u","U","u","U","u","U","u","W","w","Y","y","Y","Z","z","Z","z","Z","z","s","b","B","B","b","6","6","O","C","c","D","D","D","d","d","3","@","E","F","f","G","G","hv","I","I","K","k","l","l","W","N","n","O","O","o","OI","oi","P","p","YR","2","2","SH","sh","t","T","t","T","U","u","Y","V","Y","y","Z","z","ZH","ZH","zh","zh","2","5","5","ts","w","|","||","|=","!","DZ","Dz","dz","LJ","Lj","lj","NJ","Nj","nj","A","a","I","i","O","o","U","u","U","u","U","u","U","u","U","u","@","A","a","A","a","AE","ae","G","g","G","g","K","k","O","o","O","o","ZH","zh","j","DZ","D","dz","G","g","HV","W","N","n","A","a","AE","ae","O","o"],mC[2]=["A","a","A","a","E","e","E","e","I","i","I","i","O","o","O","o","R","r","R","r","U","u","U","u","S","s","T","t","Y","y","H","h","N","d","OU","ou","Z","z","A","a","E","e","O","o","O","o","O","o","O","o","Y","y","l","n","t","j","db","qp","A","C","c","L","T","s","z","?","?","B","U","V","E","e","J","j","Q","q","R","r","Y","y","a","a","a","b","o","c","d","d","e","@","@","e","e","e","e","j","g","g","g","g","u","Y","h","h","i","i","I","l","l","l","lZ","W","W","m","n","n","n","o","OE","O","F","R","R","R","R","r","r","R","R","R","s","S","j","S","S","t","t","U","U","v","^","W","Y","Y","z","z","Z","Z","?","?","?","C","@","B","E","G","H","j","k","L","q","?","?","dz","dZ","dz","ts","tS","tC","fN","ls","lz","WW","]]","h","h","k","h","j","r","r","r","r","w","y","'",'"',"`","'","`","`","'","?","?","<",">","^","V","^","V","'","-","/","\\",",","_","\\","/",":",".","`","'","^","V","+","-","V",".","@",",","~",'"',"R","X","G","l","s","x","?",null,null,null,null,null,null,null,"V","=",'"'],mC[3]=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"'",",",null,null,null,null,null,null,null,null,"?",null,null,null,null,null,null,null,"A",";","E","I","I",null,"O",null,"U","O","I","A","V","G","D","E","Z","I","Th","I","K","L","M","N","X","O","P","R",null,"S","T","Y","F","H","Ps","O","I","Y","a","e","i","i","y","a","v","g","d","e","z","i","th","i","k","l","m","n","x","o","p","r","s","s","t","y","f","h","ps","o","i","y","o","y","o",null,"b","th","U","U","U","ph","p","&",null,null,"St","st","W","w","Q","q","Sp","sp","Sh","sh","F","f","Kh","kh","H","h","G","g","CH","ch","Ti","ti","k","r","c","j"],mC[4]=["Jo","Yo","Dj","Gj","Ie","Dz","I","Yi","J","Lj","Nj","Tsh","Kj","I","U","Dzh","A","B","V","G","D","E","Zh","Z","I","Y","K","L","M","N","O","P","R","S","T","U","F","H","C","Ch","Sh","Shch",null,"Y",null,"E","Yu","Ya","a","b","v","g","d","e","zh","z","i","y","k","l","m","n","o","p","r","s","t","u","f","h","c","ch","sh","shch",null,"y",null,"e","yu","ya","je","yo","dj","gj","ie","dz","i","yi","j","lj","nj","tsh","kj","i","u","dzh","O","o","E","e","Ie","ie","E","e","Ie","ie","O","o","Io","io","Ks","ks","Ps","ps","F","f","Y","y","Y","y","u","u","O","o","O","o","Ot","ot","Q","q","*1000*",null,null,null,null,null,"*100.000*","*1.000.000*",null,null,'"','"',"R'","r'","G'","g'","G'","g'","G'","g'","Zh'","zh'","Z'","z'","K'","k'","K'","k'","K'","k'","K'","k'","N'","n'","Ng","ng","P'","p'","Kh","kh","S'","s'","T'","t'","U","u","U'","u'","Kh'","kh'","Tts","tts","Ch'","ch'","Ch'","ch'","H","h","Ch","ch","Ch'","ch'","`","Zh","zh","K'","k'",null,null,"N'","n'",null,null,"Ch","ch",null,null,null,"a","a","A","a","Ae","ae","Ie","ie","@","@","@","@","Zh","zh","Z","z","Dz","dz","I","i","I","i","O","o","O","o","O","o","E","e","U","u","U","u","U","u","Ch","ch",null,null,"Y","y"],mC[5]=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"A","B","G","D","E","Z","E","E","T`","Zh","I","L","Kh","Ts","K","H","Dz","Gh","Ch","M","Y","N","Sh","O","Ch`","P","J","Rh","S","V","T","R","Ts`","W","P`","K`","O","F",null,null,"<","'","/","!",",","?",".",null,"a","b","g","d","e","z","e","e","t`","zh","i","l","kh","ts","k","h","dz","gh","ch","m","y","n","sh","o","ch`","p","j","rh","s","v","t","r","ts`","w","p`","k`","o","f","ew",null,".","-",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"@","e","a","o","i","e","e","a","a","o",null,"u","'",null,null,null,null,null,null,":",null,null,null,null,null,null,null,null,null,null,null,null,null,"b","g","d","h","v","z","kh","t","y","k","k","l","m","m","n","n","s","`","p","p","ts","ts","q","r","sh","t",null,null,null,null,null,"V","oy","i","'",'"'],mC[6]=[null,null,null,null,null,null,null,null,null,null,null,null,",",null,null,null,null,null,null,null,null,null,null,null,null,null,null,";",null,null,null,"?",null,null,"a","'","w'",null,"y'",null,"b","@","t","th","j","H","kh","d","dh","r","z","s","sh","S","D","T","Z","aa","G",null,null,null,null,null,null,"f","q","k","l","m","n","h","w","~","y","an","un","in","a","u","i","W",null,null,"'","'",null,null,null,null,null,null,null,null,null,null,"0","1","2","3","4","5","6","7","8","9","%",".",",","*",null,null,null,"'","'","'",null,"'","'w","'u","'y","tt","tth","b","t","T","p","th","bh","'h","H","ny","dy","H","ch","cch","dd","D","D","Dt","dh","ddh","d","D","D","rr","R","R","R","R","R","R","j","R","S","S","S","S","S","T","GH","F","F","F","v","f","ph","Q","Q","kh","k","K","K","ng","K","g","G","N","G","G","G","L","L","L","L","N","N","N","N","N","h","Ch","hy","h","H","@","W","oe","oe","u","yu","yu","W","v","y","Y","Y","W",null,null,"y","y'",".","ae",null,null,null,null,null,null,null,"@","#",null,null,null,null,null,null,null,null,null,null,"^",null,null,null,null,null,null,"0","1","2","3","4","5","6","7","8","9","Sh","D","Gh","&","+m"],mC[7]=["//","/",",","!","!","-",",",",",";","?","~","{","}","*",null,null,"'",null,"b","g","g","d","d","h","w","z","H","t","t","y","yh","k","l","m","n","s","s","`","p","p","S","q","r","sh","t",null,null,null,"a","a","a","A","A","A","e","e","e","E","i","i","u","u","u","o",null,"`","'",null,null,"X","Q","@","@","|","+",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"h","sh","n","r","b","L","k","'","v","m","f","dh","th","l","g","ny","s","d","z","t","y","p","j","ch","tt","hh","kh","th","z","sh","s","d","t","z","`","gh","q","w","a","aa","i","ee","u","oo","e","ey","o","oa"],mC[9]=[null,"N","N","H",null,"a","aa","i","ii","u","uu","R","L","eN","e","e","ai","oN","o","o","au","k","kh","g","gh","ng","c","ch","j","jh","ny","tt","tth","dd","ddh","nn","t","th","d","dh","n","nnn","p","ph","b","bh","m","y","r","rr","l","l","lll","v","sh","ss","s","h",null,null,"'","'","aa","i","ii","u","uu","R","RR","eN","e","e","ai","oN","o","o","au",null,null,null,"AUM","'","'","`","'",null,null,null,"q","khh","ghh","z","dddh","rh","f","yy","RR","LL","L","LL"," / "," // ","0","1","2","3","4","5","6","7","8","9",".",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"N","N","H",null,"a","aa","i","ii","u","uu","R","RR",null,null,"e","ai",null,null,"o","au","k","kh","g","gh","ng","c","ch","j","jh","ny","tt","tth","dd","ddh","nn","t","th","d","dh","n",null,"p","ph","b","bh","m","y","r",null,"l",null,null,null,"sh","ss","s","h",null,null,"'",null,"aa","i","ii","u","uu","R","RR",null,null,"e","ai",null,null,"o","au",null,null,null,null,null,null,null,null,null,null,"+",null,null,null,null,"rr","rh",null,"yy","RR","LL","L","LL",null,null,"0","1","2","3","4","5","6","7","8","9","r'","r`","Rs","Rs","1/","2/","3/","4/"," 1 - 1/","/16"],mC[10]=[null,null,"N",null,null,"a","aa","i","ii","u","uu",null,null,null,null,"ee","ai",null,null,"oo","au","k","kh","g","gh","ng","c","ch","j","jh","ny","tt","tth","dd","ddh","nn","t","th","d","dh","n",null,"p","ph","b","bb","m","y","r",null,"l","ll",null,"v","sh",null,"s","h",null,null,"'",null,"aa","i","ii","u","uu",null,null,null,null,"ee","ai",null,null,"oo","au",null,null,null,null,null,null,null,null,null,null,null,null,"khh","ghh","z","rr",null,"f",null,null,null,null,null,null,null,"0","1","2","3","4","5","6","7","8","9","N","H",null,null,"G.E.O.",null,null,null,null,null,null,null,null,null,null,null,null,"N","N","H",null,"a","aa","i","ii","u","uu","R",null,"eN",null,"e","ai","oN",null,"o","au","k","kh","g","gh","ng","c","ch","j","jh","ny","tt","tth","dd","ddh","nn","t","th","d","dh","n",null,"p","ph","b","bh","m","ya","r",null,"l","ll",null,"v","sh","ss","s","h",null,null,"'","'","aa","i","ii","u","uu","R","RR","eN",null,"e","ai","oN",null,"o","au",null,null,null,"AUM",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"RR",null,null,null,null,null,"0","1","2","3","4","5","6","7","8","9"],mC[11]=[null,"N","N","H",null,"a","aa","i","ii","u","uu","R","L",null,null,"e","ai",null,null,"o","au","k","kh","g","gh","ng","c","ch","j","jh","ny","tt","tth","dd","ddh","nn","t","th","d","dh","n",null,"p","ph","b","bh","m","y","r",null,"l","ll",null,null,"sh","ss","s","h",null,null,"'","'","aa","i","ii","u","uu","R",null,null,null,"e","ai",null,null,"o","au",null,null,null,null,null,null,null,null,null,"+","+",null,null,null,null,"rr","rh",null,"yy","RR","LL",null,null,null,null,"0","1","2","3","4","5","6","7","8","9",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"N","H",null,"a","aa","i","ii","u","uu",null,null,null,"e","ee","ai",null,"o","oo","au","k",null,null,null,"ng","c",null,"j",null,"ny","tt",null,null,null,"nn","t",null,null,null,"n","nnn","p",null,null,null,"m","y","r","rr","l","ll","lll","v",null,"ss","s","h",null,null,null,null,"aa","i","ii","u","uu",null,null,null,"e","ee","ai",null,"o","oo","au",null,null,null,null,null,null,null,null,null,null,"+",null,null,null,null,null,null,null,null,null,null,null,null,null,null,"0","1","2","3","4","5","6","7","8","9","+10+","+100+","+1000+"],mC[12]=[null,"N","N","H",null,"a","aa","i","ii","u","uu","R","L",null,"e","ee","ai",null,"o","oo","au","k","kh","g","gh","ng","c","ch","j","jh","ny","tt","tth","dd","ddh","nn","t","th","d","dh","n",null,"p","ph","b","bh","m","y","r","rr","l","ll",null,"v","sh","ss","s","h",null,null,null,null,"aa","i","ii","u","uu","R","RR",null,"e","ee","ai",null,"o","oo","au",null,null,null,null,null,null,null,null,"+","+",null,null,null,null,null,null,null,null,null,"RR","LL",null,null,null,null,"0","1","2","3","4","5","6","7","8","9",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"N","H",null,"a","aa","i","ii","u","uu","R","L",null,"e","ee","ai",null,"o","oo","au","k","kh","g","gh","ng","c","ch","j","jh","ny","tt","tth","dd","ddh","nn","t","th","d","dh","n",null,"p","ph","b","bh","m","y","r","rr","l","ll",null,"v","sh","ss","s","h",null,null,null,null,"aa","i","ii","u","uu","R","RR",null,"e","ee","ai",null,"o","oo","au",null,null,null,null,null,null,null,null,"+","+",null,null,null,null,null,null,null,"lll",null,"RR","LL",null,null,null,null,"0","1","2","3","4","5","6","7","8","9"],mC[13]=[null,null,"N","H",null,"a","aa","i","ii","u","uu","R","L",null,"e","ee","ai",null,"o","oo","au","k","kh","g","gh","ng","c","ch","j","jh","ny","tt","tth","dd","ddh","nn","t","th","d","dh","n",null,"p","ph","b","bh","m","y","r","rr","l","ll","lll","v","sh","ss","s","h",null,null,null,null,"aa","i","ii","u","uu","R",null,null,"e","ee","ai",null,"o","oo","au",null,null,null,null,null,null,null,null,null,null,"+",null,null,null,null,null,null,null,null,"RR","LL",null,null,null,null,"0","1","2","3","4","5","6","7","8","9",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"N","H",null,"a","aa","ae","aae","i","ii","u","uu","R","RR","L","LL","e","ee","ai","o","oo","au",null,null,null,"k","kh","g","gh","ng","nng","c","ch","j","jh","ny","jny","nyj","tt","tth","dd","ddh","nn","nndd","t","th","d","dh","n",null,"nd","p","ph","b","bh","m","mb","y","r",null,"l",null,null,"v","sh","ss","s","h","ll","f",null,null,null,null,null,null,null,null,"aa","ae","aae","i","ii","u",null,"uu",null,"R","e","ee","ai","o","oo","au","L",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"RR","LL"," . "],mC[14]=[null,"k","kh","kh","kh","kh","kh","ng","cch","ch","ch","ch","ch","y","d","t","th","th","th","n","d","t","th","th","th","n","b","p","ph","f","ph","f","ph","m","y","r","R","l","L","w","s","s","s","h","l","`","h","~","a","a","aa","am","i","ii","ue","uue","u","uu","'",null,null,null,null,"Bh.","e","ae","o","ai","ai","ao","+",null,null,null,null,null,null,"M",null," * ","0","1","2","3","4","5","6","7","8","9"," // "," /// ",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"k","kh",null,"kh",null,null,"ng","ch",null,"s",null,null,"ny",null,null,null,null,null,null,"d","h","th","th",null,"n","b","p","ph","f","ph","f",null,"m","y","r",null,"l",null,"w",null,null,"s","h",null,"`",null,"~","a",null,"aa","am","i","ii","y","yy","u","uu",null,"o","l","ny",null,null,"e","ei","o","ay","ai",null,"+",null,null,null,null,null,null,"M",null,null,"0","1","2","3","4","5","6","7","8","9",null,null,"hn","hm"],mC[15]=["AUM",null,null,null,null,null,null,null," // "," * ",null,"-"," / "," / "," // "," -/ "," +/ "," X/ "," /XX/ "," /X/ ",",",null,null,null,null,null,null,null,null,null,null,null,"0","1","2","3","4","5","6","7","8","9",".5","1.5","2.5","3.5","4.5","5.5","6.5","7.5","8.5","-.5","+","*","^","_",null,"~",null,"]","[[","]]",null,null,"k","kh","g","gh","ng","c","ch","j",null,"ny","tt","tth","dd","ddh","nn","t","th","d","dh","n","p","ph","b","bh","m","ts","tsh","dz","dzh","w","zh","z","'","y","r","l","sh","ssh","s","h","a","kss","r",null,null,null,null,null,null,"aa","i","ii","u","uu","R","RR","L","LL","e","ee","o","oo","M","H","i","ii",null,null,null,null,null,null,null,null,null,null,null,null,null,null,"k","kh","g","gh","ng","c","ch","j",null,"ny","tt","tth","dd","ddh","nn","t","th","d","dh","n","p","ph","b","bh","m","ts","tsh","dz","dzh","w","zh","z","'","y","r","l","sh","ss","s","h","a","kss","w","y","r",null,"X"," :X: "," /O/ "," /o/ "," \\o\\ "," (O) "],mC[16]=["k","kh","g","gh","ng","c","ch","j","jh","ny","nny","tt","tth","dd","ddh","nn","tt","th","d","dh","n","p","ph","b","bh","m","y","r","l","w","s","h","ll","a",null,"i","ii","u","uu","e",null,"o","au",null,"aa","i","ii","u","uu","e","ai",null,null,null,"N","'",":",null,null,null,null,null,null,null,"0","1","2","3","4","5","6","7","8","9"," / "," // ","n*","r*","l*","e*","sh","ss","R","RR","L","LL","R","RR","L","LL",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"A","B","G","D","E","V","Z","T`","I","K","L","M","N","O","P","Zh","R","S","T","U","P`","K`","G'","Q","Sh","Ch`","C`","Z'","C","Ch","X","J","H","E","Y","W","Xh","OE",null,null,null,null,null,null,null,null,null,null,"a","b","g","d","e","v","z","t`","i","k","l","m","n","o","p","zh","r","s","t","u","p`","k`","g'","q","sh","ch`","c`","z'","c","ch","x","j","h","e","y","w","xh","oe","f",null,null,null,null," // "],mC[17]=["g","gg","n","d","dd","r","m","b","bb","s","ss",null,"j","jj","c","k","t","p","h","ng","nn","nd","nb","dg","rn","rr","rh","rN","mb","mN","bg","bn",null,"bs","bsg","bst","bsb","bss","bsj","bj","bc","bt","bp","bN","bbN","sg","sn","sd","sr","sm","sb","sbg","sss","s","sj","sc","sk","st","sp","sh",null,null,null,null,"Z","g","d","m","b","s","Z",null,"j","c","t","p","N","j",null,null,null,null,"ck","ch",null,null,"pb","pN","hh","Q",null,null,null,null,null,null,null,"a","ae","ya","yae","eo","e","yeo","ye","o","wa","wae","oe","yo","u","weo","we","wi","yu","eu","yi","i","a-o","a-u","ya-o","ya-yo","eo-o","eo-u","eo-eu","yeo-o","yeo-u","o-eo","o-e","o-ye","o-o","o-u","yo-ya","yo-yae","yo-yeo","yo-o","yo-i","u-a","u-ae","u-eo-eu","u-ye","u-u","yu-a","yu-eo","yu-e","yu-yeo","yu-ye","yu-u","yu-i","eu-u","eu-eu","yi-u","i-a","i-ya","i-o","i-u","i-eu","i-U","U","U-eo","U-u","U-i","UU",null,null,null,null,null,"g","gg","gs","n","nj","nh","d","l","lg","lm","lb","ls","lt","lp","lh","m","b","bs","s","ss","ng","j","c","k","t","p","h","gl","gsg","ng","nd","ns","nZ","nt","dg","tl","lgs","ln","ld","lth","ll","lmg","lms","lbs","lbh","rNp","lss","lZ","lk","lQ","mg","ml","mb","ms","mss","mZ","mc","mh","mN","bl","bp","ph","pN","sg","sd","sl","sb","Z","g","ss",null,"kh","N","Ns","NZ","pb","pN","hn","hl","hm","hb","Q"],mC[18]=["ha","hu","hi","haa","hee","he","ho",null,"la","lu","li","laa","lee","le","lo","lwa","hha","hhu","hhi","hhaa","hhee","hhe","hho","hhwa","ma","mu","mi","maa","mee","me","mo","mwa","sza","szu","szi","szaa","szee","sze","szo","szwa","ra","ru","ri","raa","ree","re","ro","rwa","sa","su","si","saa","see","se","so","swa","sha","shu","shi","shaa","shee","she","sho","shwa","qa","qu","qi","qaa","qee","qe","qo",null,"qwa",null,"qwi","qwaa","qwee","qwe",null,null,"qha","qhu","qhi","qhaa","qhee","qhe","qho",null,"qhwa",null,"qhwi","qhwaa","qhwee","qhwe",null,null,"ba","bu","bi","baa","bee","be","bo","bwa","va","vu","vi","vaa","vee","ve","vo","vwa","ta","tu","ti","taa","tee","te","to","twa","ca","cu","ci","caa","cee","ce","co","cwa","xa","xu","xi","xaa","xee","xe","xo",null,"xwa",null,"xwi","xwaa","xwee","xwe",null,null,"na","nu","ni","naa","nee","ne","no","nwa","nya","nyu","nyi","nyaa","nyee","nye","nyo","nywa","'a","'u",null,"'aa","'ee","'e","'o","'wa","ka","ku","ki","kaa","kee","ke","ko",null,"kwa",null,"kwi","kwaa","kwee","kwe",null,null,"kxa","kxu","kxi","kxaa","kxee","kxe","kxo",null,"kxwa",null,"kxwi","kxwaa","kxwee","kxwe",null,null,"wa","wu","wi","waa","wee","we","wo",null,"`a","`u","`i","`aa","`ee","`e","`o",null,"za","zu","zi","zaa","zee","ze","zo","zwa","zha","zhu","zhi","zhaa","zhee","zhe","zho","zhwa","ya","yu","yi","yaa","yee","ye","yo",null,"da","du","di","daa","dee","de","do","dwa","dda","ddu","ddi","ddaa","ddee","dde","ddo","ddwa"],mC[19]=["ja","ju","ji","jaa","jee","je","jo","jwa","ga","gu","gi","gaa","gee","ge","go",null,"gwa",null,"gwi","gwaa","gwee","gwe",null,null,"gga","ggu","ggi","ggaa","ggee","gge","ggo",null,"tha","thu","thi","thaa","thee","the","tho","thwa","cha","chu","chi","chaa","chee","che","cho","chwa","pha","phu","phi","phaa","phee","phe","pho","phwa","tsa","tsu","tsi","tsaa","tsee","tse","tso","tswa","tza","tzu","tzi","tzaa","tzee","tze","tzo",null,"fa","fu","fi","faa","fee","fe","fo","fwa","pa","pu","pi","paa","pee","pe","po","pwa","rya","mya","fya",null,null,null,null,null,null," ",".",",",";",":",":: ","?","//","1","2","3","4","5","6","7","8","9","10+","20+","30+","40+","50+","60+","70+","80+","90+","100+","10,000+",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"a","e","i","o","u","v","ga","ka","ge","gi","go","gu","gv","ha","he","hi","ho","hu","hv","la","le","li","lo","lu","lv","ma","me","mi","mo","mu","na","hna","nah","ne","ni","no","nu","nv","qua","que","qui","quo","quu","quv","sa","s","se","si","so","su","sv","da","ta","de","te","di","ti","do","du","dv","dla","tla","tle","tli","tlo","tlu","tlv","tsa","tse","tsi","tso","tsu","tsv","wa","we","wi","wo","wu","wv","ya","ye","yi","yo","yu","yv"],mC[20]=[null,"ai","aai","i","ii","u","uu","oo","ee","i","a","aa","we","we","wi","wi","wii","wii","wo","wo","woo","woo","woo","wa","wa","waa","waa","waa","ai","w","'","t","k","sh","s","n","w","n",null,"w","c","?","l","en","in","on","an","pai","paai","pi","pii","pu","puu","poo","hee","hi","pa","paa","pwe","pwe","pwi","pwi","pwii","pwii","pwo","pwo","pwoo","pwoo","pwa","pwa","pwaa","pwaa","pwaa","p","p","h","tai","taai","ti","tii","tu","tuu","too","dee","di","ta","taa","twe","twe","twi","twi","twii","twii","two","two","twoo","twoo","twa","twa","twaa","twaa","twaa","t","tte","tti","tto","tta","kai","kaai","ki","kii","ku","kuu","koo","ka","kaa","kwe","kwe","kwi","kwi","kwii","kwii","kwo","kwo","kwoo","kwoo","kwa","kwa","kwaa","kwaa","kwaa","k","kw","keh","kih","koh","kah","gai","caai","gi","gii","gu","guu","coo","ga","gaa","cwe","cwe","cwi","cwi","cwii","cwii","cwo","cwo","cwoo","cwoo","cwa","cwa","cwaa","cwaa","cwaa","g","th","mai","maai","mi","mii","mu","muu","moo","ma","maa","mwe","mwe","mwi","mwi","mwii","mwii","mwo","mwo","mwoo","mwoo","mwa","mwa","mwaa","mwaa","mwaa","m","m","mh","m","m","nai","naai","ni","nii","nu","nuu","noo","na","naa","nwe","nwe","nwa","nwa","nwaa","nwaa","nwaa","n","ng","nh","lai","laai","li","lii","lu","luu","loo","la","laa","lwe","lwe","lwi","lwi","lwii","lwii","lwo","lwo","lwoo","lwoo","lwa","lwa","lwaa","lwaa","l","l","l","sai","saai","si","sii","su","suu","soo","sa","saa","swe","swe","swi","swi","swii","swii","swo","swo","swoo","swoo"],mC[21]=["swa","swa","swaa","swaa","swaa","s","s","sw","s","sk","skw","sW","spwa","stwa","skwa","scwa","she","shi","shii","sho","shoo","sha","shaa","shwe","shwe","shwi","shwi","shwii","shwii","shwo","shwo","shwoo","shwoo","shwa","shwa","shwaa","shwaa","sh","jai","yaai","ji","jii","ju","juu","yoo","ja","jaa","ywe","ywe","ywi","ywi","ywii","ywii","ywo","ywo","ywoo","ywoo","ywa","ywa","ywaa","ywaa","ywaa","j","y","y","yi","re","rai","le","raai","ri","rii","ru","ruu","lo","ra","raa","la","rwaa","rwaa","r","r","r","vai","faai","vi","vii","vu","vuu","va","vaa","fwaa","fwaa","v","the","the","thi","thi","thii","thii","tho","thoo","tha","thaa","thwaa","thwaa","th","tthe","tthi","ttho","ttha","tth","tye","tyi","tyo","tya","he","hi","hii","ho","hoo","ha","haa","h","h","hk","qaai","qi","qii","qu","quu","qa","qaa","q","tlhe","tlhi","tlho","tlha","re","ri","ro","ra","ngaai","ngi","ngii","ngu","nguu","nga","ngaa","ng","nng","she","shi","sho","sha","the","thi","tho","tha","th","lhi","lhii","lho","lhoo","lha","lhaa","lh","the","thi","thii","tho","thoo","tha","thaa","th","b","e","i","o","a","we","wi","wo","wa","ne","ni","no","na","ke","ki","ko","ka","he","hi","ho","ha","ghu","gho","ghe","ghee","ghi","gha","ru","ro","re","ree","ri","ra","wu","wo","we","wee","wi","wa","hwu","hwo","hwe","hwee","hwi","hwa","thu","tho","the","thee","thi","tha","ttu","tto","tte","ttee","tti","tta","pu","po","pe","pee","pi","pa","p","gu","go","ge","gee","gi","ga","khu","kho","khe","khee","khi","kha","kku","kko","kke","kkee","kki"],mC[22]=["kka","kk","nu","no","ne","nee","ni","na","mu","mo","me","mee","mi","ma","yu","yo","ye","yee","yi","ya","ju","ju","jo","je","jee","ji","ji","ja","jju","jjo","jje","jjee","jji","jja","lu","lo","le","lee","li","la","dlu","dlo","dle","dlee","dli","dla","lhu","lho","lhe","lhee","lhi","lha","tlhu","tlho","tlhe","tlhee","tlhi","tlha","tlu","tlo","tle","tlee","tli","tla","zu","zo","ze","zee","zi","za","z","z","dzu","dzo","dze","dzee","dzi","dza","su","so","se","see","si","sa","shu","sho","she","shee","shi","sha","sh","tsu","tso","tse","tsee","tsi","tsa","chu","cho","che","chee","chi","cha","ttsu","ttso","ttse","ttsee","ttsi","ttsa","X",".","qai","ngai","nngi","nngii","nngo","nngoo","nnga","nngaa",null,null,null,null,null,null,null,null,null," ","b","l","f","s","n","h","d","t","c","q","m","g","ng","z","r","a","o","u","e","i","ch","th","ph","p","x","p","<",">",null,null,null,"f","v","u","yr","y","w","th","th","a","o","ac","ae","o","o","o","oe","on","r","k","c","k","g","ng","g","g","w","h","h","h","h","n","n","n","i","e","j","g","ae","a","eo","p","z","s","s","s","c","z","t","t","d","b","b","p","p","e","m","m","m","l","l","ng","ng","d","o","ear","ior","qu","qu","qu","s","yr","yr","yr","q","x",".",":","+","17","18","19"],mC[23]=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"k","kh","g","gh","ng","c","ch","j","jh","ny","t","tth","d","ddh","nn","t","th","d","dh","n","p","ph","b","bh","m","y","r","l","v","sh","ss","s","h","l","q","a","aa","i","ii","u","uk","uu","uuv","ry","ryy","ly","lyy","e","ai","oo","oo","au","a","aa","aa","i","ii","y","yy","u","uu","ua","oe","ya","ie","e","ae","ai","oo","au","M","H","a`",null,null,null,"r",null,"!",null,null,null,null,null,"."," // ",":","+","++"," * "," /// ","KR","'",null,null,null,"0","1","2","3","4","5","6","7","8","9"],mC[24]=[" @ "," ... ",",",". ",": "," // ",null,"-",",",". ",null,null,null,null,null,null,"0","1","2","3","4","5","6","7","8","9",null,null,null,null,null,null,"a","e","i","o","u","O","U","ee","n","ng","b","p","q","g","m","l","s","sh","t","d","ch","j","y","r","w","f","k","kha","ts","z","h","zr","lh","zh","ch","-","e","i","o","u","O","U","ng","b","p","q","g","m","t","d","ch","j","ts","y","w","k","g","h","jy","ny","dz","e","i","iy","U","u","ng","k","g","h","p","sh","t","d","j","f","g","h","ts","z","r","ch","zh","i","k","r","f","zh",null,null,null,null,null,null,null,null,null,"H","X","W","M"," 3 "," 333 ","a","i","k","ng","c","tt","tth","dd","nn","t","d","p","ph","ss","zh","z","a","t","zh","gh","ng","c","jh","tta","ddh","t","dh","ss","cy","zh","z","u","y","bh","'"],mC[30]=["A","a","B","b","B","b","B","b","C","c","D","d","D","d","D","d","D","d","D","d","E","e","E","e","E","e","E","e","E","e","F","f","G","g","H","h","H","h","H","h","H","h","H","h","I","i","I","i","K","k","K","k","K","k","L","l","L","l","L","l","L","l","M","m","M","m","M","m","N","n","N","n","N","n","N","n","O","o","O","o","O","o","O","o","P","p","P","p","R","r","R","r","R","r","R","r","S","s","S","s","S","s","S","s","S","s","T","t","T","t","T","t","T","t","U","u","U","u","U","u","U","u","U","u","V","v","V","v","W","w","W","w","W","w","W","w","W","w","X","x","X","x","Y","y","Z","z","Z","z","Z","z","h","t","w","y","a","S",null,null,null,null,"A","a","A","a","A","a","A","a","A","a","A","a","A","a","A","a","A","a","A","a","A","a","A","a","E","e","E","e","E","e","E","e","E","e","E","e","E","e","E","e","I","i","I","i","O","o","O","o","O","o","O","o","O","o","O","o","O","o","O","o","O","o","O","o","O","o","O","o","U","u","U","u","U","u","U","u","U","u","U","u","U","u","Y","y","Y","y","Y","y","Y","y"],mC[31]=["a","a","a","a","a","a","a","a","A","A","A","A","A","A","A","A","e","e","e","e","e","e",null,null,"E","E","E","E","E","E",null,null,"e","e","e","e","e","e","e","e","E","E","E","E","E","E","E","E","i","i","i","i","i","i","i","i","I","I","I","I","I","I","I","I","o","o","o","o","o","o",null,null,"O","O","O","O","O","O",null,null,"u","u","u","u","u","u","u","u",null,"U",null,"U",null,"U",null,"U","o","o","o","o","o","o","o","o","O","O","O","O","O","O","O","O","a","a","e","e","e","e","i","i","o","o","u","u","o","o",null,null,"a","a","a","a","a","a","a","a","A","A","A","A","A","A","A","A","e","e","e","e","e","e","e","e","E","E","E","E","E","E","E","E","o","o","o","o","o","o","o","o","O","O","O","O","O","O","O","O","a","a","a","a","a",null,"a","a","A","A","A","A","A","'","i","'","~",'"~',"e","e","e",null,"e","e","E","E","E","E","E","'`","''","'~","i","i","i","i",null,null,"i","i","I","I","I","I",null,"`'","`'","`~","u","u","u","u","R","R","u","u","U","U","U","U","R",'"`',"\"'","`",null,null,"o","o","o",null,"o","o","O","O","O","O","O","'","`"],mC[32]=mm,mC[33]=[null,null,"C",null,null,null,null,null,null,null,"g","H","H","H","h",null,"I","I","L","l","lb","N","no","(p)","P","P","Q","R","R","R",null,null,"(sm)","(tel)","(tm)",null,"Z",null,null,"mho","Z",null,null,null,"B","C","e","e",null,"F",null,"M","o",null,null,null,null,"i","Q","(fax)","pi",null,null,"Pi",null,"G","L","L","Y","D","d","e","i","j",null,null,"per",null,null,null,null,null,null," 1/3 "," 2/3 "," 1/5 "," 2/5 "," 3/5 "," 4/5 "," 1/6 "," 5/6 "," 1/8 "," 3/8 "," 5/8 "," 7/8 "," 1/","I","II","III","IV","V","VI","VII","VIII","IX","X","XI","XII","L","C","D","M","i","ii","iii","iv","v","vi","vii","viii","ix","x","xi","xii","l","c","d","m","(D","D)","((|))",")",null,null,null,null,null,null,null,null,null,null,null,null,"-","|","-","|","-","|","\\","/","\\","/","-","-","~","~","-","|","-","|","-","-","-","|","-","|","|","-","-","-","-","-","-","|","|","|","|","|","|","|","^","V","\\","=","V","^","-","-","|","|","-","-","|","|","=","|","=","=","|","=","|","=","=","=","=","=","=","|","=","|","=","|","\\","/","\\","/","=","=","~","~","|","|","-","|","-","|","-","-","-","|","-","|","|","|","|","|","|","|","-","\\","\\","|"],mC[37]=["-","-","|","|","-","-","|","|","-","-","|","|","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","-","-","|","|","-","|","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","/","\\","X","-","|","-","|","-","|","-","|","-","|","-","|","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","-","|",null,null,null,null,null,null,null,null,null,null,"#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","^","^","^","^",">",">",">",">",">",">","V","V","V","V","<","<","<","<","<","<","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","#","#","#","#","#","^","^","^","O","#","#","#","#","#","#","#","#"],mC[40]=[" ","a","1","b","'","k","2","l","@","c","i","f","/","m","s","p",'"',"e","3","h","9","o","6","r","^","d","j","g",">","n","t","q",",","*","5","<","-","u","8","v",".","%","[","$","+","x","!","&",";",":","4","\\","0","z","7","(","_","?","w","]","#","y",")","=","[d7]","[d17]","[d27]","[d127]","[d37]","[d137]","[d237]","[d1237]","[d47]","[d147]","[d247]","[d1247]","[d347]","[d1347]","[d2347]","[d12347]","[d57]","[d157]","[d257]","[d1257]","[d357]","[d1357]","[d2357]","[d12357]","[d457]","[d1457]","[d2457]","[d12457]","[d3457]","[d13457]","[d23457]","[d123457]","[d67]","[d167]","[d267]","[d1267]","[d367]","[d1367]","[d2367]","[d12367]","[d467]","[d1467]","[d2467]","[d12467]","[d3467]","[d13467]","[d23467]","[d123467]","[d567]","[d1567]","[d2567]","[d12567]","[d3567]","[d13567]","[d23567]","[d123567]","[d4567]","[d14567]","[d24567]","[d124567]","[d34567]","[d134567]","[d234567]","[d1234567]","[d8]","[d18]","[d28]","[d128]","[d38]","[d138]","[d238]","[d1238]","[d48]","[d148]","[d248]","[d1248]","[d348]","[d1348]","[d2348]","[d12348]","[d58]","[d158]","[d258]","[d1258]","[d358]","[d1358]","[d2358]","[d12358]","[d458]","[d1458]","[d2458]","[d12458]","[d3458]","[d13458]","[d23458]","[d123458]","[d68]","[d168]","[d268]","[d1268]","[d368]","[d1368]","[d2368]","[d12368]","[d468]","[d1468]","[d2468]","[d12468]","[d3468]","[d13468]","[d23468]","[d123468]","[d568]","[d1568]","[d2568]","[d12568]","[d3568]","[d13568]","[d23568]","[d123568]","[d4568]","[d14568]","[d24568]","[d124568]","[d34568]","[d134568]","[d234568]","[d1234568]","[d78]","[d178]","[d278]","[d1278]","[d378]","[d1378]","[d2378]","[d12378]","[d478]","[d1478]","[d2478]","[d12478]","[d3478]","[d13478]","[d23478]","[d123478]","[d578]","[d1578]","[d2578]","[d12578]","[d3578]","[d13578]","[d23578]","[d123578]","[d4578]","[d14578]","[d24578]","[d124578]","[d34578]","[d134578]","[d234578]","[d1234578]","[d678]","[d1678]","[d2678]","[d12678]","[d3678]","[d13678]","[d23678]","[d123678]","[d4678]","[d14678]","[d24678]","[d124678]","[d34678]","[d134678]","[d234678]","[d1234678]","[d5678]","[d15678]","[d25678]","[d125678]","[d35678]","[d135678]","[d235678]","[d1235678]","[d45678]","[d145678]","[d245678]","[d1245678]","[d345678]","[d1345678]","[d2345678]","[d12345678]"],mC[48]=[" ",",",". ",'"',"[JIS]",'"',"/","0","<","> ","<<",">> ","[","] ","{","} ","[(",")] ","@","X ","[","] ","[[","]] ","((",")) ","[[","]] ","~ ","``","''",",,","@","1","2","3","4","5","6","7","8","9",null,null,null,null,null,null,"~","+","+","+","+",null,"@"," // ","+10+","+20+","+30+",null,null,null,null,null,null,"a","a","i","i","u","u","e","e","o","o","ka","ga","ki","gi","ku","gu","ke","ge","ko","go","sa","za","si","zi","su","zu","se","ze","so","zo","ta","da","ti","di","tu","tu","du","te","de","to","do","na","ni","nu","ne","no","ha","ba","pa","hi","bi","pi","hu","bu","pu","he","be","pe","ho","bo","po","ma","mi","mu","me","mo","ya","ya","yu","yu","yo","yo","ra","ri","ru","re","ro","wa","wa","wi","we","wo","n","vu",null,null,null,null,null,null,null,null,'"','"',null,null,"a","a","i","i","u","u","e","e","o","o","ka","ga","ki","gi","ku","gu","ke","ge","ko","go","sa","za","si","zi","su","zu","se","ze","so","zo","ta","da","ti","di","tu","tu","du","te","de","to","do","na","ni","nu","ne","no","ha","ba","pa","hi","bi","pi","hu","bu","pu","he","be","pe","ho","bo","po","ma","mi","mu","me","mo","ya","ya","yu","yu","yo","yo","ra","ri","ru","re","ro","wa","wa","wi","we","wo","n","vu","ka","ke","va","vi","ve","vo",null,null,'"','"'],mC[49]=[null,null,null,null,null,"B","P","M","F","D","T","N","L","G","K","H","J","Q","X","ZH","CH","SH","R","Z","C","S","A","O","E","EH","AI","EI","AU","OU","AN","EN","ANG","ENG","ER","I","U","IU","V","NG","GN",null,null,null,null,"g","gg","gs","n","nj","nh","d","dd","r","lg","lm","lb","ls","lt","lp","rh","m","b","bb","bs","s","ss",null,"j","jj","c","k","t","p","h","a","ae","ya","yae","eo","e","yeo","ye","o","wa","wae","oe","yo","u","weo","we","wi","yu","eu","yi","i",null,"nn","nd","ns","nZ","lgs","ld","lbs","lZ","lQ","mb","ms","mZ","mN","bg",null,"bsg","bst","bj","bt","bN","bbN","sg","sn","sd","sb","sj","Z",null,"N","Ns","NZ","pN","hh","Q","yo-ya","yo-yae","yo-i","yu-yeo","yu-ye","yu-i","U","U-i",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"BU","ZI","JI","GU","EE","ENN","OO","ONN","IR","ANN","INN","UNN","IM","NGG","AINN","AUNN","AM","OM","ONG","INNN","P","T","K","H"],mC[50]=["(g)","(n)","(d)","(r)","(m)","(b)","(s)","()","(j)","(c)","(k)","(t)","(p)","(h)","(ga)","(na)","(da)","(ra)","(ma)","(ba)","(sa)","(a)","(ja)","(ca)","(ka)","(ta)","(pa)","(ha)","(ju)",null,null,null,"(1) ","(2) ","(3) ","(4) ","(5) ","(6) ","(7) ","(8) ","(9) ","(10) ","(Yue) ","(Huo) ","(Shui) ","(Mu) ","(Jin) ","(Tu) ","(Ri) ","(Zhu) ","(You) ","(She) ","(Ming) ","(Te) ","(Cai) ","(Zhu) ","(Lao) ","(Dai) ","(Hu) ","(Xue) ","(Jian) ","(Qi) ","(Zi) ","(Xie) ","(Ji) ","(Xiu) ","<<",">>",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"(g)","(n)","(d)","(r)","(m)","(b)","(s)","()","(j)","(c)","(k)","(t)","(p)","(h)","(ga)","(na)","(da)","(ra)","(ma)","(ba)","(sa)","(a)","(ja)","(ca)","(ka)","(ta)","(pa)","(ha)",null,null,null,"KIS ","(1) ","(2) ","(3) ","(4) ","(5) ","(6) ","(7) ","(8) ","(9) ","(10) ","(Yue) ","(Huo) ","(Shui) ","(Mu) ","(Jin) ","(Tu) ","(Ri) ","(Zhu) ","(You) ","(She) ","(Ming) ","(Te) ","(Cai) ","(Zhu) ","(Lao) ","(Mi) ","(Nan) ","(Nu) ","(Shi) ","(You) ","(Yin) ","(Zhu) ","(Xiang) ","(Xiu) ","(Xie) ","(Zheng) ","(Shang) ","(Zhong) ","(Xia) ","(Zuo) ","(You) ","(Yi) ","(Zong) ","(Xue) ","(Jian) ","(Qi) ","(Zi) ","(Xie) ","(Ye) ",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"1M","2M","3M","4M","5M","6M","7M","8M","9M","10M","11M","12M",null,null,null,null,"a","i","u","u","o","ka","ki","ku","ke","ko","sa","si","su","se","so","ta","ti","tu","te","to","na","ni","nu","ne","no","ha","hi","hu","he","ho","ma","mi","mu","me","mo","ya","yu","yo","ra","ri","ru","re","ro","wa","wi","we","wo"],mC[51]=["apartment","alpha","ampere","are","inning","inch","won","escudo","acre","ounce","ohm","kai-ri","carat","calorie","gallon","gamma","giga","guinea","curie","guilder","kilo","kilogram","kilometer","kilowatt","gram","gram ton","cruzeiro","krone","case","koruna","co-op","cycle","centime","shilling","centi","cent","dozen","desi","dollar","ton","nano","knot","heights","percent","parts","barrel","piaster","picul","pico","building","farad","feet","bushel","franc","hectare","peso","pfennig","hertz","pence","page","beta","point","volt","hon","pound","hall","horn","micro","mile","mach","mark","mansion","micron","milli","millibar","mega","megaton","meter","yard","yard","yuan","liter","lira","rupee","ruble","rem","roentgen","watt","0h","1h","2h","3h","4h","5h","6h","7h","8h","9h","10h","11h","12h","13h","14h","15h","16h","17h","18h","19h","20h","21h","22h","23h","24h","HPA","da","AU","bar","oV","pc",null,null,null,null,"Heisei","Syouwa","Taisyou","Meiji","Inc.","pA","nA","microamp","mA","kA","kB","MB","GB","cal","kcal","pF","nF","microFarad","microgram","mg","kg","Hz","kHz","MHz","GHz","THz","microliter","ml","dl","kl","fm","nm","micrometer","mm","cm","km","mm^2","cm^2","m^2","km^2","mm^4","cm^3","m^3","km^3","m/s","m/s^2","Pa","kPa","MPa","GPa","rad","rad/s","rad/s^2","ps","ns","microsecond","ms","pV","nV","microvolt","mV","kV","MV","pW","nW","microwatt","mW","kW","MW","kOhm","MOhm","a.m.","Bq","cc","cd","C/kg","Co.","dB","Gy","ha","HP","in","K.K.","KM","kt","lm","ln","log","lx","mb","mil","mol","pH","p.m.","PPM","PR","sr","Sv","Wb",null,null,"1d","2d","3d","4d","5d","6d","7d","8d","9d","10d","11d","12d","13d","14d","15d","16d","17d","18d","19d","20d","21d","22d","23d","24d","25d","26d","27d","28d","29d","30d","31d"],mC[78]=["Yi","Ding","Kao","Qi","Shang","Xia",null,"Wan","Zhang","San","Shang","Xia","Ji","Bu","Yu","Mian","Gai","Chou","Chou","Zhuan","Qie","Pi","Shi","Shi","Qiu","Bing","Ye","Cong","Dong","Si","Cheng","Diu","Qiu","Liang","Diu","You","Liang","Yan","Bing","Sang","Gun","Jiu","Ge","Ya","Qiang","Zhong","Ji","Jie","Feng","Guan","Chuan","Chan","Lin","Zhuo","Zhu","Ha","Wan","Dan","Wei","Zhu","Jing","Li","Ju","Pie","Fu","Yi","Yi","Nai","Shime","Jiu","Jiu","Zhe","Me","Yi",null,"Zhi","Wu","Zha","Hu","Fa","Le","Zhong","Ping","Pang","Qiao","Hu","Guai","Cheng","Cheng","Yi","Yin",null,"Mie","Jiu","Qi","Ye","Xi","Xiang","Gai","Diu","Hal",null,"Shu","Twul","Shi","Ji","Nang","Jia","Kel","Shi",null,"Ol","Mai","Luan","Cal","Ru","Xue","Yan","Fu","Sha","Na","Gan","Sol","El","Cwul",null,"Gan","Chi","Gui","Gan","Luan","Lin","Yi","Jue","Liao","Ma","Yu","Zheng","Shi","Shi","Er","Chu","Yu","Yu","Yu","Yun","Hu","Qi","Wu","Jing","Si","Sui","Gen","Gen","Ya","Xie","Ya","Qi","Ya","Ji","Tou","Wang","Kang","Ta","Jiao","Hai","Yi","Chan","Heng","Mu",null,"Xiang","Jing","Ting","Liang","Xiang","Jing","Ye","Qin","Bo","You","Xie","Dan","Lian","Duo","Wei","Ren","Ren","Ji","La","Wang","Yi","Shi","Ren","Le","Ding","Ze","Jin","Pu","Chou","Ba","Zhang","Jin","Jie","Bing","Reng","Cong","Fo","San","Lun","Sya","Cang","Zi","Shi","Ta","Zhang","Fu","Xian","Xian","Tuo","Hong","Tong","Ren","Qian","Gan","Yi","Di","Dai","Ling","Yi","Chao","Chang","Sa",null,"Yi","Mu","Men","Ren","Jia","Chao","Yang","Qian","Zhong","Pi","Wan","Wu","Jian","Jie","Yao","Feng","Cang","Ren","Wang","Fen","Di","Fang"],mC[79]=["Zhong","Qi","Pei","Yu","Diao","Dun","Wen","Yi","Xin","Kang","Yi","Ji","Ai","Wu","Ji","Fu","Fa","Xiu","Jin","Bei","Dan","Fu","Tang","Zhong","You","Huo","Hui","Yu","Cui","Chuan","San","Wei","Chuan","Che","Ya","Xian","Shang","Chang","Lun","Cang","Xun","Xin","Wei","Zhu",null,"Xuan","Nu","Bo","Gu","Ni","Ni","Xie","Ban","Xu","Ling","Zhou","Shen","Qu","Si","Beng","Si","Jia","Pi","Yi","Si","Ai","Zheng","Dian","Han","Mai","Dan","Zhu","Bu","Qu","Bi","Shao","Ci","Wei","Di","Zhu","Zuo","You","Yang","Ti","Zhan","He","Bi","Tuo","She","Yu","Yi","Fo","Zuo","Kou","Ning","Tong","Ni","Xuan","Qu","Yong","Wa","Qian",null,"Ka",null,"Pei","Huai","He","Lao","Xiang","Ge","Yang","Bai","Fa","Ming","Jia","Er","Bing","Ji","Hen","Huo","Gui","Quan","Tiao","Jiao","Ci","Yi","Shi","Xing","Shen","Tuo","Kan","Zhi","Gai","Lai","Yi","Chi","Kua","Guang","Li","Yin","Shi","Mi","Zhu","Xu","You","An","Lu","Mou","Er","Lun","Tong","Cha","Chi","Xun","Gong","Zhou","Yi","Ru","Jian","Xia","Jia","Zai","Lu","Ko","Jiao","Zhen","Ce","Qiao","Kuai","Chai","Ning","Nong","Jin","Wu","Hou","Jiong","Cheng","Zhen","Zuo","Chou","Qin","Lu","Ju","Shu","Ting","Shen","Tuo","Bo","Nan","Hao","Bian","Tui","Yu","Xi","Cu","E","Qiu","Xu","Kuang","Ku","Wu","Jun","Yi","Fu","Lang","Zu","Qiao","Li","Yong","Hun","Jing","Xian","San","Pai","Su","Fu","Xi","Li","Fu","Ping","Bao","Yu","Si","Xia","Xin","Xiu","Yu","Ti","Che","Chou",null,"Yan","Lia","Li","Lai",null,"Jian","Xiu","Fu","He","Ju","Xiao","Pai","Jian","Biao","Chu","Fei","Feng","Ya","An","Bei","Yu","Xin","Bi","Jian"],mC[80]=["Chang","Chi","Bing","Zan","Yao","Cui","Lia","Wan","Lai","Cang","Zong","Ge","Guan","Bei","Tian","Shu","Shu","Men","Dao","Tan","Jue","Chui","Xing","Peng","Tang","Hou","Yi","Qi","Ti","Gan","Jing","Jie","Sui","Chang","Jie","Fang","Zhi","Kong","Juan","Zong","Ju","Qian","Ni","Lun","Zhuo","Wei","Luo","Song","Leng","Hun","Dong","Zi","Ben","Wu","Ju","Nai","Cai","Jian","Zhai","Ye","Zhi","Sha","Qing",null,"Ying","Cheng","Jian","Yan","Nuan","Zhong","Chun","Jia","Jie","Wei","Yu","Bing","Ruo","Ti","Wei","Pian","Yan","Feng","Tang","Wo","E","Xie","Che","Sheng","Kan","Di","Zuo","Cha","Ting","Bei","Ye","Huang","Yao","Zhan","Chou","Yan","You","Jian","Xu","Zha","Ci","Fu","Bi","Zhi","Zong","Mian","Ji","Yi","Xie","Xun","Si","Duan","Ce","Zhen","Ou","Tou","Tou","Bei","Za","Lu","Jie","Wei","Fen","Chang","Gui","Sou","Zhi","Su","Xia","Fu","Yuan","Rong","Li","Ru","Yun","Gou","Ma","Bang","Dian","Tang","Hao","Jie","Xi","Shan","Qian","Jue","Cang","Chu","San","Bei","Xiao","Yong","Yao","Tan","Suo","Yang","Fa","Bing","Jia","Dai","Zai","Tang",null,"Bin","Chu","Nuo","Can","Lei","Cui","Yong","Zao","Zong","Peng","Song","Ao","Chuan","Yu","Zhai","Cou","Shang","Qiang","Jing","Chi","Sha","Han","Zhang","Qing","Yan","Di","Xi","Lu","Bei","Piao","Jin","Lian","Lu","Man","Qian","Xian","Tan","Ying","Dong","Zhuan","Xiang","Shan","Qiao","Jiong","Tui","Zun","Pu","Xi","Lao","Chang","Guang","Liao","Qi","Deng","Chan","Wei","Ji","Fan","Hui","Chuan","Jian","Dan","Jiao","Jiu","Seng","Fen","Xian","Jue","E","Jiao","Jian","Tong","Lin","Bo","Gu",null,"Su","Xian","Jiang","Min","Ye","Jin","Jia","Qiao","Pi","Feng","Zhou","Ai","Sai"],mC[81]=["Yi","Jun","Nong","Chan","Yi","Dang","Jing","Xuan","Kuai","Jian","Chu","Dan","Jiao","Sha","Zai",null,"Bin","An","Ru","Tai","Chou","Chai","Lan","Ni","Jin","Qian","Meng","Wu","Ning","Qiong","Ni","Chang","Lie","Lei","Lu","Kuang","Bao","Du","Biao","Zan","Zhi","Si","You","Hao","Chen","Chen","Li","Teng","Wei","Long","Chu","Chan","Rang","Shu","Hui","Li","Luo","Zan","Nuo","Tang","Yan","Lei","Nang","Er","Wu","Yun","Zan","Yuan","Xiong","Chong","Zhao","Xiong","Xian","Guang","Dui","Ke","Dui","Mian","Tu","Chang","Er","Dui","Er","Xin","Tu","Si","Yan","Yan","Shi","Shi","Dang","Qian","Dou","Fen","Mao","Shen","Dou","Bai","Jing","Li","Huang","Ru","Wang","Nei","Quan","Liang","Yu","Ba","Gong","Liu","Xi",null,"Lan","Gong","Tian","Guan","Xing","Bing","Qi","Ju","Dian","Zi","Ppwun","Yang","Jian","Shou","Ji","Yi","Ji","Chan","Jiong","Mao","Ran","Nei","Yuan","Mao","Gang","Ran","Ce","Jiong","Ce","Zai","Gua","Jiong","Mao","Zhou","Mou","Gou","Xu","Mian","Mi","Rong","Yin","Xie","Kan","Jun","Nong","Yi","Mi","Shi","Guan","Meng","Zhong","Ju","Yuan","Ming","Kou","Lam","Fu","Xie","Mi","Bing","Dong","Tai","Gang","Feng","Bing","Hu","Chong","Jue","Hu","Kuang","Ye","Leng","Pan","Fu","Min","Dong","Xian","Lie","Xia","Jian","Jing","Shu","Mei","Tu","Qi","Gu","Zhun","Song","Jing","Liang","Qing","Diao","Ling","Dong","Gan","Jian","Yin","Cou","Yi","Li","Cang","Ming","Zhuen","Cui","Si","Duo","Jin","Lin","Lin","Ning","Xi","Du","Ji","Fan","Fan","Fan","Feng","Ju","Chu","Tako","Feng","Mok","Ci","Fu","Feng","Ping","Feng","Kai","Huang","Kai","Gan","Deng","Ping","Qu","Xiong","Kuai","Tu","Ao","Chu","Ji","Dang","Han","Han","Zao"],mC[82]=["Dao","Diao","Dao","Ren","Ren","Chuang","Fen","Qie","Yi","Ji","Kan","Qian","Cun","Chu","Wen","Ji","Dan","Xing","Hua","Wan","Jue","Li","Yue","Lie","Liu","Ze","Gang","Chuang","Fu","Chu","Qu","Ju","Shan","Min","Ling","Zhong","Pan","Bie","Jie","Jie","Bao","Li","Shan","Bie","Chan","Jing","Gua","Gen","Dao","Chuang","Kui","Ku","Duo","Er","Zhi","Shua","Quan","Cha","Ci","Ke","Jie","Gui","Ci","Gui","Kai","Duo","Ji","Ti","Jing","Lou","Gen","Ze","Yuan","Cuo","Xue","Ke","La","Qian","Cha","Chuang","Gua","Jian","Cuo","Li","Ti","Fei","Pou","Chan","Qi","Chuang","Zi","Gang","Wan","Bo","Ji","Duo","Qing","Yan","Zhuo","Jian","Ji","Bo","Yan","Ju","Huo","Sheng","Jian","Duo","Duan","Wu","Gua","Fu","Sheng","Jian","Ge","Zha","Kai","Chuang","Juan","Chan","Tuan","Lu","Li","Fou","Shan","Piao","Kou","Jiao","Gua","Qiao","Jue","Hua","Zha","Zhuo","Lian","Ju","Pi","Liu","Gui","Jiao","Gui","Jian","Jian","Tang","Huo","Ji","Jian","Yi","Jian","Zhi","Chan","Cuan","Mo","Li","Zhu","Li","Ya","Quan","Ban","Gong","Jia","Wu","Mai","Lie","Jin","Keng","Xie","Zhi","Dong","Zhu","Nu","Jie","Qu","Shao","Yi","Zhu","Miao","Li","Jing","Lao","Lao","Juan","Kou","Yang","Wa","Xiao","Mou","Kuang","Jie","Lie","He","Shi","Ke","Jing","Hao","Bo","Min","Chi","Lang","Yong","Yong","Mian","Ke","Xun","Juan","Qing","Lu","Pou","Meng","Lai","Le","Kai","Mian","Dong","Xu","Xu","Kan","Wu","Yi","Xun","Weng","Sheng","Lao","Mu","Lu","Piao","Shi","Ji","Qin","Qiang","Jiao","Quan","Yang","Yi","Jue","Fan","Juan","Tong","Ju","Dan","Xie","Mai","Xun","Xun","Lu","Li","Che","Rang","Quan","Bao","Shao","Yun","Jiu","Bao","Gou","Wu"],mC[83]=["Yun","Mwun","Nay","Gai","Gai","Bao","Cong",null,"Xiong","Peng","Ju","Tao","Ge","Pu","An","Pao","Fu","Gong","Da","Jiu","Qiong","Bi","Hua","Bei","Nao","Chi","Fang","Jiu","Yi","Za","Jiang","Kang","Jiang","Kuang","Hu","Xia","Qu","Bian","Gui","Qie","Zang","Kuang","Fei","Hu","Tou","Gui","Gui","Hui","Dan","Gui","Lian","Lian","Suan","Du","Jiu","Qu","Xi","Pi","Qu","Yi","Qia","Yan","Bian","Ni","Qu","Shi","Xin","Qian","Nian","Sa","Zu","Sheng","Wu","Hui","Ban","Shi","Xi","Wan","Hua","Xie","Wan","Bei","Zu","Zhuo","Xie","Dan","Mai","Nan","Dan","Ji","Bo","Shuai","Bu","Kuang","Bian","Bu","Zhan","Qia","Lu","You","Lu","Xi","Gua","Wo","Xie","Jie","Jie","Wei","Ang","Qiong","Zhi","Mao","Yin","Wei","Shao","Ji","Que","Luan","Shi","Juan","Xie","Xu","Jin","Que","Wu","Ji","E","Qing","Xi",null,"Han","Zhan","E","Ting","Li","Zhe","Han","Li","Ya","Ya","Yan","She","Zhi","Zha","Pang",null,"He","Ya","Zhi","Ce","Pang","Ti","Li","She","Hou","Ting","Zui","Cuo","Fei","Yuan","Ce","Yuan","Xiang","Yan","Li","Jue","Sha","Dian","Chu","Jiu","Qin","Ao","Gui","Yan","Si","Li","Chang","Lan","Li","Yan","Yan","Yuan","Si","Gong","Lin","Qiu","Qu","Qu","Uk","Lei","Du","Xian","Zhuan","San","Can","Can","Can","Can","Ai","Dai","You","Cha","Ji","You","Shuang","Fan","Shou","Guai","Ba","Fa","Ruo","Shi","Shu","Zhuo","Qu","Shou","Bian","Xu","Jia","Pan","Sou","Gao","Wei","Sou","Die","Rui","Cong","Kou","Gu","Ju","Ling","Gua","Tao","Kou","Zhi","Jiao","Zhao","Ba","Ding","Ke","Tai","Chi","Shi","You","Qiu","Po","Ye","Hao","Si","Tan","Chi","Le","Diao","Ji",null,"Hong"],mC[84]=["Mie","Xu","Mang","Chi","Ge","Xuan","Yao","Zi","He","Ji","Diao","Cun","Tong","Ming","Hou","Li","Tu","Xiang","Zha","Xia","Ye","Lu","A","Ma","Ou","Xue","Yi","Jun","Chou","Lin","Tun","Yin","Fei","Bi","Qin","Qin","Jie","Bu","Fou","Ba","Dun","Fen","E","Han","Ting","Hang","Shun","Qi","Hong","Zhi","Shen","Wu","Wu","Chao","Ne","Xue","Xi","Chui","Dou","Wen","Hou","Ou","Wu","Gao","Ya","Jun","Lu","E","Ge","Mei","Ai","Qi","Cheng","Wu","Gao","Fu","Jiao","Hong","Chi","Sheng","Ne","Tun","Fu","Yi","Dai","Ou","Li","Bai","Yuan","Kuai",null,"Qiang","Wu","E","Shi","Quan","Pen","Wen","Ni","M","Ling","Ran","You","Di","Zhou","Shi","Zhou","Tie","Xi","Yi","Qi","Ping","Zi","Gu","Zi","Wei","Xu","He","Nao","Xia","Pei","Yi","Xiao","Shen","Hu","Ming","Da","Qu","Ju","Gem","Za","Tuo","Duo","Pou","Pao","Bi","Fu","Yang","He","Zha","He","Hai","Jiu","Yong","Fu","Que","Zhou","Wa","Ka","Gu","Ka","Zuo","Bu","Long","Dong","Ning","Tha","Si","Xian","Huo","Qi","Er","E","Guang","Zha","Xi","Yi","Lie","Zi","Mie","Mi","Zhi","Yao","Ji","Zhou","Ge","Shuai","Zan","Xiao","Ke","Hui","Kua","Huai","Tao","Xian","E","Xuan","Xiu","Wai","Yan","Lao","Yi","Ai","Pin","Shen","Tong","Hong","Xiong","Chi","Wa","Ha","Zai","Yu","Di","Pai","Xiang","Ai","Hen","Kuang","Ya","Da","Xiao","Bi","Yue",null,"Hua","Sasou","Kuai","Duo",null,"Ji","Nong","Mou","Yo","Hao","Yuan","Long","Pou","Mang","Ge","E","Chi","Shao","Li","Na","Zu","He","Ku","Xiao","Xian","Lao","Bo","Zhe","Zha","Liang","Ba","Mie","Le","Sui","Fou","Bu","Han","Heng","Geng","Shuo","Ge"],mC[85]=["You","Yan","Gu","Gu","Bai","Han","Suo","Chun","Yi","Ai","Jia","Tu","Xian","Huan","Li","Xi","Tang","Zuo","Qiu","Che","Wu","Zao","Ya","Dou","Qi","Di","Qin","Ma","Mal","Hong","Dou","Kes","Lao","Liang","Suo","Zao","Huan","Lang","Sha","Ji","Zuo","Wo","Feng","Yin","Hu","Qi","Shou","Wei","Shua","Chang","Er","Li","Qiang","An","Jie","Yo","Nian","Yu","Tian","Lai","Sha","Xi","Tuo","Hu","Ai","Zhou","Nou","Ken","Zhuo","Zhuo","Shang","Di","Heng","Lan","A","Xiao","Xiang","Tun","Wu","Wen","Cui","Sha","Hu","Qi","Qi","Tao","Dan","Dan","Ye","Zi","Bi","Cui","Chuo","He","Ya","Qi","Zhe","Pei","Liang","Xian","Pi","Sha","La","Ze","Qing","Gua","Pa","Zhe","Se","Zhuan","Nie","Guo","Luo","Yan","Di","Quan","Tan","Bo","Ding","Lang","Xiao",null,"Tang","Chi","Ti","An","Jiu","Dan","Ke","Yong","Wei","Nan","Shan","Yu","Zhe","La","Jie","Hou","Han","Die","Zhou","Chai","Wai","Re","Yu","Yin","Zan","Yao","Wo","Mian","Hu","Yun","Chuan","Hui","Huan","Huan","Xi","He","Ji","Kui","Zhong","Wei","Sha","Xu","Huang","Du","Nie","Xuan","Liang","Yu","Sang","Chi","Qiao","Yan","Dan","Pen","Can","Li","Yo","Zha","Wei","Miao","Ying","Pen","Phos","Kui","Xi","Yu","Jie","Lou","Ku","Sao","Huo","Ti","Yao","He","A","Xiu","Qiang","Se","Yong","Su","Hong","Xie","Yi","Suo","Ma","Cha","Hai","Ke","Ta","Sang","Tian","Ru","Sou","Wa","Ji","Pang","Wu","Xian","Shi","Ge","Zi","Jie","Luo","Weng","Wa","Si","Chi","Hao","Suo","Jia","Hai","Suo","Qin","Nie","He","Cis","Sai","Ng","Ge","Na","Dia","Ai",null,"Tong","Bi","Ao","Ao","Lian","Cui","Zhe","Mo","Sou","Sou","Tan"],mC[86]=["Di","Qi","Jiao","Chong","Jiao","Kai","Tan","San","Cao","Jia","Ai","Xiao","Piao","Lou","Ga","Gu","Xiao","Hu","Hui","Guo","Ou","Xian","Ze","Chang","Xu","Po","De","Ma","Ma","Hu","Lei","Du","Ga","Tang","Ye","Beng","Ying","Saai","Jiao","Mi","Xiao","Hua","Mai","Ran","Zuo","Peng","Lao","Xiao","Ji","Zhu","Chao","Kui","Zui","Xiao","Si","Hao","Fu","Liao","Qiao","Xi","Xiu","Tan","Tan","Mo","Xun","E","Zun","Fan","Chi","Hui","Zan","Chuang","Cu","Dan","Yu","Tun","Cheng","Jiao","Ye","Xi","Qi","Hao","Lian","Xu","Deng","Hui","Yin","Pu","Jue","Qin","Xun","Nie","Lu","Si","Yan","Ying","Da","Dan","Yu","Zhou","Jin","Nong","Yue","Hui","Qi","E","Zao","Yi","Shi","Jiao","Yuan","Ai","Yong","Jue","Kuai","Yu","Pen","Dao","Ge","Xin","Dun","Dang","Sin","Sai","Pi","Pi","Yin","Zui","Ning","Di","Lan","Ta","Huo","Ru","Hao","Xia","Ya","Duo","Xi","Chou","Ji","Jin","Hao","Ti","Chang",null,null,"Ca","Ti","Lu","Hui","Bo","You","Nie","Yin","Hu","Mo","Huang","Zhe","Li","Liu","Haai","Nang","Xiao","Mo","Yan","Li","Lu","Long","Fu","Dan","Chen","Pin","Pi","Xiang","Huo","Mo","Xi","Duo","Ku","Yan","Chan","Ying","Rang","Dian","La","Ta","Xiao","Jiao","Chuo","Huan","Huo","Zhuan","Nie","Xiao","Ca","Li","Chan","Chai","Li","Yi","Luo","Nang","Zan","Su","Xi","So","Jian","Za","Zhu","Lan","Nie","Nang",null,null,"Wei","Hui","Yin","Qiu","Si","Nin","Jian","Hui","Xin","Yin","Nan","Tuan","Tuan","Dun","Kang","Yuan","Jiong","Pian","Yun","Cong","Hu","Hui","Yuan","You","Guo","Kun","Cong","Wei","Tu","Wei","Lun","Guo","Qun","Ri","Ling","Gu","Guo","Tai","Guo","Tu","You"],mC[87]=["Guo","Yin","Hun","Pu","Yu","Han","Yuan","Lun","Quan","Yu","Qing","Guo","Chuan","Wei","Yuan","Quan","Ku","Fu","Yuan","Yuan","E","Tu","Tu","Tu","Tuan","Lue","Hui","Yi","Yuan","Luan","Luan","Tu","Ya","Tu","Ting","Sheng","Pu","Lu","Iri","Ya","Zai","Wei","Ge","Yu","Wu","Gui","Pi","Yi","Di","Qian","Qian","Zhen","Zhuo","Dang","Qia","Akutsu","Yama","Kuang","Chang","Qi","Nie","Mo","Ji","Jia","Zhi","Zhi","Ban","Xun","Tou","Qin","Fen","Jun","Keng","Tun","Fang","Fen","Ben","Tan","Kan","Pi","Zuo","Keng","Bi","Xing","Di","Jing","Ji","Kuai","Di","Jing","Jian","Tan","Li","Ba","Wu","Fen","Zhui","Po","Pan","Tang","Kun","Qu","Tan","Zhi","Tuo","Gan","Ping","Dian","Gua","Ni","Tai","Pi","Jiong","Yang","Fo","Ao","Liu","Qiu","Mu","Ke","Gou","Xue","Ba","Chi","Che","Ling","Zhu","Fu","Hu","Zhi","Chui","La","Long","Long","Lu","Ao","Tay","Pao",null,"Xing","Dong","Ji","Ke","Lu","Ci","Chi","Lei","Gai","Yin","Hou","Dui","Zhao","Fu","Guang","Yao","Duo","Duo","Gui","Cha","Yang","Yin","Fa","Gou","Yuan","Die","Xie","Ken","Jiong","Shou","E","Ha","Dian","Hong","Wu","Kua",null,"Tao","Dang","Kai","Gake","Nao","An","Xing","Xian","Huan","Bang","Pei","Ba","Yi","Yin","Han","Xu","Chui","Cen","Geng","Ai","Peng","Fang","Que","Yong","Xun","Jia","Di","Mai","Lang","Xuan","Cheng","Yan","Jin","Zhe","Lei","Lie","Bu","Cheng","Gomi","Bu","Shi","Xun","Guo","Jiong","Ye","Nian","Di","Yu","Bu","Ya","Juan","Sui","Pi","Cheng","Wan","Ju","Lun","Zheng","Kong","Chong","Dong","Dai","Tan","An","Cai","Shu","Beng","Kan","Zhi","Duo","Yi","Zhi","Yi","Pei","Ji","Zhun","Qi","Sao","Ju","Ni"],mC[88]=["Ku","Ke","Tang","Kun","Ni","Jian","Dui","Jin","Gang","Yu","E","Peng","Gu","Tu","Leng",null,"Ya","Qian",null,"An",null,"Duo","Nao","Tu","Cheng","Yin","Hun","Bi","Lian","Guo","Die","Zhuan","Hou","Bao","Bao","Yu","Di","Mao","Jie","Ruan","E","Geng","Kan","Zong","Yu","Huang","E","Yao","Yan","Bao","Ji","Mei","Chang","Du","Tuo","Yin","Feng","Zhong","Jie","Zhen","Feng","Gang","Chuan","Jian","Pyeng","Toride","Xiang","Huang","Leng","Duan",null,"Xuan","Ji","Ji","Kuai","Ying","Ta","Cheng","Yong","Kai","Su","Su","Shi","Mi","Ta","Weng","Cheng","Tu","Tang","Que","Zhong","Li","Peng","Bang","Sai","Zang","Dui","Tian","Wu","Cheng","Xun","Ge","Zhen","Ai","Gong","Yan","Kan","Tian","Yuan","Wen","Xie","Liu","Ama","Lang","Chang","Peng","Beng","Chen","Cu","Lu","Ou","Qian","Mei","Mo","Zhuan","Shuang","Shu","Lou","Chi","Man","Biao","Jing","Qi","Shu","Di","Zhang","Kan","Yong","Dian","Chen","Zhi","Xi","Guo","Qiang","Jin","Di","Shang","Mu","Cui","Yan","Ta","Zeng","Qi","Qiang","Liang",null,"Zhui","Qiao","Zeng","Xu","Shan","Shan","Ba","Pu","Kuai","Dong","Fan","Que","Mo","Dun","Dun","Dun","Di","Sheng","Duo","Duo","Tan","Deng","Wu","Fen","Huang","Tan","Da","Ye","Sho","Mama","Yu","Qiang","Ji","Qiao","Ken","Yi","Pi","Bi","Dian","Jiang","Ye","Yong","Bo","Tan","Lan","Ju","Huai","Dang","Rang","Qian","Xun","Lan","Xi","He","Ai","Ya","Dao","Hao","Ruan","Mama","Lei","Kuang","Lu","Yan","Tan","Wei","Huai","Long","Long","Rui","Li","Lin","Rang","Ten","Xun","Yan","Lei","Ba",null,"Shi","Ren",null,"Zhuang","Zhuang","Sheng","Yi","Mai","Ke","Zhu","Zhuang","Hu","Hu","Kun","Yi","Hu","Xu","Kun","Shou","Mang","Zun"],mC[89]=["Shou","Yi","Zhi","Gu","Chu","Jiang","Feng","Bei","Cay","Bian","Sui","Qun","Ling","Fu","Zuo","Xia","Xiong",null,"Nao","Xia","Kui","Xi","Wai","Yuan","Mao","Su","Duo","Duo","Ye","Qing","Uys","Gou","Gou","Qi","Meng","Meng","Yin","Huo","Chen","Da","Ze","Tian","Tai","Fu","Guai","Yao","Yang","Hang","Gao","Shi","Ben","Tai","Tou","Yan","Bi","Yi","Kua","Jia","Duo","Kwu","Kuang","Yun","Jia","Pa","En","Lian","Huan","Di","Yan","Pao","Quan","Qi","Nai","Feng","Xie","Fen","Dian",null,"Kui","Zou","Huan","Qi","Kai","Zha","Ben","Yi","Jiang","Tao","Zang","Ben","Xi","Xiang","Fei","Diao","Xun","Keng","Dian","Ao","She","Weng","Pan","Ao","Wu","Ao","Jiang","Lian","Duo","Yun","Jiang","Shi","Fen","Huo","Bi","Lian","Duo","Nu","Nu","Ding","Nai","Qian","Jian","Ta","Jiu","Nan","Cha","Hao","Xian","Fan","Ji","Shuo","Ru","Fei","Wang","Hong","Zhuang","Fu","Ma","Dan","Ren","Fu","Jing","Yan","Xie","Wen","Zhong","Pa","Du","Ji","Keng","Zhong","Yao","Jin","Yun","Miao","Pei","Shi","Yue","Zhuang","Niu","Yan","Na","Xin","Fen","Bi","Yu","Tuo","Feng","Yuan","Fang","Wu","Yu","Gui","Du","Ba","Ni","Zhou","Zhuo","Zhao","Da","Nai","Yuan","Tou","Xuan","Zhi","E","Mei","Mo","Qi","Bi","Shen","Qie","E","He","Xu","Fa","Zheng","Min","Ban","Mu","Fu","Ling","Zi","Zi","Shi","Ran","Shan","Yang","Man","Jie","Gu","Si","Xing","Wei","Zi","Ju","Shan","Pin","Ren","Yao","Tong","Jiang","Shu","Ji","Gai","Shang","Kuo","Juan","Jiao","Gou","Mu","Jian","Jian","Yi","Nian","Zhi","Ji","Ji","Xian","Heng","Guang","Jun","Kua","Yan","Ming","Lie","Pei","Yan","You","Yan","Cha","Shen","Yin","Chi","Gui","Quan","Zi"],mC[90]=["Song","Wei","Hong","Wa","Lou","Ya","Rao","Jiao","Luan","Ping","Xian","Shao","Li","Cheng","Xiao","Mang","Fu","Suo","Wu","Wei","Ke","Lai","Chuo","Ding","Niang","Xing","Nan","Yu","Nuo","Pei","Nei","Juan","Shen","Zhi","Han","Di","Zhuang","E","Pin","Tui","Han","Mian","Wu","Yan","Wu","Xi","Yan","Yu","Si","Yu","Wa",null,"Xian","Ju","Qu","Shui","Qi","Xian","Zhui","Dong","Chang","Lu","Ai","E","E","Lou","Mian","Cong","Pou","Ju","Po","Cai","Ding","Wan","Biao","Xiao","Shu","Qi","Hui","Fu","E","Wo","Tan","Fei","Wei","Jie","Tian","Ni","Quan","Jing","Hun","Jing","Qian","Dian","Xing","Hu","Wa","Lai","Bi","Yin","Chou","Chuo","Fu","Jing","Lun","Yan","Lan","Kun","Yin","Ya","Ju","Li","Dian","Xian","Hwa","Hua","Ying","Chan","Shen","Ting","Dang","Yao","Wu","Nan","Ruo","Jia","Tou","Xu","Yu","Wei","Ti","Rou","Mei","Dan","Ruan","Qin","Hui","Wu","Qian","Chun","Mao","Fu","Jie","Duan","Xi","Zhong","Mei","Huang","Mian","An","Ying","Xuan","Jie","Wei","Mei","Yuan","Zhen","Qiu","Ti","Xie","Tuo","Lian","Mao","Ran","Si","Pian","Wei","Wa","Jiu","Hu","Ao",null,"Bou","Xu","Tou","Gui","Zou","Yao","Pi","Xi","Yuan","Ying","Rong","Ru","Chi","Liu","Mei","Pan","Ao","Ma","Gou","Kui","Qin","Jia","Sao","Zhen","Yuan","Cha","Yong","Ming","Ying","Ji","Su","Niao","Xian","Tao","Pang","Lang","Nao","Bao","Ai","Pi","Pin","Yi","Piao","Yu","Lei","Xuan","Man","Yi","Zhang","Kang","Yong","Ni","Li","Di","Gui","Yan","Jin","Zhuan","Chang","Ce","Han","Nen","Lao","Mo","Zhe","Hu","Hu","Ao","Nen","Qiang","Ma","Pie","Gu","Wu","Jiao","Tuo","Zhan","Mao","Xian","Xian","Mo","Liao","Lian","Hua"],mC[91]=["Gui","Deng","Zhi","Xu","Yi","Hua","Xi","Hui","Rao","Xi","Yan","Chan","Jiao","Mei","Fan","Fan","Xian","Yi","Wei","Jiao","Fu","Shi","Bi","Shan","Sui","Qiang","Lian","Huan","Xin","Niao","Dong","Yi","Can","Ai","Niang","Neng","Ma","Tiao","Chou","Jin","Ci","Yu","Pin","Yong","Xu","Nai","Yan","Tai","Ying","Can","Niao","Wo","Ying","Mian","Kaka","Ma","Shen","Xing","Ni","Du","Liu","Yuan","Lan","Yan","Shuang","Ling","Jiao","Niang","Lan","Xian","Ying","Shuang","Shuai","Quan","Mi","Li","Luan","Yan","Zhu","Lan","Zi","Jie","Jue","Jue","Kong","Yun","Zi","Zi","Cun","Sun","Fu","Bei","Zi","Xiao","Xin","Meng","Si","Tai","Bao","Ji","Gu","Nu","Xue",null,"Zhuan","Hai","Luan","Sun","Huai","Mie","Cong","Qian","Shu","Chan","Ya","Zi","Ni","Fu","Zi","Li","Xue","Bo","Ru","Lai","Nie","Nie","Ying","Luan","Mian","Ning","Rong","Ta","Gui","Zhai","Qiong","Yu","Shou","An","Tu","Song","Wan","Rou","Yao","Hong","Yi","Jing","Zhun","Mi","Zhu","Dang","Hong","Zong","Guan","Zhou","Ding","Wan","Yi","Bao","Shi","Shi","Chong","Shen","Ke","Xuan","Shi","You","Huan","Yi","Tiao","Shi","Xian","Gong","Cheng","Qun","Gong","Xiao","Zai","Zha","Bao","Hai","Yan","Xiao","Jia","Shen","Chen","Rong","Huang","Mi","Kou","Kuan","Bin","Su","Cai","Zan","Ji","Yuan","Ji","Yin","Mi","Kou","Qing","Que","Zhen","Jian","Fu","Ning","Bing","Huan","Mei","Qin","Han","Yu","Shi","Ning","Qin","Ning","Zhi","Yu","Bao","Kuan","Ning","Qin","Mo","Cha","Ju","Gua","Qin","Hu","Wu","Liao","Shi","Zhu","Zhai","Shen","Wei","Xie","Kuan","Hui","Liao","Jun","Huan","Yi","Yi","Bao","Qin","Chong","Bao","Feng","Cun","Dui","Si","Xun","Dao","Lu","Dui","Shou"],mC[92]=["Po","Feng","Zhuan","Fu","She","Ke","Jiang","Jiang","Zhuan","Wei","Zun","Xun","Shu","Dui","Dao","Xiao","Ji","Shao","Er","Er","Er","Ga","Jian","Shu","Chen","Shang","Shang","Mo","Ga","Chang","Liao","Xian","Xian",null,"Wang","Wang","You","Liao","Liao","Yao","Mang","Wang","Wang","Wang","Ga","Yao","Duo","Kui","Zhong","Jiu","Gan","Gu","Gan","Tui","Gan","Gan","Shi","Yin","Chi","Kao","Ni","Jin","Wei","Niao","Ju","Pi","Ceng","Xi","Bi","Ju","Jie","Tian","Qu","Ti","Jie","Wu","Diao","Shi","Shi","Ping","Ji","Xie","Chen","Xi","Ni","Zhan","Xi",null,"Man","E","Lou","Ping","Ti","Fei","Shu","Xie","Tu","Lu","Lu","Xi","Ceng","Lu","Ju","Xie","Ju","Jue","Liao","Jue","Shu","Xi","Che","Tun","Ni","Shan",null,"Xian","Li","Xue","Nata",null,"Long","Yi","Qi","Ren","Wu","Han","Shen","Yu","Chu","Sui","Qi",null,"Yue","Ban","Yao","Ang","Ya","Wu","Jie","E","Ji","Qian","Fen","Yuan","Qi","Cen","Qian","Qi","Cha","Jie","Qu","Gang","Xian","Ao","Lan","Dao","Ba","Zuo","Zuo","Yang","Ju","Gang","Ke","Gou","Xue","Bei","Li","Tiao","Ju","Yan","Fu","Xiu","Jia","Ling","Tuo","Pei","You","Dai","Kuang","Yue","Qu","Hu","Po","Min","An","Tiao","Ling","Chi","Yuri","Dong","Cem","Kui","Xiu","Mao","Tong","Xue","Yi","Kura","He","Ke","Luo","E","Fu","Xun","Die","Lu","An","Er","Gai","Quan","Tong","Yi","Mu","Shi","An","Wei","Hu","Zhi","Mi","Li","Ji","Tong","Wei","You","Sang","Xia","Li","Yao","Jiao","Zheng","Luan","Jiao","E","E","Yu","Ye","Bu","Qiao","Qun","Feng","Feng","Nao","Li","You","Xian","Hong","Dao","Shen","Cheng","Tu","Geng","Jun","Hao","Xia","Yin","Yu"],mC[93]=["Lang","Kan","Lao","Lai","Xian","Que","Kong","Chong","Chong","Ta","Lin","Hua","Ju","Lai","Qi","Min","Kun","Kun","Zu","Gu","Cui","Ya","Ya","Gang","Lun","Lun","Leng","Jue","Duo","Zheng","Guo","Yin","Dong","Han","Zheng","Wei","Yao","Pi","Yan","Song","Jie","Beng","Zu","Jue","Dong","Zhan","Gu","Yin",null,"Ze","Huang","Yu","Wei","Yang","Feng","Qiu","Dun","Ti","Yi","Zhi","Shi","Zai","Yao","E","Zhu","Kan","Lu","Yan","Mei","Gan","Ji","Ji","Huan","Ting","Sheng","Mei","Qian","Wu","Yu","Zong","Lan","Jue","Yan","Yan","Wei","Zong","Cha","Sui","Rong","Yamashina","Qin","Yu","Kewashii","Lou","Tu","Dui","Xi","Weng","Cang","Dang","Hong","Jie","Ai","Liu","Wu","Song","Qiao","Zi","Wei","Beng","Dian","Cuo","Qian","Yong","Nie","Cuo","Ji",null,"Tao","Song","Zong","Jiang","Liao","Kang","Chan","Die","Cen","Ding","Tu","Lou","Zhang","Zhan","Zhan","Ao","Cao","Qu","Qiang","Zui","Zui","Dao","Dao","Xi","Yu","Bo","Long","Xiang","Ceng","Bo","Qin","Jiao","Yan","Lao","Zhan","Lin","Liao","Liao","Jin","Deng","Duo","Zun","Jiao","Gui","Yao","Qiao","Yao","Jue","Zhan","Yi","Xue","Nao","Ye","Ye","Yi","E","Xian","Ji","Xie","Ke","Xi","Di","Ao","Zui",null,"Ni","Rong","Dao","Ling","Za","Yu","Yue","Yin",null,"Jie","Li","Sui","Long","Long","Dian","Ying","Xi","Ju","Chan","Ying","Kui","Yan","Wei","Nao","Quan","Chao","Cuan","Luan","Dian","Dian",null,"Yan","Yan","Yan","Nao","Yan","Chuan","Gui","Chuan","Zhou","Huang","Jing","Xun","Chao","Chao","Lie","Gong","Zuo","Qiao","Ju","Gong","Kek","Wu","Pwu","Pwu","Chai","Qiu","Qiu","Ji","Yi","Si","Ba","Zhi","Zhao","Xiang","Yi","Jin","Xun","Juan","Phas","Xun","Jin","Fu"],mC[94]=["Za","Bi","Shi","Bu","Ding","Shuai","Fan","Nie","Shi","Fen","Pa","Zhi","Xi","Hu","Dan","Wei","Zhang","Tang","Dai","Ma","Pei","Pa","Tie","Fu","Lian","Zhi","Zhou","Bo","Zhi","Di","Mo","Yi","Yi","Ping","Qia","Juan","Ru","Shuai","Dai","Zheng","Shui","Qiao","Zhen","Shi","Qun","Xi","Bang","Dai","Gui","Chou","Ping","Zhang","Sha","Wan","Dai","Wei","Chang","Sha","Qi","Ze","Guo","Mao","Du","Hou","Zheng","Xu","Mi","Wei","Wo","Fu","Yi","Bang","Ping","Tazuna","Gong","Pan","Huang","Dao","Mi","Jia","Teng","Hui","Zhong","Shan","Man","Mu","Biao","Guo","Ze","Mu","Bang","Zhang","Jiong","Chan","Fu","Zhi","Hu","Fan","Chuang","Bi","Hei",null,"Mi","Qiao","Chan","Fen","Meng","Bang","Chou","Mie","Chu","Jie","Xian","Lan","Gan","Ping","Nian","Qian","Bing","Bing","Xing","Gan","Yao","Huan","You","You","Ji","Guang","Pi","Ting","Ze","Guang","Zhuang","Mo","Qing","Bi","Qin","Dun","Chuang","Gui","Ya","Bai","Jie","Xu","Lu","Wu",null,"Ku","Ying","Di","Pao","Dian","Ya","Miao","Geng","Ci","Fu","Tong","Pang","Fei","Xiang","Yi","Zhi","Tiao","Zhi","Xiu","Du","Zuo","Xiao","Tu","Gui","Ku","Pang","Ting","You","Bu","Ding","Cheng","Lai","Bei","Ji","An","Shu","Kang","Yong","Tuo","Song","Shu","Qing","Yu","Yu","Miao","Sou","Ce","Xiang","Fei","Jiu","He","Hui","Liu","Sha","Lian","Lang","Sou","Jian","Pou","Qing","Jiu","Jiu","Qin","Ao","Kuo","Lou","Yin","Liao","Dai","Lu","Yi","Chu","Chan","Tu","Si","Xin","Miao","Chang","Wu","Fei","Guang","Koc","Kuai","Bi","Qiang","Xie","Lin","Lin","Liao","Lu",null,"Ying","Xian","Ting","Yong","Li","Ting","Yin","Xun","Yan","Ting","Di","Po","Jian","Hui","Nai","Hui","Gong","Nian"],mC[95]=["Kai","Bian","Yi","Qi","Nong","Fen","Ju","Yan","Yi","Zang","Bi","Yi","Yi","Er","San","Shi","Er","Shi","Shi","Gong","Diao","Yin","Hu","Fu","Hong","Wu","Tui","Chi","Jiang","Ba","Shen","Di","Zhang","Jue","Tao","Fu","Di","Mi","Xian","Hu","Chao","Nu","Jing","Zhen","Yi","Mi","Quan","Wan","Shao","Ruo","Xuan","Jing","Dun","Zhang","Jiang","Qiang","Peng","Dan","Qiang","Bi","Bi","She","Dan","Jian","Gou","Sei","Fa","Bi","Kou","Nagi","Bie","Xiao","Dan","Kuo","Qiang","Hong","Mi","Kuo","Wan","Jue","Ji","Ji","Gui","Dang","Lu","Lu","Tuan","Hui","Zhi","Hui","Hui","Yi","Yi","Yi","Yi","Huo","Huo","Shan","Xing","Wen","Tong","Yan","Yan","Yu","Chi","Cai","Biao","Diao","Bin","Peng","Yong","Piao","Zhang","Ying","Chi","Chi","Zhuo","Tuo","Ji","Pang","Zhong","Yi","Wang","Che","Bi","Chi","Ling","Fu","Wang","Zheng","Cu","Wang","Jing","Dai","Xi","Xun","Hen","Yang","Huai","Lu","Hou","Wa","Cheng","Zhi","Xu","Jing","Tu","Cong",null,"Lai","Cong","De","Pai","Xi",null,"Qi","Chang","Zhi","Cong","Zhou","Lai","Yu","Xie","Jie","Jian","Chi","Jia","Bian","Huang","Fu","Xun","Wei","Pang","Yao","Wei","Xi","Zheng","Piao","Chi","De","Zheng","Zheng","Bie","De","Chong","Che","Jiao","Wei","Jiao","Hui","Mei","Long","Xiang","Bao","Qu","Xin","Shu","Bi","Yi","Le","Ren","Dao","Ding","Gai","Ji","Ren","Ren","Chan","Tan","Te","Te","Gan","Qi","Shi","Cun","Zhi","Wang","Mang","Xi","Fan","Ying","Tian","Min","Min","Zhong","Chong","Wu","Ji","Wu","Xi","Ye","You","Wan","Cong","Zhong","Kuai","Yu","Bian","Zhi","Qi","Cui","Chen","Tai","Tun","Qian","Nian","Hun","Xiong","Niu","Wang","Xian","Xin","Kang","Hu","Kai","Fen"],mC[96]=["Huai","Tai","Song","Wu","Ou","Chang","Chuang","Ju","Yi","Bao","Chao","Min","Pei","Zuo","Zen","Yang","Kou","Ban","Nu","Nao","Zheng","Pa","Bu","Tie","Gu","Hu","Ju","Da","Lian","Si","Chou","Di","Dai","Yi","Tu","You","Fu","Ji","Peng","Xing","Yuan","Ni","Guai","Fu","Xi","Bi","You","Qie","Xuan","Cong","Bing","Huang","Xu","Chu","Pi","Xi","Xi","Tan","Koraeru","Zong","Dui",null,"Ki","Yi","Chi","Ren","Xun","Shi","Xi","Lao","Heng","Kuang","Mu","Zhi","Xie","Lian","Tiao","Huang","Die","Hao","Kong","Gui","Heng","Xi","Xiao","Shu","S","Kua","Qiu","Yang","Hui","Hui","Chi","Jia","Yi","Xiong","Guai","Lin","Hui","Zi","Xu","Chi","Xiang","Nu","Hen","En","Ke","Tong","Tian","Gong","Quan","Xi","Qia","Yue","Peng","Ken","De","Hui","E","Kyuu","Tong","Yan","Kai","Ce","Nao","Yun","Mang","Yong","Yong","Yuan","Pi","Kun","Qiao","Yue","Yu","Yu","Jie","Xi","Zhe","Lin","Ti","Han","Hao","Qie","Ti","Bu","Yi","Qian","Hui","Xi","Bei","Man","Yi","Heng","Song","Quan","Cheng","Hui","Wu","Wu","You","Li","Liang","Huan","Cong","Yi","Yue","Li","Nin","Nao","E","Que","Xuan","Qian","Wu","Min","Cong","Fei","Bei","Duo","Cui","Chang","Men","Li","Ji","Guan","Guan","Xing","Dao","Qi","Kong","Tian","Lun","Xi","Kan","Kun","Ni","Qing","Chou","Dun","Guo","Chan","Liang","Wan","Yuan","Jin","Ji","Lin","Yu","Huo","He","Quan","Tan","Ti","Ti","Nie","Wang","Chuo","Bu","Hun","Xi","Tang","Xin","Wei","Hui","E","Rui","Zong","Jian","Yong","Dian","Ju","Can","Cheng","De","Bei","Qie","Can","Dan","Guan","Duo","Nao","Yun","Xiang","Zhui","Die","Huang","Chun","Qiong","Re","Xing","Ce","Bian","Hun","Zong","Ti"],mC[97]=["Qiao","Chou","Bei","Xuan","Wei","Ge","Qian","Wei","Yu","Yu","Bi","Xuan","Huan","Min","Bi","Yi","Mian","Yong","Kai","Dang","Yin","E","Chen","Mou","Ke","Ke","Yu","Ai","Qie","Yan","Nuo","Gan","Yun","Zong","Sai","Leng","Fen",null,"Kui","Kui","Que","Gong","Yun","Su","Su","Qi","Yao","Song","Huang","Ji","Gu","Ju","Chuang","Ni","Xie","Kai","Zheng","Yong","Cao","Sun","Shen","Bo","Kai","Yuan","Xie","Hun","Yong","Yang","Li","Sao","Tao","Yin","Ci","Xu","Qian","Tai","Huang","Yun","Shen","Ming",null,"She","Cong","Piao","Mo","Mu","Guo","Chi","Can","Can","Can","Cui","Min","Te","Zhang","Tong","Ao","Shuang","Man","Guan","Que","Zao","Jiu","Hui","Kai","Lian","Ou","Song","Jin","Yin","Lu","Shang","Wei","Tuan","Man","Qian","She","Yong","Qing","Kang","Di","Zhi","Lou","Juan","Qi","Qi","Yu","Ping","Liao","Cong","You","Chong","Zhi","Tong","Cheng","Qi","Qu","Peng","Bei","Bie","Chun","Jiao","Zeng","Chi","Lian","Ping","Kui","Hui","Qiao","Cheng","Yin","Yin","Xi","Xi","Dan","Tan","Duo","Dui","Dui","Su","Jue","Ce","Xiao","Fan","Fen","Lao","Lao","Chong","Han","Qi","Xian","Min","Jing","Liao","Wu","Can","Jue","Cu","Xian","Tan","Sheng","Pi","Yi","Chu","Xian","Nao","Dan","Tan","Jing","Song","Han","Jiao","Wai","Huan","Dong","Qin","Qin","Qu","Cao","Ken","Xie","Ying","Ao","Mao","Yi","Lin","Se","Jun","Huai","Men","Lan","Ai","Lin","Yan","Gua","Xia","Chi","Yu","Yin","Dai","Meng","Ai","Meng","Dui","Qi","Mo","Lan","Men","Chou","Zhi","Nuo","Nuo","Yan","Yang","Bo","Zhi","Kuang","Kuang","You","Fu","Liu","Mie","Cheng",null,"Chan","Meng","Lan","Huai","Xuan","Rang","Chan","Ji","Ju","Huan","She","Yi"],mC[98]=["Lian","Nan","Mi","Tang","Jue","Gang","Gang","Gang","Ge","Yue","Wu","Jian","Xu","Shu","Rong","Xi","Cheng","Wo","Jie","Ge","Jian","Qiang","Huo","Qiang","Zhan","Dong","Qi","Jia","Die","Zei","Jia","Ji","Shi","Kan","Ji","Kui","Gai","Deng","Zhan","Chuang","Ge","Jian","Jie","Yu","Jian","Yan","Lu","Xi","Zhan","Xi","Xi","Chuo","Dai","Qu","Hu","Hu","Hu","E","Shi","Li","Mao","Hu","Li","Fang","Suo","Bian","Dian","Jiong","Shang","Yi","Yi","Shan","Hu","Fei","Yan","Shou","T","Cai","Zha","Qiu","Le","Bu","Ba","Da","Reng","Fu","Hameru","Zai","Tuo","Zhang","Diao","Kang","Yu","Ku","Han","Shen","Cha","Yi","Gu","Kou","Wu","Tuo","Qian","Zhi","Ren","Kuo","Men","Sao","Yang","Niu","Ban","Che","Rao","Xi","Qian","Ban","Jia","Yu","Fu","Ao","Xi","Pi","Zhi","Zi","E","Dun","Zhao","Cheng","Ji","Yan","Kuang","Bian","Chao","Ju","Wen","Hu","Yue","Jue","Ba","Qin","Zhen","Zheng","Yun","Wan","Nu","Yi","Shu","Zhua","Pou","Tou","Dou","Kang","Zhe","Pou","Fu","Pao","Ba","Ao","Ze","Tuan","Kou","Lun","Qiang",null,"Hu","Bao","Bing","Zhi","Peng","Tan","Pu","Pi","Tai","Yao","Zhen","Zha","Yang","Bao","He","Ni","Yi","Di","Chi","Pi","Za","Mo","Mo","Shen","Ya","Chou","Qu","Min","Chu","Jia","Fu","Zhan","Zhu","Dan","Chai","Mu","Nian","La","Fu","Pao","Ban","Pai","Ling","Na","Guai","Qian","Ju","Tuo","Ba","Tuo","Tuo","Ao","Ju","Zhuo","Pan","Zhao","Bai","Bai","Di","Ni","Ju","Kuo","Long","Jian",null,"Yong","Lan","Ning","Bo","Ze","Qian","Hen","Gua","Shi","Jie","Zheng","Nin","Gong","Gong","Quan","Shuan","Cun","Zan","Kao","Chi","Xie","Ce","Hui","Pin","Zhuai","Shi","Na"],mC[99]=["Bo","Chi","Gua","Zhi","Kuo","Duo","Duo","Zhi","Qie","An","Nong","Zhen","Ge","Jiao","Ku","Dong","Ru","Tiao","Lie","Zha","Lu","Die","Wa","Jue","Mushiru","Ju","Zhi","Luan","Ya","Zhua","Ta","Xie","Nao","Dang","Jiao","Zheng","Ji","Hui","Xun","Ku","Ai","Tuo","Nuo","Cuo","Bo","Geng","Ti","Zhen","Cheng","Suo","Suo","Keng","Mei","Long","Ju","Peng","Jian","Yi","Ting","Shan","Nuo","Wan","Xie","Cha","Feng","Jiao","Wu","Jun","Jiu","Tong","Kun","Huo","Tu","Zhuo","Pou","Le","Ba","Han","Shao","Nie","Juan","Ze","Song","Ye","Jue","Bu","Huan","Bu","Zun","Yi","Zhai","Lu","Sou","Tuo","Lao","Sun","Bang","Jian","Huan","Dao",null,"Wan","Qin","Peng","She","Lie","Min","Men","Fu","Bai","Ju","Dao","Wo","Ai","Juan","Yue","Zong","Chen","Chui","Jie","Tu","Ben","Na","Nian","Nuo","Zu","Wo","Xi","Xian","Cheng","Dian","Sao","Lun","Qing","Gang","Duo","Shou","Diao","Pou","Di","Zhang","Gun","Ji","Tao","Qia","Qi","Pai","Shu","Qian","Ling","Yi","Ya","Jue","Zheng","Liang","Gua","Yi","Huo","Shan","Zheng","Lue","Cai","Tan","Che","Bing","Jie","Ti","Kong","Tui","Yan","Cuo","Zou","Ju","Tian","Qian","Ken","Bai","Shou","Jie","Lu","Guo","Haba",null,"Zhi","Dan","Mang","Xian","Sao","Guan","Peng","Yuan","Nuo","Jian","Zhen","Jiu","Jian","Yu","Yan","Kui","Nan","Hong","Rou","Pi","Wei","Sai","Zou","Xuan","Miao","Ti","Nie","Cha","Shi","Zong","Zhen","Yi","Shun","Heng","Bian","Yang","Huan","Yan","Zuan","An","Xu","Ya","Wo","Ke","Chuai","Ji","Ti","La","La","Cheng","Kai","Jiu","Jiu","Tu","Jie","Hui","Geng","Chong","Shuo","She","Xie","Yuan","Qian","Ye","Cha","Zha","Bei","Yao",null,null,"Lan","Wen","Qin"],mC[100]=["Chan","Ge","Lou","Zong","Geng","Jiao","Gou","Qin","Yong","Que","Chou","Chi","Zhan","Sun","Sun","Bo","Chu","Rong","Beng","Cuo","Sao","Ke","Yao","Dao","Zhi","Nu","Xie","Jian","Sou","Qiu","Gao","Xian","Shuo","Sang","Jin","Mie","E","Chui","Nuo","Shan","Ta","Jie","Tang","Pan","Ban","Da","Li","Tao","Hu","Zhi","Wa","Xia","Qian","Wen","Qiang","Tian","Zhen","E","Xi","Nuo","Quan","Cha","Zha","Ge","Wu","En","She","Kang","She","Shu","Bai","Yao","Bin","Sou","Tan","Sa","Chan","Suo","Liao","Chong","Chuang","Guo","Bing","Feng","Shuai","Di","Qi","Sou","Zhai","Lian","Tang","Chi","Guan","Lu","Luo","Lou","Zong","Gai","Hu","Zha","Chuang","Tang","Hua","Cui","Nai","Mo","Jiang","Gui","Ying","Zhi","Ao","Zhi","Nie","Man","Shan","Kou","Shu","Suo","Tuan","Jiao","Mo","Mo","Zhe","Xian","Keng","Piao","Jiang","Yin","Gou","Qian","Lue","Ji","Ying","Jue","Pie","Pie","Lao","Dun","Xian","Ruan","Kui","Zan","Yi","Xun","Cheng","Cheng","Sa","Nao","Heng","Si","Qian","Huang","Da","Zun","Nian","Lin","Zheng","Hui","Zhuang","Jiao","Ji","Cao","Dan","Dan","Che","Bo","Che","Jue","Xiao","Liao","Ben","Fu","Qiao","Bo","Cuo","Zhuo","Zhuan","Tuo","Pu","Qin","Dun","Nian",null,"Xie","Lu","Jiao","Cuan","Ta","Han","Qiao","Zhua","Jian","Gan","Yong","Lei","Kuo","Lu","Shan","Zhuo","Ze","Pu","Chuo","Ji","Dang","Suo","Cao","Qing","Jing","Huan","Jie","Qin","Kuai","Dan","Xi","Ge","Pi","Bo","Ao","Ju","Ye",null,"Mang","Sou","Mi","Ji","Tai","Zhuo","Dao","Xing","Lan","Ca","Ju","Ye","Ru","Ye","Ye","Ni","Hu","Ji","Bin","Ning","Ge","Zhi","Jie","Kuo","Mo","Jian","Xie","Lie","Tan","Bai","Sou","Lu","Lue","Rao","Zhi"],mC[101]=["Pan","Yang","Lei","Sa","Shu","Zan","Nian","Xian","Jun","Huo","Li","La","Han","Ying","Lu","Long","Qian","Qian","Zan","Qian","Lan","San","Ying","Mei","Rang","Chan",null,"Cuan","Xi","She","Luo","Jun","Mi","Li","Zan","Luan","Tan","Zuan","Li","Dian","Wa","Dang","Jiao","Jue","Lan","Li","Nang","Zhi","Gui","Gui","Qi","Xin","Pu","Sui","Shou","Kao","You","Gai","Yi","Gong","Gan","Ban","Fang","Zheng","Bo","Dian","Kou","Min","Wu","Gu","He","Ce","Xiao","Mi","Chu","Ge","Di","Xu","Jiao","Min","Chen","Jiu","Zhen","Duo","Yu","Chi","Ao","Bai","Xu","Jiao","Duo","Lian","Nie","Bi","Chang","Dian","Duo","Yi","Gan","San","Ke","Yan","Dun","Qi","Dou","Xiao","Duo","Jiao","Jing","Yang","Xia","Min","Shu","Ai","Qiao","Ai","Zheng","Di","Zhen","Fu","Shu","Liao","Qu","Xiong","Xi","Jiao","Sen","Jiao","Zhuo","Yi","Lian","Bi","Li","Xiao","Xiao","Wen","Xue","Qi","Qi","Zhai","Bin","Jue","Zhai",null,"Fei","Ban","Ban","Lan","Yu","Lan","Wei","Dou","Sheng","Liao","Jia","Hu","Xie","Jia","Yu","Zhen","Jiao","Wo","Tou","Chu","Jin","Chi","Yin","Fu","Qiang","Zhan","Qu","Zhuo","Zhan","Duan","Zhuo","Si","Xin","Zhuo","Zhuo","Qin","Lin","Zhuo","Chu","Duan","Zhu","Fang","Xie","Hang","Yu","Shi","Pei","You","Mye","Pang","Qi","Zhan","Mao","Lu","Pei","Pi","Liu","Fu","Fang","Xuan","Jing","Jing","Ni","Zu","Zhao","Yi","Liu","Shao","Jian","Es","Yi","Qi","Zhi","Fan","Piao","Fan","Zhan","Guai","Sui","Yu","Wu","Ji","Ji","Ji","Huo","Ri","Dan","Jiu","Zhi","Zao","Xie","Tiao","Xun","Xu","Xu","Xu","Gan","Han","Tai","Di","Xu","Chan","Shi","Kuang","Yang","Shi","Wang","Min","Min","Tun","Chun","Wu"],mC[102]=["Yun","Bei","Ang","Ze","Ban","Jie","Kun","Sheng","Hu","Fang","Hao","Gui","Chang","Xuan","Ming","Hun","Fen","Qin","Hu","Yi","Xi","Xin","Yan","Ze","Fang","Tan","Shen","Ju","Yang","Zan","Bing","Xing","Ying","Xuan","Pei","Zhen","Ling","Chun","Hao","Mei","Zuo","Mo","Bian","Xu","Hun","Zhao","Zong","Shi","Shi","Yu","Fei","Die","Mao","Ni","Chang","Wen","Dong","Ai","Bing","Ang","Zhou","Long","Xian","Kuang","Tiao","Chao","Shi","Huang","Huang","Xuan","Kui","Xu","Jiao","Jin","Zhi","Jin","Shang","Tong","Hong","Yan","Gai","Xiang","Shai","Xiao","Ye","Yun","Hui","Han","Han","Jun","Wan","Xian","Kun","Zhou","Xi","Cheng","Sheng","Bu","Zhe","Zhe","Wu","Han","Hui","Hao","Chen","Wan","Tian","Zhuo","Zui","Zhou","Pu","Jing","Xi","Shan","Yi","Xi","Qing","Qi","Jing","Gui","Zhen","Yi","Zhi","An","Wan","Lin","Liang","Chang","Wang","Xiao","Zan","Hi","Xuan","Xuan","Yi","Xia","Yun","Hui","Fu","Min","Kui","He","Ying","Du","Wei","Shu","Qing","Mao","Nan","Jian","Nuan","An","Yang","Chun","Yao","Suo","Jin","Ming","Jiao","Kai","Gao","Weng","Chang","Qi","Hao","Yan","Li","Ai","Ji","Gui","Men","Zan","Xie","Hao","Mu","Mo","Cong","Ni","Zhang","Hui","Bao","Han","Xuan","Chuan","Liao","Xian","Dan","Jing","Pie","Lin","Tun","Xi","Yi","Ji","Huang","Tai","Ye","Ye","Li","Tan","Tong","Xiao","Fei","Qin","Zhao","Hao","Yi","Xiang","Xing","Sen","Jiao","Bao","Jing","Yian","Ai","Ye","Ru","Shu","Meng","Xun","Yao","Pu","Li","Chen","Kuang","Die",null,"Yan","Huo","Lu","Xi","Rong","Long","Nang","Luo","Luan","Shai","Tang","Yan","Chu","Yue","Yue","Qu","Yi","Geng","Ye","Hu","He","Shu","Cao","Cao","Noboru","Man","Ceng","Ceng","Ti"],mC[103]=["Zui","Can","Xu","Hui","Yin","Qie","Fen","Pi","Yue","You","Ruan","Peng","Ban","Fu","Ling","Fei","Qu",null,"Nu","Tiao","Shuo","Zhen","Lang","Lang","Juan","Ming","Huang","Wang","Tun","Zhao","Ji","Qi","Ying","Zong","Wang","Tong","Lang",null,"Meng","Long","Mu","Deng","Wei","Mo","Ben","Zha","Zhu","Shu",null,"Zhu","Ren","Ba","Po","Duo","Duo","Dao","Li","Qiu","Ji","Jiu","Bi","Xiu","Ting","Ci","Sha","Eburi","Za","Quan","Qian","Yu","Gan","Wu","Cha","Shan","Xun","Fan","Wu","Zi","Li","Xing","Cai","Cun","Ren","Shao","Tuo","Di","Zhang","Mang","Chi","Yi","Gu","Gong","Du","Yi","Qi","Shu","Gang","Tiao","Moku","Soma","Tochi","Lai","Sugi","Mang","Yang","Ma","Miao","Si","Yuan","Hang","Fei","Bei","Jie","Dong","Gao","Yao","Xian","Chu","Qun","Pa","Shu","Hua","Xin","Chou","Zhu","Chou","Song","Ban","Song","Ji","Yue","Jin","Gou","Ji","Mao","Pi","Bi","Wang","Ang","Fang","Fen","Yi","Fu","Nan","Xi","Hu","Ya","Dou","Xun","Zhen","Yao","Lin","Rui","E","Mei","Zhao","Guo","Zhi","Cong","Yun","Waku","Dou","Shu","Zao",null,"Li","Haze","Jian","Cheng","Matsu","Qiang","Feng","Nan","Xiao","Xian","Ku","Ping","Yi","Xi","Zhi","Guai","Xiao","Jia","Jia","Gou","Fu","Mo","Yi","Ye","Ye","Shi","Nie","Bi","Duo","Yi","Ling","Bing","Ni","La","He","Pan","Fan","Zhong","Dai","Ci","Yang","Fu","Bo","Mou","Gan","Qi","Ran","Rou","Mao","Zhao","Song","Zhe","Xia","You","Shen","Ju","Tuo","Zuo","Nan","Ning","Yong","Di","Zhi","Zha","Cha","Dan","Gu","Pu","Jiu","Ao","Fu","Jian","Bo","Duo","Ke","Nai","Zhu","Bi","Liu","Chai","Zha","Si","Zhu","Pei","Shi","Guai","Cha","Yao","Jue","Jiu","Shi"],mC[104]=["Zhi","Liu","Mei","Hoy","Rong","Zha",null,"Biao","Zhan","Jie","Long","Dong","Lu","Sayng","Li","Lan","Yong","Shu","Xun","Shuan","Qi","Zhen","Qi","Li","Yi","Xiang","Zhen","Li","Su","Gua","Kan","Bing","Ren","Xiao","Bo","Ren","Bing","Zi","Chou","Yi","Jie","Xu","Zhu","Jian","Zui","Er","Er","You","Fa","Gong","Kao","Lao","Zhan","Li","Yin","Yang","He","Gen","Zhi","Chi","Ge","Zai","Luan","Fu","Jie","Hang","Gui","Tao","Guang","Wei","Kuang","Ru","An","An","Juan","Yi","Zhuo","Ku","Zhi","Qiong","Tong","Sang","Sang","Huan","Jie","Jiu","Xue","Duo","Zhui","Yu","Zan","Kasei","Ying","Masu",null,"Zhan","Ya","Nao","Zhen","Dang","Qi","Qiao","Hua","Kuai","Jiang","Zhuang","Xun","Suo","Sha","Zhen","Bei","Ting","Gua","Jing","Bo","Ben","Fu","Rui","Tong","Jue","Xi","Lang","Liu","Feng","Qi","Wen","Jun","Gan","Cu","Liang","Qiu","Ting","You","Mei","Bang","Long","Peng","Zhuang","Di","Xuan","Tu","Zao","Ao","Gu","Bi","Di","Han","Zi","Zhi","Ren","Bei","Geng","Jian","Huan","Wan","Nuo","Jia","Tiao","Ji","Xiao","Lu","Huan","Shao","Cen","Fen","Song","Meng","Wu","Li","Li","Dou","Cen","Ying","Suo","Ju","Ti","Jie","Kun","Zhuo","Shu","Chan","Fan","Wei","Jing","Li","Bing","Fumoto","Shikimi","Tao","Zhi","Lai","Lian","Jian","Zhuo","Ling","Li","Qi","Bing","Zhun","Cong","Qian","Mian","Qi","Qi","Cai","Gun","Chan","Te","Fei","Pai","Bang","Pou","Hun","Zong","Cheng","Zao","Ji","Li","Peng","Yu","Yu","Gu","Hun","Dong","Tang","Gang","Wang","Di","Xi","Fan","Cheng","Zhan","Qi","Yuan","Yan","Yu","Quan","Yi","Sen","Ren","Chui","Leng","Qi","Zhuo","Fu","Ke","Lai","Zou","Zou","Zhuo","Guan","Fen","Fen","Chen","Qiong","Nie"],mC[105]=["Wan","Guo","Lu","Hao","Jie","Yi","Chou","Ju","Ju","Cheng","Zuo","Liang","Qiang","Zhi","Zhui","Ya","Ju","Bei","Jiao","Zhuo","Zi","Bin","Peng","Ding","Chu","Chang","Kunugi","Momiji","Jian","Gui","Xi","Du","Qian","Kunugi","Soko","Shide","Luo","Zhi","Ken","Myeng","Tafu",null,"Peng","Zhan",null,"Tuo","Sen","Duo","Ye","Fou","Wei","Wei","Duan","Jia","Zong","Jian","Yi","Shen","Xi","Yan","Yan","Chuan","Zhan","Chun","Yu","He","Zha","Wo","Pian","Bi","Yao","Huo","Xu","Ruo","Yang","La","Yan","Ben","Hun","Kui","Jie","Kui","Si","Feng","Xie","Tuo","Zhi","Jian","Mu","Mao","Chu","Hu","Hu","Lian","Leng","Ting","Nan","Yu","You","Mei","Song","Xuan","Xuan","Ying","Zhen","Pian","Ye","Ji","Jie","Ye","Chu","Shun","Yu","Cou","Wei","Mei","Di","Ji","Jie","Kai","Qiu","Ying","Rou","Heng","Lou","Le","Hazou","Katsura","Pin","Muro","Gai","Tan","Lan","Yun","Yu","Chen","Lu","Ju","Sakaki",null,"Pi","Xie","Jia","Yi","Zhan","Fu","Nai","Mi","Lang","Rong","Gu","Jian","Ju","Ta","Yao","Zhen","Bang","Sha","Yuan","Zi","Ming","Su","Jia","Yao","Jie","Huang","Gan","Fei","Zha","Qian","Ma","Sun","Yuan","Xie","Rong","Shi","Zhi","Cui","Yun","Ting","Liu","Rong","Tang","Que","Zhai","Si","Sheng","Ta","Ke","Xi","Gu","Qi","Kao","Gao","Sun","Pan","Tao","Ge","Xun","Dian","Nou","Ji","Shuo","Gou","Chui","Qiang","Cha","Qian","Huai","Mei","Xu","Gang","Gao","Zhuo","Tuo","Hashi","Yang","Dian","Jia","Jian","Zui","Kashi","Ori","Bin","Zhu",null,"Xi","Qi","Lian","Hui","Yong","Qian","Guo","Gai","Gai","Tuan","Hua","Cu","Sen","Cui","Beng","You","Hu","Jiang","Hu","Huan","Kui","Yi","Nie","Gao","Kang","Gui","Gui","Cao","Man","Jin"],mC[106]=["Di","Zhuang","Le","Lang","Chen","Cong","Li","Xiu","Qing","Shuang","Fan","Tong","Guan","Ji","Suo","Lei","Lu","Liang","Mi","Lou","Chao","Su","Ke","Shu","Tang","Biao","Lu","Jiu","Shu","Zha","Shu","Zhang","Men","Mo","Niao","Yang","Tiao","Peng","Zhu","Sha","Xi","Quan","Heng","Jian","Cong",null,"Hokuso","Qiang","Tara","Ying","Er","Xin","Zhi","Qiao","Zui","Cong","Pu","Shu","Hua","Kui","Zhen","Zun","Yue","Zhan","Xi","Xun","Dian","Fa","Gan","Mo","Wu","Qiao","Nao","Lin","Liu","Qiao","Xian","Run","Fan","Zhan","Tuo","Lao","Yun","Shun","Tui","Cheng","Tang","Meng","Ju","Cheng","Su","Jue","Jue","Tan","Hui","Ji","Nuo","Xiang","Tuo","Ning","Rui","Zhu","Chuang","Zeng","Fen","Qiong","Ran","Heng","Cen","Gu","Liu","Lao","Gao","Chu","Zusa","Nude","Ca","San","Ji","Dou","Shou","Lu",null,null,"Yuan","Ta","Shu","Jiang","Tan","Lin","Nong","Yin","Xi","Sui","Shan","Zui","Xuan","Cheng","Gan","Ju","Zui","Yi","Qin","Pu","Yan","Lei","Feng","Hui","Dang","Ji","Sui","Bo","Bi","Ding","Chu","Zhua","Kuai","Ji","Jie","Jia","Qing","Zhe","Jian","Qiang","Dao","Yi","Biao","Song","She","Lin","Kunugi","Cha","Meng","Yin","Tao","Tai","Mian","Qi","Toan","Bin","Huo","Ji","Qian","Mi","Ning","Yi","Gao","Jian","Yin","Er","Qing","Yan","Qi","Mi","Zhao","Gui","Chun","Ji","Kui","Po","Deng","Chu",null,"Mian","You","Zhi","Guang","Qian","Lei","Lei","Sa","Lu","Li","Cuan","Lu","Mie","Hui","Ou","Lu","Jie","Gao","Du","Yuan","Li","Fei","Zhuo","Sou","Lian","Tamo","Chu",null,"Zhu","Lu","Yan","Li","Zhu","Chen","Jie","E","Su","Huai","Nie","Yu","Long","Lai",null,"Xian","Kwi","Ju","Xiao","Ling","Ying","Jian","Yin","You","Ying"],mC[107]=["Xiang","Nong","Bo","Chan","Lan","Ju","Shuang","She","Wei","Cong","Quan","Qu","Cang",null,"Yu","Luo","Li","Zan","Luan","Dang","Jue","Em","Lan","Lan","Zhu","Lei","Li","Ba","Nang","Yu","Ling","Tsuki","Qian","Ci","Huan","Xin","Yu","Yu","Qian","Ou","Xu","Chao","Chu","Chi","Kai","Yi","Jue","Xi","Xu","Xia","Yu","Kuai","Lang","Kuan","Shuo","Xi","Ai","Yi","Qi","Hu","Chi","Qin","Kuan","Kan","Kuan","Kan","Chuan","Sha","Gua","Yin","Xin","Xie","Yu","Qian","Xiao","Yi","Ge","Wu","Tan","Jin","Ou","Hu","Ti","Huan","Xu","Pen","Xi","Xiao","Xu","Xi","Sen","Lian","Chu","Yi","Kan","Yu","Chuo","Huan","Zhi","Zheng","Ci","Bu","Wu","Qi","Bu","Bu","Wai","Ju","Qian","Chi","Se","Chi","Se","Zhong","Sui","Sui","Li","Cuo","Yu","Li","Gui","Dai","Dai","Si","Jian","Zhe","Mo","Mo","Yao","Mo","Cu","Yang","Tian","Sheng","Dai","Shang","Xu","Xun","Shu","Can","Jue","Piao","Qia","Qiu","Su","Qing","Yun","Lian","Yi","Fou","Zhi","Ye","Can","Hun","Dan","Ji","Ye","Zhen","Yun","Wen","Chou","Bin","Ti","Jin","Shang","Yin","Diao","Cu","Hui","Cuan","Yi","Dan","Du","Jiang","Lian","Bin","Du","Tsukusu","Jian","Shu","Ou","Duan","Zhu","Yin","Qing","Yi","Sha","Que","Ke","Yao","Jun","Dian","Hui","Hui","Gu","Que","Ji","Yi","Ou","Hui","Duan","Yi","Xiao","Wu","Guan","Mu","Mei","Mei","Ai","Zuo","Du","Yu","Bi","Bi","Bi","Pi","Pi","Bi","Chan","Mao",null,null,"Pu","Mushiru","Jia","Zhan","Sai","Mu","Tuo","Xun","Er","Rong","Xian","Ju","Mu","Hao","Qiu","Dou","Mushiru","Tan","Pei","Ju","Duo","Cui","Bi","San",null,"Mao","Sui","Yu","Yu","Tuo","He","Jian","Ta","San"],mC[108]=["Lu","Mu","Li","Tong","Rong","Chang","Pu","Luo","Zhan","Sao","Zhan","Meng","Luo","Qu","Die","Shi","Di","Min","Jue","Mang","Qi","Pie","Nai","Qi","Dao","Xian","Chuan","Fen","Ri","Nei",null,"Fu","Shen","Dong","Qing","Qi","Yin","Xi","Hai","Yang","An","Ya","Ke","Qing","Ya","Dong","Dan","Lu","Qing","Yang","Yun","Yun","Shui","San","Zheng","Bing","Yong","Dang","Shitamizu","Le","Ni","Tun","Fan","Gui","Ting","Zhi","Qiu","Bin","Ze","Mian","Cuan","Hui","Diao","Han","Cha","Zhuo","Chuan","Wan","Fan","Dai","Xi","Tuo","Mang","Qiu","Qi","Shan","Pai","Han","Qian","Wu","Wu","Xun","Si","Ru","Gong","Jiang","Chi","Wu","Tsuchi",null,"Tang","Zhi","Chi","Qian","Mi","Yu","Wang","Qing","Jing","Rui","Jun","Hong","Tai","Quan","Ji","Bian","Bian","Gan","Wen","Zhong","Fang","Xiong","Jue","Hang","Niou","Qi","Fen","Xu","Xu","Qin","Yi","Wo","Yun","Yuan","Hang","Yan","Shen","Chen","Dan","You","Dun","Hu","Huo","Qie","Mu","Rou","Mei","Ta","Mian","Wu","Chong","Tian","Bi","Sha","Zhi","Pei","Pan","Zhui","Za","Gou","Liu","Mei","Ze","Feng","Ou","Li","Lun","Cang","Feng","Wei","Hu","Mo","Mei","Shu","Ju","Zan","Tuo","Tuo","Tuo","He","Li","Mi","Yi","Fa","Fei","You","Tian","Zhi","Zhao","Gu","Zhan","Yan","Si","Kuang","Jiong","Ju","Xie","Qiu","Yi","Jia","Zhong","Quan","Bo","Hui","Mi","Ben","Zhuo","Chu","Le","You","Gu","Hong","Gan","Fa","Mao","Si","Hu","Ping","Ci","Fan","Chi","Su","Ning","Cheng","Ling","Pao","Bo","Qi","Si","Ni","Ju","Yue","Zhu","Sheng","Lei","Xuan","Xue","Fu","Pan","Min","Tai","Yang","Ji","Yong","Guan","Beng","Xue","Long","Lu",null,"Bo","Xie","Po","Ze","Jing","Yin"],mC[109]=["Zhou","Ji","Yi","Hui","Hui","Zui","Cheng","Yin","Wei","Hou","Jian","Yang","Lie","Si","Ji","Er","Xing","Fu","Sa","Suo","Zhi","Yin","Wu","Xi","Kao","Zhu","Jiang","Luo",null,"An","Dong","Yi","Mou","Lei","Yi","Mi","Quan","Jin","Mo","Wei","Xiao","Xie","Hong","Xu","Shuo","Kuang","Tao","Qie","Ju","Er","Zhou","Ru","Ping","Xun","Xiong","Zhi","Guang","Huan","Ming","Huo","Wa","Qia","Pai","Wu","Qu","Liu","Yi","Jia","Jing","Qian","Jiang","Jiao","Cheng","Shi","Zhuo","Ce","Pal","Kuai","Ji","Liu","Chan","Hun","Hu","Nong","Xun","Jin","Lie","Qiu","Wei","Zhe","Jun","Han","Bang","Mang","Zhuo","You","Xi","Bo","Dou","Wan","Hong","Yi","Pu","Ying","Lan","Hao","Lang","Han","Li","Geng","Fu","Wu","Lian","Chun","Feng","Yi","Yu","Tong","Lao","Hai","Jin","Jia","Chong","Weng","Mei","Sui","Cheng","Pei","Xian","Shen","Tu","Kun","Pin","Nie","Han","Jing","Xiao","She","Nian","Tu","Yong","Xiao","Xian","Ting","E","Su","Tun","Juan","Cen","Ti","Li","Shui","Si","Lei","Shui","Tao","Du","Lao","Lai","Lian","Wei","Wo","Yun","Huan","Di",null,"Run","Jian","Zhang","Se","Fu","Guan","Xing","Shou","Shuan","Ya","Chuo","Zhang","Ye","Kong","Wo","Han","Tuo","Dong","He","Wo","Ju","Gan","Liang","Hun","Ta","Zhuo","Dian","Qie","De","Juan","Zi","Xi","Yao","Qi","Gu","Guo","Han","Lin","Tang","Zhou","Peng","Hao","Chang","Shu","Qi","Fang","Chi","Lu","Nao","Ju","Tao","Cong","Lei","Zhi","Peng","Fei","Song","Tian","Pi","Dan","Yu","Ni","Yu","Lu","Gan","Mi","Jing","Ling","Lun","Yin","Cui","Qu","Huai","Yu","Nian","Shen","Piao","Chun","Wa","Yuan","Lai","Hun","Qing","Yan","Qian","Tian","Miao","Zhi","Yin","Mi"],mC[110]=["Ben","Yuan","Wen","Re","Fei","Qing","Yuan","Ke","Ji","She","Yuan","Shibui","Lu","Zi","Du",null,"Jian","Min","Pi","Tani","Yu","Yuan","Shen","Shen","Rou","Huan","Zhu","Jian","Nuan","Yu","Qiu","Ting","Qu","Du","Feng","Zha","Bo","Wo","Wo","Di","Wei","Wen","Ru","Xie","Ce","Wei","Ge","Gang","Yan","Hong","Xuan","Mi","Ke","Mao","Ying","Yan","You","Hong","Miao","Xing","Mei","Zai","Hun","Nai","Kui","Shi","E","Pai","Mei","Lian","Qi","Qi","Mei","Tian","Cou","Wei","Can","Tuan","Mian","Hui","Mo","Xu","Ji","Pen","Jian","Jian","Hu","Feng","Xiang","Yi","Yin","Zhan","Shi","Jie","Cheng","Huang","Tan","Yu","Bi","Min","Shi","Tu","Sheng","Yong","Qu","Zhong","Suei","Jiu","Jiao","Qiou","Yin","Tang","Long","Huo","Yuan","Nan","Ban","You","Quan","Chui","Liang","Chan","Yan","Chun","Nie","Zi","Wan","Shi","Man","Ying","Ratsu","Kui",null,"Jian","Xu","Lu","Gui","Gai",null,null,"Po","Jin","Gui","Tang","Yuan","Suo","Yuan","Lian","Yao","Meng","Zhun","Sheng","Ke","Tai","Da","Wa","Liu","Gou","Sao","Ming","Zha","Shi","Yi","Lun","Ma","Pu","Wei","Li","Cai","Wu","Xi","Wen","Qiang","Ze","Shi","Su","Yi","Zhen","Sou","Yun","Xiu","Yin","Rong","Hun","Su","Su","Ni","Ta","Shi","Ru","Wei","Pan","Chu","Chu","Pang","Weng","Cang","Mie","He","Dian","Hao","Huang","Xi","Zi","Di","Zhi","Ying","Fu","Jie","Hua","Ge","Zi","Tao","Teng","Sui","Bi","Jiao","Hui","Gun","Yin","Gao","Long","Zhi","Yan","She","Man","Ying","Chun","Lu","Lan","Luan",null,"Bin","Tan","Yu","Sou","Hu","Bi","Biao","Zhi","Jiang","Kou","Shen","Shang","Di","Mi","Ao","Lu","Hu","Hu","You","Chan","Fan","Yong","Gun","Man"],mC[111]=["Qing","Yu","Piao","Ji","Ya","Jiao","Qi","Xi","Ji","Lu","Lu","Long","Jin","Guo","Cong","Lou","Zhi","Gai","Qiang","Li","Yan","Cao","Jiao","Cong","Qun","Tuan","Ou","Teng","Ye","Xi","Mi","Tang","Mo","Shang","Han","Lian","Lan","Wa","Li","Qian","Feng","Xuan","Yi","Man","Zi","Mang","Kang","Lei","Peng","Shu","Zhang","Zhang","Chong","Xu","Huan","Kuo","Jian","Yan","Chuang","Liao","Cui","Ti","Yang","Jiang","Cong","Ying","Hong","Xun","Shu","Guan","Ying","Xiao",null,null,"Xu","Lian","Zhi","Wei","Pi","Jue","Jiao","Po","Dang","Hui","Jie","Wu","Pa","Ji","Pan","Gui","Xiao","Qian","Qian","Xi","Lu","Xi","Xuan","Dun","Huang","Min","Run","Su","Liao","Zhen","Zhong","Yi","Di","Wan","Dan","Tan","Chao","Xun","Kui","Yie","Shao","Tu","Zhu","San","Hei","Bi","Shan","Chan","Chan","Shu","Tong","Pu","Lin","Wei","Se","Se","Cheng","Jiong","Cheng","Hua","Jiao","Lao","Che","Gan","Cun","Heng","Si","Shu","Peng","Han","Yun","Liu","Hong","Fu","Hao","He","Xian","Jian","Shan","Xi","Oki",null,"Lan",null,"Yu","Lin","Min","Zao","Dang","Wan","Ze","Xie","Yu","Li","Shi","Xue","Ling","Man","Zi","Yong","Kuai","Can","Lian","Dian","Ye","Ao","Huan","Zhen","Chan","Man","Dan","Dan","Yi","Sui","Pi","Ju","Ta","Qin","Ji","Zhuo","Lian","Nong","Guo","Jin","Fen","Se","Ji","Sui","Hui","Chu","Ta","Song","Ding",null,"Zhu","Lai","Bin","Lian","Mi","Shi","Shu","Mi","Ning","Ying","Ying","Meng","Jin","Qi","Pi","Ji","Hao","Ru","Zui","Wo","Tao","Yin","Yin","Dui","Ci","Huo","Jing","Lan","Jun","Ai","Pu","Zhuo","Wei","Bin","Gu","Qian","Xing","Hama","Kuo","Fei",null,"Boku","Jian","Wei","Luo","Zan","Lu","Li"],mC[112]=["You","Yang","Lu","Si","Jie","Ying","Du","Wang","Hui","Xie","Pan","Shen","Biao","Chan","Mo","Liu","Jian","Pu","Se","Cheng","Gu","Bin","Huo","Xian","Lu","Qin","Han","Ying","Yong","Li","Jing","Xiao","Ying","Sui","Wei","Xie","Huai","Hao","Zhu","Long","Lai","Dui","Fan","Hu","Lai",null,null,"Ying","Mi","Ji","Lian","Jian","Ying","Fen","Lin","Yi","Jian","Yue","Chan","Dai","Rang","Jian","Lan","Fan","Shuang","Yuan","Zhuo","Feng","She","Lei","Lan","Cong","Qu","Yong","Qian","Fa","Guan","Que","Yan","Hao","Hyeng","Sa","Zan","Luan","Yan","Li","Mi","Shan","Tan","Dang","Jiao","Chan",null,"Hao","Ba","Zhu","Lan","Lan","Nang","Wan","Luan","Xun","Xian","Yan","Gan","Yan","Yu","Huo","Si","Mie","Guang","Deng","Hui","Xiao","Xiao","Hu","Hong","Ling","Zao","Zhuan","Jiu","Zha","Xie","Chi","Zhuo","Zai","Zai","Can","Yang","Qi","Zhong","Fen","Niu","Jiong","Wen","Po","Yi","Lu","Chui","Pi","Kai","Pan","Yan","Kai","Pang","Mu","Chao","Liao","Gui","Kang","Tun","Guang","Xin","Zhi","Guang","Guang","Wei","Qiang",null,"Da","Xia","Zheng","Zhu","Ke","Zhao","Fu","Ba","Duo","Duo","Ling","Zhuo","Xuan","Ju","Tan","Pao","Jiong","Pao","Tai","Tai","Bing","Yang","Tong","Han","Zhu","Zha","Dian","Wei","Shi","Lian","Chi","Huang",null,"Hu","Shuo","Lan","Jing","Jiao","Xu","Xing","Quan","Lie","Huan","Yang","Xiao","Xiu","Xian","Yin","Wu","Zhou","Yao","Shi","Wei","Tong","Xue","Zai","Kai","Hong","Luo","Xia","Zhu","Xuan","Zheng","Po","Yan","Hui","Guang","Zhe","Hui","Kao",null,"Fan","Shao","Ye","Hui",null,"Tang","Jin","Re",null,"Xi","Fu","Jiong","Che","Pu","Jing","Zhuo","Ting","Wan","Hai","Peng","Lang","Shan","Hu","Feng","Chi","Rong"],mC[113]=["Hu","Xi","Shu","He","Xun","Ku","Jue","Xiao","Xi","Yan","Han","Zhuang","Jun","Di","Xie","Ji","Wu",null,null,"Han","Yan","Huan","Men","Ju","Chou","Bei","Fen","Lin","Kun","Hun","Tun","Xi","Cui","Wu","Hong","Ju","Fu","Wo","Jiao","Cong","Feng","Ping","Qiong","Ruo","Xi","Qiong","Xin","Zhuo","Yan","Yan","Yi","Jue","Yu","Gang","Ran","Pi","Gu",null,"Sheng","Chang","Shao",null,null,null,null,"Chen","He","Kui","Zhong","Duan","Xia","Hui","Feng","Lian","Xuan","Xing","Huang","Jiao","Jian","Bi","Ying","Zhu","Wei","Tuan","Tian","Xi","Nuan","Nuan","Chan","Yan","Jiong","Jiong","Yu","Mei","Sha","Wei","Ye","Xin","Qiong","Rou","Mei","Huan","Xu","Zhao","Wei","Fan","Qiu","Sui","Yang","Lie","Zhu","Jie","Gao","Gua","Bao","Hu","Yun","Xia",null,null,"Bian","Gou","Tui","Tang","Chao","Shan","N","Bo","Huang","Xie","Xi","Wu","Xi","Yun","He","He","Xi","Yun","Xiong","Nai","Shan","Qiong","Yao","Xun","Mi","Lian","Ying","Wen","Rong","Oozutsu",null,"Qiang","Liu","Xi","Bi","Biao","Zong","Lu","Jian","Shou","Yi","Lou","Feng","Sui","Yi","Tong","Jue","Zong","Yun","Hu","Yi","Zhi","Ao","Wei","Liao","Han","Ou","Re","Jiong","Man",null,"Shang","Cuan","Zeng","Jian","Xi","Xi","Xi","Yi","Xiao","Chi","Huang","Chan","Ye","Qian","Ran","Yan","Xian","Qiao","Zun","Deng","Dun","Shen","Jiao","Fen","Si","Liao","Yu","Lin","Tong","Shao","Fen","Fan","Yan","Xun","Lan","Mei","Tang","Yi","Jing","Men",null,null,"Ying","Yu","Yi","Xue","Lan","Tai","Zao","Can","Sui","Xi","Que","Cong","Lian","Hui","Zhu","Xie","Ling","Wei","Yi","Xie","Zhao","Hui","Tatsu","Nung","Lan","Ru","Xian","Kao","Xun","Jin","Chou","Chou","Yao"],mC[114]=["He","Lan","Biao","Rong","Li","Mo","Bao","Ruo","Lu","La","Ao","Xun","Kuang","Shuo",null,"Li","Lu","Jue","Liao","Yan","Xi","Xie","Long","Ye",null,"Rang","Yue","Lan","Cong","Jue","Tong","Guan",null,"Che","Mi","Tang","Lan","Zhu",null,"Ling","Cuan","Yu","Zhua","Tsumekanmuri","Pa","Zheng","Pao","Cheng","Yuan","Ai","Wei",null,"Jue","Jue","Fu","Ye","Ba","Die","Ye","Yao","Zu","Shuang","Er","Qiang","Chuang","Ge","Zang","Die","Qiang","Yong","Qiang","Pian","Ban","Pan","Shao","Jian","Pai","Du","Chuang","Tou","Zha","Bian","Die","Bang","Bo","Chuang","You",null,"Du","Ya","Cheng","Niu","Ushihen","Pin","Jiu","Mou","Tuo","Mu","Lao","Ren","Mang","Fang","Mao","Mu","Gang","Wu","Yan","Ge","Bei","Si","Jian","Gu","You","Ge","Sheng","Mu","Di","Qian","Quan","Quan","Zi","Te","Xi","Mang","Keng","Qian","Wu","Gu","Xi","Li","Li","Pou","Ji","Gang","Zhi","Ben","Quan","Run","Du","Ju","Jia","Jian","Feng","Pian","Ke","Ju","Kao","Chu","Xi","Bei","Luo","Jie","Ma","San","Wei","Li","Dun","Tong",null,"Jiang","Ikenie","Li","Du","Lie","Pi","Piao","Bao","Xi","Chou","Wei","Kui","Chou","Quan","Fan","Ba","Fan","Qiu","Ji","Cai","Chuo","An","Jie","Zhuang","Guang","Ma","You","Kang","Bo","Hou","Ya","Yin","Huan","Zhuang","Yun","Kuang","Niu","Di","Qing","Zhong","Mu","Bei","Pi","Ju","Ni","Sheng","Pao","Xia","Tuo","Hu","Ling","Fei","Pi","Ni","Ao","You","Gou","Yue","Ju","Dan","Po","Gu","Xian","Ning","Huan","Hen","Jiao","He","Zhao","Ji","Xun","Shan","Ta","Rong","Shou","Tong","Lao","Du","Xia","Shi","Hua","Zheng","Yu","Sun","Yu","Bi","Mang","Xi","Juan","Li","Xia","Yin","Suan","Lang","Bei","Zhi","Yan"],mC[115]=["Sha","Li","Han","Xian","Jing","Pai","Fei","Yao","Ba","Qi","Ni","Biao","Yin","Lai","Xi","Jian","Qiang","Kun","Yan","Guo","Zong","Mi","Chang","Yi","Zhi","Zheng","Ya","Meng","Cai","Cu","She","Kari","Cen","Luo","Hu","Zong","Ji","Wei","Feng","Wo","Yuan","Xing","Zhu","Mao","Wei","Yuan","Xian","Tuan","Ya","Nao","Xie","Jia","Hou","Bian","You","You","Mei","Zha","Yao","Sun","Bo","Ming","Hua","Yuan","Sou","Ma","Yuan","Dai","Yu","Shi","Hao",null,"Yi","Zhen","Chuang","Hao","Man","Jing","Jiang","Mu","Zhang","Chan","Ao","Ao","Hao","Cui","Fen","Jue","Bi","Bi","Huang","Pu","Lin","Yu","Tong","Yao","Liao","Shuo","Xiao","Swu","Ton","Xi","Ge","Juan","Du","Hui","Kuai","Xian","Xie","Ta","Xian","Xun","Ning","Pin","Huo","Nou","Meng","Lie","Nao","Guang","Shou","Lu","Ta","Xian","Mi","Rang","Huan","Nao","Luo","Xian","Qi","Jue","Xuan","Miao","Zi","Lu","Lu","Yu","Su","Wang","Qiu","Ga","Ding","Le","Ba","Ji","Hong","Di","Quan","Gan","Jiu","Yu","Ji","Yu","Yang","Ma","Gong","Wu","Fu","Wen","Jie","Ya","Fen","Bian","Beng","Yue","Jue","Yun","Jue","Wan","Jian","Mei","Dan","Pi","Wei","Huan","Xian","Qiang","Ling","Dai","Yi","An","Ping","Dian","Fu","Xuan","Xi","Bo","Ci","Gou","Jia","Shao","Po","Ci","Ke","Ran","Sheng","Shen","Yi","Zu","Jia","Min","Shan","Liu","Bi","Zhen","Zhen","Jue","Fa","Long","Jin","Jiao","Jian","Li","Guang","Xian","Zhou","Gong","Yan","Xiu","Yang","Xu","Luo","Su","Zhu","Qin","Ken","Xun","Bao","Er","Xiang","Yao","Xia","Heng","Gui","Chong","Xu","Ban","Pei",null,"Dang","Ei","Hun","Wen","E","Cheng","Ti","Wu","Wu","Cheng","Jun","Mei","Bei","Ting","Xian","Chuo"],mC[116]=["Han","Xuan","Yan","Qiu","Quan","Lang","Li","Xiu","Fu","Liu","Ye","Xi","Ling","Li","Jin","Lian","Suo","Chiisai",null,"Wan","Dian","Pin","Zhan","Cui","Min","Yu","Ju","Chen","Lai","Wen","Sheng","Wei","Dian","Chu","Zhuo","Pei","Cheng","Hu","Qi","E","Kun","Chang","Qi","Beng","Wan","Lu","Cong","Guan","Yan","Diao","Bei","Lin","Qin","Pi","Pa","Que","Zhuo","Qin","Fa",null,"Qiong","Du","Jie","Hun","Yu","Mao","Mei","Chun","Xuan","Ti","Xing","Dai","Rou","Min","Zhen","Wei","Ruan","Huan","Jie","Chuan","Jian","Zhuan","Yang","Lian","Quan","Xia","Duan","Yuan","Ye","Nao","Hu","Ying","Yu","Huang","Rui","Se","Liu","Shi","Rong","Suo","Yao","Wen","Wu","Jin","Jin","Ying","Ma","Tao","Liu","Tang","Li","Lang","Gui","Zhen","Qiang","Cuo","Jue","Zhao","Yao","Ai","Bin","Tu","Chang","Kun","Zhuan","Cong","Jin","Yi","Cui","Cong","Qi","Li","Ying","Suo","Qiu","Xuan","Ao","Lian","Man","Zhang","Yin",null,"Ying","Zhi","Lu","Wu","Deng","Xiou","Zeng","Xun","Qu","Dang","Lin","Liao","Qiong","Su","Huang","Gui","Pu","Jing","Fan","Jin","Liu","Ji",null,"Jing","Ai","Bi","Can","Qu","Zao","Dang","Jiao","Gun","Tan","Hui","Huan","Se","Sui","Tian",null,"Yu","Jin","Lu","Bin","Shou","Wen","Zui","Lan","Xi","Ji","Xuan","Ruan","Huo","Gai","Lei","Du","Li","Zhi","Rou","Li","Zan","Qiong","Zhe","Gui","Sui","La","Long","Lu","Li","Zan","Lan","Ying","Mi","Xiang","Xi","Guan","Dao","Zan","Huan","Gua","Bo","Die","Bao","Hu","Zhi","Piao","Ban","Rang","Li","Wa","Dekaguramu","Jiang","Qian","Fan","Pen","Fang","Dan","Weng","Ou","Deshiguramu","Miriguramu","Thon","Hu","Ling","Yi","Ping","Ci","Hekutogura","Juan","Chang","Chi","Sarake","Dang","Meng","Pou"],mC[117]=["Zhui","Ping","Bian","Zhou","Zhen","Senchigura","Ci","Ying","Qi","Xian","Lou","Di","Ou","Meng","Zhuan","Peng","Lin","Zeng","Wu","Pi","Dan","Weng","Ying","Yan","Gan","Dai","Shen","Tian","Tian","Han","Chang","Sheng","Qing","Sheng","Chan","Chan","Rui","Sheng","Su","Sen","Yong","Shuai","Lu","Fu","Yong","Beng","Feng","Ning","Tian","You","Jia","Shen","Zha","Dian","Fu","Nan","Dian","Ping","Ting","Hua","Ting","Quan","Zi","Meng","Bi","Qi","Liu","Xun","Liu","Chang","Mu","Yun","Fan","Fu","Geng","Tian","Jie","Jie","Quan","Wei","Fu","Tian","Mu","Tap","Pan","Jiang","Wa","Da","Nan","Liu","Ben","Zhen","Chu","Mu","Mu","Ce","Cen","Gai","Bi","Da","Zhi","Lue","Qi","Lue","Pan","Kesa","Fan","Hua","Yu","Yu","Mu","Jun","Yi","Liu","Yu","Die","Chou","Hua","Dang","Chuo","Ji","Wan","Jiang","Sheng","Chang","Tuan","Lei","Ji","Cha","Liu","Tatamu","Tuan","Lin","Jiang","Jiang","Chou","Bo","Die","Die","Pi","Nie","Dan","Shu","Shu","Zhi","Yi","Chuang","Nai","Ding","Bi","Jie","Liao","Gong","Ge","Jiu","Zhou","Xia","Shan","Xu","Nue","Li","Yang","Chen","You","Ba","Jie","Jue","Zhi","Xia","Cui","Bi","Yi","Li","Zong","Chuang","Feng","Zhu","Pao","Pi","Gan","Ke","Ci","Xie","Qi","Dan","Zhen","Fa","Zhi","Teng","Ju","Ji","Fei","Qu","Dian","Jia","Xian","Cha","Bing","Ni","Zheng","Yong","Jing","Quan","Chong","Tong","Yi","Kai","Wei","Hui","Duo","Yang","Chi","Zhi","Hen","Ya","Mei","Dou","Jing","Xiao","Tong","Tu","Mang","Pi","Xiao","Suan","Pu","Li","Zhi","Cuo","Duo","Wu","Sha","Lao","Shou","Huan","Xian","Yi","Peng","Zhang","Guan","Tan","Fei","Ma","Lin","Chi","Ji","Dian","An","Chi","Bi","Bei","Min","Gu","Dui","E","Wei"],mC[118]=["Yu","Cui","Ya","Zhu","Cu","Dan","Shen","Zhung","Ji","Yu","Hou","Feng","La","Yang","Shen","Tu","Yu","Gua","Wen","Huan","Ku","Jia","Yin","Yi","Lu","Sao","Jue","Chi","Xi","Guan","Yi","Wen","Ji","Chuang","Ban","Lei","Liu","Chai","Shou","Nue","Dian","Da","Pie","Tan","Zhang","Biao","Shen","Cu","Luo","Yi","Zong","Chou","Zhang","Zhai","Sou","Suo","Que","Diao","Lou","Lu","Mo","Jin","Yin","Ying","Huang","Fu","Liao","Long","Qiao","Liu","Lao","Xian","Fei","Dan","Yin","He","Ai","Ban","Xian","Guan","Guai","Nong","Yu","Wei","Yi","Yong","Pi","Lei","Li","Shu","Dan","Lin","Dian","Lin","Lai","Pie","Ji","Chi","Yang","Xian","Jie","Zheng",null,"Li","Huo","Lai","Shaku","Dian","Xian","Ying","Yin","Qu","Yong","Tan","Dian","Luo","Luan","Luan","Bo",null,"Gui","Po","Fa","Deng","Fa","Bai","Bai","Qie","Bi","Zao","Zao","Mao","De","Pa","Jie","Huang","Gui","Ci","Ling","Gao","Mo","Ji","Jiao","Peng","Gao","Ai","E","Hao","Han","Bi","Wan","Chou","Qian","Xi","Ai","Jiong","Hao","Huang","Hao","Ze","Cui","Hao","Xiao","Ye","Po","Hao","Jiao","Ai","Xing","Huang","Li","Piao","He","Jiao","Pi","Gan","Pao","Zhou","Jun","Qiu","Cun","Que","Zha","Gu","Jun","Jun","Zhou","Zha","Gu","Zhan","Du","Min","Qi","Ying","Yu","Bei","Zhao","Zhong","Pen","He","Ying","He","Yi","Bo","Wan","He","Ang","Zhan","Yan","Jian","He","Yu","Kui","Fan","Gai","Dao","Pan","Fu","Qiu","Sheng","Dao","Lu","Zhan","Meng","Li","Jin","Xu","Jian","Pan","Guan","An","Lu","Shu","Zhou","Dang","An","Gu","Li","Mu","Cheng","Gan","Xu","Mang","Mang","Zhi","Qi","Ruan","Tian","Xiang","Dun","Xin","Xi","Pan","Feng","Dun","Min"],mC[119]=["Ming","Sheng","Shi","Yun","Mian","Pan","Fang","Miao","Dan","Mei","Mao","Kan","Xian","Ou","Shi","Yang","Zheng","Yao","Shen","Huo","Da","Zhen","Kuang","Ju","Shen","Chi","Sheng","Mei","Mo","Zhu","Zhen","Zhen","Mian","Di","Yuan","Die","Yi","Zi","Zi","Chao","Zha","Xuan","Bing","Mi","Long","Sui","Dong","Mi","Die","Yi","Er","Ming","Xuan","Chi","Kuang","Juan","Mou","Zhen","Tiao","Yang","Yan","Mo","Zhong","Mai","Zhao","Zheng","Mei","Jun","Shao","Han","Huan","Di","Cheng","Cuo","Juan","E","Wan","Xian","Xi","Kun","Lai","Jian","Shan","Tian","Hun","Wan","Ling","Shi","Qiong","Lie","Yai","Jing","Zheng","Li","Lai","Sui","Juan","Shui","Sui","Du","Bi","Bi","Mu","Hun","Ni","Lu","Yi","Jie","Cai","Zhou","Yu","Hun","Ma","Xia","Xing","Xi","Gun","Cai","Chun","Jian","Mei","Du","Hou","Xuan","Ti","Kui","Gao","Rui","Mou","Xu","Fa","Wen","Miao","Chou","Kui","Mi","Weng","Kou","Dang","Chen","Ke","Sou","Xia","Qiong","Mao","Ming","Man","Shui","Ze","Zhang","Yi","Diao","Ou","Mo","Shun","Cong","Lou","Chi","Man","Piao","Cheng","Ji","Meng",null,"Run","Pie","Xi","Qiao","Pu","Zhu","Deng","Shen","Shun","Liao","Che","Xian","Kan","Ye","Xu","Tong","Mou","Lin","Kui","Xian","Ye","Ai","Hui","Zhan","Jian","Gu","Zhao","Qu","Wei","Chou","Sao","Ning","Xun","Yao","Huo","Meng","Mian","Bin","Mian","Li","Kuang","Jue","Xuan","Mian","Huo","Lu","Meng","Long","Guan","Man","Xi","Chu","Tang","Kan","Zhu","Mao","Jin","Lin","Yu","Shuo","Ce","Jue","Shi","Yi","Shen","Zhi","Hou","Shen","Ying","Ju","Zhou","Jiao","Cuo","Duan","Ai","Jiao","Zeng","Huo","Bai","Shi","Ding","Qi","Ji","Zi","Gan","Wu","Tuo","Ku","Qiang","Xi","Fan","Kuang"],mC[120]=["Dang","Ma","Sha","Dan","Jue","Li","Fu","Min","Nuo","Huo","Kang","Zhi","Qi","Kan","Jie","Fen","E","Ya","Pi","Zhe","Yan","Sui","Zhuan","Che","Dun","Pan","Yan",null,"Feng","Fa","Mo","Zha","Qu","Yu","Luo","Tuo","Tuo","Di","Zhai","Zhen","Ai","Fei","Mu","Zhu","Li","Bian","Nu","Ping","Peng","Ling","Pao","Le","Po","Bo","Po","Shen","Za","Nuo","Li","Long","Tong",null,"Li","Aragane","Chu","Keng","Quan","Zhu","Kuang","Huo","E","Nao","Jia","Lu","Wei","Ai","Luo","Ken","Xing","Yan","Tong","Peng","Xi",null,"Hong","Shuo","Xia","Qiao",null,"Wei","Qiao",null,"Keng","Xiao","Que","Chan","Lang","Hong","Yu","Xiao","Xia","Mang","Long","Iong","Che","Che","E","Liu","Ying","Mang","Que","Yan","Sha","Kun","Yu",null,"Kaki","Lu","Chen","Jian","Nue","Song","Zhuo","Keng","Peng","Yan","Zhui","Kong","Ceng","Qi","Zong","Qing","Lin","Jun","Bo","Ding","Min","Diao","Jian","He","Lu","Ai","Sui","Que","Ling","Bei","Yin","Dui","Wu","Qi","Lun","Wan","Dian","Gang","Pei","Qi","Chen","Ruan","Yan","Die","Ding","Du","Tuo","Jie","Ying","Bian","Ke","Bi","Wei","Shuo","Zhen","Duan","Xia","Dang","Ti","Nao","Peng","Jian","Di","Tan","Cha","Seki","Qi",null,"Feng","Xuan","Que","Que","Ma","Gong","Nian","Su","E","Ci","Liu","Si","Tang","Bang","Hua","Pi","Wei","Sang","Lei","Cuo","Zhen","Xia","Qi","Lian","Pan","Wei","Yun","Dui","Zhe","Ke","La",null,"Qing","Gun","Zhuan","Chan","Qi","Ao","Peng","Lu","Lu","Kan","Qiang","Chen","Yin","Lei","Biao","Qi","Mo","Qi","Cui","Zong","Qing","Chuo",null,"Ji","Shan","Lao","Qu","Zeng","Deng","Jian","Xi","Lin","Ding","Dian","Huang","Pan","Za","Qiao","Di","Li"],mC[121]=["Tani","Jiao",null,"Zhang","Qiao","Dun","Xian","Yu","Zhui","He","Huo","Zhai","Lei","Ke","Chu","Ji","Que","Dang","Yi","Jiang","Pi","Pi","Yu","Pin","Qi","Ai","Kai","Jian","Yu","Ruan","Meng","Pao","Ci",null,null,"Mie","Ca","Xian","Kuang","Lei","Lei","Zhi","Li","Li","Fan","Que","Pao","Ying","Li","Long","Long","Mo","Bo","Shuang","Guan","Lan","Zan","Yan","Shi","Shi","Li","Reng","She","Yue","Si","Qi","Ta","Ma","Xie","Xian","Xian","Zhi","Qi","Zhi","Beng","Dui","Zhong",null,"Yi","Shi","You","Zhi","Tiao","Fu","Fu","Mi","Zu","Zhi","Suan","Mei","Zuo","Qu","Hu","Zhu","Shen","Sui","Ci","Chai","Mi","Lu","Yu","Xiang","Wu","Tiao","Piao","Zhu","Gui","Xia","Zhi","Ji","Gao","Zhen","Gao","Shui","Jin","Chen","Gai","Kun","Di","Dao","Huo","Tao","Qi","Gu","Guan","Zui","Ling","Lu","Bing","Jin","Dao","Zhi","Lu","Shan","Bei","Zhe","Hui","You","Xi","Yin","Zi","Huo","Zhen","Fu","Yuan","Wu","Xian","Yang","Ti","Yi","Mei","Si","Di",null,"Zhuo","Zhen","Yong","Ji","Gao","Tang","Si","Ma","Ta",null,"Xuan","Qi","Yu","Xi","Ji","Si","Chan","Tan","Kuai","Sui","Li","Nong","Ni","Dao","Li","Rang","Yue","Ti","Zan","Lei","Rou","Yu","Yu","Chi","Xie","Qin","He","Tu","Xiu","Si","Ren","Tu","Zi","Cha","Gan","Yi","Xian","Bing","Nian","Qiu","Qiu","Zhong","Fen","Hao","Yun","Ke","Miao","Zhi","Geng","Bi","Zhi","Yu","Mi","Ku","Ban","Pi","Ni","Li","You","Zu","Pi","Ba","Ling","Mo","Cheng","Nian","Qin","Yang","Zuo","Zhi","Zhi","Shu","Ju","Zi","Huo","Ji","Cheng","Tong","Zhi","Huo","He","Yin","Zi","Zhi","Jie","Ren","Du","Yi","Zhu","Hui","Nong","Fu"],mC[122]=["Xi","Kao","Lang","Fu","Ze","Shui","Lu","Kun","Gan","Geng","Ti","Cheng","Tu","Shao","Shui","Ya","Lun","Lu","Gu","Zuo","Ren","Zhun","Bang","Bai","Ji","Zhi","Zhi","Kun","Leng","Peng","Ke","Bing","Chou","Zu","Yu","Su","Lue",null,"Yi","Xi","Bian","Ji","Fu","Bi","Nuo","Jie","Zhong","Zong","Xu","Cheng","Dao","Wen","Lian","Zi","Yu","Ji","Xu","Zhen","Zhi","Dao","Jia","Ji","Gao","Gao","Gu","Rong","Sui","You","Ji","Kang","Mu","Shan","Men","Zhi","Ji","Lu","Su","Ji","Ying","Wen","Qiu","Se",null,"Yi","Huang","Qie","Ji","Sui","Xiao","Pu","Jiao","Zhuo","Tong","Sai","Lu","Sui","Nong","Se","Hui","Rang","Nuo","Yu","Bin","Ji","Tui","Wen","Cheng","Huo","Gong","Lu","Biao",null,"Rang","Zhuo","Li","Zan","Xue","Wa","Jiu","Qiong","Xi","Qiong","Kong","Yu","Sen","Jing","Yao","Chuan","Zhun","Tu","Lao","Qie","Zhai","Yao","Bian","Bao","Yao","Bing","Wa","Zhu","Jiao","Qiao","Diao","Wu","Gui","Yao","Zhi","Chuang","Yao","Tiao","Jiao","Chuang","Jiong","Xiao","Cheng","Kou","Cuan","Wo","Dan","Ku","Ke","Zhui","Xu","Su","Guan","Kui","Dou",null,"Yin","Wo","Wa","Ya","Yu","Ju","Qiong","Yao","Yao","Tiao","Chao","Yu","Tian","Diao","Ju","Liao","Xi","Wu","Kui","Chuang","Zhao",null,"Kuan","Long","Cheng","Cui","Piao","Zao","Cuan","Qiao","Qiong","Dou","Zao","Long","Qie","Li","Chu","Shi","Fou","Qian","Chu","Hong","Qi","Qian","Gong","Shi","Shu","Miao","Ju","Zhan","Zhu","Ling","Long","Bing","Jing","Jing","Zhang","Yi","Si","Jun","Hong","Tong","Song","Jing","Diao","Yi","Shu","Jing","Qu","Jie","Ping","Duan","Shao","Zhuan","Ceng","Deng","Cui","Huai","Jing","Kan","Jing","Zhu","Zhu","Le","Peng","Yu","Chi","Gan"],mC[123]=["Mang","Zhu","Utsubo","Du","Ji","Xiao","Ba","Suan","Ji","Zhen","Zhao","Sun","Ya","Zhui","Yuan","Hu","Gang","Xiao","Cen","Pi","Bi","Jian","Yi","Dong","Shan","Sheng","Xia","Di","Zhu","Na","Chi","Gu","Li","Qie","Min","Bao","Tiao","Si","Fu","Ce","Ben","Pei","Da","Zi","Di","Ling","Ze","Nu","Fu","Gou","Fan","Jia","Ge","Fan","Shi","Mao","Po","Sey","Jian","Qiong","Long","Souke","Bian","Luo","Gui","Qu","Chi","Yin","Yao","Xian","Bi","Qiong","Gua","Deng","Jiao","Jin","Quan","Sun","Ru","Fa","Kuang","Zhu","Tong","Ji","Da","Xing","Ce","Zhong","Kou","Lai","Bi","Shai","Dang","Zheng","Ce","Fu","Yun","Tu","Pa","Li","Lang","Ju","Guan","Jian","Han","Tong","Xia","Zhi","Cheng","Suan","Shi","Zhu","Zuo","Xiao","Shao","Ting","Ce","Yan","Gao","Kuai","Gan","Chou","Kago","Gang","Yun","O","Qian","Xiao","Jian","Pu","Lai","Zou","Bi","Bi","Bi","Ge","Chi","Guai","Yu","Jian","Zhao","Gu","Chi","Zheng","Jing","Sha","Zhou","Lu","Bo","Ji","Lin","Suan","Jun","Fu","Zha","Gu","Kong","Qian","Quan","Jun","Chui","Guan","Yuan","Ce","Ju","Bo","Ze","Qie","Tuo","Luo","Dan","Xiao","Ruo","Jian","Xuan","Bian","Sun","Xiang","Xian","Ping","Zhen","Sheng","Hu","Shi","Zhu","Yue","Chun","Lu","Wu","Dong","Xiao","Ji","Jie","Huang","Xing","Mei","Fan","Chui","Zhuan","Pian","Feng","Zhu","Hong","Qie","Hou","Qiu","Miao","Qian",null,"Kui","Sik","Lou","Yun","He","Tang","Yue","Chou","Gao","Fei","Ruo","Zheng","Gou","Nie","Qian","Xiao","Cuan","Gong","Pang","Du","Li","Bi","Zhuo","Chu","Shai","Chi","Zhu","Qiang","Long","Lan","Jian","Bu","Li","Hui","Bi","Di","Cong","Yan","Peng","Sen","Zhuan","Pai","Piao","Dou","Yu","Mie","Zhuan"],mC[124]=["Ze","Xi","Guo","Yi","Hu","Chan","Kou","Cu","Ping","Chou","Ji","Gui","Su","Lou","Zha","Lu","Nian","Suo","Cuan","Sasara","Suo","Le","Duan","Yana","Xiao","Bo","Mi","Si","Dang","Liao","Dan","Dian","Fu","Jian","Min","Kui","Dai","Qiao","Deng","Huang","Sun","Lao","Zan","Xiao","Du","Shi","Zan",null,"Pai","Hata","Pai","Gan","Ju","Du","Lu","Yan","Bo","Dang","Sai","Ke","Long","Qian","Lian","Bo","Zhou","Lai",null,"Lan","Kui","Yu","Yue","Hao","Zhen","Tai","Ti","Mi","Chou","Ji",null,"Hata","Teng","Zhuan","Zhou","Fan","Sou","Zhou","Kuji","Zhuo","Teng","Lu","Lu","Jian","Tuo","Ying","Yu","Lai","Long","Shinshi","Lian","Lan","Qian","Yue","Zhong","Qu","Lian","Bian","Duan","Zuan","Li","Si","Luo","Ying","Yue","Zhuo","Xu","Mi","Di","Fan","Shen","Zhe","Shen","Nu","Xie","Lei","Xian","Zi","Ni","Cun",null,"Qian","Kume","Bi","Ban","Wu","Sha","Kang","Rou","Fen","Bi","Cui",null,"Li","Chi","Nukamiso","Ro","Ba","Li","Gan","Ju","Po","Mo","Cu","Nian","Zhou","Li","Su","Tiao","Li","Qi","Su","Hong","Tong","Zi","Ce","Yue","Zhou","Lin","Zhuang","Bai",null,"Fen","Ji",null,"Sukumo","Liang","Xian","Fu","Liang","Can","Geng","Li","Yue","Lu","Ju","Qi","Cui","Bai","Zhang","Lin","Zong","Jing","Guo","Kouji","San","San","Tang","Bian","Rou","Mian","Hou","Xu","Zong","Hu","Jian","Zan","Ci","Li","Xie","Fu","Ni","Bei","Gu","Xiu","Gao","Tang","Qiu","Sukumo","Cao","Zhuang","Tang","Mi","San","Fen","Zao","Kang","Jiang","Mo","San","San","Nuo","Xi","Liang","Jiang","Kuai","Bo","Huan",null,"Zong","Xian","Nuo","Tuan","Nie","Li","Zuo","Di","Nie","Tiao","Lan","Mi","Jiao","Jiu","Xi","Gong","Zheng","Jiu","You"],mC[125]=["Ji","Cha","Zhou","Xun","Yue","Hong","Yu","He","Wan","Ren","Wen","Wen","Qiu","Na","Zi","Tou","Niu","Fou","Jie","Shu","Chun","Pi","Yin","Sha","Hong","Zhi","Ji","Fen","Yun","Ren","Dan","Jin","Su","Fang","Suo","Cui","Jiu","Zha","Kinu","Jin","Fu","Zhi","Ci","Zi","Chou","Hong","Zha","Lei","Xi","Fu","Xie","Shen","Bei","Zhu","Qu","Ling","Zhu","Shao","Gan","Yang","Fu","Tuo","Zhen","Dai","Zhuo","Shi","Zhong","Xian","Zu","Jiong","Ban","Ju","Mo","Shu","Zui","Wata","Jing","Ren","Heng","Xie","Jie","Zhu","Chou","Gua","Bai","Jue","Kuang","Hu","Ci","Geng","Geng","Tao","Xie","Ku","Jiao","Quan","Gai","Luo","Xuan","Bing","Xian","Fu","Gei","Tong","Rong","Tiao","Yin","Lei","Xie","Quan","Xu","Lun","Die","Tong","Si","Jiang","Xiang","Hui","Jue","Zhi","Jian","Juan","Chi","Mian","Zhen","Lu","Cheng","Qiu","Shu","Bang","Tong","Xiao","Wan","Qin","Geng","Xiu","Ti","Xiu","Xie","Hong","Xi","Fu","Ting","Sui","Dui","Kun","Fu","Jing","Hu","Zhi","Yan","Jiong","Feng","Ji","Sok","Kase","Zong","Lin","Duo","Li","Lu","Liang","Chou","Quan","Shao","Qi","Qi","Zhun","Qi","Wan","Qian","Xian","Shou","Wei","Qi","Tao","Wan","Gang","Wang","Beng","Zhui","Cai","Guo","Cui","Lun","Liu","Qi","Zhan","Bei","Chuo","Ling","Mian","Qi","Qie","Tan","Zong","Gun","Zou","Yi","Zi","Xing","Liang","Jin","Fei","Rui","Min","Yu","Zong","Fan","Lu","Xu","Yingl","Zhang","Kasuri","Xu","Xiang","Jian","Ke","Xian","Ruan","Mian","Qi","Duan","Zhong","Di","Min","Miao","Yuan","Xie","Bao","Si","Qiu","Bian","Huan","Geng","Cong","Mian","Wei","Fu","Wei","Yu","Gou","Miao","Xie","Lian","Zong","Bian","Yun","Yin","Ti","Gua","Zhi","Yun","Cheng","Chan","Dai"],mC[126]=["Xia","Yuan","Zong","Xu","Nawa","Odoshi","Geng","Sen","Ying","Jin","Yi","Zhui","Ni","Bang","Gu","Pan","Zhou","Jian","Cuo","Quan","Shuang","Yun","Xia","Shuai","Xi","Rong","Tao","Fu","Yun","Zhen","Gao","Ru","Hu","Zai","Teng","Xian","Su","Zhen","Zong","Tao","Horo","Cai","Bi","Feng","Cu","Li","Suo","Yin","Xi","Zong","Lei","Zhuan","Qian","Man","Zhi","Lu","Mo","Piao","Lian","Mi","Xuan","Zong","Ji","Shan","Sui","Fan","Shuai","Beng","Yi","Sao","Mou","Zhou","Qiang","Hun","Sem","Xi","Jung","Xiu","Ran","Xuan","Hui","Qiao","Zeng","Zuo","Zhi","Shan","San","Lin","Yu","Fan","Liao","Chuo","Zun","Jian","Rao","Chan","Rui","Xiu","Hui","Hua","Zuan","Xi","Qiang","Un","Da","Sheng","Hui","Xi","Se","Jian","Jiang","Huan","Zao","Cong","Jie","Jiao","Bo","Chan","Yi","Nao","Sui","Yi","Shai","Xu","Ji","Bin","Qian","Lan","Pu","Xun","Zuan","Qi","Peng","Li","Mo","Lei","Xie","Zuan","Kuang","You","Xu","Lei","Xian","Chan","Kou","Lu","Chan","Ying","Cai","Xiang","Xian","Zui","Zuan","Luo","Xi","Dao","Lan","Lei","Lian","Si","Jiu","Yu","Hong","Zhou","Xian","He","Yue","Ji","Wan","Kuang","Ji","Ren","Wei","Yun","Hong","Chun","Pi","Sha","Gang","Na","Ren","Zong","Lun","Fen","Zhi","Wen","Fang","Zhu","Yin","Niu","Shu","Xian","Gan","Xie","Fu","Lian","Zu","Shen","Xi","Zhi","Zhong","Zhou","Ban","Fu","Zhuo","Shao","Yi","Jing","Dai","Bang","Rong","Jie","Ku","Rao","Die","Heng","Hui","Gei","Xuan","Jiang","Luo","Jue","Jiao","Tong","Geng","Xiao","Juan","Xiu","Xi","Sui","Tao","Ji","Ti","Ji","Xu","Ling",null,"Xu","Qi","Fei","Chuo","Zhang","Gun","Sheng","Wei","Mian","Shou","Beng","Chou","Tao","Liu","Quan","Zong","Zhan","Wan","Lu"],mC[127]=["Zhui","Zi","Ke","Xiang","Jian","Mian","Lan","Ti","Miao","Qi","Yun","Hui","Si","Duo","Duan","Bian","Xian","Gou","Zhui","Huan","Di","Lu","Bian","Min","Yuan","Jin","Fu","Ru","Zhen","Feng","Shuai","Gao","Chan","Li","Yi","Jian","Bin","Piao","Man","Lei","Ying","Suo","Mou","Sao","Xie","Liao","Shan","Zeng","Jiang","Qian","Zao","Huan","Jiao","Zuan","Fou","Xie","Gang","Fou","Que","Fou","Kaakeru","Bo","Ping","Hou",null,"Gang","Ying","Ying","Qing","Xia","Guan","Zun","Tan","Chang","Qi","Weng","Ying","Lei","Tan","Lu","Guan","Wang","Wang","Gang","Wang","Han",null,"Luo","Fu","Mi","Fa","Gu","Zhu","Ju","Mao","Gu","Min","Gang","Ba","Gua","Ti","Juan","Fu","Lin","Yan","Zhao","Zui","Gua","Zhuo","Yu","Zhi","An","Fa","Nan","Shu","Si","Pi","Ma","Liu","Ba","Fa","Li","Chao","Wei","Bi","Ji","Zeng","Tong","Liu","Ji","Juan","Mi","Zhao","Luo","Pi","Ji","Ji","Luan","Yang","Mie","Qiang","Ta","Mei","Yang","You","You","Fen","Ba","Gao","Yang","Gu","Qiang","Zang","Gao","Ling","Yi","Zhu","Di","Xiu","Qian","Yi","Xian","Rong","Qun","Qun","Qian","Huan","Zui","Xian","Yi","Yashinau","Qiang","Xian","Yu","Geng","Jie","Tang","Yuan","Xi","Fan","Shan","Fen","Shan","Lian","Lei","Geng","Nou","Qiang","Chan","Yu","Gong","Yi","Chong","Weng","Fen","Hong","Chi","Chi","Cui","Fu","Xia","Pen","Yi","La","Yi","Pi","Ling","Liu","Zhi","Qu","Xi","Xie","Xiang","Xi","Xi","Qi","Qiao","Hui","Hui","Xiao","Se","Hong","Jiang","Di","Cui","Fei","Tao","Sha","Chi","Zhu","Jian","Xuan","Shi","Pian","Zong","Wan","Hui","Hou","He","He","Han","Ao","Piao","Yi","Lian","Qu",null,"Lin","Pen","Qiao","Ao","Fan","Yi","Hui","Xuan","Dao"],mC[128]=["Yao","Lao",null,"Kao","Mao","Zhe","Qi","Gou","Gou","Gou","Die","Die","Er","Shua","Ruan","Er","Nai","Zhuan","Lei","Ting","Zi","Geng","Chao","Hao","Yun","Pa","Pi","Chi","Si","Chu","Jia","Ju","He","Chu","Lao","Lun","Ji","Tang","Ou","Lou","Nou","Gou","Pang","Ze","Lou","Ji","Lao","Huo","You","Mo","Huai","Er","Zhe","Ting","Ye","Da","Song","Qin","Yun","Chi","Dan","Dan","Hong","Geng","Zhi",null,"Nie","Dan","Zhen","Che","Ling","Zheng","You","Wa","Liao","Long","Zhi","Ning","Tiao","Er","Ya","Die","Gua",null,"Lian","Hao","Sheng","Lie","Pin","Jing","Ju","Bi","Di","Guo","Wen","Xu","Ping","Cong","Shikato",null,"Ting","Yu","Cong","Kui","Tsuraneru","Kui","Cong","Lian","Weng","Kui","Lian","Lian","Cong","Ao","Sheng","Song","Ting","Kui","Nie","Zhi","Dan","Ning","Qie","Ji","Ting","Ting","Long","Yu","Yu","Zhao","Si","Su","Yi","Su","Si","Zhao","Zhao","Rou","Yi","Le","Ji","Qiu","Ken","Cao","Ge","Di","Huan","Huang","Yi","Ren","Xiao","Ru","Zhou","Yuan","Du","Gang","Rong","Gan","Cha","Wo","Chang","Gu","Zhi","Han","Fu","Fei","Fen","Pei","Pang","Jian","Fang","Zhun","You","Na","Hang","Ken","Ran","Gong","Yu","Wen","Yao","Jin","Pi","Qian","Xi","Xi","Fei","Ken","Jing","Tai","Shen","Zhong","Zhang","Xie","Shen","Wei","Zhou","Die","Dan","Fei","Ba","Bo","Qu","Tian","Bei","Gua","Tai","Zi","Ku","Zhi","Ni","Ping","Zi","Fu","Pang","Zhen","Xian","Zuo","Pei","Jia","Sheng","Zhi","Bao","Mu","Qu","Hu","Ke","Yi","Yin","Xu","Yang","Long","Dong","Ka","Lu","Jing","Nu","Yan","Pang","Kua","Yi","Guang","Gai","Ge","Dong","Zhi","Xiao","Xiong","Xiong","Er","E","Xing","Pian","Neng","Zi","Gui"],mC[129]=["Cheng","Tiao","Zhi","Cui","Mei","Xie","Cui","Xie","Mo","Mai","Ji","Obiyaakasu",null,"Kuai","Sa","Zang","Qi","Nao","Mi","Nong","Luan","Wan","Bo","Wen","Guan","Qiu","Jiao","Jing","Rou","Heng","Cuo","Lie","Shan","Ting","Mei","Chun","Shen","Xie","De","Zui","Cu","Xiu","Xin","Tuo","Pao","Cheng","Nei","Fu","Dou","Tuo","Niao","Noy","Pi","Gu","Gua","Li","Lian","Zhang","Cui","Jie","Liang","Zhou","Pi","Biao","Lun","Pian","Guo","Kui","Chui","Dan","Tian","Nei","Jing","Jie","La","Yi","An","Ren","Shen","Chuo","Fu","Fu","Ju","Fei","Qiang","Wan","Dong","Pi","Guo","Zong","Ding","Wu","Mei","Ruan","Zhuan","Zhi","Cou","Gua","Ou","Di","An","Xing","Nao","Yu","Chuan","Nan","Yun","Zhong","Rou","E","Sai","Tu","Yao","Jian","Wei","Jiao","Yu","Jia","Duan","Bi","Chang","Fu","Xian","Ni","Mian","Wa","Teng","Tui","Bang","Qian","Lu","Wa","Sou","Tang","Su","Zhui","Ge","Yi","Bo","Liao","Ji","Pi","Xie","Gao","Lu","Bin","Ou","Chang","Lu","Guo","Pang","Chuai","Piao","Jiang","Fu","Tang","Mo","Xi","Zhuan","Lu","Jiao","Ying","Lu","Zhi","Tara","Chun","Lian","Tong","Peng","Ni","Zha","Liao","Cui","Gui","Xiao","Teng","Fan","Zhi","Jiao","Shan","Wu","Cui","Run","Xiang","Sui","Fen","Ying","Tan","Zhua","Dan","Kuai","Nong","Tun","Lian","Bi","Yong","Jue","Chu","Yi","Juan","La","Lian","Sao","Tun","Gu","Qi","Cui","Bin","Xun","Ru","Huo","Zang","Xian","Biao","Xing","Kuan","La","Yan","Lu","Huo","Zang","Luo","Qu","Zang","Luan","Ni","Zang","Chen","Qian","Wo","Guang","Zang","Lin","Guang","Zi","Jiao","Nie","Chou","Ji","Gao","Chou","Mian","Nie","Zhi","Zhi","Ge","Jian","Die","Zhi","Xiu","Tai","Zhen","Jiu","Xian","Yu","Cha"],mC[130]=["Yao","Yu","Chong","Xi","Xi","Jiu","Yu","Yu","Xing","Ju","Jiu","Xin","She","She","Yadoru","Jiu","Shi","Tan","Shu","Shi","Tian","Dan","Pu","Pu","Guan","Hua","Tan","Chuan","Shun","Xia","Wu","Zhou","Dao","Gang","Shan","Yi",null,"Pa","Tai","Fan","Ban","Chuan","Hang","Fang","Ban","Que","Hesaki","Zhong","Jian","Cang","Ling","Zhu","Ze","Duo","Bo","Xian","Ge","Chuan","Jia","Lu","Hong","Pang","Xi",null,"Fu","Zao","Feng","Li","Shao","Yu","Lang","Ting",null,"Wei","Bo","Meng","Nian","Ju","Huang","Shou","Zong","Bian","Mao","Die",null,"Bang","Cha","Yi","Sao","Cang","Cao","Lou","Dai","Sori","Yao","Tong","Yofune","Dang","Tan","Lu","Yi","Jie","Jian","Huo","Meng","Qi","Lu","Lu","Chan","Shuang","Gen","Liang","Jian","Jian","Se","Yan","Fu","Ping","Yan","Yan","Cao","Cao","Yi","Le","Ting","Qiu","Ai","Nai","Tiao","Jiao","Jie","Peng","Wan","Yi","Chai","Mian","Mie","Gan","Qian","Yu","Yu","Shuo","Qiong","Tu","Xia","Qi","Mang","Zi","Hui","Sui","Zhi","Xiang","Bi","Fu","Tun","Wei","Wu","Zhi","Qi","Shan","Wen","Qian","Ren","Fou","Kou","Jie","Lu","Xu","Ji","Qin","Qi","Yuan","Fen","Ba","Rui","Xin","Ji","Hua","Hua","Fang","Wu","Jue","Gou","Zhi","Yun","Qin","Ao","Chu","Mao","Ya","Fei","Reng","Hang","Cong","Yin","You","Bian","Yi","Susa","Wei","Li","Pi","E","Xian","Chang","Cang","Meng","Su","Yi","Yuan","Ran","Ling","Tai","Tiao","Di","Miao","Qiong","Li","Yong","Ke","Mu","Pei","Bao","Gou","Min","Yi","Yi","Ju","Pi","Ruo","Ku","Zhu","Ni","Bo","Bing","Shan","Qiu","Yao","Xian","Ben","Hong","Ying","Zha","Dong","Ju","Die","Nie","Gan","Hu","Ping","Mei","Fu","Sheng","Gu","Bi","Wei"],mC[131]=["Fu","Zhuo","Mao","Fan","Qie","Mao","Mao","Ba","Zi","Mo","Zi","Di","Chi","Ji","Jing","Long",null,"Niao",null,"Xue","Ying","Qiong","Ge","Ming","Li","Rong","Yin","Gen","Qian","Chai","Chen","Yu","Xiu","Zi","Lie","Wu","Ji","Kui","Ce","Chong","Ci","Gou","Guang","Mang","Chi","Jiao","Jiao","Fu","Yu","Zhu","Zi","Jiang","Hui","Yin","Cha","Fa","Rong","Ru","Chong","Mang","Tong","Zhong",null,"Zhu","Xun","Huan","Kua","Quan","Gai","Da","Jing","Xing","Quan","Cao","Jing","Er","An","Shou","Chi","Ren","Jian","Ti","Huang","Ping","Li","Jin","Lao","Shu","Zhuang","Da","Jia","Rao","Bi","Ze","Qiao","Hui","Qi","Dang",null,"Rong","Hun","Ying","Luo","Ying","Xun","Jin","Sun","Yin","Mai","Hong","Zhou","Yao","Du","Wei","Chu","Dou","Fu","Ren","Yin","He","Bi","Bu","Yun","Di","Tu","Sui","Sui","Cheng","Chen","Wu","Bie","Xi","Geng","Li","Fu","Zhu","Mo","Li","Zhuang","Ji","Duo","Qiu","Sha","Suo","Chen","Feng","Ju","Mei","Meng","Xing","Jing","Che","Xin","Jun","Yan","Ting","Diao","Cuo","Wan","Han","You","Cuo","Jia","Wang","You","Niu","Shao","Xian","Lang","Fu","E","Mo","Wen","Jie","Nan","Mu","Kan","Lai","Lian","Shi","Wo","Usagi","Lian","Huo","You","Ying","Ying","Nuc","Chun","Mang","Mang","Ci","Wan","Jing","Di","Qu","Dong","Jian","Zou","Gu","La","Lu","Ju","Wei","Jun","Nie","Kun","He","Pu","Zi","Gao","Guo","Fu","Lun","Chang","Chou","Song","Chui","Zhan","Men","Cai","Ba","Li","Tu","Bo","Han","Bao","Qin","Juan","Xi","Qin","Di","Jie","Pu","Dang","Jin","Zhao","Tai","Geng","Hua","Gu","Ling","Fei","Jin","An","Wang","Beng","Zhou","Yan","Ju","Jian","Lin","Tan","Shu","Tian","Dao"],mC[132]=["Hu","Qi","He","Cui","Tao","Chun","Bei","Chang","Huan","Fei","Lai","Qi","Meng","Ping","Wei","Dan","Sha","Huan","Yan","Yi","Tiao","Qi","Wan","Ce","Nai","Kutabireru","Tuo","Jiu","Tie","Luo",null,null,"Meng",null,"Yaji",null,"Ying","Ying","Ying","Xiao","Sa","Qiu","Ke","Xiang","Wan","Yu","Yu","Fu","Lian","Xuan","Yuan","Nan","Ze","Wo","Chun","Xiao","Yu","Pian","Mao","An","E","Luo","Ying","Huo","Gua","Jiang","Mian","Zuo","Zuo","Ju","Bao","Rou","Xi","Xie","An","Qu","Jian","Fu","Lu","Jing","Pen","Feng","Hong","Hong","Hou","Yan","Tu","Zhu","Zi","Xiang","Shen","Ge","Jie","Jing","Mi","Huang","Shen","Pu","Gai","Dong","Zhou","Qian","Wei","Bo","Wei","Pa","Ji","Hu","Zang","Jia","Duan","Yao","Jun","Cong","Quan","Wei","Xian","Kui","Ting","Hun","Xi","Shi","Qi","Lan","Zong","Yao","Yuan","Mei","Yun","Shu","Di","Zhuan","Guan","Sukumo","Xue","Chan","Kai","Kui",null,"Jiang","Lou","Wei","Pai",null,"Sou","Yin","Shi","Chun","Shi","Yun","Zhen","Lang","Nu","Meng","He","Que","Suan","Yuan","Li","Ju","Xi","Pang","Chu","Xu","Tu","Liu","Wo","Zhen","Qian","Zu","Po","Cuo","Yuan","Chu","Yu","Kuai","Pan","Pu","Pu","Na","Shuo","Xi","Fen","Yun","Zheng","Jian","Ji","Ruo","Cang","En","Mi","Hao","Sun","Zhen","Ming","Sou","Xu","Liu","Xi","Gu","Lang","Rong","Weng","Gai","Cuo","Shi","Tang","Luo","Ru","Suo","Xian","Bei","Yao","Gui","Bi","Zong","Gun","Za","Xiu","Ce","Hai","Lan",null,"Ji","Li","Can","Lang","Yu",null,"Ying","Mo","Diao","Tiao","Mao","Tong","Zhu","Peng","An","Lian","Cong","Xi","Ping","Qiu","Jin","Chun","Jie","Wei","Tui","Cao","Yu","Yi","Ji","Liao","Bi","Lu","Su"],mC[133]=["Bu","Zhang","Luo","Jiang","Man","Yan","Ling","Ji","Piao","Gun","Han","Di","Su","Lu","She","Shang","Di","Mie","Xun","Man","Bo","Di","Cuo","Zhe","Sen","Xuan","Wei","Hu","Ao","Mi","Lou","Cu","Zhong","Cai","Po","Jiang","Mi","Cong","Niao","Hui","Jun","Yin","Jian","Yan","Shu","Yin","Kui","Chen","Hu","Sha","Kou","Qian","Ma","Zang","Sonoko","Qiang","Dou","Lian","Lin","Kou","Ai","Bi","Li","Wei","Ji","Xun","Sheng","Fan","Meng","Ou","Chan","Dian","Xun","Jiao","Rui","Rui","Lei","Yu","Qiao","Chu","Hua","Jian","Mai","Yun","Bao","You","Qu","Lu","Rao","Hui","E","Teng","Fei","Jue","Zui","Fa","Ru","Fen","Kui","Shun","Rui","Ya","Xu","Fu","Jue","Dang","Wu","Tong","Si","Xiao","Xi","Long","Yun",null,"Qi","Jian","Yun","Sun","Ling","Yu","Xia","Yong","Ji","Hong","Si","Nong","Lei","Xuan","Yun","Yu","Xi","Hao","Bo","Hao","Ai","Wei","Hui","Wei","Ji","Ci","Xiang","Luan","Mie","Yi","Leng","Jiang","Can","Shen","Qiang","Lian","Ke","Yuan","Da","Ti","Tang","Xie","Bi","Zhan","Sun","Lian","Fan","Ding","Jie","Gu","Xie","Shu","Jian","Kao","Hong","Sa","Xin","Xun","Yao","Hie","Sou","Shu","Xun","Dui","Pin","Wei","Neng","Chou","Mai","Ru","Piao","Tai","Qi","Zao","Chen","Zhen","Er","Ni","Ying","Gao","Cong","Xiao","Qi","Fa","Jian","Xu","Kui","Jie","Bian","Diao","Mi","Lan","Jin","Cang","Miao","Qiong","Qie","Xian",null,"Ou","Xian","Su","Lu","Yi","Xu","Xie","Li","Yi","La","Lei","Xiao","Di","Zhi","Bei","Teng","Yao","Mo","Huan","Piao","Fan","Sou","Tan","Tui","Qiong","Qiao","Wei","Liu","Hui",null,"Gao","Yun",null,"Li","Shu","Chu","Ai","Lin","Zao","Xuan","Chen","Lai","Huo"],mC[134]=["Tuo","Wu","Rui","Rui","Qi","Heng","Lu","Su","Tui","Mang","Yun","Pin","Yu","Xun","Ji","Jiong","Xian","Mo","Hagi","Su","Jiong",null,"Nie","Bo","Rang","Yi","Xian","Yu","Ju","Lian","Lian","Yin","Qiang","Ying","Long","Tong","Wei","Yue","Ling","Qu","Yao","Fan","Mi","Lan","Kui","Lan","Ji","Dang","Katsura","Lei","Lei","Hua","Feng","Zhi","Wei","Kui","Zhan","Huai","Li","Ji","Mi","Lei","Huai","Luo","Ji","Kui","Lu","Jian","San",null,"Lei","Quan","Xiao","Yi","Luan","Men","Bie","Hu","Hu","Lu","Nue","Lu","Si","Xiao","Qian","Chu","Hu","Xu","Cuo","Fu","Xu","Xu","Lu","Hu","Yu","Hao","Jiao","Ju","Guo","Bao","Yan","Zhan","Zhan","Kui","Ban","Xi","Shu","Chong","Qiu","Diao","Ji","Qiu","Cheng","Shi",null,"Di","Zhe","She","Yu","Gan","Zi","Hong","Hui","Meng","Ge","Sui","Xia","Chai","Shi","Yi","Ma","Xiang","Fang","E","Pa","Chi","Qian","Wen","Wen","Rui","Bang","Bi","Yue","Yue","Jun","Qi","Ran","Yin","Qi","Tian","Yuan","Jue","Hui","Qin","Qi","Zhong","Ya","Ci","Mu","Wang","Fen","Fen","Hang","Gong","Zao","Fu","Ran","Jie","Fu","Chi","Dou","Piao","Xian","Ni","Te","Qiu","You","Zha","Ping","Chi","You","He","Han","Ju","Li","Fu","Ran","Zha","Gou","Pi","Bo","Xian","Zhu","Diao","Bie","Bing","Gu","Ran","Qu","She","Tie","Ling","Gu","Dan","Gu","Ying","Li","Cheng","Qu","Mou","Ge","Ci","Hui","Hui","Mang","Fu","Yang","Wa","Lie","Zhu","Yi","Xian","Kuo","Jiao","Li","Yi","Ping","Ji","Ha","She","Yi","Wang","Mo","Qiong","Qie","Gui","Gong","Zhi","Man","Ebi","Zhi","Jia","Rao","Si","Qi","Xing","Lie","Qiu","Shao","Yong","Jia","Shui","Che","Bai","E","Han"],mC[135]=["Shu","Xuan","Feng","Shen","Zhen","Fu","Xian","Zhe","Wu","Fu","Li","Lang","Bi","Chu","Yuan","You","Jie","Dan","Yan","Ting","Dian","Shui","Hui","Gua","Zhi","Song","Fei","Ju","Mi","Qi","Qi","Yu","Jun","Zha","Meng","Qiang","Si","Xi","Lun","Li","Die","Tiao","Tao","Kun","Gan","Han","Yu","Bang","Fei","Pi","Wei","Dun","Yi","Yuan","Su","Quan","Qian","Rui","Ni","Qing","Wei","Liang","Guo","Wan","Dong","E","Ban","Di","Wang","Can","Yang","Ying","Guo","Chan",null,"La","Ke","Ji","He","Ting","Mai","Xu","Mian","Yu","Jie","Shi","Xuan","Huang","Yan","Bian","Rou","Wei","Fu","Yuan","Mei","Wei","Fu","Ruan","Xie","You","Qiu","Mao","Xia","Ying","Shi","Chong","Tang","Zhu","Zong","Ti","Fu","Yuan","Hui","Meng","La","Du","Hu","Qiu","Die","Li","Gua","Yun","Ju","Nan","Lou","Qun","Rong","Ying","Jiang",null,"Lang","Pang","Si","Xi","Ci","Xi","Yuan","Weng","Lian","Sou","Ban","Rong","Rong","Ji","Wu","Qiu","Han","Qin","Yi","Bi","Hua","Tang","Yi","Du","Nai","He","Hu","Hui","Ma","Ming","Yi","Wen","Ying","Teng","Yu","Cang","So","Ebi","Man",null,"Shang","Zhe","Cao","Chi","Di","Ao","Lu","Wei","Zhi","Tang","Chen","Piao","Qu","Pi","Yu","Jian","Luo","Lou","Qin","Zhong","Yin","Jiang","Shuai","Wen","Jiao","Wan","Zhi","Zhe","Ma","Ma","Guo","Liu","Mao","Xi","Cong","Li","Man","Xiao","Kamakiri","Zhang","Mang","Xiang","Mo","Zui","Si","Qiu","Te","Zhi","Peng","Peng","Jiao","Qu","Bie","Liao","Pan","Gui","Xi","Ji","Zhuan","Huang","Fei","Lao","Jue","Jue","Hui","Yin","Chan","Jiao","Shan","Rao","Xiao","Mou","Chong","Xun","Si",null,"Cheng","Dang","Li","Xie","Shan","Yi","Jing","Da","Chan","Qi"],mC[136]=["Ci","Xiang","She","Luo","Qin","Ying","Chai","Li","Ze","Xuan","Lian","Zhu","Ze","Xie","Mang","Xie","Qi","Rong","Jian","Meng","Hao","Ruan","Huo","Zhuo","Jie","Bin","He","Mie","Fan","Lei","Jie","La","Mi","Li","Chun","Li","Qiu","Nie","Lu","Du","Xiao","Zhu","Long","Li","Long","Feng","Ye","Beng","Shang","Gu","Juan","Ying",null,"Xi","Can","Qu","Quan","Du","Can","Man","Jue","Jie","Zhu","Zha","Xie","Huang","Niu","Pei","Nu","Xin","Zhong","Mo","Er","Ke","Mie","Xi","Xing","Yan","Kan","Yuan",null,"Ling","Xuan","Shu","Xian","Tong","Long","Jie","Xian","Ya","Hu","Wei","Dao","Chong","Wei","Dao","Zhun","Heng","Qu","Yi","Yi","Bu","Gan","Yu","Biao","Cha","Yi","Shan","Chen","Fu","Gun","Fen","Shuai","Jie","Na","Zhong","Dan","Ri","Zhong","Zhong","Xie","Qi","Xie","Ran","Zhi","Ren","Qin","Jin","Jun","Yuan","Mei","Chai","Ao","Niao","Hui","Ran","Jia","Tuo","Ling","Dai","Bao","Pao","Yao","Zuo","Bi","Shao","Tan","Ju","He","Shu","Xiu","Zhen","Yi","Pa","Bo","Di","Wa","Fu","Gun","Zhi","Zhi","Ran","Pan","Yi","Mao","Tuo","Na","Kou","Xian","Chan","Qu","Bei","Gun","Xi","Ne","Bo","Horo","Fu","Yi","Chi","Ku","Ren","Jiang","Jia","Cun","Mo","Jie","Er","Luo","Ru","Zhu","Gui","Yin","Cai","Lie","Kamishimo","Yuki","Zhuang","Dang",null,"Kun","Ken","Niao","Shu","Jia","Kun","Cheng","Li","Juan","Shen","Pou","Ge","Yi","Yu","Zhen","Liu","Qiu","Qun","Ji","Yi","Bu","Zhuang","Shui","Sha","Qun","Li","Lian","Lian","Ku","Jian","Fou","Chan","Bi","Gun","Tao","Yuan","Ling","Chi","Chang","Chou","Duo","Biao","Liang","Chang","Pei","Pei","Fei","Yuan","Luo","Guo","Yan","Du","Xi","Zhi","Ju","Qi"],mC[137]=["Ji","Zhi","Gua","Ken","Che","Ti","Ti","Fu","Chong","Xie","Bian","Die","Kun","Duan","Xiu","Xiu","He","Yuan","Bao","Bao","Fu","Yu","Tuan","Yan","Hui","Bei","Chu","Lu","Ena","Hitoe","Yun","Da","Gou","Da","Huai","Rong","Yuan","Ru","Nai","Jiong","Suo","Ban","Tun","Chi","Sang","Niao","Ying","Jie","Qian","Huai","Ku","Lian","Bao","Li","Zhe","Shi","Lu","Yi","Die","Xie","Xian","Wei","Biao","Cao","Ji","Jiang","Sen","Bao","Xiang","Chihaya","Pu","Jian","Zhuan","Jian","Zui","Ji","Dan","Za","Fan","Bo","Xiang","Xin","Bie","Rao","Man","Lan","Ao","Duo","Gui","Cao","Sui","Nong","Chan","Lian","Bi","Jin","Dang","Shu","Tan","Bi","Lan","Pu","Ru","Zhi",null,"Shu","Wa","Shi","Bai","Xie","Bo","Chen","Lai","Long","Xi","Xian","Lan","Zhe","Dai","Tasuki","Zan","Shi","Jian","Pan","Yi","Ran","Ya","Xi","Xi","Yao","Feng","Tan",null,"Biao","Fu","Ba","He","Ji","Ji","Jian","Guan","Bian","Yan","Gui","Jue","Pian","Mao","Mi","Mi","Mie","Shi","Si","Zhan","Luo","Jue","Mi","Tiao","Lian","Yao","Zhi","Jun","Xi","Shan","Wei","Xi","Tian","Yu","Lan","E","Du","Qin","Pang","Ji","Ming","Ying","Gou","Qu","Zhan","Jin","Guan","Deng","Jian","Luo","Qu","Jian","Wei","Jue","Qu","Luo","Lan","Shen","Di","Guan","Jian","Guan","Yan","Gui","Mi","Shi","Zhan","Lan","Jue","Ji","Xi","Di","Tian","Yu","Gou","Jin","Qu","Jiao","Jiu","Jin","Cu","Jue","Zhi","Chao","Ji","Gu","Dan","Zui","Di","Shang","Hua","Quan","Ge","Chi","Jie","Gui","Gong","Chu","Jie","Hun","Qiu","Xing","Su","Ni","Ji","Lu","Zhi","Zha","Bi","Xing","Hu","Shang","Gong","Zhi","Xue","Chu","Xi","Yi","Lu","Jue","Xi","Yan","Xi"],mC[138]=["Yan","Yan","Ding","Fu","Qiu","Qiu","Jiao","Hong","Ji","Fan","Xun","Diao","Hong","Cha","Tao","Xu","Jie","Yi","Ren","Xun","Yin","Shan","Qi","Tuo","Ji","Xun","Yin","E","Fen","Ya","Yao","Song","Shen","Yin","Xin","Jue","Xiao","Ne","Chen","You","Zhi","Xiong","Fang","Xin","Chao","She","Xian","Sha","Tun","Xu","Yi","Yi","Su","Chi","He","Shen","He","Xu","Zhen","Zhu","Zheng","Gou","Zi","Zi","Zhan","Gu","Fu","Quan","Die","Ling","Di","Yang","Li","Nao","Pan","Zhou","Gan","Yi","Ju","Ao","Zha","Tuo","Yi","Qu","Zhao","Ping","Bi","Xiong","Qu","Ba","Da","Zu","Tao","Zhu","Ci","Zhe","Yong","Xu","Xun","Yi","Huang","He","Shi","Cha","Jiao","Shi","Hen","Cha","Gou","Gui","Quan","Hui","Jie","Hua","Gai","Xiang","Wei","Shen","Chou","Tong","Mi","Zhan","Ming","E","Hui","Yan","Xiong","Gua","Er","Beng","Tiao","Chi","Lei","Zhu","Kuang","Kua","Wu","Yu","Teng","Ji","Zhi","Ren","Su","Lang","E","Kuang","E","Shi","Ting","Dan","Bo","Chan","You","Heng","Qiao","Qin","Shua","An","Yu","Xiao","Cheng","Jie","Xian","Wu","Wu","Gao","Song","Pu","Hui","Jing","Shuo","Zhen","Shuo","Du","Yasashi","Chang","Shui","Jie","Ke","Qu","Cong","Xiao","Sui","Wang","Xuan","Fei","Chi","Ta","Yi","Na","Yin","Diao","Pi","Chuo","Chan","Chen","Zhun","Ji","Qi","Tan","Zhui","Wei","Ju","Qing","Jian","Zheng","Ze","Zou","Qian","Zhuo","Liang","Jian","Zhu","Hao","Lun","Shen","Biao","Huai","Pian","Yu","Die","Xu","Pian","Shi","Xuan","Shi","Hun","Hua","E","Zhong","Di","Xie","Fu","Pu","Ting","Jian","Qi","Yu","Zi","Chuan","Xi","Hui","Yin","An","Xian","Nan","Chen","Feng","Zhu","Yang","Yan","Heng","Xuan","Ge","Nuo","Qi"],mC[139]=["Mou","Ye","Wei",null,"Teng","Zou","Shan","Jian","Bo","Ku","Huang","Huo","Ge","Ying","Mi","Xiao","Mi","Xi","Qiang","Chen","Nue","Ti","Su","Bang","Chi","Qian","Shi","Jiang","Yuan","Xie","Xue","Tao","Yao","Yao",null,"Yu","Biao","Cong","Qing","Li","Mo","Mo","Shang","Zhe","Miu","Jian","Ze","Jie","Lian","Lou","Can","Ou","Guan","Xi","Zhuo","Ao","Ao","Jin","Zhe","Yi","Hu","Jiang","Man","Chao","Han","Hua","Chan","Xu","Zeng","Se","Xi","She","Dui","Zheng","Nao","Lan","E","Ying","Jue","Ji","Zun","Jiao","Bo","Hui","Zhuan","Mu","Zen","Zha","Shi","Qiao","Tan","Zen","Pu","Sheng","Xuan","Zao","Tan","Dang","Sui","Qian","Ji","Jiao","Jing","Lian","Nou","Yi","Ai","Zhan","Pi","Hui","Hua","Yi","Yi","Shan","Rang","Nou","Qian","Zhui","Ta","Hu","Zhou","Hao","Ye","Ying","Jian","Yu","Jian","Hui","Du","Zhe","Xuan","Zan","Lei","Shen","Wei","Chan","Li","Yi","Bian","Zhe","Yan","E","Chou","Wei","Chou","Yao","Chan","Rang","Yin","Lan","Chen","Huo","Zhe","Huan","Zan","Yi","Dang","Zhan","Yan","Du","Yan","Ji","Ding","Fu","Ren","Ji","Jie","Hong","Tao","Rang","Shan","Qi","Tuo","Xun","Yi","Xun","Ji","Ren","Jiang","Hui","Ou","Ju","Ya","Ne","Xu","E","Lun","Xiong","Song","Feng","She","Fang","Jue","Zheng","Gu","He","Ping","Zu","Shi","Xiong","Zha","Su","Zhen","Di","Zou","Ci","Qu","Zhao","Bi","Yi","Yi","Kuang","Lei","Shi","Gua","Shi","Jie","Hui","Cheng","Zhu","Shen","Hua","Dan","Gou","Quan","Gui","Xun","Yi","Zheng","Gai","Xiang","Cha","Hun","Xu","Zhou","Jie","Wu","Yu","Qiao","Wu","Gao","You","Hui","Kuang","Shuo","Song","Ai","Qing","Zhu","Zou","Nuo","Du","Zhuo","Fei","Ke","Wei"],mC[140]=["Yu","Shui","Shen","Diao","Chan","Liang","Zhun","Sui","Tan","Shen","Yi","Mou","Chen","Die","Huang","Jian","Xie","Nue","Ye","Wei","E","Yu","Xuan","Chan","Zi","An","Yan","Di","Mi","Pian","Xu","Mo","Dang","Su","Xie","Yao","Bang","Shi","Qian","Mi","Jin","Man","Zhe","Jian","Miu","Tan","Zen","Qiao","Lan","Pu","Jue","Yan","Qian","Zhan","Chen","Gu","Qian","Hong","Xia","Jue","Hong","Han","Hong","Xi","Xi","Huo","Liao","Han","Du","Long","Dou","Jiang","Qi","Shi","Li","Deng","Wan","Bi","Shu","Xian","Feng","Zhi","Zhi","Yan","Yan","Shi","Chu","Hui","Tun","Yi","Tun","Yi","Jian","Ba","Hou","E","Cu","Xiang","Huan","Jian","Ken","Gai","Qu","Fu","Xi","Bin","Hao","Yu","Zhu","Jia",null,"Xi","Bo","Wen","Huan","Bin","Di","Zong","Fen","Yi","Zhi","Bao","Chai","Han","Pi","Na","Pi","Gou","Na","You","Diao","Mo","Si","Xiu","Huan","Kun","He","He","Mo","Han","Mao","Li","Ni","Bi","Yu","Jia","Tuan","Mao","Pi","Xi","E","Ju","Mo","Chu","Tan","Huan","Jue","Bei","Zhen","Yuan","Fu","Cai","Gong","Te","Yi","Hang","Wan","Pin","Huo","Fan","Tan","Guan","Ze","Zhi","Er","Zhu","Shi","Bi","Zi","Er","Gui","Pian","Bian","Mai","Dai","Sheng","Kuang","Fei","Tie","Yi","Chi","Mao","He","Bi","Lu","Ren","Hui","Gai","Pian","Zi","Jia","Xu","Zei","Jiao","Gai","Zang","Jian","Ying","Xun","Zhen","She","Bin","Bin","Qiu","She","Chuan","Zang","Zhou","Lai","Zan","Si","Chen","Shang","Tian","Pei","Geng","Xian","Mai","Jian","Sui","Fu","Tan","Cong","Cong","Zhi","Ji","Zhang","Du","Jin","Xiong","Shun","Yun","Bao","Zai","Lai","Feng","Cang","Ji","Sheng","Ai","Zhuan","Fu","Gou","Sai","Ze","Liao"],mC[141]=["Wei","Bai","Chen","Zhuan","Zhi","Zhui","Biao","Yun","Zeng","Tan","Zan","Yan",null,"Shan","Wan","Ying","Jin","Gan","Xian","Zang","Bi","Du","Shu","Yan",null,"Xuan","Long","Gan","Zang","Bei","Zhen","Fu","Yuan","Gong","Cai","Ze","Xian","Bai","Zhang","Huo","Zhi","Fan","Tan","Pin","Bian","Gou","Zhu","Guan","Er","Jian","Bi","Shi","Tie","Gui","Kuang","Dai","Mao","Fei","He","Yi","Zei","Zhi","Jia","Hui","Zi","Ren","Lu","Zang","Zi","Gai","Jin","Qiu","Zhen","Lai","She","Fu","Du","Ji","Shu","Shang","Si","Bi","Zhou","Geng","Pei","Tan","Lai","Feng","Zhui","Fu","Zhuan","Sai","Ze","Yan","Zan","Yun","Zeng","Shan","Ying","Gan","Chi","Xi","She","Nan","Xiong","Xi","Cheng","He","Cheng","Zhe","Xia","Tang","Zou","Zou","Li","Jiu","Fu","Zhao","Gan","Qi","Shan","Qiong","Qin","Xian","Ci","Jue","Qin","Chi","Ci","Chen","Chen","Die","Ju","Chao","Di","Se","Zhan","Zhu","Yue","Qu","Jie","Chi","Chu","Gua","Xue","Ci","Tiao","Duo","Lie","Gan","Suo","Cu","Xi","Zhao","Su","Yin","Ju","Jian","Que","Tang","Chuo","Cui","Lu","Qu","Dang","Qiu","Zi","Ti","Qu","Chi","Huang","Qiao","Qiao","Yao","Zao","Ti",null,"Zan","Zan","Zu","Pa","Bao","Ku","Ke","Dun","Jue","Fu","Chen","Jian","Fang","Zhi","Sa","Yue","Pa","Qi","Yue","Qiang","Tuo","Tai","Yi","Nian","Ling","Mei","Ba","Die","Ku","Tuo","Jia","Ci","Pao","Qia","Zhu","Ju","Die","Zhi","Fu","Pan","Ju","Shan","Bo","Ni","Ju","Li","Gen","Yi","Ji","Dai","Xian","Jiao","Duo","Zhu","Zhuan","Kua","Zhuai","Gui","Qiong","Kui","Xiang","Chi","Lu","Beng","Zhi","Jia","Tiao","Cai","Jian","Ta","Qiao","Bi","Xian","Duo","Ji","Ju","Ji","Shu","Tu"],mC[142]=["Chu","Jing","Nie","Xiao","Bo","Chi","Qun","Mou","Shu","Lang","Yong","Jiao","Chou","Qiao",null,"Ta","Jian","Qi","Wo","Wei","Zhuo","Jie","Ji","Nie","Ju","Ju","Lun","Lu","Leng","Huai","Ju","Chi","Wan","Quan","Ti","Bo","Zu","Qie","Ji","Cu","Zong","Cai","Zong","Peng","Zhi","Zheng","Dian","Zhi","Yu","Duo","Dun","Chun","Yong","Zhong","Di","Zhe","Chen","Chuai","Jian","Gua","Tang","Ju","Fu","Zu","Die","Pian","Rou","Nuo","Ti","Cha","Tui","Jian","Dao","Cuo","Xi","Ta","Qiang","Zhan","Dian","Ti","Ji","Nie","Man","Liu","Zhan","Bi","Chong","Lu","Liao","Cu","Tang","Dai","Suo","Xi","Kui","Ji","Zhi","Qiang","Di","Man","Zong","Lian","Beng","Zao","Nian","Bie","Tui","Ju","Deng","Ceng","Xian","Fan","Chu","Zhong","Dun","Bo","Cu","Zu","Jue","Jue","Lin","Ta","Qiao","Qiao","Pu","Liao","Dun","Cuan","Kuang","Zao","Ta","Bi","Bi","Zhu","Ju","Chu","Qiao","Dun","Chou","Ji","Wu","Yue","Nian","Lin","Lie","Zhi","Li","Zhi","Chan","Chu","Duan","Wei","Long","Lin","Xian","Wei","Zuan","Lan","Xie","Rang","Xie","Nie","Ta","Qu","Jie","Cuan","Zuan","Xi","Kui","Jue","Lin","Shen","Gong","Dan","Segare","Qu","Ti","Duo","Duo","Gong","Lang","Nerau","Luo","Ai","Ji","Ju","Tang","Utsuke",null,"Yan","Shitsuke","Kang","Qu","Lou","Lao","Tuo","Zhi","Yagate","Ti","Dao","Yagate","Yu","Che","Ya","Gui","Jun","Wei","Yue","Xin","Di","Xuan","Fan","Ren","Shan","Qiang","Shu","Tun","Chen","Dai","E","Na","Qi","Mao","Ruan","Ren","Fan","Zhuan","Hong","Hu","Qu","Huang","Di","Ling","Dai","Ao","Zhen","Fan","Kuang","Ang","Peng","Bei","Gu","Ku","Pao","Zhu","Rong","E","Ba","Zhou","Zhi","Yao","Ke","Yi","Qing","Shi","Ping"],mC[143]=["Er","Qiong","Ju","Jiao","Guang","Lu","Kai","Quan","Zhou","Zai","Zhi","She","Liang","Yu","Shao","You","Huan","Yun","Zhe","Wan","Fu","Qing","Zhou","Ni","Ling","Zhe","Zhan","Liang","Zi","Hui","Wang","Chuo","Guo","Kan","Yi","Peng","Qian","Gun","Nian","Pian","Guan","Bei","Lun","Pai","Liang","Ruan","Rou","Ji","Yang","Xian","Chuan","Cou","Qun","Ge","You","Hong","Shu","Fu","Zi","Fu","Wen","Ben","Zhan","Yu","Wen","Tao","Gu","Zhen","Xia","Yuan","Lu","Jiu","Chao","Zhuan","Wei","Hun","Sori","Che","Jiao","Zhan","Pu","Lao","Fen","Fan","Lin","Ge","Se","Kan","Huan","Yi","Ji","Dui","Er","Yu","Xian","Hong","Lei","Pei","Li","Li","Lu","Lin","Che","Ya","Gui","Xuan","Di","Ren","Zhuan","E","Lun","Ruan","Hong","Ku","Ke","Lu","Zhou","Zhi","Yi","Hu","Zhen","Li","Yao","Qing","Shi","Zai","Zhi","Jiao","Zhou","Quan","Lu","Jiao","Zhe","Fu","Liang","Nian","Bei","Hui","Gun","Wang","Liang","Chuo","Zi","Cou","Fu","Ji","Wen","Shu","Pei","Yuan","Xia","Zhan","Lu","Che","Lin","Xin","Gu","Ci","Ci","Pi","Zui","Bian","La","La","Ci","Xue","Ban","Bian","Bian","Bian",null,"Bian","Ban","Ci","Bian","Bian","Chen","Ru","Nong","Nong","Zhen","Chuo","Chuo","Suberu","Reng","Bian","Bian","Sip","Ip","Liao","Da","Chan","Gan","Qian","Yu","Yu","Qi","Xun","Yi","Guo","Mai","Qi","Za","Wang","Jia","Zhun","Ying","Ti","Yun","Jin","Hang","Ya","Fan","Wu","Da","E","Huan","Zhe","Totemo","Jin","Yuan","Wei","Lian","Chi","Che","Ni","Tiao","Zhi","Yi","Jiong","Jia","Chen","Dai","Er","Di","Po","Wang","Die","Ze","Tao","Shu","Tuo","Kep","Jing","Hui","Tong","You","Mi","Beng","Ji","Nai","Yi","Jie","Zhui","Lie","Xun"],mC[144]=["Tui","Song","Gua","Tao","Pang","Hou","Ni","Dun","Jiong","Xuan","Xun","Bu","You","Xiao","Qiu","Tou","Zhu","Qiu","Di","Di","Tu","Jing","Ti","Dou","Yi","Zhe","Tong","Guang","Wu","Shi","Cheng","Su","Zao","Qun","Feng","Lian","Suo","Hui","Li","Sako","Lai","Ben","Cuo","Jue","Beng","Huan","Dai","Lu","You","Zhou","Jin","Yu","Chuo","Kui","Wei","Ti","Yi","Da","Yuan","Luo","Bi","Nuo","Yu","Dang","Sui","Dun","Sui","Yan","Chuan","Chi","Ti","Yu","Shi","Zhen","You","Yun","E","Bian","Guo","E","Xia","Huang","Qiu","Dao","Da","Wei","Appare","Yi","Gou","Yao","Chu","Liu","Xun","Ta","Di","Chi","Yuan","Su","Ta","Qian",null,"Yao","Guan","Zhang","Ao","Shi","Ce","Chi","Su","Zao","Zhe","Dun","Di","Lou","Chi","Cuo","Lin","Zun","Rao","Qian","Xuan","Yu","Yi","Wu","Liao","Ju","Shi","Bi","Yao","Mai","Xie","Sui","Huan","Zhan","Teng","Er","Miao","Bian","Bian","La","Li","Yuan","Yao","Luo","Li","Yi","Ting","Deng","Qi","Yong","Shan","Han","Yu","Mang","Ru","Qiong",null,"Kuang","Fu","Kang","Bin","Fang","Xing","Na","Xin","Shen","Bang","Yuan","Cun","Huo","Xie","Bang","Wu","Ju","You","Han","Tai","Qiu","Bi","Pei","Bing","Shao","Bei","Wa","Di","Zou","Ye","Lin","Kuang","Gui","Zhu","Shi","Ku","Yu","Gai","Ge","Xi","Zhi","Ji","Xun","Hou","Xing","Jiao","Xi","Gui","Nuo","Lang","Jia","Kuai","Zheng","Otoko","Yun","Yan","Cheng","Dou","Chi","Lu","Fu","Wu","Fu","Gao","Hao","Lang","Jia","Geng","Jun","Ying","Bo","Xi","Bei","Li","Yun","Bu","Xiao","Qi","Pi","Qing","Guo","Zhou","Tan","Zou","Ping","Lai","Ni","Chen","You","Bu","Xiang","Dan","Ju","Yong","Qiao","Yi","Du","Yan","Mei"],mC[145]=["Ruo","Bei","E","Yu","Juan","Yu","Yun","Hou","Kui","Xiang","Xiang","Sou","Tang","Ming","Xi","Ru","Chu","Zi","Zou","Ju","Wu","Xiang","Yun","Hao","Yong","Bi","Mo","Chao","Fu","Liao","Yin","Zhuan","Hu","Qiao","Yan","Zhang","Fan","Qiao","Xu","Deng","Bi","Xin","Bi","Ceng","Wei","Zheng","Mao","Shan","Lin","Po","Dan","Meng","Ye","Cao","Kuai","Feng","Meng","Zou","Kuang","Lian","Zan","Chan","You","Qi","Yan","Chan","Zan","Ling","Huan","Xi","Feng","Zan","Li","You","Ding","Qiu","Zhuo","Pei","Zhou","Yi","Hang","Yu","Jiu","Yan","Zui","Mao","Dan","Xu","Tou","Zhen","Fen","Sakenomoto",null,"Yun","Tai","Tian","Qia","Tuo","Zuo","Han","Gu","Su","Po","Chou","Zai","Ming","Luo","Chuo","Chou","You","Tong","Zhi","Xian","Jiang","Cheng","Yin","Tu","Xiao","Mei","Ku","Suan","Lei","Pu","Zui","Hai","Yan","Xi","Niang","Wei","Lu","Lan","Yan","Tao","Pei","Zhan","Chun","Tan","Zui","Chuo","Cu","Kun","Ti","Mian","Du","Hu","Xu","Xing","Tan","Jiu","Chun","Yun","Po","Ke","Sou","Mi","Quan","Chou","Cuo","Yun","Yong","Ang","Zha","Hai","Tang","Jiang","Piao","Shan","Yu","Li","Zao","Lao","Yi","Jiang","Pu","Jiao","Xi","Tan","Po","Nong","Yi","Li","Ju","Jiao","Yi","Niang","Ru","Xun","Chou","Yan","Ling","Mi","Mi","Niang","Xin","Jiao","Xi","Mi","Yan","Bian","Cai","Shi","You","Shi","Shi","Li","Chong","Ye","Liang","Li","Jin","Jin","Qiu","Yi","Diao","Dao","Zhao","Ding","Po","Qiu","He","Fu","Zhen","Zhi","Ba","Luan","Fu","Nai","Diao","Shan","Qiao","Kou","Chuan","Zi","Fan","Yu","Hua","Han","Gong","Qi","Mang","Ri","Di","Si","Xi","Yi","Chai","Shi","Tu","Xi","Nu","Qian","Ishiyumi","Jian","Pi","Ye","Yin"],mC[146]=["Ba","Fang","Chen","Xing","Tou","Yue","Yan","Fu","Pi","Na","Xin","E","Jue","Dun","Gou","Yin","Qian","Ban","Ji","Ren","Chao","Niu","Fen","Yun","Ji","Qin","Pi","Guo","Hong","Yin","Jun","Shi","Yi","Zhong","Nie","Gai","Ri","Huo","Tai","Kang","Habaki","Irori","Ngaak",null,"Duo","Zi","Ni","Tu","Shi","Min","Gu","E","Ling","Bing","Yi","Gu","Ba","Pi","Yu","Si","Zuo","Bu","You","Dian","Jia","Zhen","Shi","Shi","Tie","Ju","Zhan","Shi","She","Xuan","Zhao","Bao","He","Bi","Sheng","Chu","Shi","Bo","Zhu","Chi","Za","Po","Tong","Qian","Fu","Zhai","Liu","Qian","Fu","Li","Yue","Pi","Yang","Ban","Bo","Jie","Gou","Shu","Zheng","Mu","Ni","Nie","Di","Jia","Mu","Dan","Shen","Yi","Si","Kuang","Ka","Bei","Jian","Tong","Xing","Hong","Jiao","Chi","Er","Ge","Bing","Shi","Mou","Jia","Yin","Jun","Zhou","Chong","Shang","Tong","Mo","Lei","Ji","Yu","Xu","Ren","Zun","Zhi","Qiong","Shan","Chi","Xian","Xing","Quan","Pi","Tie","Zhu","Hou","Ming","Kua","Yao","Xian","Xian","Xiu","Jun","Cha","Lao","Ji","Pi","Ru","Mi","Yi","Yin","Guang","An","Diou","You","Se","Kao","Qian","Luan","Kasugai","Ai","Diao","Han","Rui","Shi","Keng","Qiu","Xiao","Zhe","Xiu","Zang","Ti","Cuo","Gua","Gong","Zhong","Dou","Lu","Mei","Lang","Wan","Xin","Yun","Bei","Wu","Su","Yu","Chan","Ting","Bo","Han","Jia","Hong","Cuan","Feng","Chan","Wan","Zhi","Si","Xuan","Wu","Wu","Tiao","Gong","Zhuo","Lue","Xing","Qian","Shen","Han","Lue","Xie","Chu","Zheng","Ju","Xian","Tie","Mang","Pu","Li","Pan","Rui","Cheng","Gao","Li","Te","Pyeng","Zhu",null,"Tu","Liu","Zui","Ju","Chang","Yuan","Jian","Gang","Diao","Tao","Chang"],mC[147]=["Lun","Kua","Ling","Bei","Lu","Li","Qiang","Pou","Juan","Min","Zui","Peng","An","Pi","Xian","Ya","Zhui","Lei","A","Kong","Ta","Kun","Du","Wei","Chui","Zi","Zheng","Ben","Nie","Cong","Qun","Tan","Ding","Qi","Qian","Zhuo","Qi","Yu","Jin","Guan","Mao","Chang","Tian","Xi","Lian","Tao","Gu","Cuo","Shu","Zhen","Lu","Meng","Lu","Hua","Biao","Ga","Lai","Ken","Kazari","Bu","Nai","Wan","Zan",null,"De","Xian",null,"Huo","Liang",null,"Men","Kai","Ying","Di","Lian","Guo","Xian","Du","Tu","Wei","Cong","Fu","Rou","Ji","E","Rou","Chen","Ti","Zha","Hong","Yang","Duan","Xia","Yu","Keng","Xing","Huang","Wei","Fu","Zhao","Cha","Qie","She","Hong","Kui","Tian","Mou","Qiao","Qiao","Hou","Tou","Cong","Huan","Ye","Min","Jian","Duan","Jian","Song","Kui","Hu","Xuan","Duo","Jie","Zhen","Bian","Zhong","Zi","Xiu","Ye","Mei","Pai","Ai","Jie",null,"Mei","Chuo","Ta","Bang","Xia","Lian","Suo","Xi","Liu","Zu","Ye","Nou","Weng","Rong","Tang","Suo","Qiang","Ge","Shuo","Chui","Bo","Pan","Sa","Bi","Sang","Gang","Zi","Wu","Ying","Huang","Tiao","Liu","Kai","Sun","Sha","Sou","Wan","Hao","Zhen","Zhen","Luo","Yi","Yuan","Tang","Nie","Xi","Jia","Ge","Ma","Juan","Kasugai","Habaki","Suo",null,null,null,"Na","Lu","Suo","Ou","Zu","Tuan","Xiu","Guan","Xuan","Lian","Shou","Ao","Man","Mo","Luo","Bi","Wei","Liu","Di","Qiao","Cong","Yi","Lu","Ao","Keng","Qiang","Cui","Qi","Chang","Tang","Man","Yong","Chan","Feng","Jing","Biao","Shu","Lou","Xiu","Cong","Long","Zan","Jian","Cao","Li","Xia","Xi","Kang",null,"Beng",null,null,"Zheng","Lu","Hua","Ji","Pu","Hui","Qiang","Po","Lin","Suo","Xiu","San","Cheng"],mC[148]=["Kui","Si","Liu","Nao","Heng","Pie","Sui","Fan","Qiao","Quan","Yang","Tang","Xiang","Jue","Jiao","Zun","Liao","Jie","Lao","Dui","Tan","Zan","Ji","Jian","Zhong","Deng","Ya","Ying","Dui","Jue","Nou","Ti","Pu","Tie",null,null,"Ding","Shan","Kai","Jian","Fei","Sui","Lu","Juan","Hui","Yu","Lian","Zhuo","Qiao","Qian","Zhuo","Lei","Bi","Tie","Huan","Ye","Duo","Guo","Dang","Ju","Fen","Da","Bei","Yi","Ai","Zong","Xun","Diao","Zhu","Heng","Zhui","Ji","Nie","Ta","Huo","Qing","Bin","Ying","Kui","Ning","Xu","Jian","Jian","Yari","Cha","Zhi","Mie","Li","Lei","Ji","Zuan","Kuang","Shang","Peng","La","Du","Shuo","Chuo","Lu","Biao","Bao","Lu",null,null,"Long","E","Lu","Xin","Jian","Lan","Bo","Jian","Yao","Chan","Xiang","Jian","Xi","Guan","Cang","Nie","Lei","Cuan","Qu","Pan","Luo","Zuan","Luan","Zao","Nie","Jue","Tang","Shu","Lan","Jin","Qiu","Yi","Zhen","Ding","Zhao","Po","Diao","Tu","Qian","Chuan","Shan","Ji","Fan","Diao","Men","Nu","Xi","Chai","Xing","Gai","Bu","Tai","Ju","Dun","Chao","Zhong","Na","Bei","Gang","Ban","Qian","Yao","Qin","Jun","Wu","Gou","Kang","Fang","Huo","Tou","Niu","Ba","Yu","Qian","Zheng","Qian","Gu","Bo","E","Po","Bu","Ba","Yue","Zuan","Mu","Dan","Jia","Dian","You","Tie","Bo","Ling","Shuo","Qian","Liu","Bao","Shi","Xuan","She","Bi","Ni","Pi","Duo","Xing","Kao","Lao","Er","Mang","Ya","You","Cheng","Jia","Ye","Nao","Zhi","Dang","Tong","Lu","Diao","Yin","Kai","Zha","Zhu","Xian","Ting","Diu","Xian","Hua","Quan","Sha","Jia","Yao","Ge","Ming","Zheng","Se","Jiao","Yi","Chan","Chong","Tang","An","Yin","Ru","Zhu","Lao","Pu","Wu","Lai","Te","Lian","Keng"],mC[149]=["Xiao","Suo","Li","Zheng","Chu","Guo","Gao","Tie","Xiu","Cuo","Lue","Feng","Xin","Liu","Kai","Jian","Rui","Ti","Lang","Qian","Ju","A","Qiang","Duo","Tian","Cuo","Mao","Ben","Qi","De","Kua","Kun","Chang","Xi","Gu","Luo","Chui","Zhui","Jin","Zhi","Xian","Juan","Huo","Pou","Tan","Ding","Jian","Ju","Meng","Zi","Qie","Ying","Kai","Qiang","Song","E","Cha","Qiao","Zhong","Duan","Sou","Huang","Huan","Ai","Du","Mei","Lou","Zi","Fei","Mei","Mo","Zhen","Bo","Ge","Nie","Tang","Juan","Nie","Na","Liu","Hao","Bang","Yi","Jia","Bin","Rong","Biao","Tang","Man","Luo","Beng","Yong","Jing","Di","Zu","Xuan","Liu","Tan","Jue","Liao","Pu","Lu","Dui","Lan","Pu","Cuan","Qiang","Deng","Huo","Lei","Huan","Zhuo","Lian","Yi","Cha","Biao","La","Chan","Xiang","Chang","Chang","Jiu","Ao","Die","Qu","Liao","Mi","Chang","Men","Ma","Shuan","Shan","Huo","Men","Yan","Bi","Han","Bi","San","Kai","Kang","Beng","Hong","Run","San","Xian","Xian","Jian","Min","Xia","Yuru","Dou","Zha","Nao","Jian","Peng","Xia","Ling","Bian","Bi","Run","He","Guan","Ge","Ge","Fa","Chu","Hong","Gui","Min","Se","Kun","Lang","Lu","Ting","Sha","Ju","Yue","Yue","Chan","Qu","Lin","Chang","Shai","Kun","Yan","Min","Yan","E","Hun","Yu","Wen","Xiang","Bao","Xiang","Qu","Yao","Wen","Ban","An","Wei","Yin","Kuo","Que","Lan","Du",null,"Phwung","Tian","Nie","Ta","Kai","He","Que","Chuang","Guan","Dou","Qi","Kui","Tang","Guan","Piao","Kan","Xi","Hui","Chan","Pi","Dang","Huan","Ta","Wen",null,"Men","Shuan","Shan","Yan","Han","Bi","Wen","Chuang","Run","Wei","Xian","Hong","Jian","Min","Kang","Men","Zha","Nao","Gui","Wen","Ta","Min","Lu","Kai"],mC[150]=["Fa","Ge","He","Kun","Jiu","Yue","Lang","Du","Yu","Yan","Chang","Xi","Wen","Hun","Yan","E","Chan","Lan","Qu","Hui","Kuo","Que","Ge","Tian","Ta","Que","Kan","Huan","Fu","Fu","Le","Dui","Xin","Qian","Wu","Yi","Tuo","Yin","Yang","Dou","E","Sheng","Ban","Pei","Keng","Yun","Ruan","Zhi","Pi","Jing","Fang","Yang","Yin","Zhen","Jie","Cheng","E","Qu","Di","Zu","Zuo","Dian","Ling","A","Tuo","Tuo","Po","Bing","Fu","Ji","Lu","Long","Chen","Xing","Duo","Lou","Mo","Jiang","Shu","Duo","Xian","Er","Gui","Yu","Gai","Shan","Xun","Qiao","Xing","Chun","Fu","Bi","Xia","Shan","Sheng","Zhi","Pu","Dou","Yuan","Zhen","Chu","Xian","Tou","Nie","Yun","Xian","Pei","Pei","Zou","Yi","Dui","Lun","Yin","Ju","Chui","Chen","Pi","Ling","Tao","Xian","Lu","Sheng","Xian","Yin","Zhu","Yang","Reng","Shan","Chong","Yan","Yin","Yu","Ti","Yu","Long","Wei","Wei","Nie","Dui","Sui","An","Huang","Jie","Sui","Yin","Gai","Yan","Hui","Ge","Yun","Wu","Wei","Ai","Xi","Tang","Ji","Zhang","Dao","Ao","Xi","Yin",null,"Rao","Lin","Tui","Deng","Pi","Sui","Sui","Yu","Xian","Fen","Ni","Er","Ji","Dao","Xi","Yin","E","Hui","Long","Xi","Li","Li","Li","Zhui","He","Zhi","Zhun","Jun","Nan","Yi","Que","Yan","Qian","Ya","Xiong","Ya","Ji","Gu","Huan","Zhi","Gou","Jun","Ci","Yong","Ju","Chu","Hu","Za","Luo","Yu","Chou","Diao","Sui","Han","Huo","Shuang","Guan","Chu","Za","Yong","Ji","Xi","Chou","Liu","Li","Nan","Xue","Za","Ji","Ji","Yu","Yu","Xue","Na","Fou","Se","Mu","Wen","Fen","Pang","Yun","Li","Li","Ang","Ling","Lei","An","Bao","Meng","Dian","Dang","Xing","Wu","Zhao"],mC[151]=["Xu","Ji","Mu","Chen","Xiao","Zha","Ting","Zhen","Pei","Mei","Ling","Qi","Chou","Huo","Sha","Fei","Weng","Zhan","Yin","Ni","Chou","Tun","Lin",null,"Dong","Ying","Wu","Ling","Shuang","Ling","Xia","Hong","Yin","Mo","Mai","Yun","Liu","Meng","Bin","Wu","Wei","Huo","Yin","Xi","Yi","Ai","Dan","Deng","Xian","Yu","Lu","Long","Dai","Ji","Pang","Yang","Ba","Pi","Wei",null,"Xi","Ji","Mai","Meng","Meng","Lei","Li","Huo","Ai","Fei","Dai","Long","Ling","Ai","Feng","Li","Bao",null,"He","He","Bing","Qing","Qing","Jing","Tian","Zhen","Jing","Cheng","Qing","Jing","Jing","Dian","Jing","Tian","Fei","Fei","Kao","Mi","Mian","Mian","Pao","Ye","Tian","Hui","Ye","Ge","Ding","Cha","Jian","Ren","Di","Du","Wu","Ren","Qin","Jin","Xue","Niu","Ba","Yin","Sa","Na","Mo","Zu","Da","Ban","Yi","Yao","Tao","Tuo","Jia","Hong","Pao","Yang","Tomo","Yin","Jia","Tao","Ji","Xie","An","An","Hen","Gong","Kohaze","Da","Qiao","Ting","Wan","Ying","Sui","Tiao","Qiao","Xuan","Kong","Beng","Ta","Zhang","Bing","Kuo","Ju","La","Xie","Rou","Bang","Yi","Qiu","Qiu","He","Xiao","Mu","Ju","Jian","Bian","Di","Jian","On","Tao","Gou","Ta","Bei","Xie","Pan","Ge","Bi","Kuo","Tang","Lou","Gui","Qiao","Xue","Ji","Jian","Jiang","Chan","Da","Huo","Xian","Qian","Du","Wa","Jian","Lan","Wei","Ren","Fu","Mei","Juan","Ge","Wei","Qiao","Han","Chang",null,"Rou","Xun","She","Wei","Ge","Bei","Tao","Gou","Yun",null,"Bi","Wei","Hui","Du","Wa","Du","Wei","Ren","Fu","Han","Wei","Yun","Tao","Jiu","Jiu","Xian","Xie","Xian","Ji","Yin","Za","Yun","Shao","Le","Peng","Heng","Ying","Yun","Peng","Yin","Yin","Xiang"],mC[152]=["Hu","Ye","Ding","Qing","Pan","Xiang","Shun","Han","Xu","Yi","Xu","Gu","Song","Kui","Qi","Hang","Yu","Wan","Ban","Dun","Di","Dan","Pan","Po","Ling","Ce","Jing","Lei","He","Qiao","E","E","Wei","Jie","Gua","Shen","Yi","Shen","Hai","Dui","Pian","Ping","Lei","Fu","Jia","Tou","Hui","Kui","Jia","Le","Tian","Cheng","Ying","Jun","Hu","Han","Jing","Tui","Tui","Pin","Lai","Tui","Zi","Zi","Chui","Ding","Lai","Yan","Han","Jian","Ke","Cui","Jiong","Qin","Yi","Sai","Ti","E","E","Yan","Hun","Kan","Yong","Zhuan","Yan","Xian","Xin","Yi","Yuan","Sang","Dian","Dian","Jiang","Ku","Lei","Liao","Piao","Yi","Man","Qi","Rao","Hao","Qiao","Gu","Xun","Qian","Hui","Zhan","Ru","Hong","Bin","Xian","Pin","Lu","Lan","Nie","Quan","Ye","Ding","Qing","Han","Xiang","Shun","Xu","Xu","Wan","Gu","Dun","Qi","Ban","Song","Hang","Yu","Lu","Ling","Po","Jing","Jie","Jia","Tian","Han","Ying","Jiong","Hai","Yi","Pin","Hui","Tui","Han","Ying","Ying","Ke","Ti","Yong","E","Zhuan","Yan","E","Nie","Man","Dian","Sang","Hao","Lei","Zhan","Ru","Pin","Quan","Feng","Biao","Oroshi","Fu","Xia","Zhan","Biao","Sa","Ba","Tai","Lie","Gua","Xuan","Shao","Ju","Bi","Si","Wei","Yang","Yao","Sou","Kai","Sao","Fan","Liu","Xi","Liao","Piao","Piao","Liu","Biao","Biao","Biao","Liao",null,"Se","Feng","Biao","Feng","Yang","Zhan","Biao","Sa","Ju","Si","Sou","Yao","Liu","Piao","Biao","Biao","Fei","Fan","Fei","Fei","Shi","Shi","Can","Ji","Ding","Si","Tuo","Zhan","Sun","Xiang","Tun","Ren","Yu","Juan","Chi","Yin","Fan","Fan","Sun","Yin","Zhu","Yi","Zhai","Bi","Jie","Tao","Liu","Ci","Tie","Si","Bao","Shi","Duo"],mC[153]=["Hai","Ren","Tian","Jiao","Jia","Bing","Yao","Tong","Ci","Xiang","Yang","Yang","Er","Yan","Le","Yi","Can","Bo","Nei","E","Bu","Jun","Dou","Su","Yu","Shi","Yao","Hun","Guo","Shi","Jian","Zhui","Bing","Xian","Bu","Ye","Tan","Fei","Zhang","Wei","Guan","E","Nuan","Hun","Hu","Huang","Tie","Hui","Jian","Hou","He","Xing","Fen","Wei","Gu","Cha","Song","Tang","Bo","Gao","Xi","Kui","Liu","Sou","Tao","Ye","Yun","Mo","Tang","Man","Bi","Yu","Xiu","Jin","San","Kui","Zhuan","Shan","Chi","Dan","Yi","Ji","Rao","Cheng","Yong","Tao","Hui","Xiang","Zhan","Fen","Hai","Meng","Yan","Mo","Chan","Xiang","Luo","Zuan","Nang","Shi","Ding","Ji","Tuo","Xing","Tun","Xi","Ren","Yu","Chi","Fan","Yin","Jian","Shi","Bao","Si","Duo","Yi","Er","Rao","Xiang","Jia","Le","Jiao","Yi","Bing","Bo","Dou","E","Yu","Nei","Jun","Guo","Hun","Xian","Guan","Cha","Kui","Gu","Sou","Chan","Ye","Mo","Bo","Liu","Xiu","Jin","Man","San","Zhuan","Nang","Shou","Kui","Guo","Xiang","Fen","Ba","Ni","Bi","Bo","Tu","Han","Fei","Jian","An","Ai","Fu","Xian","Wen","Xin","Fen","Bin","Xing","Ma","Yu","Feng","Han","Di","Tuo","Tuo","Chi","Xun","Zhu","Zhi","Pei","Xin","Ri","Sa","Yin","Wen","Zhi","Dan","Lu","You","Bo","Bao","Kuai","Tuo","Yi","Qu",null,"Qu","Jiong","Bo","Zhao","Yuan","Peng","Zhou","Ju","Zhu","Nu","Ju","Pi","Zang","Jia","Ling","Zhen","Tai","Fu","Yang","Shi","Bi","Tuo","Tuo","Si","Liu","Ma","Pian","Tao","Zhi","Rong","Teng","Dong","Xun","Quan","Shen","Jiong","Er","Hai","Bo","Zhu","Yin","Luo","Shuu","Dan","Xie","Liu","Ju","Song","Qin","Mang","Liang","Han","Tu","Xuan","Tui","Jun"],mC[154]=["E","Cheng","Xin","Ai","Lu","Zhui","Zhou","She","Pian","Kun","Tao","Lai","Zong","Ke","Qi","Qi","Yan","Fei","Sao","Yan","Jie","Yao","Wu","Pian","Cong","Pian","Qian","Fei","Huang","Jian","Huo","Yu","Ti","Quan","Xia","Zong","Kui","Rou","Si","Gua","Tuo","Kui","Sou","Qian","Cheng","Zhi","Liu","Pang","Teng","Xi","Cao","Du","Yan","Yuan","Zou","Sao","Shan","Li","Zhi","Shuang","Lu","Xi","Luo","Zhang","Mo","Ao","Can","Piao","Cong","Qu","Bi","Zhi","Yu","Xu","Hua","Bo","Su","Xiao","Lin","Chan","Dun","Liu","Tuo","Zeng","Tan","Jiao","Tie","Yan","Luo","Zhan","Jing","Yi","Ye","Tuo","Bin","Zou","Yan","Peng","Lu","Teng","Xiang","Ji","Shuang","Ju","Xi","Huan","Li","Biao","Ma","Yu","Tuo","Xun","Chi","Qu","Ri","Bo","Lu","Zang","Shi","Si","Fu","Ju","Zou","Zhu","Tuo","Nu","Jia","Yi","Tai","Xiao","Ma","Yin","Jiao","Hua","Luo","Hai","Pian","Biao","Li","Cheng","Yan","Xin","Qin","Jun","Qi","Qi","Ke","Zhui","Zong","Su","Can","Pian","Zhi","Kui","Sao","Wu","Ao","Liu","Qian","Shan","Piao","Luo","Cong","Chan","Zou","Ji","Shuang","Xiang","Gu","Wei","Wei","Wei","Yu","Gan","Yi","Ang","Tou","Xie","Bao","Bi","Chi","Ti","Di","Ku","Hai","Qiao","Gou","Kua","Ge","Tui","Geng","Pian","Bi","Ke","Ka","Yu","Sui","Lou","Bo","Xiao","Pang","Bo","Ci","Kuan","Bin","Mo","Liao","Lou","Nao","Du","Zang","Sui","Ti","Bin","Kuan","Lu","Gao","Gao","Qiao","Kao","Qiao","Lao","Zao","Biao","Kun","Kun","Ti","Fang","Xiu","Ran","Mao","Dan","Kun","Bin","Fa","Tiao","Peng","Zi","Fa","Ran","Ti","Pao","Pi","Mao","Fu","Er","Rong","Qu","Gong","Xiu","Gua","Ji","Peng","Zhua","Shao","Sha"],mC[155]=["Ti","Li","Bin","Zong","Ti","Peng","Song","Zheng","Quan","Zong","Shun","Jian","Duo","Hu","La","Jiu","Qi","Lian","Zhen","Bin","Peng","Mo","San","Man","Man","Seng","Xu","Lie","Qian","Qian","Nong","Huan","Kuai","Ning","Bin","Lie","Rang","Dou","Dou","Nao","Hong","Xi","Dou","Han","Dou","Dou","Jiu","Chang","Yu","Yu","Li","Juan","Fu","Qian","Gui","Zong","Liu","Gui","Shang","Yu","Gui","Mei","Ji","Qi","Jie","Kui","Hun","Ba","Po","Mei","Xu","Yan","Xiao","Liang","Yu","Tui","Qi","Wang","Liang","Wei","Jian","Chi","Piao","Bi","Mo","Ji","Xu","Chou","Yan","Zhan","Yu","Dao","Ren","Ji","Eri","Gong","Tuo","Diao","Ji","Xu","E","E","Sha","Hang","Tun","Mo","Jie","Shen","Fan","Yuan","Bi","Lu","Wen","Hu","Lu","Za","Fang","Fen","Na","You","Namazu","Todo","He","Xia","Qu","Han","Pi","Ling","Tuo","Bo","Qiu","Ping","Fu","Bi","Ji","Wei","Ju","Diao","Bo","You","Gun","Pi","Nian","Xing","Tai","Bao","Fu","Zha","Ju","Gu","Kajika","Tong",null,"Ta","Jie","Shu","Hou","Xiang","Er","An","Wei","Tiao","Zhu","Yin","Lie","Luo","Tong","Yi","Qi","Bing","Wei","Jiao","Bu","Gui","Xian","Ge","Hui","Bora","Mate","Kao","Gori","Duo","Jun","Ti","Man","Xiao","Za","Sha","Qin","Yu","Nei","Zhe","Gun","Geng","Su","Wu","Qiu","Ting","Fu","Wan","You","Li","Sha","Sha","Gao","Meng","Ugui","Asari","Subashiri","Kazunoko","Yong","Ni","Zi","Qi","Qing","Xiang","Nei","Chun","Ji","Diao","Qie","Gu","Zhou","Dong","Lai","Fei","Ni","Yi","Kun","Lu","Jiu","Chang","Jing","Lun","Ling","Zou","Li","Meng","Zong","Zhi","Nian","Shachi","Dojou","Sukesou","Shi","Shen","Hun","Shi","Hou","Xing","Zhu","La","Zong","Ji","Bian","Bian"],mC[156]=["Huan","Quan","Ze","Wei","Wei","Yu","Qun","Rou","Die","Huang","Lian","Yan","Qiu","Qiu","Jian","Bi","E","Yang","Fu","Sai","Jian","Xia","Tuo","Hu","Muroaji","Ruo","Haraka","Wen","Jian","Hao","Wu","Fang","Sao","Liu","Ma","Shi","Shi","Yin","Z","Teng","Ta","Yao","Ge","Rong","Qian","Qi","Wen","Ruo","Hatahata","Lian","Ao","Le","Hui","Min","Ji","Tiao","Qu","Jian","Sao","Man","Xi","Qiu","Biao","Ji","Ji","Zhu","Jiang","Qiu","Zhuan","Yong","Zhang","Kang","Xue","Bie","Jue","Qu","Xiang","Bo","Jiao","Xun","Su","Huang","Zun","Shan","Shan","Fan","Jue","Lin","Xun","Miao","Xi","Eso","Kyou","Fen","Guan","Hou","Kuai","Zei","Sao","Zhan","Gan","Gui","Sheng","Li","Chang","Hatahata","Shiira","Mutsu","Ru","Ji","Xu","Huo","Shiira","Li","Lie","Li","Mie","Zhen","Xiang","E","Lu","Guan","Li","Xian","Yu","Dao","Ji","You","Tun","Lu","Fang","Ba","He","Bo","Ping","Nian","Lu","You","Zha","Fu","Bo","Bao","Hou","Pi","Tai","Gui","Jie","Kao","Wei","Er","Tong","Ze","Hou","Kuai","Ji","Jiao","Xian","Za","Xiang","Xun","Geng","Li","Lian","Jian","Li","Shi","Tiao","Gun","Sha","Wan","Jun","Ji","Yong","Qing","Ling","Qi","Zou","Fei","Kun","Chang","Gu","Ni","Nian","Diao","Jing","Shen","Shi","Zi","Fen","Die","Bi","Chang","Shi","Wen","Wei","Sai","E","Qiu","Fu","Huang","Quan","Jiang","Bian","Sao","Ao","Qi","Ta","Yin","Yao","Fang","Jian","Le","Biao","Xue","Bie","Man","Min","Yong","Wei","Xi","Jue","Shan","Lin","Zun","Huo","Gan","Li","Zhan","Guan","Niao","Yi","Fu","Li","Jiu","Bu","Yan","Fu","Diao","Ji","Feng","Nio","Gan","Shi","Feng","Ming","Bao","Yuan","Zhi","Hu","Qin","Fu","Fen","Wen","Jian","Shi","Yu"],mC[157]=["Fou","Yiao","Jue","Jue","Pi","Huan","Zhen","Bao","Yan","Ya","Zheng","Fang","Feng","Wen","Ou","Te","Jia","Nu","Ling","Mie","Fu","Tuo","Wen","Li","Bian","Zhi","Ge","Yuan","Zi","Qu","Xiao","Zhi","Dan","Ju","You","Gu","Zhong","Yu","Yang","Rong","Ya","Tie","Yu","Shigi","Ying","Zhui","Wu","Er","Gua","Ai","Zhi","Yan","Heng","Jiao","Ji","Lie","Zhu","Ren","Yi","Hong","Luo","Ru","Mou","Ge","Ren","Jiao","Xiu","Zhou","Zhi","Luo","Chidori","Toki","Ten","Luan","Jia","Ji","Yu","Huan","Tuo","Bu","Wu","Juan","Yu","Bo","Xun","Xun","Bi","Xi","Jun","Ju","Tu","Jing","Ti","E","E","Kuang","Hu","Wu","Shen","Lai","Ikaruga","Kakesu","Lu","Ping","Shu","Fu","An","Zhao","Peng","Qin","Qian","Bei","Diao","Lu","Que","Jian","Ju","Tu","Ya","Yuan","Qi","Li","Ye","Zhui","Kong","Zhui","Kun","Sheng","Qi","Jing","Yi","Yi","Jing","Zi","Lai","Dong","Qi","Chun","Geng","Ju","Qu","Isuka","Kikuitadaki","Ji","Shu",null,"Chi","Miao","Rou","An","Qiu","Ti","Hu","Ti","E","Jie","Mao","Fu","Chun","Tu","Yan","He","Yuan","Pian","Yun","Mei","Hu","Ying","Dun","Mu","Ju","Tsugumi","Cang","Fang","Gu","Ying","Yuan","Xuan","Weng","Shi","He","Chu","Tang","Xia","Ruo","Liu","Ji","Gu","Jian","Zhun","Han","Zi","Zi","Ni","Yao","Yan","Ji","Li","Tian","Kou","Ti","Ti","Ni","Tu","Ma","Jiao","Gao","Tian","Chen","Li","Zhuan","Zhe","Ao","Yao","Yi","Ou","Chi","Zhi","Liao","Rong","Lou","Bi","Shuang","Zhuo","Yu","Wu","Jue","Yin","Quan","Si","Jiao","Yi","Hua","Bi","Ying","Su","Huang","Fan","Jiao","Liao","Yan","Kao","Jiu","Xian","Xian","Tu","Mai","Zun","Yu","Ying","Lu","Tuan","Xian","Xue","Yi","Pi"],mC[158]=["Shu","Luo","Qi","Yi","Ji","Zhe","Yu","Zhan","Ye","Yang","Pi","Ning","Huo","Mi","Ying","Meng","Di","Yue","Yu","Lei","Bao","Lu","He","Long","Shuang","Yue","Ying","Guan","Qu","Li","Luan","Niao","Jiu","Ji","Yuan","Ming","Shi","Ou","Ya","Cang","Bao","Zhen","Gu","Dong","Lu","Ya","Xiao","Yang","Ling","Zhi","Qu","Yuan","Xue","Tuo","Si","Zhi","Er","Gua","Xiu","Heng","Zhou","Ge","Luan","Hong","Wu","Bo","Li","Juan","Hu","E","Yu","Xian","Ti","Wu","Que","Miao","An","Kun","Bei","Peng","Qian","Chun","Geng","Yuan","Su","Hu","He","E","Gu","Qiu","Zi","Mei","Mu","Ni","Yao","Weng","Liu","Ji","Ni","Jian","He","Yi","Ying","Zhe","Liao","Liao","Jiao","Jiu","Yu","Lu","Xuan","Zhan","Ying","Huo","Meng","Guan","Shuang","Lu","Jin","Ling","Jian","Xian","Cuo","Jian","Jian","Yan","Cuo","Lu","You","Cu","Ji","Biao","Cu","Biao","Zhu","Jun","Zhu","Jian","Mi","Mi","Wu","Liu","Chen","Jun","Lin","Ni","Qi","Lu","Jiu","Jun","Jing","Li","Xiang","Yan","Jia","Mi","Li","She","Zhang","Lin","Jing","Ji","Ling","Yan","Cu","Mai","Mai","Ge","Chao","Fu","Mian","Mian","Fu","Pao","Qu","Qu","Mou","Fu","Xian","Lai","Qu","Mian",null,"Feng","Fu","Qu","Mian","Ma","Mo","Mo","Hui","Ma","Zou","Nen","Fen","Huang","Huang","Jin","Guang","Tian","Tou","Heng","Xi","Kuang","Heng","Shu","Li","Nian","Chi","Hei","Hei","Yi","Qian","Dan","Xi","Tuan","Mo","Mo","Qian","Dai","Chu","You","Dian","Yi","Xia","Yan","Qu","Mei","Yan","Jing","Yu","Li","Dang","Du","Can","Yin","An","Yan","Tan","An","Zhen","Dai","Can","Yi","Mei","Dan","Yan","Du","Lu","Zhi","Fen","Fu","Fu","Min","Min","Yuan"],mC[159]=["Cu","Qu","Chao","Wa","Zhu","Zhi","Mang","Ao","Bie","Tuo","Bi","Yuan","Chao","Tuo","Ding","Mi","Nai","Ding","Zi","Gu","Gu","Dong","Fen","Tao","Yuan","Pi","Chang","Gao","Qi","Yuan","Tang","Teng","Shu","Shu","Fen","Fei","Wen","Ba","Diao","Tuo","Tong","Qu","Sheng","Shi","You","Shi","Ting","Wu","Nian","Jing","Hun","Ju","Yan","Tu","Ti","Xi","Xian","Yan","Lei","Bi","Yao","Qiu","Han","Wu","Wu","Hou","Xi","Ge","Zha","Xiu","Weng","Zha","Nong","Nang","Qi","Zhai","Ji","Zi","Ji","Ji","Qi","Ji","Chi","Chen","Chen","He","Ya","Ken","Xie","Pao","Cuo","Shi","Zi","Chi","Nian","Ju","Tiao","Ling","Ling","Chu","Quan","Xie","Ken","Nie","Jiu","Yao","Chuo","Kun","Yu","Chu","Yi","Ni","Cuo","Zou","Qu","Nen","Xian","Ou","E","Wo","Yi","Chuo","Zou","Dian","Chu","Jin","Ya","Chi","Chen","He","Ken","Ju","Ling","Pao","Tiao","Zi","Ken","Yu","Chuo","Qu","Wo","Long","Pang","Gong","Pang","Yan","Long","Long","Gong","Kan","Ta","Ling","Ta","Long","Gong","Kan","Gui","Qiu","Bie","Gui","Yue","Chui","He","Jue","Xie","Yu"],mC[160]=["it","ix","i","ip","iet","iex","ie","iep","at","ax","a","ap","uox","uo","uop","ot","ox","o","op","ex","e","wu","bit","bix","bi","bip","biet","biex","bie","biep","bat","bax","ba","bap","buox","buo","buop","bot","box","bo","bop","bex","be","bep","but","bux","bu","bup","burx","bur","byt","byx","by","byp","byrx","byr","pit","pix","pi","pip","piex","pie","piep","pat","pax","pa","pap","puox","puo","puop","pot","pox","po","pop","put","pux","pu","pup","purx","pur","pyt","pyx","py","pyp","pyrx","pyr","bbit","bbix","bbi","bbip","bbiet","bbiex","bbie","bbiep","bbat","bbax","bba","bbap","bbuox","bbuo","bbuop","bbot","bbox","bbo","bbop","bbex","bbe","bbep","bbut","bbux","bbu","bbup","bburx","bbur","bbyt","bbyx","bby","bbyp","nbit","nbix","nbi","nbip","nbiex","nbie","nbiep","nbat","nbax","nba","nbap","nbot","nbox","nbo","nbop","nbut","nbux","nbu","nbup","nburx","nbur","nbyt","nbyx","nby","nbyp","nbyrx","nbyr","hmit","hmix","hmi","hmip","hmiex","hmie","hmiep","hmat","hmax","hma","hmap","hmuox","hmuo","hmuop","hmot","hmox","hmo","hmop","hmut","hmux","hmu","hmup","hmurx","hmur","hmyx","hmy","hmyp","hmyrx","hmyr","mit","mix","mi","mip","miex","mie","miep","mat","max","ma","map","muot","muox","muo","muop","mot","mox","mo","mop","mex","me","mut","mux","mu","mup","murx","mur","myt","myx","my","myp","fit","fix","fi","fip","fat","fax","fa","fap","fox","fo","fop","fut","fux","fu","fup","furx","fur","fyt","fyx","fy","fyp","vit","vix","vi","vip","viet","viex","vie","viep","vat","vax","va","vap","vot","vox","vo","vop","vex","vep","vut","vux","vu","vup","vurx","vur","vyt","vyx","vy","vyp","vyrx","vyr"],mC[161]=["dit","dix","di","dip","diex","die","diep","dat","dax","da","dap","duox","duo","dot","dox","do","dop","dex","de","dep","dut","dux","du","dup","durx","dur","tit","tix","ti","tip","tiex","tie","tiep","tat","tax","ta","tap","tuot","tuox","tuo","tuop","tot","tox","to","top","tex","te","tep","tut","tux","tu","tup","turx","tur","ddit","ddix","ddi","ddip","ddiex","ddie","ddiep","ddat","ddax","dda","ddap","dduox","dduo","dduop","ddot","ddox","ddo","ddop","ddex","dde","ddep","ddut","ddux","ddu","ddup","ddurx","ddur","ndit","ndix","ndi","ndip","ndiex","ndie","ndat","ndax","nda","ndap","ndot","ndox","ndo","ndop","ndex","nde","ndep","ndut","ndux","ndu","ndup","ndurx","ndur","hnit","hnix","hni","hnip","hniet","hniex","hnie","hniep","hnat","hnax","hna","hnap","hnuox","hnuo","hnot","hnox","hnop","hnex","hne","hnep","hnut","nit","nix","ni","nip","niex","nie","niep","nax","na","nap","nuox","nuo","nuop","not","nox","no","nop","nex","ne","nep","nut","nux","nu","nup","nurx","nur","hlit","hlix","hli","hlip","hliex","hlie","hliep","hlat","hlax","hla","hlap","hluox","hluo","hluop","hlox","hlo","hlop","hlex","hle","hlep","hlut","hlux","hlu","hlup","hlurx","hlur","hlyt","hlyx","hly","hlyp","hlyrx","hlyr","lit","lix","li","lip","liet","liex","lie","liep","lat","lax","la","lap","luot","luox","luo","luop","lot","lox","lo","lop","lex","le","lep","lut","lux","lu","lup","lurx","lur","lyt","lyx","ly","lyp","lyrx","lyr","git","gix","gi","gip","giet","giex","gie","giep","gat","gax","ga","gap","guot","guox","guo","guop","got","gox","go","gop","get","gex","ge","gep","gut","gux","gu","gup","gurx","gur","kit","kix","ki","kip","kiex","kie","kiep","kat"],mC[162]=["kax","ka","kap","kuox","kuo","kuop","kot","kox","ko","kop","ket","kex","ke","kep","kut","kux","ku","kup","kurx","kur","ggit","ggix","ggi","ggiex","ggie","ggiep","ggat","ggax","gga","ggap","gguot","gguox","gguo","gguop","ggot","ggox","ggo","ggop","gget","ggex","gge","ggep","ggut","ggux","ggu","ggup","ggurx","ggur","mgiex","mgie","mgat","mgax","mga","mgap","mguox","mguo","mguop","mgot","mgox","mgo","mgop","mgex","mge","mgep","mgut","mgux","mgu","mgup","mgurx","mgur","hxit","hxix","hxi","hxip","hxiet","hxiex","hxie","hxiep","hxat","hxax","hxa","hxap","hxuot","hxuox","hxuo","hxuop","hxot","hxox","hxo","hxop","hxex","hxe","hxep","ngiex","ngie","ngiep","ngat","ngax","nga","ngap","nguot","nguox","nguo","ngot","ngox","ngo","ngop","ngex","nge","ngep","hit","hiex","hie","hat","hax","ha","hap","huot","huox","huo","huop","hot","hox","ho","hop","hex","he","hep","wat","wax","wa","wap","wuox","wuo","wuop","wox","wo","wop","wex","we","wep","zit","zix","zi","zip","ziex","zie","ziep","zat","zax","za","zap","zuox","zuo","zuop","zot","zox","zo","zop","zex","ze","zep","zut","zux","zu","zup","zurx","zur","zyt","zyx","zy","zyp","zyrx","zyr","cit","cix","ci","cip","ciet","ciex","cie","ciep","cat","cax","ca","cap","cuox","cuo","cuop","cot","cox","co","cop","cex","ce","cep","cut","cux","cu","cup","curx","cur","cyt","cyx","cy","cyp","cyrx","cyr","zzit","zzix","zzi","zzip","zziet","zziex","zzie","zziep","zzat","zzax","zza","zzap","zzox","zzo","zzop","zzex","zze","zzep","zzux","zzu","zzup","zzurx","zzur","zzyt","zzyx","zzy","zzyp","zzyrx","zzyr","nzit","nzix","nzi","nzip","nziex","nzie","nziep","nzat","nzax","nza","nzap","nzuox","nzuo","nzox","nzop","nzex","nze","nzux","nzu"],mC[163]=["nzup","nzurx","nzur","nzyt","nzyx","nzy","nzyp","nzyrx","nzyr","sit","six","si","sip","siex","sie","siep","sat","sax","sa","sap","suox","suo","suop","sot","sox","so","sop","sex","se","sep","sut","sux","su","sup","surx","sur","syt","syx","sy","syp","syrx","syr","ssit","ssix","ssi","ssip","ssiex","ssie","ssiep","ssat","ssax","ssa","ssap","ssot","ssox","sso","ssop","ssex","sse","ssep","ssut","ssux","ssu","ssup","ssyt","ssyx","ssy","ssyp","ssyrx","ssyr","zhat","zhax","zha","zhap","zhuox","zhuo","zhuop","zhot","zhox","zho","zhop","zhet","zhex","zhe","zhep","zhut","zhux","zhu","zhup","zhurx","zhur","zhyt","zhyx","zhy","zhyp","zhyrx","zhyr","chat","chax","cha","chap","chuot","chuox","chuo","chuop","chot","chox","cho","chop","chet","chex","che","chep","chux","chu","chup","churx","chur","chyt","chyx","chy","chyp","chyrx","chyr","rrax","rra","rruox","rruo","rrot","rrox","rro","rrop","rret","rrex","rre","rrep","rrut","rrux","rru","rrup","rrurx","rrur","rryt","rryx","rry","rryp","rryrx","rryr","nrat","nrax","nra","nrap","nrox","nro","nrop","nret","nrex","nre","nrep","nrut","nrux","nru","nrup","nrurx","nrur","nryt","nryx","nry","nryp","nryrx","nryr","shat","shax","sha","shap","shuox","shuo","shuop","shot","shox","sho","shop","shet","shex","she","shep","shut","shux","shu","shup","shurx","shur","shyt","shyx","shy","shyp","shyrx","shyr","rat","rax","ra","rap","ruox","ruo","ruop","rot","rox","ro","rop","rex","re","rep","rut","rux","ru","rup","rurx","rur","ryt","ryx","ry","ryp","ryrx","ryr","jit","jix","ji","jip","jiet","jiex","jie","jiep","juot","juox","juo","juop","jot","jox","jo","jop","jut","jux","ju","jup","jurx","jur","jyt","jyx","jy","jyp","jyrx","jyr","qit","qix","qi","qip"],mC[164]=["qiet","qiex","qie","qiep","quot","quox","quo","quop","qot","qox","qo","qop","qut","qux","qu","qup","qurx","qur","qyt","qyx","qy","qyp","qyrx","qyr","jjit","jjix","jji","jjip","jjiet","jjiex","jjie","jjiep","jjuox","jjuo","jjuop","jjot","jjox","jjo","jjop","jjut","jjux","jju","jjup","jjurx","jjur","jjyt","jjyx","jjy","jjyp","njit","njix","nji","njip","njiet","njiex","njie","njiep","njuox","njuo","njot","njox","njo","njop","njux","nju","njup","njurx","njur","njyt","njyx","njy","njyp","njyrx","njyr","nyit","nyix","nyi","nyip","nyiet","nyiex","nyie","nyiep","nyuox","nyuo","nyuop","nyot","nyox","nyo","nyop","nyut","nyux","nyu","nyup","xit","xix","xi","xip","xiet","xiex","xie","xiep","xuox","xuo","xot","xox","xo","xop","xyt","xyx","xy","xyp","xyrx","xyr","yit","yix","yi","yip","yiet","yiex","yie","yiep","yuot","yuox","yuo","yuop","yot","yox","yo","yop","yut","yux","yu","yup","yurx","yur","yyt","yyx","yy","yyp","yyrx","yyr",null,null,null,"Qot","Li","Kit","Nyip","Cyp","Ssi","Ggop","Gep","Mi","Hxit","Lyr","Bbut","Mop","Yo","Put","Hxuo","Tat","Ga",null,null,"Ddur","Bur","Gguo","Nyop","Tu","Op","Jjut","Zot","Pyt","Hmo","Yit","Vur","Shy","Vep","Za","Jo",null,"Jjy","Got","Jjie","Wo","Du","Shur","Lie","Cy","Cuop","Cip","Hxop","Shat",null,"Shop","Che","Zziet",null,"Ke"],mC[167]=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"A","a","A","a","HENG","heng","TZ","tz","3","3","4","4","4","4","F","S","AA","aa","AO","ao","AU","au","AV","av","AV-","av-","AY","ay","C","c","K","k","K","k","K","k","L","l","L","l","O","o","O","o","OO","oo","P","p","P","p","P","p","Q","q","Q","q","R","r","R","r","V","v","VY","vy","Z","z","TH","th","TH","th","Y","y","ET","et","IS","is","CON","con","US","us","dum","lum","num","rum","RUM","tum","um","D","d","F","f","G","G","g","L","l","R","r","S","s","T","t","^",":","=","'","'","H","l",".","N","n","C","c","c","h","B","b","F","f","AE","ae","OE","oe","UE","ue","G","g","K","k","N","n","R","r","S","s","H","E","G","L","I","Q","K","T","J","CHI","B","b","O","o","U","u",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"I","H","oe","M","F","P","M","I","M1"],mC[249]=["Kay","Kayng","Ke","Ko","Kol","Koc","Kwi","Kwi","Kyun","Kul","Kum","Na","Na","Na","La","Na","Na","Na","Na","Na","Nak","Nak","Nak","Nak","Nak","Nak","Nak","Nan","Nan","Nan","Nan","Nan","Nan","Nam","Nam","Nam","Nam","Nap","Nap","Nap","Nang","Nang","Nang","Nang","Nang","Nay","Nayng","No","No","No","No","No","No","No","No","No","No","No","No","Nok","Nok","Nok","Nok","Nok","Nok","Non","Nong","Nong","Nong","Nong","Noy","Noy","Noy","Noy","Nwu","Nwu","Nwu","Nwu","Nwu","Nwu","Nwu","Nwu","Nuk","Nuk","Num","Nung","Nung","Nung","Nung","Nung","Twu","La","Lak","Lak","Lan","Lyeng","Lo","Lyul","Li","Pey","Pen","Pyen","Pwu","Pwul","Pi","Sak","Sak","Sam","Sayk","Sayng","Sep","Sey","Sway","Sin","Sim","Sip","Ya","Yak","Yak","Yang","Yang","Yang","Yang","Yang","Yang","Yang","Yang","Ye","Ye","Ye","Ye","Ye","Ye","Ye","Ye","Ye","Ye","Ye","Yek","Yek","Yek","Yek","Yen","Yen","Yen","Yen","Yen","Yen","Yen","Yen","Yen","Yen","Yen","Yen","Yen","Yen","Yel","Yel","Yel","Yel","Yel","Yel","Yem","Yem","Yem","Yem","Yem","Yep","Yeng","Yeng","Yeng","Yeng","Yeng","Yeng","Yeng","Yeng","Yeng","Yeng","Yeng","Yeng","Yeng","Yey","Yey","Yey","Yey","O","Yo","Yo","Yo","Yo","Yo","Yo","Yo","Yo","Yo","Yo","Yong","Wun","Wen","Yu","Yu","Yu","Yu","Yu","Yu","Yu","Yu","Yu","Yu","Yuk","Yuk","Yuk","Yun","Yun","Yun","Yun","Yul","Yul","Yul","Yul","Yung","I","I","I","I","I","I","I","I","I","I","I","I","I","I","Ik","Ik","In","In","In","In","In","In","In","Im","Im","Im","Ip","Ip","Ip","Cang","Cek","Ci","Cip","Cha","Chek"],mC[250]=["Chey","Thak","Thak","Thang","Thayk","Thong","Pho","Phok","Hang","Hang","Hyen","Hwak","Wu","Huo",null,null,"Zhong",null,"Qing",null,null,"Xi","Zhu","Yi","Li","Shen","Xiang","Fu","Jing","Jing","Yu",null,"Hagi",null,"Zhu",null,null,"Yi","Du",null,null,null,"Fan","Si","Guan"],mC[251]=["ff","fi","fl","ffi","ffl","st","st",null,null,null,null,null,null,null,null,null,null,null,null,"mn","me","mi","vn","mkh",null,null,null,null,null,"yi",null,"ay","`",null,"d","h","k","l","m","m","t","+","sh","s","sh","s","a","a",null,"b","g","d","h","v","z",null,"t","y","k","k","l",null,"l",null,"n","n",null,"p","p",null,"ts","ts","r","sh","t","vo","b","k","p","l"],mC[254]=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"~",null,null,null,null,null,null,null,null,null,null,null,null,"..","--","-","_","_","(",") ","{","} ","[","] ","[(",")] ","<<",">> ","<","> ","[","] ","{","}",null,null,null,null,null,null,null,null,null,null,null,",",",",".",null,";",":","?","!","-","(",")","{","}","{","}","#","&","*","+","-","<",">","=",null,"\\","$","%","@"],mC[255]=[null,"!",'"',"#","$","%","&","'","(",")","*","+",",","-",".","/","0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","?","@","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","[","\\","]","^","_","`","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","{","|","}","~",null,null,".","[","]",",","*","wo","a","i","u","e","o","ya","yu","yo","tu","+","a","i","u","e","o","ka","ki","ku","ke","ko","sa","si","su","se","so","ta","ti","tu","te","to","na","ni","nu","ne","no","ha","hi","hu","he","ho","ma","mi","mu","me","mo","ya","yu","yo","ra","ri","ru","re","ro","wa","n",":",";",null,"g","gg","gs","n","nj","nh","d","dd","r","lg","lm","lb","ls","lt","lp","rh","m","b","bb","bs","s","ss",null,"j","jj","c","k","t","p","h",null,null,null,"a","ae","ya","yae","eo","e",null,null,"yeo","ye","o","wa","wae","oe",null,null,"yo","u","weo","we","wi","yu",null,null,"eu","yi","i",null,null,null,"/C","PS","!","-","|","Y=","W=",null,"|","-","|","-","|","#","O",null,null,null,null,null,null,null,null,null,null,"{","|","}"];var mw={};for(let e=0;e<mC.length;e++){let i=mC[e];if(i)for(let n=0;n<i.length;n++){let t=i[n];t&&(mw[String.fromCharCode((e<<8)+n)]=t)}}for(let e=44032;e<=55203;e++){let i=e-44032;mw[String.fromCharCode(e)]=my[i/588|0]+mS[i%588/28|0]+mb[i%28]}var mT=/[-[\]/{}()*+?.\\^$|]/g,mx=/[\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u3005\u3007\u3021-\u3029\u3038-\u303B\u3400-\u4DBF\u4E00-\u9FFC\uF900-\uFA6D\uFA70-\uFAD9]|\uD81B[\uDFF0\uDFF1]|[\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A]/,mL=/[\s!-#%-*,-/:;?@[-\]_{}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDEAD\uDF55-\uDF59]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDFFF]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A\uDFE2]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]/;function bundle_esm_min_H(e){return(e||"").replace(mT,"\\$&")}function Iu(e){return mL.test(e)}function bundle_esm_min_Y(e){if(Array.isArray(e))return e.map(e=>bundle_esm_min_Y(e));if(e instanceof Date)return new Date(e.valueOf());if(e instanceof RegExp)return new RegExp(e.source,e.flags);if(null!==e&&"object"==typeof e){let i={};for(let n in e)Object.hasOwn(e,n)&&(i[n]=bundle_esm_min_Y(e[n]));return i}return e}function vu(e,i){let n,t=[];for(let n of i){let i=e.indexOf(n);for(;i>-1;)t.push([i,i+n.length-1]),i=e.indexOf(n,i+1)}let a=t.sort((e,i)=>e[0]-i[0]||e[1]-i[1]);for(let e of(t=[],a))!n||e[0]>n[1]+1?(n=e,t.push(n)):e[1]>n[1]&&(n[1]=e[1]);return t}function ii(e,i){return e<i[0]?-1:1*!!(e>i[1])}function bundle_esm_min_s(e,i){if(0===i.length)return!1;let n=0,t=i.length-1;for(;n<=t;){let a=n+t>>>1,r=ii(e,i[a]);if(0===r)return!0;-1===r?t=a-1:n=a+1}return!1}function bundle_esm_min_Q(e,i,n,t=[]){let a=t.length?RegExp(t.map(bundle_esm_min_H).join("|"),"g"):null,r=RegExp(i.source,`${i.flags.replace("g","")}g`),o="",u=0;for(;;){let i=r.exec(e),t="",s=0;if(i){for(;;){let e=a?.exec(i[0]);if(e&&a)t+=e.index>s?n:"",t+=e[0],s=a.lastIndex;else{t+=i[0].length>s?n:"";break}}o+=e.substring(u,i.index)+t,u=r.lastIndex}else{o+=e.substring(u,e.length);break}}return o}var mE=/[\uD800-\uDBFF]/,m_=/[\uDC00-\uDFFF]/,mY=/[^\s\S]/,mD={ignore:[],replace:[],replaceAfter:[],trim:!1,unknown:"",fixChineseSpacing:!0},mv=class{get options(){return bundle_esm_min_Y({...mD,...this.confOptions})}constructor(e=bundle_esm_min_Y(mD),i=mw){this.confOptions=e,this.map=i}config(e,i=!1){return i&&(this.confOptions={}),e&&"object"==typeof e&&(this.confOptions=bundle_esm_min_Y(e)),this.confOptions}codeMapReplace(e,i,n=[]){let t=0,a="",r=i.fixChineseSpacing&&mx.test(e),o=!1;for(let u=0;u<e.length;u++){let s=mE.test(e[u])&&m_.test(e[u+1])?e[u]+e[u+1]:e[u],l,h=!1;bundle_esm_min_s(t,n)||2===s.length&&bundle_esm_min_s(t+1,n)?(l=s,n.find(e=>e[1]>=t&&e[0]===t)||(h=!0)):l=this.map[s]||i.unknown||"",r&&(!o||h||Iu(l)||(l=` ${l}`),o=!!l&&mx.test(s)),a+=l,t+=s.length,u+=s.length-1}return a}formatReplaceOption(e){if(Array.isArray(e))return bundle_esm_min_Y(e);let i=[];for(let n in e)Object.hasOwn(e,n)&&i.push([n,e[n]]);return i}replaceString(e,i,n=[]){let t=bundle_esm_min_Y(i),a=e;for(let e of t){switch(!0){case e[0]instanceof RegExp:e[0]=RegExp(e[0].source,`${e[0].flags.replace("g","")}g`);break;case"string"==typeof e[0]&&e[0].length>0:e[0]=RegExp(bundle_esm_min_H(e[0]),"g");break;default:e[0]=mY}a=bundle_esm_min_Q(a,e[0],e[1],n)}return a}setData(e,i=!1){if(i&&(this.map=bundle_esm_min_Y(mw)),e&&"object"==typeof e&&Object.keys(e).length)for(let i in this.map=bundle_esm_min_Y(this.map),e)Object.hasOwn(e,i)&&i.length<3&&i<="\uDBFF\uDFFF"&&(this.map[i]=e[i]);return this.map}transliterate(e,i){let n=bundle_esm_min_Y({...this.options,..."object"==typeof i?i:{}}),t="string"==typeof e?e:String(e),a=this.formatReplaceOption(n.replace);a.length&&(t=this.replaceString(t,a,n.ignore));let r=n.ignore&&n.ignore.length>0?vu(t,n.ignore):[];t=this.codeMapReplace(t,n,r),n.trim&&(t=t.trim());let o=this.formatReplaceOption(n.replaceAfter);return o.length&&(t=this.replaceString(t,o)),t}},mA={...bundle_esm_min_Y(mD),allowedChars:"a-zA-Z0-9-_.~",lowercase:!0,separator:"-",uppercase:!1,fixChineseSpacing:!0},mN=class extends mv{get options(){return bundle_esm_min_Y({...mA,...this.confOptions})}config(e,i=!1){return i&&(this.confOptions={}),e&&"object"==typeof e&&(this.confOptions=bundle_esm_min_Y(e)),this.confOptions}slugify(e,i){let n=bundle_esm_min_Y({...this.options,..."object"==typeof i?i:{}}),t=n.separator?bundle_esm_min_H(n.separator):"",a=this.transliterate(e,n);return a=bundle_esm_min_Q(a,RegExp(`[^${n.allowedChars}]+`,"g"),n.separator??"-",n.ignore??[]),t&&(a=(a=a.replace(RegExp(`${t}+`,"g"),n.separator)).replace(RegExp(`^${t}+|${t}+$`,"g"),"")),n.lowercase&&(a=a.toLowerCase()),n.uppercase&&(a=a.toUpperCase()),a}},mP=new mv,mZ=mP.transliterate.bind(mP);mZ.config=mP.config.bind(mP),mZ.setData=mP.setData.bind(mP);var mR=new mN,mM=mR.slugify.bind(mR);mM.config=mR.config.bind(mR),mM.setData=mR.setData.bind(mR);class mJ{static DEFAULT_REGION="cn-beijing";static DEFAULT_MAX_KEYS=1e3;static DEFAULT_PRESIGNED_EXPIRE_TIME=86400;static DEFAULT_UPLOAD_TIMEOUT=3e4}let mk=/^[A-Za-z0-9._\-/]+$/,mB=!1,mH={baseUrl:"",apiKey:""};function loadReportEnv(){if(mB)return mH;let e=process.env.COZE_INTEGRATION_BASE_URL||"",i=process.env.COZE_WORKLOAD_IDENTITY_API_KEY||"";if(e&&i)return mB=!0,mH={baseUrl:e,apiKey:i};try{if(E("./node_modules/dotenv/lib/main.js").config(),e=process.env.COZE_INTEGRATION_BASE_URL||"",i=process.env.COZE_WORKLOAD_IDENTITY_API_KEY||"",e&&i)return mB=!0,mH={baseUrl:e,apiKey:i}}catch{}try{let n=`
|
|
82
|
+
`,null,null,null,null,null," ","%0","%00","'","''","'''","`","``","```","^","<",">","*","!!","!?","-","_","-","^","***","--","/","-[","]-",null,"?!","!?","7","PP","(]","[)",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"0",null,null,null,"4","5","6","7","8","9","+","-","=","(",")","n","0","1","2","3","4","5","6","7","8","9","+","-","=","(",")",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"ECU","CL","Cr","FF","L","mil","N","Pts","Rs","W","NS","D","EU","K","T","Dr"],mb=["g","gg","n","d","dd","r","m","b","bb","s","ss","","j","jj","c","k","t","p","h"],mC=["a","ae","ya","yae","eo","e","yeo","ye","o","wa","wae","oe","yo","u","weo","we","wi","yu","eu","yi","i"],mw=["","g","gg","gs","n","nj","nh","d","l","lg","lm","lb","ls","lt","lp","lh","m","b","bs","s","ss","ng","j","c","k","t","p","h"],mT=[];mT[0]=my,mT[1]=["A","a","A","a","A","a","C","c","C","c","C","c","C","c","D","d","D","d","E","e","E","e","E","e","E","e","E","e","G","g","G","g","G","g","G","g","H","h","H","h","I","i","I","i","I","i","I","i","I","i","IJ","ij","J","j","K","k","k","L","l","L","l","L","l","L","l","L","l","N","n","N","n","N","n","'n","NG","ng","O","o","O","o","O","o","OE","oe","R","r","R","r","R","r","S","s","S","s","S","s","S","s","T","t","T","t","T","t","U","u","U","u","U","u","U","u","U","u","U","u","W","w","Y","y","Y","Z","z","Z","z","Z","z","s","b","B","B","b","6","6","O","C","c","D","D","D","d","d","3","@","E","F","f","G","G","hv","I","I","K","k","l","l","W","N","n","O","O","o","OI","oi","P","p","YR","2","2","SH","sh","t","T","t","T","U","u","Y","V","Y","y","Z","z","ZH","ZH","zh","zh","2","5","5","ts","w","|","||","|=","!","DZ","Dz","dz","LJ","Lj","lj","NJ","Nj","nj","A","a","I","i","O","o","U","u","U","u","U","u","U","u","U","u","@","A","a","A","a","AE","ae","G","g","G","g","K","k","O","o","O","o","ZH","zh","j","DZ","D","dz","G","g","HV","W","N","n","A","a","AE","ae","O","o"],mT[2]=["A","a","A","a","E","e","E","e","I","i","I","i","O","o","O","o","R","r","R","r","U","u","U","u","S","s","T","t","Y","y","H","h","N","d","OU","ou","Z","z","A","a","E","e","O","o","O","o","O","o","O","o","Y","y","l","n","t","j","db","qp","A","C","c","L","T","s","z","?","?","B","U","V","E","e","J","j","Q","q","R","r","Y","y","a","a","a","b","o","c","d","d","e","@","@","e","e","e","e","j","g","g","g","g","u","Y","h","h","i","i","I","l","l","l","lZ","W","W","m","n","n","n","o","OE","O","F","R","R","R","R","r","r","R","R","R","s","S","j","S","S","t","t","U","U","v","^","W","Y","Y","z","z","Z","Z","?","?","?","C","@","B","E","G","H","j","k","L","q","?","?","dz","dZ","dz","ts","tS","tC","fN","ls","lz","WW","]]","h","h","k","h","j","r","r","r","r","w","y","'",'"',"`","'","`","`","'","?","?","<",">","^","V","^","V","'","-","/","\\",",","_","\\","/",":",".","`","'","^","V","+","-","V",".","@",",","~",'"',"R","X","G","l","s","x","?",null,null,null,null,null,null,null,"V","=",'"'],mT[3]=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"'",",",null,null,null,null,null,null,null,null,"?",null,null,null,null,null,null,null,"A",";","E","I","I",null,"O",null,"U","O","I","A","V","G","D","E","Z","I","Th","I","K","L","M","N","X","O","P","R",null,"S","T","Y","F","H","Ps","O","I","Y","a","e","i","i","y","a","v","g","d","e","z","i","th","i","k","l","m","n","x","o","p","r","s","s","t","y","f","h","ps","o","i","y","o","y","o",null,"b","th","U","U","U","ph","p","&",null,null,"St","st","W","w","Q","q","Sp","sp","Sh","sh","F","f","Kh","kh","H","h","G","g","CH","ch","Ti","ti","k","r","c","j"],mT[4]=["Jo","Yo","Dj","Gj","Ie","Dz","I","Yi","J","Lj","Nj","Tsh","Kj","I","U","Dzh","A","B","V","G","D","E","Zh","Z","I","Y","K","L","M","N","O","P","R","S","T","U","F","H","C","Ch","Sh","Shch",null,"Y",null,"E","Yu","Ya","a","b","v","g","d","e","zh","z","i","y","k","l","m","n","o","p","r","s","t","u","f","h","c","ch","sh","shch",null,"y",null,"e","yu","ya","je","yo","dj","gj","ie","dz","i","yi","j","lj","nj","tsh","kj","i","u","dzh","O","o","E","e","Ie","ie","E","e","Ie","ie","O","o","Io","io","Ks","ks","Ps","ps","F","f","Y","y","Y","y","u","u","O","o","O","o","Ot","ot","Q","q","*1000*",null,null,null,null,null,"*100.000*","*1.000.000*",null,null,'"','"',"R'","r'","G'","g'","G'","g'","G'","g'","Zh'","zh'","Z'","z'","K'","k'","K'","k'","K'","k'","K'","k'","N'","n'","Ng","ng","P'","p'","Kh","kh","S'","s'","T'","t'","U","u","U'","u'","Kh'","kh'","Tts","tts","Ch'","ch'","Ch'","ch'","H","h","Ch","ch","Ch'","ch'","`","Zh","zh","K'","k'",null,null,"N'","n'",null,null,"Ch","ch",null,null,null,"a","a","A","a","Ae","ae","Ie","ie","@","@","@","@","Zh","zh","Z","z","Dz","dz","I","i","I","i","O","o","O","o","O","o","E","e","U","u","U","u","U","u","Ch","ch",null,null,"Y","y"],mT[5]=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"A","B","G","D","E","Z","E","E","T`","Zh","I","L","Kh","Ts","K","H","Dz","Gh","Ch","M","Y","N","Sh","O","Ch`","P","J","Rh","S","V","T","R","Ts`","W","P`","K`","O","F",null,null,"<","'","/","!",",","?",".",null,"a","b","g","d","e","z","e","e","t`","zh","i","l","kh","ts","k","h","dz","gh","ch","m","y","n","sh","o","ch`","p","j","rh","s","v","t","r","ts`","w","p`","k`","o","f","ew",null,".","-",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"@","e","a","o","i","e","e","a","a","o",null,"u","'",null,null,null,null,null,null,":",null,null,null,null,null,null,null,null,null,null,null,null,null,"b","g","d","h","v","z","kh","t","y","k","k","l","m","m","n","n","s","`","p","p","ts","ts","q","r","sh","t",null,null,null,null,null,"V","oy","i","'",'"'],mT[6]=[null,null,null,null,null,null,null,null,null,null,null,null,",",null,null,null,null,null,null,null,null,null,null,null,null,null,null,";",null,null,null,"?",null,null,"a","'","w'",null,"y'",null,"b","@","t","th","j","H","kh","d","dh","r","z","s","sh","S","D","T","Z","aa","G",null,null,null,null,null,null,"f","q","k","l","m","n","h","w","~","y","an","un","in","a","u","i","W",null,null,"'","'",null,null,null,null,null,null,null,null,null,null,"0","1","2","3","4","5","6","7","8","9","%",".",",","*",null,null,null,"'","'","'",null,"'","'w","'u","'y","tt","tth","b","t","T","p","th","bh","'h","H","ny","dy","H","ch","cch","dd","D","D","Dt","dh","ddh","d","D","D","rr","R","R","R","R","R","R","j","R","S","S","S","S","S","T","GH","F","F","F","v","f","ph","Q","Q","kh","k","K","K","ng","K","g","G","N","G","G","G","L","L","L","L","N","N","N","N","N","h","Ch","hy","h","H","@","W","oe","oe","u","yu","yu","W","v","y","Y","Y","W",null,null,"y","y'",".","ae",null,null,null,null,null,null,null,"@","#",null,null,null,null,null,null,null,null,null,null,"^",null,null,null,null,null,null,"0","1","2","3","4","5","6","7","8","9","Sh","D","Gh","&","+m"],mT[7]=["//","/",",","!","!","-",",",",",";","?","~","{","}","*",null,null,"'",null,"b","g","g","d","d","h","w","z","H","t","t","y","yh","k","l","m","n","s","s","`","p","p","S","q","r","sh","t",null,null,null,"a","a","a","A","A","A","e","e","e","E","i","i","u","u","u","o",null,"`","'",null,null,"X","Q","@","@","|","+",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"h","sh","n","r","b","L","k","'","v","m","f","dh","th","l","g","ny","s","d","z","t","y","p","j","ch","tt","hh","kh","th","z","sh","s","d","t","z","`","gh","q","w","a","aa","i","ee","u","oo","e","ey","o","oa"],mT[9]=[null,"N","N","H",null,"a","aa","i","ii","u","uu","R","L","eN","e","e","ai","oN","o","o","au","k","kh","g","gh","ng","c","ch","j","jh","ny","tt","tth","dd","ddh","nn","t","th","d","dh","n","nnn","p","ph","b","bh","m","y","r","rr","l","l","lll","v","sh","ss","s","h",null,null,"'","'","aa","i","ii","u","uu","R","RR","eN","e","e","ai","oN","o","o","au",null,null,null,"AUM","'","'","`","'",null,null,null,"q","khh","ghh","z","dddh","rh","f","yy","RR","LL","L","LL"," / "," // ","0","1","2","3","4","5","6","7","8","9",".",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"N","N","H",null,"a","aa","i","ii","u","uu","R","RR",null,null,"e","ai",null,null,"o","au","k","kh","g","gh","ng","c","ch","j","jh","ny","tt","tth","dd","ddh","nn","t","th","d","dh","n",null,"p","ph","b","bh","m","y","r",null,"l",null,null,null,"sh","ss","s","h",null,null,"'",null,"aa","i","ii","u","uu","R","RR",null,null,"e","ai",null,null,"o","au",null,null,null,null,null,null,null,null,null,null,"+",null,null,null,null,"rr","rh",null,"yy","RR","LL","L","LL",null,null,"0","1","2","3","4","5","6","7","8","9","r'","r`","Rs","Rs","1/","2/","3/","4/"," 1 - 1/","/16"],mT[10]=[null,null,"N",null,null,"a","aa","i","ii","u","uu",null,null,null,null,"ee","ai",null,null,"oo","au","k","kh","g","gh","ng","c","ch","j","jh","ny","tt","tth","dd","ddh","nn","t","th","d","dh","n",null,"p","ph","b","bb","m","y","r",null,"l","ll",null,"v","sh",null,"s","h",null,null,"'",null,"aa","i","ii","u","uu",null,null,null,null,"ee","ai",null,null,"oo","au",null,null,null,null,null,null,null,null,null,null,null,null,"khh","ghh","z","rr",null,"f",null,null,null,null,null,null,null,"0","1","2","3","4","5","6","7","8","9","N","H",null,null,"G.E.O.",null,null,null,null,null,null,null,null,null,null,null,null,"N","N","H",null,"a","aa","i","ii","u","uu","R",null,"eN",null,"e","ai","oN",null,"o","au","k","kh","g","gh","ng","c","ch","j","jh","ny","tt","tth","dd","ddh","nn","t","th","d","dh","n",null,"p","ph","b","bh","m","ya","r",null,"l","ll",null,"v","sh","ss","s","h",null,null,"'","'","aa","i","ii","u","uu","R","RR","eN",null,"e","ai","oN",null,"o","au",null,null,null,"AUM",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"RR",null,null,null,null,null,"0","1","2","3","4","5","6","7","8","9"],mT[11]=[null,"N","N","H",null,"a","aa","i","ii","u","uu","R","L",null,null,"e","ai",null,null,"o","au","k","kh","g","gh","ng","c","ch","j","jh","ny","tt","tth","dd","ddh","nn","t","th","d","dh","n",null,"p","ph","b","bh","m","y","r",null,"l","ll",null,null,"sh","ss","s","h",null,null,"'","'","aa","i","ii","u","uu","R",null,null,null,"e","ai",null,null,"o","au",null,null,null,null,null,null,null,null,null,"+","+",null,null,null,null,"rr","rh",null,"yy","RR","LL",null,null,null,null,"0","1","2","3","4","5","6","7","8","9",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"N","H",null,"a","aa","i","ii","u","uu",null,null,null,"e","ee","ai",null,"o","oo","au","k",null,null,null,"ng","c",null,"j",null,"ny","tt",null,null,null,"nn","t",null,null,null,"n","nnn","p",null,null,null,"m","y","r","rr","l","ll","lll","v",null,"ss","s","h",null,null,null,null,"aa","i","ii","u","uu",null,null,null,"e","ee","ai",null,"o","oo","au",null,null,null,null,null,null,null,null,null,null,"+",null,null,null,null,null,null,null,null,null,null,null,null,null,null,"0","1","2","3","4","5","6","7","8","9","+10+","+100+","+1000+"],mT[12]=[null,"N","N","H",null,"a","aa","i","ii","u","uu","R","L",null,"e","ee","ai",null,"o","oo","au","k","kh","g","gh","ng","c","ch","j","jh","ny","tt","tth","dd","ddh","nn","t","th","d","dh","n",null,"p","ph","b","bh","m","y","r","rr","l","ll",null,"v","sh","ss","s","h",null,null,null,null,"aa","i","ii","u","uu","R","RR",null,"e","ee","ai",null,"o","oo","au",null,null,null,null,null,null,null,null,"+","+",null,null,null,null,null,null,null,null,null,"RR","LL",null,null,null,null,"0","1","2","3","4","5","6","7","8","9",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"N","H",null,"a","aa","i","ii","u","uu","R","L",null,"e","ee","ai",null,"o","oo","au","k","kh","g","gh","ng","c","ch","j","jh","ny","tt","tth","dd","ddh","nn","t","th","d","dh","n",null,"p","ph","b","bh","m","y","r","rr","l","ll",null,"v","sh","ss","s","h",null,null,null,null,"aa","i","ii","u","uu","R","RR",null,"e","ee","ai",null,"o","oo","au",null,null,null,null,null,null,null,null,"+","+",null,null,null,null,null,null,null,"lll",null,"RR","LL",null,null,null,null,"0","1","2","3","4","5","6","7","8","9"],mT[13]=[null,null,"N","H",null,"a","aa","i","ii","u","uu","R","L",null,"e","ee","ai",null,"o","oo","au","k","kh","g","gh","ng","c","ch","j","jh","ny","tt","tth","dd","ddh","nn","t","th","d","dh","n",null,"p","ph","b","bh","m","y","r","rr","l","ll","lll","v","sh","ss","s","h",null,null,null,null,"aa","i","ii","u","uu","R",null,null,"e","ee","ai",null,"o","oo","au",null,null,null,null,null,null,null,null,null,null,"+",null,null,null,null,null,null,null,null,"RR","LL",null,null,null,null,"0","1","2","3","4","5","6","7","8","9",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"N","H",null,"a","aa","ae","aae","i","ii","u","uu","R","RR","L","LL","e","ee","ai","o","oo","au",null,null,null,"k","kh","g","gh","ng","nng","c","ch","j","jh","ny","jny","nyj","tt","tth","dd","ddh","nn","nndd","t","th","d","dh","n",null,"nd","p","ph","b","bh","m","mb","y","r",null,"l",null,null,"v","sh","ss","s","h","ll","f",null,null,null,null,null,null,null,null,"aa","ae","aae","i","ii","u",null,"uu",null,"R","e","ee","ai","o","oo","au","L",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"RR","LL"," . "],mT[14]=[null,"k","kh","kh","kh","kh","kh","ng","cch","ch","ch","ch","ch","y","d","t","th","th","th","n","d","t","th","th","th","n","b","p","ph","f","ph","f","ph","m","y","r","R","l","L","w","s","s","s","h","l","`","h","~","a","a","aa","am","i","ii","ue","uue","u","uu","'",null,null,null,null,"Bh.","e","ae","o","ai","ai","ao","+",null,null,null,null,null,null,"M",null," * ","0","1","2","3","4","5","6","7","8","9"," // "," /// ",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"k","kh",null,"kh",null,null,"ng","ch",null,"s",null,null,"ny",null,null,null,null,null,null,"d","h","th","th",null,"n","b","p","ph","f","ph","f",null,"m","y","r",null,"l",null,"w",null,null,"s","h",null,"`",null,"~","a",null,"aa","am","i","ii","y","yy","u","uu",null,"o","l","ny",null,null,"e","ei","o","ay","ai",null,"+",null,null,null,null,null,null,"M",null,null,"0","1","2","3","4","5","6","7","8","9",null,null,"hn","hm"],mT[15]=["AUM",null,null,null,null,null,null,null," // "," * ",null,"-"," / "," / "," // "," -/ "," +/ "," X/ "," /XX/ "," /X/ ",",",null,null,null,null,null,null,null,null,null,null,null,"0","1","2","3","4","5","6","7","8","9",".5","1.5","2.5","3.5","4.5","5.5","6.5","7.5","8.5","-.5","+","*","^","_",null,"~",null,"]","[[","]]",null,null,"k","kh","g","gh","ng","c","ch","j",null,"ny","tt","tth","dd","ddh","nn","t","th","d","dh","n","p","ph","b","bh","m","ts","tsh","dz","dzh","w","zh","z","'","y","r","l","sh","ssh","s","h","a","kss","r",null,null,null,null,null,null,"aa","i","ii","u","uu","R","RR","L","LL","e","ee","o","oo","M","H","i","ii",null,null,null,null,null,null,null,null,null,null,null,null,null,null,"k","kh","g","gh","ng","c","ch","j",null,"ny","tt","tth","dd","ddh","nn","t","th","d","dh","n","p","ph","b","bh","m","ts","tsh","dz","dzh","w","zh","z","'","y","r","l","sh","ss","s","h","a","kss","w","y","r",null,"X"," :X: "," /O/ "," /o/ "," \\o\\ "," (O) "],mT[16]=["k","kh","g","gh","ng","c","ch","j","jh","ny","nny","tt","tth","dd","ddh","nn","tt","th","d","dh","n","p","ph","b","bh","m","y","r","l","w","s","h","ll","a",null,"i","ii","u","uu","e",null,"o","au",null,"aa","i","ii","u","uu","e","ai",null,null,null,"N","'",":",null,null,null,null,null,null,null,"0","1","2","3","4","5","6","7","8","9"," / "," // ","n*","r*","l*","e*","sh","ss","R","RR","L","LL","R","RR","L","LL",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"A","B","G","D","E","V","Z","T`","I","K","L","M","N","O","P","Zh","R","S","T","U","P`","K`","G'","Q","Sh","Ch`","C`","Z'","C","Ch","X","J","H","E","Y","W","Xh","OE",null,null,null,null,null,null,null,null,null,null,"a","b","g","d","e","v","z","t`","i","k","l","m","n","o","p","zh","r","s","t","u","p`","k`","g'","q","sh","ch`","c`","z'","c","ch","x","j","h","e","y","w","xh","oe","f",null,null,null,null," // "],mT[17]=["g","gg","n","d","dd","r","m","b","bb","s","ss",null,"j","jj","c","k","t","p","h","ng","nn","nd","nb","dg","rn","rr","rh","rN","mb","mN","bg","bn",null,"bs","bsg","bst","bsb","bss","bsj","bj","bc","bt","bp","bN","bbN","sg","sn","sd","sr","sm","sb","sbg","sss","s","sj","sc","sk","st","sp","sh",null,null,null,null,"Z","g","d","m","b","s","Z",null,"j","c","t","p","N","j",null,null,null,null,"ck","ch",null,null,"pb","pN","hh","Q",null,null,null,null,null,null,null,"a","ae","ya","yae","eo","e","yeo","ye","o","wa","wae","oe","yo","u","weo","we","wi","yu","eu","yi","i","a-o","a-u","ya-o","ya-yo","eo-o","eo-u","eo-eu","yeo-o","yeo-u","o-eo","o-e","o-ye","o-o","o-u","yo-ya","yo-yae","yo-yeo","yo-o","yo-i","u-a","u-ae","u-eo-eu","u-ye","u-u","yu-a","yu-eo","yu-e","yu-yeo","yu-ye","yu-u","yu-i","eu-u","eu-eu","yi-u","i-a","i-ya","i-o","i-u","i-eu","i-U","U","U-eo","U-u","U-i","UU",null,null,null,null,null,"g","gg","gs","n","nj","nh","d","l","lg","lm","lb","ls","lt","lp","lh","m","b","bs","s","ss","ng","j","c","k","t","p","h","gl","gsg","ng","nd","ns","nZ","nt","dg","tl","lgs","ln","ld","lth","ll","lmg","lms","lbs","lbh","rNp","lss","lZ","lk","lQ","mg","ml","mb","ms","mss","mZ","mc","mh","mN","bl","bp","ph","pN","sg","sd","sl","sb","Z","g","ss",null,"kh","N","Ns","NZ","pb","pN","hn","hl","hm","hb","Q"],mT[18]=["ha","hu","hi","haa","hee","he","ho",null,"la","lu","li","laa","lee","le","lo","lwa","hha","hhu","hhi","hhaa","hhee","hhe","hho","hhwa","ma","mu","mi","maa","mee","me","mo","mwa","sza","szu","szi","szaa","szee","sze","szo","szwa","ra","ru","ri","raa","ree","re","ro","rwa","sa","su","si","saa","see","se","so","swa","sha","shu","shi","shaa","shee","she","sho","shwa","qa","qu","qi","qaa","qee","qe","qo",null,"qwa",null,"qwi","qwaa","qwee","qwe",null,null,"qha","qhu","qhi","qhaa","qhee","qhe","qho",null,"qhwa",null,"qhwi","qhwaa","qhwee","qhwe",null,null,"ba","bu","bi","baa","bee","be","bo","bwa","va","vu","vi","vaa","vee","ve","vo","vwa","ta","tu","ti","taa","tee","te","to","twa","ca","cu","ci","caa","cee","ce","co","cwa","xa","xu","xi","xaa","xee","xe","xo",null,"xwa",null,"xwi","xwaa","xwee","xwe",null,null,"na","nu","ni","naa","nee","ne","no","nwa","nya","nyu","nyi","nyaa","nyee","nye","nyo","nywa","'a","'u",null,"'aa","'ee","'e","'o","'wa","ka","ku","ki","kaa","kee","ke","ko",null,"kwa",null,"kwi","kwaa","kwee","kwe",null,null,"kxa","kxu","kxi","kxaa","kxee","kxe","kxo",null,"kxwa",null,"kxwi","kxwaa","kxwee","kxwe",null,null,"wa","wu","wi","waa","wee","we","wo",null,"`a","`u","`i","`aa","`ee","`e","`o",null,"za","zu","zi","zaa","zee","ze","zo","zwa","zha","zhu","zhi","zhaa","zhee","zhe","zho","zhwa","ya","yu","yi","yaa","yee","ye","yo",null,"da","du","di","daa","dee","de","do","dwa","dda","ddu","ddi","ddaa","ddee","dde","ddo","ddwa"],mT[19]=["ja","ju","ji","jaa","jee","je","jo","jwa","ga","gu","gi","gaa","gee","ge","go",null,"gwa",null,"gwi","gwaa","gwee","gwe",null,null,"gga","ggu","ggi","ggaa","ggee","gge","ggo",null,"tha","thu","thi","thaa","thee","the","tho","thwa","cha","chu","chi","chaa","chee","che","cho","chwa","pha","phu","phi","phaa","phee","phe","pho","phwa","tsa","tsu","tsi","tsaa","tsee","tse","tso","tswa","tza","tzu","tzi","tzaa","tzee","tze","tzo",null,"fa","fu","fi","faa","fee","fe","fo","fwa","pa","pu","pi","paa","pee","pe","po","pwa","rya","mya","fya",null,null,null,null,null,null," ",".",",",";",":",":: ","?","//","1","2","3","4","5","6","7","8","9","10+","20+","30+","40+","50+","60+","70+","80+","90+","100+","10,000+",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"a","e","i","o","u","v","ga","ka","ge","gi","go","gu","gv","ha","he","hi","ho","hu","hv","la","le","li","lo","lu","lv","ma","me","mi","mo","mu","na","hna","nah","ne","ni","no","nu","nv","qua","que","qui","quo","quu","quv","sa","s","se","si","so","su","sv","da","ta","de","te","di","ti","do","du","dv","dla","tla","tle","tli","tlo","tlu","tlv","tsa","tse","tsi","tso","tsu","tsv","wa","we","wi","wo","wu","wv","ya","ye","yi","yo","yu","yv"],mT[20]=[null,"ai","aai","i","ii","u","uu","oo","ee","i","a","aa","we","we","wi","wi","wii","wii","wo","wo","woo","woo","woo","wa","wa","waa","waa","waa","ai","w","'","t","k","sh","s","n","w","n",null,"w","c","?","l","en","in","on","an","pai","paai","pi","pii","pu","puu","poo","hee","hi","pa","paa","pwe","pwe","pwi","pwi","pwii","pwii","pwo","pwo","pwoo","pwoo","pwa","pwa","pwaa","pwaa","pwaa","p","p","h","tai","taai","ti","tii","tu","tuu","too","dee","di","ta","taa","twe","twe","twi","twi","twii","twii","two","two","twoo","twoo","twa","twa","twaa","twaa","twaa","t","tte","tti","tto","tta","kai","kaai","ki","kii","ku","kuu","koo","ka","kaa","kwe","kwe","kwi","kwi","kwii","kwii","kwo","kwo","kwoo","kwoo","kwa","kwa","kwaa","kwaa","kwaa","k","kw","keh","kih","koh","kah","gai","caai","gi","gii","gu","guu","coo","ga","gaa","cwe","cwe","cwi","cwi","cwii","cwii","cwo","cwo","cwoo","cwoo","cwa","cwa","cwaa","cwaa","cwaa","g","th","mai","maai","mi","mii","mu","muu","moo","ma","maa","mwe","mwe","mwi","mwi","mwii","mwii","mwo","mwo","mwoo","mwoo","mwa","mwa","mwaa","mwaa","mwaa","m","m","mh","m","m","nai","naai","ni","nii","nu","nuu","noo","na","naa","nwe","nwe","nwa","nwa","nwaa","nwaa","nwaa","n","ng","nh","lai","laai","li","lii","lu","luu","loo","la","laa","lwe","lwe","lwi","lwi","lwii","lwii","lwo","lwo","lwoo","lwoo","lwa","lwa","lwaa","lwaa","l","l","l","sai","saai","si","sii","su","suu","soo","sa","saa","swe","swe","swi","swi","swii","swii","swo","swo","swoo","swoo"],mT[21]=["swa","swa","swaa","swaa","swaa","s","s","sw","s","sk","skw","sW","spwa","stwa","skwa","scwa","she","shi","shii","sho","shoo","sha","shaa","shwe","shwe","shwi","shwi","shwii","shwii","shwo","shwo","shwoo","shwoo","shwa","shwa","shwaa","shwaa","sh","jai","yaai","ji","jii","ju","juu","yoo","ja","jaa","ywe","ywe","ywi","ywi","ywii","ywii","ywo","ywo","ywoo","ywoo","ywa","ywa","ywaa","ywaa","ywaa","j","y","y","yi","re","rai","le","raai","ri","rii","ru","ruu","lo","ra","raa","la","rwaa","rwaa","r","r","r","vai","faai","vi","vii","vu","vuu","va","vaa","fwaa","fwaa","v","the","the","thi","thi","thii","thii","tho","thoo","tha","thaa","thwaa","thwaa","th","tthe","tthi","ttho","ttha","tth","tye","tyi","tyo","tya","he","hi","hii","ho","hoo","ha","haa","h","h","hk","qaai","qi","qii","qu","quu","qa","qaa","q","tlhe","tlhi","tlho","tlha","re","ri","ro","ra","ngaai","ngi","ngii","ngu","nguu","nga","ngaa","ng","nng","she","shi","sho","sha","the","thi","tho","tha","th","lhi","lhii","lho","lhoo","lha","lhaa","lh","the","thi","thii","tho","thoo","tha","thaa","th","b","e","i","o","a","we","wi","wo","wa","ne","ni","no","na","ke","ki","ko","ka","he","hi","ho","ha","ghu","gho","ghe","ghee","ghi","gha","ru","ro","re","ree","ri","ra","wu","wo","we","wee","wi","wa","hwu","hwo","hwe","hwee","hwi","hwa","thu","tho","the","thee","thi","tha","ttu","tto","tte","ttee","tti","tta","pu","po","pe","pee","pi","pa","p","gu","go","ge","gee","gi","ga","khu","kho","khe","khee","khi","kha","kku","kko","kke","kkee","kki"],mT[22]=["kka","kk","nu","no","ne","nee","ni","na","mu","mo","me","mee","mi","ma","yu","yo","ye","yee","yi","ya","ju","ju","jo","je","jee","ji","ji","ja","jju","jjo","jje","jjee","jji","jja","lu","lo","le","lee","li","la","dlu","dlo","dle","dlee","dli","dla","lhu","lho","lhe","lhee","lhi","lha","tlhu","tlho","tlhe","tlhee","tlhi","tlha","tlu","tlo","tle","tlee","tli","tla","zu","zo","ze","zee","zi","za","z","z","dzu","dzo","dze","dzee","dzi","dza","su","so","se","see","si","sa","shu","sho","she","shee","shi","sha","sh","tsu","tso","tse","tsee","tsi","tsa","chu","cho","che","chee","chi","cha","ttsu","ttso","ttse","ttsee","ttsi","ttsa","X",".","qai","ngai","nngi","nngii","nngo","nngoo","nnga","nngaa",null,null,null,null,null,null,null,null,null," ","b","l","f","s","n","h","d","t","c","q","m","g","ng","z","r","a","o","u","e","i","ch","th","ph","p","x","p","<",">",null,null,null,"f","v","u","yr","y","w","th","th","a","o","ac","ae","o","o","o","oe","on","r","k","c","k","g","ng","g","g","w","h","h","h","h","n","n","n","i","e","j","g","ae","a","eo","p","z","s","s","s","c","z","t","t","d","b","b","p","p","e","m","m","m","l","l","ng","ng","d","o","ear","ior","qu","qu","qu","s","yr","yr","yr","q","x",".",":","+","17","18","19"],mT[23]=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"k","kh","g","gh","ng","c","ch","j","jh","ny","t","tth","d","ddh","nn","t","th","d","dh","n","p","ph","b","bh","m","y","r","l","v","sh","ss","s","h","l","q","a","aa","i","ii","u","uk","uu","uuv","ry","ryy","ly","lyy","e","ai","oo","oo","au","a","aa","aa","i","ii","y","yy","u","uu","ua","oe","ya","ie","e","ae","ai","oo","au","M","H","a`",null,null,null,"r",null,"!",null,null,null,null,null,"."," // ",":","+","++"," * "," /// ","KR","'",null,null,null,"0","1","2","3","4","5","6","7","8","9"],mT[24]=[" @ "," ... ",",",". ",": "," // ",null,"-",",",". ",null,null,null,null,null,null,"0","1","2","3","4","5","6","7","8","9",null,null,null,null,null,null,"a","e","i","o","u","O","U","ee","n","ng","b","p","q","g","m","l","s","sh","t","d","ch","j","y","r","w","f","k","kha","ts","z","h","zr","lh","zh","ch","-","e","i","o","u","O","U","ng","b","p","q","g","m","t","d","ch","j","ts","y","w","k","g","h","jy","ny","dz","e","i","iy","U","u","ng","k","g","h","p","sh","t","d","j","f","g","h","ts","z","r","ch","zh","i","k","r","f","zh",null,null,null,null,null,null,null,null,null,"H","X","W","M"," 3 "," 333 ","a","i","k","ng","c","tt","tth","dd","nn","t","d","p","ph","ss","zh","z","a","t","zh","gh","ng","c","jh","tta","ddh","t","dh","ss","cy","zh","z","u","y","bh","'"],mT[30]=["A","a","B","b","B","b","B","b","C","c","D","d","D","d","D","d","D","d","D","d","E","e","E","e","E","e","E","e","E","e","F","f","G","g","H","h","H","h","H","h","H","h","H","h","I","i","I","i","K","k","K","k","K","k","L","l","L","l","L","l","L","l","M","m","M","m","M","m","N","n","N","n","N","n","N","n","O","o","O","o","O","o","O","o","P","p","P","p","R","r","R","r","R","r","R","r","S","s","S","s","S","s","S","s","S","s","T","t","T","t","T","t","T","t","U","u","U","u","U","u","U","u","U","u","V","v","V","v","W","w","W","w","W","w","W","w","W","w","X","x","X","x","Y","y","Z","z","Z","z","Z","z","h","t","w","y","a","S",null,null,null,null,"A","a","A","a","A","a","A","a","A","a","A","a","A","a","A","a","A","a","A","a","A","a","A","a","E","e","E","e","E","e","E","e","E","e","E","e","E","e","E","e","I","i","I","i","O","o","O","o","O","o","O","o","O","o","O","o","O","o","O","o","O","o","O","o","O","o","O","o","U","u","U","u","U","u","U","u","U","u","U","u","U","u","Y","y","Y","y","Y","y","Y","y"],mT[31]=["a","a","a","a","a","a","a","a","A","A","A","A","A","A","A","A","e","e","e","e","e","e",null,null,"E","E","E","E","E","E",null,null,"e","e","e","e","e","e","e","e","E","E","E","E","E","E","E","E","i","i","i","i","i","i","i","i","I","I","I","I","I","I","I","I","o","o","o","o","o","o",null,null,"O","O","O","O","O","O",null,null,"u","u","u","u","u","u","u","u",null,"U",null,"U",null,"U",null,"U","o","o","o","o","o","o","o","o","O","O","O","O","O","O","O","O","a","a","e","e","e","e","i","i","o","o","u","u","o","o",null,null,"a","a","a","a","a","a","a","a","A","A","A","A","A","A","A","A","e","e","e","e","e","e","e","e","E","E","E","E","E","E","E","E","o","o","o","o","o","o","o","o","O","O","O","O","O","O","O","O","a","a","a","a","a",null,"a","a","A","A","A","A","A","'","i","'","~",'"~',"e","e","e",null,"e","e","E","E","E","E","E","'`","''","'~","i","i","i","i",null,null,"i","i","I","I","I","I",null,"`'","`'","`~","u","u","u","u","R","R","u","u","U","U","U","U","R",'"`',"\"'","`",null,null,"o","o","o",null,"o","o","O","O","O","O","O","'","`"],mT[32]=mS,mT[33]=[null,null,"C",null,null,null,null,null,null,null,"g","H","H","H","h",null,"I","I","L","l","lb","N","no","(p)","P","P","Q","R","R","R",null,null,"(sm)","(tel)","(tm)",null,"Z",null,null,"mho","Z",null,null,null,"B","C","e","e",null,"F",null,"M","o",null,null,null,null,"i","Q","(fax)","pi",null,null,"Pi",null,"G","L","L","Y","D","d","e","i","j",null,null,"per",null,null,null,null,null,null," 1/3 "," 2/3 "," 1/5 "," 2/5 "," 3/5 "," 4/5 "," 1/6 "," 5/6 "," 1/8 "," 3/8 "," 5/8 "," 7/8 "," 1/","I","II","III","IV","V","VI","VII","VIII","IX","X","XI","XII","L","C","D","M","i","ii","iii","iv","v","vi","vii","viii","ix","x","xi","xii","l","c","d","m","(D","D)","((|))",")",null,null,null,null,null,null,null,null,null,null,null,null,"-","|","-","|","-","|","\\","/","\\","/","-","-","~","~","-","|","-","|","-","-","-","|","-","|","|","-","-","-","-","-","-","|","|","|","|","|","|","|","^","V","\\","=","V","^","-","-","|","|","-","-","|","|","=","|","=","=","|","=","|","=","=","=","=","=","=","|","=","|","=","|","\\","/","\\","/","=","=","~","~","|","|","-","|","-","|","-","-","-","|","-","|","|","|","|","|","|","|","-","\\","\\","|"],mT[37]=["-","-","|","|","-","-","|","|","-","-","|","|","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","-","-","|","|","-","|","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","/","\\","X","-","|","-","|","-","|","-","|","-","|","-","|","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","-","|",null,null,null,null,null,null,null,null,null,null,"#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","^","^","^","^",">",">",">",">",">",">","V","V","V","V","<","<","<","<","<","<","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","#","#","#","#","#","^","^","^","O","#","#","#","#","#","#","#","#"],mT[40]=[" ","a","1","b","'","k","2","l","@","c","i","f","/","m","s","p",'"',"e","3","h","9","o","6","r","^","d","j","g",">","n","t","q",",","*","5","<","-","u","8","v",".","%","[","$","+","x","!","&",";",":","4","\\","0","z","7","(","_","?","w","]","#","y",")","=","[d7]","[d17]","[d27]","[d127]","[d37]","[d137]","[d237]","[d1237]","[d47]","[d147]","[d247]","[d1247]","[d347]","[d1347]","[d2347]","[d12347]","[d57]","[d157]","[d257]","[d1257]","[d357]","[d1357]","[d2357]","[d12357]","[d457]","[d1457]","[d2457]","[d12457]","[d3457]","[d13457]","[d23457]","[d123457]","[d67]","[d167]","[d267]","[d1267]","[d367]","[d1367]","[d2367]","[d12367]","[d467]","[d1467]","[d2467]","[d12467]","[d3467]","[d13467]","[d23467]","[d123467]","[d567]","[d1567]","[d2567]","[d12567]","[d3567]","[d13567]","[d23567]","[d123567]","[d4567]","[d14567]","[d24567]","[d124567]","[d34567]","[d134567]","[d234567]","[d1234567]","[d8]","[d18]","[d28]","[d128]","[d38]","[d138]","[d238]","[d1238]","[d48]","[d148]","[d248]","[d1248]","[d348]","[d1348]","[d2348]","[d12348]","[d58]","[d158]","[d258]","[d1258]","[d358]","[d1358]","[d2358]","[d12358]","[d458]","[d1458]","[d2458]","[d12458]","[d3458]","[d13458]","[d23458]","[d123458]","[d68]","[d168]","[d268]","[d1268]","[d368]","[d1368]","[d2368]","[d12368]","[d468]","[d1468]","[d2468]","[d12468]","[d3468]","[d13468]","[d23468]","[d123468]","[d568]","[d1568]","[d2568]","[d12568]","[d3568]","[d13568]","[d23568]","[d123568]","[d4568]","[d14568]","[d24568]","[d124568]","[d34568]","[d134568]","[d234568]","[d1234568]","[d78]","[d178]","[d278]","[d1278]","[d378]","[d1378]","[d2378]","[d12378]","[d478]","[d1478]","[d2478]","[d12478]","[d3478]","[d13478]","[d23478]","[d123478]","[d578]","[d1578]","[d2578]","[d12578]","[d3578]","[d13578]","[d23578]","[d123578]","[d4578]","[d14578]","[d24578]","[d124578]","[d34578]","[d134578]","[d234578]","[d1234578]","[d678]","[d1678]","[d2678]","[d12678]","[d3678]","[d13678]","[d23678]","[d123678]","[d4678]","[d14678]","[d24678]","[d124678]","[d34678]","[d134678]","[d234678]","[d1234678]","[d5678]","[d15678]","[d25678]","[d125678]","[d35678]","[d135678]","[d235678]","[d1235678]","[d45678]","[d145678]","[d245678]","[d1245678]","[d345678]","[d1345678]","[d2345678]","[d12345678]"],mT[48]=[" ",",",". ",'"',"[JIS]",'"',"/","0","<","> ","<<",">> ","[","] ","{","} ","[(",")] ","@","X ","[","] ","[[","]] ","((",")) ","[[","]] ","~ ","``","''",",,","@","1","2","3","4","5","6","7","8","9",null,null,null,null,null,null,"~","+","+","+","+",null,"@"," // ","+10+","+20+","+30+",null,null,null,null,null,null,"a","a","i","i","u","u","e","e","o","o","ka","ga","ki","gi","ku","gu","ke","ge","ko","go","sa","za","si","zi","su","zu","se","ze","so","zo","ta","da","ti","di","tu","tu","du","te","de","to","do","na","ni","nu","ne","no","ha","ba","pa","hi","bi","pi","hu","bu","pu","he","be","pe","ho","bo","po","ma","mi","mu","me","mo","ya","ya","yu","yu","yo","yo","ra","ri","ru","re","ro","wa","wa","wi","we","wo","n","vu",null,null,null,null,null,null,null,null,'"','"',null,null,"a","a","i","i","u","u","e","e","o","o","ka","ga","ki","gi","ku","gu","ke","ge","ko","go","sa","za","si","zi","su","zu","se","ze","so","zo","ta","da","ti","di","tu","tu","du","te","de","to","do","na","ni","nu","ne","no","ha","ba","pa","hi","bi","pi","hu","bu","pu","he","be","pe","ho","bo","po","ma","mi","mu","me","mo","ya","ya","yu","yu","yo","yo","ra","ri","ru","re","ro","wa","wa","wi","we","wo","n","vu","ka","ke","va","vi","ve","vo",null,null,'"','"'],mT[49]=[null,null,null,null,null,"B","P","M","F","D","T","N","L","G","K","H","J","Q","X","ZH","CH","SH","R","Z","C","S","A","O","E","EH","AI","EI","AU","OU","AN","EN","ANG","ENG","ER","I","U","IU","V","NG","GN",null,null,null,null,"g","gg","gs","n","nj","nh","d","dd","r","lg","lm","lb","ls","lt","lp","rh","m","b","bb","bs","s","ss",null,"j","jj","c","k","t","p","h","a","ae","ya","yae","eo","e","yeo","ye","o","wa","wae","oe","yo","u","weo","we","wi","yu","eu","yi","i",null,"nn","nd","ns","nZ","lgs","ld","lbs","lZ","lQ","mb","ms","mZ","mN","bg",null,"bsg","bst","bj","bt","bN","bbN","sg","sn","sd","sb","sj","Z",null,"N","Ns","NZ","pN","hh","Q","yo-ya","yo-yae","yo-i","yu-yeo","yu-ye","yu-i","U","U-i",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"BU","ZI","JI","GU","EE","ENN","OO","ONN","IR","ANN","INN","UNN","IM","NGG","AINN","AUNN","AM","OM","ONG","INNN","P","T","K","H"],mT[50]=["(g)","(n)","(d)","(r)","(m)","(b)","(s)","()","(j)","(c)","(k)","(t)","(p)","(h)","(ga)","(na)","(da)","(ra)","(ma)","(ba)","(sa)","(a)","(ja)","(ca)","(ka)","(ta)","(pa)","(ha)","(ju)",null,null,null,"(1) ","(2) ","(3) ","(4) ","(5) ","(6) ","(7) ","(8) ","(9) ","(10) ","(Yue) ","(Huo) ","(Shui) ","(Mu) ","(Jin) ","(Tu) ","(Ri) ","(Zhu) ","(You) ","(She) ","(Ming) ","(Te) ","(Cai) ","(Zhu) ","(Lao) ","(Dai) ","(Hu) ","(Xue) ","(Jian) ","(Qi) ","(Zi) ","(Xie) ","(Ji) ","(Xiu) ","<<",">>",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"(g)","(n)","(d)","(r)","(m)","(b)","(s)","()","(j)","(c)","(k)","(t)","(p)","(h)","(ga)","(na)","(da)","(ra)","(ma)","(ba)","(sa)","(a)","(ja)","(ca)","(ka)","(ta)","(pa)","(ha)",null,null,null,"KIS ","(1) ","(2) ","(3) ","(4) ","(5) ","(6) ","(7) ","(8) ","(9) ","(10) ","(Yue) ","(Huo) ","(Shui) ","(Mu) ","(Jin) ","(Tu) ","(Ri) ","(Zhu) ","(You) ","(She) ","(Ming) ","(Te) ","(Cai) ","(Zhu) ","(Lao) ","(Mi) ","(Nan) ","(Nu) ","(Shi) ","(You) ","(Yin) ","(Zhu) ","(Xiang) ","(Xiu) ","(Xie) ","(Zheng) ","(Shang) ","(Zhong) ","(Xia) ","(Zuo) ","(You) ","(Yi) ","(Zong) ","(Xue) ","(Jian) ","(Qi) ","(Zi) ","(Xie) ","(Ye) ",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"1M","2M","3M","4M","5M","6M","7M","8M","9M","10M","11M","12M",null,null,null,null,"a","i","u","u","o","ka","ki","ku","ke","ko","sa","si","su","se","so","ta","ti","tu","te","to","na","ni","nu","ne","no","ha","hi","hu","he","ho","ma","mi","mu","me","mo","ya","yu","yo","ra","ri","ru","re","ro","wa","wi","we","wo"],mT[51]=["apartment","alpha","ampere","are","inning","inch","won","escudo","acre","ounce","ohm","kai-ri","carat","calorie","gallon","gamma","giga","guinea","curie","guilder","kilo","kilogram","kilometer","kilowatt","gram","gram ton","cruzeiro","krone","case","koruna","co-op","cycle","centime","shilling","centi","cent","dozen","desi","dollar","ton","nano","knot","heights","percent","parts","barrel","piaster","picul","pico","building","farad","feet","bushel","franc","hectare","peso","pfennig","hertz","pence","page","beta","point","volt","hon","pound","hall","horn","micro","mile","mach","mark","mansion","micron","milli","millibar","mega","megaton","meter","yard","yard","yuan","liter","lira","rupee","ruble","rem","roentgen","watt","0h","1h","2h","3h","4h","5h","6h","7h","8h","9h","10h","11h","12h","13h","14h","15h","16h","17h","18h","19h","20h","21h","22h","23h","24h","HPA","da","AU","bar","oV","pc",null,null,null,null,"Heisei","Syouwa","Taisyou","Meiji","Inc.","pA","nA","microamp","mA","kA","kB","MB","GB","cal","kcal","pF","nF","microFarad","microgram","mg","kg","Hz","kHz","MHz","GHz","THz","microliter","ml","dl","kl","fm","nm","micrometer","mm","cm","km","mm^2","cm^2","m^2","km^2","mm^4","cm^3","m^3","km^3","m/s","m/s^2","Pa","kPa","MPa","GPa","rad","rad/s","rad/s^2","ps","ns","microsecond","ms","pV","nV","microvolt","mV","kV","MV","pW","nW","microwatt","mW","kW","MW","kOhm","MOhm","a.m.","Bq","cc","cd","C/kg","Co.","dB","Gy","ha","HP","in","K.K.","KM","kt","lm","ln","log","lx","mb","mil","mol","pH","p.m.","PPM","PR","sr","Sv","Wb",null,null,"1d","2d","3d","4d","5d","6d","7d","8d","9d","10d","11d","12d","13d","14d","15d","16d","17d","18d","19d","20d","21d","22d","23d","24d","25d","26d","27d","28d","29d","30d","31d"],mT[78]=["Yi","Ding","Kao","Qi","Shang","Xia",null,"Wan","Zhang","San","Shang","Xia","Ji","Bu","Yu","Mian","Gai","Chou","Chou","Zhuan","Qie","Pi","Shi","Shi","Qiu","Bing","Ye","Cong","Dong","Si","Cheng","Diu","Qiu","Liang","Diu","You","Liang","Yan","Bing","Sang","Gun","Jiu","Ge","Ya","Qiang","Zhong","Ji","Jie","Feng","Guan","Chuan","Chan","Lin","Zhuo","Zhu","Ha","Wan","Dan","Wei","Zhu","Jing","Li","Ju","Pie","Fu","Yi","Yi","Nai","Shime","Jiu","Jiu","Zhe","Me","Yi",null,"Zhi","Wu","Zha","Hu","Fa","Le","Zhong","Ping","Pang","Qiao","Hu","Guai","Cheng","Cheng","Yi","Yin",null,"Mie","Jiu","Qi","Ye","Xi","Xiang","Gai","Diu","Hal",null,"Shu","Twul","Shi","Ji","Nang","Jia","Kel","Shi",null,"Ol","Mai","Luan","Cal","Ru","Xue","Yan","Fu","Sha","Na","Gan","Sol","El","Cwul",null,"Gan","Chi","Gui","Gan","Luan","Lin","Yi","Jue","Liao","Ma","Yu","Zheng","Shi","Shi","Er","Chu","Yu","Yu","Yu","Yun","Hu","Qi","Wu","Jing","Si","Sui","Gen","Gen","Ya","Xie","Ya","Qi","Ya","Ji","Tou","Wang","Kang","Ta","Jiao","Hai","Yi","Chan","Heng","Mu",null,"Xiang","Jing","Ting","Liang","Xiang","Jing","Ye","Qin","Bo","You","Xie","Dan","Lian","Duo","Wei","Ren","Ren","Ji","La","Wang","Yi","Shi","Ren","Le","Ding","Ze","Jin","Pu","Chou","Ba","Zhang","Jin","Jie","Bing","Reng","Cong","Fo","San","Lun","Sya","Cang","Zi","Shi","Ta","Zhang","Fu","Xian","Xian","Tuo","Hong","Tong","Ren","Qian","Gan","Yi","Di","Dai","Ling","Yi","Chao","Chang","Sa",null,"Yi","Mu","Men","Ren","Jia","Chao","Yang","Qian","Zhong","Pi","Wan","Wu","Jian","Jie","Yao","Feng","Cang","Ren","Wang","Fen","Di","Fang"],mT[79]=["Zhong","Qi","Pei","Yu","Diao","Dun","Wen","Yi","Xin","Kang","Yi","Ji","Ai","Wu","Ji","Fu","Fa","Xiu","Jin","Bei","Dan","Fu","Tang","Zhong","You","Huo","Hui","Yu","Cui","Chuan","San","Wei","Chuan","Che","Ya","Xian","Shang","Chang","Lun","Cang","Xun","Xin","Wei","Zhu",null,"Xuan","Nu","Bo","Gu","Ni","Ni","Xie","Ban","Xu","Ling","Zhou","Shen","Qu","Si","Beng","Si","Jia","Pi","Yi","Si","Ai","Zheng","Dian","Han","Mai","Dan","Zhu","Bu","Qu","Bi","Shao","Ci","Wei","Di","Zhu","Zuo","You","Yang","Ti","Zhan","He","Bi","Tuo","She","Yu","Yi","Fo","Zuo","Kou","Ning","Tong","Ni","Xuan","Qu","Yong","Wa","Qian",null,"Ka",null,"Pei","Huai","He","Lao","Xiang","Ge","Yang","Bai","Fa","Ming","Jia","Er","Bing","Ji","Hen","Huo","Gui","Quan","Tiao","Jiao","Ci","Yi","Shi","Xing","Shen","Tuo","Kan","Zhi","Gai","Lai","Yi","Chi","Kua","Guang","Li","Yin","Shi","Mi","Zhu","Xu","You","An","Lu","Mou","Er","Lun","Tong","Cha","Chi","Xun","Gong","Zhou","Yi","Ru","Jian","Xia","Jia","Zai","Lu","Ko","Jiao","Zhen","Ce","Qiao","Kuai","Chai","Ning","Nong","Jin","Wu","Hou","Jiong","Cheng","Zhen","Zuo","Chou","Qin","Lu","Ju","Shu","Ting","Shen","Tuo","Bo","Nan","Hao","Bian","Tui","Yu","Xi","Cu","E","Qiu","Xu","Kuang","Ku","Wu","Jun","Yi","Fu","Lang","Zu","Qiao","Li","Yong","Hun","Jing","Xian","San","Pai","Su","Fu","Xi","Li","Fu","Ping","Bao","Yu","Si","Xia","Xin","Xiu","Yu","Ti","Che","Chou",null,"Yan","Lia","Li","Lai",null,"Jian","Xiu","Fu","He","Ju","Xiao","Pai","Jian","Biao","Chu","Fei","Feng","Ya","An","Bei","Yu","Xin","Bi","Jian"],mT[80]=["Chang","Chi","Bing","Zan","Yao","Cui","Lia","Wan","Lai","Cang","Zong","Ge","Guan","Bei","Tian","Shu","Shu","Men","Dao","Tan","Jue","Chui","Xing","Peng","Tang","Hou","Yi","Qi","Ti","Gan","Jing","Jie","Sui","Chang","Jie","Fang","Zhi","Kong","Juan","Zong","Ju","Qian","Ni","Lun","Zhuo","Wei","Luo","Song","Leng","Hun","Dong","Zi","Ben","Wu","Ju","Nai","Cai","Jian","Zhai","Ye","Zhi","Sha","Qing",null,"Ying","Cheng","Jian","Yan","Nuan","Zhong","Chun","Jia","Jie","Wei","Yu","Bing","Ruo","Ti","Wei","Pian","Yan","Feng","Tang","Wo","E","Xie","Che","Sheng","Kan","Di","Zuo","Cha","Ting","Bei","Ye","Huang","Yao","Zhan","Chou","Yan","You","Jian","Xu","Zha","Ci","Fu","Bi","Zhi","Zong","Mian","Ji","Yi","Xie","Xun","Si","Duan","Ce","Zhen","Ou","Tou","Tou","Bei","Za","Lu","Jie","Wei","Fen","Chang","Gui","Sou","Zhi","Su","Xia","Fu","Yuan","Rong","Li","Ru","Yun","Gou","Ma","Bang","Dian","Tang","Hao","Jie","Xi","Shan","Qian","Jue","Cang","Chu","San","Bei","Xiao","Yong","Yao","Tan","Suo","Yang","Fa","Bing","Jia","Dai","Zai","Tang",null,"Bin","Chu","Nuo","Can","Lei","Cui","Yong","Zao","Zong","Peng","Song","Ao","Chuan","Yu","Zhai","Cou","Shang","Qiang","Jing","Chi","Sha","Han","Zhang","Qing","Yan","Di","Xi","Lu","Bei","Piao","Jin","Lian","Lu","Man","Qian","Xian","Tan","Ying","Dong","Zhuan","Xiang","Shan","Qiao","Jiong","Tui","Zun","Pu","Xi","Lao","Chang","Guang","Liao","Qi","Deng","Chan","Wei","Ji","Fan","Hui","Chuan","Jian","Dan","Jiao","Jiu","Seng","Fen","Xian","Jue","E","Jiao","Jian","Tong","Lin","Bo","Gu",null,"Su","Xian","Jiang","Min","Ye","Jin","Jia","Qiao","Pi","Feng","Zhou","Ai","Sai"],mT[81]=["Yi","Jun","Nong","Chan","Yi","Dang","Jing","Xuan","Kuai","Jian","Chu","Dan","Jiao","Sha","Zai",null,"Bin","An","Ru","Tai","Chou","Chai","Lan","Ni","Jin","Qian","Meng","Wu","Ning","Qiong","Ni","Chang","Lie","Lei","Lu","Kuang","Bao","Du","Biao","Zan","Zhi","Si","You","Hao","Chen","Chen","Li","Teng","Wei","Long","Chu","Chan","Rang","Shu","Hui","Li","Luo","Zan","Nuo","Tang","Yan","Lei","Nang","Er","Wu","Yun","Zan","Yuan","Xiong","Chong","Zhao","Xiong","Xian","Guang","Dui","Ke","Dui","Mian","Tu","Chang","Er","Dui","Er","Xin","Tu","Si","Yan","Yan","Shi","Shi","Dang","Qian","Dou","Fen","Mao","Shen","Dou","Bai","Jing","Li","Huang","Ru","Wang","Nei","Quan","Liang","Yu","Ba","Gong","Liu","Xi",null,"Lan","Gong","Tian","Guan","Xing","Bing","Qi","Ju","Dian","Zi","Ppwun","Yang","Jian","Shou","Ji","Yi","Ji","Chan","Jiong","Mao","Ran","Nei","Yuan","Mao","Gang","Ran","Ce","Jiong","Ce","Zai","Gua","Jiong","Mao","Zhou","Mou","Gou","Xu","Mian","Mi","Rong","Yin","Xie","Kan","Jun","Nong","Yi","Mi","Shi","Guan","Meng","Zhong","Ju","Yuan","Ming","Kou","Lam","Fu","Xie","Mi","Bing","Dong","Tai","Gang","Feng","Bing","Hu","Chong","Jue","Hu","Kuang","Ye","Leng","Pan","Fu","Min","Dong","Xian","Lie","Xia","Jian","Jing","Shu","Mei","Tu","Qi","Gu","Zhun","Song","Jing","Liang","Qing","Diao","Ling","Dong","Gan","Jian","Yin","Cou","Yi","Li","Cang","Ming","Zhuen","Cui","Si","Duo","Jin","Lin","Lin","Ning","Xi","Du","Ji","Fan","Fan","Fan","Feng","Ju","Chu","Tako","Feng","Mok","Ci","Fu","Feng","Ping","Feng","Kai","Huang","Kai","Gan","Deng","Ping","Qu","Xiong","Kuai","Tu","Ao","Chu","Ji","Dang","Han","Han","Zao"],mT[82]=["Dao","Diao","Dao","Ren","Ren","Chuang","Fen","Qie","Yi","Ji","Kan","Qian","Cun","Chu","Wen","Ji","Dan","Xing","Hua","Wan","Jue","Li","Yue","Lie","Liu","Ze","Gang","Chuang","Fu","Chu","Qu","Ju","Shan","Min","Ling","Zhong","Pan","Bie","Jie","Jie","Bao","Li","Shan","Bie","Chan","Jing","Gua","Gen","Dao","Chuang","Kui","Ku","Duo","Er","Zhi","Shua","Quan","Cha","Ci","Ke","Jie","Gui","Ci","Gui","Kai","Duo","Ji","Ti","Jing","Lou","Gen","Ze","Yuan","Cuo","Xue","Ke","La","Qian","Cha","Chuang","Gua","Jian","Cuo","Li","Ti","Fei","Pou","Chan","Qi","Chuang","Zi","Gang","Wan","Bo","Ji","Duo","Qing","Yan","Zhuo","Jian","Ji","Bo","Yan","Ju","Huo","Sheng","Jian","Duo","Duan","Wu","Gua","Fu","Sheng","Jian","Ge","Zha","Kai","Chuang","Juan","Chan","Tuan","Lu","Li","Fou","Shan","Piao","Kou","Jiao","Gua","Qiao","Jue","Hua","Zha","Zhuo","Lian","Ju","Pi","Liu","Gui","Jiao","Gui","Jian","Jian","Tang","Huo","Ji","Jian","Yi","Jian","Zhi","Chan","Cuan","Mo","Li","Zhu","Li","Ya","Quan","Ban","Gong","Jia","Wu","Mai","Lie","Jin","Keng","Xie","Zhi","Dong","Zhu","Nu","Jie","Qu","Shao","Yi","Zhu","Miao","Li","Jing","Lao","Lao","Juan","Kou","Yang","Wa","Xiao","Mou","Kuang","Jie","Lie","He","Shi","Ke","Jing","Hao","Bo","Min","Chi","Lang","Yong","Yong","Mian","Ke","Xun","Juan","Qing","Lu","Pou","Meng","Lai","Le","Kai","Mian","Dong","Xu","Xu","Kan","Wu","Yi","Xun","Weng","Sheng","Lao","Mu","Lu","Piao","Shi","Ji","Qin","Qiang","Jiao","Quan","Yang","Yi","Jue","Fan","Juan","Tong","Ju","Dan","Xie","Mai","Xun","Xun","Lu","Li","Che","Rang","Quan","Bao","Shao","Yun","Jiu","Bao","Gou","Wu"],mT[83]=["Yun","Mwun","Nay","Gai","Gai","Bao","Cong",null,"Xiong","Peng","Ju","Tao","Ge","Pu","An","Pao","Fu","Gong","Da","Jiu","Qiong","Bi","Hua","Bei","Nao","Chi","Fang","Jiu","Yi","Za","Jiang","Kang","Jiang","Kuang","Hu","Xia","Qu","Bian","Gui","Qie","Zang","Kuang","Fei","Hu","Tou","Gui","Gui","Hui","Dan","Gui","Lian","Lian","Suan","Du","Jiu","Qu","Xi","Pi","Qu","Yi","Qia","Yan","Bian","Ni","Qu","Shi","Xin","Qian","Nian","Sa","Zu","Sheng","Wu","Hui","Ban","Shi","Xi","Wan","Hua","Xie","Wan","Bei","Zu","Zhuo","Xie","Dan","Mai","Nan","Dan","Ji","Bo","Shuai","Bu","Kuang","Bian","Bu","Zhan","Qia","Lu","You","Lu","Xi","Gua","Wo","Xie","Jie","Jie","Wei","Ang","Qiong","Zhi","Mao","Yin","Wei","Shao","Ji","Que","Luan","Shi","Juan","Xie","Xu","Jin","Que","Wu","Ji","E","Qing","Xi",null,"Han","Zhan","E","Ting","Li","Zhe","Han","Li","Ya","Ya","Yan","She","Zhi","Zha","Pang",null,"He","Ya","Zhi","Ce","Pang","Ti","Li","She","Hou","Ting","Zui","Cuo","Fei","Yuan","Ce","Yuan","Xiang","Yan","Li","Jue","Sha","Dian","Chu","Jiu","Qin","Ao","Gui","Yan","Si","Li","Chang","Lan","Li","Yan","Yan","Yuan","Si","Gong","Lin","Qiu","Qu","Qu","Uk","Lei","Du","Xian","Zhuan","San","Can","Can","Can","Can","Ai","Dai","You","Cha","Ji","You","Shuang","Fan","Shou","Guai","Ba","Fa","Ruo","Shi","Shu","Zhuo","Qu","Shou","Bian","Xu","Jia","Pan","Sou","Gao","Wei","Sou","Die","Rui","Cong","Kou","Gu","Ju","Ling","Gua","Tao","Kou","Zhi","Jiao","Zhao","Ba","Ding","Ke","Tai","Chi","Shi","You","Qiu","Po","Ye","Hao","Si","Tan","Chi","Le","Diao","Ji",null,"Hong"],mT[84]=["Mie","Xu","Mang","Chi","Ge","Xuan","Yao","Zi","He","Ji","Diao","Cun","Tong","Ming","Hou","Li","Tu","Xiang","Zha","Xia","Ye","Lu","A","Ma","Ou","Xue","Yi","Jun","Chou","Lin","Tun","Yin","Fei","Bi","Qin","Qin","Jie","Bu","Fou","Ba","Dun","Fen","E","Han","Ting","Hang","Shun","Qi","Hong","Zhi","Shen","Wu","Wu","Chao","Ne","Xue","Xi","Chui","Dou","Wen","Hou","Ou","Wu","Gao","Ya","Jun","Lu","E","Ge","Mei","Ai","Qi","Cheng","Wu","Gao","Fu","Jiao","Hong","Chi","Sheng","Ne","Tun","Fu","Yi","Dai","Ou","Li","Bai","Yuan","Kuai",null,"Qiang","Wu","E","Shi","Quan","Pen","Wen","Ni","M","Ling","Ran","You","Di","Zhou","Shi","Zhou","Tie","Xi","Yi","Qi","Ping","Zi","Gu","Zi","Wei","Xu","He","Nao","Xia","Pei","Yi","Xiao","Shen","Hu","Ming","Da","Qu","Ju","Gem","Za","Tuo","Duo","Pou","Pao","Bi","Fu","Yang","He","Zha","He","Hai","Jiu","Yong","Fu","Que","Zhou","Wa","Ka","Gu","Ka","Zuo","Bu","Long","Dong","Ning","Tha","Si","Xian","Huo","Qi","Er","E","Guang","Zha","Xi","Yi","Lie","Zi","Mie","Mi","Zhi","Yao","Ji","Zhou","Ge","Shuai","Zan","Xiao","Ke","Hui","Kua","Huai","Tao","Xian","E","Xuan","Xiu","Wai","Yan","Lao","Yi","Ai","Pin","Shen","Tong","Hong","Xiong","Chi","Wa","Ha","Zai","Yu","Di","Pai","Xiang","Ai","Hen","Kuang","Ya","Da","Xiao","Bi","Yue",null,"Hua","Sasou","Kuai","Duo",null,"Ji","Nong","Mou","Yo","Hao","Yuan","Long","Pou","Mang","Ge","E","Chi","Shao","Li","Na","Zu","He","Ku","Xiao","Xian","Lao","Bo","Zhe","Zha","Liang","Ba","Mie","Le","Sui","Fou","Bu","Han","Heng","Geng","Shuo","Ge"],mT[85]=["You","Yan","Gu","Gu","Bai","Han","Suo","Chun","Yi","Ai","Jia","Tu","Xian","Huan","Li","Xi","Tang","Zuo","Qiu","Che","Wu","Zao","Ya","Dou","Qi","Di","Qin","Ma","Mal","Hong","Dou","Kes","Lao","Liang","Suo","Zao","Huan","Lang","Sha","Ji","Zuo","Wo","Feng","Yin","Hu","Qi","Shou","Wei","Shua","Chang","Er","Li","Qiang","An","Jie","Yo","Nian","Yu","Tian","Lai","Sha","Xi","Tuo","Hu","Ai","Zhou","Nou","Ken","Zhuo","Zhuo","Shang","Di","Heng","Lan","A","Xiao","Xiang","Tun","Wu","Wen","Cui","Sha","Hu","Qi","Qi","Tao","Dan","Dan","Ye","Zi","Bi","Cui","Chuo","He","Ya","Qi","Zhe","Pei","Liang","Xian","Pi","Sha","La","Ze","Qing","Gua","Pa","Zhe","Se","Zhuan","Nie","Guo","Luo","Yan","Di","Quan","Tan","Bo","Ding","Lang","Xiao",null,"Tang","Chi","Ti","An","Jiu","Dan","Ke","Yong","Wei","Nan","Shan","Yu","Zhe","La","Jie","Hou","Han","Die","Zhou","Chai","Wai","Re","Yu","Yin","Zan","Yao","Wo","Mian","Hu","Yun","Chuan","Hui","Huan","Huan","Xi","He","Ji","Kui","Zhong","Wei","Sha","Xu","Huang","Du","Nie","Xuan","Liang","Yu","Sang","Chi","Qiao","Yan","Dan","Pen","Can","Li","Yo","Zha","Wei","Miao","Ying","Pen","Phos","Kui","Xi","Yu","Jie","Lou","Ku","Sao","Huo","Ti","Yao","He","A","Xiu","Qiang","Se","Yong","Su","Hong","Xie","Yi","Suo","Ma","Cha","Hai","Ke","Ta","Sang","Tian","Ru","Sou","Wa","Ji","Pang","Wu","Xian","Shi","Ge","Zi","Jie","Luo","Weng","Wa","Si","Chi","Hao","Suo","Jia","Hai","Suo","Qin","Nie","He","Cis","Sai","Ng","Ge","Na","Dia","Ai",null,"Tong","Bi","Ao","Ao","Lian","Cui","Zhe","Mo","Sou","Sou","Tan"],mT[86]=["Di","Qi","Jiao","Chong","Jiao","Kai","Tan","San","Cao","Jia","Ai","Xiao","Piao","Lou","Ga","Gu","Xiao","Hu","Hui","Guo","Ou","Xian","Ze","Chang","Xu","Po","De","Ma","Ma","Hu","Lei","Du","Ga","Tang","Ye","Beng","Ying","Saai","Jiao","Mi","Xiao","Hua","Mai","Ran","Zuo","Peng","Lao","Xiao","Ji","Zhu","Chao","Kui","Zui","Xiao","Si","Hao","Fu","Liao","Qiao","Xi","Xiu","Tan","Tan","Mo","Xun","E","Zun","Fan","Chi","Hui","Zan","Chuang","Cu","Dan","Yu","Tun","Cheng","Jiao","Ye","Xi","Qi","Hao","Lian","Xu","Deng","Hui","Yin","Pu","Jue","Qin","Xun","Nie","Lu","Si","Yan","Ying","Da","Dan","Yu","Zhou","Jin","Nong","Yue","Hui","Qi","E","Zao","Yi","Shi","Jiao","Yuan","Ai","Yong","Jue","Kuai","Yu","Pen","Dao","Ge","Xin","Dun","Dang","Sin","Sai","Pi","Pi","Yin","Zui","Ning","Di","Lan","Ta","Huo","Ru","Hao","Xia","Ya","Duo","Xi","Chou","Ji","Jin","Hao","Ti","Chang",null,null,"Ca","Ti","Lu","Hui","Bo","You","Nie","Yin","Hu","Mo","Huang","Zhe","Li","Liu","Haai","Nang","Xiao","Mo","Yan","Li","Lu","Long","Fu","Dan","Chen","Pin","Pi","Xiang","Huo","Mo","Xi","Duo","Ku","Yan","Chan","Ying","Rang","Dian","La","Ta","Xiao","Jiao","Chuo","Huan","Huo","Zhuan","Nie","Xiao","Ca","Li","Chan","Chai","Li","Yi","Luo","Nang","Zan","Su","Xi","So","Jian","Za","Zhu","Lan","Nie","Nang",null,null,"Wei","Hui","Yin","Qiu","Si","Nin","Jian","Hui","Xin","Yin","Nan","Tuan","Tuan","Dun","Kang","Yuan","Jiong","Pian","Yun","Cong","Hu","Hui","Yuan","You","Guo","Kun","Cong","Wei","Tu","Wei","Lun","Guo","Qun","Ri","Ling","Gu","Guo","Tai","Guo","Tu","You"],mT[87]=["Guo","Yin","Hun","Pu","Yu","Han","Yuan","Lun","Quan","Yu","Qing","Guo","Chuan","Wei","Yuan","Quan","Ku","Fu","Yuan","Yuan","E","Tu","Tu","Tu","Tuan","Lue","Hui","Yi","Yuan","Luan","Luan","Tu","Ya","Tu","Ting","Sheng","Pu","Lu","Iri","Ya","Zai","Wei","Ge","Yu","Wu","Gui","Pi","Yi","Di","Qian","Qian","Zhen","Zhuo","Dang","Qia","Akutsu","Yama","Kuang","Chang","Qi","Nie","Mo","Ji","Jia","Zhi","Zhi","Ban","Xun","Tou","Qin","Fen","Jun","Keng","Tun","Fang","Fen","Ben","Tan","Kan","Pi","Zuo","Keng","Bi","Xing","Di","Jing","Ji","Kuai","Di","Jing","Jian","Tan","Li","Ba","Wu","Fen","Zhui","Po","Pan","Tang","Kun","Qu","Tan","Zhi","Tuo","Gan","Ping","Dian","Gua","Ni","Tai","Pi","Jiong","Yang","Fo","Ao","Liu","Qiu","Mu","Ke","Gou","Xue","Ba","Chi","Che","Ling","Zhu","Fu","Hu","Zhi","Chui","La","Long","Long","Lu","Ao","Tay","Pao",null,"Xing","Dong","Ji","Ke","Lu","Ci","Chi","Lei","Gai","Yin","Hou","Dui","Zhao","Fu","Guang","Yao","Duo","Duo","Gui","Cha","Yang","Yin","Fa","Gou","Yuan","Die","Xie","Ken","Jiong","Shou","E","Ha","Dian","Hong","Wu","Kua",null,"Tao","Dang","Kai","Gake","Nao","An","Xing","Xian","Huan","Bang","Pei","Ba","Yi","Yin","Han","Xu","Chui","Cen","Geng","Ai","Peng","Fang","Que","Yong","Xun","Jia","Di","Mai","Lang","Xuan","Cheng","Yan","Jin","Zhe","Lei","Lie","Bu","Cheng","Gomi","Bu","Shi","Xun","Guo","Jiong","Ye","Nian","Di","Yu","Bu","Ya","Juan","Sui","Pi","Cheng","Wan","Ju","Lun","Zheng","Kong","Chong","Dong","Dai","Tan","An","Cai","Shu","Beng","Kan","Zhi","Duo","Yi","Zhi","Yi","Pei","Ji","Zhun","Qi","Sao","Ju","Ni"],mT[88]=["Ku","Ke","Tang","Kun","Ni","Jian","Dui","Jin","Gang","Yu","E","Peng","Gu","Tu","Leng",null,"Ya","Qian",null,"An",null,"Duo","Nao","Tu","Cheng","Yin","Hun","Bi","Lian","Guo","Die","Zhuan","Hou","Bao","Bao","Yu","Di","Mao","Jie","Ruan","E","Geng","Kan","Zong","Yu","Huang","E","Yao","Yan","Bao","Ji","Mei","Chang","Du","Tuo","Yin","Feng","Zhong","Jie","Zhen","Feng","Gang","Chuan","Jian","Pyeng","Toride","Xiang","Huang","Leng","Duan",null,"Xuan","Ji","Ji","Kuai","Ying","Ta","Cheng","Yong","Kai","Su","Su","Shi","Mi","Ta","Weng","Cheng","Tu","Tang","Que","Zhong","Li","Peng","Bang","Sai","Zang","Dui","Tian","Wu","Cheng","Xun","Ge","Zhen","Ai","Gong","Yan","Kan","Tian","Yuan","Wen","Xie","Liu","Ama","Lang","Chang","Peng","Beng","Chen","Cu","Lu","Ou","Qian","Mei","Mo","Zhuan","Shuang","Shu","Lou","Chi","Man","Biao","Jing","Qi","Shu","Di","Zhang","Kan","Yong","Dian","Chen","Zhi","Xi","Guo","Qiang","Jin","Di","Shang","Mu","Cui","Yan","Ta","Zeng","Qi","Qiang","Liang",null,"Zhui","Qiao","Zeng","Xu","Shan","Shan","Ba","Pu","Kuai","Dong","Fan","Que","Mo","Dun","Dun","Dun","Di","Sheng","Duo","Duo","Tan","Deng","Wu","Fen","Huang","Tan","Da","Ye","Sho","Mama","Yu","Qiang","Ji","Qiao","Ken","Yi","Pi","Bi","Dian","Jiang","Ye","Yong","Bo","Tan","Lan","Ju","Huai","Dang","Rang","Qian","Xun","Lan","Xi","He","Ai","Ya","Dao","Hao","Ruan","Mama","Lei","Kuang","Lu","Yan","Tan","Wei","Huai","Long","Long","Rui","Li","Lin","Rang","Ten","Xun","Yan","Lei","Ba",null,"Shi","Ren",null,"Zhuang","Zhuang","Sheng","Yi","Mai","Ke","Zhu","Zhuang","Hu","Hu","Kun","Yi","Hu","Xu","Kun","Shou","Mang","Zun"],mT[89]=["Shou","Yi","Zhi","Gu","Chu","Jiang","Feng","Bei","Cay","Bian","Sui","Qun","Ling","Fu","Zuo","Xia","Xiong",null,"Nao","Xia","Kui","Xi","Wai","Yuan","Mao","Su","Duo","Duo","Ye","Qing","Uys","Gou","Gou","Qi","Meng","Meng","Yin","Huo","Chen","Da","Ze","Tian","Tai","Fu","Guai","Yao","Yang","Hang","Gao","Shi","Ben","Tai","Tou","Yan","Bi","Yi","Kua","Jia","Duo","Kwu","Kuang","Yun","Jia","Pa","En","Lian","Huan","Di","Yan","Pao","Quan","Qi","Nai","Feng","Xie","Fen","Dian",null,"Kui","Zou","Huan","Qi","Kai","Zha","Ben","Yi","Jiang","Tao","Zang","Ben","Xi","Xiang","Fei","Diao","Xun","Keng","Dian","Ao","She","Weng","Pan","Ao","Wu","Ao","Jiang","Lian","Duo","Yun","Jiang","Shi","Fen","Huo","Bi","Lian","Duo","Nu","Nu","Ding","Nai","Qian","Jian","Ta","Jiu","Nan","Cha","Hao","Xian","Fan","Ji","Shuo","Ru","Fei","Wang","Hong","Zhuang","Fu","Ma","Dan","Ren","Fu","Jing","Yan","Xie","Wen","Zhong","Pa","Du","Ji","Keng","Zhong","Yao","Jin","Yun","Miao","Pei","Shi","Yue","Zhuang","Niu","Yan","Na","Xin","Fen","Bi","Yu","Tuo","Feng","Yuan","Fang","Wu","Yu","Gui","Du","Ba","Ni","Zhou","Zhuo","Zhao","Da","Nai","Yuan","Tou","Xuan","Zhi","E","Mei","Mo","Qi","Bi","Shen","Qie","E","He","Xu","Fa","Zheng","Min","Ban","Mu","Fu","Ling","Zi","Zi","Shi","Ran","Shan","Yang","Man","Jie","Gu","Si","Xing","Wei","Zi","Ju","Shan","Pin","Ren","Yao","Tong","Jiang","Shu","Ji","Gai","Shang","Kuo","Juan","Jiao","Gou","Mu","Jian","Jian","Yi","Nian","Zhi","Ji","Ji","Xian","Heng","Guang","Jun","Kua","Yan","Ming","Lie","Pei","Yan","You","Yan","Cha","Shen","Yin","Chi","Gui","Quan","Zi"],mT[90]=["Song","Wei","Hong","Wa","Lou","Ya","Rao","Jiao","Luan","Ping","Xian","Shao","Li","Cheng","Xiao","Mang","Fu","Suo","Wu","Wei","Ke","Lai","Chuo","Ding","Niang","Xing","Nan","Yu","Nuo","Pei","Nei","Juan","Shen","Zhi","Han","Di","Zhuang","E","Pin","Tui","Han","Mian","Wu","Yan","Wu","Xi","Yan","Yu","Si","Yu","Wa",null,"Xian","Ju","Qu","Shui","Qi","Xian","Zhui","Dong","Chang","Lu","Ai","E","E","Lou","Mian","Cong","Pou","Ju","Po","Cai","Ding","Wan","Biao","Xiao","Shu","Qi","Hui","Fu","E","Wo","Tan","Fei","Wei","Jie","Tian","Ni","Quan","Jing","Hun","Jing","Qian","Dian","Xing","Hu","Wa","Lai","Bi","Yin","Chou","Chuo","Fu","Jing","Lun","Yan","Lan","Kun","Yin","Ya","Ju","Li","Dian","Xian","Hwa","Hua","Ying","Chan","Shen","Ting","Dang","Yao","Wu","Nan","Ruo","Jia","Tou","Xu","Yu","Wei","Ti","Rou","Mei","Dan","Ruan","Qin","Hui","Wu","Qian","Chun","Mao","Fu","Jie","Duan","Xi","Zhong","Mei","Huang","Mian","An","Ying","Xuan","Jie","Wei","Mei","Yuan","Zhen","Qiu","Ti","Xie","Tuo","Lian","Mao","Ran","Si","Pian","Wei","Wa","Jiu","Hu","Ao",null,"Bou","Xu","Tou","Gui","Zou","Yao","Pi","Xi","Yuan","Ying","Rong","Ru","Chi","Liu","Mei","Pan","Ao","Ma","Gou","Kui","Qin","Jia","Sao","Zhen","Yuan","Cha","Yong","Ming","Ying","Ji","Su","Niao","Xian","Tao","Pang","Lang","Nao","Bao","Ai","Pi","Pin","Yi","Piao","Yu","Lei","Xuan","Man","Yi","Zhang","Kang","Yong","Ni","Li","Di","Gui","Yan","Jin","Zhuan","Chang","Ce","Han","Nen","Lao","Mo","Zhe","Hu","Hu","Ao","Nen","Qiang","Ma","Pie","Gu","Wu","Jiao","Tuo","Zhan","Mao","Xian","Xian","Mo","Liao","Lian","Hua"],mT[91]=["Gui","Deng","Zhi","Xu","Yi","Hua","Xi","Hui","Rao","Xi","Yan","Chan","Jiao","Mei","Fan","Fan","Xian","Yi","Wei","Jiao","Fu","Shi","Bi","Shan","Sui","Qiang","Lian","Huan","Xin","Niao","Dong","Yi","Can","Ai","Niang","Neng","Ma","Tiao","Chou","Jin","Ci","Yu","Pin","Yong","Xu","Nai","Yan","Tai","Ying","Can","Niao","Wo","Ying","Mian","Kaka","Ma","Shen","Xing","Ni","Du","Liu","Yuan","Lan","Yan","Shuang","Ling","Jiao","Niang","Lan","Xian","Ying","Shuang","Shuai","Quan","Mi","Li","Luan","Yan","Zhu","Lan","Zi","Jie","Jue","Jue","Kong","Yun","Zi","Zi","Cun","Sun","Fu","Bei","Zi","Xiao","Xin","Meng","Si","Tai","Bao","Ji","Gu","Nu","Xue",null,"Zhuan","Hai","Luan","Sun","Huai","Mie","Cong","Qian","Shu","Chan","Ya","Zi","Ni","Fu","Zi","Li","Xue","Bo","Ru","Lai","Nie","Nie","Ying","Luan","Mian","Ning","Rong","Ta","Gui","Zhai","Qiong","Yu","Shou","An","Tu","Song","Wan","Rou","Yao","Hong","Yi","Jing","Zhun","Mi","Zhu","Dang","Hong","Zong","Guan","Zhou","Ding","Wan","Yi","Bao","Shi","Shi","Chong","Shen","Ke","Xuan","Shi","You","Huan","Yi","Tiao","Shi","Xian","Gong","Cheng","Qun","Gong","Xiao","Zai","Zha","Bao","Hai","Yan","Xiao","Jia","Shen","Chen","Rong","Huang","Mi","Kou","Kuan","Bin","Su","Cai","Zan","Ji","Yuan","Ji","Yin","Mi","Kou","Qing","Que","Zhen","Jian","Fu","Ning","Bing","Huan","Mei","Qin","Han","Yu","Shi","Ning","Qin","Ning","Zhi","Yu","Bao","Kuan","Ning","Qin","Mo","Cha","Ju","Gua","Qin","Hu","Wu","Liao","Shi","Zhu","Zhai","Shen","Wei","Xie","Kuan","Hui","Liao","Jun","Huan","Yi","Yi","Bao","Qin","Chong","Bao","Feng","Cun","Dui","Si","Xun","Dao","Lu","Dui","Shou"],mT[92]=["Po","Feng","Zhuan","Fu","She","Ke","Jiang","Jiang","Zhuan","Wei","Zun","Xun","Shu","Dui","Dao","Xiao","Ji","Shao","Er","Er","Er","Ga","Jian","Shu","Chen","Shang","Shang","Mo","Ga","Chang","Liao","Xian","Xian",null,"Wang","Wang","You","Liao","Liao","Yao","Mang","Wang","Wang","Wang","Ga","Yao","Duo","Kui","Zhong","Jiu","Gan","Gu","Gan","Tui","Gan","Gan","Shi","Yin","Chi","Kao","Ni","Jin","Wei","Niao","Ju","Pi","Ceng","Xi","Bi","Ju","Jie","Tian","Qu","Ti","Jie","Wu","Diao","Shi","Shi","Ping","Ji","Xie","Chen","Xi","Ni","Zhan","Xi",null,"Man","E","Lou","Ping","Ti","Fei","Shu","Xie","Tu","Lu","Lu","Xi","Ceng","Lu","Ju","Xie","Ju","Jue","Liao","Jue","Shu","Xi","Che","Tun","Ni","Shan",null,"Xian","Li","Xue","Nata",null,"Long","Yi","Qi","Ren","Wu","Han","Shen","Yu","Chu","Sui","Qi",null,"Yue","Ban","Yao","Ang","Ya","Wu","Jie","E","Ji","Qian","Fen","Yuan","Qi","Cen","Qian","Qi","Cha","Jie","Qu","Gang","Xian","Ao","Lan","Dao","Ba","Zuo","Zuo","Yang","Ju","Gang","Ke","Gou","Xue","Bei","Li","Tiao","Ju","Yan","Fu","Xiu","Jia","Ling","Tuo","Pei","You","Dai","Kuang","Yue","Qu","Hu","Po","Min","An","Tiao","Ling","Chi","Yuri","Dong","Cem","Kui","Xiu","Mao","Tong","Xue","Yi","Kura","He","Ke","Luo","E","Fu","Xun","Die","Lu","An","Er","Gai","Quan","Tong","Yi","Mu","Shi","An","Wei","Hu","Zhi","Mi","Li","Ji","Tong","Wei","You","Sang","Xia","Li","Yao","Jiao","Zheng","Luan","Jiao","E","E","Yu","Ye","Bu","Qiao","Qun","Feng","Feng","Nao","Li","You","Xian","Hong","Dao","Shen","Cheng","Tu","Geng","Jun","Hao","Xia","Yin","Yu"],mT[93]=["Lang","Kan","Lao","Lai","Xian","Que","Kong","Chong","Chong","Ta","Lin","Hua","Ju","Lai","Qi","Min","Kun","Kun","Zu","Gu","Cui","Ya","Ya","Gang","Lun","Lun","Leng","Jue","Duo","Zheng","Guo","Yin","Dong","Han","Zheng","Wei","Yao","Pi","Yan","Song","Jie","Beng","Zu","Jue","Dong","Zhan","Gu","Yin",null,"Ze","Huang","Yu","Wei","Yang","Feng","Qiu","Dun","Ti","Yi","Zhi","Shi","Zai","Yao","E","Zhu","Kan","Lu","Yan","Mei","Gan","Ji","Ji","Huan","Ting","Sheng","Mei","Qian","Wu","Yu","Zong","Lan","Jue","Yan","Yan","Wei","Zong","Cha","Sui","Rong","Yamashina","Qin","Yu","Kewashii","Lou","Tu","Dui","Xi","Weng","Cang","Dang","Hong","Jie","Ai","Liu","Wu","Song","Qiao","Zi","Wei","Beng","Dian","Cuo","Qian","Yong","Nie","Cuo","Ji",null,"Tao","Song","Zong","Jiang","Liao","Kang","Chan","Die","Cen","Ding","Tu","Lou","Zhang","Zhan","Zhan","Ao","Cao","Qu","Qiang","Zui","Zui","Dao","Dao","Xi","Yu","Bo","Long","Xiang","Ceng","Bo","Qin","Jiao","Yan","Lao","Zhan","Lin","Liao","Liao","Jin","Deng","Duo","Zun","Jiao","Gui","Yao","Qiao","Yao","Jue","Zhan","Yi","Xue","Nao","Ye","Ye","Yi","E","Xian","Ji","Xie","Ke","Xi","Di","Ao","Zui",null,"Ni","Rong","Dao","Ling","Za","Yu","Yue","Yin",null,"Jie","Li","Sui","Long","Long","Dian","Ying","Xi","Ju","Chan","Ying","Kui","Yan","Wei","Nao","Quan","Chao","Cuan","Luan","Dian","Dian",null,"Yan","Yan","Yan","Nao","Yan","Chuan","Gui","Chuan","Zhou","Huang","Jing","Xun","Chao","Chao","Lie","Gong","Zuo","Qiao","Ju","Gong","Kek","Wu","Pwu","Pwu","Chai","Qiu","Qiu","Ji","Yi","Si","Ba","Zhi","Zhao","Xiang","Yi","Jin","Xun","Juan","Phas","Xun","Jin","Fu"],mT[94]=["Za","Bi","Shi","Bu","Ding","Shuai","Fan","Nie","Shi","Fen","Pa","Zhi","Xi","Hu","Dan","Wei","Zhang","Tang","Dai","Ma","Pei","Pa","Tie","Fu","Lian","Zhi","Zhou","Bo","Zhi","Di","Mo","Yi","Yi","Ping","Qia","Juan","Ru","Shuai","Dai","Zheng","Shui","Qiao","Zhen","Shi","Qun","Xi","Bang","Dai","Gui","Chou","Ping","Zhang","Sha","Wan","Dai","Wei","Chang","Sha","Qi","Ze","Guo","Mao","Du","Hou","Zheng","Xu","Mi","Wei","Wo","Fu","Yi","Bang","Ping","Tazuna","Gong","Pan","Huang","Dao","Mi","Jia","Teng","Hui","Zhong","Shan","Man","Mu","Biao","Guo","Ze","Mu","Bang","Zhang","Jiong","Chan","Fu","Zhi","Hu","Fan","Chuang","Bi","Hei",null,"Mi","Qiao","Chan","Fen","Meng","Bang","Chou","Mie","Chu","Jie","Xian","Lan","Gan","Ping","Nian","Qian","Bing","Bing","Xing","Gan","Yao","Huan","You","You","Ji","Guang","Pi","Ting","Ze","Guang","Zhuang","Mo","Qing","Bi","Qin","Dun","Chuang","Gui","Ya","Bai","Jie","Xu","Lu","Wu",null,"Ku","Ying","Di","Pao","Dian","Ya","Miao","Geng","Ci","Fu","Tong","Pang","Fei","Xiang","Yi","Zhi","Tiao","Zhi","Xiu","Du","Zuo","Xiao","Tu","Gui","Ku","Pang","Ting","You","Bu","Ding","Cheng","Lai","Bei","Ji","An","Shu","Kang","Yong","Tuo","Song","Shu","Qing","Yu","Yu","Miao","Sou","Ce","Xiang","Fei","Jiu","He","Hui","Liu","Sha","Lian","Lang","Sou","Jian","Pou","Qing","Jiu","Jiu","Qin","Ao","Kuo","Lou","Yin","Liao","Dai","Lu","Yi","Chu","Chan","Tu","Si","Xin","Miao","Chang","Wu","Fei","Guang","Koc","Kuai","Bi","Qiang","Xie","Lin","Lin","Liao","Lu",null,"Ying","Xian","Ting","Yong","Li","Ting","Yin","Xun","Yan","Ting","Di","Po","Jian","Hui","Nai","Hui","Gong","Nian"],mT[95]=["Kai","Bian","Yi","Qi","Nong","Fen","Ju","Yan","Yi","Zang","Bi","Yi","Yi","Er","San","Shi","Er","Shi","Shi","Gong","Diao","Yin","Hu","Fu","Hong","Wu","Tui","Chi","Jiang","Ba","Shen","Di","Zhang","Jue","Tao","Fu","Di","Mi","Xian","Hu","Chao","Nu","Jing","Zhen","Yi","Mi","Quan","Wan","Shao","Ruo","Xuan","Jing","Dun","Zhang","Jiang","Qiang","Peng","Dan","Qiang","Bi","Bi","She","Dan","Jian","Gou","Sei","Fa","Bi","Kou","Nagi","Bie","Xiao","Dan","Kuo","Qiang","Hong","Mi","Kuo","Wan","Jue","Ji","Ji","Gui","Dang","Lu","Lu","Tuan","Hui","Zhi","Hui","Hui","Yi","Yi","Yi","Yi","Huo","Huo","Shan","Xing","Wen","Tong","Yan","Yan","Yu","Chi","Cai","Biao","Diao","Bin","Peng","Yong","Piao","Zhang","Ying","Chi","Chi","Zhuo","Tuo","Ji","Pang","Zhong","Yi","Wang","Che","Bi","Chi","Ling","Fu","Wang","Zheng","Cu","Wang","Jing","Dai","Xi","Xun","Hen","Yang","Huai","Lu","Hou","Wa","Cheng","Zhi","Xu","Jing","Tu","Cong",null,"Lai","Cong","De","Pai","Xi",null,"Qi","Chang","Zhi","Cong","Zhou","Lai","Yu","Xie","Jie","Jian","Chi","Jia","Bian","Huang","Fu","Xun","Wei","Pang","Yao","Wei","Xi","Zheng","Piao","Chi","De","Zheng","Zheng","Bie","De","Chong","Che","Jiao","Wei","Jiao","Hui","Mei","Long","Xiang","Bao","Qu","Xin","Shu","Bi","Yi","Le","Ren","Dao","Ding","Gai","Ji","Ren","Ren","Chan","Tan","Te","Te","Gan","Qi","Shi","Cun","Zhi","Wang","Mang","Xi","Fan","Ying","Tian","Min","Min","Zhong","Chong","Wu","Ji","Wu","Xi","Ye","You","Wan","Cong","Zhong","Kuai","Yu","Bian","Zhi","Qi","Cui","Chen","Tai","Tun","Qian","Nian","Hun","Xiong","Niu","Wang","Xian","Xin","Kang","Hu","Kai","Fen"],mT[96]=["Huai","Tai","Song","Wu","Ou","Chang","Chuang","Ju","Yi","Bao","Chao","Min","Pei","Zuo","Zen","Yang","Kou","Ban","Nu","Nao","Zheng","Pa","Bu","Tie","Gu","Hu","Ju","Da","Lian","Si","Chou","Di","Dai","Yi","Tu","You","Fu","Ji","Peng","Xing","Yuan","Ni","Guai","Fu","Xi","Bi","You","Qie","Xuan","Cong","Bing","Huang","Xu","Chu","Pi","Xi","Xi","Tan","Koraeru","Zong","Dui",null,"Ki","Yi","Chi","Ren","Xun","Shi","Xi","Lao","Heng","Kuang","Mu","Zhi","Xie","Lian","Tiao","Huang","Die","Hao","Kong","Gui","Heng","Xi","Xiao","Shu","S","Kua","Qiu","Yang","Hui","Hui","Chi","Jia","Yi","Xiong","Guai","Lin","Hui","Zi","Xu","Chi","Xiang","Nu","Hen","En","Ke","Tong","Tian","Gong","Quan","Xi","Qia","Yue","Peng","Ken","De","Hui","E","Kyuu","Tong","Yan","Kai","Ce","Nao","Yun","Mang","Yong","Yong","Yuan","Pi","Kun","Qiao","Yue","Yu","Yu","Jie","Xi","Zhe","Lin","Ti","Han","Hao","Qie","Ti","Bu","Yi","Qian","Hui","Xi","Bei","Man","Yi","Heng","Song","Quan","Cheng","Hui","Wu","Wu","You","Li","Liang","Huan","Cong","Yi","Yue","Li","Nin","Nao","E","Que","Xuan","Qian","Wu","Min","Cong","Fei","Bei","Duo","Cui","Chang","Men","Li","Ji","Guan","Guan","Xing","Dao","Qi","Kong","Tian","Lun","Xi","Kan","Kun","Ni","Qing","Chou","Dun","Guo","Chan","Liang","Wan","Yuan","Jin","Ji","Lin","Yu","Huo","He","Quan","Tan","Ti","Ti","Nie","Wang","Chuo","Bu","Hun","Xi","Tang","Xin","Wei","Hui","E","Rui","Zong","Jian","Yong","Dian","Ju","Can","Cheng","De","Bei","Qie","Can","Dan","Guan","Duo","Nao","Yun","Xiang","Zhui","Die","Huang","Chun","Qiong","Re","Xing","Ce","Bian","Hun","Zong","Ti"],mT[97]=["Qiao","Chou","Bei","Xuan","Wei","Ge","Qian","Wei","Yu","Yu","Bi","Xuan","Huan","Min","Bi","Yi","Mian","Yong","Kai","Dang","Yin","E","Chen","Mou","Ke","Ke","Yu","Ai","Qie","Yan","Nuo","Gan","Yun","Zong","Sai","Leng","Fen",null,"Kui","Kui","Que","Gong","Yun","Su","Su","Qi","Yao","Song","Huang","Ji","Gu","Ju","Chuang","Ni","Xie","Kai","Zheng","Yong","Cao","Sun","Shen","Bo","Kai","Yuan","Xie","Hun","Yong","Yang","Li","Sao","Tao","Yin","Ci","Xu","Qian","Tai","Huang","Yun","Shen","Ming",null,"She","Cong","Piao","Mo","Mu","Guo","Chi","Can","Can","Can","Cui","Min","Te","Zhang","Tong","Ao","Shuang","Man","Guan","Que","Zao","Jiu","Hui","Kai","Lian","Ou","Song","Jin","Yin","Lu","Shang","Wei","Tuan","Man","Qian","She","Yong","Qing","Kang","Di","Zhi","Lou","Juan","Qi","Qi","Yu","Ping","Liao","Cong","You","Chong","Zhi","Tong","Cheng","Qi","Qu","Peng","Bei","Bie","Chun","Jiao","Zeng","Chi","Lian","Ping","Kui","Hui","Qiao","Cheng","Yin","Yin","Xi","Xi","Dan","Tan","Duo","Dui","Dui","Su","Jue","Ce","Xiao","Fan","Fen","Lao","Lao","Chong","Han","Qi","Xian","Min","Jing","Liao","Wu","Can","Jue","Cu","Xian","Tan","Sheng","Pi","Yi","Chu","Xian","Nao","Dan","Tan","Jing","Song","Han","Jiao","Wai","Huan","Dong","Qin","Qin","Qu","Cao","Ken","Xie","Ying","Ao","Mao","Yi","Lin","Se","Jun","Huai","Men","Lan","Ai","Lin","Yan","Gua","Xia","Chi","Yu","Yin","Dai","Meng","Ai","Meng","Dui","Qi","Mo","Lan","Men","Chou","Zhi","Nuo","Nuo","Yan","Yang","Bo","Zhi","Kuang","Kuang","You","Fu","Liu","Mie","Cheng",null,"Chan","Meng","Lan","Huai","Xuan","Rang","Chan","Ji","Ju","Huan","She","Yi"],mT[98]=["Lian","Nan","Mi","Tang","Jue","Gang","Gang","Gang","Ge","Yue","Wu","Jian","Xu","Shu","Rong","Xi","Cheng","Wo","Jie","Ge","Jian","Qiang","Huo","Qiang","Zhan","Dong","Qi","Jia","Die","Zei","Jia","Ji","Shi","Kan","Ji","Kui","Gai","Deng","Zhan","Chuang","Ge","Jian","Jie","Yu","Jian","Yan","Lu","Xi","Zhan","Xi","Xi","Chuo","Dai","Qu","Hu","Hu","Hu","E","Shi","Li","Mao","Hu","Li","Fang","Suo","Bian","Dian","Jiong","Shang","Yi","Yi","Shan","Hu","Fei","Yan","Shou","T","Cai","Zha","Qiu","Le","Bu","Ba","Da","Reng","Fu","Hameru","Zai","Tuo","Zhang","Diao","Kang","Yu","Ku","Han","Shen","Cha","Yi","Gu","Kou","Wu","Tuo","Qian","Zhi","Ren","Kuo","Men","Sao","Yang","Niu","Ban","Che","Rao","Xi","Qian","Ban","Jia","Yu","Fu","Ao","Xi","Pi","Zhi","Zi","E","Dun","Zhao","Cheng","Ji","Yan","Kuang","Bian","Chao","Ju","Wen","Hu","Yue","Jue","Ba","Qin","Zhen","Zheng","Yun","Wan","Nu","Yi","Shu","Zhua","Pou","Tou","Dou","Kang","Zhe","Pou","Fu","Pao","Ba","Ao","Ze","Tuan","Kou","Lun","Qiang",null,"Hu","Bao","Bing","Zhi","Peng","Tan","Pu","Pi","Tai","Yao","Zhen","Zha","Yang","Bao","He","Ni","Yi","Di","Chi","Pi","Za","Mo","Mo","Shen","Ya","Chou","Qu","Min","Chu","Jia","Fu","Zhan","Zhu","Dan","Chai","Mu","Nian","La","Fu","Pao","Ban","Pai","Ling","Na","Guai","Qian","Ju","Tuo","Ba","Tuo","Tuo","Ao","Ju","Zhuo","Pan","Zhao","Bai","Bai","Di","Ni","Ju","Kuo","Long","Jian",null,"Yong","Lan","Ning","Bo","Ze","Qian","Hen","Gua","Shi","Jie","Zheng","Nin","Gong","Gong","Quan","Shuan","Cun","Zan","Kao","Chi","Xie","Ce","Hui","Pin","Zhuai","Shi","Na"],mT[99]=["Bo","Chi","Gua","Zhi","Kuo","Duo","Duo","Zhi","Qie","An","Nong","Zhen","Ge","Jiao","Ku","Dong","Ru","Tiao","Lie","Zha","Lu","Die","Wa","Jue","Mushiru","Ju","Zhi","Luan","Ya","Zhua","Ta","Xie","Nao","Dang","Jiao","Zheng","Ji","Hui","Xun","Ku","Ai","Tuo","Nuo","Cuo","Bo","Geng","Ti","Zhen","Cheng","Suo","Suo","Keng","Mei","Long","Ju","Peng","Jian","Yi","Ting","Shan","Nuo","Wan","Xie","Cha","Feng","Jiao","Wu","Jun","Jiu","Tong","Kun","Huo","Tu","Zhuo","Pou","Le","Ba","Han","Shao","Nie","Juan","Ze","Song","Ye","Jue","Bu","Huan","Bu","Zun","Yi","Zhai","Lu","Sou","Tuo","Lao","Sun","Bang","Jian","Huan","Dao",null,"Wan","Qin","Peng","She","Lie","Min","Men","Fu","Bai","Ju","Dao","Wo","Ai","Juan","Yue","Zong","Chen","Chui","Jie","Tu","Ben","Na","Nian","Nuo","Zu","Wo","Xi","Xian","Cheng","Dian","Sao","Lun","Qing","Gang","Duo","Shou","Diao","Pou","Di","Zhang","Gun","Ji","Tao","Qia","Qi","Pai","Shu","Qian","Ling","Yi","Ya","Jue","Zheng","Liang","Gua","Yi","Huo","Shan","Zheng","Lue","Cai","Tan","Che","Bing","Jie","Ti","Kong","Tui","Yan","Cuo","Zou","Ju","Tian","Qian","Ken","Bai","Shou","Jie","Lu","Guo","Haba",null,"Zhi","Dan","Mang","Xian","Sao","Guan","Peng","Yuan","Nuo","Jian","Zhen","Jiu","Jian","Yu","Yan","Kui","Nan","Hong","Rou","Pi","Wei","Sai","Zou","Xuan","Miao","Ti","Nie","Cha","Shi","Zong","Zhen","Yi","Shun","Heng","Bian","Yang","Huan","Yan","Zuan","An","Xu","Ya","Wo","Ke","Chuai","Ji","Ti","La","La","Cheng","Kai","Jiu","Jiu","Tu","Jie","Hui","Geng","Chong","Shuo","She","Xie","Yuan","Qian","Ye","Cha","Zha","Bei","Yao",null,null,"Lan","Wen","Qin"],mT[100]=["Chan","Ge","Lou","Zong","Geng","Jiao","Gou","Qin","Yong","Que","Chou","Chi","Zhan","Sun","Sun","Bo","Chu","Rong","Beng","Cuo","Sao","Ke","Yao","Dao","Zhi","Nu","Xie","Jian","Sou","Qiu","Gao","Xian","Shuo","Sang","Jin","Mie","E","Chui","Nuo","Shan","Ta","Jie","Tang","Pan","Ban","Da","Li","Tao","Hu","Zhi","Wa","Xia","Qian","Wen","Qiang","Tian","Zhen","E","Xi","Nuo","Quan","Cha","Zha","Ge","Wu","En","She","Kang","She","Shu","Bai","Yao","Bin","Sou","Tan","Sa","Chan","Suo","Liao","Chong","Chuang","Guo","Bing","Feng","Shuai","Di","Qi","Sou","Zhai","Lian","Tang","Chi","Guan","Lu","Luo","Lou","Zong","Gai","Hu","Zha","Chuang","Tang","Hua","Cui","Nai","Mo","Jiang","Gui","Ying","Zhi","Ao","Zhi","Nie","Man","Shan","Kou","Shu","Suo","Tuan","Jiao","Mo","Mo","Zhe","Xian","Keng","Piao","Jiang","Yin","Gou","Qian","Lue","Ji","Ying","Jue","Pie","Pie","Lao","Dun","Xian","Ruan","Kui","Zan","Yi","Xun","Cheng","Cheng","Sa","Nao","Heng","Si","Qian","Huang","Da","Zun","Nian","Lin","Zheng","Hui","Zhuang","Jiao","Ji","Cao","Dan","Dan","Che","Bo","Che","Jue","Xiao","Liao","Ben","Fu","Qiao","Bo","Cuo","Zhuo","Zhuan","Tuo","Pu","Qin","Dun","Nian",null,"Xie","Lu","Jiao","Cuan","Ta","Han","Qiao","Zhua","Jian","Gan","Yong","Lei","Kuo","Lu","Shan","Zhuo","Ze","Pu","Chuo","Ji","Dang","Suo","Cao","Qing","Jing","Huan","Jie","Qin","Kuai","Dan","Xi","Ge","Pi","Bo","Ao","Ju","Ye",null,"Mang","Sou","Mi","Ji","Tai","Zhuo","Dao","Xing","Lan","Ca","Ju","Ye","Ru","Ye","Ye","Ni","Hu","Ji","Bin","Ning","Ge","Zhi","Jie","Kuo","Mo","Jian","Xie","Lie","Tan","Bai","Sou","Lu","Lue","Rao","Zhi"],mT[101]=["Pan","Yang","Lei","Sa","Shu","Zan","Nian","Xian","Jun","Huo","Li","La","Han","Ying","Lu","Long","Qian","Qian","Zan","Qian","Lan","San","Ying","Mei","Rang","Chan",null,"Cuan","Xi","She","Luo","Jun","Mi","Li","Zan","Luan","Tan","Zuan","Li","Dian","Wa","Dang","Jiao","Jue","Lan","Li","Nang","Zhi","Gui","Gui","Qi","Xin","Pu","Sui","Shou","Kao","You","Gai","Yi","Gong","Gan","Ban","Fang","Zheng","Bo","Dian","Kou","Min","Wu","Gu","He","Ce","Xiao","Mi","Chu","Ge","Di","Xu","Jiao","Min","Chen","Jiu","Zhen","Duo","Yu","Chi","Ao","Bai","Xu","Jiao","Duo","Lian","Nie","Bi","Chang","Dian","Duo","Yi","Gan","San","Ke","Yan","Dun","Qi","Dou","Xiao","Duo","Jiao","Jing","Yang","Xia","Min","Shu","Ai","Qiao","Ai","Zheng","Di","Zhen","Fu","Shu","Liao","Qu","Xiong","Xi","Jiao","Sen","Jiao","Zhuo","Yi","Lian","Bi","Li","Xiao","Xiao","Wen","Xue","Qi","Qi","Zhai","Bin","Jue","Zhai",null,"Fei","Ban","Ban","Lan","Yu","Lan","Wei","Dou","Sheng","Liao","Jia","Hu","Xie","Jia","Yu","Zhen","Jiao","Wo","Tou","Chu","Jin","Chi","Yin","Fu","Qiang","Zhan","Qu","Zhuo","Zhan","Duan","Zhuo","Si","Xin","Zhuo","Zhuo","Qin","Lin","Zhuo","Chu","Duan","Zhu","Fang","Xie","Hang","Yu","Shi","Pei","You","Mye","Pang","Qi","Zhan","Mao","Lu","Pei","Pi","Liu","Fu","Fang","Xuan","Jing","Jing","Ni","Zu","Zhao","Yi","Liu","Shao","Jian","Es","Yi","Qi","Zhi","Fan","Piao","Fan","Zhan","Guai","Sui","Yu","Wu","Ji","Ji","Ji","Huo","Ri","Dan","Jiu","Zhi","Zao","Xie","Tiao","Xun","Xu","Xu","Xu","Gan","Han","Tai","Di","Xu","Chan","Shi","Kuang","Yang","Shi","Wang","Min","Min","Tun","Chun","Wu"],mT[102]=["Yun","Bei","Ang","Ze","Ban","Jie","Kun","Sheng","Hu","Fang","Hao","Gui","Chang","Xuan","Ming","Hun","Fen","Qin","Hu","Yi","Xi","Xin","Yan","Ze","Fang","Tan","Shen","Ju","Yang","Zan","Bing","Xing","Ying","Xuan","Pei","Zhen","Ling","Chun","Hao","Mei","Zuo","Mo","Bian","Xu","Hun","Zhao","Zong","Shi","Shi","Yu","Fei","Die","Mao","Ni","Chang","Wen","Dong","Ai","Bing","Ang","Zhou","Long","Xian","Kuang","Tiao","Chao","Shi","Huang","Huang","Xuan","Kui","Xu","Jiao","Jin","Zhi","Jin","Shang","Tong","Hong","Yan","Gai","Xiang","Shai","Xiao","Ye","Yun","Hui","Han","Han","Jun","Wan","Xian","Kun","Zhou","Xi","Cheng","Sheng","Bu","Zhe","Zhe","Wu","Han","Hui","Hao","Chen","Wan","Tian","Zhuo","Zui","Zhou","Pu","Jing","Xi","Shan","Yi","Xi","Qing","Qi","Jing","Gui","Zhen","Yi","Zhi","An","Wan","Lin","Liang","Chang","Wang","Xiao","Zan","Hi","Xuan","Xuan","Yi","Xia","Yun","Hui","Fu","Min","Kui","He","Ying","Du","Wei","Shu","Qing","Mao","Nan","Jian","Nuan","An","Yang","Chun","Yao","Suo","Jin","Ming","Jiao","Kai","Gao","Weng","Chang","Qi","Hao","Yan","Li","Ai","Ji","Gui","Men","Zan","Xie","Hao","Mu","Mo","Cong","Ni","Zhang","Hui","Bao","Han","Xuan","Chuan","Liao","Xian","Dan","Jing","Pie","Lin","Tun","Xi","Yi","Ji","Huang","Tai","Ye","Ye","Li","Tan","Tong","Xiao","Fei","Qin","Zhao","Hao","Yi","Xiang","Xing","Sen","Jiao","Bao","Jing","Yian","Ai","Ye","Ru","Shu","Meng","Xun","Yao","Pu","Li","Chen","Kuang","Die",null,"Yan","Huo","Lu","Xi","Rong","Long","Nang","Luo","Luan","Shai","Tang","Yan","Chu","Yue","Yue","Qu","Yi","Geng","Ye","Hu","He","Shu","Cao","Cao","Noboru","Man","Ceng","Ceng","Ti"],mT[103]=["Zui","Can","Xu","Hui","Yin","Qie","Fen","Pi","Yue","You","Ruan","Peng","Ban","Fu","Ling","Fei","Qu",null,"Nu","Tiao","Shuo","Zhen","Lang","Lang","Juan","Ming","Huang","Wang","Tun","Zhao","Ji","Qi","Ying","Zong","Wang","Tong","Lang",null,"Meng","Long","Mu","Deng","Wei","Mo","Ben","Zha","Zhu","Shu",null,"Zhu","Ren","Ba","Po","Duo","Duo","Dao","Li","Qiu","Ji","Jiu","Bi","Xiu","Ting","Ci","Sha","Eburi","Za","Quan","Qian","Yu","Gan","Wu","Cha","Shan","Xun","Fan","Wu","Zi","Li","Xing","Cai","Cun","Ren","Shao","Tuo","Di","Zhang","Mang","Chi","Yi","Gu","Gong","Du","Yi","Qi","Shu","Gang","Tiao","Moku","Soma","Tochi","Lai","Sugi","Mang","Yang","Ma","Miao","Si","Yuan","Hang","Fei","Bei","Jie","Dong","Gao","Yao","Xian","Chu","Qun","Pa","Shu","Hua","Xin","Chou","Zhu","Chou","Song","Ban","Song","Ji","Yue","Jin","Gou","Ji","Mao","Pi","Bi","Wang","Ang","Fang","Fen","Yi","Fu","Nan","Xi","Hu","Ya","Dou","Xun","Zhen","Yao","Lin","Rui","E","Mei","Zhao","Guo","Zhi","Cong","Yun","Waku","Dou","Shu","Zao",null,"Li","Haze","Jian","Cheng","Matsu","Qiang","Feng","Nan","Xiao","Xian","Ku","Ping","Yi","Xi","Zhi","Guai","Xiao","Jia","Jia","Gou","Fu","Mo","Yi","Ye","Ye","Shi","Nie","Bi","Duo","Yi","Ling","Bing","Ni","La","He","Pan","Fan","Zhong","Dai","Ci","Yang","Fu","Bo","Mou","Gan","Qi","Ran","Rou","Mao","Zhao","Song","Zhe","Xia","You","Shen","Ju","Tuo","Zuo","Nan","Ning","Yong","Di","Zhi","Zha","Cha","Dan","Gu","Pu","Jiu","Ao","Fu","Jian","Bo","Duo","Ke","Nai","Zhu","Bi","Liu","Chai","Zha","Si","Zhu","Pei","Shi","Guai","Cha","Yao","Jue","Jiu","Shi"],mT[104]=["Zhi","Liu","Mei","Hoy","Rong","Zha",null,"Biao","Zhan","Jie","Long","Dong","Lu","Sayng","Li","Lan","Yong","Shu","Xun","Shuan","Qi","Zhen","Qi","Li","Yi","Xiang","Zhen","Li","Su","Gua","Kan","Bing","Ren","Xiao","Bo","Ren","Bing","Zi","Chou","Yi","Jie","Xu","Zhu","Jian","Zui","Er","Er","You","Fa","Gong","Kao","Lao","Zhan","Li","Yin","Yang","He","Gen","Zhi","Chi","Ge","Zai","Luan","Fu","Jie","Hang","Gui","Tao","Guang","Wei","Kuang","Ru","An","An","Juan","Yi","Zhuo","Ku","Zhi","Qiong","Tong","Sang","Sang","Huan","Jie","Jiu","Xue","Duo","Zhui","Yu","Zan","Kasei","Ying","Masu",null,"Zhan","Ya","Nao","Zhen","Dang","Qi","Qiao","Hua","Kuai","Jiang","Zhuang","Xun","Suo","Sha","Zhen","Bei","Ting","Gua","Jing","Bo","Ben","Fu","Rui","Tong","Jue","Xi","Lang","Liu","Feng","Qi","Wen","Jun","Gan","Cu","Liang","Qiu","Ting","You","Mei","Bang","Long","Peng","Zhuang","Di","Xuan","Tu","Zao","Ao","Gu","Bi","Di","Han","Zi","Zhi","Ren","Bei","Geng","Jian","Huan","Wan","Nuo","Jia","Tiao","Ji","Xiao","Lu","Huan","Shao","Cen","Fen","Song","Meng","Wu","Li","Li","Dou","Cen","Ying","Suo","Ju","Ti","Jie","Kun","Zhuo","Shu","Chan","Fan","Wei","Jing","Li","Bing","Fumoto","Shikimi","Tao","Zhi","Lai","Lian","Jian","Zhuo","Ling","Li","Qi","Bing","Zhun","Cong","Qian","Mian","Qi","Qi","Cai","Gun","Chan","Te","Fei","Pai","Bang","Pou","Hun","Zong","Cheng","Zao","Ji","Li","Peng","Yu","Yu","Gu","Hun","Dong","Tang","Gang","Wang","Di","Xi","Fan","Cheng","Zhan","Qi","Yuan","Yan","Yu","Quan","Yi","Sen","Ren","Chui","Leng","Qi","Zhuo","Fu","Ke","Lai","Zou","Zou","Zhuo","Guan","Fen","Fen","Chen","Qiong","Nie"],mT[105]=["Wan","Guo","Lu","Hao","Jie","Yi","Chou","Ju","Ju","Cheng","Zuo","Liang","Qiang","Zhi","Zhui","Ya","Ju","Bei","Jiao","Zhuo","Zi","Bin","Peng","Ding","Chu","Chang","Kunugi","Momiji","Jian","Gui","Xi","Du","Qian","Kunugi","Soko","Shide","Luo","Zhi","Ken","Myeng","Tafu",null,"Peng","Zhan",null,"Tuo","Sen","Duo","Ye","Fou","Wei","Wei","Duan","Jia","Zong","Jian","Yi","Shen","Xi","Yan","Yan","Chuan","Zhan","Chun","Yu","He","Zha","Wo","Pian","Bi","Yao","Huo","Xu","Ruo","Yang","La","Yan","Ben","Hun","Kui","Jie","Kui","Si","Feng","Xie","Tuo","Zhi","Jian","Mu","Mao","Chu","Hu","Hu","Lian","Leng","Ting","Nan","Yu","You","Mei","Song","Xuan","Xuan","Ying","Zhen","Pian","Ye","Ji","Jie","Ye","Chu","Shun","Yu","Cou","Wei","Mei","Di","Ji","Jie","Kai","Qiu","Ying","Rou","Heng","Lou","Le","Hazou","Katsura","Pin","Muro","Gai","Tan","Lan","Yun","Yu","Chen","Lu","Ju","Sakaki",null,"Pi","Xie","Jia","Yi","Zhan","Fu","Nai","Mi","Lang","Rong","Gu","Jian","Ju","Ta","Yao","Zhen","Bang","Sha","Yuan","Zi","Ming","Su","Jia","Yao","Jie","Huang","Gan","Fei","Zha","Qian","Ma","Sun","Yuan","Xie","Rong","Shi","Zhi","Cui","Yun","Ting","Liu","Rong","Tang","Que","Zhai","Si","Sheng","Ta","Ke","Xi","Gu","Qi","Kao","Gao","Sun","Pan","Tao","Ge","Xun","Dian","Nou","Ji","Shuo","Gou","Chui","Qiang","Cha","Qian","Huai","Mei","Xu","Gang","Gao","Zhuo","Tuo","Hashi","Yang","Dian","Jia","Jian","Zui","Kashi","Ori","Bin","Zhu",null,"Xi","Qi","Lian","Hui","Yong","Qian","Guo","Gai","Gai","Tuan","Hua","Cu","Sen","Cui","Beng","You","Hu","Jiang","Hu","Huan","Kui","Yi","Nie","Gao","Kang","Gui","Gui","Cao","Man","Jin"],mT[106]=["Di","Zhuang","Le","Lang","Chen","Cong","Li","Xiu","Qing","Shuang","Fan","Tong","Guan","Ji","Suo","Lei","Lu","Liang","Mi","Lou","Chao","Su","Ke","Shu","Tang","Biao","Lu","Jiu","Shu","Zha","Shu","Zhang","Men","Mo","Niao","Yang","Tiao","Peng","Zhu","Sha","Xi","Quan","Heng","Jian","Cong",null,"Hokuso","Qiang","Tara","Ying","Er","Xin","Zhi","Qiao","Zui","Cong","Pu","Shu","Hua","Kui","Zhen","Zun","Yue","Zhan","Xi","Xun","Dian","Fa","Gan","Mo","Wu","Qiao","Nao","Lin","Liu","Qiao","Xian","Run","Fan","Zhan","Tuo","Lao","Yun","Shun","Tui","Cheng","Tang","Meng","Ju","Cheng","Su","Jue","Jue","Tan","Hui","Ji","Nuo","Xiang","Tuo","Ning","Rui","Zhu","Chuang","Zeng","Fen","Qiong","Ran","Heng","Cen","Gu","Liu","Lao","Gao","Chu","Zusa","Nude","Ca","San","Ji","Dou","Shou","Lu",null,null,"Yuan","Ta","Shu","Jiang","Tan","Lin","Nong","Yin","Xi","Sui","Shan","Zui","Xuan","Cheng","Gan","Ju","Zui","Yi","Qin","Pu","Yan","Lei","Feng","Hui","Dang","Ji","Sui","Bo","Bi","Ding","Chu","Zhua","Kuai","Ji","Jie","Jia","Qing","Zhe","Jian","Qiang","Dao","Yi","Biao","Song","She","Lin","Kunugi","Cha","Meng","Yin","Tao","Tai","Mian","Qi","Toan","Bin","Huo","Ji","Qian","Mi","Ning","Yi","Gao","Jian","Yin","Er","Qing","Yan","Qi","Mi","Zhao","Gui","Chun","Ji","Kui","Po","Deng","Chu",null,"Mian","You","Zhi","Guang","Qian","Lei","Lei","Sa","Lu","Li","Cuan","Lu","Mie","Hui","Ou","Lu","Jie","Gao","Du","Yuan","Li","Fei","Zhuo","Sou","Lian","Tamo","Chu",null,"Zhu","Lu","Yan","Li","Zhu","Chen","Jie","E","Su","Huai","Nie","Yu","Long","Lai",null,"Xian","Kwi","Ju","Xiao","Ling","Ying","Jian","Yin","You","Ying"],mT[107]=["Xiang","Nong","Bo","Chan","Lan","Ju","Shuang","She","Wei","Cong","Quan","Qu","Cang",null,"Yu","Luo","Li","Zan","Luan","Dang","Jue","Em","Lan","Lan","Zhu","Lei","Li","Ba","Nang","Yu","Ling","Tsuki","Qian","Ci","Huan","Xin","Yu","Yu","Qian","Ou","Xu","Chao","Chu","Chi","Kai","Yi","Jue","Xi","Xu","Xia","Yu","Kuai","Lang","Kuan","Shuo","Xi","Ai","Yi","Qi","Hu","Chi","Qin","Kuan","Kan","Kuan","Kan","Chuan","Sha","Gua","Yin","Xin","Xie","Yu","Qian","Xiao","Yi","Ge","Wu","Tan","Jin","Ou","Hu","Ti","Huan","Xu","Pen","Xi","Xiao","Xu","Xi","Sen","Lian","Chu","Yi","Kan","Yu","Chuo","Huan","Zhi","Zheng","Ci","Bu","Wu","Qi","Bu","Bu","Wai","Ju","Qian","Chi","Se","Chi","Se","Zhong","Sui","Sui","Li","Cuo","Yu","Li","Gui","Dai","Dai","Si","Jian","Zhe","Mo","Mo","Yao","Mo","Cu","Yang","Tian","Sheng","Dai","Shang","Xu","Xun","Shu","Can","Jue","Piao","Qia","Qiu","Su","Qing","Yun","Lian","Yi","Fou","Zhi","Ye","Can","Hun","Dan","Ji","Ye","Zhen","Yun","Wen","Chou","Bin","Ti","Jin","Shang","Yin","Diao","Cu","Hui","Cuan","Yi","Dan","Du","Jiang","Lian","Bin","Du","Tsukusu","Jian","Shu","Ou","Duan","Zhu","Yin","Qing","Yi","Sha","Que","Ke","Yao","Jun","Dian","Hui","Hui","Gu","Que","Ji","Yi","Ou","Hui","Duan","Yi","Xiao","Wu","Guan","Mu","Mei","Mei","Ai","Zuo","Du","Yu","Bi","Bi","Bi","Pi","Pi","Bi","Chan","Mao",null,null,"Pu","Mushiru","Jia","Zhan","Sai","Mu","Tuo","Xun","Er","Rong","Xian","Ju","Mu","Hao","Qiu","Dou","Mushiru","Tan","Pei","Ju","Duo","Cui","Bi","San",null,"Mao","Sui","Yu","Yu","Tuo","He","Jian","Ta","San"],mT[108]=["Lu","Mu","Li","Tong","Rong","Chang","Pu","Luo","Zhan","Sao","Zhan","Meng","Luo","Qu","Die","Shi","Di","Min","Jue","Mang","Qi","Pie","Nai","Qi","Dao","Xian","Chuan","Fen","Ri","Nei",null,"Fu","Shen","Dong","Qing","Qi","Yin","Xi","Hai","Yang","An","Ya","Ke","Qing","Ya","Dong","Dan","Lu","Qing","Yang","Yun","Yun","Shui","San","Zheng","Bing","Yong","Dang","Shitamizu","Le","Ni","Tun","Fan","Gui","Ting","Zhi","Qiu","Bin","Ze","Mian","Cuan","Hui","Diao","Han","Cha","Zhuo","Chuan","Wan","Fan","Dai","Xi","Tuo","Mang","Qiu","Qi","Shan","Pai","Han","Qian","Wu","Wu","Xun","Si","Ru","Gong","Jiang","Chi","Wu","Tsuchi",null,"Tang","Zhi","Chi","Qian","Mi","Yu","Wang","Qing","Jing","Rui","Jun","Hong","Tai","Quan","Ji","Bian","Bian","Gan","Wen","Zhong","Fang","Xiong","Jue","Hang","Niou","Qi","Fen","Xu","Xu","Qin","Yi","Wo","Yun","Yuan","Hang","Yan","Shen","Chen","Dan","You","Dun","Hu","Huo","Qie","Mu","Rou","Mei","Ta","Mian","Wu","Chong","Tian","Bi","Sha","Zhi","Pei","Pan","Zhui","Za","Gou","Liu","Mei","Ze","Feng","Ou","Li","Lun","Cang","Feng","Wei","Hu","Mo","Mei","Shu","Ju","Zan","Tuo","Tuo","Tuo","He","Li","Mi","Yi","Fa","Fei","You","Tian","Zhi","Zhao","Gu","Zhan","Yan","Si","Kuang","Jiong","Ju","Xie","Qiu","Yi","Jia","Zhong","Quan","Bo","Hui","Mi","Ben","Zhuo","Chu","Le","You","Gu","Hong","Gan","Fa","Mao","Si","Hu","Ping","Ci","Fan","Chi","Su","Ning","Cheng","Ling","Pao","Bo","Qi","Si","Ni","Ju","Yue","Zhu","Sheng","Lei","Xuan","Xue","Fu","Pan","Min","Tai","Yang","Ji","Yong","Guan","Beng","Xue","Long","Lu",null,"Bo","Xie","Po","Ze","Jing","Yin"],mT[109]=["Zhou","Ji","Yi","Hui","Hui","Zui","Cheng","Yin","Wei","Hou","Jian","Yang","Lie","Si","Ji","Er","Xing","Fu","Sa","Suo","Zhi","Yin","Wu","Xi","Kao","Zhu","Jiang","Luo",null,"An","Dong","Yi","Mou","Lei","Yi","Mi","Quan","Jin","Mo","Wei","Xiao","Xie","Hong","Xu","Shuo","Kuang","Tao","Qie","Ju","Er","Zhou","Ru","Ping","Xun","Xiong","Zhi","Guang","Huan","Ming","Huo","Wa","Qia","Pai","Wu","Qu","Liu","Yi","Jia","Jing","Qian","Jiang","Jiao","Cheng","Shi","Zhuo","Ce","Pal","Kuai","Ji","Liu","Chan","Hun","Hu","Nong","Xun","Jin","Lie","Qiu","Wei","Zhe","Jun","Han","Bang","Mang","Zhuo","You","Xi","Bo","Dou","Wan","Hong","Yi","Pu","Ying","Lan","Hao","Lang","Han","Li","Geng","Fu","Wu","Lian","Chun","Feng","Yi","Yu","Tong","Lao","Hai","Jin","Jia","Chong","Weng","Mei","Sui","Cheng","Pei","Xian","Shen","Tu","Kun","Pin","Nie","Han","Jing","Xiao","She","Nian","Tu","Yong","Xiao","Xian","Ting","E","Su","Tun","Juan","Cen","Ti","Li","Shui","Si","Lei","Shui","Tao","Du","Lao","Lai","Lian","Wei","Wo","Yun","Huan","Di",null,"Run","Jian","Zhang","Se","Fu","Guan","Xing","Shou","Shuan","Ya","Chuo","Zhang","Ye","Kong","Wo","Han","Tuo","Dong","He","Wo","Ju","Gan","Liang","Hun","Ta","Zhuo","Dian","Qie","De","Juan","Zi","Xi","Yao","Qi","Gu","Guo","Han","Lin","Tang","Zhou","Peng","Hao","Chang","Shu","Qi","Fang","Chi","Lu","Nao","Ju","Tao","Cong","Lei","Zhi","Peng","Fei","Song","Tian","Pi","Dan","Yu","Ni","Yu","Lu","Gan","Mi","Jing","Ling","Lun","Yin","Cui","Qu","Huai","Yu","Nian","Shen","Piao","Chun","Wa","Yuan","Lai","Hun","Qing","Yan","Qian","Tian","Miao","Zhi","Yin","Mi"],mT[110]=["Ben","Yuan","Wen","Re","Fei","Qing","Yuan","Ke","Ji","She","Yuan","Shibui","Lu","Zi","Du",null,"Jian","Min","Pi","Tani","Yu","Yuan","Shen","Shen","Rou","Huan","Zhu","Jian","Nuan","Yu","Qiu","Ting","Qu","Du","Feng","Zha","Bo","Wo","Wo","Di","Wei","Wen","Ru","Xie","Ce","Wei","Ge","Gang","Yan","Hong","Xuan","Mi","Ke","Mao","Ying","Yan","You","Hong","Miao","Xing","Mei","Zai","Hun","Nai","Kui","Shi","E","Pai","Mei","Lian","Qi","Qi","Mei","Tian","Cou","Wei","Can","Tuan","Mian","Hui","Mo","Xu","Ji","Pen","Jian","Jian","Hu","Feng","Xiang","Yi","Yin","Zhan","Shi","Jie","Cheng","Huang","Tan","Yu","Bi","Min","Shi","Tu","Sheng","Yong","Qu","Zhong","Suei","Jiu","Jiao","Qiou","Yin","Tang","Long","Huo","Yuan","Nan","Ban","You","Quan","Chui","Liang","Chan","Yan","Chun","Nie","Zi","Wan","Shi","Man","Ying","Ratsu","Kui",null,"Jian","Xu","Lu","Gui","Gai",null,null,"Po","Jin","Gui","Tang","Yuan","Suo","Yuan","Lian","Yao","Meng","Zhun","Sheng","Ke","Tai","Da","Wa","Liu","Gou","Sao","Ming","Zha","Shi","Yi","Lun","Ma","Pu","Wei","Li","Cai","Wu","Xi","Wen","Qiang","Ze","Shi","Su","Yi","Zhen","Sou","Yun","Xiu","Yin","Rong","Hun","Su","Su","Ni","Ta","Shi","Ru","Wei","Pan","Chu","Chu","Pang","Weng","Cang","Mie","He","Dian","Hao","Huang","Xi","Zi","Di","Zhi","Ying","Fu","Jie","Hua","Ge","Zi","Tao","Teng","Sui","Bi","Jiao","Hui","Gun","Yin","Gao","Long","Zhi","Yan","She","Man","Ying","Chun","Lu","Lan","Luan",null,"Bin","Tan","Yu","Sou","Hu","Bi","Biao","Zhi","Jiang","Kou","Shen","Shang","Di","Mi","Ao","Lu","Hu","Hu","You","Chan","Fan","Yong","Gun","Man"],mT[111]=["Qing","Yu","Piao","Ji","Ya","Jiao","Qi","Xi","Ji","Lu","Lu","Long","Jin","Guo","Cong","Lou","Zhi","Gai","Qiang","Li","Yan","Cao","Jiao","Cong","Qun","Tuan","Ou","Teng","Ye","Xi","Mi","Tang","Mo","Shang","Han","Lian","Lan","Wa","Li","Qian","Feng","Xuan","Yi","Man","Zi","Mang","Kang","Lei","Peng","Shu","Zhang","Zhang","Chong","Xu","Huan","Kuo","Jian","Yan","Chuang","Liao","Cui","Ti","Yang","Jiang","Cong","Ying","Hong","Xun","Shu","Guan","Ying","Xiao",null,null,"Xu","Lian","Zhi","Wei","Pi","Jue","Jiao","Po","Dang","Hui","Jie","Wu","Pa","Ji","Pan","Gui","Xiao","Qian","Qian","Xi","Lu","Xi","Xuan","Dun","Huang","Min","Run","Su","Liao","Zhen","Zhong","Yi","Di","Wan","Dan","Tan","Chao","Xun","Kui","Yie","Shao","Tu","Zhu","San","Hei","Bi","Shan","Chan","Chan","Shu","Tong","Pu","Lin","Wei","Se","Se","Cheng","Jiong","Cheng","Hua","Jiao","Lao","Che","Gan","Cun","Heng","Si","Shu","Peng","Han","Yun","Liu","Hong","Fu","Hao","He","Xian","Jian","Shan","Xi","Oki",null,"Lan",null,"Yu","Lin","Min","Zao","Dang","Wan","Ze","Xie","Yu","Li","Shi","Xue","Ling","Man","Zi","Yong","Kuai","Can","Lian","Dian","Ye","Ao","Huan","Zhen","Chan","Man","Dan","Dan","Yi","Sui","Pi","Ju","Ta","Qin","Ji","Zhuo","Lian","Nong","Guo","Jin","Fen","Se","Ji","Sui","Hui","Chu","Ta","Song","Ding",null,"Zhu","Lai","Bin","Lian","Mi","Shi","Shu","Mi","Ning","Ying","Ying","Meng","Jin","Qi","Pi","Ji","Hao","Ru","Zui","Wo","Tao","Yin","Yin","Dui","Ci","Huo","Jing","Lan","Jun","Ai","Pu","Zhuo","Wei","Bin","Gu","Qian","Xing","Hama","Kuo","Fei",null,"Boku","Jian","Wei","Luo","Zan","Lu","Li"],mT[112]=["You","Yang","Lu","Si","Jie","Ying","Du","Wang","Hui","Xie","Pan","Shen","Biao","Chan","Mo","Liu","Jian","Pu","Se","Cheng","Gu","Bin","Huo","Xian","Lu","Qin","Han","Ying","Yong","Li","Jing","Xiao","Ying","Sui","Wei","Xie","Huai","Hao","Zhu","Long","Lai","Dui","Fan","Hu","Lai",null,null,"Ying","Mi","Ji","Lian","Jian","Ying","Fen","Lin","Yi","Jian","Yue","Chan","Dai","Rang","Jian","Lan","Fan","Shuang","Yuan","Zhuo","Feng","She","Lei","Lan","Cong","Qu","Yong","Qian","Fa","Guan","Que","Yan","Hao","Hyeng","Sa","Zan","Luan","Yan","Li","Mi","Shan","Tan","Dang","Jiao","Chan",null,"Hao","Ba","Zhu","Lan","Lan","Nang","Wan","Luan","Xun","Xian","Yan","Gan","Yan","Yu","Huo","Si","Mie","Guang","Deng","Hui","Xiao","Xiao","Hu","Hong","Ling","Zao","Zhuan","Jiu","Zha","Xie","Chi","Zhuo","Zai","Zai","Can","Yang","Qi","Zhong","Fen","Niu","Jiong","Wen","Po","Yi","Lu","Chui","Pi","Kai","Pan","Yan","Kai","Pang","Mu","Chao","Liao","Gui","Kang","Tun","Guang","Xin","Zhi","Guang","Guang","Wei","Qiang",null,"Da","Xia","Zheng","Zhu","Ke","Zhao","Fu","Ba","Duo","Duo","Ling","Zhuo","Xuan","Ju","Tan","Pao","Jiong","Pao","Tai","Tai","Bing","Yang","Tong","Han","Zhu","Zha","Dian","Wei","Shi","Lian","Chi","Huang",null,"Hu","Shuo","Lan","Jing","Jiao","Xu","Xing","Quan","Lie","Huan","Yang","Xiao","Xiu","Xian","Yin","Wu","Zhou","Yao","Shi","Wei","Tong","Xue","Zai","Kai","Hong","Luo","Xia","Zhu","Xuan","Zheng","Po","Yan","Hui","Guang","Zhe","Hui","Kao",null,"Fan","Shao","Ye","Hui",null,"Tang","Jin","Re",null,"Xi","Fu","Jiong","Che","Pu","Jing","Zhuo","Ting","Wan","Hai","Peng","Lang","Shan","Hu","Feng","Chi","Rong"],mT[113]=["Hu","Xi","Shu","He","Xun","Ku","Jue","Xiao","Xi","Yan","Han","Zhuang","Jun","Di","Xie","Ji","Wu",null,null,"Han","Yan","Huan","Men","Ju","Chou","Bei","Fen","Lin","Kun","Hun","Tun","Xi","Cui","Wu","Hong","Ju","Fu","Wo","Jiao","Cong","Feng","Ping","Qiong","Ruo","Xi","Qiong","Xin","Zhuo","Yan","Yan","Yi","Jue","Yu","Gang","Ran","Pi","Gu",null,"Sheng","Chang","Shao",null,null,null,null,"Chen","He","Kui","Zhong","Duan","Xia","Hui","Feng","Lian","Xuan","Xing","Huang","Jiao","Jian","Bi","Ying","Zhu","Wei","Tuan","Tian","Xi","Nuan","Nuan","Chan","Yan","Jiong","Jiong","Yu","Mei","Sha","Wei","Ye","Xin","Qiong","Rou","Mei","Huan","Xu","Zhao","Wei","Fan","Qiu","Sui","Yang","Lie","Zhu","Jie","Gao","Gua","Bao","Hu","Yun","Xia",null,null,"Bian","Gou","Tui","Tang","Chao","Shan","N","Bo","Huang","Xie","Xi","Wu","Xi","Yun","He","He","Xi","Yun","Xiong","Nai","Shan","Qiong","Yao","Xun","Mi","Lian","Ying","Wen","Rong","Oozutsu",null,"Qiang","Liu","Xi","Bi","Biao","Zong","Lu","Jian","Shou","Yi","Lou","Feng","Sui","Yi","Tong","Jue","Zong","Yun","Hu","Yi","Zhi","Ao","Wei","Liao","Han","Ou","Re","Jiong","Man",null,"Shang","Cuan","Zeng","Jian","Xi","Xi","Xi","Yi","Xiao","Chi","Huang","Chan","Ye","Qian","Ran","Yan","Xian","Qiao","Zun","Deng","Dun","Shen","Jiao","Fen","Si","Liao","Yu","Lin","Tong","Shao","Fen","Fan","Yan","Xun","Lan","Mei","Tang","Yi","Jing","Men",null,null,"Ying","Yu","Yi","Xue","Lan","Tai","Zao","Can","Sui","Xi","Que","Cong","Lian","Hui","Zhu","Xie","Ling","Wei","Yi","Xie","Zhao","Hui","Tatsu","Nung","Lan","Ru","Xian","Kao","Xun","Jin","Chou","Chou","Yao"],mT[114]=["He","Lan","Biao","Rong","Li","Mo","Bao","Ruo","Lu","La","Ao","Xun","Kuang","Shuo",null,"Li","Lu","Jue","Liao","Yan","Xi","Xie","Long","Ye",null,"Rang","Yue","Lan","Cong","Jue","Tong","Guan",null,"Che","Mi","Tang","Lan","Zhu",null,"Ling","Cuan","Yu","Zhua","Tsumekanmuri","Pa","Zheng","Pao","Cheng","Yuan","Ai","Wei",null,"Jue","Jue","Fu","Ye","Ba","Die","Ye","Yao","Zu","Shuang","Er","Qiang","Chuang","Ge","Zang","Die","Qiang","Yong","Qiang","Pian","Ban","Pan","Shao","Jian","Pai","Du","Chuang","Tou","Zha","Bian","Die","Bang","Bo","Chuang","You",null,"Du","Ya","Cheng","Niu","Ushihen","Pin","Jiu","Mou","Tuo","Mu","Lao","Ren","Mang","Fang","Mao","Mu","Gang","Wu","Yan","Ge","Bei","Si","Jian","Gu","You","Ge","Sheng","Mu","Di","Qian","Quan","Quan","Zi","Te","Xi","Mang","Keng","Qian","Wu","Gu","Xi","Li","Li","Pou","Ji","Gang","Zhi","Ben","Quan","Run","Du","Ju","Jia","Jian","Feng","Pian","Ke","Ju","Kao","Chu","Xi","Bei","Luo","Jie","Ma","San","Wei","Li","Dun","Tong",null,"Jiang","Ikenie","Li","Du","Lie","Pi","Piao","Bao","Xi","Chou","Wei","Kui","Chou","Quan","Fan","Ba","Fan","Qiu","Ji","Cai","Chuo","An","Jie","Zhuang","Guang","Ma","You","Kang","Bo","Hou","Ya","Yin","Huan","Zhuang","Yun","Kuang","Niu","Di","Qing","Zhong","Mu","Bei","Pi","Ju","Ni","Sheng","Pao","Xia","Tuo","Hu","Ling","Fei","Pi","Ni","Ao","You","Gou","Yue","Ju","Dan","Po","Gu","Xian","Ning","Huan","Hen","Jiao","He","Zhao","Ji","Xun","Shan","Ta","Rong","Shou","Tong","Lao","Du","Xia","Shi","Hua","Zheng","Yu","Sun","Yu","Bi","Mang","Xi","Juan","Li","Xia","Yin","Suan","Lang","Bei","Zhi","Yan"],mT[115]=["Sha","Li","Han","Xian","Jing","Pai","Fei","Yao","Ba","Qi","Ni","Biao","Yin","Lai","Xi","Jian","Qiang","Kun","Yan","Guo","Zong","Mi","Chang","Yi","Zhi","Zheng","Ya","Meng","Cai","Cu","She","Kari","Cen","Luo","Hu","Zong","Ji","Wei","Feng","Wo","Yuan","Xing","Zhu","Mao","Wei","Yuan","Xian","Tuan","Ya","Nao","Xie","Jia","Hou","Bian","You","You","Mei","Zha","Yao","Sun","Bo","Ming","Hua","Yuan","Sou","Ma","Yuan","Dai","Yu","Shi","Hao",null,"Yi","Zhen","Chuang","Hao","Man","Jing","Jiang","Mu","Zhang","Chan","Ao","Ao","Hao","Cui","Fen","Jue","Bi","Bi","Huang","Pu","Lin","Yu","Tong","Yao","Liao","Shuo","Xiao","Swu","Ton","Xi","Ge","Juan","Du","Hui","Kuai","Xian","Xie","Ta","Xian","Xun","Ning","Pin","Huo","Nou","Meng","Lie","Nao","Guang","Shou","Lu","Ta","Xian","Mi","Rang","Huan","Nao","Luo","Xian","Qi","Jue","Xuan","Miao","Zi","Lu","Lu","Yu","Su","Wang","Qiu","Ga","Ding","Le","Ba","Ji","Hong","Di","Quan","Gan","Jiu","Yu","Ji","Yu","Yang","Ma","Gong","Wu","Fu","Wen","Jie","Ya","Fen","Bian","Beng","Yue","Jue","Yun","Jue","Wan","Jian","Mei","Dan","Pi","Wei","Huan","Xian","Qiang","Ling","Dai","Yi","An","Ping","Dian","Fu","Xuan","Xi","Bo","Ci","Gou","Jia","Shao","Po","Ci","Ke","Ran","Sheng","Shen","Yi","Zu","Jia","Min","Shan","Liu","Bi","Zhen","Zhen","Jue","Fa","Long","Jin","Jiao","Jian","Li","Guang","Xian","Zhou","Gong","Yan","Xiu","Yang","Xu","Luo","Su","Zhu","Qin","Ken","Xun","Bao","Er","Xiang","Yao","Xia","Heng","Gui","Chong","Xu","Ban","Pei",null,"Dang","Ei","Hun","Wen","E","Cheng","Ti","Wu","Wu","Cheng","Jun","Mei","Bei","Ting","Xian","Chuo"],mT[116]=["Han","Xuan","Yan","Qiu","Quan","Lang","Li","Xiu","Fu","Liu","Ye","Xi","Ling","Li","Jin","Lian","Suo","Chiisai",null,"Wan","Dian","Pin","Zhan","Cui","Min","Yu","Ju","Chen","Lai","Wen","Sheng","Wei","Dian","Chu","Zhuo","Pei","Cheng","Hu","Qi","E","Kun","Chang","Qi","Beng","Wan","Lu","Cong","Guan","Yan","Diao","Bei","Lin","Qin","Pi","Pa","Que","Zhuo","Qin","Fa",null,"Qiong","Du","Jie","Hun","Yu","Mao","Mei","Chun","Xuan","Ti","Xing","Dai","Rou","Min","Zhen","Wei","Ruan","Huan","Jie","Chuan","Jian","Zhuan","Yang","Lian","Quan","Xia","Duan","Yuan","Ye","Nao","Hu","Ying","Yu","Huang","Rui","Se","Liu","Shi","Rong","Suo","Yao","Wen","Wu","Jin","Jin","Ying","Ma","Tao","Liu","Tang","Li","Lang","Gui","Zhen","Qiang","Cuo","Jue","Zhao","Yao","Ai","Bin","Tu","Chang","Kun","Zhuan","Cong","Jin","Yi","Cui","Cong","Qi","Li","Ying","Suo","Qiu","Xuan","Ao","Lian","Man","Zhang","Yin",null,"Ying","Zhi","Lu","Wu","Deng","Xiou","Zeng","Xun","Qu","Dang","Lin","Liao","Qiong","Su","Huang","Gui","Pu","Jing","Fan","Jin","Liu","Ji",null,"Jing","Ai","Bi","Can","Qu","Zao","Dang","Jiao","Gun","Tan","Hui","Huan","Se","Sui","Tian",null,"Yu","Jin","Lu","Bin","Shou","Wen","Zui","Lan","Xi","Ji","Xuan","Ruan","Huo","Gai","Lei","Du","Li","Zhi","Rou","Li","Zan","Qiong","Zhe","Gui","Sui","La","Long","Lu","Li","Zan","Lan","Ying","Mi","Xiang","Xi","Guan","Dao","Zan","Huan","Gua","Bo","Die","Bao","Hu","Zhi","Piao","Ban","Rang","Li","Wa","Dekaguramu","Jiang","Qian","Fan","Pen","Fang","Dan","Weng","Ou","Deshiguramu","Miriguramu","Thon","Hu","Ling","Yi","Ping","Ci","Hekutogura","Juan","Chang","Chi","Sarake","Dang","Meng","Pou"],mT[117]=["Zhui","Ping","Bian","Zhou","Zhen","Senchigura","Ci","Ying","Qi","Xian","Lou","Di","Ou","Meng","Zhuan","Peng","Lin","Zeng","Wu","Pi","Dan","Weng","Ying","Yan","Gan","Dai","Shen","Tian","Tian","Han","Chang","Sheng","Qing","Sheng","Chan","Chan","Rui","Sheng","Su","Sen","Yong","Shuai","Lu","Fu","Yong","Beng","Feng","Ning","Tian","You","Jia","Shen","Zha","Dian","Fu","Nan","Dian","Ping","Ting","Hua","Ting","Quan","Zi","Meng","Bi","Qi","Liu","Xun","Liu","Chang","Mu","Yun","Fan","Fu","Geng","Tian","Jie","Jie","Quan","Wei","Fu","Tian","Mu","Tap","Pan","Jiang","Wa","Da","Nan","Liu","Ben","Zhen","Chu","Mu","Mu","Ce","Cen","Gai","Bi","Da","Zhi","Lue","Qi","Lue","Pan","Kesa","Fan","Hua","Yu","Yu","Mu","Jun","Yi","Liu","Yu","Die","Chou","Hua","Dang","Chuo","Ji","Wan","Jiang","Sheng","Chang","Tuan","Lei","Ji","Cha","Liu","Tatamu","Tuan","Lin","Jiang","Jiang","Chou","Bo","Die","Die","Pi","Nie","Dan","Shu","Shu","Zhi","Yi","Chuang","Nai","Ding","Bi","Jie","Liao","Gong","Ge","Jiu","Zhou","Xia","Shan","Xu","Nue","Li","Yang","Chen","You","Ba","Jie","Jue","Zhi","Xia","Cui","Bi","Yi","Li","Zong","Chuang","Feng","Zhu","Pao","Pi","Gan","Ke","Ci","Xie","Qi","Dan","Zhen","Fa","Zhi","Teng","Ju","Ji","Fei","Qu","Dian","Jia","Xian","Cha","Bing","Ni","Zheng","Yong","Jing","Quan","Chong","Tong","Yi","Kai","Wei","Hui","Duo","Yang","Chi","Zhi","Hen","Ya","Mei","Dou","Jing","Xiao","Tong","Tu","Mang","Pi","Xiao","Suan","Pu","Li","Zhi","Cuo","Duo","Wu","Sha","Lao","Shou","Huan","Xian","Yi","Peng","Zhang","Guan","Tan","Fei","Ma","Lin","Chi","Ji","Dian","An","Chi","Bi","Bei","Min","Gu","Dui","E","Wei"],mT[118]=["Yu","Cui","Ya","Zhu","Cu","Dan","Shen","Zhung","Ji","Yu","Hou","Feng","La","Yang","Shen","Tu","Yu","Gua","Wen","Huan","Ku","Jia","Yin","Yi","Lu","Sao","Jue","Chi","Xi","Guan","Yi","Wen","Ji","Chuang","Ban","Lei","Liu","Chai","Shou","Nue","Dian","Da","Pie","Tan","Zhang","Biao","Shen","Cu","Luo","Yi","Zong","Chou","Zhang","Zhai","Sou","Suo","Que","Diao","Lou","Lu","Mo","Jin","Yin","Ying","Huang","Fu","Liao","Long","Qiao","Liu","Lao","Xian","Fei","Dan","Yin","He","Ai","Ban","Xian","Guan","Guai","Nong","Yu","Wei","Yi","Yong","Pi","Lei","Li","Shu","Dan","Lin","Dian","Lin","Lai","Pie","Ji","Chi","Yang","Xian","Jie","Zheng",null,"Li","Huo","Lai","Shaku","Dian","Xian","Ying","Yin","Qu","Yong","Tan","Dian","Luo","Luan","Luan","Bo",null,"Gui","Po","Fa","Deng","Fa","Bai","Bai","Qie","Bi","Zao","Zao","Mao","De","Pa","Jie","Huang","Gui","Ci","Ling","Gao","Mo","Ji","Jiao","Peng","Gao","Ai","E","Hao","Han","Bi","Wan","Chou","Qian","Xi","Ai","Jiong","Hao","Huang","Hao","Ze","Cui","Hao","Xiao","Ye","Po","Hao","Jiao","Ai","Xing","Huang","Li","Piao","He","Jiao","Pi","Gan","Pao","Zhou","Jun","Qiu","Cun","Que","Zha","Gu","Jun","Jun","Zhou","Zha","Gu","Zhan","Du","Min","Qi","Ying","Yu","Bei","Zhao","Zhong","Pen","He","Ying","He","Yi","Bo","Wan","He","Ang","Zhan","Yan","Jian","He","Yu","Kui","Fan","Gai","Dao","Pan","Fu","Qiu","Sheng","Dao","Lu","Zhan","Meng","Li","Jin","Xu","Jian","Pan","Guan","An","Lu","Shu","Zhou","Dang","An","Gu","Li","Mu","Cheng","Gan","Xu","Mang","Mang","Zhi","Qi","Ruan","Tian","Xiang","Dun","Xin","Xi","Pan","Feng","Dun","Min"],mT[119]=["Ming","Sheng","Shi","Yun","Mian","Pan","Fang","Miao","Dan","Mei","Mao","Kan","Xian","Ou","Shi","Yang","Zheng","Yao","Shen","Huo","Da","Zhen","Kuang","Ju","Shen","Chi","Sheng","Mei","Mo","Zhu","Zhen","Zhen","Mian","Di","Yuan","Die","Yi","Zi","Zi","Chao","Zha","Xuan","Bing","Mi","Long","Sui","Dong","Mi","Die","Yi","Er","Ming","Xuan","Chi","Kuang","Juan","Mou","Zhen","Tiao","Yang","Yan","Mo","Zhong","Mai","Zhao","Zheng","Mei","Jun","Shao","Han","Huan","Di","Cheng","Cuo","Juan","E","Wan","Xian","Xi","Kun","Lai","Jian","Shan","Tian","Hun","Wan","Ling","Shi","Qiong","Lie","Yai","Jing","Zheng","Li","Lai","Sui","Juan","Shui","Sui","Du","Bi","Bi","Mu","Hun","Ni","Lu","Yi","Jie","Cai","Zhou","Yu","Hun","Ma","Xia","Xing","Xi","Gun","Cai","Chun","Jian","Mei","Du","Hou","Xuan","Ti","Kui","Gao","Rui","Mou","Xu","Fa","Wen","Miao","Chou","Kui","Mi","Weng","Kou","Dang","Chen","Ke","Sou","Xia","Qiong","Mao","Ming","Man","Shui","Ze","Zhang","Yi","Diao","Ou","Mo","Shun","Cong","Lou","Chi","Man","Piao","Cheng","Ji","Meng",null,"Run","Pie","Xi","Qiao","Pu","Zhu","Deng","Shen","Shun","Liao","Che","Xian","Kan","Ye","Xu","Tong","Mou","Lin","Kui","Xian","Ye","Ai","Hui","Zhan","Jian","Gu","Zhao","Qu","Wei","Chou","Sao","Ning","Xun","Yao","Huo","Meng","Mian","Bin","Mian","Li","Kuang","Jue","Xuan","Mian","Huo","Lu","Meng","Long","Guan","Man","Xi","Chu","Tang","Kan","Zhu","Mao","Jin","Lin","Yu","Shuo","Ce","Jue","Shi","Yi","Shen","Zhi","Hou","Shen","Ying","Ju","Zhou","Jiao","Cuo","Duan","Ai","Jiao","Zeng","Huo","Bai","Shi","Ding","Qi","Ji","Zi","Gan","Wu","Tuo","Ku","Qiang","Xi","Fan","Kuang"],mT[120]=["Dang","Ma","Sha","Dan","Jue","Li","Fu","Min","Nuo","Huo","Kang","Zhi","Qi","Kan","Jie","Fen","E","Ya","Pi","Zhe","Yan","Sui","Zhuan","Che","Dun","Pan","Yan",null,"Feng","Fa","Mo","Zha","Qu","Yu","Luo","Tuo","Tuo","Di","Zhai","Zhen","Ai","Fei","Mu","Zhu","Li","Bian","Nu","Ping","Peng","Ling","Pao","Le","Po","Bo","Po","Shen","Za","Nuo","Li","Long","Tong",null,"Li","Aragane","Chu","Keng","Quan","Zhu","Kuang","Huo","E","Nao","Jia","Lu","Wei","Ai","Luo","Ken","Xing","Yan","Tong","Peng","Xi",null,"Hong","Shuo","Xia","Qiao",null,"Wei","Qiao",null,"Keng","Xiao","Que","Chan","Lang","Hong","Yu","Xiao","Xia","Mang","Long","Iong","Che","Che","E","Liu","Ying","Mang","Que","Yan","Sha","Kun","Yu",null,"Kaki","Lu","Chen","Jian","Nue","Song","Zhuo","Keng","Peng","Yan","Zhui","Kong","Ceng","Qi","Zong","Qing","Lin","Jun","Bo","Ding","Min","Diao","Jian","He","Lu","Ai","Sui","Que","Ling","Bei","Yin","Dui","Wu","Qi","Lun","Wan","Dian","Gang","Pei","Qi","Chen","Ruan","Yan","Die","Ding","Du","Tuo","Jie","Ying","Bian","Ke","Bi","Wei","Shuo","Zhen","Duan","Xia","Dang","Ti","Nao","Peng","Jian","Di","Tan","Cha","Seki","Qi",null,"Feng","Xuan","Que","Que","Ma","Gong","Nian","Su","E","Ci","Liu","Si","Tang","Bang","Hua","Pi","Wei","Sang","Lei","Cuo","Zhen","Xia","Qi","Lian","Pan","Wei","Yun","Dui","Zhe","Ke","La",null,"Qing","Gun","Zhuan","Chan","Qi","Ao","Peng","Lu","Lu","Kan","Qiang","Chen","Yin","Lei","Biao","Qi","Mo","Qi","Cui","Zong","Qing","Chuo",null,"Ji","Shan","Lao","Qu","Zeng","Deng","Jian","Xi","Lin","Ding","Dian","Huang","Pan","Za","Qiao","Di","Li"],mT[121]=["Tani","Jiao",null,"Zhang","Qiao","Dun","Xian","Yu","Zhui","He","Huo","Zhai","Lei","Ke","Chu","Ji","Que","Dang","Yi","Jiang","Pi","Pi","Yu","Pin","Qi","Ai","Kai","Jian","Yu","Ruan","Meng","Pao","Ci",null,null,"Mie","Ca","Xian","Kuang","Lei","Lei","Zhi","Li","Li","Fan","Que","Pao","Ying","Li","Long","Long","Mo","Bo","Shuang","Guan","Lan","Zan","Yan","Shi","Shi","Li","Reng","She","Yue","Si","Qi","Ta","Ma","Xie","Xian","Xian","Zhi","Qi","Zhi","Beng","Dui","Zhong",null,"Yi","Shi","You","Zhi","Tiao","Fu","Fu","Mi","Zu","Zhi","Suan","Mei","Zuo","Qu","Hu","Zhu","Shen","Sui","Ci","Chai","Mi","Lu","Yu","Xiang","Wu","Tiao","Piao","Zhu","Gui","Xia","Zhi","Ji","Gao","Zhen","Gao","Shui","Jin","Chen","Gai","Kun","Di","Dao","Huo","Tao","Qi","Gu","Guan","Zui","Ling","Lu","Bing","Jin","Dao","Zhi","Lu","Shan","Bei","Zhe","Hui","You","Xi","Yin","Zi","Huo","Zhen","Fu","Yuan","Wu","Xian","Yang","Ti","Yi","Mei","Si","Di",null,"Zhuo","Zhen","Yong","Ji","Gao","Tang","Si","Ma","Ta",null,"Xuan","Qi","Yu","Xi","Ji","Si","Chan","Tan","Kuai","Sui","Li","Nong","Ni","Dao","Li","Rang","Yue","Ti","Zan","Lei","Rou","Yu","Yu","Chi","Xie","Qin","He","Tu","Xiu","Si","Ren","Tu","Zi","Cha","Gan","Yi","Xian","Bing","Nian","Qiu","Qiu","Zhong","Fen","Hao","Yun","Ke","Miao","Zhi","Geng","Bi","Zhi","Yu","Mi","Ku","Ban","Pi","Ni","Li","You","Zu","Pi","Ba","Ling","Mo","Cheng","Nian","Qin","Yang","Zuo","Zhi","Zhi","Shu","Ju","Zi","Huo","Ji","Cheng","Tong","Zhi","Huo","He","Yin","Zi","Zhi","Jie","Ren","Du","Yi","Zhu","Hui","Nong","Fu"],mT[122]=["Xi","Kao","Lang","Fu","Ze","Shui","Lu","Kun","Gan","Geng","Ti","Cheng","Tu","Shao","Shui","Ya","Lun","Lu","Gu","Zuo","Ren","Zhun","Bang","Bai","Ji","Zhi","Zhi","Kun","Leng","Peng","Ke","Bing","Chou","Zu","Yu","Su","Lue",null,"Yi","Xi","Bian","Ji","Fu","Bi","Nuo","Jie","Zhong","Zong","Xu","Cheng","Dao","Wen","Lian","Zi","Yu","Ji","Xu","Zhen","Zhi","Dao","Jia","Ji","Gao","Gao","Gu","Rong","Sui","You","Ji","Kang","Mu","Shan","Men","Zhi","Ji","Lu","Su","Ji","Ying","Wen","Qiu","Se",null,"Yi","Huang","Qie","Ji","Sui","Xiao","Pu","Jiao","Zhuo","Tong","Sai","Lu","Sui","Nong","Se","Hui","Rang","Nuo","Yu","Bin","Ji","Tui","Wen","Cheng","Huo","Gong","Lu","Biao",null,"Rang","Zhuo","Li","Zan","Xue","Wa","Jiu","Qiong","Xi","Qiong","Kong","Yu","Sen","Jing","Yao","Chuan","Zhun","Tu","Lao","Qie","Zhai","Yao","Bian","Bao","Yao","Bing","Wa","Zhu","Jiao","Qiao","Diao","Wu","Gui","Yao","Zhi","Chuang","Yao","Tiao","Jiao","Chuang","Jiong","Xiao","Cheng","Kou","Cuan","Wo","Dan","Ku","Ke","Zhui","Xu","Su","Guan","Kui","Dou",null,"Yin","Wo","Wa","Ya","Yu","Ju","Qiong","Yao","Yao","Tiao","Chao","Yu","Tian","Diao","Ju","Liao","Xi","Wu","Kui","Chuang","Zhao",null,"Kuan","Long","Cheng","Cui","Piao","Zao","Cuan","Qiao","Qiong","Dou","Zao","Long","Qie","Li","Chu","Shi","Fou","Qian","Chu","Hong","Qi","Qian","Gong","Shi","Shu","Miao","Ju","Zhan","Zhu","Ling","Long","Bing","Jing","Jing","Zhang","Yi","Si","Jun","Hong","Tong","Song","Jing","Diao","Yi","Shu","Jing","Qu","Jie","Ping","Duan","Shao","Zhuan","Ceng","Deng","Cui","Huai","Jing","Kan","Jing","Zhu","Zhu","Le","Peng","Yu","Chi","Gan"],mT[123]=["Mang","Zhu","Utsubo","Du","Ji","Xiao","Ba","Suan","Ji","Zhen","Zhao","Sun","Ya","Zhui","Yuan","Hu","Gang","Xiao","Cen","Pi","Bi","Jian","Yi","Dong","Shan","Sheng","Xia","Di","Zhu","Na","Chi","Gu","Li","Qie","Min","Bao","Tiao","Si","Fu","Ce","Ben","Pei","Da","Zi","Di","Ling","Ze","Nu","Fu","Gou","Fan","Jia","Ge","Fan","Shi","Mao","Po","Sey","Jian","Qiong","Long","Souke","Bian","Luo","Gui","Qu","Chi","Yin","Yao","Xian","Bi","Qiong","Gua","Deng","Jiao","Jin","Quan","Sun","Ru","Fa","Kuang","Zhu","Tong","Ji","Da","Xing","Ce","Zhong","Kou","Lai","Bi","Shai","Dang","Zheng","Ce","Fu","Yun","Tu","Pa","Li","Lang","Ju","Guan","Jian","Han","Tong","Xia","Zhi","Cheng","Suan","Shi","Zhu","Zuo","Xiao","Shao","Ting","Ce","Yan","Gao","Kuai","Gan","Chou","Kago","Gang","Yun","O","Qian","Xiao","Jian","Pu","Lai","Zou","Bi","Bi","Bi","Ge","Chi","Guai","Yu","Jian","Zhao","Gu","Chi","Zheng","Jing","Sha","Zhou","Lu","Bo","Ji","Lin","Suan","Jun","Fu","Zha","Gu","Kong","Qian","Quan","Jun","Chui","Guan","Yuan","Ce","Ju","Bo","Ze","Qie","Tuo","Luo","Dan","Xiao","Ruo","Jian","Xuan","Bian","Sun","Xiang","Xian","Ping","Zhen","Sheng","Hu","Shi","Zhu","Yue","Chun","Lu","Wu","Dong","Xiao","Ji","Jie","Huang","Xing","Mei","Fan","Chui","Zhuan","Pian","Feng","Zhu","Hong","Qie","Hou","Qiu","Miao","Qian",null,"Kui","Sik","Lou","Yun","He","Tang","Yue","Chou","Gao","Fei","Ruo","Zheng","Gou","Nie","Qian","Xiao","Cuan","Gong","Pang","Du","Li","Bi","Zhuo","Chu","Shai","Chi","Zhu","Qiang","Long","Lan","Jian","Bu","Li","Hui","Bi","Di","Cong","Yan","Peng","Sen","Zhuan","Pai","Piao","Dou","Yu","Mie","Zhuan"],mT[124]=["Ze","Xi","Guo","Yi","Hu","Chan","Kou","Cu","Ping","Chou","Ji","Gui","Su","Lou","Zha","Lu","Nian","Suo","Cuan","Sasara","Suo","Le","Duan","Yana","Xiao","Bo","Mi","Si","Dang","Liao","Dan","Dian","Fu","Jian","Min","Kui","Dai","Qiao","Deng","Huang","Sun","Lao","Zan","Xiao","Du","Shi","Zan",null,"Pai","Hata","Pai","Gan","Ju","Du","Lu","Yan","Bo","Dang","Sai","Ke","Long","Qian","Lian","Bo","Zhou","Lai",null,"Lan","Kui","Yu","Yue","Hao","Zhen","Tai","Ti","Mi","Chou","Ji",null,"Hata","Teng","Zhuan","Zhou","Fan","Sou","Zhou","Kuji","Zhuo","Teng","Lu","Lu","Jian","Tuo","Ying","Yu","Lai","Long","Shinshi","Lian","Lan","Qian","Yue","Zhong","Qu","Lian","Bian","Duan","Zuan","Li","Si","Luo","Ying","Yue","Zhuo","Xu","Mi","Di","Fan","Shen","Zhe","Shen","Nu","Xie","Lei","Xian","Zi","Ni","Cun",null,"Qian","Kume","Bi","Ban","Wu","Sha","Kang","Rou","Fen","Bi","Cui",null,"Li","Chi","Nukamiso","Ro","Ba","Li","Gan","Ju","Po","Mo","Cu","Nian","Zhou","Li","Su","Tiao","Li","Qi","Su","Hong","Tong","Zi","Ce","Yue","Zhou","Lin","Zhuang","Bai",null,"Fen","Ji",null,"Sukumo","Liang","Xian","Fu","Liang","Can","Geng","Li","Yue","Lu","Ju","Qi","Cui","Bai","Zhang","Lin","Zong","Jing","Guo","Kouji","San","San","Tang","Bian","Rou","Mian","Hou","Xu","Zong","Hu","Jian","Zan","Ci","Li","Xie","Fu","Ni","Bei","Gu","Xiu","Gao","Tang","Qiu","Sukumo","Cao","Zhuang","Tang","Mi","San","Fen","Zao","Kang","Jiang","Mo","San","San","Nuo","Xi","Liang","Jiang","Kuai","Bo","Huan",null,"Zong","Xian","Nuo","Tuan","Nie","Li","Zuo","Di","Nie","Tiao","Lan","Mi","Jiao","Jiu","Xi","Gong","Zheng","Jiu","You"],mT[125]=["Ji","Cha","Zhou","Xun","Yue","Hong","Yu","He","Wan","Ren","Wen","Wen","Qiu","Na","Zi","Tou","Niu","Fou","Jie","Shu","Chun","Pi","Yin","Sha","Hong","Zhi","Ji","Fen","Yun","Ren","Dan","Jin","Su","Fang","Suo","Cui","Jiu","Zha","Kinu","Jin","Fu","Zhi","Ci","Zi","Chou","Hong","Zha","Lei","Xi","Fu","Xie","Shen","Bei","Zhu","Qu","Ling","Zhu","Shao","Gan","Yang","Fu","Tuo","Zhen","Dai","Zhuo","Shi","Zhong","Xian","Zu","Jiong","Ban","Ju","Mo","Shu","Zui","Wata","Jing","Ren","Heng","Xie","Jie","Zhu","Chou","Gua","Bai","Jue","Kuang","Hu","Ci","Geng","Geng","Tao","Xie","Ku","Jiao","Quan","Gai","Luo","Xuan","Bing","Xian","Fu","Gei","Tong","Rong","Tiao","Yin","Lei","Xie","Quan","Xu","Lun","Die","Tong","Si","Jiang","Xiang","Hui","Jue","Zhi","Jian","Juan","Chi","Mian","Zhen","Lu","Cheng","Qiu","Shu","Bang","Tong","Xiao","Wan","Qin","Geng","Xiu","Ti","Xiu","Xie","Hong","Xi","Fu","Ting","Sui","Dui","Kun","Fu","Jing","Hu","Zhi","Yan","Jiong","Feng","Ji","Sok","Kase","Zong","Lin","Duo","Li","Lu","Liang","Chou","Quan","Shao","Qi","Qi","Zhun","Qi","Wan","Qian","Xian","Shou","Wei","Qi","Tao","Wan","Gang","Wang","Beng","Zhui","Cai","Guo","Cui","Lun","Liu","Qi","Zhan","Bei","Chuo","Ling","Mian","Qi","Qie","Tan","Zong","Gun","Zou","Yi","Zi","Xing","Liang","Jin","Fei","Rui","Min","Yu","Zong","Fan","Lu","Xu","Yingl","Zhang","Kasuri","Xu","Xiang","Jian","Ke","Xian","Ruan","Mian","Qi","Duan","Zhong","Di","Min","Miao","Yuan","Xie","Bao","Si","Qiu","Bian","Huan","Geng","Cong","Mian","Wei","Fu","Wei","Yu","Gou","Miao","Xie","Lian","Zong","Bian","Yun","Yin","Ti","Gua","Zhi","Yun","Cheng","Chan","Dai"],mT[126]=["Xia","Yuan","Zong","Xu","Nawa","Odoshi","Geng","Sen","Ying","Jin","Yi","Zhui","Ni","Bang","Gu","Pan","Zhou","Jian","Cuo","Quan","Shuang","Yun","Xia","Shuai","Xi","Rong","Tao","Fu","Yun","Zhen","Gao","Ru","Hu","Zai","Teng","Xian","Su","Zhen","Zong","Tao","Horo","Cai","Bi","Feng","Cu","Li","Suo","Yin","Xi","Zong","Lei","Zhuan","Qian","Man","Zhi","Lu","Mo","Piao","Lian","Mi","Xuan","Zong","Ji","Shan","Sui","Fan","Shuai","Beng","Yi","Sao","Mou","Zhou","Qiang","Hun","Sem","Xi","Jung","Xiu","Ran","Xuan","Hui","Qiao","Zeng","Zuo","Zhi","Shan","San","Lin","Yu","Fan","Liao","Chuo","Zun","Jian","Rao","Chan","Rui","Xiu","Hui","Hua","Zuan","Xi","Qiang","Un","Da","Sheng","Hui","Xi","Se","Jian","Jiang","Huan","Zao","Cong","Jie","Jiao","Bo","Chan","Yi","Nao","Sui","Yi","Shai","Xu","Ji","Bin","Qian","Lan","Pu","Xun","Zuan","Qi","Peng","Li","Mo","Lei","Xie","Zuan","Kuang","You","Xu","Lei","Xian","Chan","Kou","Lu","Chan","Ying","Cai","Xiang","Xian","Zui","Zuan","Luo","Xi","Dao","Lan","Lei","Lian","Si","Jiu","Yu","Hong","Zhou","Xian","He","Yue","Ji","Wan","Kuang","Ji","Ren","Wei","Yun","Hong","Chun","Pi","Sha","Gang","Na","Ren","Zong","Lun","Fen","Zhi","Wen","Fang","Zhu","Yin","Niu","Shu","Xian","Gan","Xie","Fu","Lian","Zu","Shen","Xi","Zhi","Zhong","Zhou","Ban","Fu","Zhuo","Shao","Yi","Jing","Dai","Bang","Rong","Jie","Ku","Rao","Die","Heng","Hui","Gei","Xuan","Jiang","Luo","Jue","Jiao","Tong","Geng","Xiao","Juan","Xiu","Xi","Sui","Tao","Ji","Ti","Ji","Xu","Ling",null,"Xu","Qi","Fei","Chuo","Zhang","Gun","Sheng","Wei","Mian","Shou","Beng","Chou","Tao","Liu","Quan","Zong","Zhan","Wan","Lu"],mT[127]=["Zhui","Zi","Ke","Xiang","Jian","Mian","Lan","Ti","Miao","Qi","Yun","Hui","Si","Duo","Duan","Bian","Xian","Gou","Zhui","Huan","Di","Lu","Bian","Min","Yuan","Jin","Fu","Ru","Zhen","Feng","Shuai","Gao","Chan","Li","Yi","Jian","Bin","Piao","Man","Lei","Ying","Suo","Mou","Sao","Xie","Liao","Shan","Zeng","Jiang","Qian","Zao","Huan","Jiao","Zuan","Fou","Xie","Gang","Fou","Que","Fou","Kaakeru","Bo","Ping","Hou",null,"Gang","Ying","Ying","Qing","Xia","Guan","Zun","Tan","Chang","Qi","Weng","Ying","Lei","Tan","Lu","Guan","Wang","Wang","Gang","Wang","Han",null,"Luo","Fu","Mi","Fa","Gu","Zhu","Ju","Mao","Gu","Min","Gang","Ba","Gua","Ti","Juan","Fu","Lin","Yan","Zhao","Zui","Gua","Zhuo","Yu","Zhi","An","Fa","Nan","Shu","Si","Pi","Ma","Liu","Ba","Fa","Li","Chao","Wei","Bi","Ji","Zeng","Tong","Liu","Ji","Juan","Mi","Zhao","Luo","Pi","Ji","Ji","Luan","Yang","Mie","Qiang","Ta","Mei","Yang","You","You","Fen","Ba","Gao","Yang","Gu","Qiang","Zang","Gao","Ling","Yi","Zhu","Di","Xiu","Qian","Yi","Xian","Rong","Qun","Qun","Qian","Huan","Zui","Xian","Yi","Yashinau","Qiang","Xian","Yu","Geng","Jie","Tang","Yuan","Xi","Fan","Shan","Fen","Shan","Lian","Lei","Geng","Nou","Qiang","Chan","Yu","Gong","Yi","Chong","Weng","Fen","Hong","Chi","Chi","Cui","Fu","Xia","Pen","Yi","La","Yi","Pi","Ling","Liu","Zhi","Qu","Xi","Xie","Xiang","Xi","Xi","Qi","Qiao","Hui","Hui","Xiao","Se","Hong","Jiang","Di","Cui","Fei","Tao","Sha","Chi","Zhu","Jian","Xuan","Shi","Pian","Zong","Wan","Hui","Hou","He","He","Han","Ao","Piao","Yi","Lian","Qu",null,"Lin","Pen","Qiao","Ao","Fan","Yi","Hui","Xuan","Dao"],mT[128]=["Yao","Lao",null,"Kao","Mao","Zhe","Qi","Gou","Gou","Gou","Die","Die","Er","Shua","Ruan","Er","Nai","Zhuan","Lei","Ting","Zi","Geng","Chao","Hao","Yun","Pa","Pi","Chi","Si","Chu","Jia","Ju","He","Chu","Lao","Lun","Ji","Tang","Ou","Lou","Nou","Gou","Pang","Ze","Lou","Ji","Lao","Huo","You","Mo","Huai","Er","Zhe","Ting","Ye","Da","Song","Qin","Yun","Chi","Dan","Dan","Hong","Geng","Zhi",null,"Nie","Dan","Zhen","Che","Ling","Zheng","You","Wa","Liao","Long","Zhi","Ning","Tiao","Er","Ya","Die","Gua",null,"Lian","Hao","Sheng","Lie","Pin","Jing","Ju","Bi","Di","Guo","Wen","Xu","Ping","Cong","Shikato",null,"Ting","Yu","Cong","Kui","Tsuraneru","Kui","Cong","Lian","Weng","Kui","Lian","Lian","Cong","Ao","Sheng","Song","Ting","Kui","Nie","Zhi","Dan","Ning","Qie","Ji","Ting","Ting","Long","Yu","Yu","Zhao","Si","Su","Yi","Su","Si","Zhao","Zhao","Rou","Yi","Le","Ji","Qiu","Ken","Cao","Ge","Di","Huan","Huang","Yi","Ren","Xiao","Ru","Zhou","Yuan","Du","Gang","Rong","Gan","Cha","Wo","Chang","Gu","Zhi","Han","Fu","Fei","Fen","Pei","Pang","Jian","Fang","Zhun","You","Na","Hang","Ken","Ran","Gong","Yu","Wen","Yao","Jin","Pi","Qian","Xi","Xi","Fei","Ken","Jing","Tai","Shen","Zhong","Zhang","Xie","Shen","Wei","Zhou","Die","Dan","Fei","Ba","Bo","Qu","Tian","Bei","Gua","Tai","Zi","Ku","Zhi","Ni","Ping","Zi","Fu","Pang","Zhen","Xian","Zuo","Pei","Jia","Sheng","Zhi","Bao","Mu","Qu","Hu","Ke","Yi","Yin","Xu","Yang","Long","Dong","Ka","Lu","Jing","Nu","Yan","Pang","Kua","Yi","Guang","Gai","Ge","Dong","Zhi","Xiao","Xiong","Xiong","Er","E","Xing","Pian","Neng","Zi","Gui"],mT[129]=["Cheng","Tiao","Zhi","Cui","Mei","Xie","Cui","Xie","Mo","Mai","Ji","Obiyaakasu",null,"Kuai","Sa","Zang","Qi","Nao","Mi","Nong","Luan","Wan","Bo","Wen","Guan","Qiu","Jiao","Jing","Rou","Heng","Cuo","Lie","Shan","Ting","Mei","Chun","Shen","Xie","De","Zui","Cu","Xiu","Xin","Tuo","Pao","Cheng","Nei","Fu","Dou","Tuo","Niao","Noy","Pi","Gu","Gua","Li","Lian","Zhang","Cui","Jie","Liang","Zhou","Pi","Biao","Lun","Pian","Guo","Kui","Chui","Dan","Tian","Nei","Jing","Jie","La","Yi","An","Ren","Shen","Chuo","Fu","Fu","Ju","Fei","Qiang","Wan","Dong","Pi","Guo","Zong","Ding","Wu","Mei","Ruan","Zhuan","Zhi","Cou","Gua","Ou","Di","An","Xing","Nao","Yu","Chuan","Nan","Yun","Zhong","Rou","E","Sai","Tu","Yao","Jian","Wei","Jiao","Yu","Jia","Duan","Bi","Chang","Fu","Xian","Ni","Mian","Wa","Teng","Tui","Bang","Qian","Lu","Wa","Sou","Tang","Su","Zhui","Ge","Yi","Bo","Liao","Ji","Pi","Xie","Gao","Lu","Bin","Ou","Chang","Lu","Guo","Pang","Chuai","Piao","Jiang","Fu","Tang","Mo","Xi","Zhuan","Lu","Jiao","Ying","Lu","Zhi","Tara","Chun","Lian","Tong","Peng","Ni","Zha","Liao","Cui","Gui","Xiao","Teng","Fan","Zhi","Jiao","Shan","Wu","Cui","Run","Xiang","Sui","Fen","Ying","Tan","Zhua","Dan","Kuai","Nong","Tun","Lian","Bi","Yong","Jue","Chu","Yi","Juan","La","Lian","Sao","Tun","Gu","Qi","Cui","Bin","Xun","Ru","Huo","Zang","Xian","Biao","Xing","Kuan","La","Yan","Lu","Huo","Zang","Luo","Qu","Zang","Luan","Ni","Zang","Chen","Qian","Wo","Guang","Zang","Lin","Guang","Zi","Jiao","Nie","Chou","Ji","Gao","Chou","Mian","Nie","Zhi","Zhi","Ge","Jian","Die","Zhi","Xiu","Tai","Zhen","Jiu","Xian","Yu","Cha"],mT[130]=["Yao","Yu","Chong","Xi","Xi","Jiu","Yu","Yu","Xing","Ju","Jiu","Xin","She","She","Yadoru","Jiu","Shi","Tan","Shu","Shi","Tian","Dan","Pu","Pu","Guan","Hua","Tan","Chuan","Shun","Xia","Wu","Zhou","Dao","Gang","Shan","Yi",null,"Pa","Tai","Fan","Ban","Chuan","Hang","Fang","Ban","Que","Hesaki","Zhong","Jian","Cang","Ling","Zhu","Ze","Duo","Bo","Xian","Ge","Chuan","Jia","Lu","Hong","Pang","Xi",null,"Fu","Zao","Feng","Li","Shao","Yu","Lang","Ting",null,"Wei","Bo","Meng","Nian","Ju","Huang","Shou","Zong","Bian","Mao","Die",null,"Bang","Cha","Yi","Sao","Cang","Cao","Lou","Dai","Sori","Yao","Tong","Yofune","Dang","Tan","Lu","Yi","Jie","Jian","Huo","Meng","Qi","Lu","Lu","Chan","Shuang","Gen","Liang","Jian","Jian","Se","Yan","Fu","Ping","Yan","Yan","Cao","Cao","Yi","Le","Ting","Qiu","Ai","Nai","Tiao","Jiao","Jie","Peng","Wan","Yi","Chai","Mian","Mie","Gan","Qian","Yu","Yu","Shuo","Qiong","Tu","Xia","Qi","Mang","Zi","Hui","Sui","Zhi","Xiang","Bi","Fu","Tun","Wei","Wu","Zhi","Qi","Shan","Wen","Qian","Ren","Fou","Kou","Jie","Lu","Xu","Ji","Qin","Qi","Yuan","Fen","Ba","Rui","Xin","Ji","Hua","Hua","Fang","Wu","Jue","Gou","Zhi","Yun","Qin","Ao","Chu","Mao","Ya","Fei","Reng","Hang","Cong","Yin","You","Bian","Yi","Susa","Wei","Li","Pi","E","Xian","Chang","Cang","Meng","Su","Yi","Yuan","Ran","Ling","Tai","Tiao","Di","Miao","Qiong","Li","Yong","Ke","Mu","Pei","Bao","Gou","Min","Yi","Yi","Ju","Pi","Ruo","Ku","Zhu","Ni","Bo","Bing","Shan","Qiu","Yao","Xian","Ben","Hong","Ying","Zha","Dong","Ju","Die","Nie","Gan","Hu","Ping","Mei","Fu","Sheng","Gu","Bi","Wei"],mT[131]=["Fu","Zhuo","Mao","Fan","Qie","Mao","Mao","Ba","Zi","Mo","Zi","Di","Chi","Ji","Jing","Long",null,"Niao",null,"Xue","Ying","Qiong","Ge","Ming","Li","Rong","Yin","Gen","Qian","Chai","Chen","Yu","Xiu","Zi","Lie","Wu","Ji","Kui","Ce","Chong","Ci","Gou","Guang","Mang","Chi","Jiao","Jiao","Fu","Yu","Zhu","Zi","Jiang","Hui","Yin","Cha","Fa","Rong","Ru","Chong","Mang","Tong","Zhong",null,"Zhu","Xun","Huan","Kua","Quan","Gai","Da","Jing","Xing","Quan","Cao","Jing","Er","An","Shou","Chi","Ren","Jian","Ti","Huang","Ping","Li","Jin","Lao","Shu","Zhuang","Da","Jia","Rao","Bi","Ze","Qiao","Hui","Qi","Dang",null,"Rong","Hun","Ying","Luo","Ying","Xun","Jin","Sun","Yin","Mai","Hong","Zhou","Yao","Du","Wei","Chu","Dou","Fu","Ren","Yin","He","Bi","Bu","Yun","Di","Tu","Sui","Sui","Cheng","Chen","Wu","Bie","Xi","Geng","Li","Fu","Zhu","Mo","Li","Zhuang","Ji","Duo","Qiu","Sha","Suo","Chen","Feng","Ju","Mei","Meng","Xing","Jing","Che","Xin","Jun","Yan","Ting","Diao","Cuo","Wan","Han","You","Cuo","Jia","Wang","You","Niu","Shao","Xian","Lang","Fu","E","Mo","Wen","Jie","Nan","Mu","Kan","Lai","Lian","Shi","Wo","Usagi","Lian","Huo","You","Ying","Ying","Nuc","Chun","Mang","Mang","Ci","Wan","Jing","Di","Qu","Dong","Jian","Zou","Gu","La","Lu","Ju","Wei","Jun","Nie","Kun","He","Pu","Zi","Gao","Guo","Fu","Lun","Chang","Chou","Song","Chui","Zhan","Men","Cai","Ba","Li","Tu","Bo","Han","Bao","Qin","Juan","Xi","Qin","Di","Jie","Pu","Dang","Jin","Zhao","Tai","Geng","Hua","Gu","Ling","Fei","Jin","An","Wang","Beng","Zhou","Yan","Ju","Jian","Lin","Tan","Shu","Tian","Dao"],mT[132]=["Hu","Qi","He","Cui","Tao","Chun","Bei","Chang","Huan","Fei","Lai","Qi","Meng","Ping","Wei","Dan","Sha","Huan","Yan","Yi","Tiao","Qi","Wan","Ce","Nai","Kutabireru","Tuo","Jiu","Tie","Luo",null,null,"Meng",null,"Yaji",null,"Ying","Ying","Ying","Xiao","Sa","Qiu","Ke","Xiang","Wan","Yu","Yu","Fu","Lian","Xuan","Yuan","Nan","Ze","Wo","Chun","Xiao","Yu","Pian","Mao","An","E","Luo","Ying","Huo","Gua","Jiang","Mian","Zuo","Zuo","Ju","Bao","Rou","Xi","Xie","An","Qu","Jian","Fu","Lu","Jing","Pen","Feng","Hong","Hong","Hou","Yan","Tu","Zhu","Zi","Xiang","Shen","Ge","Jie","Jing","Mi","Huang","Shen","Pu","Gai","Dong","Zhou","Qian","Wei","Bo","Wei","Pa","Ji","Hu","Zang","Jia","Duan","Yao","Jun","Cong","Quan","Wei","Xian","Kui","Ting","Hun","Xi","Shi","Qi","Lan","Zong","Yao","Yuan","Mei","Yun","Shu","Di","Zhuan","Guan","Sukumo","Xue","Chan","Kai","Kui",null,"Jiang","Lou","Wei","Pai",null,"Sou","Yin","Shi","Chun","Shi","Yun","Zhen","Lang","Nu","Meng","He","Que","Suan","Yuan","Li","Ju","Xi","Pang","Chu","Xu","Tu","Liu","Wo","Zhen","Qian","Zu","Po","Cuo","Yuan","Chu","Yu","Kuai","Pan","Pu","Pu","Na","Shuo","Xi","Fen","Yun","Zheng","Jian","Ji","Ruo","Cang","En","Mi","Hao","Sun","Zhen","Ming","Sou","Xu","Liu","Xi","Gu","Lang","Rong","Weng","Gai","Cuo","Shi","Tang","Luo","Ru","Suo","Xian","Bei","Yao","Gui","Bi","Zong","Gun","Za","Xiu","Ce","Hai","Lan",null,"Ji","Li","Can","Lang","Yu",null,"Ying","Mo","Diao","Tiao","Mao","Tong","Zhu","Peng","An","Lian","Cong","Xi","Ping","Qiu","Jin","Chun","Jie","Wei","Tui","Cao","Yu","Yi","Ji","Liao","Bi","Lu","Su"],mT[133]=["Bu","Zhang","Luo","Jiang","Man","Yan","Ling","Ji","Piao","Gun","Han","Di","Su","Lu","She","Shang","Di","Mie","Xun","Man","Bo","Di","Cuo","Zhe","Sen","Xuan","Wei","Hu","Ao","Mi","Lou","Cu","Zhong","Cai","Po","Jiang","Mi","Cong","Niao","Hui","Jun","Yin","Jian","Yan","Shu","Yin","Kui","Chen","Hu","Sha","Kou","Qian","Ma","Zang","Sonoko","Qiang","Dou","Lian","Lin","Kou","Ai","Bi","Li","Wei","Ji","Xun","Sheng","Fan","Meng","Ou","Chan","Dian","Xun","Jiao","Rui","Rui","Lei","Yu","Qiao","Chu","Hua","Jian","Mai","Yun","Bao","You","Qu","Lu","Rao","Hui","E","Teng","Fei","Jue","Zui","Fa","Ru","Fen","Kui","Shun","Rui","Ya","Xu","Fu","Jue","Dang","Wu","Tong","Si","Xiao","Xi","Long","Yun",null,"Qi","Jian","Yun","Sun","Ling","Yu","Xia","Yong","Ji","Hong","Si","Nong","Lei","Xuan","Yun","Yu","Xi","Hao","Bo","Hao","Ai","Wei","Hui","Wei","Ji","Ci","Xiang","Luan","Mie","Yi","Leng","Jiang","Can","Shen","Qiang","Lian","Ke","Yuan","Da","Ti","Tang","Xie","Bi","Zhan","Sun","Lian","Fan","Ding","Jie","Gu","Xie","Shu","Jian","Kao","Hong","Sa","Xin","Xun","Yao","Hie","Sou","Shu","Xun","Dui","Pin","Wei","Neng","Chou","Mai","Ru","Piao","Tai","Qi","Zao","Chen","Zhen","Er","Ni","Ying","Gao","Cong","Xiao","Qi","Fa","Jian","Xu","Kui","Jie","Bian","Diao","Mi","Lan","Jin","Cang","Miao","Qiong","Qie","Xian",null,"Ou","Xian","Su","Lu","Yi","Xu","Xie","Li","Yi","La","Lei","Xiao","Di","Zhi","Bei","Teng","Yao","Mo","Huan","Piao","Fan","Sou","Tan","Tui","Qiong","Qiao","Wei","Liu","Hui",null,"Gao","Yun",null,"Li","Shu","Chu","Ai","Lin","Zao","Xuan","Chen","Lai","Huo"],mT[134]=["Tuo","Wu","Rui","Rui","Qi","Heng","Lu","Su","Tui","Mang","Yun","Pin","Yu","Xun","Ji","Jiong","Xian","Mo","Hagi","Su","Jiong",null,"Nie","Bo","Rang","Yi","Xian","Yu","Ju","Lian","Lian","Yin","Qiang","Ying","Long","Tong","Wei","Yue","Ling","Qu","Yao","Fan","Mi","Lan","Kui","Lan","Ji","Dang","Katsura","Lei","Lei","Hua","Feng","Zhi","Wei","Kui","Zhan","Huai","Li","Ji","Mi","Lei","Huai","Luo","Ji","Kui","Lu","Jian","San",null,"Lei","Quan","Xiao","Yi","Luan","Men","Bie","Hu","Hu","Lu","Nue","Lu","Si","Xiao","Qian","Chu","Hu","Xu","Cuo","Fu","Xu","Xu","Lu","Hu","Yu","Hao","Jiao","Ju","Guo","Bao","Yan","Zhan","Zhan","Kui","Ban","Xi","Shu","Chong","Qiu","Diao","Ji","Qiu","Cheng","Shi",null,"Di","Zhe","She","Yu","Gan","Zi","Hong","Hui","Meng","Ge","Sui","Xia","Chai","Shi","Yi","Ma","Xiang","Fang","E","Pa","Chi","Qian","Wen","Wen","Rui","Bang","Bi","Yue","Yue","Jun","Qi","Ran","Yin","Qi","Tian","Yuan","Jue","Hui","Qin","Qi","Zhong","Ya","Ci","Mu","Wang","Fen","Fen","Hang","Gong","Zao","Fu","Ran","Jie","Fu","Chi","Dou","Piao","Xian","Ni","Te","Qiu","You","Zha","Ping","Chi","You","He","Han","Ju","Li","Fu","Ran","Zha","Gou","Pi","Bo","Xian","Zhu","Diao","Bie","Bing","Gu","Ran","Qu","She","Tie","Ling","Gu","Dan","Gu","Ying","Li","Cheng","Qu","Mou","Ge","Ci","Hui","Hui","Mang","Fu","Yang","Wa","Lie","Zhu","Yi","Xian","Kuo","Jiao","Li","Yi","Ping","Ji","Ha","She","Yi","Wang","Mo","Qiong","Qie","Gui","Gong","Zhi","Man","Ebi","Zhi","Jia","Rao","Si","Qi","Xing","Lie","Qiu","Shao","Yong","Jia","Shui","Che","Bai","E","Han"],mT[135]=["Shu","Xuan","Feng","Shen","Zhen","Fu","Xian","Zhe","Wu","Fu","Li","Lang","Bi","Chu","Yuan","You","Jie","Dan","Yan","Ting","Dian","Shui","Hui","Gua","Zhi","Song","Fei","Ju","Mi","Qi","Qi","Yu","Jun","Zha","Meng","Qiang","Si","Xi","Lun","Li","Die","Tiao","Tao","Kun","Gan","Han","Yu","Bang","Fei","Pi","Wei","Dun","Yi","Yuan","Su","Quan","Qian","Rui","Ni","Qing","Wei","Liang","Guo","Wan","Dong","E","Ban","Di","Wang","Can","Yang","Ying","Guo","Chan",null,"La","Ke","Ji","He","Ting","Mai","Xu","Mian","Yu","Jie","Shi","Xuan","Huang","Yan","Bian","Rou","Wei","Fu","Yuan","Mei","Wei","Fu","Ruan","Xie","You","Qiu","Mao","Xia","Ying","Shi","Chong","Tang","Zhu","Zong","Ti","Fu","Yuan","Hui","Meng","La","Du","Hu","Qiu","Die","Li","Gua","Yun","Ju","Nan","Lou","Qun","Rong","Ying","Jiang",null,"Lang","Pang","Si","Xi","Ci","Xi","Yuan","Weng","Lian","Sou","Ban","Rong","Rong","Ji","Wu","Qiu","Han","Qin","Yi","Bi","Hua","Tang","Yi","Du","Nai","He","Hu","Hui","Ma","Ming","Yi","Wen","Ying","Teng","Yu","Cang","So","Ebi","Man",null,"Shang","Zhe","Cao","Chi","Di","Ao","Lu","Wei","Zhi","Tang","Chen","Piao","Qu","Pi","Yu","Jian","Luo","Lou","Qin","Zhong","Yin","Jiang","Shuai","Wen","Jiao","Wan","Zhi","Zhe","Ma","Ma","Guo","Liu","Mao","Xi","Cong","Li","Man","Xiao","Kamakiri","Zhang","Mang","Xiang","Mo","Zui","Si","Qiu","Te","Zhi","Peng","Peng","Jiao","Qu","Bie","Liao","Pan","Gui","Xi","Ji","Zhuan","Huang","Fei","Lao","Jue","Jue","Hui","Yin","Chan","Jiao","Shan","Rao","Xiao","Mou","Chong","Xun","Si",null,"Cheng","Dang","Li","Xie","Shan","Yi","Jing","Da","Chan","Qi"],mT[136]=["Ci","Xiang","She","Luo","Qin","Ying","Chai","Li","Ze","Xuan","Lian","Zhu","Ze","Xie","Mang","Xie","Qi","Rong","Jian","Meng","Hao","Ruan","Huo","Zhuo","Jie","Bin","He","Mie","Fan","Lei","Jie","La","Mi","Li","Chun","Li","Qiu","Nie","Lu","Du","Xiao","Zhu","Long","Li","Long","Feng","Ye","Beng","Shang","Gu","Juan","Ying",null,"Xi","Can","Qu","Quan","Du","Can","Man","Jue","Jie","Zhu","Zha","Xie","Huang","Niu","Pei","Nu","Xin","Zhong","Mo","Er","Ke","Mie","Xi","Xing","Yan","Kan","Yuan",null,"Ling","Xuan","Shu","Xian","Tong","Long","Jie","Xian","Ya","Hu","Wei","Dao","Chong","Wei","Dao","Zhun","Heng","Qu","Yi","Yi","Bu","Gan","Yu","Biao","Cha","Yi","Shan","Chen","Fu","Gun","Fen","Shuai","Jie","Na","Zhong","Dan","Ri","Zhong","Zhong","Xie","Qi","Xie","Ran","Zhi","Ren","Qin","Jin","Jun","Yuan","Mei","Chai","Ao","Niao","Hui","Ran","Jia","Tuo","Ling","Dai","Bao","Pao","Yao","Zuo","Bi","Shao","Tan","Ju","He","Shu","Xiu","Zhen","Yi","Pa","Bo","Di","Wa","Fu","Gun","Zhi","Zhi","Ran","Pan","Yi","Mao","Tuo","Na","Kou","Xian","Chan","Qu","Bei","Gun","Xi","Ne","Bo","Horo","Fu","Yi","Chi","Ku","Ren","Jiang","Jia","Cun","Mo","Jie","Er","Luo","Ru","Zhu","Gui","Yin","Cai","Lie","Kamishimo","Yuki","Zhuang","Dang",null,"Kun","Ken","Niao","Shu","Jia","Kun","Cheng","Li","Juan","Shen","Pou","Ge","Yi","Yu","Zhen","Liu","Qiu","Qun","Ji","Yi","Bu","Zhuang","Shui","Sha","Qun","Li","Lian","Lian","Ku","Jian","Fou","Chan","Bi","Gun","Tao","Yuan","Ling","Chi","Chang","Chou","Duo","Biao","Liang","Chang","Pei","Pei","Fei","Yuan","Luo","Guo","Yan","Du","Xi","Zhi","Ju","Qi"],mT[137]=["Ji","Zhi","Gua","Ken","Che","Ti","Ti","Fu","Chong","Xie","Bian","Die","Kun","Duan","Xiu","Xiu","He","Yuan","Bao","Bao","Fu","Yu","Tuan","Yan","Hui","Bei","Chu","Lu","Ena","Hitoe","Yun","Da","Gou","Da","Huai","Rong","Yuan","Ru","Nai","Jiong","Suo","Ban","Tun","Chi","Sang","Niao","Ying","Jie","Qian","Huai","Ku","Lian","Bao","Li","Zhe","Shi","Lu","Yi","Die","Xie","Xian","Wei","Biao","Cao","Ji","Jiang","Sen","Bao","Xiang","Chihaya","Pu","Jian","Zhuan","Jian","Zui","Ji","Dan","Za","Fan","Bo","Xiang","Xin","Bie","Rao","Man","Lan","Ao","Duo","Gui","Cao","Sui","Nong","Chan","Lian","Bi","Jin","Dang","Shu","Tan","Bi","Lan","Pu","Ru","Zhi",null,"Shu","Wa","Shi","Bai","Xie","Bo","Chen","Lai","Long","Xi","Xian","Lan","Zhe","Dai","Tasuki","Zan","Shi","Jian","Pan","Yi","Ran","Ya","Xi","Xi","Yao","Feng","Tan",null,"Biao","Fu","Ba","He","Ji","Ji","Jian","Guan","Bian","Yan","Gui","Jue","Pian","Mao","Mi","Mi","Mie","Shi","Si","Zhan","Luo","Jue","Mi","Tiao","Lian","Yao","Zhi","Jun","Xi","Shan","Wei","Xi","Tian","Yu","Lan","E","Du","Qin","Pang","Ji","Ming","Ying","Gou","Qu","Zhan","Jin","Guan","Deng","Jian","Luo","Qu","Jian","Wei","Jue","Qu","Luo","Lan","Shen","Di","Guan","Jian","Guan","Yan","Gui","Mi","Shi","Zhan","Lan","Jue","Ji","Xi","Di","Tian","Yu","Gou","Jin","Qu","Jiao","Jiu","Jin","Cu","Jue","Zhi","Chao","Ji","Gu","Dan","Zui","Di","Shang","Hua","Quan","Ge","Chi","Jie","Gui","Gong","Chu","Jie","Hun","Qiu","Xing","Su","Ni","Ji","Lu","Zhi","Zha","Bi","Xing","Hu","Shang","Gong","Zhi","Xue","Chu","Xi","Yi","Lu","Jue","Xi","Yan","Xi"],mT[138]=["Yan","Yan","Ding","Fu","Qiu","Qiu","Jiao","Hong","Ji","Fan","Xun","Diao","Hong","Cha","Tao","Xu","Jie","Yi","Ren","Xun","Yin","Shan","Qi","Tuo","Ji","Xun","Yin","E","Fen","Ya","Yao","Song","Shen","Yin","Xin","Jue","Xiao","Ne","Chen","You","Zhi","Xiong","Fang","Xin","Chao","She","Xian","Sha","Tun","Xu","Yi","Yi","Su","Chi","He","Shen","He","Xu","Zhen","Zhu","Zheng","Gou","Zi","Zi","Zhan","Gu","Fu","Quan","Die","Ling","Di","Yang","Li","Nao","Pan","Zhou","Gan","Yi","Ju","Ao","Zha","Tuo","Yi","Qu","Zhao","Ping","Bi","Xiong","Qu","Ba","Da","Zu","Tao","Zhu","Ci","Zhe","Yong","Xu","Xun","Yi","Huang","He","Shi","Cha","Jiao","Shi","Hen","Cha","Gou","Gui","Quan","Hui","Jie","Hua","Gai","Xiang","Wei","Shen","Chou","Tong","Mi","Zhan","Ming","E","Hui","Yan","Xiong","Gua","Er","Beng","Tiao","Chi","Lei","Zhu","Kuang","Kua","Wu","Yu","Teng","Ji","Zhi","Ren","Su","Lang","E","Kuang","E","Shi","Ting","Dan","Bo","Chan","You","Heng","Qiao","Qin","Shua","An","Yu","Xiao","Cheng","Jie","Xian","Wu","Wu","Gao","Song","Pu","Hui","Jing","Shuo","Zhen","Shuo","Du","Yasashi","Chang","Shui","Jie","Ke","Qu","Cong","Xiao","Sui","Wang","Xuan","Fei","Chi","Ta","Yi","Na","Yin","Diao","Pi","Chuo","Chan","Chen","Zhun","Ji","Qi","Tan","Zhui","Wei","Ju","Qing","Jian","Zheng","Ze","Zou","Qian","Zhuo","Liang","Jian","Zhu","Hao","Lun","Shen","Biao","Huai","Pian","Yu","Die","Xu","Pian","Shi","Xuan","Shi","Hun","Hua","E","Zhong","Di","Xie","Fu","Pu","Ting","Jian","Qi","Yu","Zi","Chuan","Xi","Hui","Yin","An","Xian","Nan","Chen","Feng","Zhu","Yang","Yan","Heng","Xuan","Ge","Nuo","Qi"],mT[139]=["Mou","Ye","Wei",null,"Teng","Zou","Shan","Jian","Bo","Ku","Huang","Huo","Ge","Ying","Mi","Xiao","Mi","Xi","Qiang","Chen","Nue","Ti","Su","Bang","Chi","Qian","Shi","Jiang","Yuan","Xie","Xue","Tao","Yao","Yao",null,"Yu","Biao","Cong","Qing","Li","Mo","Mo","Shang","Zhe","Miu","Jian","Ze","Jie","Lian","Lou","Can","Ou","Guan","Xi","Zhuo","Ao","Ao","Jin","Zhe","Yi","Hu","Jiang","Man","Chao","Han","Hua","Chan","Xu","Zeng","Se","Xi","She","Dui","Zheng","Nao","Lan","E","Ying","Jue","Ji","Zun","Jiao","Bo","Hui","Zhuan","Mu","Zen","Zha","Shi","Qiao","Tan","Zen","Pu","Sheng","Xuan","Zao","Tan","Dang","Sui","Qian","Ji","Jiao","Jing","Lian","Nou","Yi","Ai","Zhan","Pi","Hui","Hua","Yi","Yi","Shan","Rang","Nou","Qian","Zhui","Ta","Hu","Zhou","Hao","Ye","Ying","Jian","Yu","Jian","Hui","Du","Zhe","Xuan","Zan","Lei","Shen","Wei","Chan","Li","Yi","Bian","Zhe","Yan","E","Chou","Wei","Chou","Yao","Chan","Rang","Yin","Lan","Chen","Huo","Zhe","Huan","Zan","Yi","Dang","Zhan","Yan","Du","Yan","Ji","Ding","Fu","Ren","Ji","Jie","Hong","Tao","Rang","Shan","Qi","Tuo","Xun","Yi","Xun","Ji","Ren","Jiang","Hui","Ou","Ju","Ya","Ne","Xu","E","Lun","Xiong","Song","Feng","She","Fang","Jue","Zheng","Gu","He","Ping","Zu","Shi","Xiong","Zha","Su","Zhen","Di","Zou","Ci","Qu","Zhao","Bi","Yi","Yi","Kuang","Lei","Shi","Gua","Shi","Jie","Hui","Cheng","Zhu","Shen","Hua","Dan","Gou","Quan","Gui","Xun","Yi","Zheng","Gai","Xiang","Cha","Hun","Xu","Zhou","Jie","Wu","Yu","Qiao","Wu","Gao","You","Hui","Kuang","Shuo","Song","Ai","Qing","Zhu","Zou","Nuo","Du","Zhuo","Fei","Ke","Wei"],mT[140]=["Yu","Shui","Shen","Diao","Chan","Liang","Zhun","Sui","Tan","Shen","Yi","Mou","Chen","Die","Huang","Jian","Xie","Nue","Ye","Wei","E","Yu","Xuan","Chan","Zi","An","Yan","Di","Mi","Pian","Xu","Mo","Dang","Su","Xie","Yao","Bang","Shi","Qian","Mi","Jin","Man","Zhe","Jian","Miu","Tan","Zen","Qiao","Lan","Pu","Jue","Yan","Qian","Zhan","Chen","Gu","Qian","Hong","Xia","Jue","Hong","Han","Hong","Xi","Xi","Huo","Liao","Han","Du","Long","Dou","Jiang","Qi","Shi","Li","Deng","Wan","Bi","Shu","Xian","Feng","Zhi","Zhi","Yan","Yan","Shi","Chu","Hui","Tun","Yi","Tun","Yi","Jian","Ba","Hou","E","Cu","Xiang","Huan","Jian","Ken","Gai","Qu","Fu","Xi","Bin","Hao","Yu","Zhu","Jia",null,"Xi","Bo","Wen","Huan","Bin","Di","Zong","Fen","Yi","Zhi","Bao","Chai","Han","Pi","Na","Pi","Gou","Na","You","Diao","Mo","Si","Xiu","Huan","Kun","He","He","Mo","Han","Mao","Li","Ni","Bi","Yu","Jia","Tuan","Mao","Pi","Xi","E","Ju","Mo","Chu","Tan","Huan","Jue","Bei","Zhen","Yuan","Fu","Cai","Gong","Te","Yi","Hang","Wan","Pin","Huo","Fan","Tan","Guan","Ze","Zhi","Er","Zhu","Shi","Bi","Zi","Er","Gui","Pian","Bian","Mai","Dai","Sheng","Kuang","Fei","Tie","Yi","Chi","Mao","He","Bi","Lu","Ren","Hui","Gai","Pian","Zi","Jia","Xu","Zei","Jiao","Gai","Zang","Jian","Ying","Xun","Zhen","She","Bin","Bin","Qiu","She","Chuan","Zang","Zhou","Lai","Zan","Si","Chen","Shang","Tian","Pei","Geng","Xian","Mai","Jian","Sui","Fu","Tan","Cong","Cong","Zhi","Ji","Zhang","Du","Jin","Xiong","Shun","Yun","Bao","Zai","Lai","Feng","Cang","Ji","Sheng","Ai","Zhuan","Fu","Gou","Sai","Ze","Liao"],mT[141]=["Wei","Bai","Chen","Zhuan","Zhi","Zhui","Biao","Yun","Zeng","Tan","Zan","Yan",null,"Shan","Wan","Ying","Jin","Gan","Xian","Zang","Bi","Du","Shu","Yan",null,"Xuan","Long","Gan","Zang","Bei","Zhen","Fu","Yuan","Gong","Cai","Ze","Xian","Bai","Zhang","Huo","Zhi","Fan","Tan","Pin","Bian","Gou","Zhu","Guan","Er","Jian","Bi","Shi","Tie","Gui","Kuang","Dai","Mao","Fei","He","Yi","Zei","Zhi","Jia","Hui","Zi","Ren","Lu","Zang","Zi","Gai","Jin","Qiu","Zhen","Lai","She","Fu","Du","Ji","Shu","Shang","Si","Bi","Zhou","Geng","Pei","Tan","Lai","Feng","Zhui","Fu","Zhuan","Sai","Ze","Yan","Zan","Yun","Zeng","Shan","Ying","Gan","Chi","Xi","She","Nan","Xiong","Xi","Cheng","He","Cheng","Zhe","Xia","Tang","Zou","Zou","Li","Jiu","Fu","Zhao","Gan","Qi","Shan","Qiong","Qin","Xian","Ci","Jue","Qin","Chi","Ci","Chen","Chen","Die","Ju","Chao","Di","Se","Zhan","Zhu","Yue","Qu","Jie","Chi","Chu","Gua","Xue","Ci","Tiao","Duo","Lie","Gan","Suo","Cu","Xi","Zhao","Su","Yin","Ju","Jian","Que","Tang","Chuo","Cui","Lu","Qu","Dang","Qiu","Zi","Ti","Qu","Chi","Huang","Qiao","Qiao","Yao","Zao","Ti",null,"Zan","Zan","Zu","Pa","Bao","Ku","Ke","Dun","Jue","Fu","Chen","Jian","Fang","Zhi","Sa","Yue","Pa","Qi","Yue","Qiang","Tuo","Tai","Yi","Nian","Ling","Mei","Ba","Die","Ku","Tuo","Jia","Ci","Pao","Qia","Zhu","Ju","Die","Zhi","Fu","Pan","Ju","Shan","Bo","Ni","Ju","Li","Gen","Yi","Ji","Dai","Xian","Jiao","Duo","Zhu","Zhuan","Kua","Zhuai","Gui","Qiong","Kui","Xiang","Chi","Lu","Beng","Zhi","Jia","Tiao","Cai","Jian","Ta","Qiao","Bi","Xian","Duo","Ji","Ju","Ji","Shu","Tu"],mT[142]=["Chu","Jing","Nie","Xiao","Bo","Chi","Qun","Mou","Shu","Lang","Yong","Jiao","Chou","Qiao",null,"Ta","Jian","Qi","Wo","Wei","Zhuo","Jie","Ji","Nie","Ju","Ju","Lun","Lu","Leng","Huai","Ju","Chi","Wan","Quan","Ti","Bo","Zu","Qie","Ji","Cu","Zong","Cai","Zong","Peng","Zhi","Zheng","Dian","Zhi","Yu","Duo","Dun","Chun","Yong","Zhong","Di","Zhe","Chen","Chuai","Jian","Gua","Tang","Ju","Fu","Zu","Die","Pian","Rou","Nuo","Ti","Cha","Tui","Jian","Dao","Cuo","Xi","Ta","Qiang","Zhan","Dian","Ti","Ji","Nie","Man","Liu","Zhan","Bi","Chong","Lu","Liao","Cu","Tang","Dai","Suo","Xi","Kui","Ji","Zhi","Qiang","Di","Man","Zong","Lian","Beng","Zao","Nian","Bie","Tui","Ju","Deng","Ceng","Xian","Fan","Chu","Zhong","Dun","Bo","Cu","Zu","Jue","Jue","Lin","Ta","Qiao","Qiao","Pu","Liao","Dun","Cuan","Kuang","Zao","Ta","Bi","Bi","Zhu","Ju","Chu","Qiao","Dun","Chou","Ji","Wu","Yue","Nian","Lin","Lie","Zhi","Li","Zhi","Chan","Chu","Duan","Wei","Long","Lin","Xian","Wei","Zuan","Lan","Xie","Rang","Xie","Nie","Ta","Qu","Jie","Cuan","Zuan","Xi","Kui","Jue","Lin","Shen","Gong","Dan","Segare","Qu","Ti","Duo","Duo","Gong","Lang","Nerau","Luo","Ai","Ji","Ju","Tang","Utsuke",null,"Yan","Shitsuke","Kang","Qu","Lou","Lao","Tuo","Zhi","Yagate","Ti","Dao","Yagate","Yu","Che","Ya","Gui","Jun","Wei","Yue","Xin","Di","Xuan","Fan","Ren","Shan","Qiang","Shu","Tun","Chen","Dai","E","Na","Qi","Mao","Ruan","Ren","Fan","Zhuan","Hong","Hu","Qu","Huang","Di","Ling","Dai","Ao","Zhen","Fan","Kuang","Ang","Peng","Bei","Gu","Ku","Pao","Zhu","Rong","E","Ba","Zhou","Zhi","Yao","Ke","Yi","Qing","Shi","Ping"],mT[143]=["Er","Qiong","Ju","Jiao","Guang","Lu","Kai","Quan","Zhou","Zai","Zhi","She","Liang","Yu","Shao","You","Huan","Yun","Zhe","Wan","Fu","Qing","Zhou","Ni","Ling","Zhe","Zhan","Liang","Zi","Hui","Wang","Chuo","Guo","Kan","Yi","Peng","Qian","Gun","Nian","Pian","Guan","Bei","Lun","Pai","Liang","Ruan","Rou","Ji","Yang","Xian","Chuan","Cou","Qun","Ge","You","Hong","Shu","Fu","Zi","Fu","Wen","Ben","Zhan","Yu","Wen","Tao","Gu","Zhen","Xia","Yuan","Lu","Jiu","Chao","Zhuan","Wei","Hun","Sori","Che","Jiao","Zhan","Pu","Lao","Fen","Fan","Lin","Ge","Se","Kan","Huan","Yi","Ji","Dui","Er","Yu","Xian","Hong","Lei","Pei","Li","Li","Lu","Lin","Che","Ya","Gui","Xuan","Di","Ren","Zhuan","E","Lun","Ruan","Hong","Ku","Ke","Lu","Zhou","Zhi","Yi","Hu","Zhen","Li","Yao","Qing","Shi","Zai","Zhi","Jiao","Zhou","Quan","Lu","Jiao","Zhe","Fu","Liang","Nian","Bei","Hui","Gun","Wang","Liang","Chuo","Zi","Cou","Fu","Ji","Wen","Shu","Pei","Yuan","Xia","Zhan","Lu","Che","Lin","Xin","Gu","Ci","Ci","Pi","Zui","Bian","La","La","Ci","Xue","Ban","Bian","Bian","Bian",null,"Bian","Ban","Ci","Bian","Bian","Chen","Ru","Nong","Nong","Zhen","Chuo","Chuo","Suberu","Reng","Bian","Bian","Sip","Ip","Liao","Da","Chan","Gan","Qian","Yu","Yu","Qi","Xun","Yi","Guo","Mai","Qi","Za","Wang","Jia","Zhun","Ying","Ti","Yun","Jin","Hang","Ya","Fan","Wu","Da","E","Huan","Zhe","Totemo","Jin","Yuan","Wei","Lian","Chi","Che","Ni","Tiao","Zhi","Yi","Jiong","Jia","Chen","Dai","Er","Di","Po","Wang","Die","Ze","Tao","Shu","Tuo","Kep","Jing","Hui","Tong","You","Mi","Beng","Ji","Nai","Yi","Jie","Zhui","Lie","Xun"],mT[144]=["Tui","Song","Gua","Tao","Pang","Hou","Ni","Dun","Jiong","Xuan","Xun","Bu","You","Xiao","Qiu","Tou","Zhu","Qiu","Di","Di","Tu","Jing","Ti","Dou","Yi","Zhe","Tong","Guang","Wu","Shi","Cheng","Su","Zao","Qun","Feng","Lian","Suo","Hui","Li","Sako","Lai","Ben","Cuo","Jue","Beng","Huan","Dai","Lu","You","Zhou","Jin","Yu","Chuo","Kui","Wei","Ti","Yi","Da","Yuan","Luo","Bi","Nuo","Yu","Dang","Sui","Dun","Sui","Yan","Chuan","Chi","Ti","Yu","Shi","Zhen","You","Yun","E","Bian","Guo","E","Xia","Huang","Qiu","Dao","Da","Wei","Appare","Yi","Gou","Yao","Chu","Liu","Xun","Ta","Di","Chi","Yuan","Su","Ta","Qian",null,"Yao","Guan","Zhang","Ao","Shi","Ce","Chi","Su","Zao","Zhe","Dun","Di","Lou","Chi","Cuo","Lin","Zun","Rao","Qian","Xuan","Yu","Yi","Wu","Liao","Ju","Shi","Bi","Yao","Mai","Xie","Sui","Huan","Zhan","Teng","Er","Miao","Bian","Bian","La","Li","Yuan","Yao","Luo","Li","Yi","Ting","Deng","Qi","Yong","Shan","Han","Yu","Mang","Ru","Qiong",null,"Kuang","Fu","Kang","Bin","Fang","Xing","Na","Xin","Shen","Bang","Yuan","Cun","Huo","Xie","Bang","Wu","Ju","You","Han","Tai","Qiu","Bi","Pei","Bing","Shao","Bei","Wa","Di","Zou","Ye","Lin","Kuang","Gui","Zhu","Shi","Ku","Yu","Gai","Ge","Xi","Zhi","Ji","Xun","Hou","Xing","Jiao","Xi","Gui","Nuo","Lang","Jia","Kuai","Zheng","Otoko","Yun","Yan","Cheng","Dou","Chi","Lu","Fu","Wu","Fu","Gao","Hao","Lang","Jia","Geng","Jun","Ying","Bo","Xi","Bei","Li","Yun","Bu","Xiao","Qi","Pi","Qing","Guo","Zhou","Tan","Zou","Ping","Lai","Ni","Chen","You","Bu","Xiang","Dan","Ju","Yong","Qiao","Yi","Du","Yan","Mei"],mT[145]=["Ruo","Bei","E","Yu","Juan","Yu","Yun","Hou","Kui","Xiang","Xiang","Sou","Tang","Ming","Xi","Ru","Chu","Zi","Zou","Ju","Wu","Xiang","Yun","Hao","Yong","Bi","Mo","Chao","Fu","Liao","Yin","Zhuan","Hu","Qiao","Yan","Zhang","Fan","Qiao","Xu","Deng","Bi","Xin","Bi","Ceng","Wei","Zheng","Mao","Shan","Lin","Po","Dan","Meng","Ye","Cao","Kuai","Feng","Meng","Zou","Kuang","Lian","Zan","Chan","You","Qi","Yan","Chan","Zan","Ling","Huan","Xi","Feng","Zan","Li","You","Ding","Qiu","Zhuo","Pei","Zhou","Yi","Hang","Yu","Jiu","Yan","Zui","Mao","Dan","Xu","Tou","Zhen","Fen","Sakenomoto",null,"Yun","Tai","Tian","Qia","Tuo","Zuo","Han","Gu","Su","Po","Chou","Zai","Ming","Luo","Chuo","Chou","You","Tong","Zhi","Xian","Jiang","Cheng","Yin","Tu","Xiao","Mei","Ku","Suan","Lei","Pu","Zui","Hai","Yan","Xi","Niang","Wei","Lu","Lan","Yan","Tao","Pei","Zhan","Chun","Tan","Zui","Chuo","Cu","Kun","Ti","Mian","Du","Hu","Xu","Xing","Tan","Jiu","Chun","Yun","Po","Ke","Sou","Mi","Quan","Chou","Cuo","Yun","Yong","Ang","Zha","Hai","Tang","Jiang","Piao","Shan","Yu","Li","Zao","Lao","Yi","Jiang","Pu","Jiao","Xi","Tan","Po","Nong","Yi","Li","Ju","Jiao","Yi","Niang","Ru","Xun","Chou","Yan","Ling","Mi","Mi","Niang","Xin","Jiao","Xi","Mi","Yan","Bian","Cai","Shi","You","Shi","Shi","Li","Chong","Ye","Liang","Li","Jin","Jin","Qiu","Yi","Diao","Dao","Zhao","Ding","Po","Qiu","He","Fu","Zhen","Zhi","Ba","Luan","Fu","Nai","Diao","Shan","Qiao","Kou","Chuan","Zi","Fan","Yu","Hua","Han","Gong","Qi","Mang","Ri","Di","Si","Xi","Yi","Chai","Shi","Tu","Xi","Nu","Qian","Ishiyumi","Jian","Pi","Ye","Yin"],mT[146]=["Ba","Fang","Chen","Xing","Tou","Yue","Yan","Fu","Pi","Na","Xin","E","Jue","Dun","Gou","Yin","Qian","Ban","Ji","Ren","Chao","Niu","Fen","Yun","Ji","Qin","Pi","Guo","Hong","Yin","Jun","Shi","Yi","Zhong","Nie","Gai","Ri","Huo","Tai","Kang","Habaki","Irori","Ngaak",null,"Duo","Zi","Ni","Tu","Shi","Min","Gu","E","Ling","Bing","Yi","Gu","Ba","Pi","Yu","Si","Zuo","Bu","You","Dian","Jia","Zhen","Shi","Shi","Tie","Ju","Zhan","Shi","She","Xuan","Zhao","Bao","He","Bi","Sheng","Chu","Shi","Bo","Zhu","Chi","Za","Po","Tong","Qian","Fu","Zhai","Liu","Qian","Fu","Li","Yue","Pi","Yang","Ban","Bo","Jie","Gou","Shu","Zheng","Mu","Ni","Nie","Di","Jia","Mu","Dan","Shen","Yi","Si","Kuang","Ka","Bei","Jian","Tong","Xing","Hong","Jiao","Chi","Er","Ge","Bing","Shi","Mou","Jia","Yin","Jun","Zhou","Chong","Shang","Tong","Mo","Lei","Ji","Yu","Xu","Ren","Zun","Zhi","Qiong","Shan","Chi","Xian","Xing","Quan","Pi","Tie","Zhu","Hou","Ming","Kua","Yao","Xian","Xian","Xiu","Jun","Cha","Lao","Ji","Pi","Ru","Mi","Yi","Yin","Guang","An","Diou","You","Se","Kao","Qian","Luan","Kasugai","Ai","Diao","Han","Rui","Shi","Keng","Qiu","Xiao","Zhe","Xiu","Zang","Ti","Cuo","Gua","Gong","Zhong","Dou","Lu","Mei","Lang","Wan","Xin","Yun","Bei","Wu","Su","Yu","Chan","Ting","Bo","Han","Jia","Hong","Cuan","Feng","Chan","Wan","Zhi","Si","Xuan","Wu","Wu","Tiao","Gong","Zhuo","Lue","Xing","Qian","Shen","Han","Lue","Xie","Chu","Zheng","Ju","Xian","Tie","Mang","Pu","Li","Pan","Rui","Cheng","Gao","Li","Te","Pyeng","Zhu",null,"Tu","Liu","Zui","Ju","Chang","Yuan","Jian","Gang","Diao","Tao","Chang"],mT[147]=["Lun","Kua","Ling","Bei","Lu","Li","Qiang","Pou","Juan","Min","Zui","Peng","An","Pi","Xian","Ya","Zhui","Lei","A","Kong","Ta","Kun","Du","Wei","Chui","Zi","Zheng","Ben","Nie","Cong","Qun","Tan","Ding","Qi","Qian","Zhuo","Qi","Yu","Jin","Guan","Mao","Chang","Tian","Xi","Lian","Tao","Gu","Cuo","Shu","Zhen","Lu","Meng","Lu","Hua","Biao","Ga","Lai","Ken","Kazari","Bu","Nai","Wan","Zan",null,"De","Xian",null,"Huo","Liang",null,"Men","Kai","Ying","Di","Lian","Guo","Xian","Du","Tu","Wei","Cong","Fu","Rou","Ji","E","Rou","Chen","Ti","Zha","Hong","Yang","Duan","Xia","Yu","Keng","Xing","Huang","Wei","Fu","Zhao","Cha","Qie","She","Hong","Kui","Tian","Mou","Qiao","Qiao","Hou","Tou","Cong","Huan","Ye","Min","Jian","Duan","Jian","Song","Kui","Hu","Xuan","Duo","Jie","Zhen","Bian","Zhong","Zi","Xiu","Ye","Mei","Pai","Ai","Jie",null,"Mei","Chuo","Ta","Bang","Xia","Lian","Suo","Xi","Liu","Zu","Ye","Nou","Weng","Rong","Tang","Suo","Qiang","Ge","Shuo","Chui","Bo","Pan","Sa","Bi","Sang","Gang","Zi","Wu","Ying","Huang","Tiao","Liu","Kai","Sun","Sha","Sou","Wan","Hao","Zhen","Zhen","Luo","Yi","Yuan","Tang","Nie","Xi","Jia","Ge","Ma","Juan","Kasugai","Habaki","Suo",null,null,null,"Na","Lu","Suo","Ou","Zu","Tuan","Xiu","Guan","Xuan","Lian","Shou","Ao","Man","Mo","Luo","Bi","Wei","Liu","Di","Qiao","Cong","Yi","Lu","Ao","Keng","Qiang","Cui","Qi","Chang","Tang","Man","Yong","Chan","Feng","Jing","Biao","Shu","Lou","Xiu","Cong","Long","Zan","Jian","Cao","Li","Xia","Xi","Kang",null,"Beng",null,null,"Zheng","Lu","Hua","Ji","Pu","Hui","Qiang","Po","Lin","Suo","Xiu","San","Cheng"],mT[148]=["Kui","Si","Liu","Nao","Heng","Pie","Sui","Fan","Qiao","Quan","Yang","Tang","Xiang","Jue","Jiao","Zun","Liao","Jie","Lao","Dui","Tan","Zan","Ji","Jian","Zhong","Deng","Ya","Ying","Dui","Jue","Nou","Ti","Pu","Tie",null,null,"Ding","Shan","Kai","Jian","Fei","Sui","Lu","Juan","Hui","Yu","Lian","Zhuo","Qiao","Qian","Zhuo","Lei","Bi","Tie","Huan","Ye","Duo","Guo","Dang","Ju","Fen","Da","Bei","Yi","Ai","Zong","Xun","Diao","Zhu","Heng","Zhui","Ji","Nie","Ta","Huo","Qing","Bin","Ying","Kui","Ning","Xu","Jian","Jian","Yari","Cha","Zhi","Mie","Li","Lei","Ji","Zuan","Kuang","Shang","Peng","La","Du","Shuo","Chuo","Lu","Biao","Bao","Lu",null,null,"Long","E","Lu","Xin","Jian","Lan","Bo","Jian","Yao","Chan","Xiang","Jian","Xi","Guan","Cang","Nie","Lei","Cuan","Qu","Pan","Luo","Zuan","Luan","Zao","Nie","Jue","Tang","Shu","Lan","Jin","Qiu","Yi","Zhen","Ding","Zhao","Po","Diao","Tu","Qian","Chuan","Shan","Ji","Fan","Diao","Men","Nu","Xi","Chai","Xing","Gai","Bu","Tai","Ju","Dun","Chao","Zhong","Na","Bei","Gang","Ban","Qian","Yao","Qin","Jun","Wu","Gou","Kang","Fang","Huo","Tou","Niu","Ba","Yu","Qian","Zheng","Qian","Gu","Bo","E","Po","Bu","Ba","Yue","Zuan","Mu","Dan","Jia","Dian","You","Tie","Bo","Ling","Shuo","Qian","Liu","Bao","Shi","Xuan","She","Bi","Ni","Pi","Duo","Xing","Kao","Lao","Er","Mang","Ya","You","Cheng","Jia","Ye","Nao","Zhi","Dang","Tong","Lu","Diao","Yin","Kai","Zha","Zhu","Xian","Ting","Diu","Xian","Hua","Quan","Sha","Jia","Yao","Ge","Ming","Zheng","Se","Jiao","Yi","Chan","Chong","Tang","An","Yin","Ru","Zhu","Lao","Pu","Wu","Lai","Te","Lian","Keng"],mT[149]=["Xiao","Suo","Li","Zheng","Chu","Guo","Gao","Tie","Xiu","Cuo","Lue","Feng","Xin","Liu","Kai","Jian","Rui","Ti","Lang","Qian","Ju","A","Qiang","Duo","Tian","Cuo","Mao","Ben","Qi","De","Kua","Kun","Chang","Xi","Gu","Luo","Chui","Zhui","Jin","Zhi","Xian","Juan","Huo","Pou","Tan","Ding","Jian","Ju","Meng","Zi","Qie","Ying","Kai","Qiang","Song","E","Cha","Qiao","Zhong","Duan","Sou","Huang","Huan","Ai","Du","Mei","Lou","Zi","Fei","Mei","Mo","Zhen","Bo","Ge","Nie","Tang","Juan","Nie","Na","Liu","Hao","Bang","Yi","Jia","Bin","Rong","Biao","Tang","Man","Luo","Beng","Yong","Jing","Di","Zu","Xuan","Liu","Tan","Jue","Liao","Pu","Lu","Dui","Lan","Pu","Cuan","Qiang","Deng","Huo","Lei","Huan","Zhuo","Lian","Yi","Cha","Biao","La","Chan","Xiang","Chang","Chang","Jiu","Ao","Die","Qu","Liao","Mi","Chang","Men","Ma","Shuan","Shan","Huo","Men","Yan","Bi","Han","Bi","San","Kai","Kang","Beng","Hong","Run","San","Xian","Xian","Jian","Min","Xia","Yuru","Dou","Zha","Nao","Jian","Peng","Xia","Ling","Bian","Bi","Run","He","Guan","Ge","Ge","Fa","Chu","Hong","Gui","Min","Se","Kun","Lang","Lu","Ting","Sha","Ju","Yue","Yue","Chan","Qu","Lin","Chang","Shai","Kun","Yan","Min","Yan","E","Hun","Yu","Wen","Xiang","Bao","Xiang","Qu","Yao","Wen","Ban","An","Wei","Yin","Kuo","Que","Lan","Du",null,"Phwung","Tian","Nie","Ta","Kai","He","Que","Chuang","Guan","Dou","Qi","Kui","Tang","Guan","Piao","Kan","Xi","Hui","Chan","Pi","Dang","Huan","Ta","Wen",null,"Men","Shuan","Shan","Yan","Han","Bi","Wen","Chuang","Run","Wei","Xian","Hong","Jian","Min","Kang","Men","Zha","Nao","Gui","Wen","Ta","Min","Lu","Kai"],mT[150]=["Fa","Ge","He","Kun","Jiu","Yue","Lang","Du","Yu","Yan","Chang","Xi","Wen","Hun","Yan","E","Chan","Lan","Qu","Hui","Kuo","Que","Ge","Tian","Ta","Que","Kan","Huan","Fu","Fu","Le","Dui","Xin","Qian","Wu","Yi","Tuo","Yin","Yang","Dou","E","Sheng","Ban","Pei","Keng","Yun","Ruan","Zhi","Pi","Jing","Fang","Yang","Yin","Zhen","Jie","Cheng","E","Qu","Di","Zu","Zuo","Dian","Ling","A","Tuo","Tuo","Po","Bing","Fu","Ji","Lu","Long","Chen","Xing","Duo","Lou","Mo","Jiang","Shu","Duo","Xian","Er","Gui","Yu","Gai","Shan","Xun","Qiao","Xing","Chun","Fu","Bi","Xia","Shan","Sheng","Zhi","Pu","Dou","Yuan","Zhen","Chu","Xian","Tou","Nie","Yun","Xian","Pei","Pei","Zou","Yi","Dui","Lun","Yin","Ju","Chui","Chen","Pi","Ling","Tao","Xian","Lu","Sheng","Xian","Yin","Zhu","Yang","Reng","Shan","Chong","Yan","Yin","Yu","Ti","Yu","Long","Wei","Wei","Nie","Dui","Sui","An","Huang","Jie","Sui","Yin","Gai","Yan","Hui","Ge","Yun","Wu","Wei","Ai","Xi","Tang","Ji","Zhang","Dao","Ao","Xi","Yin",null,"Rao","Lin","Tui","Deng","Pi","Sui","Sui","Yu","Xian","Fen","Ni","Er","Ji","Dao","Xi","Yin","E","Hui","Long","Xi","Li","Li","Li","Zhui","He","Zhi","Zhun","Jun","Nan","Yi","Que","Yan","Qian","Ya","Xiong","Ya","Ji","Gu","Huan","Zhi","Gou","Jun","Ci","Yong","Ju","Chu","Hu","Za","Luo","Yu","Chou","Diao","Sui","Han","Huo","Shuang","Guan","Chu","Za","Yong","Ji","Xi","Chou","Liu","Li","Nan","Xue","Za","Ji","Ji","Yu","Yu","Xue","Na","Fou","Se","Mu","Wen","Fen","Pang","Yun","Li","Li","Ang","Ling","Lei","An","Bao","Meng","Dian","Dang","Xing","Wu","Zhao"],mT[151]=["Xu","Ji","Mu","Chen","Xiao","Zha","Ting","Zhen","Pei","Mei","Ling","Qi","Chou","Huo","Sha","Fei","Weng","Zhan","Yin","Ni","Chou","Tun","Lin",null,"Dong","Ying","Wu","Ling","Shuang","Ling","Xia","Hong","Yin","Mo","Mai","Yun","Liu","Meng","Bin","Wu","Wei","Huo","Yin","Xi","Yi","Ai","Dan","Deng","Xian","Yu","Lu","Long","Dai","Ji","Pang","Yang","Ba","Pi","Wei",null,"Xi","Ji","Mai","Meng","Meng","Lei","Li","Huo","Ai","Fei","Dai","Long","Ling","Ai","Feng","Li","Bao",null,"He","He","Bing","Qing","Qing","Jing","Tian","Zhen","Jing","Cheng","Qing","Jing","Jing","Dian","Jing","Tian","Fei","Fei","Kao","Mi","Mian","Mian","Pao","Ye","Tian","Hui","Ye","Ge","Ding","Cha","Jian","Ren","Di","Du","Wu","Ren","Qin","Jin","Xue","Niu","Ba","Yin","Sa","Na","Mo","Zu","Da","Ban","Yi","Yao","Tao","Tuo","Jia","Hong","Pao","Yang","Tomo","Yin","Jia","Tao","Ji","Xie","An","An","Hen","Gong","Kohaze","Da","Qiao","Ting","Wan","Ying","Sui","Tiao","Qiao","Xuan","Kong","Beng","Ta","Zhang","Bing","Kuo","Ju","La","Xie","Rou","Bang","Yi","Qiu","Qiu","He","Xiao","Mu","Ju","Jian","Bian","Di","Jian","On","Tao","Gou","Ta","Bei","Xie","Pan","Ge","Bi","Kuo","Tang","Lou","Gui","Qiao","Xue","Ji","Jian","Jiang","Chan","Da","Huo","Xian","Qian","Du","Wa","Jian","Lan","Wei","Ren","Fu","Mei","Juan","Ge","Wei","Qiao","Han","Chang",null,"Rou","Xun","She","Wei","Ge","Bei","Tao","Gou","Yun",null,"Bi","Wei","Hui","Du","Wa","Du","Wei","Ren","Fu","Han","Wei","Yun","Tao","Jiu","Jiu","Xian","Xie","Xian","Ji","Yin","Za","Yun","Shao","Le","Peng","Heng","Ying","Yun","Peng","Yin","Yin","Xiang"],mT[152]=["Hu","Ye","Ding","Qing","Pan","Xiang","Shun","Han","Xu","Yi","Xu","Gu","Song","Kui","Qi","Hang","Yu","Wan","Ban","Dun","Di","Dan","Pan","Po","Ling","Ce","Jing","Lei","He","Qiao","E","E","Wei","Jie","Gua","Shen","Yi","Shen","Hai","Dui","Pian","Ping","Lei","Fu","Jia","Tou","Hui","Kui","Jia","Le","Tian","Cheng","Ying","Jun","Hu","Han","Jing","Tui","Tui","Pin","Lai","Tui","Zi","Zi","Chui","Ding","Lai","Yan","Han","Jian","Ke","Cui","Jiong","Qin","Yi","Sai","Ti","E","E","Yan","Hun","Kan","Yong","Zhuan","Yan","Xian","Xin","Yi","Yuan","Sang","Dian","Dian","Jiang","Ku","Lei","Liao","Piao","Yi","Man","Qi","Rao","Hao","Qiao","Gu","Xun","Qian","Hui","Zhan","Ru","Hong","Bin","Xian","Pin","Lu","Lan","Nie","Quan","Ye","Ding","Qing","Han","Xiang","Shun","Xu","Xu","Wan","Gu","Dun","Qi","Ban","Song","Hang","Yu","Lu","Ling","Po","Jing","Jie","Jia","Tian","Han","Ying","Jiong","Hai","Yi","Pin","Hui","Tui","Han","Ying","Ying","Ke","Ti","Yong","E","Zhuan","Yan","E","Nie","Man","Dian","Sang","Hao","Lei","Zhan","Ru","Pin","Quan","Feng","Biao","Oroshi","Fu","Xia","Zhan","Biao","Sa","Ba","Tai","Lie","Gua","Xuan","Shao","Ju","Bi","Si","Wei","Yang","Yao","Sou","Kai","Sao","Fan","Liu","Xi","Liao","Piao","Piao","Liu","Biao","Biao","Biao","Liao",null,"Se","Feng","Biao","Feng","Yang","Zhan","Biao","Sa","Ju","Si","Sou","Yao","Liu","Piao","Biao","Biao","Fei","Fan","Fei","Fei","Shi","Shi","Can","Ji","Ding","Si","Tuo","Zhan","Sun","Xiang","Tun","Ren","Yu","Juan","Chi","Yin","Fan","Fan","Sun","Yin","Zhu","Yi","Zhai","Bi","Jie","Tao","Liu","Ci","Tie","Si","Bao","Shi","Duo"],mT[153]=["Hai","Ren","Tian","Jiao","Jia","Bing","Yao","Tong","Ci","Xiang","Yang","Yang","Er","Yan","Le","Yi","Can","Bo","Nei","E","Bu","Jun","Dou","Su","Yu","Shi","Yao","Hun","Guo","Shi","Jian","Zhui","Bing","Xian","Bu","Ye","Tan","Fei","Zhang","Wei","Guan","E","Nuan","Hun","Hu","Huang","Tie","Hui","Jian","Hou","He","Xing","Fen","Wei","Gu","Cha","Song","Tang","Bo","Gao","Xi","Kui","Liu","Sou","Tao","Ye","Yun","Mo","Tang","Man","Bi","Yu","Xiu","Jin","San","Kui","Zhuan","Shan","Chi","Dan","Yi","Ji","Rao","Cheng","Yong","Tao","Hui","Xiang","Zhan","Fen","Hai","Meng","Yan","Mo","Chan","Xiang","Luo","Zuan","Nang","Shi","Ding","Ji","Tuo","Xing","Tun","Xi","Ren","Yu","Chi","Fan","Yin","Jian","Shi","Bao","Si","Duo","Yi","Er","Rao","Xiang","Jia","Le","Jiao","Yi","Bing","Bo","Dou","E","Yu","Nei","Jun","Guo","Hun","Xian","Guan","Cha","Kui","Gu","Sou","Chan","Ye","Mo","Bo","Liu","Xiu","Jin","Man","San","Zhuan","Nang","Shou","Kui","Guo","Xiang","Fen","Ba","Ni","Bi","Bo","Tu","Han","Fei","Jian","An","Ai","Fu","Xian","Wen","Xin","Fen","Bin","Xing","Ma","Yu","Feng","Han","Di","Tuo","Tuo","Chi","Xun","Zhu","Zhi","Pei","Xin","Ri","Sa","Yin","Wen","Zhi","Dan","Lu","You","Bo","Bao","Kuai","Tuo","Yi","Qu",null,"Qu","Jiong","Bo","Zhao","Yuan","Peng","Zhou","Ju","Zhu","Nu","Ju","Pi","Zang","Jia","Ling","Zhen","Tai","Fu","Yang","Shi","Bi","Tuo","Tuo","Si","Liu","Ma","Pian","Tao","Zhi","Rong","Teng","Dong","Xun","Quan","Shen","Jiong","Er","Hai","Bo","Zhu","Yin","Luo","Shuu","Dan","Xie","Liu","Ju","Song","Qin","Mang","Liang","Han","Tu","Xuan","Tui","Jun"],mT[154]=["E","Cheng","Xin","Ai","Lu","Zhui","Zhou","She","Pian","Kun","Tao","Lai","Zong","Ke","Qi","Qi","Yan","Fei","Sao","Yan","Jie","Yao","Wu","Pian","Cong","Pian","Qian","Fei","Huang","Jian","Huo","Yu","Ti","Quan","Xia","Zong","Kui","Rou","Si","Gua","Tuo","Kui","Sou","Qian","Cheng","Zhi","Liu","Pang","Teng","Xi","Cao","Du","Yan","Yuan","Zou","Sao","Shan","Li","Zhi","Shuang","Lu","Xi","Luo","Zhang","Mo","Ao","Can","Piao","Cong","Qu","Bi","Zhi","Yu","Xu","Hua","Bo","Su","Xiao","Lin","Chan","Dun","Liu","Tuo","Zeng","Tan","Jiao","Tie","Yan","Luo","Zhan","Jing","Yi","Ye","Tuo","Bin","Zou","Yan","Peng","Lu","Teng","Xiang","Ji","Shuang","Ju","Xi","Huan","Li","Biao","Ma","Yu","Tuo","Xun","Chi","Qu","Ri","Bo","Lu","Zang","Shi","Si","Fu","Ju","Zou","Zhu","Tuo","Nu","Jia","Yi","Tai","Xiao","Ma","Yin","Jiao","Hua","Luo","Hai","Pian","Biao","Li","Cheng","Yan","Xin","Qin","Jun","Qi","Qi","Ke","Zhui","Zong","Su","Can","Pian","Zhi","Kui","Sao","Wu","Ao","Liu","Qian","Shan","Piao","Luo","Cong","Chan","Zou","Ji","Shuang","Xiang","Gu","Wei","Wei","Wei","Yu","Gan","Yi","Ang","Tou","Xie","Bao","Bi","Chi","Ti","Di","Ku","Hai","Qiao","Gou","Kua","Ge","Tui","Geng","Pian","Bi","Ke","Ka","Yu","Sui","Lou","Bo","Xiao","Pang","Bo","Ci","Kuan","Bin","Mo","Liao","Lou","Nao","Du","Zang","Sui","Ti","Bin","Kuan","Lu","Gao","Gao","Qiao","Kao","Qiao","Lao","Zao","Biao","Kun","Kun","Ti","Fang","Xiu","Ran","Mao","Dan","Kun","Bin","Fa","Tiao","Peng","Zi","Fa","Ran","Ti","Pao","Pi","Mao","Fu","Er","Rong","Qu","Gong","Xiu","Gua","Ji","Peng","Zhua","Shao","Sha"],mT[155]=["Ti","Li","Bin","Zong","Ti","Peng","Song","Zheng","Quan","Zong","Shun","Jian","Duo","Hu","La","Jiu","Qi","Lian","Zhen","Bin","Peng","Mo","San","Man","Man","Seng","Xu","Lie","Qian","Qian","Nong","Huan","Kuai","Ning","Bin","Lie","Rang","Dou","Dou","Nao","Hong","Xi","Dou","Han","Dou","Dou","Jiu","Chang","Yu","Yu","Li","Juan","Fu","Qian","Gui","Zong","Liu","Gui","Shang","Yu","Gui","Mei","Ji","Qi","Jie","Kui","Hun","Ba","Po","Mei","Xu","Yan","Xiao","Liang","Yu","Tui","Qi","Wang","Liang","Wei","Jian","Chi","Piao","Bi","Mo","Ji","Xu","Chou","Yan","Zhan","Yu","Dao","Ren","Ji","Eri","Gong","Tuo","Diao","Ji","Xu","E","E","Sha","Hang","Tun","Mo","Jie","Shen","Fan","Yuan","Bi","Lu","Wen","Hu","Lu","Za","Fang","Fen","Na","You","Namazu","Todo","He","Xia","Qu","Han","Pi","Ling","Tuo","Bo","Qiu","Ping","Fu","Bi","Ji","Wei","Ju","Diao","Bo","You","Gun","Pi","Nian","Xing","Tai","Bao","Fu","Zha","Ju","Gu","Kajika","Tong",null,"Ta","Jie","Shu","Hou","Xiang","Er","An","Wei","Tiao","Zhu","Yin","Lie","Luo","Tong","Yi","Qi","Bing","Wei","Jiao","Bu","Gui","Xian","Ge","Hui","Bora","Mate","Kao","Gori","Duo","Jun","Ti","Man","Xiao","Za","Sha","Qin","Yu","Nei","Zhe","Gun","Geng","Su","Wu","Qiu","Ting","Fu","Wan","You","Li","Sha","Sha","Gao","Meng","Ugui","Asari","Subashiri","Kazunoko","Yong","Ni","Zi","Qi","Qing","Xiang","Nei","Chun","Ji","Diao","Qie","Gu","Zhou","Dong","Lai","Fei","Ni","Yi","Kun","Lu","Jiu","Chang","Jing","Lun","Ling","Zou","Li","Meng","Zong","Zhi","Nian","Shachi","Dojou","Sukesou","Shi","Shen","Hun","Shi","Hou","Xing","Zhu","La","Zong","Ji","Bian","Bian"],mT[156]=["Huan","Quan","Ze","Wei","Wei","Yu","Qun","Rou","Die","Huang","Lian","Yan","Qiu","Qiu","Jian","Bi","E","Yang","Fu","Sai","Jian","Xia","Tuo","Hu","Muroaji","Ruo","Haraka","Wen","Jian","Hao","Wu","Fang","Sao","Liu","Ma","Shi","Shi","Yin","Z","Teng","Ta","Yao","Ge","Rong","Qian","Qi","Wen","Ruo","Hatahata","Lian","Ao","Le","Hui","Min","Ji","Tiao","Qu","Jian","Sao","Man","Xi","Qiu","Biao","Ji","Ji","Zhu","Jiang","Qiu","Zhuan","Yong","Zhang","Kang","Xue","Bie","Jue","Qu","Xiang","Bo","Jiao","Xun","Su","Huang","Zun","Shan","Shan","Fan","Jue","Lin","Xun","Miao","Xi","Eso","Kyou","Fen","Guan","Hou","Kuai","Zei","Sao","Zhan","Gan","Gui","Sheng","Li","Chang","Hatahata","Shiira","Mutsu","Ru","Ji","Xu","Huo","Shiira","Li","Lie","Li","Mie","Zhen","Xiang","E","Lu","Guan","Li","Xian","Yu","Dao","Ji","You","Tun","Lu","Fang","Ba","He","Bo","Ping","Nian","Lu","You","Zha","Fu","Bo","Bao","Hou","Pi","Tai","Gui","Jie","Kao","Wei","Er","Tong","Ze","Hou","Kuai","Ji","Jiao","Xian","Za","Xiang","Xun","Geng","Li","Lian","Jian","Li","Shi","Tiao","Gun","Sha","Wan","Jun","Ji","Yong","Qing","Ling","Qi","Zou","Fei","Kun","Chang","Gu","Ni","Nian","Diao","Jing","Shen","Shi","Zi","Fen","Die","Bi","Chang","Shi","Wen","Wei","Sai","E","Qiu","Fu","Huang","Quan","Jiang","Bian","Sao","Ao","Qi","Ta","Yin","Yao","Fang","Jian","Le","Biao","Xue","Bie","Man","Min","Yong","Wei","Xi","Jue","Shan","Lin","Zun","Huo","Gan","Li","Zhan","Guan","Niao","Yi","Fu","Li","Jiu","Bu","Yan","Fu","Diao","Ji","Feng","Nio","Gan","Shi","Feng","Ming","Bao","Yuan","Zhi","Hu","Qin","Fu","Fen","Wen","Jian","Shi","Yu"],mT[157]=["Fou","Yiao","Jue","Jue","Pi","Huan","Zhen","Bao","Yan","Ya","Zheng","Fang","Feng","Wen","Ou","Te","Jia","Nu","Ling","Mie","Fu","Tuo","Wen","Li","Bian","Zhi","Ge","Yuan","Zi","Qu","Xiao","Zhi","Dan","Ju","You","Gu","Zhong","Yu","Yang","Rong","Ya","Tie","Yu","Shigi","Ying","Zhui","Wu","Er","Gua","Ai","Zhi","Yan","Heng","Jiao","Ji","Lie","Zhu","Ren","Yi","Hong","Luo","Ru","Mou","Ge","Ren","Jiao","Xiu","Zhou","Zhi","Luo","Chidori","Toki","Ten","Luan","Jia","Ji","Yu","Huan","Tuo","Bu","Wu","Juan","Yu","Bo","Xun","Xun","Bi","Xi","Jun","Ju","Tu","Jing","Ti","E","E","Kuang","Hu","Wu","Shen","Lai","Ikaruga","Kakesu","Lu","Ping","Shu","Fu","An","Zhao","Peng","Qin","Qian","Bei","Diao","Lu","Que","Jian","Ju","Tu","Ya","Yuan","Qi","Li","Ye","Zhui","Kong","Zhui","Kun","Sheng","Qi","Jing","Yi","Yi","Jing","Zi","Lai","Dong","Qi","Chun","Geng","Ju","Qu","Isuka","Kikuitadaki","Ji","Shu",null,"Chi","Miao","Rou","An","Qiu","Ti","Hu","Ti","E","Jie","Mao","Fu","Chun","Tu","Yan","He","Yuan","Pian","Yun","Mei","Hu","Ying","Dun","Mu","Ju","Tsugumi","Cang","Fang","Gu","Ying","Yuan","Xuan","Weng","Shi","He","Chu","Tang","Xia","Ruo","Liu","Ji","Gu","Jian","Zhun","Han","Zi","Zi","Ni","Yao","Yan","Ji","Li","Tian","Kou","Ti","Ti","Ni","Tu","Ma","Jiao","Gao","Tian","Chen","Li","Zhuan","Zhe","Ao","Yao","Yi","Ou","Chi","Zhi","Liao","Rong","Lou","Bi","Shuang","Zhuo","Yu","Wu","Jue","Yin","Quan","Si","Jiao","Yi","Hua","Bi","Ying","Su","Huang","Fan","Jiao","Liao","Yan","Kao","Jiu","Xian","Xian","Tu","Mai","Zun","Yu","Ying","Lu","Tuan","Xian","Xue","Yi","Pi"],mT[158]=["Shu","Luo","Qi","Yi","Ji","Zhe","Yu","Zhan","Ye","Yang","Pi","Ning","Huo","Mi","Ying","Meng","Di","Yue","Yu","Lei","Bao","Lu","He","Long","Shuang","Yue","Ying","Guan","Qu","Li","Luan","Niao","Jiu","Ji","Yuan","Ming","Shi","Ou","Ya","Cang","Bao","Zhen","Gu","Dong","Lu","Ya","Xiao","Yang","Ling","Zhi","Qu","Yuan","Xue","Tuo","Si","Zhi","Er","Gua","Xiu","Heng","Zhou","Ge","Luan","Hong","Wu","Bo","Li","Juan","Hu","E","Yu","Xian","Ti","Wu","Que","Miao","An","Kun","Bei","Peng","Qian","Chun","Geng","Yuan","Su","Hu","He","E","Gu","Qiu","Zi","Mei","Mu","Ni","Yao","Weng","Liu","Ji","Ni","Jian","He","Yi","Ying","Zhe","Liao","Liao","Jiao","Jiu","Yu","Lu","Xuan","Zhan","Ying","Huo","Meng","Guan","Shuang","Lu","Jin","Ling","Jian","Xian","Cuo","Jian","Jian","Yan","Cuo","Lu","You","Cu","Ji","Biao","Cu","Biao","Zhu","Jun","Zhu","Jian","Mi","Mi","Wu","Liu","Chen","Jun","Lin","Ni","Qi","Lu","Jiu","Jun","Jing","Li","Xiang","Yan","Jia","Mi","Li","She","Zhang","Lin","Jing","Ji","Ling","Yan","Cu","Mai","Mai","Ge","Chao","Fu","Mian","Mian","Fu","Pao","Qu","Qu","Mou","Fu","Xian","Lai","Qu","Mian",null,"Feng","Fu","Qu","Mian","Ma","Mo","Mo","Hui","Ma","Zou","Nen","Fen","Huang","Huang","Jin","Guang","Tian","Tou","Heng","Xi","Kuang","Heng","Shu","Li","Nian","Chi","Hei","Hei","Yi","Qian","Dan","Xi","Tuan","Mo","Mo","Qian","Dai","Chu","You","Dian","Yi","Xia","Yan","Qu","Mei","Yan","Jing","Yu","Li","Dang","Du","Can","Yin","An","Yan","Tan","An","Zhen","Dai","Can","Yi","Mei","Dan","Yan","Du","Lu","Zhi","Fen","Fu","Fu","Min","Min","Yuan"],mT[159]=["Cu","Qu","Chao","Wa","Zhu","Zhi","Mang","Ao","Bie","Tuo","Bi","Yuan","Chao","Tuo","Ding","Mi","Nai","Ding","Zi","Gu","Gu","Dong","Fen","Tao","Yuan","Pi","Chang","Gao","Qi","Yuan","Tang","Teng","Shu","Shu","Fen","Fei","Wen","Ba","Diao","Tuo","Tong","Qu","Sheng","Shi","You","Shi","Ting","Wu","Nian","Jing","Hun","Ju","Yan","Tu","Ti","Xi","Xian","Yan","Lei","Bi","Yao","Qiu","Han","Wu","Wu","Hou","Xi","Ge","Zha","Xiu","Weng","Zha","Nong","Nang","Qi","Zhai","Ji","Zi","Ji","Ji","Qi","Ji","Chi","Chen","Chen","He","Ya","Ken","Xie","Pao","Cuo","Shi","Zi","Chi","Nian","Ju","Tiao","Ling","Ling","Chu","Quan","Xie","Ken","Nie","Jiu","Yao","Chuo","Kun","Yu","Chu","Yi","Ni","Cuo","Zou","Qu","Nen","Xian","Ou","E","Wo","Yi","Chuo","Zou","Dian","Chu","Jin","Ya","Chi","Chen","He","Ken","Ju","Ling","Pao","Tiao","Zi","Ken","Yu","Chuo","Qu","Wo","Long","Pang","Gong","Pang","Yan","Long","Long","Gong","Kan","Ta","Ling","Ta","Long","Gong","Kan","Gui","Qiu","Bie","Gui","Yue","Chui","He","Jue","Xie","Yu"],mT[160]=["it","ix","i","ip","iet","iex","ie","iep","at","ax","a","ap","uox","uo","uop","ot","ox","o","op","ex","e","wu","bit","bix","bi","bip","biet","biex","bie","biep","bat","bax","ba","bap","buox","buo","buop","bot","box","bo","bop","bex","be","bep","but","bux","bu","bup","burx","bur","byt","byx","by","byp","byrx","byr","pit","pix","pi","pip","piex","pie","piep","pat","pax","pa","pap","puox","puo","puop","pot","pox","po","pop","put","pux","pu","pup","purx","pur","pyt","pyx","py","pyp","pyrx","pyr","bbit","bbix","bbi","bbip","bbiet","bbiex","bbie","bbiep","bbat","bbax","bba","bbap","bbuox","bbuo","bbuop","bbot","bbox","bbo","bbop","bbex","bbe","bbep","bbut","bbux","bbu","bbup","bburx","bbur","bbyt","bbyx","bby","bbyp","nbit","nbix","nbi","nbip","nbiex","nbie","nbiep","nbat","nbax","nba","nbap","nbot","nbox","nbo","nbop","nbut","nbux","nbu","nbup","nburx","nbur","nbyt","nbyx","nby","nbyp","nbyrx","nbyr","hmit","hmix","hmi","hmip","hmiex","hmie","hmiep","hmat","hmax","hma","hmap","hmuox","hmuo","hmuop","hmot","hmox","hmo","hmop","hmut","hmux","hmu","hmup","hmurx","hmur","hmyx","hmy","hmyp","hmyrx","hmyr","mit","mix","mi","mip","miex","mie","miep","mat","max","ma","map","muot","muox","muo","muop","mot","mox","mo","mop","mex","me","mut","mux","mu","mup","murx","mur","myt","myx","my","myp","fit","fix","fi","fip","fat","fax","fa","fap","fox","fo","fop","fut","fux","fu","fup","furx","fur","fyt","fyx","fy","fyp","vit","vix","vi","vip","viet","viex","vie","viep","vat","vax","va","vap","vot","vox","vo","vop","vex","vep","vut","vux","vu","vup","vurx","vur","vyt","vyx","vy","vyp","vyrx","vyr"],mT[161]=["dit","dix","di","dip","diex","die","diep","dat","dax","da","dap","duox","duo","dot","dox","do","dop","dex","de","dep","dut","dux","du","dup","durx","dur","tit","tix","ti","tip","tiex","tie","tiep","tat","tax","ta","tap","tuot","tuox","tuo","tuop","tot","tox","to","top","tex","te","tep","tut","tux","tu","tup","turx","tur","ddit","ddix","ddi","ddip","ddiex","ddie","ddiep","ddat","ddax","dda","ddap","dduox","dduo","dduop","ddot","ddox","ddo","ddop","ddex","dde","ddep","ddut","ddux","ddu","ddup","ddurx","ddur","ndit","ndix","ndi","ndip","ndiex","ndie","ndat","ndax","nda","ndap","ndot","ndox","ndo","ndop","ndex","nde","ndep","ndut","ndux","ndu","ndup","ndurx","ndur","hnit","hnix","hni","hnip","hniet","hniex","hnie","hniep","hnat","hnax","hna","hnap","hnuox","hnuo","hnot","hnox","hnop","hnex","hne","hnep","hnut","nit","nix","ni","nip","niex","nie","niep","nax","na","nap","nuox","nuo","nuop","not","nox","no","nop","nex","ne","nep","nut","nux","nu","nup","nurx","nur","hlit","hlix","hli","hlip","hliex","hlie","hliep","hlat","hlax","hla","hlap","hluox","hluo","hluop","hlox","hlo","hlop","hlex","hle","hlep","hlut","hlux","hlu","hlup","hlurx","hlur","hlyt","hlyx","hly","hlyp","hlyrx","hlyr","lit","lix","li","lip","liet","liex","lie","liep","lat","lax","la","lap","luot","luox","luo","luop","lot","lox","lo","lop","lex","le","lep","lut","lux","lu","lup","lurx","lur","lyt","lyx","ly","lyp","lyrx","lyr","git","gix","gi","gip","giet","giex","gie","giep","gat","gax","ga","gap","guot","guox","guo","guop","got","gox","go","gop","get","gex","ge","gep","gut","gux","gu","gup","gurx","gur","kit","kix","ki","kip","kiex","kie","kiep","kat"],mT[162]=["kax","ka","kap","kuox","kuo","kuop","kot","kox","ko","kop","ket","kex","ke","kep","kut","kux","ku","kup","kurx","kur","ggit","ggix","ggi","ggiex","ggie","ggiep","ggat","ggax","gga","ggap","gguot","gguox","gguo","gguop","ggot","ggox","ggo","ggop","gget","ggex","gge","ggep","ggut","ggux","ggu","ggup","ggurx","ggur","mgiex","mgie","mgat","mgax","mga","mgap","mguox","mguo","mguop","mgot","mgox","mgo","mgop","mgex","mge","mgep","mgut","mgux","mgu","mgup","mgurx","mgur","hxit","hxix","hxi","hxip","hxiet","hxiex","hxie","hxiep","hxat","hxax","hxa","hxap","hxuot","hxuox","hxuo","hxuop","hxot","hxox","hxo","hxop","hxex","hxe","hxep","ngiex","ngie","ngiep","ngat","ngax","nga","ngap","nguot","nguox","nguo","ngot","ngox","ngo","ngop","ngex","nge","ngep","hit","hiex","hie","hat","hax","ha","hap","huot","huox","huo","huop","hot","hox","ho","hop","hex","he","hep","wat","wax","wa","wap","wuox","wuo","wuop","wox","wo","wop","wex","we","wep","zit","zix","zi","zip","ziex","zie","ziep","zat","zax","za","zap","zuox","zuo","zuop","zot","zox","zo","zop","zex","ze","zep","zut","zux","zu","zup","zurx","zur","zyt","zyx","zy","zyp","zyrx","zyr","cit","cix","ci","cip","ciet","ciex","cie","ciep","cat","cax","ca","cap","cuox","cuo","cuop","cot","cox","co","cop","cex","ce","cep","cut","cux","cu","cup","curx","cur","cyt","cyx","cy","cyp","cyrx","cyr","zzit","zzix","zzi","zzip","zziet","zziex","zzie","zziep","zzat","zzax","zza","zzap","zzox","zzo","zzop","zzex","zze","zzep","zzux","zzu","zzup","zzurx","zzur","zzyt","zzyx","zzy","zzyp","zzyrx","zzyr","nzit","nzix","nzi","nzip","nziex","nzie","nziep","nzat","nzax","nza","nzap","nzuox","nzuo","nzox","nzop","nzex","nze","nzux","nzu"],mT[163]=["nzup","nzurx","nzur","nzyt","nzyx","nzy","nzyp","nzyrx","nzyr","sit","six","si","sip","siex","sie","siep","sat","sax","sa","sap","suox","suo","suop","sot","sox","so","sop","sex","se","sep","sut","sux","su","sup","surx","sur","syt","syx","sy","syp","syrx","syr","ssit","ssix","ssi","ssip","ssiex","ssie","ssiep","ssat","ssax","ssa","ssap","ssot","ssox","sso","ssop","ssex","sse","ssep","ssut","ssux","ssu","ssup","ssyt","ssyx","ssy","ssyp","ssyrx","ssyr","zhat","zhax","zha","zhap","zhuox","zhuo","zhuop","zhot","zhox","zho","zhop","zhet","zhex","zhe","zhep","zhut","zhux","zhu","zhup","zhurx","zhur","zhyt","zhyx","zhy","zhyp","zhyrx","zhyr","chat","chax","cha","chap","chuot","chuox","chuo","chuop","chot","chox","cho","chop","chet","chex","che","chep","chux","chu","chup","churx","chur","chyt","chyx","chy","chyp","chyrx","chyr","rrax","rra","rruox","rruo","rrot","rrox","rro","rrop","rret","rrex","rre","rrep","rrut","rrux","rru","rrup","rrurx","rrur","rryt","rryx","rry","rryp","rryrx","rryr","nrat","nrax","nra","nrap","nrox","nro","nrop","nret","nrex","nre","nrep","nrut","nrux","nru","nrup","nrurx","nrur","nryt","nryx","nry","nryp","nryrx","nryr","shat","shax","sha","shap","shuox","shuo","shuop","shot","shox","sho","shop","shet","shex","she","shep","shut","shux","shu","shup","shurx","shur","shyt","shyx","shy","shyp","shyrx","shyr","rat","rax","ra","rap","ruox","ruo","ruop","rot","rox","ro","rop","rex","re","rep","rut","rux","ru","rup","rurx","rur","ryt","ryx","ry","ryp","ryrx","ryr","jit","jix","ji","jip","jiet","jiex","jie","jiep","juot","juox","juo","juop","jot","jox","jo","jop","jut","jux","ju","jup","jurx","jur","jyt","jyx","jy","jyp","jyrx","jyr","qit","qix","qi","qip"],mT[164]=["qiet","qiex","qie","qiep","quot","quox","quo","quop","qot","qox","qo","qop","qut","qux","qu","qup","qurx","qur","qyt","qyx","qy","qyp","qyrx","qyr","jjit","jjix","jji","jjip","jjiet","jjiex","jjie","jjiep","jjuox","jjuo","jjuop","jjot","jjox","jjo","jjop","jjut","jjux","jju","jjup","jjurx","jjur","jjyt","jjyx","jjy","jjyp","njit","njix","nji","njip","njiet","njiex","njie","njiep","njuox","njuo","njot","njox","njo","njop","njux","nju","njup","njurx","njur","njyt","njyx","njy","njyp","njyrx","njyr","nyit","nyix","nyi","nyip","nyiet","nyiex","nyie","nyiep","nyuox","nyuo","nyuop","nyot","nyox","nyo","nyop","nyut","nyux","nyu","nyup","xit","xix","xi","xip","xiet","xiex","xie","xiep","xuox","xuo","xot","xox","xo","xop","xyt","xyx","xy","xyp","xyrx","xyr","yit","yix","yi","yip","yiet","yiex","yie","yiep","yuot","yuox","yuo","yuop","yot","yox","yo","yop","yut","yux","yu","yup","yurx","yur","yyt","yyx","yy","yyp","yyrx","yyr",null,null,null,"Qot","Li","Kit","Nyip","Cyp","Ssi","Ggop","Gep","Mi","Hxit","Lyr","Bbut","Mop","Yo","Put","Hxuo","Tat","Ga",null,null,"Ddur","Bur","Gguo","Nyop","Tu","Op","Jjut","Zot","Pyt","Hmo","Yit","Vur","Shy","Vep","Za","Jo",null,"Jjy","Got","Jjie","Wo","Du","Shur","Lie","Cy","Cuop","Cip","Hxop","Shat",null,"Shop","Che","Zziet",null,"Ke"],mT[167]=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"A","a","A","a","HENG","heng","TZ","tz","3","3","4","4","4","4","F","S","AA","aa","AO","ao","AU","au","AV","av","AV-","av-","AY","ay","C","c","K","k","K","k","K","k","L","l","L","l","O","o","O","o","OO","oo","P","p","P","p","P","p","Q","q","Q","q","R","r","R","r","V","v","VY","vy","Z","z","TH","th","TH","th","Y","y","ET","et","IS","is","CON","con","US","us","dum","lum","num","rum","RUM","tum","um","D","d","F","f","G","G","g","L","l","R","r","S","s","T","t","^",":","=","'","'","H","l",".","N","n","C","c","c","h","B","b","F","f","AE","ae","OE","oe","UE","ue","G","g","K","k","N","n","R","r","S","s","H","E","G","L","I","Q","K","T","J","CHI","B","b","O","o","U","u",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"I","H","oe","M","F","P","M","I","M1"],mT[249]=["Kay","Kayng","Ke","Ko","Kol","Koc","Kwi","Kwi","Kyun","Kul","Kum","Na","Na","Na","La","Na","Na","Na","Na","Na","Nak","Nak","Nak","Nak","Nak","Nak","Nak","Nan","Nan","Nan","Nan","Nan","Nan","Nam","Nam","Nam","Nam","Nap","Nap","Nap","Nang","Nang","Nang","Nang","Nang","Nay","Nayng","No","No","No","No","No","No","No","No","No","No","No","No","Nok","Nok","Nok","Nok","Nok","Nok","Non","Nong","Nong","Nong","Nong","Noy","Noy","Noy","Noy","Nwu","Nwu","Nwu","Nwu","Nwu","Nwu","Nwu","Nwu","Nuk","Nuk","Num","Nung","Nung","Nung","Nung","Nung","Twu","La","Lak","Lak","Lan","Lyeng","Lo","Lyul","Li","Pey","Pen","Pyen","Pwu","Pwul","Pi","Sak","Sak","Sam","Sayk","Sayng","Sep","Sey","Sway","Sin","Sim","Sip","Ya","Yak","Yak","Yang","Yang","Yang","Yang","Yang","Yang","Yang","Yang","Ye","Ye","Ye","Ye","Ye","Ye","Ye","Ye","Ye","Ye","Ye","Yek","Yek","Yek","Yek","Yen","Yen","Yen","Yen","Yen","Yen","Yen","Yen","Yen","Yen","Yen","Yen","Yen","Yen","Yel","Yel","Yel","Yel","Yel","Yel","Yem","Yem","Yem","Yem","Yem","Yep","Yeng","Yeng","Yeng","Yeng","Yeng","Yeng","Yeng","Yeng","Yeng","Yeng","Yeng","Yeng","Yeng","Yey","Yey","Yey","Yey","O","Yo","Yo","Yo","Yo","Yo","Yo","Yo","Yo","Yo","Yo","Yong","Wun","Wen","Yu","Yu","Yu","Yu","Yu","Yu","Yu","Yu","Yu","Yu","Yuk","Yuk","Yuk","Yun","Yun","Yun","Yun","Yul","Yul","Yul","Yul","Yung","I","I","I","I","I","I","I","I","I","I","I","I","I","I","Ik","Ik","In","In","In","In","In","In","In","Im","Im","Im","Ip","Ip","Ip","Cang","Cek","Ci","Cip","Cha","Chek"],mT[250]=["Chey","Thak","Thak","Thang","Thayk","Thong","Pho","Phok","Hang","Hang","Hyen","Hwak","Wu","Huo",null,null,"Zhong",null,"Qing",null,null,"Xi","Zhu","Yi","Li","Shen","Xiang","Fu","Jing","Jing","Yu",null,"Hagi",null,"Zhu",null,null,"Yi","Du",null,null,null,"Fan","Si","Guan"],mT[251]=["ff","fi","fl","ffi","ffl","st","st",null,null,null,null,null,null,null,null,null,null,null,null,"mn","me","mi","vn","mkh",null,null,null,null,null,"yi",null,"ay","`",null,"d","h","k","l","m","m","t","+","sh","s","sh","s","a","a",null,"b","g","d","h","v","z",null,"t","y","k","k","l",null,"l",null,"n","n",null,"p","p",null,"ts","ts","r","sh","t","vo","b","k","p","l"],mT[254]=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"~",null,null,null,null,null,null,null,null,null,null,null,null,"..","--","-","_","_","(",") ","{","} ","[","] ","[(",")] ","<<",">> ","<","> ","[","] ","{","}",null,null,null,null,null,null,null,null,null,null,null,",",",",".",null,";",":","?","!","-","(",")","{","}","{","}","#","&","*","+","-","<",">","=",null,"\\","$","%","@"],mT[255]=[null,"!",'"',"#","$","%","&","'","(",")","*","+",",","-",".","/","0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","?","@","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","[","\\","]","^","_","`","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","{","|","}","~",null,null,".","[","]",",","*","wo","a","i","u","e","o","ya","yu","yo","tu","+","a","i","u","e","o","ka","ki","ku","ke","ko","sa","si","su","se","so","ta","ti","tu","te","to","na","ni","nu","ne","no","ha","hi","hu","he","ho","ma","mi","mu","me","mo","ya","yu","yo","ra","ri","ru","re","ro","wa","n",":",";",null,"g","gg","gs","n","nj","nh","d","dd","r","lg","lm","lb","ls","lt","lp","rh","m","b","bb","bs","s","ss",null,"j","jj","c","k","t","p","h",null,null,null,"a","ae","ya","yae","eo","e",null,null,"yeo","ye","o","wa","wae","oe",null,null,"yo","u","weo","we","wi","yu",null,null,"eu","yi","i",null,null,null,"/C","PS","!","-","|","Y=","W=",null,"|","-","|","-","|","#","O",null,null,null,null,null,null,null,null,null,null,"{","|","}"];var mx={};for(let e=0;e<mT.length;e++){let i=mT[e];if(i)for(let n=0;n<i.length;n++){let t=i[n];t&&(mx[String.fromCharCode((e<<8)+n)]=t)}}for(let e=44032;e<=55203;e++){let i=e-44032;mx[String.fromCharCode(e)]=mb[i/588|0]+mC[i%588/28|0]+mw[i%28]}var mL=/[-[\]/{}()*+?.\\^$|]/g,mE=/[\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u3005\u3007\u3021-\u3029\u3038-\u303B\u3400-\u4DBF\u4E00-\u9FFC\uF900-\uFA6D\uFA70-\uFAD9]|\uD81B[\uDFF0\uDFF1]|[\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A]/,m_=/[\s!-#%-*,-/:;?@[-\]_{}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDEAD\uDF55-\uDF59]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDFFF]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A\uDFE2]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]/;function bundle_esm_min_H(e){return(e||"").replace(mL,"\\$&")}function Iu(e){return m_.test(e)}function bundle_esm_min_Y(e){if(Array.isArray(e))return e.map(e=>bundle_esm_min_Y(e));if(e instanceof Date)return new Date(e.valueOf());if(e instanceof RegExp)return new RegExp(e.source,e.flags);if(null!==e&&"object"==typeof e){let i={};for(let n in e)Object.hasOwn(e,n)&&(i[n]=bundle_esm_min_Y(e[n]));return i}return e}function vu(e,i){let n,t=[];for(let n of i){let i=e.indexOf(n);for(;i>-1;)t.push([i,i+n.length-1]),i=e.indexOf(n,i+1)}let a=t.sort((e,i)=>e[0]-i[0]||e[1]-i[1]);for(let e of(t=[],a))!n||e[0]>n[1]+1?(n=e,t.push(n)):e[1]>n[1]&&(n[1]=e[1]);return t}function ii(e,i){return e<i[0]?-1:1*!!(e>i[1])}function bundle_esm_min_s(e,i){if(0===i.length)return!1;let n=0,t=i.length-1;for(;n<=t;){let a=n+t>>>1,r=ii(e,i[a]);if(0===r)return!0;-1===r?t=a-1:n=a+1}return!1}function bundle_esm_min_Q(e,i,n,t=[]){let a=t.length?RegExp(t.map(bundle_esm_min_H).join("|"),"g"):null,r=RegExp(i.source,`${i.flags.replace("g","")}g`),o="",u=0;for(;;){let i=r.exec(e),t="",s=0;if(i){for(;;){let e=a?.exec(i[0]);if(e&&a)t+=e.index>s?n:"",t+=e[0],s=a.lastIndex;else{t+=i[0].length>s?n:"";break}}o+=e.substring(u,i.index)+t,u=r.lastIndex}else{o+=e.substring(u,e.length);break}}return o}var mY=/[\uD800-\uDBFF]/,mD=/[\uDC00-\uDFFF]/,mv=/[^\s\S]/,mA={ignore:[],replace:[],replaceAfter:[],trim:!1,unknown:"",fixChineseSpacing:!0},mN=class{get options(){return bundle_esm_min_Y({...mA,...this.confOptions})}constructor(e=bundle_esm_min_Y(mA),i=mx){this.confOptions=e,this.map=i}config(e,i=!1){return i&&(this.confOptions={}),e&&"object"==typeof e&&(this.confOptions=bundle_esm_min_Y(e)),this.confOptions}codeMapReplace(e,i,n=[]){let t=0,a="",r=i.fixChineseSpacing&&mE.test(e),o=!1;for(let u=0;u<e.length;u++){let s=mY.test(e[u])&&mD.test(e[u+1])?e[u]+e[u+1]:e[u],l,h=!1;bundle_esm_min_s(t,n)||2===s.length&&bundle_esm_min_s(t+1,n)?(l=s,n.find(e=>e[1]>=t&&e[0]===t)||(h=!0)):l=this.map[s]||i.unknown||"",r&&(!o||h||Iu(l)||(l=` ${l}`),o=!!l&&mE.test(s)),a+=l,t+=s.length,u+=s.length-1}return a}formatReplaceOption(e){if(Array.isArray(e))return bundle_esm_min_Y(e);let i=[];for(let n in e)Object.hasOwn(e,n)&&i.push([n,e[n]]);return i}replaceString(e,i,n=[]){let t=bundle_esm_min_Y(i),a=e;for(let e of t){switch(!0){case e[0]instanceof RegExp:e[0]=RegExp(e[0].source,`${e[0].flags.replace("g","")}g`);break;case"string"==typeof e[0]&&e[0].length>0:e[0]=RegExp(bundle_esm_min_H(e[0]),"g");break;default:e[0]=mv}a=bundle_esm_min_Q(a,e[0],e[1],n)}return a}setData(e,i=!1){if(i&&(this.map=bundle_esm_min_Y(mx)),e&&"object"==typeof e&&Object.keys(e).length)for(let i in this.map=bundle_esm_min_Y(this.map),e)Object.hasOwn(e,i)&&i.length<3&&i<="\uDBFF\uDFFF"&&(this.map[i]=e[i]);return this.map}transliterate(e,i){let n=bundle_esm_min_Y({...this.options,..."object"==typeof i?i:{}}),t="string"==typeof e?e:String(e),a=this.formatReplaceOption(n.replace);a.length&&(t=this.replaceString(t,a,n.ignore));let r=n.ignore&&n.ignore.length>0?vu(t,n.ignore):[];t=this.codeMapReplace(t,n,r),n.trim&&(t=t.trim());let o=this.formatReplaceOption(n.replaceAfter);return o.length&&(t=this.replaceString(t,o)),t}},mP={...bundle_esm_min_Y(mA),allowedChars:"a-zA-Z0-9-_.~",lowercase:!0,separator:"-",uppercase:!1,fixChineseSpacing:!0},mZ=class extends mN{get options(){return bundle_esm_min_Y({...mP,...this.confOptions})}config(e,i=!1){return i&&(this.confOptions={}),e&&"object"==typeof e&&(this.confOptions=bundle_esm_min_Y(e)),this.confOptions}slugify(e,i){let n=bundle_esm_min_Y({...this.options,..."object"==typeof i?i:{}}),t=n.separator?bundle_esm_min_H(n.separator):"",a=this.transliterate(e,n);return a=bundle_esm_min_Q(a,RegExp(`[^${n.allowedChars}]+`,"g"),n.separator??"-",n.ignore??[]),t&&(a=(a=a.replace(RegExp(`${t}+`,"g"),n.separator)).replace(RegExp(`^${t}+|${t}+$`,"g"),"")),n.lowercase&&(a=a.toLowerCase()),n.uppercase&&(a=a.toUpperCase()),a}},mR=new mN,mM=mR.transliterate.bind(mR);mM.config=mR.config.bind(mR),mM.setData=mR.setData.bind(mR);var mJ=new mZ,mk=mJ.slugify.bind(mJ);mk.config=mJ.config.bind(mJ),mk.setData=mJ.setData.bind(mJ);class mB{static DEFAULT_REGION="cn-beijing";static DEFAULT_MAX_KEYS=1e3;static DEFAULT_PRESIGNED_EXPIRE_TIME=86400;static DEFAULT_UPLOAD_TIMEOUT=3e4}let mH=/^[A-Za-z0-9._\-/]+$/,mF=!1,mX={baseUrl:"",apiKey:""};function loadReportEnv(){if(mF)return mX;let e=process.env.COZE_INTEGRATION_BASE_URL||"",i=process.env.COZE_WORKLOAD_IDENTITY_API_KEY||"";if(e&&i)return mF=!0,mX={baseUrl:e,apiKey:i};try{if(E("./node_modules/dotenv/lib/main.js").config(),e=process.env.COZE_INTEGRATION_BASE_URL||"",i=process.env.COZE_WORKLOAD_IDENTITY_API_KEY||"",e&&i)return mF=!0,mX={baseUrl:e,apiKey:i}}catch{}try{let n=`
|
|
83
83
|
import sys
|
|
84
84
|
try:
|
|
85
85
|
from coze_workload_identity import Client
|
|
@@ -91,4 +91,4 @@ try:
|
|
|
91
91
|
print(f"{env_var.key}={env_var.value}")
|
|
92
92
|
except Exception as e:
|
|
93
93
|
print(f"# Error: {e}", file=sys.stderr)
|
|
94
|
-
`;for(let t of M(`python3 -c '${n.replace(/'/g,"'\"'\"'")}'`,{encoding:"utf-8",timeout:1e4,stdio:["pipe","pipe","pipe"]}).trim().split("\n")){if(t.startsWith("#"))continue;let n=t.indexOf("=");if(n>0){let a=t.substring(0,n),r=t.substring(n+1);(r.startsWith("'")&&r.endsWith("'")||r.startsWith('"')&&r.endsWith('"'))&&(r=r.slice(1,-1)),"COZE_INTEGRATION_BASE_URL"===a?e=r:"COZE_WORKLOAD_IDENTITY_API_KEY"===a&&(i=r)}}}catch{}return mB=!0,mH={baseUrl:e,apiKey:i}}class mF{baseUrl;apiKey;configured;constructor(){try{let e=loadReportEnv();if(this.baseUrl=e.baseUrl,this.apiKey=e.apiKey,this.configured=!!(this.baseUrl&&this.apiKey),!this.configured){let e=[];this.baseUrl||e.push("COZE_INTEGRATION_BASE_URL"),this.apiKey||e.push("COZE_WORKLOAD_IDENTITY_API_KEY"),console.error(`[report] ReportClient not configured: ${e.join(", ")} is missing`)}}catch(e){this.baseUrl="",this.apiKey="",this.configured=!1,console.error("[report] ReportClient config failed:",e)}}async batchReport(e){if(!e.length)return;if(!this.configured)return void console.error(`[report] batchReport skipped: ReportClient is not configured. Set COZE_INTEGRATION_BASE_URL and COZE_WORKLOAD_IDENTITY_API_KEY environment variables. Dropping ${e.length} entries.`);let i=`${this.baseUrl}/v1/memory_report/batch_report`,n=await fetch(i,{method:"POST",headers:{"Content-Type":"application/json","x-coze-token":this.apiKey},body:JSON.stringify({entries:e}),signal:AbortSignal.timeout(1e4)});if(!n.ok)throw Error(`batchReport failed: ${n.status} ${n.statusText}`)}}class mX{buffer=[];timer=null;projectId;env;client;destroyed=!1;flushing=!1;pendingFlush=!1;onExitHandler;constructor(e){this.client=e,this.projectId=process.env.COZELOOP_WORKSPACE_ID||null,this.env=process.env.COZE_PROJECT_ENV||null,this.timer=setInterval(()=>this.flush(),6e4),this.timer.unref&&this.timer.unref(),this.onExitHandler=()=>{this.destroy()},process.on("beforeExit",()=>this.destroy()),process.on("SIGTERM",this.onExitHandler),process.on("SIGINT",this.onExitHandler)}add(e){if(!this.destroyed)try{this.buffer.length>=6e4&&this.buffer.shift(),e.project_id=this.projectId,e.env=this.env,this.buffer.push(e),this.buffer.length>=100&&this.flush().catch(()=>{})}catch(e){console.error("[report] buffer.add failed:",e)}}async flush(){if(this.flushing){this.pendingFlush=!0;return}if(!this.buffer.length)return;this.flushing=!0;let e=0;try{for(;;){let i=this.buffer.splice(0,100);if(!i.length)break;try{await this.client.batchReport(i),e=0}catch(t){if(e++,this.buffer.unshift(...i),this.buffer.length>6e4&&(this.buffer.length=6e4),e>=3){console.error(`[report] flush failed ${e} times, giving up until next cycle:`,t);break}let n=1e3*2**(e-1);console.error(`[report] flush failed (attempt ${e}/3), retrying in ${n}ms:`,t),await new Promise(e=>setTimeout(e,n));continue}if(!this.pendingFlush&&this.buffer.length<100)break;this.pendingFlush=!1}}finally{this.flushing=!1,this.pendingFlush=!1}}destroy(){this.destroyed||(this.destroyed=!0,this.timer&&(clearInterval(this.timer),this.timer=null),process.removeListener("SIGTERM",this.onExitHandler),process.removeListener("SIGINT",this.onExitHandler),this.flush().catch(()=>{}))}}let mI=null;function getReportBuffer(){if(mI)return mI;try{let e=new mF;return mI=new mX(e)}catch(e){return console.error("[report] failed to create singleton buffer:",e),null}}let mO=/((?:apikey|api_key|access_key|secret_key|access_token|token|secret|password|authorization|credential|X-Amz-Signature|X-Amz-Credential|X-Amz-Security-Token)=)[^&]*/gi;function truncate(e,i=1024){return null==e?null:e.length<=i?e:e.substring(0,i)+"...[truncated]"}function redactUrl(e){return e.replace(mO,"$1***")}function createWrappedFetch(e,i="supabase"){return async(n,t)=>{let a=Date.now();try{let r=await fetch(n,t);return safeRecordLog(e,i,n,t,r,null,a),r}catch(r){throw safeRecordLog(e,i,n,t,null,r,a),r}}}function safeRecordLog(e,i,n,t,a,r,o){try{let u=Date.now()-o,s="string"==typeof n?n:n instanceof URL?n.toString():n.url||"",l=t?.method||(n instanceof Request?n.method:"GET"),h=a?.status??null,g=null;if(t?.body)try{g=truncate("string"==typeof t.body?t.body:JSON.stringify(t.body))}catch{g=null}let c={source:i,project_id:null,env:null,method:l.toUpperCase(),url:redactUrl(s),request_body:g,response_body:null,status_code:h,error:r?.message??null,duration_ms:u,timestamp:o,success:null!==h&&h>=200&&h<300};if(a){let i=a.clone().body?.getReader();i?i.read().then(({value:n})=>{if(n){let e=new TextDecoder().decode(n.slice(0,2048));c.response_body=truncate(e)}i.cancel().catch(()=>{}),e.add(c)}).catch(()=>{e.add(c)}):e.add(c)}else e.add(c)}catch(e){console.error("[report] safeRecordLog error:",e)}}function createS3ReportMiddleware(e){return e?{middleware:(i,n)=>async n=>{let t=Date.now(),{request:a}=n;try{let r=await i(n);return safeRecordS3Log(e,a,r,null,t),r}catch(i){throw safeRecordS3Log(e,a,null,i,t),i}},options:{step:"deserialize",name:"reportLogger",override:!0}}:null}function safeRecordS3Log(e,i,n,t,a){try{let r=Date.now()-a,o=i?.method||"UNKNOWN",u=i?.hostname?`${i.protocol||"https:"}//${i.hostname}${i.path||""}`:"",s=n?.response?.statusCode??null,l=null;if(i?.body)try{let e=i.body;"string"==typeof e?l=truncate(e):Buffer.isBuffer(e)&&(l=truncate(`[Binary ${e.length} bytes]`))}catch{l=null}let h={source:"s3",project_id:null,env:null,method:o.toUpperCase(),url:redactUrl(u),request_body:l,response_body:null,status_code:s,error:t?.message??null,duration_ms:r,timestamp:a,success:null!==s&&s>=200&&s<300};if(n?.output)try{let{Body:e,...i}=n.output;Object.keys(i).length>0&&(h.response_body=truncate(JSON.stringify(i)))}catch{}e.add(h)}catch{}}function getStorageToken(){return process.env.COZE_WORKLOAD_IDENTITY_API_KEY||null}class mQ{endpointUrl;accessKey;secretKey;bucketName;region;client=null;constructor(e={}){this.endpointUrl=process.env.COZE_BUCKET_ENDPOINT_URL||e.endpointUrl||"",this.accessKey=e.accessKey||"",this.secretKey=e.secretKey||"",this.bucketName=process.env.COZE_BUCKET_NAME||e.bucketName||"",this.region=e.region||mJ.DEFAULT_REGION}getClient(){if(!this.client){if(!this.endpointUrl)throw Error("Storage endpoint not configured: Set COZE_BUCKET_ENDPOINT_URL");this.client=new fQ({endpoint:this.endpointUrl,region:this.region,credentials:{accessKeyId:this.accessKey,secretAccessKey:this.secretKey},forcePathStyle:!0}),this.client.middlewareStack.add(e=>async i=>{let n=getStorageToken();return n&&i.request?.headers&&(i.request.headers["x-storage-token"]=n),e(i)},{step:"build",name:"injectStorageToken"}),this.installReportMiddleware(this.client)}return this.client}installReportMiddleware(e){try{let i=getReportBuffer(),n=createS3ReportMiddleware(i);n&&e.middlewareStack.add(n.middleware,n.options)}catch{}}generateObjectKey(e){let i=n1.default.extname(e).toLowerCase(),n=n1.default.basename(e,i),t=(0,aa.randomUUID)().replace(/-/g,"").slice(0,8);return n1.default.join(n1.default.dirname(e),`${n}_${t}${i}`)}resolveBucket(e){let i=e||process.env.COZE_BUCKET_NAME||this.bucketName;if(!i)throw Error("Bucket not configured: Provide bucket or set COZE_BUCKET_NAME");return i}sanitizeFileName(e){if(!e||!e.trim())return"file";let i=e.split("/").filter(e=>e.trim()).map(e=>{let i=e.lastIndexOf("."),n=i>0,t=n?e.slice(i):"",a=mZ(n?e.slice(0,i):e);return((a=a.replace(/\s+/g,"_").replace(/[^A-Za-z0-9._-]/g,"_").replace(/_{2,}/g,"_").replace(/^[._-]+|[._-]+$/g,""))||"file")+t.replace(/[^A-Za-z0-9._-]/g,"")}).join("/");return Buffer.byteLength(i,"utf-8")>1024&&(i=i.slice(0,1e3)),i}async uploadFile(e){let{fileContent:i,fileName:n,contentType:t="application/octet-stream",bucket:a}=e,r=this.sanitizeFileName(n),o=this.getClient(),u=this.generateObjectKey(r),s=this.resolveBucket(a);return await o.send(new f9({Bucket:s,Key:u,Body:i,ContentType:t})),u}async readFile(e){let{fileKey:i,bucket:n}=e,t=this.getClient(),a=this.resolveBucket(n),r=await t.send(new mi({Bucket:a,Key:i}));if(!r.Body)throw Error("S3 GetObject returned no Body");let o=[];for await(let e of r.Body)o.push(Buffer.from(e));return Buffer.concat(o)}async deleteFile(e){let{fileKey:i,bucket:n}=e,t=this.getClient(),a=this.resolveBucket(n);return await t.send(new mn({Bucket:a,Key:i})),!0}async fileExists(e){let{fileKey:i,bucket:n}=e,t=this.getClient(),a=this.resolveBucket(n);try{return await t.send(new mt({Bucket:a,Key:i})),!0}catch(e){if("NotFound"===e.name||e.$metadata?.httpStatusCode===404)return!1;return console.error("Error checking file existence:",e),!1}}async listFiles(e={}){let{prefix:i,bucket:n,maxKeys:t=mJ.DEFAULT_MAX_KEYS,continuationToken:a}=e;if(t<=0||t>1e3)throw Error("maxKeys must be between 1 and 1000");let r=this.getClient(),o=this.resolveBucket(n),u=await r.send(new ma({Bucket:o,MaxKeys:t,Prefix:i,ContinuationToken:a}));return{keys:(u.Contents||[]).filter(e=>e.Key).map(e=>e.Key),isTruncated:u.IsTruncated||!1,nextContinuationToken:u.NextContinuationToken}}async generatePresignedUrl(e){let{key:i,bucket:n,expireTime:t=mJ.DEFAULT_PRESIGNED_EXPIRE_TIME}=e,a=getStorageToken();if(!a)throw Error("Failed to get x-storage-token: Set COZE_WORKLOAD_IDENTITY_API_KEY");let r=process.env.COZE_BUCKET_ENDPOINT_URL||this.endpointUrl;if(!r)throw Error("Sign endpoint not configured: Set COZE_BUCKET_ENDPOINT_URL");let o=r.replace(/\/$/,"")+"/sign-url",u=this.resolveBucket(n),s=await fetch(o,{method:"POST",headers:{"Content-Type":"application/json","x-storage-token":a},body:JSON.stringify({bucket_name:u,path:i,expire_time:t})});if(!s.ok)throw Error(`Failed to generate presigned URL: ${s.status}`);let l=await s.text();if((s.headers.get("content-type")||"").includes("application/json")||l.trim().startsWith("{"))try{let e=JSON.parse(l);if(e.data?.url)return e.data.url;if(e.url||e.signed_url||e.presigned_url)return e.url||e.signed_url||e.presigned_url;throw Error("Sign service response missing url field")}catch{}return l}async streamUploadFile(e){let{stream:i,fileName:n,contentType:t="application/octet-stream",bucket:a}=e,r=this.sanitizeFileName(n),o=this.getClient(),u=this.generateObjectKey(r),s=new mp({client:o,params:{Bucket:this.resolveBucket(a),Key:u,Body:i,ContentType:t}});return await s.done(),u}async uploadFromUrl(e){let{url:i,bucket:n,timeout:t=mJ.DEFAULT_UPLOAD_TIMEOUT}=e,a=new AbortController,r=setTimeout(()=>a.abort(),t);try{let e=await fetch(i,{signal:a.signal});if(!e.ok)throw Error(`Failed to fetch URL: ${e.status}`);let t=new URL(i),r=n1.default.basename(decodeURIComponent(t.pathname))||"file",o=e.headers.get("content-type")||"application/octet-stream",u=Buffer.from(await e.arrayBuffer());return this.uploadFile({fileContent:u,fileName:r,contentType:o,bucket:n})}finally{clearTimeout(r)}}async chunkUploadFile(e){let{chunks:i,fileName:n,contentType:t="application/octet-stream",bucket:a}=e,r=this.sanitizeFileName(n),o=this.getClient(),u=this.generateObjectKey(r),s=new mp({client:o,params:{Bucket:this.resolveBucket(a),Key:u,Body:au.Readable.from(i),ContentType:t}});return await s.done(),u}}let mU={defaultModel:"doubao-embedding-vision-251215",defaultEncodingFormat:"float",maxBatchSize:100};class mG extends eE{model;constructor(e,i,n=!1){super(e,i,n),this.model=mU.defaultModel}validateInputs(e,i,n){let t=e&&e.length>0,a=i&&i.length>0,r=n&&n.length>0;if(!t&&!a&&!r)throw new eL("At least one of texts, imageUrls, or videoUrls must be provided");let o=(e?.length||0)+(i?.length||0)+(n?.length||0);if(o>mU.maxBatchSize)throw new eL(`Total inputs (${o}) exceed maximum batch size of ${mU.maxBatchSize}`)}buildInputItems(e,i,n){let t=[];if(e)for(let i of e)i&&i.trim()&&t.push({type:"text",text:i});if(i)for(let e of i)e&&e.trim()&&t.push({type:"image_url",image_url:{url:e}});if(n)for(let e of n)e&&e.trim()&&t.push({type:"video_url",video_url:{url:e}});return t}async embed(e,i,n,t){this.validateInputs(e,i,n);let a=this.buildInputItems(e,i,n);if(0===a.length)throw new eL("No valid input provided");let r={model:t?.model||this.model,input:a};t?.dimensions!==void 0&&(r.dimensions=t.dimensions),t?.encodingFormat&&(r.encoding_format=t.encodingFormat),t?.instructions&&(r.instructions=t.instructions),t?.multiEmbedding&&(r.multi_embedding={type:"enabled"}),t?.sparseEmbedding&&(r.sparse_embedding={type:"enabled"});let o=await this.request("POST",`${this.config.baseUrl}/api/v3/embeddings/multimodal`,r);if(o.error)throw new eT(o.error.message||"Unknown error",void 0,o.error);return o}async embedText(e,i){let n=await this.embed([e],void 0,void 0,i);if(n.data?.embedding)return n.data.embedding;throw new eT("No embedding returned")}async embedTexts(e,i){let n=await this.embed(e,void 0,void 0,i);if(n.data?.embedding)return n.data.embedding;throw new eT("No embedding returned")}async embedImage(e,i){let n=await this.embed(void 0,[e],void 0,i);if(n.data?.embedding)return n.data.embedding;throw new eT("No embedding returned")}async embedImages(e,i){let n=await this.embed(void 0,e,void 0,i);if(n.data?.embedding)return n.data.embedding;throw new eT("No embedding returned")}async embedVideo(e,i){let n=await this.embed(void 0,void 0,[e],i);if(n.data?.embedding)return n.data.embedding;throw new eT("No embedding returned")}async embedVideos(e,i){let n=await this.embed(void 0,void 0,e,i);if(n.data?.embedding)return n.data.embedding;throw new eT("No embedding returned")}async embedMultimodal(e,i,n,t){return this.embed(e,i,n,t)}async embedWithMultiVectors(e,i,n,t){let a=await this.embed(e,i,n,{...t,multiEmbedding:!0});return a.data?.multi_embedding}async embedWithSparse(e,i,n,t){let a=await this.embed(e,i,n,{...t,sparseEmbedding:!0});return a.data?.sparse_embedding}async batchEmbed(e,i,n=5){let t=[],a=[...e];for(;a.length>0;){let e=a.splice(0,n).map(e=>this.embed(e,void 0,void 0,i)),r=await Promise.all(e);t.push(...r)}return t}}function convertContentItem(e){let i;return e.image&&(i={image_url:e.image.image_url,display_url:e.image.display_url,width:e.image.width,height:e.image.height,thumbnail_display_url:e.image.thumbnail_display_url}),{type:e.type||"text",text:e.text,url:e.url,image:i}}function convertDisplayInfo(e){return{no_display:e.no_display,no_display_reason:e.no_display_reason}}class mq extends eE{constructor(e,i,n=!1){super(e,i,n)}async fetch(e){let i,{validateUrl:n}=await Promise.resolve().then(()=>({validateUrl:url_utils_validateUrl}));e=await n(e);let t=await this.request("POST",`${this.config.baseUrl}/api/v1/integration/fetch_tool`,{url:e});if(t.code&&0!==t.code)throw new eT(`Fetch failed: ${t.message||"Unknown error"}`,t.code,t.message);let a=t.data||t,r=[];if(a.content)for(let e of a.content)r.push(convertContentItem(e));return a.display_info&&(i=convertDisplayInfo(a.display_info)),{fetch_id:a.fetch_id,status_code:a.status_code,status_message:a.status_message,url:a.url,doc_id:a.doc_id,title:a.title,publish_time:a.publish_time,filetype:a.filetype,content:r,display_info:i}}}class m${config;axiosInstance;constructor(e,i){this.config=e,this.axiosInstance=_.create({timeout:this.config.timeout,headers:{Authorization:`Bearer ${this.config.apiKey}`,"Content-Type":"application/json","X-Client-Sdk":"coze-coding-dev-sdk-typescript/0.3.0","x-coze-token":this.config.apiKey,...i}})}async request(e,i,n){return(await this.axiosInstance.request({method:e,url:i,data:n})).data}async listFunctions(){let e=await this.request("POST",`${this.config.baseUrl}/v1/supabase/functions/list`,{});return{functions:(e.functions||[]).map(e=>({id:e.id||"",slug:e.slug||"",name:e.name||"",status:e.status||"",version:e.version||0,verify_jwt:e.verify_jwt||!1,entrypoint_path:e.entrypoint_path,created_at:e.created_at,updated_at:e.updated_at})),code:e.code||0,msg:e.msg||""}}async getFunction(e){let i,n=await this.request("POST",`${this.config.baseUrl}/v1/supabase/functions/get`,{slug:e});if(n.function){let e=n.function;i={id:e.id||"",slug:e.slug||"",name:e.name||"",status:e.status||"",version:e.version||0,verify_jwt:e.verify_jwt||!1,entrypoint_path:e.entrypoint_path,created_at:e.created_at,updated_at:e.updated_at}}return{function:i,files:(n.files||[]).map(e=>({name:e.name||"",content:e.content||""})),code:n.code||0,msg:n.msg||""}}async deployFunction(e,i){let n={slug:e};i?.code!==void 0&&(n.code=i.code),i?.files!==void 0&&(n.files=i.files),i?.name!==void 0&&(n.name=i.name),i?.entrypoint!==void 0&&(n.entrypoint=i.entrypoint),i?.verify_jwt!==void 0&&(n.verify_jwt=i.verify_jwt);let t=await this.request("POST",`${this.config.baseUrl}/v1/supabase/functions/deploy`,n);return{success:t.success||!1,slug:t.slug,version:t.version,code:t.code||0,msg:t.msg||""}}async deleteFunction(e){let i=await this.request("POST",`${this.config.baseUrl}/v1/supabase/functions/delete`,{slug:e});return{success:i.success||!1,code:i.code||0,msg:i.msg||""}}async listBuckets(){let e=await this.request("POST",`${this.config.baseUrl}/v1/supabase/buckets/list`,{});return{buckets:(e.buckets||[]).map(e=>({id:e.id||"",name:e.name||"",public:e.public||!1,owner:e.owner,file_size_limit:e.file_size_limit,allowed_mime_types:e.allowed_mime_types,created_at:e.created_at,updated_at:e.updated_at})),code:e.code||0,msg:e.msg||""}}async getBucket(e){let i,n=await this.request("POST",`${this.config.baseUrl}/v1/supabase/buckets/get`,{bucket_id:e});if(n.bucket){let e=n.bucket;i={id:e.id||"",name:e.name||"",public:e.public||!1,owner:e.owner,file_size_limit:e.file_size_limit,allowed_mime_types:e.allowed_mime_types,created_at:e.created_at,updated_at:e.updated_at}}return{bucket:i,code:n.code||0,msg:n.msg||""}}async createBucket(e,i){let n={bucket_id:e};i?.name!==void 0&&(n.name=i.name),i?.public!==void 0&&(n.public=i.public),i?.file_size_limit!==void 0&&(n.file_size_limit=i.file_size_limit),i?.allowed_mime_types!==void 0&&(n.allowed_mime_types=i.allowed_mime_types);let t=await this.request("POST",`${this.config.baseUrl}/v1/supabase/buckets/create`,n);return{success:t.success||!1,bucket_id:t.bucket_id,code:t.code||0,msg:t.msg||""}}async updateBucket(e,i){let n={bucket_id:e};i?.public!==void 0&&(n.public=i.public),i?.file_size_limit!==void 0&&(n.file_size_limit=i.file_size_limit),i?.allowed_mime_types!==void 0&&(n.allowed_mime_types=i.allowed_mime_types);let t=await this.request("POST",`${this.config.baseUrl}/v1/supabase/buckets/update`,n);return{success:t.success||!1,code:t.code||0,msg:t.msg||""}}async deleteBucket(e){let i=await this.request("POST",`${this.config.baseUrl}/v1/supabase/buckets/delete`,{bucket_id:e});return{success:i.success||!1,code:i.code||0,msg:i.msg||""}}async getAuthConfig(){let e,i=await this.request("POST",`${this.config.baseUrl}/v1/supabase/auth/config/get`,{});if(i.config){let n=i.config;e={external_email_enabled:n.external_email_enabled,disable_signup:n.disable_signup,mailer_auto_confirm:n.mailer_auto_confirm,double_confirm_changes:n.double_confirm_changes,mailer_secure_email_change_enabled:n.mailer_secure_email_change_enabled,mailer_otp_exp:n.mailer_otp_exp,password_min_length:n.password_min_length,password_required_characters:n.password_required_characters,site_url:n.site_url,smtp_host:n.smtp_host,smtp_port:n.smtp_port,smtp_user:n.smtp_user,smtp_pass:n.smtp_pass,smtp_admin_email:n.smtp_admin_email,smtp_sender_name:n.smtp_sender_name,smtp_max_frequency:n.smtp_max_frequency}}return{config:e,code:i.code||0,msg:i.msg||""}}async updateAuthConfig(e){let i=await this.request("POST",`${this.config.baseUrl}/v1/supabase/auth/config/update`,{config:e});return{success:i.success||!1,code:i.code||0,msg:i.msg||""}}async getAuthConfigV2(){let e,i=await this.request("POST",`${this.config.baseUrl}/v2/supabase/auth/config/get`,{}),n=i.code||0,t=i.msg||"",a=i.Status||0,r=i.Config;if(r){let i,n,t=r.EmailConfig;t&&(i={external_email_enabled:t.external_email_enabled,disable_signup:t.disable_signup,mailer_auto_confirm:t.mailer_auto_confirm,double_confirm_changes:t.double_confirm_changes,mailer_secure_email_change_enabled:t.mailer_secure_email_change_enabled,mailer_otp_exp:t.mailer_otp_exp,password_min_length:t.password_min_length,password_required_characters:t.password_required_characters,site_url:t.site_url,smtp_host:t.smtp_host,smtp_port:t.smtp_port,smtp_user:t.smtp_user,smtp_pass:t.smtp_pass,smtp_admin_email:t.smtp_admin_email,smtp_sender_name:t.smtp_sender_name,smtp_max_frequency:t.smtp_max_frequency});let a=r.PhoneConfig;a&&(n={external_phone_enabled:a.external_phone_enabled}),e={project_id:r.ProjectID||0,icon_uri:r.IconURI||"",icon_url:r.IconURL||"",name:r.Name||"",email_config:i,phone_config:n}}return{status:a,config:e,code:n,msg:t}}async updateAuthConfigV2(e){let i=await this.request("POST",`${this.config.baseUrl}/v2/supabase/auth/config/update`,e);return{should_update_ui:i.should_update_ui||!1,success:i.success||!1,code:i.code||0,msg:i.msg||""}}async diagnoseDatabase(e){let i,n={};void 0!==e&&(n.env=e);let t=await this.request("POST",`${this.config.baseUrl}/v1/supabase/database/diagnose`,n);if(t.report){let e=t.report;i={database_type:e.database_type??0,pg_metrics:e.pg_metrics||{},supabase_metrics:e.supabase_metrics}}return{report:i,code:t.code||0,msg:t.msg||""}}}var mK=eb.ContentPart,mz=em.CozeConfig,mW=eS.EmbedOptions,mj=eS.EmbeddingConfig,mV=eS.EmbeddingData,m0=eS.EmbeddingInputImageURL,m1=eS.EmbeddingInputItem,m3=eS.EmbeddingInputVideoURL,m2=eS.EmbeddingRequest,m4=eS.EmbeddingResponse,m8=eS.EmbeddingUsage,m6=ey.ForwardHeaderKey,m5=eb.LLMConfig,m7=eb.LLMResponse,m9=eb.Message,ye=eS.MultiEmbeddingConfig,yi=eS.PromptTokensDetails,yn=eS.SparseEmbeddingConfig,yt=eS.SparseEmbeddingItem;export{eT as APIError,eB as ASRClient,p$ as AwsSdkSigV4Signer,eE as BaseClient,ag as Client,eC as Config,ew as ConfigurationError,mK as ContentPart,mz as CozeConfig,tQ as CredentialsProviderError,mU as DEFAULT_EMBEDDING_CONFIG,t0 as DEFAULT_RETRY_MODE,nz as DatabaseConfig,tk as DefaultIdentityProviderConfig,mW as EmbedOptions,mG as EmbeddingClient,mj as EmbeddingConfig,mV as EmbeddingData,m0 as EmbeddingInputImageURL,m1 as EmbeddingInputItem,m3 as EmbeddingInputVideoURL,m2 as EmbeddingRequest,m4 as EmbeddingResponse,m8 as EmbeddingUsage,aI as EndpointCache,mk as FILE_NAME_ALLOWED_RE,e_ as FORWARD_HEADER_KEYS,mq as FetchClient,m6 as ForwardHeaderKey,eI as FrameExtractorClient,pM as Hash,eY as HeaderUtils,p3 as HttpBindingProtocol,fC as HttpInterceptingShapeDeserializer,fo as HttpInterceptingShapeSerializer,p1 as HttpProtocol,n4 as HttpRequest,eP as ImageConfig,eR as ImageGenerationClient,eZ as ImageGenerationResponseHelper,e$ as KnowledgeClient,eU as LLMClient,m5 as LLMConfig,eQ as LLMDefaults,m7 as LLMResponse,m9 as Message,ye as MultiEmbeddingConfig,po as NODE_APP_ID_CONFIG_OPTIONS,d7 as NODE_AUTH_SCHEME_PREFERENCE_OPTIONS,ai as NODE_MAX_ATTEMPT_CONFIG_OPTIONS,ps as NODE_REGION_CONFIG_FILE_OPTIONS,pu as NODE_REGION_CONFIG_OPTIONS,an as NODE_RETRY_MODE_CONFIG_OPTIONS,pl as NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS,ph as NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS,ex as NetworkError,at as NoOpLogger,pF as NodeHttpHandler,uX as NormalizedSchema,fS as NumericValue,yi as PromptTokensDetails,fw as ProtocolLib,tO as ProviderError,f9 as PutObjectCommand,mX as ReportBuffer,mF as ReportClient,mJ as S3Config,mQ as S3Storage,eM as SearchClient,fT as SerdeContextConfig,uq as ServiceException,yn as SparseEmbeddingConfig,yt as SparseEmbeddingItem,m$ as SupabaseClient,ek as TTSClient,eJ as TTSConfig,uG as TypeRegistry,eN as URLValidationError,fk as UnionSerde,mp as Upload,eL as ValidationError,eH as VideoConfig,eO as VideoEditClient,eX as VideoEditConfig,eF as VideoGenerationClient,fB as XmlShapeDeserializer,tD as awsEndpointFunctions,_ as axios,buildASRApiRequest,buildImageGenerationApiRequest,buildTTSApiRequest,calculateBodyLength,chain_chain,closePool,collect_stream_body_collectBody,uO as command_Command,convertContentItem,convertDisplayInfo,convertFromApiFormat,convertToApiFormat,createDefaultUserAgentProvider,createS3ReportMiddleware,createWrappedFetch,tL as customEndpointFunctions,dateToUtcString,deref,deserializingStructIterator,determineTimestampFormat,dist_es_parseUrl,dist_es_toUtf8_toUtf8,emitWarningIfUnsupportedVersion,emitWarningIfUnsupportedVersion_emitWarningIfUnsupportedVersion,R as exec,extendedEncodeURIComponent,H as external_http_request,tW as fileIntercept,fromBase64,fromEnv_fromEnv,fromUtf8_fromUtf8,generateModels,getAwsRegionExtensionConfiguration,getClient,getConfigFilepath,getContentLengthPlugin,getDb,getDbUrl,getDefaultExtensionConfiguration,getEndpointPlugin,getHomeDir,getHostHeaderPlugin,getHttpAuthSchemeEndpointRuleSetPlugin,getHttpHandlerExtensionConfiguration,getHttpSigningPlugin,getLoggerPlugin,getPool,getProfileName,getRecursionDetectionPlugin,getReportBuffer,getRetryPlugin,getSchemaSerdePlugin,getSmithyContext,getUserAgentPlugin,lazy_json_LazyJsonString,loadConfig,loadConfigsForDefaultMode,loadEnv,loadSharedConfigFiles,eG as DataSourceType,normalizeProvider,D as parse,parseEpochTimestamp,parseIni,parseRfc3339DateTime,parseRfc3339DateTimeWithOffset,parseRfc7231DateTime,es as profile_IniSectionType,readFile,redactUrl,resolveAwsRegionExtensionConfiguration,resolveAwsSdkSigV4Config,resolveDefaultRuntimeConfig,resolveDefaultsModeConfig,resolveEndpoint,resolveEndpointConfig,resolveHostHeaderConfig,resolveHttpHandlerRuntimeConfig,resolveRegionConfig,resolveRetryConfig,resolveUserAgentConfig,sdk_stream_mixin_sdkStreamMixin,serializingStructIterator,setCredentialFeature,streamCollector,toBase64,truncate,upgrade,url_utils_validateUrl as validateUrl,v4,validateImageSize,validateImageSizeOrDefault,validateUrlSync};
|
|
94
|
+
`;for(let t of M(`python3 -c '${n.replace(/'/g,"'\"'\"'")}'`,{encoding:"utf-8",timeout:1e4,stdio:["pipe","pipe","pipe"]}).trim().split("\n")){if(t.startsWith("#"))continue;let n=t.indexOf("=");if(n>0){let a=t.substring(0,n),r=t.substring(n+1);(r.startsWith("'")&&r.endsWith("'")||r.startsWith('"')&&r.endsWith('"'))&&(r=r.slice(1,-1)),"COZE_INTEGRATION_BASE_URL"===a?e=r:"COZE_WORKLOAD_IDENTITY_API_KEY"===a&&(i=r)}}}catch{}return mF=!0,mX={baseUrl:e,apiKey:i}}class mI{baseUrl;apiKey;configured;constructor(){try{let e=loadReportEnv();if(this.baseUrl=e.baseUrl,this.apiKey=e.apiKey,this.configured=!!(this.baseUrl&&this.apiKey),!this.configured){let e=[];this.baseUrl||e.push("COZE_INTEGRATION_BASE_URL"),this.apiKey||e.push("COZE_WORKLOAD_IDENTITY_API_KEY"),console.error(`[report] ReportClient not configured: ${e.join(", ")} is missing`)}}catch(e){this.baseUrl="",this.apiKey="",this.configured=!1,console.error("[report] ReportClient config failed:",e)}}async batchReport(e){if(!e.length)return;if(!this.configured)return void console.error(`[report] batchReport skipped: ReportClient is not configured. Set COZE_INTEGRATION_BASE_URL and COZE_WORKLOAD_IDENTITY_API_KEY environment variables. Dropping ${e.length} entries.`);let i=`${this.baseUrl}/v1/memory_report/batch_report`,n=await fetch(i,{method:"POST",headers:{"Content-Type":"application/json","x-coze-token":this.apiKey},body:JSON.stringify({entries:e}),signal:AbortSignal.timeout(1e4)});if(!n.ok)throw Error(`batchReport failed: ${n.status} ${n.statusText}`)}}class mO{buffer=[];timer=null;projectId;env;client;destroyed=!1;flushing=!1;pendingFlush=!1;onExitHandler;constructor(e){this.client=e,this.projectId=process.env.COZELOOP_WORKSPACE_ID||null,this.env=process.env.COZE_PROJECT_ENV||null,this.timer=setInterval(()=>this.flush(),6e4),this.timer.unref&&this.timer.unref(),this.onExitHandler=()=>{this.destroy()},process.on("beforeExit",()=>this.destroy()),process.on("SIGTERM",this.onExitHandler),process.on("SIGINT",this.onExitHandler)}add(e){if(!this.destroyed)try{this.buffer.length>=6e4&&this.buffer.shift(),e.project_id=this.projectId,e.env=this.env,this.buffer.push(e),this.buffer.length>=100&&this.flush().catch(()=>{})}catch(e){console.error("[report] buffer.add failed:",e)}}async flush(){if(this.flushing){this.pendingFlush=!0;return}if(!this.buffer.length)return;this.flushing=!0;let e=0;try{for(;;){let i=this.buffer.splice(0,100);if(!i.length)break;try{await this.client.batchReport(i),e=0}catch(t){if(e++,this.buffer.unshift(...i),this.buffer.length>6e4&&(this.buffer.length=6e4),e>=3){console.error(`[report] flush failed ${e} times, giving up until next cycle:`,t);break}let n=1e3*2**(e-1);console.error(`[report] flush failed (attempt ${e}/3), retrying in ${n}ms:`,t),await new Promise(e=>setTimeout(e,n));continue}if(!this.pendingFlush&&this.buffer.length<100)break;this.pendingFlush=!1}}finally{this.flushing=!1,this.pendingFlush=!1}}destroy(){this.destroyed||(this.destroyed=!0,this.timer&&(clearInterval(this.timer),this.timer=null),process.removeListener("SIGTERM",this.onExitHandler),process.removeListener("SIGINT",this.onExitHandler),this.flush().catch(()=>{}))}}let mQ=null;function getReportBuffer(){if(mQ)return mQ;try{let e=new mI;return mQ=new mO(e)}catch(e){return console.error("[report] failed to create singleton buffer:",e),null}}let mU=/((?:apikey|api_key|access_key|secret_key|access_token|token|secret|password|authorization|credential|X-Amz-Signature|X-Amz-Credential|X-Amz-Security-Token)=)[^&]*/gi;function truncate(e,i=1024){return null==e?null:e.length<=i?e:e.substring(0,i)+"...[truncated]"}function redactUrl(e){return e.replace(mU,"$1***")}function createWrappedFetch(e,i="supabase"){return async(n,t)=>{let a=Date.now();try{let r=await fetch(n,t);return safeRecordLog(e,i,n,t,r,null,a),r}catch(r){throw safeRecordLog(e,i,n,t,null,r,a),r}}}function safeRecordLog(e,i,n,t,a,r,o){try{let u=Date.now()-o,s="string"==typeof n?n:n instanceof URL?n.toString():n.url||"",l=t?.method||(n instanceof Request?n.method:"GET"),h=a?.status??null,g=null;if(t?.body)try{g=truncate("string"==typeof t.body?t.body:JSON.stringify(t.body))}catch{g=null}let c={source:i,project_id:null,env:null,method:l.toUpperCase(),url:redactUrl(s),request_body:g,response_body:null,status_code:h,error:r?.message??null,duration_ms:u,timestamp:o,success:null!==h&&h>=200&&h<300};if(a){let i=a.clone().body?.getReader();i?i.read().then(({value:n})=>{if(n){let e=new TextDecoder().decode(n.slice(0,2048));c.response_body=truncate(e)}i.cancel().catch(()=>{}),e.add(c)}).catch(()=>{e.add(c)}):e.add(c)}else e.add(c)}catch(e){console.error("[report] safeRecordLog error:",e)}}function createS3ReportMiddleware(e){return e?{middleware:(i,n)=>async n=>{let t=Date.now(),{request:a}=n;try{let r=await i(n);return safeRecordS3Log(e,a,r,null,t),r}catch(i){throw safeRecordS3Log(e,a,null,i,t),i}},options:{step:"deserialize",name:"reportLogger",override:!0}}:null}function safeRecordS3Log(e,i,n,t,a){try{let r=Date.now()-a,o=i?.method||"UNKNOWN",u=i?.hostname?`${i.protocol||"https:"}//${i.hostname}${i.path||""}`:"",s=n?.response?.statusCode??null,l=null;if(i?.body)try{let e=i.body;"string"==typeof e?l=truncate(e):Buffer.isBuffer(e)&&(l=truncate(`[Binary ${e.length} bytes]`))}catch{l=null}let h={source:"s3",project_id:null,env:null,method:o.toUpperCase(),url:redactUrl(u),request_body:l,response_body:null,status_code:s,error:t?.message??null,duration_ms:r,timestamp:a,success:null!==s&&s>=200&&s<300};if(n?.output)try{let{Body:e,...i}=n.output;Object.keys(i).length>0&&(h.response_body=truncate(JSON.stringify(i)))}catch{}e.add(h)}catch{}}function getStorageToken(){return process.env.COZE_WORKLOAD_IDENTITY_API_KEY||null}class mG{endpointUrl;accessKey;secretKey;bucketName;region;client=null;constructor(e={}){this.endpointUrl=process.env.COZE_BUCKET_ENDPOINT_URL||e.endpointUrl||"",this.accessKey=e.accessKey||"",this.secretKey=e.secretKey||"",this.bucketName=process.env.COZE_BUCKET_NAME||e.bucketName||"",this.region=e.region||mB.DEFAULT_REGION}getClient(){if(!this.client){if(!this.endpointUrl)throw Error("Storage endpoint not configured: Set COZE_BUCKET_ENDPOINT_URL");this.client=new fG({endpoint:this.endpointUrl,region:this.region,credentials:{accessKeyId:this.accessKey,secretAccessKey:this.secretKey},forcePathStyle:!0}),this.client.middlewareStack.add(e=>async i=>{let n=getStorageToken();return n&&i.request?.headers&&(i.request.headers["x-storage-token"]=n),e(i)},{step:"build",name:"injectStorageToken"}),this.installReportMiddleware(this.client)}return this.client}installReportMiddleware(e){try{let i=getReportBuffer(),n=createS3ReportMiddleware(i);n&&e.middlewareStack.add(n.middleware,n.options)}catch{}}generateObjectKey(e){let i=n2.default.extname(e).toLowerCase(),n=n2.default.basename(e,i),t=(0,ao.randomUUID)().replace(/-/g,"").slice(0,8);return n2.default.join(n2.default.dirname(e),`${n}_${t}${i}`)}resolveBucket(e){let i=e||process.env.COZE_BUCKET_NAME||this.bucketName;if(!i)throw Error("Bucket not configured: Provide bucket or set COZE_BUCKET_NAME");return i}sanitizeFileName(e){if(!e||!e.trim())return"file";let i=e.split("/").filter(e=>e.trim()).map(e=>{let i=e.lastIndexOf("."),n=i>0,t=n?e.slice(i):"",a=mM(n?e.slice(0,i):e);return((a=a.replace(/\s+/g,"_").replace(/[^A-Za-z0-9._-]/g,"_").replace(/_{2,}/g,"_").replace(/^[._-]+|[._-]+$/g,""))||"file")+t.replace(/[^A-Za-z0-9._-]/g,"")}).join("/");return Buffer.byteLength(i,"utf-8")>1024&&(i=i.slice(0,1e3)),i}async uploadFile(e){let{fileContent:i,fileName:n,contentType:t="application/octet-stream",bucket:a}=e,r=this.sanitizeFileName(n),o=this.getClient(),u=this.generateObjectKey(r),s=this.resolveBucket(a);return await o.send(new mi({Bucket:s,Key:u,Body:i,ContentType:t})),u}async readFile(e){let{fileKey:i,bucket:n}=e,t=this.getClient(),a=this.resolveBucket(n),r=await t.send(new mt({Bucket:a,Key:i}));if(!r.Body)throw Error("S3 GetObject returned no Body");let o=[];for await(let e of r.Body)o.push(Buffer.from(e));return Buffer.concat(o)}async deleteFile(e){let{fileKey:i,bucket:n}=e,t=this.getClient(),a=this.resolveBucket(n);return await t.send(new ma({Bucket:a,Key:i})),!0}async fileExists(e){let{fileKey:i,bucket:n}=e,t=this.getClient(),a=this.resolveBucket(n);try{return await t.send(new mr({Bucket:a,Key:i})),!0}catch(e){if("NotFound"===e.name||e.$metadata?.httpStatusCode===404)return!1;return console.error("Error checking file existence:",e),!1}}async listFiles(e={}){let{prefix:i,bucket:n,maxKeys:t=mB.DEFAULT_MAX_KEYS,continuationToken:a}=e;if(t<=0||t>1e3)throw Error("maxKeys must be between 1 and 1000");let r=this.getClient(),o=this.resolveBucket(n),u=await r.send(new mo({Bucket:o,MaxKeys:t,Prefix:i,ContinuationToken:a}));return{keys:(u.Contents||[]).filter(e=>e.Key).map(e=>e.Key),isTruncated:u.IsTruncated||!1,nextContinuationToken:u.NextContinuationToken}}async generatePresignedUrl(e){let{key:i,bucket:n,expireTime:t=mB.DEFAULT_PRESIGNED_EXPIRE_TIME}=e,a=getStorageToken();if(!a)throw Error("Failed to get x-storage-token: Set COZE_WORKLOAD_IDENTITY_API_KEY");let r=process.env.COZE_BUCKET_ENDPOINT_URL||this.endpointUrl;if(!r)throw Error("Sign endpoint not configured: Set COZE_BUCKET_ENDPOINT_URL");let o=r.replace(/\/$/,"")+"/sign-url",u=this.resolveBucket(n),s=await fetch(o,{method:"POST",headers:{"Content-Type":"application/json","x-storage-token":a},body:JSON.stringify({bucket_name:u,path:i,expire_time:t})});if(!s.ok)throw Error(`Failed to generate presigned URL: ${s.status}`);let l=await s.text();if((s.headers.get("content-type")||"").includes("application/json")||l.trim().startsWith("{"))try{let e=JSON.parse(l);if(e.data?.url)return e.data.url;if(e.url||e.signed_url||e.presigned_url)return e.url||e.signed_url||e.presigned_url;throw Error("Sign service response missing url field")}catch{}return l}async streamUploadFile(e){let{stream:i,fileName:n,contentType:t="application/octet-stream",bucket:a}=e,r=this.sanitizeFileName(n),o=this.getClient(),u=this.generateObjectKey(r),s=new mm({client:o,params:{Bucket:this.resolveBucket(a),Key:u,Body:i,ContentType:t}});return await s.done(),u}async uploadFromUrl(e){let{url:i,bucket:n,timeout:t=mB.DEFAULT_UPLOAD_TIMEOUT}=e,a=new AbortController,r=setTimeout(()=>a.abort(),t);try{let e=await fetch(i,{signal:a.signal});if(!e.ok)throw Error(`Failed to fetch URL: ${e.status}`);let t=new URL(i),r=n2.default.basename(decodeURIComponent(t.pathname))||"file",o=e.headers.get("content-type")||"application/octet-stream",u=Buffer.from(await e.arrayBuffer());return this.uploadFile({fileContent:u,fileName:r,contentType:o,bucket:n})}finally{clearTimeout(r)}}async chunkUploadFile(e){let{chunks:i,fileName:n,contentType:t="application/octet-stream",bucket:a}=e,r=this.sanitizeFileName(n),o=this.getClient(),u=this.generateObjectKey(r),s=new mm({client:o,params:{Bucket:this.resolveBucket(a),Key:u,Body:al.Readable.from(i),ContentType:t}});return await s.done(),u}}let mq={defaultModel:"doubao-embedding-vision-251215",defaultEncodingFormat:"float",maxBatchSize:100};class m$ extends eE{model;constructor(e,i,n=!1){super(e,i,n),this.model=mq.defaultModel}validateInputs(e,i,n){let t=e&&e.length>0,a=i&&i.length>0,r=n&&n.length>0;if(!t&&!a&&!r)throw new eL("At least one of texts, imageUrls, or videoUrls must be provided");let o=(e?.length||0)+(i?.length||0)+(n?.length||0);if(o>mq.maxBatchSize)throw new eL(`Total inputs (${o}) exceed maximum batch size of ${mq.maxBatchSize}`)}buildInputItems(e,i,n){let t=[];if(e)for(let i of e)i&&i.trim()&&t.push({type:"text",text:i});if(i)for(let e of i)e&&e.trim()&&t.push({type:"image_url",image_url:{url:e}});if(n)for(let e of n)e&&e.trim()&&t.push({type:"video_url",video_url:{url:e}});return t}async embed(e,i,n,t){this.validateInputs(e,i,n);let a=this.buildInputItems(e,i,n);if(0===a.length)throw new eL("No valid input provided");let r={model:t?.model||this.model,input:a};t?.dimensions!==void 0&&(r.dimensions=t.dimensions),t?.encodingFormat&&(r.encoding_format=t.encodingFormat),t?.instructions&&(r.instructions=t.instructions),t?.multiEmbedding&&(r.multi_embedding={type:"enabled"}),t?.sparseEmbedding&&(r.sparse_embedding={type:"enabled"});let o=await this.request("POST",`${this.config.baseUrl}/api/v3/embeddings/multimodal`,r);if(o.error)throw new eT(o.error.message||"Unknown error",void 0,o.error);return o}async embedText(e,i){let n=await this.embed([e],void 0,void 0,i);if(n.data?.embedding)return n.data.embedding;throw new eT("No embedding returned")}async embedTexts(e,i){let n=await this.embed(e,void 0,void 0,i);if(n.data?.embedding)return n.data.embedding;throw new eT("No embedding returned")}async embedImage(e,i){let n=await this.embed(void 0,[e],void 0,i);if(n.data?.embedding)return n.data.embedding;throw new eT("No embedding returned")}async embedImages(e,i){let n=await this.embed(void 0,e,void 0,i);if(n.data?.embedding)return n.data.embedding;throw new eT("No embedding returned")}async embedVideo(e,i){let n=await this.embed(void 0,void 0,[e],i);if(n.data?.embedding)return n.data.embedding;throw new eT("No embedding returned")}async embedVideos(e,i){let n=await this.embed(void 0,void 0,e,i);if(n.data?.embedding)return n.data.embedding;throw new eT("No embedding returned")}async embedMultimodal(e,i,n,t){return this.embed(e,i,n,t)}async embedWithMultiVectors(e,i,n,t){let a=await this.embed(e,i,n,{...t,multiEmbedding:!0});return a.data?.multi_embedding}async embedWithSparse(e,i,n,t){let a=await this.embed(e,i,n,{...t,sparseEmbedding:!0});return a.data?.sparse_embedding}async batchEmbed(e,i,n=5){let t=[],a=[...e];for(;a.length>0;){let e=a.splice(0,n).map(e=>this.embed(e,void 0,void 0,i)),r=await Promise.all(e);t.push(...r)}return t}}function convertContentItem(e){let i;return e.image&&(i={image_url:e.image.image_url,display_url:e.image.display_url,width:e.image.width,height:e.image.height,thumbnail_display_url:e.image.thumbnail_display_url}),{type:e.type||"text",text:e.text,url:e.url,image:i}}function convertDisplayInfo(e){return{no_display:e.no_display,no_display_reason:e.no_display_reason}}class mK extends eE{constructor(e,i,n=!1){super(e,i,n)}async fetch(e){let i,{validateUrl:n}=await Promise.resolve().then(()=>({validateUrl:url_utils_validateUrl}));e=await n(e);let t=await this.request("POST",`${this.config.baseUrl}/api/v1/integration/fetch_tool`,{url:e});if(t.code&&0!==t.code)throw new eT(`Fetch failed: ${t.message||"Unknown error"}`,t.code,t.message);let a=t.data||t,r=[];if(a.content)for(let e of a.content)r.push(convertContentItem(e));return a.display_info&&(i=convertDisplayInfo(a.display_info)),{fetch_id:a.fetch_id,status_code:a.status_code,status_message:a.status_message,url:a.url,doc_id:a.doc_id,title:a.title,publish_time:a.publish_time,filetype:a.filetype,content:r,display_info:i}}}class mz{config;axiosInstance;constructor(e,i){this.config=e,this.axiosInstance=_.create({timeout:this.config.timeout,headers:{Authorization:`Bearer ${this.config.apiKey}`,"Content-Type":"application/json","X-Client-Sdk":"coze-coding-dev-sdk-typescript/0.3.0","x-coze-token":this.config.apiKey,...i}})}async request(e,i,n){return(await this.axiosInstance.request({method:e,url:i,data:n})).data}async listFunctions(){let e=await this.request("POST",`${this.config.baseUrl}/v1/supabase/functions/list`,{});return{functions:(e.functions||[]).map(e=>({id:e.id||"",slug:e.slug||"",name:e.name||"",status:e.status||"",version:e.version||0,verify_jwt:e.verify_jwt||!1,entrypoint_path:e.entrypoint_path,created_at:e.created_at,updated_at:e.updated_at})),code:e.code||0,msg:e.msg||""}}async getFunction(e){let i,n=await this.request("POST",`${this.config.baseUrl}/v1/supabase/functions/get`,{slug:e});if(n.function){let e=n.function;i={id:e.id||"",slug:e.slug||"",name:e.name||"",status:e.status||"",version:e.version||0,verify_jwt:e.verify_jwt||!1,entrypoint_path:e.entrypoint_path,created_at:e.created_at,updated_at:e.updated_at}}return{function:i,files:(n.files||[]).map(e=>({name:e.name||"",content:e.content||""})),code:n.code||0,msg:n.msg||""}}async deployFunction(e,i){let n={slug:e};i?.code!==void 0&&(n.code=i.code),i?.files!==void 0&&(n.files=i.files),i?.name!==void 0&&(n.name=i.name),i?.entrypoint!==void 0&&(n.entrypoint=i.entrypoint),i?.verify_jwt!==void 0&&(n.verify_jwt=i.verify_jwt);let t=await this.request("POST",`${this.config.baseUrl}/v1/supabase/functions/deploy`,n);return{success:t.success||!1,slug:t.slug,version:t.version,code:t.code||0,msg:t.msg||""}}async deleteFunction(e){let i=await this.request("POST",`${this.config.baseUrl}/v1/supabase/functions/delete`,{slug:e});return{success:i.success||!1,code:i.code||0,msg:i.msg||""}}async listBuckets(){let e=await this.request("POST",`${this.config.baseUrl}/v1/supabase/buckets/list`,{});return{buckets:(e.buckets||[]).map(e=>({id:e.id||"",name:e.name||"",public:e.public||!1,owner:e.owner,file_size_limit:e.file_size_limit,allowed_mime_types:e.allowed_mime_types,created_at:e.created_at,updated_at:e.updated_at})),code:e.code||0,msg:e.msg||""}}async getBucket(e){let i,n=await this.request("POST",`${this.config.baseUrl}/v1/supabase/buckets/get`,{bucket_id:e});if(n.bucket){let e=n.bucket;i={id:e.id||"",name:e.name||"",public:e.public||!1,owner:e.owner,file_size_limit:e.file_size_limit,allowed_mime_types:e.allowed_mime_types,created_at:e.created_at,updated_at:e.updated_at}}return{bucket:i,code:n.code||0,msg:n.msg||""}}async createBucket(e,i){let n={bucket_id:e};i?.name!==void 0&&(n.name=i.name),i?.public!==void 0&&(n.public=i.public),i?.file_size_limit!==void 0&&(n.file_size_limit=i.file_size_limit),i?.allowed_mime_types!==void 0&&(n.allowed_mime_types=i.allowed_mime_types);let t=await this.request("POST",`${this.config.baseUrl}/v1/supabase/buckets/create`,n);return{success:t.success||!1,bucket_id:t.bucket_id,code:t.code||0,msg:t.msg||""}}async updateBucket(e,i){let n={bucket_id:e};i?.public!==void 0&&(n.public=i.public),i?.file_size_limit!==void 0&&(n.file_size_limit=i.file_size_limit),i?.allowed_mime_types!==void 0&&(n.allowed_mime_types=i.allowed_mime_types);let t=await this.request("POST",`${this.config.baseUrl}/v1/supabase/buckets/update`,n);return{success:t.success||!1,code:t.code||0,msg:t.msg||""}}async deleteBucket(e){let i=await this.request("POST",`${this.config.baseUrl}/v1/supabase/buckets/delete`,{bucket_id:e});return{success:i.success||!1,code:i.code||0,msg:i.msg||""}}async getAuthConfig(){let e,i=await this.request("POST",`${this.config.baseUrl}/v1/supabase/auth/config/get`,{});if(i.config){let n=i.config;e={external_email_enabled:n.external_email_enabled,disable_signup:n.disable_signup,mailer_auto_confirm:n.mailer_auto_confirm,double_confirm_changes:n.double_confirm_changes,mailer_secure_email_change_enabled:n.mailer_secure_email_change_enabled,mailer_otp_exp:n.mailer_otp_exp,password_min_length:n.password_min_length,password_required_characters:n.password_required_characters,site_url:n.site_url,smtp_host:n.smtp_host,smtp_port:n.smtp_port,smtp_user:n.smtp_user,smtp_pass:n.smtp_pass,smtp_admin_email:n.smtp_admin_email,smtp_sender_name:n.smtp_sender_name,smtp_max_frequency:n.smtp_max_frequency}}return{config:e,code:i.code||0,msg:i.msg||""}}async updateAuthConfig(e){let i=await this.request("POST",`${this.config.baseUrl}/v1/supabase/auth/config/update`,{config:e});return{success:i.success||!1,code:i.code||0,msg:i.msg||""}}async getAuthConfigV2(){let e,i=await this.request("POST",`${this.config.baseUrl}/v2/supabase/auth/config/get`,{}),n=i.code||0,t=i.msg||"",a=i.Status||0,r=i.Config;if(r){let i,n,t=r.EmailConfig;t&&(i={external_email_enabled:t.external_email_enabled,disable_signup:t.disable_signup,mailer_auto_confirm:t.mailer_auto_confirm,double_confirm_changes:t.double_confirm_changes,mailer_secure_email_change_enabled:t.mailer_secure_email_change_enabled,mailer_otp_exp:t.mailer_otp_exp,password_min_length:t.password_min_length,password_required_characters:t.password_required_characters,site_url:t.site_url,smtp_host:t.smtp_host,smtp_port:t.smtp_port,smtp_user:t.smtp_user,smtp_pass:t.smtp_pass,smtp_admin_email:t.smtp_admin_email,smtp_sender_name:t.smtp_sender_name,smtp_max_frequency:t.smtp_max_frequency});let a=r.PhoneConfig;a&&(n={external_phone_enabled:a.external_phone_enabled}),e={project_id:r.ProjectID||0,icon_uri:r.IconURI||"",icon_url:r.IconURL||"",name:r.Name||"",email_config:i,phone_config:n}}return{status:a,config:e,code:n,msg:t}}async updateAuthConfigV2(e){let i=await this.request("POST",`${this.config.baseUrl}/v2/supabase/auth/config/update`,e);return{should_update_ui:i.should_update_ui||!1,success:i.success||!1,code:i.code||0,msg:i.msg||""}}async diagnoseDatabase(e){let i,n={};void 0!==e&&(n.env=e);let t=await this.request("POST",`${this.config.baseUrl}/v1/supabase/database/diagnose`,n);if(t.report){let e=t.report;i={database_type:e.database_type??0,pg_metrics:e.pg_metrics||{},supabase_metrics:e.supabase_metrics}}return{report:i,code:t.code||0,msg:t.msg||""}}}var mW=eb.ContentPart,mj=em.CozeConfig,mV=eS.EmbedOptions,m0=eS.EmbeddingConfig,m1=eS.EmbeddingData,m3=eS.EmbeddingInputImageURL,m2=eS.EmbeddingInputItem,m4=eS.EmbeddingInputVideoURL,m8=eS.EmbeddingRequest,m6=eS.EmbeddingResponse,m5=eS.EmbeddingUsage,m7=ey.ForwardHeaderKey,m9=eb.LLMConfig,ye=eb.LLMResponse,yi=eb.Message,yn=eS.MultiEmbeddingConfig,yt=eS.PromptTokensDetails,ya=eS.SparseEmbeddingConfig,yr=eS.SparseEmbeddingItem;export{eT as APIError,eF as ASRClient,pz as AwsSdkSigV4Signer,eE as BaseClient,ad as Client,eC as Config,ew as ConfigurationError,mW as ContentPart,mj as CozeConfig,tG as CredentialsProviderError,mq as DEFAULT_EMBEDDING_CONFIG,t3 as DEFAULT_RETRY_MODE,nj as DatabaseConfig,tH as DefaultIdentityProviderConfig,mV as EmbedOptions,m$ as EmbeddingClient,m0 as EmbeddingConfig,m1 as EmbeddingData,m3 as EmbeddingInputImageURL,m2 as EmbeddingInputItem,m4 as EmbeddingInputVideoURL,m8 as EmbeddingRequest,m6 as EmbeddingResponse,m5 as EmbeddingUsage,aQ as EndpointCache,mH as FILE_NAME_ALLOWED_RE,e_ as FORWARD_HEADER_KEYS,mK as FetchClient,m7 as ForwardHeaderKey,eQ as FrameExtractorClient,pk as Hash,eY as HeaderUtils,p4 as HttpBindingProtocol,fT as HttpInterceptingShapeDeserializer,fs as HttpInterceptingShapeSerializer,p2 as HttpProtocol,n6 as HttpRequest,eR as ImageConfig,eJ as ImageGenerationClient,eM as ImageGenerationResponseHelper,ez as KnowledgeClient,e$ as LLMClient,m9 as LLMConfig,eG as LLMDefaults,ye as LLMResponse,yi as Message,yn as MultiEmbeddingConfig,ps as NODE_APP_ID_CONFIG_OPTIONS,pe as NODE_AUTH_SCHEME_PREFERENCE_OPTIONS,at as NODE_MAX_ATTEMPT_CONFIG_OPTIONS,ph as NODE_REGION_CONFIG_FILE_OPTIONS,pl as NODE_REGION_CONFIG_OPTIONS,aa as NODE_RETRY_MODE_CONFIG_OPTIONS,pg as NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS,pc as NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS,ex as NetworkError,ar as NoOpLogger,pI as NodeHttpHandler,uO as NormalizedSchema,fC as NumericValue,yt as PromptTokensDetails,fx as ProtocolLib,tU as ProviderError,mi as PutObjectCommand,mO as ReportBuffer,mI as ReportClient,mB as S3Config,mG as S3Storage,ek as SearchClient,fL as SerdeContextConfig,uK as ServiceException,ya as SparseEmbeddingConfig,yr as SparseEmbeddingItem,mz as SupabaseClient,eH as TTSClient,eB as TTSConfig,u$ as TypeRegistry,eZ as URLValidationError,fH as UnionSerde,mm as Upload,eL as ValidationError,eX as VideoConfig,eU as VideoEditClient,eO as VideoEditConfig,eI as VideoGenerationClient,fF as XmlShapeDeserializer,tA as awsEndpointFunctions,_ as axios,buildASRApiRequest,buildImageGenerationApiRequest,buildTTSApiRequest,calculateBodyLength,chain_chain,closePool,collect_stream_body_collectBody,uU as command_Command,convertContentItem,convertDisplayInfo,convertFromApiFormat,convertToApiFormat,createDefaultUserAgentProvider,createS3ReportMiddleware,createWrappedFetch,t_ as customEndpointFunctions,dateToUtcString,deref,deserializingStructIterator,determineTimestampFormat,dist_es_parseUrl,dist_es_toUtf8_toUtf8,emitWarningIfUnsupportedVersion,emitWarningIfUnsupportedVersion_emitWarningIfUnsupportedVersion,R as exec,extendedEncodeURIComponent,H as external_http_request,tV as fileIntercept,fromBase64,fromEnv_fromEnv,fromUtf8_fromUtf8,generateModels,getAwsRegionExtensionConfiguration,getClient,getConfigFilepath,getContentLengthPlugin,getDb,getDbUrl,getDefaultExtensionConfiguration,getEndpointPlugin,getHomeDir,getHostHeaderPlugin,getHttpAuthSchemeEndpointRuleSetPlugin,getHttpHandlerExtensionConfiguration,getHttpSigningPlugin,getLoggerPlugin,getPool,getProfileName,getRecursionDetectionPlugin,getReportBuffer,getRetryPlugin,getSchemaSerdePlugin,getSmithyContext,getUserAgentPlugin,isBase64DataUri,lazy_json_LazyJsonString,loadConfig,loadConfigsForDefaultMode,loadEnv,loadSharedConfigFiles,eK as DataSourceType,normalizeProvider,D as parse,parseEpochTimestamp,parseIni,parseRfc3339DateTime,parseRfc3339DateTimeWithOffset,parseRfc7231DateTime,es as profile_IniSectionType,readFile,redactUrl,resolveAwsRegionExtensionConfiguration,resolveAwsSdkSigV4Config,resolveDefaultRuntimeConfig,resolveDefaultsModeConfig,resolveEndpoint,resolveEndpointConfig,resolveHostHeaderConfig,resolveHttpHandlerRuntimeConfig,resolveRegionConfig,resolveRetryConfig,resolveUserAgentConfig,sdk_stream_mixin_sdkStreamMixin,serializingStructIterator,setCredentialFeature,streamCollector,toBase64,truncate,upgrade,url_utils_validateUrl as validateUrl,v4,validateImageSize,validateImageSizeOrDefault,validateUrlSync};
|