coze-coding-dev-sdk 0.7.20 → 0.7.21

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.
Files changed (55) hide show
  1. package/dist/cjs/0~195.js +1 -1
  2. package/dist/cjs/0~216.js +1 -1
  3. package/dist/cjs/0~292.js +1 -1
  4. package/dist/cjs/0~329.js +2 -2
  5. package/dist/cjs/0~53.js +1 -1
  6. package/dist/cjs/0~560.js +2 -2
  7. package/dist/cjs/0~634.js +3 -3
  8. package/dist/cjs/0~710.js +2 -2
  9. package/dist/cjs/0~730.js +1 -1
  10. package/dist/cjs/0~769.js +1 -1
  11. package/dist/cjs/0~864.js +1 -1
  12. package/dist/cjs/0~911.js +1 -1
  13. package/dist/cjs/0~965.js +1 -1
  14. package/dist/cjs/cli/index.js +48 -37
  15. package/dist/cjs/index.js +32 -20
  16. package/dist/esm/131.mjs +38 -26
  17. package/dist/esm/1~113.mjs +1 -1
  18. package/dist/esm/1~23.mjs +1 -1
  19. package/dist/esm/1~300.mjs +1 -1
  20. package/dist/esm/1~35.mjs +3 -3
  21. package/dist/esm/1~390.mjs +2 -2
  22. package/dist/esm/1~398.mjs +2 -2
  23. package/dist/esm/1~410.mjs +1 -1
  24. package/dist/esm/1~45.mjs +1 -1
  25. package/dist/esm/1~462.mjs +1 -1
  26. package/dist/esm/1~518.mjs +1 -1
  27. package/dist/esm/1~622.mjs +1 -1
  28. package/dist/esm/1~844.mjs +1 -1
  29. package/dist/esm/1~967.mjs +1 -1
  30. package/dist/esm/cli/index.mjs +19 -20
  31. package/dist/esm/index.mjs +1 -1
  32. package/dist/esm/rslib-runtime.mjs +1 -1
  33. package/dist/types/index.d.ts +1 -0
  34. package/dist/types/index.d.ts.map +1 -1
  35. package/dist/types/report/buffer.d.ts +18 -0
  36. package/dist/types/report/buffer.d.ts.map +1 -0
  37. package/dist/types/report/client.d.ts +9 -0
  38. package/dist/types/report/client.d.ts.map +1 -0
  39. package/dist/types/report/index.d.ts +8 -0
  40. package/dist/types/report/index.d.ts.map +1 -0
  41. package/dist/types/report/interceptors/fetch-wrapper.d.ts +3 -0
  42. package/dist/types/report/interceptors/fetch-wrapper.d.ts.map +1 -0
  43. package/dist/types/report/interceptors/s3-middleware.d.ts +10 -0
  44. package/dist/types/report/interceptors/s3-middleware.d.ts.map +1 -0
  45. package/dist/types/report/models.d.ts +15 -0
  46. package/dist/types/report/models.d.ts.map +1 -0
  47. package/dist/types/report/singleton.d.ts +3 -0
  48. package/dist/types/report/singleton.d.ts.map +1 -0
  49. package/dist/types/report/utils.d.ts +3 -0
  50. package/dist/types/report/utils.d.ts.map +1 -0
  51. package/dist/types/s3/client.d.ts +1 -0
  52. package/dist/types/s3/client.d.ts.map +1 -1
  53. package/package.json +1 -1
  54. package/dist/cjs/cli/index.js.LICENSE.txt +0 -58
  55. package/dist/esm/cli/index.mjs.LICENSE.txt +0 -58
package/dist/esm/131.mjs CHANGED
@@ -1,11 +1,11 @@
1
- let e,n,i,t,a,u,o,r,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 Y from"axios";import{ChatOpenAI as D}from"@langchain/openai";import{AIMessage as v,HumanMessage as Z,SystemMessage as N}from"@langchain/core/messages";import A from"pg";import{exec as J,execSync as P}from"child_process";import{env as M,versions as R}from"process";import{Agent as _,request as B}from"http";import{Agent as X,request as H}from"https";E.add({"./node_modules/dotenv/lib/main.js"(e,n,i){let t=i("fs"),a=i("path"),u=i("os"),o=i("crypto"),r=i("./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 l(e){return"string"==typeof e?!["false","0","no","off",""].includes(e.toLowerCase()):!!e}let h=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function g(e){console.log(`[dotenv@${r}][DEBUG] ${e}`)}function c(e){console.log(`[dotenv@${r}] ${e}`)}function d(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 p(e){let n=null;if(e&&e.path&&e.path.length>0)if(Array.isArray(e.path))for(let i of e.path)t.existsSync(i)&&(n=i.endsWith(".vault")?i:`${i}.vault`);else n=e.path.endsWith(".vault")?e.path:`${e.path}.vault`;else n=a.resolve(process.cwd(),".env.vault");return t.existsSync(n)?n:null}function f(e){return"~"===e[0]?a.join(u.homedir(),e.slice(1)):e}let m={configDotenv:function(e){let n,i=a.resolve(process.cwd(),".env"),u="utf8",o=process.env;e&&null!=e.processEnv&&(o=e.processEnv);let r=l(o.DOTENV_CONFIG_DEBUG||e&&e.debug),h=l(o.DOTENV_CONFIG_QUIET||e&&e.quiet);e&&e.encoding?u=e.encoding:r&&g("No encoding is specified. UTF-8 is used by default");let d=[i];if(e&&e.path)if(Array.isArray(e.path))for(let n of(d=[],e.path))d.push(f(n));else d=[f(e.path)];let p={};for(let i of d)try{let n=m.parse(t.readFileSync(i,{encoding:u}));m.populate(p,n,e)}catch(e){r&&g(`Failed to load ${i} ${e.message}`),n=e}let y=m.populate(o,p,e);if(r=l(o.DOTENV_CONFIG_DEBUG||r),h=l(o.DOTENV_CONFIG_QUIET||h),r||!h){var S;let e=Object.keys(y).length,i=[];for(let e of d)try{let n=a.relative(process.cwd(),e);i.push(n)}catch(i){r&&g(`Failed to load ${e} ${i.message}`),n=i}c(`injecting env (${e}) from ${i.join(",")} ${(S=`-- tip: ${s[Math.floor(Math.random()*s.length)]}`,process.stdout.isTTY?`\x1b[2m${S}\x1b[0m`:S)}`)}return n?{parsed:p,error:n}:{parsed:p}},_configVault:function(e){let n=l(process.env.DOTENV_CONFIG_DEBUG||e&&e.debug),i=l(process.env.DOTENV_CONFIG_QUIET||e&&e.quiet);(n||!i)&&c("Loading env from encrypted .env.vault");let t=m._parseVault(e),a=process.env;return e&&null!=e.processEnv&&(a=e.processEnv),m.populate(a,t,e),{parsed:t}},_parseVault:function(e){let n,i=p(e=e||{});e.path=i;let t=m.configDotenv(e);if(!t.parsed){let e=Error(`MISSING_DATA: Cannot parse ${i} for an unknown reason`);throw e.code="MISSING_DATA",e}let a=d(e).split(","),u=a.length;for(let e=0;e<u;e++)try{let i=a[e].trim(),u=function(e,n){let i;try{i=new URL(n)}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=i.password;if(!t){let e=Error("INVALID_DOTENV_KEY: Missing key part");throw e.code="INVALID_DOTENV_KEY",e}let a=i.searchParams.get("environment");if(!a){let e=Error("INVALID_DOTENV_KEY: Missing environment part");throw e.code="INVALID_DOTENV_KEY",e}let u=`DOTENV_VAULT_${a.toUpperCase()}`,o=e.parsed[u];if(!o){let e=Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${u} in your .env.vault file.`);throw e.code="NOT_FOUND_DOTENV_ENVIRONMENT",e}return{ciphertext:o,key:t}}(t,i);n=m.decrypt(u.ciphertext,u.key);break}catch(n){if(e+1>=u)throw n}return m.parse(n)},config:function(e){if(0===d(e).length)return m.configDotenv(e);let n=p(e);if(!n){var i;return i=`You set DOTENV_KEY but you are missing a .env.vault file at ${n}. Did you forget to build it?`,console.error(`[dotenv@${r}][WARN] ${i}`),m.configDotenv(e)}return m._configVault(e)},decrypt:function(e,n){let i=Buffer.from(n.slice(-64),"hex"),t=Buffer.from(e,"base64"),a=t.subarray(0,12),u=t.subarray(-16);t=t.subarray(12,-16);try{let e=o.createDecipheriv("aes-256-gcm",i,a);return e.setAuthTag(u),`${e.update(t)}${e.final()}`}catch(t){let e=t instanceof RangeError,n="Invalid key length"===t.message,i="Unsupported state or unable to authenticate data"===t.message;if(e||n){let e=Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");throw e.code="INVALID_DOTENV_KEY",e}if(i){let e=Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");throw e.code="DECRYPTION_FAILED",e}throw t}},parse:function(e){let n,i={},t=e.toString();for(t=t.replace(/\r\n?/mg,"\n");null!=(n=h.exec(t));){let e=n[1],t=n[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")),i[e]=t}return i},populate:function(e,n,i={}){let t=!!(i&&i.debug),a=!!(i&&i.override),u={};if("object"!=typeof n){let e=Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");throw e.code="OBJECT_REQUIRED",e}for(let i of Object.keys(n))Object.prototype.hasOwnProperty.call(e,i)?(!0===a&&(e[i]=n[i],u[i]=n[i]),t&&(!0===a?g(`"${i}" is already defined and WAS overwritten`):g(`"${i}" is already defined and was NOT overwritten`))):(e[i]=n[i],u[i]=n[i]);return u}};e.exports.configDotenv=m.configDotenv,e.exports._configVault=m._configVault,e.exports._parseVault=m._parseVault,e.exports.config=m.config,e.exports.decrypt=m.decrypt,e.exports.parse=m.parse,e.exports.populate=m.populate,e.exports=m},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 k,F,Q,I,O,G,$,K,U,W,z,j,q,V,ee,en,ei,et,ea,eu,eo,er,es,el,eh,eg,ec,ed,ep={};E.r(ep),E.d(ep,{T:()=>eS});var ef={};E.r(ef),E.d(ef,{n:()=>eL,p:()=>eE});var em={};E.r(em),E.d(em,{F:()=>wm});var ey={};E.r(ey),E.d(ey,{c:()=>eG});class eS{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 eb extends Error{constructor(e){super(e),this.name="ConfigurationError"}}class eC extends Error{statusCode;response;constructor(e,n,i){super(e),this.name="APIError",this.statusCode=n,this.response=i}}class ew extends Error{originalError;constructor(e,n){super(e),this.originalError=n,this.name="NetworkError"}}class eT extends Error{constructor(e){super(e),this.name="ValidationError"}}class ex{config;axiosInstance;verbose;constructor(e,n,i=!1){this.config=e||new eS,this.verbose=i,this.axiosInstance=Y.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",...n}})}async request(e,n,i,t){let a=null;for(let u=0;u<=this.config.retryTimes;u++)try{0===u&&this.verbose&&this.logRequest(e,n,i,t);let a=await this.axiosInstance.request({method:e,url:n,data:i,...t});return 0===u&&this.verbose&&this.logResponse(a),a.data}catch(e){if(a=e,e.response){let n=e.response.status;if(n>=400&&n<500&&429!==n)throw new eC(e.response.data?.message||e.message,n,e.response.data)}u<this.config.retryTimes&&await this.sleep(1e3*this.config.retryDelay*(u+1))}if(a)if(Y.isAxiosError(a)&&a.response)throw new eC(a.response.data?.message||a.message,a.response.status,a.response.data);else throw new ew(a.message);throw new ew("Request failed after retries")}async requestWithResponse(e,n,i,t){let a=null;for(let u=0;u<=this.config.retryTimes;u++)try{0===u&&this.verbose&&this.logRequest(e,n,i,t);let a=await this.axiosInstance.request({method:e,url:n,data:i,...t});return 0===u&&this.verbose&&this.logResponse(a),a}catch(e){if(a=e,e.response){let n=e.response.status;if(n>=400&&n<500&&429!==n)throw new eC(e.response.data?.message||e.message,n,e.response.data)}u<this.config.retryTimes&&await this.sleep(1e3*this.config.retryDelay*(u+1))}if(a)if(Y.isAxiosError(a)&&a.response)throw new eC(a.response.data?.message||a.message,a.response.status,a.response.data);else throw new ew(a.message);throw new ew("Request failed after retries")}sanitizeHeaders(e){let n=["authorization","auth","api-key","apikey","api_key","x-api-key","x-auth-token","token","secret","password","passwd","pwd"],i={};for(let[t,a]of Object.entries(e)){let e=t.toLowerCase();n.some(n=>e.includes(n))?i[t]="***":i[t]=a}return i}logRequest(e,n,i,t){console.log("\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"),console.log("\uD83D\uDCE4 HTTP Request"),console.log("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"),console.log(`Method: ${e}`),console.log(`URL: ${n}`);let a={};Object.assign(a,this.axiosInstance.defaults.headers.common||{},this.axiosInstance.defaults.headers[e.toLowerCase()]||{},t?.headers||{});let u=this.sanitizeHeaders(a);for(let[e,n]of(console.log("\nHeaders:"),Object.entries(u)))console.log(` ${e}: ${n}`);i&&(console.log("\nBody:"),console.log(JSON.stringify(i,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[n,i]of(console.log("\nHeaders:"),Object.entries(e.headers)))console.log(` ${n}: ${i}`);if(e.data){console.log("\nBody:");let n="string"==typeof e.data?e.data:JSON.stringify(e.data,null,2);console.log(n.length>1e3?n.substring(0,1e3)+"\n... (truncated)":n)}console.log("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n")}sleep(e){return new Promise(n=>setTimeout(n,e))}}let eL=["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 eE{static extractForwardHeaders(e){let n={};return e instanceof Headers?eL.forEach(i=>{let t=e.get(i);t&&(n[i]=t)}):eL.forEach(i=>{let t=e[i]||e[i.toLowerCase()];t&&(n[i]=t)}),n}}class eY{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 eD(e){if(eY.PRESET_SIZES.includes(e))return e;let n=e.match(/^(\d+)x(\d+)$/);if(!n)throw Error(`Invalid size format. Must be ${JSON.stringify(eY.PRESET_SIZES)} or 'WIDTHxHEIGHT' format (e.g., 2048x2048). Got: ${e}`);let i=parseInt(n[1],10),t=parseInt(n[2],10);if(i<=0||t<=0)throw Error(`Width and height must be positive integers. Got: ${e}`);let a=i*t;if(a<eY.MIN_TOTAL_PIXELS||a>eY.MAX_TOTAL_PIXELS)throw Error(`Total pixels must be between ${eY.MIN_TOTAL_PIXELS.toLocaleString()} and ${eY.MAX_TOTAL_PIXELS.toLocaleString()}. Got: ${a.toLocaleString()} (${i}x${t})`);let u=i/t;if(u<eY.MIN_ASPECT_RATIO||u>eY.MAX_ASPECT_RATIO)throw Error(`Aspect ratio must be between 1:16 and 16:1. Got: ${i}:${t} (${u.toFixed(2)})`);return e}function ev(e){try{return eD(e)}catch{return eY.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 n of(this.response.error&&e.push(`API Error: ${this.response.error.message||"Unknown error"}`),this.response.data))n.error&&e.push(`Image generation error: ${n.error.message||"Unknown error"}`);return e}}function eN(e,n){let i=ev(e.size||eY.DEFAULT_SIZE);return{model:n,prompt:e.prompt,size:i,watermark:e.watermark??eY.DEFAULT_WATERMARK,image:e.image,response_format:e.responseFormat||eY.DEFAULT_RESPONSE_FORMAT,optimize_prompt_options:{mode:e.optimizePromptMode||eY.DEFAULT_OPTIMIZE_PROMPT_MODE},sequential_image_generation:e.sequentialImageGeneration||eY.DEFAULT_SEQUENTIAL_IMAGE_GENERATION,sequential_image_generation_options:{max_images:e.sequentialImageGenerationMaxImages||eY.DEFAULT_SEQUENTIAL_IMAGE_GENERATION_MAX_IMAGES}}}class eA extends ex{constructor(e,n,i=!1){super(e,n,i)}async generate(e){let n=e.model||eY.DEFAULT_MODEL,i=eN(e,n),t=await this.request("POST",`${this.config.baseUrl}/api/v3/images/generations`,i);if(t.error)throw new eC(`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 eC(`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 eJ(e){let n={};return e.query&&(n.Query=e.query),e.search_type&&(n.SearchType=e.search_type),void 0!==e.count&&(n.Count=e.count),void 0!==e.need_summary&&(n.NeedSummary=e.need_summary),e.time_range&&(n.TimeRange=e.time_range),e.filter&&(n.Filter={NeedContent:e.filter.need_content||!1,NeedUrl:e.filter.need_url||!1,Sites:e.filter.sites,BlockHosts:e.filter.block_hosts}),n}function eP(e){let n={};return void 0!==e.Id&&(n.id=e.Id),void 0!==e.SortId&&(n.sort_id=e.SortId),void 0!==e.Title&&(n.title=e.Title),void 0!==e.SiteName&&(n.site_name=e.SiteName),void 0!==e.Url&&(n.url=e.Url),void 0!==e.Snippet&&(n.snippet=e.Snippet),void 0!==e.Summary&&(n.summary=e.Summary),void 0!==e.Content&&(n.content=e.Content),void 0!==e.PublishTime&&(n.publish_time=e.PublishTime),void 0!==e.LogoUrl&&(n.logo_url=e.LogoUrl),void 0!==e.RankScore&&(n.rank_score=e.RankScore),void 0!==e.AuthInfoDes&&(n.auth_info_des=e.AuthInfoDes),void 0!==e.AuthInfoLevel&&(n.auth_info_level=e.AuthInfoLevel),e.Image&&(n.image={url:e.Image.Url,width:e.Image.Width,height:e.Image.Height,shape:e.Image.Shape}),n}class eM extends ex{constructor(e,n,i=!1){super(e,n,i)}async search(e){let n,i=eJ(e),t=await this.request("POST",`${this.config.baseUrl}/api/search_api/web_search`,i),a=t.ResponseMetadata||{};if(a.Error)throw new eC(`Search failed: ${a.Error}`,500,a.Error);let u=t.Result||{},o=[];if(u.WebResults)for(let e of u.WebResults)o.push(eP(e));let r=[];if(u.ImageResults)for(let e of u.ImageResults)r.push(eP(e));return u.Choices&&u.Choices.length>0&&(n=u.Choices[0].Message?.Content),{web_items:o,image_items:r,summary:n}}async webSearch(e,n=10,i=!0){return this.search({query:e,search_type:"web",count:n,need_summary:i})}async webSearchWithSummary(e,n=10){return this.search({query:e,search_type:"web_summary",count:n,need_summary:!0})}async imageSearch(e,n=10){return this.search({query:e,search_type:"image",count:n,need_summary:!1})}async advancedSearch(e,n={}){let i={need_content:n.needContent,need_url:n.needUrl,sites:n.sites,block_hosts:n.blockHosts};return this.search({query:e,search_type:n.searchType||"web",count:n.count||10,filter:i,need_summary:void 0===n.needSummary||n.needSummary,time_range:n.timeRange})}}class eR{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 e_(e){let n={user:{uid:e.uid},req_params:{speaker:e.speaker||eR.DEFAULT_SPEAKER,audio_params:{format:e.audioFormat||eR.DEFAULT_AUDIO_FORMAT,sample_rate:e.sampleRate||eR.DEFAULT_SAMPLE_RATE,speech_rate:e.speechRate??eR.DEFAULT_SPEECH_RATE,loudness_rate:e.loudnessRate??eR.DEFAULT_LOUDNESS_RATE}}};return e.text?n.req_params.text=e.text:e.ssml&&(n.req_params.ssml=e.ssml),n}function eB(e){let n={};return e.url?n.url=e.url:e.base64Data&&(n.data=e.base64Data),{user:{uid:e.uid},audio:n}}class eX extends ex{constructor(e,n,i=!1){super(e,n,i)}async synthesize(e){if(!e.text&&!e.ssml)throw new eT("必须提供 text 或 ssml 其中之一");let n=e_(e),i={...this.config.getHeaders(),Connection:"keep-alive"};try{let e=await Y.post(`${this.config.baseUrl}/api/v3/tts/unidirectional`,n,{headers:i,responseType:"stream",timeout:this.config.timeout});return await this.processStreamResponse(e)}catch(e){if(e.response)throw new eC(`TTS 请求失败: ${e.message}`,e.response.status,e.response.data);throw new eC(`TTS 请求异常: ${e.message}`,500)}}async processStreamResponse(e){return new Promise((n,i)=>{let t="",a=0,u="";e.data.on("data",e=>{let o=(u+=e.toString("utf-8")).split("\n");for(let e of(u=o.pop()||"",o))if(e.trim()&&e.startsWith("data:"))try{let u=e.replace("data:","").trim();if(!u)continue;let o=JSON.parse(u);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),n({audioUri:t,audioSize:a});return}else if(o.code>0)return void i(new eC(`合成音频失败: ${o.message||""}`,o.code))}catch(e){i(new eC(`响应解析失败: ${e.message}`,500));return}}),e.data.on("end",()=>{t||0!==a?n({audioUri:t,audioSize:a}):i(new eC("未收到完整的音频数据",500))}),e.data.on("error",e=>{i(new eC(`流处理错误: ${e.message}`,500))})})}}class eH extends ex{constructor(e,n,i=!1){super(e,n,i)}async recognize(e){if(!e.url&&!e.base64Data)throw new eT("必须提供 url 或 base64Data 其中之一");let n=eB(e);try{let e=await this.requestWithResponse("POST",`${this.config.baseUrl}/api/v3/auc/bigmodel/recognize/flash`,n),i=e.headers["x-api-status-code"]||"0",t=e.headers["x-api-message"]||"";if("20000000"!==i)throw new eC(`ASR 识别失败,状态码: ${i}, 错误信息: ${t}`,e.status,{code:i,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 eC)throw e;throw new eC(`ASR 请求异常: ${e.message}`,500)}}}class ek{static DEFAULT_MODEL="doubao-seedance-1-5-pro-251215";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 ex{baseUrl;constructor(e,n,i=!1){super(e,n,i),this.baseUrl=this.config.baseUrl}async videoGeneration(e,n){let i=(n?.maxWaitTime??900)*1e3,t={model:n?.model||ek.DEFAULT_MODEL,content:e};n?.callbackUrl&&(t.callback_url=n.callbackUrl),n?.returnLastFrame&&(t.return_last_frame=n.returnLastFrame),t.resolution=n?.resolution??ek.DEFAULT_RESOLUTION,t.ratio=n?.ratio??ek.DEFAULT_RATIO,t.duration=n?.duration??ek.DEFAULT_DURATION,t.watermark=n?.watermark??ek.DEFAULT_WATERMARK,n?.seed!==void 0&&(t.seed=n.seed),t.camerafixed=n?.camerafixed??ek.DEFAULT_CAMERA_FIXED,t.generate_audio=n?.generateAudio??ek.DEFAULT_GENERATE_AUDIO;let a=null,u=0;for(;u<3;)try{if(!(a=(await this.request("POST",`${this.baseUrl}/api/v3/contents/generations/tasks`,t)).id))throw new eC("创建视频生成任务失败:响应中缺少任务ID",500);this.verbose&&console.log(`视频生成任务创建成功,任务ID: ${a}`);break}catch(n){u++;let e=n instanceof Error?n.message:String(n);if(this.verbose&&console.error(`创建视频生成任务失败(尝试 ${u}/3): ${e}`),u>=3)throw new eC(`创建视频生成任务失败,已重试3次: ${e}`,500);if(e.toLowerCase().includes("rate limit")||e.includes("429")){let e=Math.min(2**u*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 n}let o=Date.now(),r=0;for(;Date.now()-o<i;){r++;try{let e=await this.request("GET",`${this.baseUrl}/api/v3/contents/generations/tasks/${a}`),n=e.status;if(this.verbose&&console.log(`任务 ${a} 状态检查 #${r}: ${n}`),"succeeded"===n){let n=e.content?.video_url||null,i=e.content?.last_frame_url||"";if(!n)throw new eC(`视频生成成功但响应中缺少视频URL,任务ID: ${a}`,500);return this.verbose&&console.log(`视频生成成功,任务ID: ${a}, 视频URL: ${n}`),{videoUrl:n,response:e,lastFrameUrl:i}}if("failed"===n){let n=e.error_message||"未知错误";throw this.verbose&&console.error(`视频生成失败,任务ID: ${a}, 错误: ${n}`),new eC(`视频生成失败: ${n}`,500)}if("cancelled"===n)return this.verbose&&console.warn(`视频生成任务被取消,任务ID: ${a}`),{videoUrl:null,response:e,lastFrameUrl:""};else if("queued"===n||"running"===n){await this.sleep(5e3);continue}else{this.verbose&&console.warn(`未知的任务状态: ${n},任务ID: ${a}`),await this.sleep(5e3);continue}}catch(n){let e=n instanceof Error?n.message:String(n);if(this.verbose&&console.error(`查询任务状态失败,任务ID: ${a}, 错误: ${e}`),e.toLowerCase().includes("not found")||e.includes("404"))throw new eC(`任务不存在或已过期,任务ID: ${a}`,404);if(Date.now()-o>=i)throw n;await this.sleep(5e3);continue}}let s=Math.floor((Date.now()-o)/1e3);throw this.verbose&&console.error(`视频生成超时,任务ID: ${a}, 已等待: ${s}秒`),new eC(`视频生成超时,已等待 ${s} 秒,任务ID: ${a}`,408)}async videoGenerationAsync(e,n){return this.videoGeneration(e,n)}}class eQ{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 ex{baseUrl;constructor(e,n,i=!1){super(e,n,i),this.baseUrl=this.config.baseUrl}async extractByKeyFrame(e){let n=await this.request("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=frame_extractor_by_key_frame`,{url:e});if(0!==n.code)throw new eC(`Key frame extraction failed: ${n.msg||"Unknown error"}`,n.code);return n}async extractByInterval(e,n){let i=await this.request("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=frame_extractor_by_interval`,{url:e,interval_ms:n});if(0!==i.code)throw new eC(`Interval frame extraction failed: ${i.msg||"Unknown error"}`,i.code);return i}async extractByCount(e,n){let i=await this.request("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=frame_extractor_by_count`,{url:e,count:n});if(0!==i.code)throw new eC(`Count-based frame extraction failed: ${i.msg||"Unknown error"}`,i.code);return i}}class eO extends ex{baseUrl;constructor(e,n,i=!1){super(e,n,i),this.baseUrl=this.config.baseUrl}validateUrlExpire(e,n=eQ.MIN_URL_EXPIRE){if(void 0===e)return eQ.DEFAULT_URL_EXPIRE;if(e<n||e>eQ.MAX_URL_EXPIRE)throw new eC(`url_expire must be between ${n} and ${eQ.MAX_URL_EXPIRE} seconds`,400);return e}async addSubtitles(e,n,i){let t=this.validateUrlExpire(i?.urlExpire),a={video:e,subtitle_config:{background_border_width:n.background_border_width??eQ.DEFAULT_BACKGROUND_BORDER_WIDTH,font_type:n.font_type??eQ.DEFAULT_FONT_TYPE,font_pos_config:{height:n.font_pos_config.height??eQ.DEFAULT_FONT_POS_HEIGHT,pos_x:n.font_pos_config.pos_x??eQ.DEFAULT_FONT_POS_X,pos_y:n.font_pos_config.pos_y??eQ.DEFAULT_FONT_POS_Y,width:n.font_pos_config.width??eQ.DEFAULT_FONT_POS_WIDTH}},url_expire:t};void 0!==n.border_width&&(a.subtitle_config.border_width=n.border_width),void 0!==n.font_color&&(a.subtitle_config.font_color=n.font_color),void 0!==n.font_size&&(a.subtitle_config.font_size=n.font_size),void 0!==n.background_color&&(a.subtitle_config.background_color=n.background_color),void 0!==n.border_color&&(a.subtitle_config.border_color=n.border_color),i?.subtitleUrl&&(a.subtitle_url=i.subtitleUrl),i?.textList&&i.textList.length>0&&(a.text_list=i.textList.map(e=>({end_time:e.end_time,start_time:e.start_time,text:e.text})));let u=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=add_subtitles`,a),o=u.headers["x-api-status-code"]||"0",r=u.headers["x-api-message"]||"";if("0"!==o)throw new eC(`Add subtitles failed, status code: ${o}, error: ${r}`,parseInt(o)||500);if(!u.data.url)throw new eC("Add subtitles failed: returned URL is empty",500);return u.data}async concatVideos(e,n){if(!e||0===e.length)throw new eC("videos list cannot be empty",400);let i={videos:e,url_expire:this.validateUrlExpire(n?.urlExpire)};n?.transitions&&n.transitions.length>0&&(i.transitions=n.transitions);let t=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=concat_videos`,i),a=t.headers["x-api-status-code"]||"0",u=t.headers["x-api-message"]||"";if("0"!==a)throw new eC(`Concat videos failed, status code: ${a}, error: ${u}`,parseInt(a)||500);if(!t.data.url)throw new eC("Concat videos failed: returned URL is empty",500);return t.data}async compileVideoAudio(e,n,i){let t={video:e,audio:n,url_expire:this.validateUrlExpire(i?.urlExpire)};i?.isVideoAudioSync!==void 0&&(t.is_video_audio_sync=i.isVideoAudioSync),i?.outputSync&&(t.output_sync={sync_method:i.outputSync.sync_method??eQ.DEFAULT_SYNC_METHOD,sync_mode:i.outputSync.sync_mode??eQ.DEFAULT_SYNC_MODE}),i?.isAudioReserve!==void 0&&(t.is_audio_reserve=i.isAudioReserve);let a=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=compile_video_audio`,t),u=a.headers["x-api-status-code"]||"0",o=a.headers["x-api-message"]||"";if("0"!==u)throw new eC(`Compile video audio failed, status code: ${u}, error: ${o}`,parseInt(u)||500);if(!a.data.url)throw new eC("Compile video audio failed: returned URL is empty",500);return a.data}async audioToSubtitle(e,n){let i={source:e,url_expire:this.validateUrlExpire(n?.urlExpire)};n?.subtitleType&&(i.subtitle_type=n.subtitleType);let t=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=audio_to_subtitle`,i),a=t.headers["x-api-status-code"]||"0",u=t.headers["x-api-message"]||"";if("0"!==a)throw new eC(`Audio to subtitle failed, status code: ${a}, error: ${u}`,parseInt(a)||500);if(!t.data.url)throw new eC("Audio to subtitle failed: returned URL is empty",500);return t.data}async extractAudio(e,n){let i={video:e,url_expire:this.validateUrlExpire(n?.urlExpire,eQ.MIN_AUDIO_URL_EXPIRE)};n?.format&&(i.format=n.format);let t=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=audio_extract`,i),a=t.headers["x-api-status-code"]||"0",u=t.headers["x-api-message"]||"";if("0"!==a)throw new eC(`Extract audio failed, status code: ${a}, error: ${u}`,parseInt(a)||500);if(!t.data.url)throw new eC("Extract audio failed: returned URL is empty",500);return t.data}async videoTrim(e,n){let i=this.validateUrlExpire(n?.urlExpire);if(n?.startTime!==void 0&&n.startTime<0)throw new eC("start_time must be greater than or equal to 0",400);if(n?.endTime!==void 0&&n.endTime<0)throw new eC("end_time must be greater than or equal to 0",400);let t={video:e,url_expire:i};n?.startTime!==void 0&&(t.start_time=n.startTime),n?.endTime!==void 0&&(t.end_time=n.endTime);let a=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=video_trim`,t),u=a.headers["x-api-status-code"]||"0",o=a.headers["x-api-message"]||"";if("0"!==u)throw new eC(`Video trim failed, status code: ${u}, error: ${o}`,parseInt(u)||500);if(!a.data.url)throw new eC("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,n){this.config=e||new eS,this.customHeaders=n}createLLM(e,n,i){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,...i};return n&&(a["X-Previous-Response-Id"]=n),new D({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 n=this.convertContent(e.content);switch(e.role){case"system":return new N(n);case"user":return new Z(n);case"assistant":return new v(n);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 n={url:e.image_url.url};return e.image_url.detail&&(n.detail=e.image_url.detail),{type:"image_url",image_url:n}}if("video_url"===e.type){let n={url:e.video_url.url};return void 0!==e.video_url.fps&&(n.fps=e.video_url.fps),{type:"video_url",video_url:n}}return e})}async *stream(e,n={},i,t){let a=this.createLLM(n,i,t),u=this.convertMessages(e);for await(let e of(await a.stream(u)))yield e}async invoke(e,n={},i,t){let a="";for await(let u of this.stream(e,n,i,t))u.content&&(a+=u.content.toString());return{content:a}}}var eK=((k={})[k.TEXT=0]="TEXT",k[k.URL=1]="URL",k[k.URI=2]="URI",k);class eU extends ex{baseUrl;constructor(e,n,i=!1){super(e,n,i),this.baseUrl=this.config.baseUrl}async search(e,n,i=5,t=0,a){let u={query:e,top_k:i,min_score:t};n&&(u.dataset=n);let o=`${this.baseUrl}/v1/knowledge_base/recall`,r={...a};this.config.apiKey&&(r["x-coze-token"]=`Bearer ${this.config.apiKey}`);let s=await this.request("POST",o,u,{headers:r});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,n,i,t){let a={dataset:n,data:e};i&&(a.chunk_config=Object.fromEntries(Object.entries(i).filter(([e,n])=>void 0!==n)));let u=`${this.baseUrl}/v1/knowledge_base/batch_import`,o={...t};this.config.apiKey&&(o["x-coze-token"]=`Bearer ${this.config.apiKey}`);let r=await this.request("POST",u,a,{headers:o}),s=r.msg||"";return 0===r.code&&(s="成功!文档正在异步导入中,请稍候。您可以查看数据库中的 'knowledge' schema 来验证导入状态。"),{doc_ids:r.doc_ids,code:r.code||0,msg:s}}}let eW=Symbol.for("drizzle:entityKind");function ez(e,n){if(!e||"object"!=typeof e)return!1;if(e instanceof n)return!0;if(!Object.prototype.hasOwnProperty.call(n,eW))throw Error(`Class "${n.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 i=Object.getPrototypeOf(e).constructor;if(i)for(;i;){if(eW in i&&i[eW]===n[eW])return!0;i=Object.getPrototypeOf(i)}return!1}Symbol.for("drizzle:hasOwnEntityKind");class ej{static [eW]="ConsoleLogWriter";write(e){console.log(e)}}class eq{static [eW]="DefaultLogger";writer;constructor(e){this.writer=e?.writer??new ej}logQuery(e,n){let i=n.map(e=>{try{return JSON.stringify(e)}catch{return String(e)}}),t=i.length?` -- params: [${i.join(", ")}]`:"";this.writer.write(`Query: ${e}${t}`)}}class eV{static [eW]="NoopLogger";logQuery(){}}class e0{constructor(e,n){this.table=e,this.config=n,this.name=n.name,this.keyAsName=n.keyAsName,this.notNull=n.notNull,this.default=n.default,this.defaultFn=n.defaultFn,this.onUpdateFn=n.onUpdateFn,this.hasDefault=n.hasDefault,this.primary=n.primaryKey,this.isUnique=n.isUnique,this.uniqueName=n.uniqueName,this.uniqueType=n.uniqueType,this.dataType=n.dataType,this.columnType=n.columnType,this.generated=n.generated,this.generatedIdentity=n.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 e1{static [eW]="ColumnBuilder";config;constructor(e,n,i){this.config={name:e,keyAsName:""===e,notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType:n,columnType:i,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 e3=Symbol.for("drizzle:Name");class e2{static [eW]="PgForeignKeyBuilder";reference;_onUpdate="no action";_onDelete="no action";constructor(e,n){this.reference=()=>{let{name:n,columns:i,foreignColumns:t}=e();return{name:n,columns:i,foreignTable:t[0].table,foreignColumns:t}},n&&(this._onUpdate=n.onUpdate,this._onDelete=n.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 e4(e,this)}}class e4{constructor(e,n){this.table=e,this.reference=n.reference,this.onUpdate=n._onUpdate,this.onDelete=n._onDelete}static [eW]="PgForeignKey";reference;onUpdate;onDelete;getName(){let{name:e,columns:n,foreignColumns:i}=this.reference(),t=n.map(e=>e.name),a=i.map(e=>e.name),u=[this.table[e3],...t,i[0].table[e3],...a];return e??`${u.join("_")}_fk`}}function e6(e,...n){return e(...n)}function e8(e,n){return`${e[e3]}_${n.join("_")}_unique`}class e5{constructor(e,n){this.name=n,this.columns=e}static [eW]=null;columns;nullsNotDistinctConfig=!1;nullsNotDistinct(){return this.nullsNotDistinctConfig=!0,this}build(e){return new e9(e,this.columns,this.nullsNotDistinctConfig,this.name)}}class e7{static [eW]=null;name;constructor(e){this.name=e}on(...e){return new e5(e,this.name)}}class e9{constructor(e,n,i,t){this.table=e,this.columns=n,this.name=t??e8(this.table,this.columns.map(e=>e.name)),this.nullsNotDistinct=i}static [eW]=null;columns;name;nullsNotDistinct=!1;getName(){return this.name}}function ne(e,n,i){for(let t=n;t<e.length;t++){let a=e[t];if("\\"===a){t++;continue}if('"'===a)return[e.slice(n,t).replace(/\\/g,""),t+1];if(!i&&(","===a||"}"===a))return[e.slice(n,t).replace(/\\/g,""),t]}return[e.slice(n).replace(/\\/g,""),e.length]}class nn extends e1{foreignKeyConfigs=[];static [eW]="PgColumnBuilder";array(e){return new nu(this.config.name,this,e)}references(e,n={}){return this.foreignKeyConfigs.push({ref:e,actions:n}),this}unique(e,n){return this.config.isUnique=!0,this.config.uniqueName=e,this.config.uniqueType=n?.nulls,this}generatedAlwaysAs(e){return this.config.generated={as:e,type:"always",mode:"stored"},this}buildForeignKeys(e,n){return this.foreignKeyConfigs.map(({ref:i,actions:t})=>e6((i,t)=>{let a=new e2(()=>({columns:[e],foreignColumns:[i()]}));return t.onUpdate&&a.onUpdate(t.onUpdate),t.onDelete&&a.onDelete(t.onDelete),a.build(n)},i,t))}buildExtraConfigColumn(e){return new nt(e,this.config)}}class ni extends e0{constructor(e,n){n.uniqueName||(n.uniqueName=e8(e,[n.name])),super(e,n),this.table=e}static [eW]="PgColumn"}class nt extends ni{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 na{static [eW]=null;constructor(e,n,i,t){this.name=e,this.keyAsName=n,this.type=i,this.indexConfig=t}name;keyAsName;type;indexConfig}class nu extends nn{static [eW]="PgArrayBuilder";constructor(e,n,i){super(e,"array","PgArray"),this.config.baseBuilder=n,this.config.size=i}build(e){let n=this.config.baseBuilder.build(e);return new no(e,this.config,n)}}class no extends ni{constructor(e,n,i,t){super(e,n),this.baseColumn=i,this.range=t,this.size=n.size}size;static [eW]="PgArray";getSQLType(){return`${this.baseColumn.getSQLType()}[${"number"==typeof this.size?this.size:""}]`}mapFromDriverValue(e){return"string"==typeof e&&(e=function(e){let[n]=function e(n,i=0){let t=[],a=i,u=!1;for(;a<n.length;){let o=n[a];if(","===o){(u||a===i)&&t.push(""),u=!0,a++;continue}if(u=!1,"\\"===o){a+=2;continue}if('"'===o){let[e,i]=ne(n,a+1,!0);t.push(e),a=i;continue}if("}"===o)return[t,a+1];if("{"===o){let[i,u]=e(n,a+1);t.push(i),a=u;continue}let[r,s]=ne(n,a,!1);t.push(r),a=s}return[t,a]}(e,1);return n}(e)),e.map(e=>this.baseColumn.mapFromDriverValue(e))}mapToDriverValue(e,n=!1){let i=e.map(e=>null===e?null:ez(this.baseColumn,no)?this.baseColumn.mapToDriverValue(e,!0):this.baseColumn.mapToDriverValue(e));return n?i:function e(n){return`{${n.map(n=>Array.isArray(n)?e(n):"string"==typeof n?`"${n.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`:`${n}`).join(",")}}`}(i)}}class nr extends nn{static [eW]="PgEnumObjectColumnBuilder";constructor(e,n){super(e,"string","PgEnumObjectColumn"),this.config.enum=n}build(e){return new ns(e,this.config)}}class ns extends ni{static [eW]="PgEnumObjectColumn";enum;enumValues=this.config.enum.enumValues;constructor(e,n){super(e,n),this.enum=n.enum}getSQLType(){return this.enum.enumName}}let nl=Symbol.for("drizzle:isPgEnum");class nh extends nn{static [eW]="PgEnumColumnBuilder";constructor(e,n){super(e,"string","PgEnumColumn"),this.config.enum=n}build(e){return new ng(e,this.config)}}class ng extends ni{static [eW]="PgEnumColumn";enum=this.config.enum;enumValues=this.config.enum.enumValues;constructor(e,n){super(e,n),this.enum=n.enum}getSQLType(){return this.enum.enumName}}class nc{static [eW]="Subquery";constructor(e,n,i,t=!1,a=[]){this._={brand:"Subquery",sql:e,selectedFields:n,alias:i,isWith:t,usedTables:a}}}class nd extends nc{static [eW]="WithSubquery"}let np=(i,t)=>e?(n||(n=e.trace.getTracer("drizzle-orm","0.45.1")),e6((e,n)=>n.startActiveSpan(i,n=>{try{return t(n)}catch(i){throw n.setStatus({code:e.SpanStatusCode.ERROR,message:i instanceof Error?i.message:"Unknown error"}),i}finally{n.end()}}),e,n)):t(),nf=Symbol.for("drizzle:ViewBaseConfig"),nm=Symbol.for("drizzle:Schema"),ny=Symbol.for("drizzle:Columns"),nS=Symbol.for("drizzle:ExtraConfigColumns"),nb=Symbol.for("drizzle:OriginalName"),nC=Symbol.for("drizzle:BaseName"),nw=Symbol.for("drizzle:IsAlias"),nT=Symbol.for("drizzle:ExtraConfigBuilder"),nx=Symbol.for("drizzle:IsDrizzleTable");class nL{static [eW]="Table";static Symbol={Name:e3,Schema:nm,OriginalName:nb,Columns:ny,ExtraConfigColumns:nS,BaseName:nC,IsAlias:nw,ExtraConfigBuilder:nT};[e3];[nb];[nm];[ny];[nS];[nC];[nw]=!1;[nx]=!0;[nT]=void 0;constructor(e,n,i){this[e3]=this[nb]=e,this[nm]=n,this[nC]=i}}function nE(e){return`${e[nm]??"public"}.${e[e3]}`}class nY{static [eW]=null}function nD(e){return null!=e&&"function"==typeof e.getSQL}class nv{static [eW]="StringChunk";value;constructor(e){this.value=Array.isArray(e)?e:[e]}getSQL(){return new nZ([this])}}class nZ{constructor(e){for(let n of(this.queryChunks=e,e))if(ez(n,nL)){let e=n[nL.Symbol.Schema];this.usedTables.push(void 0===e?n[nL.Symbol.Name]:e+"."+n[nL.Symbol.Name])}}static [eW]="SQL";decoder=nA;shouldInlineParams=!1;usedTables=[];append(e){return this.queryChunks.push(...e.queryChunks),this}toQuery(e){return np("drizzle.buildSQL",n=>{let i=this.buildQueryFromSourceParams(this.queryChunks,e);return n?.setAttributes({"drizzle.query.text":i.sql,"drizzle.query.params":JSON.stringify(i.params)}),i})}buildQueryFromSourceParams(e,n){let i=Object.assign({},n,{inlineParams:n.inlineParams||this.shouldInlineParams,paramStartIndex:n.paramStartIndex||{value:0}}),{casing:t,escapeName:a,escapeParam:u,prepareTyping:o,inlineParams:r,paramStartIndex:s}=i;var l=e.map(e=>{if(ez(e,nv))return{sql:e.value.join(""),params:[]};if(ez(e,nN))return{sql:a(e.value),params:[]};if(void 0===e)return{sql:"",params:[]};if(Array.isArray(e)){let n=[new nv("(")];for(let[i,t]of e.entries())n.push(t),i<e.length-1&&n.push(new nv(", "));return n.push(new nv(")")),this.buildQueryFromSourceParams(n,i)}if(ez(e,nZ))return this.buildQueryFromSourceParams(e.queryChunks,{...i,inlineParams:r||e.shouldInlineParams});if(ez(e,nL)){let n=e[nL.Symbol.Schema],i=e[nL.Symbol.Name];return{sql:void 0===n||e[nw]?a(i):a(n)+"."+a(i),params:[]}}if(ez(e,e0)){let i=t.getColumnCasing(e);if("indexes"===n.invokeSource)return{sql:a(i),params:[]};let u=e.table[nL.Symbol.Schema];return{sql:e.table[nw]||void 0===u?a(e.table[nL.Symbol.Name])+"."+a(i):a(u)+"."+a(e.table[nL.Symbol.Name])+"."+a(i),params:[]}}if(ez(e,nk)){let n=e[nf].schema,i=e[nf].name;return{sql:void 0===n||e[nf].isAlias?a(i):a(n)+"."+a(i),params:[]}}if(ez(e,nP)){if(ez(e.value,nB))return{sql:u(s.value++,e),params:[e],typings:["none"]};let n=null===e.value?null:e.encoder.mapToDriverValue(e.value);if(ez(n,nZ))return this.buildQueryFromSourceParams([n],i);if(r)return{sql:this.mapInlineParam(n,i),params:[]};let t=["none"];return o&&(t=[o(e.encoder)]),{sql:u(s.value++,n),params:[n],typings:t}}return ez(e,nB)?{sql:u(s.value++,e),params:[e],typings:["none"]}:ez(e,nZ.Aliased)&&void 0!==e.fieldAlias?{sql:a(e.fieldAlias),params:[]}:ez(e,nc)?e._.isWith?{sql:a(e._.alias),params:[]}:this.buildQueryFromSourceParams([new nv("("),e._.sql,new nv(") "),new nN(e._.alias)],i):e&&"function"==typeof e&&nl in e&&!0===e[nl]?e.schema?{sql:a(e.schema)+"."+a(e.enumName),params:[]}:{sql:a(e.enumName),params:[]}:nD(e)?e.shouldOmitSQLParens?.()?this.buildQueryFromSourceParams([e.getSQL()],i):this.buildQueryFromSourceParams([new nv("("),e.getSQL(),new nv(")")],i):r?{sql:this.mapInlineParam(e,i),params:[]}:{sql:u(s.value++,e),params:[e],typings:["none"]}});let h={sql:"",params:[]};for(let e of l)h.sql+=e.sql,h.params.push(...e.params),e.typings?.length&&(h.typings||(h.typings=[]),h.typings.push(...e.typings));return h}mapInlineParam(e,{escapeString:n}){if(null===e)return"null";if("number"==typeof e||"boolean"==typeof e)return e.toString();if("string"==typeof e)return n(e);if("object"==typeof e){let i=e.toString();return"[object Object]"===i?n(JSON.stringify(e)):n(i)}throw Error("Unexpected param value: "+e)}getSQL(){return this}as(e){return void 0===e?this:new nZ.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 nN{constructor(e){this.value=e}static [eW]="Name";brand;getSQL(){return new nZ([this])}}let nA={mapFromDriverValue:e=>e},nJ={mapToDriverValue:e=>e};({...nA,...nJ});class nP{constructor(e,n=nJ){this.value=e,this.encoder=n}static [eW]="Param";brand;getSQL(){return new nZ([this])}}function nM(e,...n){let i=[];for(let[t,a]of((n.length>0||e.length>0&&""!==e[0])&&i.push(new nv(e[0])),n.entries()))i.push(a,new nv(e[t+1]));return new nZ(i)}(F=nM||(nM={})).empty=function(){return new nZ([])},F.fromList=function(e){return new nZ(e)},F.raw=function(e){return new nZ([new nv(e)])},F.join=function(e,n){let i=[];for(let[t,a]of e.entries())t>0&&void 0!==n&&i.push(n),i.push(a);return new nZ(i)},F.identifier=function(e){return new nN(e)},F.placeholder=function(e){return new nB(e)},F.param=function(e,n){return new nP(e,n)};var nR=nZ||(nZ={});class n_{constructor(e,n){this.sql=e,this.fieldAlias=n}static [eW]="SQL.Aliased";isSelectionField=!1;getSQL(){return this.sql}clone(){return new n_(this.sql,this.fieldAlias)}}nR.Aliased=n_;class nB{constructor(e){this.name=e}static [eW]="Placeholder";getSQL(){return new nZ([this])}}function nX(e,n){return e.map(e=>{if(ez(e,nB)){if(!(e.name in n))throw Error(`No value for placeholder "${e.name}" was provided`);return n[e.name]}if(ez(e,nP)&&ez(e.value,nB)){if(!(e.value.name in n))throw Error(`No value for placeholder "${e.value.name}" was provided`);return e.encoder.mapToDriverValue(n[e.value.name])}return e})}let nH=Symbol.for("drizzle:IsDrizzleView");class nk{static [eW]="View";[nf];[nH]=!0;constructor({name:e,schema:n,selectedFields:i,query:t}){this[nf]={name:e,originalName:e,schema:n,selectedFields:i,query:t,isExisting:!t,isAlias:!1}}getSQL(){return new nZ([this])}}e0.prototype.getSQL=function(){return new nZ([this])},nL.prototype.getSQL=function(){return new nZ([this])},nc.prototype.getSQL=function(){return new nZ([this])};class nF{constructor(e){this.table=e}static [eW]="ColumnAliasProxyHandler";get(e,n){return"table"===n?this.table:e[n]}}class nQ{constructor(e,n){this.alias=e,this.replaceOriginalName=n}static [eW]="TableAliasProxyHandler";get(e,n){if(n===nL.Symbol.IsAlias)return!0;if(n===nL.Symbol.Name||this.replaceOriginalName&&n===nL.Symbol.OriginalName)return this.alias;if(n===nf)return{...e[nf],name:this.alias,isAlias:!0};if(n===nL.Symbol.Columns){let n=e[nL.Symbol.Columns];if(!n)return n;let i={};return Object.keys(n).map(t=>{i[t]=new Proxy(n[t],new nF(new Proxy(e,this)))}),i}let i=e[n];return ez(i,e0)?new Proxy(i,new nF(new Proxy(e,this))):i}}class nI{constructor(e){this.alias=e}static [eW]=null;get(e,n){return"sourceTable"===n?nO(e.sourceTable,this.alias):e[n]}}function nO(e,n){return new Proxy(e,new nQ(n,!1))}function nG(e,n){return new Proxy(e,new nF(new Proxy(e.table,new nQ(n,!1))))}function n$(e,n){return new nZ.Aliased(nK(e.sql,n),e.fieldAlias)}function nK(e,n){return nM.join(e.queryChunks.map(e=>ez(e,e0)?nG(e,n):ez(e,nZ)?nK(e,n):ez(e,nZ.Aliased)?n$(e,n):e))}function nU(e){return(e.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).map(e=>e.toLowerCase()).join("_")}function nW(e){return(e.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).reduce((e,n,i)=>e+(0===i?n.toLowerCase():`${n[0].toUpperCase()}${n.slice(1)}`),"")}function nz(e){return e}class nj{static [eW]="CasingCache";cache={};cachedTables={};convert;constructor(e){this.convert="snake_case"===e?nU:"camelCase"===e?nW:nz}getColumnCasing(e){if(!e.keyAsName)return e.name;let n=e.table[nL.Symbol.Schema]??"public",i=e.table[nL.Symbol.OriginalName],t=`${n}.${i}.${e.name}`;return this.cache[t]||this.cacheTable(e.table),this.cache[t]}cacheTable(e){let n=e[nL.Symbol.Schema]??"public",i=e[nL.Symbol.OriginalName],t=`${n}.${i}`;if(!this.cachedTables[t]){for(let n of Object.values(e[nL.Symbol.Columns])){let e=`${t}.${n.name}`;this.cache[e]=this.convert(n.name)}this.cachedTables[t]=!0}}clearCache(){this.cache={},this.cachedTables={}}}class nq extends Error{static [eW]="DrizzleError";constructor({message:e,cause:n}){super(e),this.name="DrizzleError",this.cause=n}}class nV extends Error{constructor(e,n,i){super(`Failed query: ${e}
2
- params: ${n}`),this.query=e,this.params=n,this.cause=i,Error.captureStackTrace(this,nV),i&&(this.cause=i)}}class n0 extends nq{static [eW]="TransactionRollbackError";constructor(){super({message:"Rollback"})}}class n1 extends nn{static [eW]="PgJsonbBuilder";constructor(e){super(e,"json","PgJsonb")}build(e){return new n3(e,this.config)}}class n3 extends ni{static [eW]="PgJsonb";constructor(e,n){super(e,n)}getSQLType(){return"jsonb"}mapToDriverValue(e){return JSON.stringify(e)}mapFromDriverValue(e){if("string"==typeof e)try{return JSON.parse(e)}catch{}return e}}class n2 extends nn{static [eW]="PgJsonBuilder";constructor(e){super(e,"json","PgJson")}build(e){return new n4(e,this.config)}}class n4 extends ni{static [eW]="PgJson";constructor(e,n){super(e,n)}getSQLType(){return"json"}mapToDriverValue(e){return JSON.stringify(e)}mapFromDriverValue(e){if("string"==typeof e)try{return JSON.parse(e)}catch{}return e}}class n6 extends nn{static [eW]="PgNumericBuilder";constructor(e,n,i){super(e,"string","PgNumeric"),this.config.precision=n,this.config.scale=i}build(e){return new n8(e,this.config)}}class n8 extends ni{static [eW]="PgNumeric";precision;scale;constructor(e,n){super(e,n),this.precision=n.precision,this.scale=n.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 n5 extends nn{static [eW]="PgNumericNumberBuilder";constructor(e,n,i){super(e,"number","PgNumericNumber"),this.config.precision=n,this.config.scale=i}build(e){return new n7(e,this.config)}}class n7 extends ni{static [eW]="PgNumericNumber";precision;scale;constructor(e,n){super(e,n),this.precision=n.precision,this.scale=n.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 n9 extends nn{static [eW]="PgNumericBigIntBuilder";constructor(e,n,i){super(e,"bigint","PgNumericBigInt"),this.config.precision=n,this.config.scale=i}build(e){return new ie(e,this.config)}}class ie extends ni{static [eW]="PgNumericBigInt";precision;scale;constructor(e,n){super(e,n),this.precision=n.precision,this.scale=n.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 ii extends nn{static [eW]="PgDateColumnBaseBuilder";defaultNow(){return this.default(nM`now()`)}}class it extends ii{constructor(e,n,i){super(e,"string","PgTime"),this.withTimezone=n,this.precision=i,this.config.withTimezone=n,this.config.precision=i}static [eW]="PgTimeBuilder";build(e){return new ia(e,this.config)}}class ia extends ni{static [eW]="PgTime";withTimezone;precision;constructor(e,n){super(e,n),this.withTimezone=n.withTimezone,this.precision=n.precision}getSQLType(){let e=void 0===this.precision?"":`(${this.precision})`;return`time${e}${this.withTimezone?" with time zone":""}`}}class iu extends ii{static [eW]="PgTimestampBuilder";constructor(e,n,i){super(e,"date","PgTimestamp"),this.config.withTimezone=n,this.config.precision=i}build(e){return new io(e,this.config)}}class io extends ni{static [eW]="PgTimestamp";withTimezone;precision;constructor(e,n){super(e,n),this.withTimezone=n.withTimezone,this.precision=n.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 ir extends ii{static [eW]="PgTimestampStringBuilder";constructor(e,n,i){super(e,"string","PgTimestampString"),this.config.withTimezone=n,this.config.precision=i}build(e){return new is(e,this.config)}}class is extends ni{static [eW]="PgTimestampString";withTimezone;precision;constructor(e,n){super(e,n),this.withTimezone=n.withTimezone,this.precision=n.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 n=e.toISOString().slice(0,-1).replace("T"," ");if(this.withTimezone){let i=e.getTimezoneOffset();return`${n}${i<=0?"+":"-"}${Math.floor(Math.abs(i)/60).toString().padStart(2,"0")}`}return n}}class il extends ii{static [eW]="PgDateBuilder";constructor(e){super(e,"date","PgDate")}build(e){return new ih(e,this.config)}}class ih extends ni{static [eW]="PgDate";getSQLType(){return"date"}mapFromDriverValue(e){return"string"==typeof e?new Date(e):e}mapToDriverValue(e){return e.toISOString()}}class ig extends ii{static [eW]="PgDateStringBuilder";constructor(e){super(e,"string","PgDateString")}build(e){return new ic(e,this.config)}}class ic extends ni{static [eW]="PgDateString";getSQLType(){return"date"}mapFromDriverValue(e){return"string"==typeof e?e:e.toISOString().slice(0,-14)}}class id extends nn{static [eW]="PgUUIDBuilder";constructor(e){super(e,"string","PgUUID")}defaultRandom(){return this.default(nM`gen_random_uuid()`)}build(e){return new ip(e,this.config)}}class ip extends ni{static [eW]="PgUUID";getSQLType(){return"uuid"}}let im=Symbol.for("drizzle:PgInlineForeignKeys"),iy=Symbol.for("drizzle:EnableRLS");class iS extends nL{static [eW]="PgTable";static Symbol=Object.assign({},nL.Symbol,{InlineForeignKeys:im,EnableRLS:iy});[im]=[];[iy]=!1;[nL.Symbol.ExtraConfigBuilder]=void 0;[nL.Symbol.ExtraConfigColumns]={}}class ib{static [eW]="PgPrimaryKeyBuilder";columns;name;constructor(e,n){this.columns=e,this.name=n}build(e){return new iC(e,this.columns,this.name)}}class iC{constructor(e,n,i){this.table=e,this.columns=n,this.name=i}static [eW]="PgPrimaryKey";columns;name;getName(){return this.name??`${this.table[iS.Symbol.Name]}_${this.columns.map(e=>e.name).join("_")}_pk`}}function iw(e,n){return"object"!=typeof n||null===n||!("mapToDriverValue"in n)||"function"!=typeof n.mapToDriverValue||nD(e)||ez(e,nP)||ez(e,nB)||ez(e,e0)||ez(e,nL)||ez(e,nk)?e:new nP(e,n)}let iT=(e,n)=>nM`${e} = ${iw(n,e)}`,ix=(e,n)=>nM`${e} <> ${iw(n,e)}`;function iL(...e){let n=e.filter(e=>void 0!==e);if(0!==n.length)return new nZ(1===n.length?n:[new nv("("),nM.join(n,new nv(" and ")),new nv(")")])}function iE(...e){let n=e.filter(e=>void 0!==e);if(0!==n.length)return new nZ(1===n.length?n:[new nv("("),nM.join(n,new nv(" or ")),new nv(")")])}function iY(e){return nM`not ${e}`}let iD=(e,n)=>nM`${e} > ${iw(n,e)}`,iv=(e,n)=>nM`${e} >= ${iw(n,e)}`,iZ=(e,n)=>nM`${e} < ${iw(n,e)}`,iN=(e,n)=>nM`${e} <= ${iw(n,e)}`;function iA(e,n){return Array.isArray(n)?0===n.length?nM`false`:nM`${e} in ${n.map(n=>iw(n,e))}`:nM`${e} in ${iw(n,e)}`}function iJ(e,n){return Array.isArray(n)?0===n.length?nM`true`:nM`${e} not in ${n.map(n=>iw(n,e))}`:nM`${e} not in ${iw(n,e)}`}function iP(e){return nM`${e} is null`}function iM(e){return nM`${e} is not null`}function iR(e){return nM`exists ${e}`}function i_(e){return nM`not exists ${e}`}function iB(e,n,i){return nM`${e} between ${iw(n,e)} and ${iw(i,e)}`}function iX(e,n,i){return nM`${e} not between ${iw(n,e)} and ${iw(i,e)}`}function iH(e,n){return nM`${e} like ${n}`}function ik(e,n){return nM`${e} not like ${n}`}function iF(e,n){return nM`${e} ilike ${n}`}function iQ(e,n){return nM`${e} not ilike ${n}`}function iI(e){return nM`${e} asc`}function iO(e){return nM`${e} desc`}class iG{constructor(e,n,i){this.sourceTable=e,this.referencedTable=n,this.relationName=i,this.referencedTableName=n[nL.Symbol.Name]}static [eW]="Relation";referencedTableName;fieldName}class i${constructor(e,n){this.table=e,this.config=n}static [eW]="Relations"}class iK extends iG{constructor(e,n,i,t){super(e,n,i?.relationName),this.config=i,this.isNullable=t}static [eW]="One";withFieldName(e){let n=new iK(this.sourceTable,this.referencedTable,this.config,this.isNullable);return n.fieldName=e,n}}class iU extends iG{constructor(e,n,i){super(e,n,i?.relationName),this.config=i}static [eW]="Many";withFieldName(e){let n=new iU(this.sourceTable,this.referencedTable,this.config);return n.fieldName=e,n}}function iW(e){return{one:function(n,i){return new iK(e,n,i,i?.fields.reduce((e,n)=>e&&n.notNull,!0)??!1)},many:function(n,i){return new iU(e,n,i)}}}function iz(e,n){return Object.entries(e).reduce((e,[i,t])=>{if("string"!=typeof i)return e;let a=n?[...n,i]:[i];return ez(t,e0)||ez(t,nZ)||ez(t,nZ.Aliased)||ez(t,nc)?e.push({path:a,field:t}):ez(t,nL)?e.push(...iz(t[nL.Symbol.Columns],a)):e.push(...iz(t,a)),e},[])}function ij(e,n){let i=Object.keys(e),t=Object.keys(n);if(i.length!==t.length)return!1;for(let[e,n]of i.entries())if(n!==t[e])return!1;return!0}function iq(e,n){let i=Object.entries(n).filter(([,e])=>void 0!==e).map(([n,i])=>ez(i,nZ)||ez(i,e0)?[n,i]:[n,new nP(i,e[nL.Symbol.Columns][n])]);if(0===i.length)throw Error("No values to set");return Object.fromEntries(i)}function iV(e){return ez(e,nc)?e._.alias:ez(e,nk)?e[nf].name:ez(e,nZ)?void 0:e[nL.Symbol.IsAlias]?e[nL.Symbol.Name]:e[nL.Symbol.BaseName]}"u"<typeof TextDecoder||new TextDecoder;class i0 extends nk{static [eW]="PgViewBase"}class i1{static [eW]="PgDialect";casing;constructor(e){this.casing=new nj(e?.casing)}async migrate(e,n,i){let t="string"==typeof i?"__drizzle_migrations":i.migrationsTable??"__drizzle_migrations",a="string"==typeof i?"drizzle":i.migrationsSchema??"drizzle",u=nM`
3
- CREATE TABLE IF NOT EXISTS ${nM.identifier(a)}.${nM.identifier(t)} (
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 T from"os";import*as w from"path";import*as x from"stream";import*as E from"zlib";import{__webpack_require__ as L}from"./rslib-runtime.mjs";import _ from"axios";import{ChatOpenAI as Y}from"@langchain/openai";import{AIMessage as D,HumanMessage as v,SystemMessage as A}from"@langchain/core/messages";import N from"pg";import{exec as P,execSync as Z}from"child_process";import{env as R,versions as M}from"process";import{Agent as J,request as k}from"http";import{Agent as B,request as H}from"https";L.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=T},path(e){e.exports=w},stream(e){e.exports=x},zlib(e){e.exports=E},"./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 F,X,I,O,Q,G,U,q,K,$,z,W,j,V,ee,ei,en,et,ea,er,eo,eu,es,el,eh,eg,ec,ed,ep={};L.r(ep),L.d(ep,{T:()=>eS});var ef={};L.r(ef),L.d(ef,{n:()=>eE,p:()=>eL});var em={};L.r(em),L.d(em,{F:()=>mH});var ey={};L.r(ey),L.d(ey,{c:()=>eB});class eS{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 eb extends Error{constructor(e){super(e),this.name="ConfigurationError"}}class eC extends Error{statusCode;response;constructor(e,i,n){super(e),this.name="APIError",this.statusCode=i,this.response=n}}class eT extends Error{originalError;constructor(e,i){super(e),this.originalError=i,this.name="NetworkError"}}class ew extends Error{constructor(e){super(e),this.name="ValidationError"}}class ex{config;axiosInstance;verbose;constructor(e,i,n=!1){this.config=e||new eS,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 eC(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 eC(a.response.data?.message||a.message,a.response.status,a.response.data);else throw new eT(a.message);throw new eT("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 eC(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 eC(a.response.data?.message||a.message,a.response.status,a.response.data);else throw new eT(a.message);throw new eT("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 eE=["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 eL{static extractForwardHeaders(e){let i={};return e instanceof Headers?eE.forEach(n=>{let t=e.get(n);t&&(i[n]=t)}):eE.forEach(n=>{let t=e[n]||e[n.toLowerCase()];t&&(i[n]=t)}),i}}class e_{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(e_.PRESET_SIZES.includes(e))return e;let i=e.match(/^(\d+)x(\d+)$/);if(!i)throw Error(`Invalid size format. Must be ${JSON.stringify(e_.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<e_.MIN_TOTAL_PIXELS||a>e_.MAX_TOTAL_PIXELS)throw Error(`Total pixels must be between ${e_.MIN_TOTAL_PIXELS.toLocaleString()} and ${e_.MAX_TOTAL_PIXELS.toLocaleString()}. Got: ${a.toLocaleString()} (${n}x${t})`);let r=n/t;if(r<e_.MIN_ASPECT_RATIO||r>e_.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 e_.DEFAULT_SIZE}}class eY{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||e_.DEFAULT_SIZE);return{model:i,prompt:e.prompt,size:n,watermark:e.watermark??e_.DEFAULT_WATERMARK,image:e.image,response_format:e.responseFormat||e_.DEFAULT_RESPONSE_FORMAT,optimize_prompt_options:{mode:e.optimizePromptMode||e_.DEFAULT_OPTIMIZE_PROMPT_MODE},sequential_image_generation:e.sequentialImageGeneration||e_.DEFAULT_SEQUENTIAL_IMAGE_GENERATION,sequential_image_generation_options:{max_images:e.sequentialImageGenerationMaxImages||e_.DEFAULT_SEQUENTIAL_IMAGE_GENERATION_MAX_IMAGES}}}class eD extends ex{constructor(e,i,n=!1){super(e,i,n)}async generate(e){let i=e.model||e_.DEFAULT_MODEL,n=buildImageGenerationApiRequest(e,i),t=await this.request("POST",`${this.config.baseUrl}/api/v3/images/generations`,n);if(t.error)throw new eC(`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 eC(`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 eY(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 ev extends ex{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 eC(`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 eA{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||eA.DEFAULT_SPEAKER,audio_params:{format:e.audioFormat||eA.DEFAULT_AUDIO_FORMAT,sample_rate:e.sampleRate||eA.DEFAULT_SAMPLE_RATE,speech_rate:e.speechRate??eA.DEFAULT_SPEECH_RATE,loudness_rate:e.loudnessRate??eA.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 eN extends ex{constructor(e,i,n=!1){super(e,i,n)}async synthesize(e){if(!e.text&&!e.ssml)throw new ew("必须提供 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 eC(`TTS 请求失败: ${e.message}`,e.response.status,e.response.data);throw new eC(`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 eC(`合成音频失败: ${o.message||""}`,o.code))}catch(e){n(new eC(`响应解析失败: ${e.message}`,500));return}}),e.data.on("end",()=>{t||0!==a?i({audioUri:t,audioSize:a}):n(new eC("未收到完整的音频数据",500))}),e.data.on("error",e=>{n(new eC(`流处理错误: ${e.message}`,500))})})}}class eP extends ex{constructor(e,i,n=!1){super(e,i,n)}async recognize(e){if(!e.url&&!e.base64Data)throw new ew("必须提供 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 eC(`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 eC)throw e;throw new eC(`ASR 请求异常: ${e.message}`,500)}}}class eZ{static DEFAULT_MODEL="doubao-seedance-1-5-pro-251215";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 eR extends ex{baseUrl;constructor(e,i,n=!1){super(e,i,n),this.baseUrl=this.config.baseUrl}async videoGeneration(e,i){let n=(i?.maxWaitTime??900)*1e3,t={model:i?.model||eZ.DEFAULT_MODEL,content:e};i?.callbackUrl&&(t.callback_url=i.callbackUrl),i?.returnLastFrame&&(t.return_last_frame=i.returnLastFrame),t.resolution=i?.resolution??eZ.DEFAULT_RESOLUTION,t.ratio=i?.ratio??eZ.DEFAULT_RATIO,t.duration=i?.duration??eZ.DEFAULT_DURATION,t.watermark=i?.watermark??eZ.DEFAULT_WATERMARK,i?.seed!==void 0&&(t.seed=i.seed),t.camerafixed=i?.camerafixed??eZ.DEFAULT_CAMERA_FIXED,t.generate_audio=i?.generateAudio??eZ.DEFAULT_GENERATE_AUDIO;let a=null,r=0;for(;r<3;)try{if(!(a=(await this.request("POST",`${this.baseUrl}/api/v3/contents/generations/tasks`,t)).id))throw new eC("创建视频生成任务失败:响应中缺少任务ID",500);this.verbose&&console.log(`视频生成任务创建成功,任务ID: ${a}`);break}catch(i){r++;let e=i instanceof Error?i.message:String(i);if(this.verbose&&console.error(`创建视频生成任务失败(尝试 ${r}/3): ${e}`),r>=3)throw new eC(`创建视频生成任务失败,已重试3次: ${e}`,500);if(e.toLowerCase().includes("rate limit")||e.includes("429")){let e=Math.min(2**r*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 o=Date.now(),u=0;for(;Date.now()-o<n;){u++;try{let e=await this.request("GET",`${this.baseUrl}/api/v3/contents/generations/tasks/${a}`),i=e.status;if(this.verbose&&console.log(`任务 ${a} 状态检查 #${u}: ${i}`),"succeeded"===i){let i=e.content?.video_url||null,n=e.content?.last_frame_url||"";if(!i)throw new eC(`视频生成成功但响应中缺少视频URL,任务ID: ${a}`,500);return this.verbose&&console.log(`视频生成成功,任务ID: ${a}, 视频URL: ${i}`),{videoUrl:i,response:e,lastFrameUrl:n}}if("failed"===i){let i=e.error_message||"未知错误";throw this.verbose&&console.error(`视频生成失败,任务ID: ${a}, 错误: ${i}`),new eC(`视频生成失败: ${i}`,500)}if("cancelled"===i)return this.verbose&&console.warn(`视频生成任务被取消,任务ID: ${a}`),{videoUrl:null,response:e,lastFrameUrl:""};else if("queued"===i||"running"===i){await this.sleep(5e3);continue}else{this.verbose&&console.warn(`未知的任务状态: ${i},任务ID: ${a}`),await this.sleep(5e3);continue}}catch(i){let e=i instanceof Error?i.message:String(i);if(this.verbose&&console.error(`查询任务状态失败,任务ID: ${a}, 错误: ${e}`),e.toLowerCase().includes("not found")||e.includes("404"))throw new eC(`任务不存在或已过期,任务ID: ${a}`,404);if(Date.now()-o>=n)throw i;await this.sleep(5e3);continue}}let s=Math.floor((Date.now()-o)/1e3);throw this.verbose&&console.error(`视频生成超时,任务ID: ${a}, 已等待: ${s}秒`),new eC(`视频生成超时,已等待 ${s} 秒,任务ID: ${a}`,408)}async videoGenerationAsync(e,i){return this.videoGeneration(e,i)}}class eM{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 eJ extends ex{baseUrl;constructor(e,i,n=!1){super(e,i,n),this.baseUrl=this.config.baseUrl}async extractByKeyFrame(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 eC(`Key frame extraction failed: ${i.msg||"Unknown error"}`,i.code);return i}async extractByInterval(e,i){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 eC(`Interval frame extraction failed: ${n.msg||"Unknown error"}`,n.code);return n}async extractByCount(e,i){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 eC(`Count-based frame extraction failed: ${n.msg||"Unknown error"}`,n.code);return n}}class ek extends ex{baseUrl;constructor(e,i,n=!1){super(e,i,n),this.baseUrl=this.config.baseUrl}validateUrlExpire(e,i=eM.MIN_URL_EXPIRE){if(void 0===e)return eM.DEFAULT_URL_EXPIRE;if(e<i||e>eM.MAX_URL_EXPIRE)throw new eC(`url_expire must be between ${i} and ${eM.MAX_URL_EXPIRE} seconds`,400);return e}async addSubtitles(e,i,n){let t=this.validateUrlExpire(n?.urlExpire),a={video:e,subtitle_config:{background_border_width:i.background_border_width??eM.DEFAULT_BACKGROUND_BORDER_WIDTH,font_type:i.font_type??eM.DEFAULT_FONT_TYPE,font_pos_config:{height:i.font_pos_config.height??eM.DEFAULT_FONT_POS_HEIGHT,pos_x:i.font_pos_config.pos_x??eM.DEFAULT_FONT_POS_X,pos_y:i.font_pos_config.pos_y??eM.DEFAULT_FONT_POS_Y,width:i.font_pos_config.width??eM.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 eC(`Add subtitles failed, status code: ${o}, error: ${u}`,parseInt(o)||500);if(!r.data.url)throw new eC("Add subtitles failed: returned URL is empty",500);return r.data}async concatVideos(e,i){if(!e||0===e.length)throw new eC("videos list cannot be empty",400);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 eC(`Concat videos failed, status code: ${a}, error: ${r}`,parseInt(a)||500);if(!t.data.url)throw new eC("Concat videos failed: returned URL is empty",500);return t.data}async compileVideoAudio(e,i,n){let t={video:e,audio:i,url_expire:this.validateUrlExpire(n?.urlExpire)};n?.isVideoAudioSync!==void 0&&(t.is_video_audio_sync=n.isVideoAudioSync),n?.outputSync&&(t.output_sync={sync_method:n.outputSync.sync_method??eM.DEFAULT_SYNC_METHOD,sync_mode:n.outputSync.sync_mode??eM.DEFAULT_SYNC_MODE}),n?.isAudioReserve!==void 0&&(t.is_audio_reserve=n.isAudioReserve);let a=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=compile_video_audio`,t),r=a.headers["x-api-status-code"]||"0",o=a.headers["x-api-message"]||"";if("0"!==r)throw new eC(`Compile video audio failed, status code: ${r}, error: ${o}`,parseInt(r)||500);if(!a.data.url)throw new eC("Compile video audio failed: returned URL is empty",500);return a.data}async audioToSubtitle(e,i){let n={source:e,url_expire:this.validateUrlExpire(i?.urlExpire)};i?.subtitleType&&(n.subtitle_type=i.subtitleType);let t=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=audio_to_subtitle`,n),a=t.headers["x-api-status-code"]||"0",r=t.headers["x-api-message"]||"";if("0"!==a)throw new eC(`Audio to subtitle failed, status code: ${a}, error: ${r}`,parseInt(a)||500);if(!t.data.url)throw new eC("Audio to subtitle failed: returned URL is empty",500);return t.data}async extractAudio(e,i){let n={video:e,url_expire:this.validateUrlExpire(i?.urlExpire,eM.MIN_AUDIO_URL_EXPIRE)};i?.format&&(n.format=i.format);let t=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=audio_extract`,n),a=t.headers["x-api-status-code"]||"0",r=t.headers["x-api-message"]||"";if("0"!==a)throw new eC(`Extract audio failed, status code: ${a}, error: ${r}`,parseInt(a)||500);if(!t.data.url)throw new eC("Extract audio failed: returned URL is empty",500);return t.data}async videoTrim(e,i){let n=this.validateUrlExpire(i?.urlExpire);if(i?.startTime!==void 0&&i.startTime<0)throw new eC("start_time must be greater than or equal to 0",400);if(i?.endTime!==void 0&&i.endTime<0)throw new eC("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 eC(`Video trim failed, status code: ${r}, error: ${o}`,parseInt(r)||500);if(!a.data.url)throw new eC("Video trim failed: returned URL is empty",500);return a.data}}let eB={MODEL:"doubao-seed-1-8-251228",THINKING:"disabled",CACHING:"disabled",TEMPERATURE:1,STREAMING:!0};class eH{config;customHeaders;constructor(e,i){this.config=e||new eS,this.customHeaders=i}createLLM(e,i,n){let t={};t.thinking={type:e.thinking??eB.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 Y({model:e.model||eB.MODEL,apiKey:this.config.apiKey,configuration:{baseURL:this.config.modelBaseUrl,defaultHeaders:a},streaming:void 0!==e.streaming?e.streaming:eB.STREAMING,temperature:void 0!==e.temperature?e.temperature:eB.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 A(i);case"user":return new v(i);case"assistant":return new D(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){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 eF=((F={})[F.TEXT=0]="TEXT",F[F.URL=1]="URL",F[F.URI=2]="URI",F);class eX extends ex{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 eI=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,eI))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(eI in n&&n[eI]===i[eI])return!0;n=Object.getPrototypeOf(n)}return!1}Symbol.for("drizzle:hasOwnEntityKind");class eO{static [eI]="ConsoleLogWriter";write(e){console.log(e)}}class eQ{static [eI]="DefaultLogger";writer;constructor(e){this.writer=e?.writer??new eO}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 eG{static [eI]="NoopLogger";logQuery(){}}class eU{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 [eI]="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 eK{static [eI]="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 e$=Symbol.for("drizzle:Name");class ez{static [eI]="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 eW(e,this)}}class eW{constructor(e,i){this.table=e,this.reference=i.reference,this.onUpdate=i._onUpdate,this.onDelete=i._onDelete}static [eI]="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[e$],...t,n[0].table[e$],...a];return e??`${r.join("_")}_fk`}}function iife(e,...i){return e(...i)}function uniqueKeyName(e,i){return`${e[e$]}_${i.join("_")}_unique`}class ej{constructor(e,i){this.name=i,this.columns=e}static [eI]=null;columns;nullsNotDistinctConfig=!1;nullsNotDistinct(){return this.nullsNotDistinctConfig=!0,this}build(e){return new e0(e,this.columns,this.nullsNotDistinctConfig,this.name)}}class eV{static [eI]=null;name;constructor(e){this.name=e}on(...e){return new ej(e,this.name)}}class e0{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 [eI]=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 e1 extends eK{foreignKeyConfigs=[];static [eI]="PgColumnBuilder";array(e){return new e8(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 ez(()=>({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 e2(e,this.config)}}class e3 extends eU{constructor(e,i){i.uniqueName||(i.uniqueName=uniqueKeyName(e,[i.name])),super(e,i),this.table=e}static [eI]="PgColumn"}class e2 extends e3{static [eI]="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 e4{static [eI]=null;constructor(e,i,n,t){this.name=e,this.keyAsName=i,this.type=n,this.indexConfig=t}name;keyAsName;type;indexConfig}class e8 extends e1{static [eI]="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 e6(e,this.config,i)}}class e6 extends e3{constructor(e,i,n,t){super(e,i),this.baseColumn=n,this.range=t,this.size=i.size}size;static [eI]="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,e6)?this.baseColumn.mapToDriverValue(e,!0):this.baseColumn.mapToDriverValue(e));return i?n:makePgArray(n)}}class e5 extends e1{static [eI]="PgEnumObjectColumnBuilder";constructor(e,i){super(e,"string","PgEnumObjectColumn"),this.config.enum=i}build(e){return new e7(e,this.config)}}class e7 extends e3{static [eI]="PgEnumObjectColumn";enum;enumValues=this.config.enum.enumValues;constructor(e,i){super(e,i),this.enum=i.enum}getSQLType(){return this.enum.enumName}}let e9=Symbol.for("drizzle:isPgEnum");function isPgEnum(e){return!!e&&"function"==typeof e&&e9 in e&&!0===e[e9]}class ie extends e1{static [eI]="PgEnumColumnBuilder";constructor(e,i){super(e,"string","PgEnumColumn"),this.config.enum=i}build(e){return new it(e,this.config)}}class it extends e3{static [eI]="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 ia{static [eI]="Subquery";constructor(e,i,n,t=!1,a=[]){this._={brand:"Subquery",sql:e,selectedFields:i,alias:n,isWith:t,usedTables:a}}}class ir extends ia{static [eI]="WithSubquery"}let io=(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(),iu=Symbol.for("drizzle:ViewBaseConfig"),is=Symbol.for("drizzle:Schema"),il=Symbol.for("drizzle:Columns"),ih=Symbol.for("drizzle:ExtraConfigColumns"),ig=Symbol.for("drizzle:OriginalName"),ic=Symbol.for("drizzle:BaseName"),id=Symbol.for("drizzle:IsAlias"),ip=Symbol.for("drizzle:ExtraConfigBuilder"),im=Symbol.for("drizzle:IsDrizzleTable");class iy{static [eI]="Table";static Symbol={Name:e$,Schema:is,OriginalName:ig,Columns:il,ExtraConfigColumns:ih,BaseName:ic,IsAlias:id,ExtraConfigBuilder:ip};[e$];[ig];[is];[il];[ih];[ic];[id]=!1;[im]=!0;[ip]=void 0;constructor(e,i,n){this[e$]=this[ig]=e,this[is]=i,this[ic]=n}}function getTableUniqueName(e){return`${e[is]??"public"}.${e[e$]}`}class iS{static [eI]=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 ib{static [eI]="StringChunk";value;constructor(e){this.value=Array.isArray(e)?e:[e]}getSQL(){return new iC([this])}}class iC{constructor(e){for(let i of(this.queryChunks=e,e))if(entity_is(i,iy)){let e=i[iy.Symbol.Schema];this.usedTables.push(void 0===e?i[iy.Symbol.Name]:e+"."+i[iy.Symbol.Name])}}static [eI]="SQL";decoder=iw;shouldInlineParams=!1;usedTables=[];append(e){return this.queryChunks.push(...e.queryChunks),this}toQuery(e){return io("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,ib))return{sql:e.value.join(""),params:[]};if(entity_is(e,iT))return{sql:a(e.value),params:[]};if(void 0===e)return{sql:"",params:[]};if(Array.isArray(e)){let i=[new ib("(")];for(let[n,t]of e.entries())i.push(t),n<e.length-1&&i.push(new ib(", "));return i.push(new ib(")")),this.buildQueryFromSourceParams(i,n)}if(entity_is(e,iC))return this.buildQueryFromSourceParams(e.queryChunks,{...n,inlineParams:u||e.shouldInlineParams});if(entity_is(e,iy)){let i=e[iy.Symbol.Schema],n=e[iy.Symbol.Name];return{sql:void 0===i||e[id]?a(n):a(i)+"."+a(n),params:[]}}if(entity_is(e,eU)){let n=t.getColumnCasing(e);if("indexes"===i.invokeSource)return{sql:a(n),params:[]};let r=e.table[iy.Symbol.Schema];return{sql:e.table[id]||void 0===r?a(e.table[iy.Symbol.Name])+"."+a(n):a(r)+"."+a(e.table[iy.Symbol.Name])+"."+a(n),params:[]}}if(entity_is(e,iv)){let i=e[iu].schema,n=e[iu].name;return{sql:void 0===i||e[iu].isAlias?a(n):a(i)+"."+a(n),params:[]}}if(entity_is(e,iE)){if(entity_is(e.value,iY))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,iC))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,iY)?{sql:r(s.value++,e),params:[e],typings:["none"]}:entity_is(e,iC.Aliased)&&void 0!==e.fieldAlias?{sql:a(e.fieldAlias),params:[]}:entity_is(e,ia)?e._.isWith?{sql:a(e._.alias),params:[]}:this.buildQueryFromSourceParams([new ib("("),e._.sql,new ib(") "),new iT(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 ib("("),e.getSQL(),new ib(")")],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 iC.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 iT{constructor(e){this.value=e}static [eI]="Name";brand;getSQL(){return new iC([this])}}function isDriverValueEncoder(e){return"object"==typeof e&&null!==e&&"mapToDriverValue"in e&&"function"==typeof e.mapToDriverValue}let iw={mapFromDriverValue:e=>e},ix={mapToDriverValue:e=>e};({...iw,...ix});class iE{constructor(e,i=ix){this.value=e,this.encoder=i}static [eI]="Param";brand;getSQL(){return new iC([this])}}function sql_sql(e,...i){let n=[];for(let[t,a]of((i.length>0||e.length>0&&""!==e[0])&&n.push(new ib(e[0])),i.entries()))n.push(a,new ib(e[t+1]));return new iC(n)}(X=sql_sql||(sql_sql={})).empty=function(){return new iC([])},X.fromList=function(e){return new iC(e)},X.raw=function(e){return new iC([new ib(e)])},X.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 iC(n)},X.identifier=function(e){return new iT(e)},X.placeholder=function(e){return new iY(e)},X.param=function(e,i){return new iE(e,i)};var iL=iC||(iC={});class i_{constructor(e,i){this.sql=e,this.fieldAlias=i}static [eI]="SQL.Aliased";isSelectionField=!1;getSQL(){return this.sql}clone(){return new i_(this.sql,this.fieldAlias)}}iL.Aliased=i_;class iY{constructor(e){this.name=e}static [eI]="Placeholder";getSQL(){return new iC([this])}}function fillPlaceholders(e,i){return e.map(e=>{if(entity_is(e,iY)){if(!(e.name in i))throw Error(`No value for placeholder "${e.name}" was provided`);return i[e.name]}if(entity_is(e,iE)&&entity_is(e.value,iY)){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 iD=Symbol.for("drizzle:IsDrizzleView");class iv{static [eI]="View";[iu];[iD]=!0;constructor({name:e,schema:i,selectedFields:n,query:t}){this[iu]={name:e,originalName:e,schema:i,selectedFields:n,query:t,isExisting:!t,isAlias:!1}}getSQL(){return new iC([this])}}eU.prototype.getSQL=function(){return new iC([this])},iy.prototype.getSQL=function(){return new iC([this])},ia.prototype.getSQL=function(){return new iC([this])};class iA{constructor(e){this.table=e}static [eI]="ColumnAliasProxyHandler";get(e,i){return"table"===i?this.table:e[i]}}class iN{constructor(e,i){this.alias=e,this.replaceOriginalName=i}static [eI]="TableAliasProxyHandler";get(e,i){if(i===iy.Symbol.IsAlias)return!0;if(i===iy.Symbol.Name||this.replaceOriginalName&&i===iy.Symbol.OriginalName)return this.alias;if(i===iu)return{...e[iu],name:this.alias,isAlias:!0};if(i===iy.Symbol.Columns){let i=e[iy.Symbol.Columns];if(!i)return i;let n={};return Object.keys(i).map(t=>{n[t]=new Proxy(i[t],new iA(new Proxy(e,this)))}),n}let n=e[i];return entity_is(n,eU)?new Proxy(n,new iA(new Proxy(e,this))):n}}class iP{constructor(e){this.alias=e}static [eI]=null;get(e,i){return"sourceTable"===i?aliasedTable(e.sourceTable,this.alias):e[i]}}function aliasedTable(e,i){return new Proxy(e,new iN(i,!1))}function aliasedTableColumn(e,i){return new Proxy(e,new iA(new Proxy(e.table,new iN(i,!1))))}function mapColumnsInAliasedSQLToAlias(e,i){return new iC.Aliased(mapColumnsInSQLToAlias(e.sql,i),e.fieldAlias)}function mapColumnsInSQLToAlias(e,i){return sql_sql.join(e.queryChunks.map(e=>entity_is(e,eU)?aliasedTableColumn(e,i):entity_is(e,iC)?mapColumnsInSQLToAlias(e,i):entity_is(e,iC.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 iZ{static [eI]="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[iy.Symbol.Schema]??"public",n=e.table[iy.Symbol.OriginalName],t=`${i}.${n}.${e.name}`;return this.cache[t]||this.cacheTable(e.table),this.cache[t]}cacheTable(e){let i=e[iy.Symbol.Schema]??"public",n=e[iy.Symbol.OriginalName],t=`${i}.${n}`;if(!this.cachedTables[t]){for(let i of Object.values(e[iy.Symbol.Columns])){let e=`${t}.${i.name}`;this.cache[e]=this.convert(i.name)}this.cachedTables[t]=!0}}clearCache(){this.cache={},this.cachedTables={}}}class iR extends Error{static [eI]="DrizzleError";constructor({message:e,cause:i}){super(e),this.name="DrizzleError",this.cause=i}}class iM 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,iM),n&&(this.cause=n)}}class iJ extends iR{static [eI]="TransactionRollbackError";constructor(){super({message:"Rollback"})}}class ik extends e1{static [eI]="PgJsonbBuilder";constructor(e){super(e,"json","PgJsonb")}build(e){return new iB(e,this.config)}}class iB extends e3{static [eI]="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 iH extends e1{static [eI]="PgJsonBuilder";constructor(e){super(e,"json","PgJson")}build(e){return new iF(e,this.config)}}class iF extends e3{static [eI]="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 iX extends e1{static [eI]="PgNumericBuilder";constructor(e,i,n){super(e,"string","PgNumeric"),this.config.precision=i,this.config.scale=n}build(e){return new iI(e,this.config)}}class iI extends e3{static [eI]="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 iO extends e1{static [eI]="PgNumericNumberBuilder";constructor(e,i,n){super(e,"number","PgNumericNumber"),this.config.precision=i,this.config.scale=n}build(e){return new iQ(e,this.config)}}class iQ extends e3{static [eI]="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 iG extends e1{static [eI]="PgNumericBigIntBuilder";constructor(e,i,n){super(e,"bigint","PgNumericBigInt"),this.config.precision=i,this.config.scale=n}build(e){return new iU(e,this.config)}}class iU extends e3{static [eI]="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 iq extends e1{static [eI]="PgDateColumnBaseBuilder";defaultNow(){return this.default(sql_sql`now()`)}}class iK extends iq{constructor(e,i,n){super(e,"string","PgTime"),this.withTimezone=i,this.precision=n,this.config.withTimezone=i,this.config.precision=n}static [eI]="PgTimeBuilder";build(e){return new i$(e,this.config)}}class i$ extends e3{static [eI]="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 iz extends iq{static [eI]="PgTimestampBuilder";constructor(e,i,n){super(e,"date","PgTimestamp"),this.config.withTimezone=i,this.config.precision=n}build(e){return new iW(e,this.config)}}class iW extends e3{static [eI]="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 ij extends iq{static [eI]="PgTimestampStringBuilder";constructor(e,i,n){super(e,"string","PgTimestampString"),this.config.withTimezone=i,this.config.precision=n}build(e){return new iV(e,this.config)}}class iV extends e3{static [eI]="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 i0 extends iq{static [eI]="PgDateBuilder";constructor(e){super(e,"date","PgDate")}build(e){return new i1(e,this.config)}}class i1 extends e3{static [eI]="PgDate";getSQLType(){return"date"}mapFromDriverValue(e){return"string"==typeof e?new Date(e):e}mapToDriverValue(e){return e.toISOString()}}class i3 extends iq{static [eI]="PgDateStringBuilder";constructor(e){super(e,"string","PgDateString")}build(e){return new i2(e,this.config)}}class i2 extends e3{static [eI]="PgDateString";getSQLType(){return"date"}mapFromDriverValue(e){return"string"==typeof e?e:e.toISOString().slice(0,-14)}}class i4 extends e1{static [eI]="PgUUIDBuilder";constructor(e){super(e,"string","PgUUID")}defaultRandom(){return this.default(sql_sql`gen_random_uuid()`)}build(e){return new i8(e,this.config)}}class i8 extends e3{static [eI]="PgUUID";getSQLType(){return"uuid"}}let i6=Symbol.for("drizzle:PgInlineForeignKeys"),i5=Symbol.for("drizzle:EnableRLS");class i7 extends iy{static [eI]="PgTable";static Symbol=Object.assign({},iy.Symbol,{InlineForeignKeys:i6,EnableRLS:i5});[i6]=[];[i5]=!1;[iy.Symbol.ExtraConfigBuilder]=void 0;[iy.Symbol.ExtraConfigColumns]={}}class i9{static [eI]="PgPrimaryKeyBuilder";columns;name;constructor(e,i){this.columns=e,this.name=i}build(e){return new ni(e,this.columns,this.name)}}class ni{constructor(e,i,n){this.table=e,this.columns=i,this.name=n}static [eI]="PgPrimaryKey";columns;name;getName(){return this.name??`${this.table[i7.Symbol.Name]}_${this.columns.map(e=>e.name).join("_")}_pk`}}function bindIfParam(e,i){return!isDriverValueEncoder(i)||isSQLWrapper(e)||entity_is(e,iE)||entity_is(e,iY)||entity_is(e,eU)||entity_is(e,iy)||entity_is(e,iv)?e:new iE(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 iC(1===i.length?i:[new ib("("),sql_sql.join(i,new ib(" and ")),new ib(")")])}function or(...e){let i=e.filter(e=>void 0!==e);if(0!==i.length)return new iC(1===i.length?i:[new ib("("),sql_sql.join(i,new ib(" or ")),new ib(")")])}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 nn{constructor(e,i,n){this.sourceTable=e,this.referencedTable=i,this.relationName=n,this.referencedTableName=i[iy.Symbol.Name]}static [eI]="Relation";referencedTableName;fieldName}class nt{constructor(e,i){this.table=e,this.config=i}static [eI]="Relations"}class na extends nn{constructor(e,i,n,t){super(e,i,n?.relationName),this.config=n,this.isNullable=t}static [eI]="One";withFieldName(e){let i=new na(this.sourceTable,this.referencedTable,this.config,this.isNullable);return i.fieldName=e,i}}class nr extends nn{constructor(e,i,n){super(e,i,n?.relationName),this.config=n}static [eI]="Many";withFieldName(e){let i=new nr(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,iy)&&(e=e.default);let n={},t={},a={};for(let[r,o]of Object.entries(e))if(entity_is(o,iy)){let e=getTableUniqueName(o),i=t[e];for(let t of(n[e]=r,a[r]={tsName:r,dbName:o[iy.Symbol.Name],schema:o[iy.Symbol.Schema],columns:o[iy.Symbol.Columns],relations:i?.relations??{},primaryKey:i?.primaryKey??[]},Object.values(o[iy.Symbol.Columns])))t.primary&&a[r].primaryKey.push(t);let u=o[iy.Symbol.ExtraConfigBuilder]?.(o[iy.Symbol.ExtraConfigColumns]);if(u)for(let e of Object.values(u))entity_is(e,i9)&&a[r].primaryKey.push(...e.columns)}else if(entity_is(o,nt)){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 na(e,i,n,n?.fields.reduce((e,i)=>e&&i.notNull,!0)??!1)}}function createMany(e){return function(i,n){return new nr(e,i,n)}}function normalizeRelation(e,i,n){if(entity_is(n,na)&&n.config)return{fields:n.config.fields,references:n.config.references};let t=i[getTableUniqueName(n.referencedTable)];if(!t)throw Error(`Table "${n.referencedTable[iy.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[iy.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[iy.Symbol.Name]}". Please specify relation name`);if(u[0]&&entity_is(u[0],na)&&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,na)?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,eU)?t:entity_is(t,iC)?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,eU)?r:entity_is(r,iC)?r.decoder:entity_is(r,ia)?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,eU)&&2===a.length){let e=a[0];e in t?"string"==typeof t[e]&&t[e]!==r.table[e$]&&(t[e]=!1):t[e]=null===h&&r.table[e$]}}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,eU)||entity_is(t,iC)||entity_is(t,iC.Aliased)||entity_is(t,ia)?e.push({path:a,field:t}):entity_is(t,iy)?e.push(...orderSelectedFields(t[iy.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,iC)||entity_is(n,eU)?[i,n]:[i,new iE(n,e[iy.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[iy.Symbol.Columns]}function getTableLikeName(e){return entity_is(e,ia)?e._.alias:entity_is(e,iv)?e[iu].name:entity_is(e,iC)?void 0:e[iy.Symbol.IsAlias]?e[iy.Symbol.Name]:e[iy.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 no extends iv{static [eI]="PgViewBase"}class nu{static [eI]="PgDialect";casing;constructor(e){this.casing=new iZ(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
+ 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 n.execute(nM`CREATE SCHEMA IF NOT EXISTS ${nM.identifier(a)}`),await n.execute(u);let o=(await n.all(nM`select id, hash, created_at from ${nM.identifier(a)}.${nM.identifier(t)} order by created_at desc limit 1`))[0];await n.transaction(async n=>{for await(let i of e)if(!o||Number(o.created_at)<i.folderMillis){for(let e of i.sql)await n.execute(nM.raw(e));await n.execute(nM`insert into ${nM.identifier(a)}.${nM.identifier(t)} ("hash", "created_at") values(${i.hash}, ${i.folderMillis})`)}})}escapeName(e){return`"${e}"`}escapeParam(e){return`$${e+1}`}escapeString(e){return`'${e.replace(/'/g,"''")}'`}buildWithCTE(e){if(!e?.length)return;let n=[nM`with `];for(let[i,t]of e.entries())n.push(nM`${nM.identifier(t._.alias)} as (${t._.sql})`),i<e.length-1&&n.push(nM`, `);return n.push(nM` `),nM.join(n)}buildDeleteQuery({table:e,where:n,returning:i,withList:t}){let a=this.buildWithCTE(t),u=i?nM` returning ${this.buildSelection(i,{isSingleTable:!0})}`:void 0,o=n?nM` where ${n}`:void 0;return nM`${a}delete from ${e}${o}${u}`}buildUpdateSet(e,n){let i=e[nL.Symbol.Columns],t=Object.keys(i).filter(e=>void 0!==n[e]||i[e]?.onUpdateFn!==void 0),a=t.length;return nM.join(t.flatMap((e,t)=>{let u=i[e],o=u.onUpdateFn?.(),r=n[e]??(ez(o,nZ)?o:nM.param(o,u)),s=nM`${nM.identifier(this.casing.getColumnCasing(u))} = ${r}`;return t<a-1?[s,nM.raw(", ")]:[s]}))}buildUpdateQuery({table:e,set:n,where:i,returning:t,withList:a,from:u,joins:o}){let r=this.buildWithCTE(a),s=e[iS.Symbol.Name],l=e[iS.Symbol.Schema],h=e[iS.Symbol.OriginalName],g=s===h?void 0:s,c=nM`${l?nM`${nM.identifier(l)}.`:void 0}${nM.identifier(h)}${g&&nM` ${nM.identifier(g)}`}`,d=this.buildUpdateSet(e,n),p=u&&nM.join([nM.raw(" from "),this.buildFromTable(u)]),f=this.buildJoins(o),m=t?nM` returning ${this.buildSelection(t,{isSingleTable:!u})}`:void 0,y=i?nM` where ${i}`:void 0;return nM`${r}update ${c} set ${d}${p}${f}${y}${m}`}buildSelection(e,{isSingleTable:n=!1}={}){let i=e.length,t=e.flatMap(({field:e},t)=>{let a=[];if(ez(e,nZ.Aliased)&&e.isSelectionField)a.push(nM.identifier(e.fieldAlias));else if(ez(e,nZ.Aliased)||ez(e,nZ)){let i=ez(e,nZ.Aliased)?e.sql:e;n?a.push(new nZ(i.queryChunks.map(e=>ez(e,ni)?nM.identifier(this.casing.getColumnCasing(e)):e))):a.push(i),ez(e,nZ.Aliased)&&a.push(nM` as ${nM.identifier(e.fieldAlias)}`)}else if(ez(e,e0))n?a.push(nM.identifier(this.casing.getColumnCasing(e))):a.push(e);else if(ez(e,nc)){let n=Object.entries(e._.selectedFields);if(1===n.length){let i=n[0][1],t=ez(i,nZ)?i.decoder:ez(i,e0)?{mapFromDriverValue:e=>i.mapFromDriverValue(e)}:i.sql.decoder;t&&(e._.sql.decoder=t)}a.push(e)}return t<i-1&&a.push(nM`, `),a});return nM.join(t)}buildJoins(e){if(!e||0===e.length)return;let n=[];for(let[i,t]of e.entries()){0===i&&n.push(nM` `);let a=t.table,u=t.lateral?nM` lateral`:void 0,o=t.on?nM` on ${t.on}`:void 0;if(ez(a,iS)){let e=a[iS.Symbol.Name],i=a[iS.Symbol.Schema],r=a[iS.Symbol.OriginalName],s=e===r?void 0:t.alias;n.push(nM`${nM.raw(t.joinType)} join${u} ${i?nM`${nM.identifier(i)}.`:void 0}${nM.identifier(r)}${s&&nM` ${nM.identifier(s)}`}${o}`)}else if(ez(a,nk)){let e=a[nf].name,i=a[nf].schema,r=a[nf].originalName,s=e===r?void 0:t.alias;n.push(nM`${nM.raw(t.joinType)} join${u} ${i?nM`${nM.identifier(i)}.`:void 0}${nM.identifier(r)}${s&&nM` ${nM.identifier(s)}`}${o}`)}else n.push(nM`${nM.raw(t.joinType)} join${u} ${a}${o}`);i<e.length-1&&n.push(nM` `)}return nM.join(n)}buildFromTable(e){if(ez(e,nL)&&e[nL.Symbol.IsAlias]){let n=nM`${nM.identifier(e[nL.Symbol.OriginalName])}`;return e[nL.Symbol.Schema]&&(n=nM`${nM.identifier(e[nL.Symbol.Schema])}.${n}`),nM`${n} ${nM.identifier(e[nL.Symbol.Name])}`}return e}buildSelectQuery({withList:e,fields:n,fieldsFlat:i,where:t,having:a,table:u,joins:o,orderBy:r,groupBy:s,limit:l,offset:h,lockingClause:g,distinct:c,setOperators:d}){let p,f,m,y=i??iz(n);for(let e of y){let n;if(ez(e.field,e0)&&e.field.table[e3]!==(ez(u,nc)?u._.alias:ez(u,i0)?u[nf].name:ez(u,nZ)?void 0:u[e3])&&(n=e.field.table,!o?.some(({alias:e})=>e===(n[nL.Symbol.IsAlias]?n[e3]:n[nL.Symbol.BaseName])))){let n=e.field.table[e3];throw Error(`Your "${e.path.join("->")}" field references a column "${n}"."${e.field.name}", but the table "${n}" 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?nM` distinct`:nM` distinct on (${nM.join(c.on,nM`, `)})`);let C=this.buildSelection(y,{isSingleTable:S}),w=this.buildFromTable(u),T=this.buildJoins(o),x=t?nM` where ${t}`:void 0,L=a?nM` having ${a}`:void 0;r&&r.length>0&&(f=nM` order by ${nM.join(r,nM`, `)}`),s&&s.length>0&&(m=nM` group by ${nM.join(s,nM`, `)}`);let E="object"==typeof l||"number"==typeof l&&l>=0?nM` limit ${l}`:void 0,Y=h?nM` offset ${h}`:void 0,D=nM.empty();if(g){let e=nM` for ${nM.raw(g.strength)}`;g.config.of&&e.append(nM` of ${nM.join(Array.isArray(g.config.of)?g.config.of:[g.config.of],nM`, `)}`),g.config.noWait?e.append(nM` nowait`):g.config.skipLocked&&e.append(nM` skip locked`),D.append(e)}let v=nM`${b}select${p} ${C} from ${w}${T}${x}${m}${L}${f}${E}${Y}${D}`;return d.length>0?this.buildSetOperations(v,d):v}buildSetOperations(e,n){let[i,...t]=n;if(!i)throw Error("Cannot pass undefined values to any set operator");return 0===t.length?this.buildSetOperationQuery({leftSelect:e,setOperator:i}):this.buildSetOperations(this.buildSetOperationQuery({leftSelect:e,setOperator:i}),t)}buildSetOperationQuery({leftSelect:e,setOperator:{type:n,isAll:i,rightSelect:t,limit:a,orderBy:u,offset:o}}){let r,s=nM`(${e.getSQL()}) `,l=nM`(${t.getSQL()})`;if(u&&u.length>0){let e=[];for(let n of u)if(ez(n,ni))e.push(nM.identifier(n.name));else if(ez(n,nZ)){for(let e=0;e<n.queryChunks.length;e++){let i=n.queryChunks[e];ez(i,ni)&&(n.queryChunks[e]=nM.identifier(i.name))}e.push(nM`${n}`)}else e.push(nM`${n}`);r=nM` order by ${nM.join(e,nM`, `)} `}let h="object"==typeof a||"number"==typeof a&&a>=0?nM` limit ${a}`:void 0,g=nM.raw(`${n} ${i?"all ":""}`),c=o?nM` offset ${o}`:void 0;return nM`${s}${g}${l}${r}${h}${c}`}buildInsertQuery({table:e,values:n,onConflict:i,returning:t,withList:a,select:u,overridingSystemValue_:o}){let r=[],s=Object.entries(e[nL.Symbol.Columns]).filter(([e,n])=>!n.shouldDisableInsert()),l=s.map(([,e])=>nM.identifier(this.casing.getColumnCasing(e)));if(u)ez(n,nZ)?r.push(n):r.push(n.getSQL());else for(let[e,i]of(r.push(nM.raw("values ")),n.entries())){let t=[];for(let[e,n]of s){let a=i[e];if(void 0===a||ez(a,nP)&&void 0===a.value)if(void 0!==n.defaultFn){let e=n.defaultFn(),i=ez(e,nZ)?e:nM.param(e,n);t.push(i)}else if(n.default||void 0===n.onUpdateFn)t.push(nM`default`);else{let e=n.onUpdateFn(),i=ez(e,nZ)?e:nM.param(e,n);t.push(i)}else t.push(a)}r.push(t),e<n.length-1&&r.push(nM`, `)}let h=this.buildWithCTE(a),g=nM.join(r),c=t?nM` returning ${this.buildSelection(t,{isSingleTable:!0})}`:void 0,d=i?nM` on conflict ${i}`:void 0,p=!0===o?nM`overriding system value `:void 0;return nM`${h}insert into ${e} ${l} ${p}${g}${d}${c}`}buildRefreshMaterializedViewQuery({view:e,concurrently:n,withNoData:i}){let t=n?nM` concurrently`:void 0,a=i?nM` with no data`:void 0;return nM`refresh materialized view${t} ${e}${a}`}prepareTyping(e){if(ez(e,n3)||ez(e,n4))return"json";if(ez(e,n8))return"decimal";if(ez(e,ia))return"time";if(ez(e,io)||ez(e,is))return"timestamp";if(ez(e,ih)||ez(e,ic))return"date";else if(ez(e,ip))return"uuid";else return"none"}sqlToQuery(e,n){return e.toQuery({casing:this.casing,escapeName:this.escapeName,escapeParam:this.escapeParam,escapeString:this.escapeString,prepareTyping:this.prepareTyping,invokeSource:n})}buildRelationalQueryWithoutPK({fullSchema:e,schema:n,tableNamesMap:i,table:t,tableConfig:a,queryConfig:u,tableAlias:o,nestedQueryRelation:r,joinOn:s}){let l,h=[],g,c,d=[],p,f=[];if(!0===u)h=Object.entries(a.columns).map(([e,n])=>({dbKey:n.name,tsKey:e,field:nG(n,o),relationTableTsKey:void 0,isJson:!1,selection:[]}));else{let t=Object.fromEntries(Object.entries(a.columns).map(([e,n])=>[e,nG(n,o)]));if(u.where){let e="function"==typeof u.where?u.where(t,{and:iL,between:iB,eq:iT,exists:iR,gt:iD,gte:iv,ilike:iF,inArray:iA,isNull:iP,isNotNull:iM,like:iH,lt:iZ,lte:iN,ne:ix,not:iY,notBetween:iX,notExists:i_,notLike:ik,notIlike:iQ,notInArray:iJ,or:iE,sql:nM}):u.where;p=e&&nK(e,o)}let r=[],s=[];if(u.columns){let e=!1;for(let[n,i]of Object.entries(u.columns))void 0!==i&&n in a.columns&&(e||!0!==i||(e=!0),s.push(n));s.length>0&&(s=e?s.filter(e=>u.columns?.[e]===!0):Object.keys(a.columns).filter(e=>!s.includes(e)))}else s=Object.keys(a.columns);for(let e of s){let n=a.columns[e];r.push({tsKey:e,value:n})}let l=[];if(u.with&&(l=Object.entries(u.with).filter(e=>!!e[1]).map(([e,n])=>({tsKey:e,queryConfig:n,relation:a.relations[e]}))),u.extras)for(let[e,n]of Object.entries("function"==typeof u.extras?u.extras(t,{sql:nM}):u.extras))r.push({tsKey:e,value:n$(n,o)});for(let{tsKey:e,value:n}of r)h.push({dbKey:ez(n,nZ.Aliased)?n.fieldAlias:a.columns[e].name,tsKey:e,field:ez(n,e0)?nG(n,o):n,relationTableTsKey:void 0,isJson:!1,selection:[]});let m="function"==typeof u.orderBy?u.orderBy(t,{sql:nM,asc:iI,desc:iO}):u.orderBy??[];for(let{tsKey:t,queryConfig:a,relation:r}of(Array.isArray(m)||(m=[m]),d=m.map(e=>ez(e,e0)?nG(e,o):nK(e,o)),g=u.limit,c=u.offset,l)){let u=function(e,n,i){if(ez(i,iK)&&i.config)return{fields:i.config.fields,references:i.config.references};let t=n[nE(i.referencedTable)];if(!t)throw Error(`Table "${i.referencedTable[nL.Symbol.Name]}" not found in schema`);let a=e[t];if(!a)throw Error(`Table "${t}" not found in schema`);let u=i.sourceTable,o=n[nE(u)];if(!o)throw Error(`Table "${u[nL.Symbol.Name]}" not found in schema`);let r=[];for(let e of Object.values(a.relations))(i.relationName&&i!==e&&e.relationName===i.relationName||!i.relationName&&e.referencedTable===i.sourceTable)&&r.push(e);if(r.length>1)throw i.relationName?Error(`There are multiple relations with name "${i.relationName}" in table "${t}"`):Error(`There are multiple relations between "${t}" and "${i.sourceTable[nL.Symbol.Name]}". Please specify relation name`);if(r[0]&&ez(r[0],iK)&&r[0].config)return{fields:r[0].config.references,references:r[0].config.fields};throw Error(`There is not enough information to infer relation "${o}.${i.fieldName}"`)}(n,i,r),s=i[nE(r.referencedTable)],l=`${o}_${t}`,g=iL(...u.fields.map((e,n)=>iT(nG(u.references[n],l),nG(e,o)))),c=this.buildRelationalQueryWithoutPK({fullSchema:e,schema:n,tableNamesMap:i,table:e[s],tableConfig:n[s],queryConfig:ez(r,iK)?!0===a?{limit:1}:{...a,limit:1}:a,tableAlias:l,joinOn:g,nestedQueryRelation:r}),d=nM`${nM.identifier(l)}.${nM.identifier("data")}`.as(t);f.push({on:nM`true`,table:new nc(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 nq({message:`No fields selected for table "${a.tsName}" ("${o}")`});if(p=iL(s,p),r){let e=nM`json_build_array(${nM.join(h.map(({field:e,tsKey:n,isJson:i})=>i?nM`${nM.identifier(`${o}_${n}`)}.${nM.identifier("data")}`:ez(e,nZ.Aliased)?e.sql:e),nM`, `)})`;ez(r,iU)&&(e=nM`coalesce(json_agg(${e}${d.length>0?nM` order by ${nM.join(d,nM`, `)}`:void 0}), '[]'::json)`);let n=[{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:nO(t,o),fields:{},fieldsFlat:[{path:[],field:nM.raw("*")}],where:p,limit:g,offset:c,orderBy:d,setOperators:[]}),p=void 0,g=void 0,c=void 0,d=[]):l=nO(t,o),l=this.buildSelectQuery({table:ez(l,iS)?l:new nc(l,{},o),fields:{},fieldsFlat:n.map(({field:e})=>({path:[],field:ez(e,e0)?nG(e,o):e})),joins:f,where:p,limit:g,offset:c,orderBy:d,setOperators:[]})}else l=this.buildSelectQuery({table:nO(t,o),fields:{},fieldsFlat:h.map(({field:e})=>({path:[],field:ez(e,e0)?nG(e,o):e})),joins:f,where:p,limit:g,offset:c,orderBy:d,setOperators:[]});return{tableTsKey:a.tsName,sql:l,selection:h}}}class i3{static [eW]="SelectionProxyHandler";config;constructor(e){this.config={...e}}get(e,n){if("_"===n)return{...e._,selectedFields:new Proxy(e._.selectedFields,this)};if(n===nf)return{...e[nf],selectedFields:new Proxy(e[nf].selectedFields,this)};if("symbol"==typeof n)return e[n];let i=(ez(e,nc)?e._.selectedFields:ez(e,nk)?e[nf].selectedFields:e)[n];if(ez(i,nZ.Aliased)){if("sql"===this.config.sqlAliasedBehavior&&!i.isSelectionField)return i.sql;let e=i.clone();return e.isSelectionField=!0,e}if(ez(i,nZ)){if("sql"===this.config.sqlBehavior)return i;throw Error(`You tried to reference "${n}" 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 ez(i,e0)?this.config.alias?new Proxy(i,new nF(new Proxy(i.table,new nQ(this.config.alias,this.config.replaceOriginalName??!1)))):i:"object"!=typeof i||null===i?i:new Proxy(i,new i3(this.config))}}class i2{static [eW]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}class i4{static [eW]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch(e){return this.then(void 0,e)}finally(e){return this.then(n=>(e?.(),n),n=>{throw e?.(),n})}then(e,n){return this.execute().then(e,n)}}function i6(e){return ez(e,iS)?[e[nm]?`${e[nm]}.${e[nL.Symbol.BaseName]}`:e[nL.Symbol.BaseName]]:ez(e,nc)?e._.usedTables??[]:ez(e,nZ)?e.usedTables??[]:[]}class i8{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 n,i=!!this.fields;return n=this.fields?this.fields:ez(e,nc)?Object.fromEntries(Object.keys(e._.selectedFields).map(n=>[n,e[n]])):ez(e,i0)?e[nf].selectedFields:ez(e,nZ)?{}:e[nL.Symbol.Columns],new i7({table:e,fields:n,isPartialSelect:i,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct}).setToken(this.authToken)}}class i5 extends i2{static [eW]="PgSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;cacheConfig=void 0;usedTables=new Set;constructor({table:e,fields:n,isPartialSelect:i,session:t,dialect:a,withList:u,distinct:o}){for(let r of(super(),this.config={withList:u,table:e,fields:{...n},distinct:o,setOperators:[]},this.isPartialSelect=i,this.session=t,this.dialect=a,this._={selectedFields:n,config:this.config},this.tableName=iV(e),this.joinsNotNullableMap="string"==typeof this.tableName?{[this.tableName]:!0}:{},i6(e)))this.usedTables.add(r)}getUsedTables(){return[...this.usedTables]}createJoin(e,n){return(i,t)=>{let a=this.tableName,u=iV(i);for(let e of i6(i))this.usedTables.add(e);if("string"==typeof u&&this.config.joins?.some(e=>e.alias===u))throw Error(`Alias "${u}" 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 u&&!ez(i,nZ))){let e=ez(i,nc)?i._.selectedFields:ez(i,nk)?i[nf].selectedFields:i[nL.Symbol.Columns];this.config.fields[u]=e}if("function"==typeof t&&(t=t(new Proxy(this.config.fields,new i3({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.joins||(this.config.joins=[]),this.config.joins.push({on:t,table:i,joinType:e,alias:u,lateral:n}),"string"==typeof u)switch(e){case"left":this.joinsNotNullableMap[u]=!1;break;case"right":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[u]=!0;break;case"cross":case"inner":this.joinsNotNullableMap[u]=!0;break;case"full":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[u]=!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,n){return i=>{let t="function"==typeof i?i(te()):i;if(!ij(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:n,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 i3({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.where=e,this}having(e){return"function"==typeof e&&(e=e(new Proxy(this.config.fields,new i3({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.having=e,this}groupBy(...e){if("function"==typeof e[0]){let n=e[0](new Proxy(this.config.fields,new i3({sqlAliasedBehavior:"alias",sqlBehavior:"sql"})));this.config.groupBy=Array.isArray(n)?n:[n]}else this.config.groupBy=e;return this}orderBy(...e){if("function"==typeof e[0]){let n=e[0](new Proxy(this.config.fields,new i3({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),i=Array.isArray(n)?n:[n];this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=i:this.config.orderBy=i}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,n={}){return this.config.lockingClause={strength:e,config:n},this}getSQL(){return this.dialect.buildSelectQuery(this.config)}toSQL(){let{typings:e,...n}=this.dialect.sqlToQuery(this.getSQL());return n}as(e){let n=[];if(n.push(...i6(this.config.table)),this.config.joins)for(let e of this.config.joins)n.push(...i6(e.table));return new Proxy(new nc(this.getSQL(),this.config.fields,e,!1,[...new Set(n)]),new i3({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new i3({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 i7 extends i5{static [eW]="PgSelect";_prepare(e){let{session:n,config:i,dialect:t,joinsNotNullableMap:a,authToken:u,cacheConfig:o,usedTables:r}=this;if(!n)throw Error("Cannot execute a query on a query builder. Please use a database instance instead.");let{fields:s}=i;return np("drizzle.prepareQuery",()=>{let i=iz(s),l=n.prepareQuery(t.sqlToQuery(this.getSQL()),i,e,!0,void 0,{type:"select",tables:[...r]},o);return l.joinsNotNullableMap=a,l.setToken(u)})}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>np("drizzle.operation",()=>this._prepare().execute(e,this.authToken))}for(let e of[i4])for(let n of Object.getOwnPropertyNames(e.prototype))"constructor"!==n&&Object.defineProperty(i7.prototype,n,Object.getOwnPropertyDescriptor(e.prototype,n)||Object.create(null));function i9(e,n){return(i,t,...a)=>{let u=[t,...a].map(i=>({type:e,isAll:n,rightSelect:i}));for(let e of u)if(!ij(i.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 i.addSetOperators(u)}}let te=()=>({union:tn,unionAll:ti,intersect:tt,intersectAll:ta,except:tu,exceptAll:to}),tn=i9("union",!1),ti=i9("union",!0),tt=i9("intersect",!1),ta=i9("intersect",!0),tu=i9("except",!1),to=i9("except",!0);class tr{static [eW]="PgQueryBuilder";dialect;dialectConfig;constructor(e){this.dialect=ez(e,i1)?e:void 0,this.dialectConfig=ez(e,i1)?void 0:e}$with=(e,n)=>{let i=this;return{as:t=>("function"==typeof t&&(t=t(i)),new Proxy(new nd(t.getSQL(),n??("getSelectedFields"in t?t.getSelectedFields()??{}:{}),e,!0),new i3({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"})))}};with(...e){let n=this;return{select:function(i){return new i8({fields:i??void 0,session:void 0,dialect:n.getDialect(),withList:e})},selectDistinct:function(e){return new i8({fields:e??void 0,session:void 0,dialect:n.getDialect(),distinct:!0})},selectDistinctOn:function(e,i){return new i8({fields:i??void 0,session:void 0,dialect:n.getDialect(),distinct:{on:e}})}}}select(e){return new i8({fields:e??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct(e){return new i8({fields:e??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}selectDistinctOn(e,n){return new i8({fields:n??void 0,session:void 0,dialect:this.getDialect(),distinct:{on:e}})}getDialect(){return this.dialect||(this.dialect=new i1(this.dialectConfig)),this.dialect}}class ts{constructor(e,n,i,t){this.table=e,this.session=n,this.dialect=i,this.withList=t}static [eW]="PgUpdateBuilder";authToken;setToken(e){return this.authToken=e,this}set(e){return new tl(this.table,iq(this.table,e),this.session,this.dialect,this.withList).setToken(this.authToken)}}class tl extends i4{constructor(e,n,i,t,a){super(),this.session=i,this.dialect=t,this.config={set:n,table:e,withList:a,joins:[]},this.tableName=iV(e),this.joinsNotNullableMap="string"==typeof this.tableName?{[this.tableName]:!0}:{}}static [eW]="PgUpdate";config;tableName;joinsNotNullableMap;cacheConfig;from(e){let n=iV(e);return"string"==typeof n&&(this.joinsNotNullableMap[n]=!0),this.config.from=e,this}getTableLikeFields(e){return ez(e,iS)?e[nL.Symbol.Columns]:ez(e,nc)?e._.selectedFields:e[nf].selectedFields}createJoin(e){return(n,i)=>{let t=iV(n);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 i){let e=this.config.from&&!ez(this.config.from,nZ)?this.getTableLikeFields(this.config.from):void 0;i=i(new Proxy(this.config.table[nL.Symbol.Columns],new i3({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})),e&&new Proxy(e,new i3({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))}if(this.config.joins.push({on:i,table:n,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[nL.Symbol.Columns]),this.config.from)){let n=iV(this.config.from);if("string"==typeof n&&this.config.from&&!ez(this.config.from,nZ)){let i=this.getTableLikeFields(this.config.from);e[n]=i}for(let n of this.config.joins){let i=iV(n.table);if("string"==typeof i&&!ez(n.table,nZ)){let t=this.getTableLikeFields(n.table);e[i]=t}}}return this.config.returningFields=e,this.config.returning=iz(e),this}getSQL(){return this.dialect.buildUpdateQuery(this.config)}toSQL(){let{typings:e,...n}=this.dialect.sqlToQuery(this.getSQL());return n}_prepare(e){let n=this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,e,!0,void 0,{type:"insert",tables:i6(this.config.table)},this.cacheConfig);return n.joinsNotNullableMap=this.joinsNotNullableMap,n}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 i3({alias:this.config.table[e3],sqlAliasedBehavior:"alias",sqlBehavior:"error"})):void 0}$dynamic(){return this}}class th{constructor(e,n,i,t,a){this.table=e,this.session=n,this.dialect=i,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 n=e.map(e=>{let n={},i=this.table[nL.Symbol.Columns];for(let t of Object.keys(e)){let a=e[t];n[t]=ez(a,nZ)?a:new nP(a,i[t])}return n});return new tg(this.table,n,this.session,this.dialect,this.withList,!1,this.overridingSystemValue_).setToken(this.authToken)}select(e){let n="function"==typeof e?e(new tr):e;if(!ez(n,nZ)&&!ij(this.table[ny],n._.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 tg(this.table,n,this.session,this.dialect,this.withList,!0)}}class tg extends i4{constructor(e,n,i,t,a,u,o){super(),this.session=i,this.dialect=t,this.config={table:e,values:n,withList:a,select:u,overridingSystemValue_:o}}static [eW]="PgInsert";config;cacheConfig;returning(e=this.config.table[nL.Symbol.Columns]){return this.config.returningFields=e,this.config.returning=iz(e),this}onConflictDoNothing(e={}){if(void 0===e.target)this.config.onConflict=nM`do nothing`;else{let n="";n=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 i=e.where?nM` where ${e.where}`:void 0;this.config.onConflict=nM`(${nM.raw(n)})${i} 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 n=e.where?nM` where ${e.where}`:void 0,i=e.targetWhere?nM` where ${e.targetWhere}`:void 0,t=e.setWhere?nM` where ${e.setWhere}`:void 0,a=this.dialect.buildUpdateSet(this.config.table,iq(this.config.table,e.set)),u="";return u=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=nM`(${nM.raw(u)})${i} do update set ${a}${n}${t}`,this}getSQL(){return this.dialect.buildInsertQuery(this.config)}toSQL(){let{typings:e,...n}=this.dialect.sqlToQuery(this.getSQL());return n}_prepare(e){return np("drizzle.prepareQuery",()=>this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,e,!0,void 0,{type:"insert",tables:i6(this.config.table)},this.cacheConfig))}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>np("drizzle.operation",()=>this._prepare().execute(e,this.authToken));getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new i3({alias:this.config.table[e3],sqlAliasedBehavior:"alias",sqlBehavior:"error"})):void 0}$dynamic(){return this}}class tc extends i4{constructor(e,n,i,t){super(),this.session=n,this.dialect=i,this.config={table:e,withList:t}}static [eW]="PgDelete";config;cacheConfig;where(e){return this.config.where=e,this}returning(e=this.config.table[nL.Symbol.Columns]){return this.config.returningFields=e,this.config.returning=iz(e),this}getSQL(){return this.dialect.buildDeleteQuery(this.config)}toSQL(){let{typings:e,...n}=this.dialect.sqlToQuery(this.getSQL());return n}_prepare(e){return np("drizzle.prepareQuery",()=>this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,e,!0,void 0,{type:"delete",tables:i6(this.config.table)},this.cacheConfig))}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>np("drizzle.operation",()=>this._prepare().execute(e,this.authToken));getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new i3({alias:this.config.table[e3],sqlAliasedBehavior:"alias",sqlBehavior:"error"})):void 0}$dynamic(){return this}}class td extends nZ{constructor(e){super(td.buildEmbeddedCount(e.source,e.filters).queryChunks),this.params=e,this.mapWith(Number),this.session=e.session,this.sql=td.buildCount(e.source,e.filters)}sql;token;static [eW]="PgCountBuilder";[Symbol.toStringTag]="PgCountBuilder";session;static buildEmbeddedCount(e,n){return nM`(select count(*) from ${e}${nM.raw(" where ").if(n)}${n})`}static buildCount(e,n){return nM`select count(*) as count from ${e}${nM.raw(" where ").if(n)}${n};`}setToken(e){return this.token=e,this}then(e,n){return Promise.resolve(this.session.count(this.sql,this.token)).then(e,n)}catch(e){return this.then(void 0,e)}finally(e){return this.then(n=>(e?.(),n),n=>{throw e?.(),n})}}class tp{constructor(e,n,i,t,a,u,o){this.fullSchema=e,this.schema=n,this.tableNamesMap=i,this.table=t,this.tableConfig=a,this.dialect=u,this.session=o}static [eW]="PgRelationalQueryBuilder";findMany(e){return new tf(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e||{},"many")}findFirst(e){return new tf(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?{...e,limit:1}:{limit:1},"first")}}class tf extends i4{constructor(e,n,i,t,a,u,o,r,s){super(),this.fullSchema=e,this.schema=n,this.tableNamesMap=i,this.table=t,this.tableConfig=a,this.dialect=u,this.session=o,this.config=r,this.mode=s}static [eW]="PgRelationalQuery";_prepare(e){return np("drizzle.prepareQuery",()=>{let{query:n,builtQuery:i}=this._toSQL();return this.session.prepareQuery(i,void 0,e,!0,(e,i)=>{let t=e.map(e=>(function e(n,i,t,a,u=e=>e){let o={};for(let[r,s]of a.entries())if(s.isJson){let a=i.relations[s.tsKey],l=t[r],h="string"==typeof l?JSON.parse(l):l;o[s.tsKey]=ez(a,iK)?h&&e(n,n[s.relationTableTsKey],h,s.selection,u):h.map(i=>e(n,n[s.relationTableTsKey],i,s.selection,u))}else{let e,n=u(t[r]),i=s.field;e=ez(i,e0)?i:ez(i,nZ)?i.decoder:i.sql.decoder,o[s.tsKey]=null===n?null:e.mapFromDriverValue(n)}return o})(this.schema,this.tableConfig,e,n.selection,i));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(),n=this.dialect.sqlToQuery(e.sql);return{query:e,builtQuery:n}}toSQL(){return this._toSQL().builtQuery}authToken;setToken(e){return this.authToken=e,this}execute(){return np("drizzle.operation",()=>this._prepare().execute(void 0,this.authToken))}}class tm extends i4{constructor(e,n,i,t){super(),this.execute=e,this.sql=n,this.query=i,this.mapBatchResult=t}static [eW]="PgRaw";getSQL(){return this.sql}getQuery(){return this.query}mapResult(e,n){return n?this.mapBatchResult(e):e}_prepare(){return this}isResponseInArrayMode(){return!1}}class ty extends i4{constructor(e,n,i){super(),this.session=n,this.dialect=i,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,...n}=this.dialect.sqlToQuery(this.getSQL());return n}_prepare(e){return np("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=>np("drizzle.operation",()=>this._prepare().execute(e,this.authToken))}class tS{constructor(e,n,i){if(this.dialect=e,this.session=n,this._=i?{schema:i.schema,fullSchema:i.fullSchema,tableNamesMap:i.tableNamesMap,session:n}:{schema:void 0,fullSchema:{},tableNamesMap:{},session:n},this.query={},this._.schema)for(let[t,a]of Object.entries(this._.schema))this.query[t]=new tp(i.fullSchema,this._.schema,this._.tableNamesMap,i.fullSchema[t],a,e,n);this.$cache={invalidate:async e=>{}}}static [eW]="PgDatabase";query;$with=(e,n)=>{let i=this;return{as:t=>("function"==typeof t&&(t=t(new tr(i.dialect))),new Proxy(new nd(t.getSQL(),n??("getSelectedFields"in t?t.getSelectedFields()??{}:{}),e,!0),new i3({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"})))}};$count(e,n){return new td({source:e,filters:n,session:this.session})}$cache;with(...e){let n=this;return{select:function(i){return new i8({fields:i??void 0,session:n.session,dialect:n.dialect,withList:e})},selectDistinct:function(i){return new i8({fields:i??void 0,session:n.session,dialect:n.dialect,withList:e,distinct:!0})},selectDistinctOn:function(i,t){return new i8({fields:t??void 0,session:n.session,dialect:n.dialect,withList:e,distinct:{on:i}})},update:function(i){return new ts(i,n.session,n.dialect,e)},insert:function(i){return new th(i,n.session,n.dialect,e)},delete:function(i){return new tc(i,n.session,n.dialect,e)}}}select(e){return new i8({fields:e??void 0,session:this.session,dialect:this.dialect})}selectDistinct(e){return new i8({fields:e??void 0,session:this.session,dialect:this.dialect,distinct:!0})}selectDistinctOn(e,n){return new i8({fields:n??void 0,session:this.session,dialect:this.dialect,distinct:{on:e}})}update(e){return new ts(e,this.session,this.dialect)}insert(e){return new th(e,this.session,this.dialect)}delete(e){return new tc(e,this.session,this.dialect)}refreshMaterializedView(e){return new ty(e,this.session,this.dialect)}authToken;execute(e){let n="string"==typeof e?nM.raw(e):e.getSQL(),i=this.dialect.sqlToQuery(n),t=this.session.prepareQuery(i,void 0,void 0,!1);return new tm(()=>t.execute(void 0,this.authToken),n,i,e=>t.mapResult(e,!0))}transaction(e,n){return this.session.transaction(e,n)}}class tb{static [eW]="Cache"}class tC extends tb{strategy(){return"all"}static [eW]="NoopCache";async get(e){}async put(e,n,i,t){}async onMutate(e){}}async function tw(e,n){let i=`${e}-${JSON.stringify(n)}`,t=new TextEncoder().encode(i);return[...new Uint8Array(await crypto.subtle.digest("SHA-256",t))].map(e=>e.toString(16).padStart(2,"0")).join("")}class tT{constructor(e,n,i,t){this.query=e,this.cache=n,this.queryMetadata=i,this.cacheConfig=t,n&&"all"===n.strategy()&&void 0===t&&(this.cacheConfig={enable:!0,autoInvalidate:!0}),this.cacheConfig?.enable||(this.cacheConfig=void 0)}authToken;getQuery(){return this.query}mapResult(e,n){return e}setToken(e){return this.authToken=e,this}static [eW]="PgPreparedQuery";joinsNotNullableMap;async queryWithCache(e,n,i){if(void 0===this.cache||ez(this.cache,tC)||void 0===this.queryMetadata||this.cacheConfig&&!this.cacheConfig.enable)try{return await i()}catch(i){throw new nV(e,n,i)}if(("insert"===this.queryMetadata.type||"update"===this.queryMetadata.type||"delete"===this.queryMetadata.type)&&this.queryMetadata.tables.length>0)try{let[e]=await Promise.all([i(),this.cache.onMutate({tables:this.queryMetadata.tables})]);return e}catch(i){throw new nV(e,n,i)}if(!this.cacheConfig)try{return await i()}catch(i){throw new nV(e,n,i)}if("select"===this.queryMetadata.type){let t=await this.cache.get(this.cacheConfig.tag??await tw(e,n),this.queryMetadata.tables,void 0!==this.cacheConfig.tag,this.cacheConfig.autoInvalidate);if(void 0===t){let t;try{t=await i()}catch(i){throw new nV(e,n,i)}return await this.cache.put(this.cacheConfig.tag??await tw(e,n),t,this.cacheConfig.autoInvalidate?this.queryMetadata.tables:[],void 0!==this.cacheConfig.tag,this.cacheConfig.config),t}return t}try{return await i()}catch(i){throw new nV(e,n,i)}}}class tx{constructor(e){this.dialect=e}static [eW]="PgSession";execute(e,n){return np("drizzle.operation",()=>np("drizzle.prepareQuery",()=>this.prepareQuery(this.dialect.sqlToQuery(e),void 0,void 0,!1)).setToken(n).execute(void 0,n))}all(e){return this.prepareQuery(this.dialect.sqlToQuery(e),void 0,void 0,!1).all()}async count(e,n){return Number((await this.execute(e,n))[0].count)}}class tL extends tS{constructor(e,n,i,t=0){super(e,n,i),this.schema=i,this.nestedIndex=t}static [eW]="PgTransaction";rollback(){throw new n0}getTransactionConfigSQL(e){let n=[];return e.isolationLevel&&n.push(`isolation level ${e.isolationLevel}`),e.accessMode&&n.push(e.accessMode),"boolean"==typeof e.deferrable&&n.push(e.deferrable?"deferrable":"not deferrable"),nM.raw(n.join(" "))}setTransaction(e){return this.session.execute(nM`set transaction ${this.getTransactionConfigSQL(e)}`)}}let{Pool:tE,types:tY}=A;class tD extends tT{constructor(e,n,i,t,a,u,o,r,s,l,h){super({sql:n,params:i},a,u,o),this.client=e,this.queryString=n,this.params=i,this.logger=t,this.fields=r,this._isResponseInArrayMode=l,this.customResultMapper=h,this.rawQueryConfig={name:s,text:n,types:{getTypeParser:(e,n)=>e===tY.builtins.TIMESTAMPTZ||e===tY.builtins.TIMESTAMP||e===tY.builtins.DATE||e===tY.builtins.INTERVAL||1231===e||1115===e||1185===e||1187===e||1182===e?e=>e:tY.getTypeParser(e,n)}},this.queryConfig={name:s,text:n,rowMode:"array",types:{getTypeParser:(e,n)=>e===tY.builtins.TIMESTAMPTZ||e===tY.builtins.TIMESTAMP||e===tY.builtins.DATE||e===tY.builtins.INTERVAL||1231===e||1115===e||1185===e||1187===e||1182===e?e=>e:tY.getTypeParser(e,n)}}}static [eW]="NodePgPreparedQuery";rawQueryConfig;queryConfig;async execute(e={}){return np("drizzle.execute",async()=>{let n=nX(this.params,e);this.logger.logQuery(this.rawQueryConfig.text,n);let{fields:i,rawQueryConfig:t,client:a,queryConfig:u,joinsNotNullableMap:o,customResultMapper:r}=this;if(!i&&!r)return np("drizzle.driver.execute",async e=>(e?.setAttributes({"drizzle.query.name":t.name,"drizzle.query.text":t.text,"drizzle.query.params":JSON.stringify(n)}),this.queryWithCache(t.text,n,async()=>await a.query(t,n))));let s=await np("drizzle.driver.execute",e=>(e?.setAttributes({"drizzle.query.name":u.name,"drizzle.query.text":u.text,"drizzle.query.params":JSON.stringify(n)}),this.queryWithCache(u.text,n,async()=>await a.query(u,n))));return np("drizzle.mapResponse",()=>r?r(s.rows):s.rows.map(e=>(function(e,n,i){let t={},a=e.reduce((e,{path:a,field:u},o)=>{let r;r=ez(u,e0)?u:ez(u,nZ)?u.decoder:ez(u,nc)?u._.sql.decoder:u.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=n[o],h=s[l]=null===e?null:r.mapFromDriverValue(e);if(i&&ez(u,e0)&&2===a.length){let e=a[0];e in t?"string"==typeof t[e]&&t[e]!==u.table[e3]&&(t[e]=!1):t[e]=null===h&&u.table[e3]}}return e},{});if(i&&Object.keys(t).length>0)for(let[e,n]of Object.entries(t))"string"!=typeof n||i[n]||(a[e]=null);return a})(i,e,o)))})}all(e={}){return np("drizzle.execute",()=>{let n=nX(this.params,e);return this.logger.logQuery(this.rawQueryConfig.text,n),np("drizzle.driver.execute",e=>(e?.setAttributes({"drizzle.query.name":this.rawQueryConfig.name,"drizzle.query.text":this.rawQueryConfig.text,"drizzle.query.params":JSON.stringify(n)}),this.queryWithCache(this.rawQueryConfig.text,n,async()=>this.client.query(this.rawQueryConfig,n)).then(e=>e.rows)))})}isResponseInArrayMode(){return this._isResponseInArrayMode}}class tv extends tx{constructor(e,n,i,t={}){super(n),this.client=e,this.schema=i,this.options=t,this.logger=t.logger??new eV,this.cache=t.cache??new tC}static [eW]="NodePgSession";logger;cache;prepareQuery(e,n,i,t,a,u,o){return new tD(this.client,e.sql,e.params,this.logger,this.cache,u,o,n,i,t,a)}async transaction(e,n){let i=this.client instanceof tE||Object.getPrototypeOf(this.client).constructor.name.includes("Pool"),t=i?new tv(await this.client.connect(),this.dialect,this.schema,this.options):this,a=new tZ(this.dialect,t,this.schema);await a.execute(nM`begin${n?nM` ${a.getTransactionConfigSQL(n)}`:void 0}`);try{let n=await e(a);return await a.execute(nM`commit`),n}catch(e){throw await a.execute(nM`rollback`),e}finally{i&&t.client.release()}}async count(e){return Number((await this.execute(e)).rows[0].count)}}class tZ extends tL{static [eW]="NodePgTransaction";async transaction(e){let n=`sp${this.nestedIndex+1}`,i=new tZ(this.dialect,this.session,this.schema,this.nestedIndex+1);await i.execute(nM.raw(`savepoint ${n}`));try{let t=await e(i);return await i.execute(nM.raw(`release savepoint ${n}`)),t}catch(e){throw await i.execute(nM.raw(`rollback to savepoint ${n}`)),e}}}class tN{constructor(e,n,i={}){this.client=e,this.dialect=n,this.options=i}static [eW]="NodePgDriver";createSession(e){return new tv(this.client,this.dialect,e,{logger:this.options.logger,cache:this.options.cache})}}class tA extends tS{static [eW]="NodePgDatabase"}function tJ(e,n={}){let i,t,a=new i1({casing:n.casing});if(!0===n.logger?i=new eq:!1!==n.logger&&(i=n.logger),n.schema){let e=function(e,n){1===Object.keys(e).length&&"default"in e&&!ez(e.default,nL)&&(e=e.default);let i={},t={},a={};for(let[u,o]of Object.entries(e))if(ez(o,nL)){let e=nE(o),n=t[e];for(let t of(i[e]=u,a[u]={tsName:u,dbName:o[nL.Symbol.Name],schema:o[nL.Symbol.Schema],columns:o[nL.Symbol.Columns],relations:n?.relations??{},primaryKey:n?.primaryKey??[]},Object.values(o[nL.Symbol.Columns])))t.primary&&a[u].primaryKey.push(t);let r=o[nL.Symbol.ExtraConfigBuilder]?.(o[nL.Symbol.ExtraConfigColumns]);if(r)for(let e of Object.values(r))ez(e,ib)&&a[u].primaryKey.push(...e.columns)}else if(ez(o,i$)){let e,u=nE(o.table),r=i[u];for(let[i,s]of Object.entries(o.config(n(o.table))))if(r){let n=a[r];n.relations[i]=s,e&&n.primaryKey.push(...e)}else u in t||(t[u]={relations:{},primaryKey:e}),t[u].relations[i]=s}return{tables:a,tableNamesMap:i}}(n.schema,iW);t={fullSchema:n.schema,schema:e.tables,tableNamesMap:e.tableNamesMap}}let u=new tN(e,a,{logger:i,cache:n.cache}).createSession(t),o=new tA(a,u,t);return o.$client=e,o.$cache=n.cache,o.$cache&&(o.$cache.invalidate=n.cache?.onMutate),o}function tP(...e){if("string"==typeof e[0])return tJ(new A.Pool({connectionString:e[0]}),e[1]);if(function(e){if("object"!=typeof e||null===e||"Object"!==e.constructor.name)return!1;if("logger"in e){let n=typeof e.logger;return"boolean"===n||"object"===n&&"function"==typeof e.logger.logQuery||"undefined"===n}if("schema"in e){let n=typeof e.schema;return"object"===n||"undefined"===n}if("casing"in e){let n=typeof e.casing;return"string"===n||"undefined"===n}if("mode"in e)return"default"===e.mode&&"planetscale"===e.mode&&void 0===e.mode;if("connection"in e){let n=typeof e.connection;return"string"===n||"object"===n||"undefined"===n}if("client"in e){let n=typeof e.client;return"object"===n||"function"===n||"undefined"===n}return 0===Object.keys(e).length}(e[0])){let{connection:n,client:i,...t}=e[0];return i?tJ(i,t):tJ(new A.Pool("string"==typeof n?{connectionString:n}:n),t)}return tJ(e[0],e[1])}(tP||(tP={})).mock=function(e){return tJ({},e)};class tM{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 tR=!1;function t_(){if(!tR&&!process.env.PGDATABASE_URL)try{try{if(E("./node_modules/dotenv/lib/main.js").config(),process.env.PGDATABASE_URL){tR=!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[iy.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,iC)?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[i7.Symbol.Name],l=e[i7.Symbol.Schema],h=e[i7.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,iC.Aliased)&&e.isSelectionField)a.push(sql_sql.identifier(e.fieldAlias));else if(entity_is(e,iC.Aliased)||entity_is(e,iC)){let n=entity_is(e,iC.Aliased)?e.sql:e;i?a.push(new iC(n.queryChunks.map(e=>entity_is(e,e3)?sql_sql.identifier(this.casing.getColumnCasing(e)):e))):a.push(n),entity_is(e,iC.Aliased)&&a.push(sql_sql` as ${sql_sql.identifier(e.fieldAlias)}`)}else if(entity_is(e,eU))i?a.push(sql_sql.identifier(this.casing.getColumnCasing(e))):a.push(e);else if(entity_is(e,ia)){let i=Object.entries(e._.selectedFields);if(1===i.length){let n=i[0][1],t=entity_is(n,iC)?n.decoder:entity_is(n,eU)?{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,i7)){let e=a[i7.Symbol.Name],n=a[i7.Symbol.Schema],u=a[i7.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,iv)){let e=a[iu].name,n=a[iu].schema,u=a[iu].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,iy)&&e[iy.Symbol.IsAlias]){let i=sql_sql`${sql_sql.identifier(e[iy.Symbol.OriginalName])}`;return e[iy.Symbol.Schema]&&(i=sql_sql`${sql_sql.identifier(e[iy.Symbol.Schema])}.${i}`),sql_sql`${i} ${sql_sql.identifier(e[iy.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,eU)&&e.field.table[e$]!==(entity_is(r,ia)?r._.alias:entity_is(r,no)?r[iu].name:entity_is(r,iC)?void 0:r[e$])&&(i=e.field.table,!o?.some(({alias:e})=>e===(i[iy.Symbol.IsAlias]?i[e$]:i[iy.Symbol.BaseName])))){let i=e.field.table[e$];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}),T=this.buildFromTable(r),w=this.buildJoins(o),x=t?sql_sql` where ${t}`:void 0,E=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 L="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 ${T}${w}${x}${m}${E}${f}${L}${_}${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,e3))e.push(sql_sql.identifier(i.name));else if(entity_is(i,iC)){for(let e=0;e<i.queryChunks.length;e++){let n=i.queryChunks[e];entity_is(n,e3)&&(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[iy.Symbol.Columns]).filter(([e,i])=>!i.shouldDisableInsert()),l=s.map(([,e])=>sql_sql.identifier(this.casing.getColumnCasing(e)));if(r)entity_is(i,iC)?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,iE)&&void 0===a.value)if(void 0!==i.defaultFn){let e=i.defaultFn(),n=entity_is(e,iC)?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,iC)?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,iB)||entity_is(e,iF))return"json";if(entity_is(e,iI))return"decimal";if(entity_is(e,i$))return"time";if(entity_is(e,iW)||entity_is(e,iV))return"timestamp";if(entity_is(e,i1)||entity_is(e,i2))return"date";else if(entity_is(e,i8))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,iC.Aliased)?i.fieldAlias:a.columns[e].name,tsKey:e,field:entity_is(i,eU)?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,eU)?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,na)?!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 ia(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 iR({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,iC.Aliased)?e.sql:e),sql_sql`, `)})`;entity_is(u,nr)&&(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,i7)?l:new ia(l,{},o),fields:{},fieldsFlat:i.map(({field:e})=>({path:[],field:entity_is(e,eU)?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,eU)?aliasedTableColumn(e,o):e})),joins:f,where:p,limit:g,offset:c,orderBy:d,setOperators:[]});return{tableTsKey:a.tsName,sql:l,selection:h}}}class ns{static [eI]="SelectionProxyHandler";config;constructor(e){this.config={...e}}get(e,i){if("_"===i)return{...e._,selectedFields:new Proxy(e._.selectedFields,this)};if(i===iu)return{...e[iu],selectedFields:new Proxy(e[iu].selectedFields,this)};if("symbol"==typeof i)return e[i];let n=(entity_is(e,ia)?e._.selectedFields:entity_is(e,iv)?e[iu].selectedFields:e)[i];if(entity_is(n,iC.Aliased)){if("sql"===this.config.sqlAliasedBehavior&&!n.isSelectionField)return n.sql;let e=n.clone();return e.isSelectionField=!0,e}if(entity_is(n,iC)){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,eU)?this.config.alias?new Proxy(n,new iA(new Proxy(n.table,new iN(this.config.alias,this.config.replaceOriginalName??!1)))):n:"object"!=typeof n||null===n?n:new Proxy(n,new ns(this.config))}}class nl{static [eI]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}class nh{static [eI]="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,i7)?[e[is]?`${e[is]}.${e[iy.Symbol.BaseName]}`:e[iy.Symbol.BaseName]]:entity_is(e,ia)?e._.usedTables??[]:entity_is(e,iC)?e.usedTables??[]:[]}class ng{static [eI]="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,ia)?Object.fromEntries(Object.keys(e._.selectedFields).map(i=>[i,e[i]])):entity_is(e,no)?e[iu].selectedFields:entity_is(e,iC)?{}:getTableColumns(e),new nd({table:e,fields:i,isPartialSelect:n,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct}).setToken(this.authToken)}}class nc extends nl{static [eI]="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,iC))){let e=entity_is(n,ia)?n._.selectedFields:entity_is(n,iv)?n[iu].selectedFields:n[iy.Symbol.Columns];this.config.fields[r]=e}if("function"==typeof t&&(t=t(new Proxy(this.config.fields,new ns({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 ns({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.where=e,this}having(e){return"function"==typeof e&&(e=e(new Proxy(this.config.fields,new ns({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 ns({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 ns({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 ia(this.getSQL(),this.config.fields,e,!1,[...new Set(i)]),new ns({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new ns({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 nd extends nc{static [eI]="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 io("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=>io("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(nd,[nh]);let getPgSetOperators=()=>({union:np,unionAll:nf,intersect:nm,intersectAll:ny,except:nS,exceptAll:nb}),np=createSetOperator("union",!1),nf=createSetOperator("union",!0),nm=createSetOperator("intersect",!1),ny=createSetOperator("intersect",!0),nS=createSetOperator("except",!1),nb=createSetOperator("except",!0);class nC{static [eI]="PgQueryBuilder";dialect;dialectConfig;constructor(e){this.dialect=entity_is(e,nu)?e:void 0,this.dialectConfig=entity_is(e,nu)?void 0:e}$with=(e,i)=>{let n=this;return{as:t=>("function"==typeof t&&(t=t(n)),new Proxy(new ir(t.getSQL(),i??("getSelectedFields"in t?t.getSelectedFields()??{}:{}),e,!0),new ns({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"})))}};with(...e){let i=this;return{select:function(n){return new ng({fields:n??void 0,session:void 0,dialect:i.getDialect(),withList:e})},selectDistinct:function(e){return new ng({fields:e??void 0,session:void 0,dialect:i.getDialect(),distinct:!0})},selectDistinctOn:function(e,n){return new ng({fields:n??void 0,session:void 0,dialect:i.getDialect(),distinct:{on:e}})}}}select(e){return new ng({fields:e??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct(e){return new ng({fields:e??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}selectDistinctOn(e,i){return new ng({fields:i??void 0,session:void 0,dialect:this.getDialect(),distinct:{on:e}})}getDialect(){return this.dialect||(this.dialect=new nu(this.dialectConfig)),this.dialect}}class nT{constructor(e,i,n,t){this.table=e,this.session=i,this.dialect=n,this.withList=t}static [eI]="PgUpdateBuilder";authToken;setToken(e){return this.authToken=e,this}set(e){return new nw(this.table,mapUpdateSet(this.table,e),this.session,this.dialect,this.withList).setToken(this.authToken)}}class nw extends nh{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 [eI]="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,i7)?e[iy.Symbol.Columns]:entity_is(e,ia)?e._.selectedFields:e[iu].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,iC)?this.getTableLikeFields(this.config.from):void 0;n=n(new Proxy(this.config.table[iy.Symbol.Columns],new ns({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})),e&&new Proxy(e,new ns({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[iy.Symbol.Columns]),this.config.from)){let i=getTableLikeName(this.config.from);if("string"==typeof i&&this.config.from&&!entity_is(this.config.from,iC)){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,iC)){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 ns({alias:this.config.table[e$],sqlAliasedBehavior:"alias",sqlBehavior:"error"})):void 0}$dynamic(){return this}}class nx{constructor(e,i,n,t,a){this.table=e,this.session=i,this.dialect=n,this.withList=t,this.overridingSystemValue_=a}static [eI]="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[iy.Symbol.Columns];for(let t of Object.keys(e)){let a=e[t];i[t]=entity_is(a,iC)?a:new iE(a,n[t])}return i});return new nE(this.table,i,this.session,this.dialect,this.withList,!1,this.overridingSystemValue_).setToken(this.authToken)}select(e){let i="function"==typeof e?e(new nC):e;if(!entity_is(i,iC)&&!haveSameKeys(this.table[il],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 nE(this.table,i,this.session,this.dialect,this.withList,!0)}}class nE extends nh{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 [eI]="PgInsert";config;cacheConfig;returning(e=this.config.table[iy.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 io("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=>io("drizzle.operation",()=>this._prepare().execute(e,this.authToken));getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new ns({alias:this.config.table[e$],sqlAliasedBehavior:"alias",sqlBehavior:"error"})):void 0}$dynamic(){return this}}class nL extends nh{constructor(e,i,n,t){super(),this.session=i,this.dialect=n,this.config={table:e,withList:t}}static [eI]="PgDelete";config;cacheConfig;where(e){return this.config.where=e,this}returning(e=this.config.table[iy.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 io("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=>io("drizzle.operation",()=>this._prepare().execute(e,this.authToken));getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new ns({alias:this.config.table[e$],sqlAliasedBehavior:"alias",sqlBehavior:"error"})):void 0}$dynamic(){return this}}class n_ extends iC{constructor(e){super(n_.buildEmbeddedCount(e.source,e.filters).queryChunks),this.params=e,this.mapWith(Number),this.session=e.session,this.sql=n_.buildCount(e.source,e.filters)}sql;token;static [eI]="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 nY{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 [eI]="PgRelationalQueryBuilder";findMany(e){return new nD(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e||{},"many")}findFirst(e){return new nD(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?{...e,limit:1}:{limit:1},"first")}}class nD extends nh{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 [eI]="PgRelationalQuery";_prepare(e){return io("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 io("drizzle.operation",()=>this._prepare().execute(void 0,this.authToken))}}class nv extends nh{constructor(e,i,n,t){super(),this.execute=e,this.sql=i,this.query=n,this.mapBatchResult=t}static [eI]="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 nA extends nh{constructor(e,i,n){super(),this.session=i,this.dialect=n,this.config={view:e}}static [eI]="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 io("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=>io("drizzle.operation",()=>this._prepare().execute(e,this.authToken))}class nN{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 nY(n.fullSchema,this._.schema,this._.tableNamesMap,n.fullSchema[t],a,e,i);this.$cache={invalidate:async e=>{}}}static [eI]="PgDatabase";query;$with=(e,i)=>{let n=this;return{as:t=>("function"==typeof t&&(t=t(new nC(n.dialect))),new Proxy(new ir(t.getSQL(),i??("getSelectedFields"in t?t.getSelectedFields()??{}:{}),e,!0),new ns({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"})))}};$count(e,i){return new n_({source:e,filters:i,session:this.session})}$cache;with(...e){let i=this;return{select:function(n){return new ng({fields:n??void 0,session:i.session,dialect:i.dialect,withList:e})},selectDistinct:function(n){return new ng({fields:n??void 0,session:i.session,dialect:i.dialect,withList:e,distinct:!0})},selectDistinctOn:function(n,t){return new ng({fields:t??void 0,session:i.session,dialect:i.dialect,withList:e,distinct:{on:n}})},update:function(n){return new nT(n,i.session,i.dialect,e)},insert:function(n){return new nx(n,i.session,i.dialect,e)},delete:function(n){return new nL(n,i.session,i.dialect,e)}}}select(e){return new ng({fields:e??void 0,session:this.session,dialect:this.dialect})}selectDistinct(e){return new ng({fields:e??void 0,session:this.session,dialect:this.dialect,distinct:!0})}selectDistinctOn(e,i){return new ng({fields:i??void 0,session:this.session,dialect:this.dialect,distinct:{on:e}})}update(e){return new nT(e,this.session,this.dialect)}insert(e){return new nx(e,this.session,this.dialect)}delete(e){return new nL(e,this.session,this.dialect)}refreshMaterializedView(e){return new nA(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 nv(()=>t.execute(void 0,this.authToken),i,n,e=>t.mapResult(e,!0))}transaction(e,i){return this.session.transaction(e,i)}}class nP{static [eI]="Cache"}class nZ extends nP{strategy(){return"all"}static [eI]="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 nR{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 [eI]="PgPreparedQuery";joinsNotNullableMap;async queryWithCache(e,i,n){if(void 0===this.cache||entity_is(this.cache,nZ)||void 0===this.queryMetadata||this.cacheConfig&&!this.cacheConfig.enable)try{return await n()}catch(n){throw new iM(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 iM(e,i,n)}if(!this.cacheConfig)try{return await n()}catch(n){throw new iM(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 iM(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 iM(e,i,n)}}}class nM{constructor(e){this.dialect=e}static [eI]="PgSession";execute(e,i){return io("drizzle.operation",()=>io("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 nJ extends nN{constructor(e,i,n,t=0){super(e,i,n),this.schema=n,this.nestedIndex=t}static [eI]="PgTransaction";rollback(){throw new iJ}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:nk,types:nB}=N;class nH extends nR{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===nB.builtins.TIMESTAMPTZ||e===nB.builtins.TIMESTAMP||e===nB.builtins.DATE||e===nB.builtins.INTERVAL||1231===e||1115===e||1185===e||1187===e||1182===e?e=>e:nB.getTypeParser(e,i)}},this.queryConfig={name:s,text:i,rowMode:"array",types:{getTypeParser:(e,i)=>e===nB.builtins.TIMESTAMPTZ||e===nB.builtins.TIMESTAMP||e===nB.builtins.DATE||e===nB.builtins.INTERVAL||1231===e||1115===e||1185===e||1187===e||1182===e?e=>e:nB.getTypeParser(e,i)}}}static [eI]="NodePgPreparedQuery";rawQueryConfig;queryConfig;async execute(e={}){return io("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 io("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 io("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 io("drizzle.mapResponse",()=>u?u(s.rows):s.rows.map(e=>mapResultRow(n,e,o)))})}all(e={}){return io("drizzle.execute",()=>{let i=fillPlaceholders(this.params,e);return this.logger.logQuery(this.rawQueryConfig.text,i),io("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 nF extends nM{constructor(e,i,n,t={}){super(i),this.client=e,this.schema=n,this.options=t,this.logger=t.logger??new eG,this.cache=t.cache??new nZ}static [eI]="NodePgSession";logger;cache;prepareQuery(e,i,n,t,a,r,o){return new nH(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 nk||Object.getPrototypeOf(this.client).constructor.name.includes("Pool"),t=n?new nF(await this.client.connect(),this.dialect,this.schema,this.options):this,a=new nX(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 nX extends nJ{static [eI]="NodePgTransaction";async transaction(e){let i=`sp${this.nestedIndex+1}`,n=new nX(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 nI{constructor(e,i,n={}){this.client=e,this.dialect=i,this.options=n}static [eI]="NodePgDriver";createSession(e){return new nF(this.client,this.dialect,e,{logger:this.options.logger,cache:this.options.cache})}}class nO extends nN{static [eI]="NodePgDatabase"}function construct(e,i={}){let n,t,a=new nu({casing:i.casing});if(!0===i.logger?n=new eQ:!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 nI(e,a,{logger:n,cache:i.cache}).createSession(t),o=new nO(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 N.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 N.Pool("string"==typeof i?{connectionString:i}:i),t)}return construct(e[0],e[1])}(drizzle||(drizzle={})).mock=function(e){return construct({},e)};class nQ{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 nG=!1;function loadEnv(){if(!nG&&!process.env.PGDATABASE_URL)try{try{if(L("./node_modules/dotenv/lib/main.js").config(),process.env.PGDATABASE_URL){nG=!0;return}}catch{}let e=`
9
9
  import os
10
10
  import sys
11
11
  try:
@@ -17,46 +17,46 @@ 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 n of P(`python3 -c '${e.replace(/'/g,"'\"'\"'")}'`,{encoding:"utf-8",timeout:1e4,stdio:["pipe","pipe","pipe"]}).trim().split("\n")){if(n.startsWith("#"))continue;let e=n.indexOf("=");if(e>0){let i=n.substring(0,e),t=n.substring(e+1);(t.startsWith("'")&&t.endsWith("'")||t.startsWith('"')&&t.endsWith('"'))&&(t=t.slice(1,-1)),process.env[i]||(process.env[i]=t)}}tR=!0}catch{}}function tB(){t_();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 tX=null,tH=null;async function tk(e){let n=tB(),i=new A.Pool({connectionString:n,max:e?.maxConnections??tM.MAX_CONNECTIONS,idleTimeoutMillis:e?.idleTimeoutMillis??tM.IDLE_TIMEOUT_MILLIS,connectionTimeoutMillis:e?.connectionTimeoutMillis??tM.CONNECTION_TIMEOUT_MILLIS}),t=Date.now(),a=null;for(;Date.now()-t<tM.MAX_RETRY_TIME;)try{let e=await i.connect();return await e.query("SELECT 1"),e.release(),i}catch(n){a=n;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,tM.MAX_RETRY_TIME-(Date.now()-t))))}throw console.error(`Database connection failed after ${tM.MAX_RETRY_TIME/1e3}s: ${a?.message}`),a}async function tF(e){return t_(),tX||(tX=await tk(e)),tX}async function tQ(e){if(!tH){let n=await tF();tH=e?tP(n,{schema:e}):tP(n)}return tH}async function tI(){return(await tF()).connect()}async function tO(){tX&&(await tX.end(),tX=null,tH=null)}let tG=E("fs"),t$=E("path"),tK=E("os"),tU="/usr/lib/node_modules";async function tW(e={}){let{outputPath:n=tM.DEFAULT_SCHEMA_PATH,verbose:i=!1}=e;t_();let t=tB(),a=t$.dirname(n);a&&!tG.existsSync(a)&&tG.mkdirSync(a,{recursive:!0});let u=tG.mkdtempSync(t$.join(tK.tmpdir(),"drizzle-")),o=t$.dirname(a),r=t$.join(o,"drizzle.config.ts"),s=`
20
+ `;for(let i of Z(`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)}}nG=!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 nU=null,nq=null;async function createPoolWithRetry(e){let i=getDbUrl(),n=new N.Pool({connectionString:i,max:e?.maxConnections??nQ.MAX_CONNECTIONS,idleTimeoutMillis:e?.idleTimeoutMillis??nQ.IDLE_TIMEOUT_MILLIS,connectionTimeoutMillis:e?.connectionTimeoutMillis??nQ.CONNECTION_TIMEOUT_MILLIS}),t=Date.now(),a=null;for(;Date.now()-t<nQ.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,nQ.MAX_RETRY_TIME-(Date.now()-t))))}throw console.error(`Database connection failed after ${nQ.MAX_RETRY_TIME/1e3}s: ${a?.message}`),a}async function getPool(e){return loadEnv(),nU||(nU=await createPoolWithRetry(e)),nU}async function getDb(e){if(!nq){let i=await getPool();nq=e?drizzle(i,{schema:e}):drizzle(i)}return nq}async function getClient(){return(await getPool()).connect()}async function closePool(){nU&&(await nU.end(),nU=null,nq=null)}let nK=L("fs"),n$=L("path"),nz=L("os"),nW="/usr/lib/node_modules";function fixGeneratedIdentity(e){if(!nK.existsSync(e))return;let i=nK.readFileSync(e,"utf-8"),n=i.replace(/\.generatedByDefaultAsIdentity\(\{[^}]*\}\)/g,".generatedByDefaultAsIdentity()");n!==i&&nK.writeFileSync(e,n)}async function generateModels(e={}){let{outputPath:i=nQ.DEFAULT_SCHEMA_PATH,verbose:n=!1}=e;loadEnv();let t=getDbUrl(),a=n$.dirname(i);a&&!nK.existsSync(a)&&nK.mkdirSync(a,{recursive:!0});let r=nK.mkdtempSync(n$.join(nz.tmpdir(),"drizzle-")),o=n$.dirname(a),u=n$.join(o,"drizzle.config.ts"),s=`
21
21
  import { defineConfig } from 'drizzle-kit';
22
22
 
23
23
  export default defineConfig({
24
24
  dialect: 'postgresql',
25
- out: '${u}',
25
+ out: '${r}',
26
26
  dbCredentials: {
27
27
  url: '${t}',
28
28
  },
29
29
  });
30
- `;try{let e;tG.writeFileSync(r,s),i&&console.log("Introspecting database schema...");let t=`npx drizzle-kit introspect --config=${r}`;i&&console.log(`Running: ${t}`);try{e=P(t,{encoding:"utf-8",stdio:"pipe",timeout:6e4,env:{...process.env,NODE_PATH:tU}})}catch(i){let e=i.stderr?.toString()||"",n=i.stdout?.toString()||"";throw Error(`drizzle-kit introspect failed:
31
- ${e||n||i.message}`)}if(e&&(e.includes("error:")||e.includes("Error:")))throw Error(`drizzle-kit introspect failed:
32
- ${e}`);i&&e&&console.log(e);let o=t$.join(u,"schema.ts"),l=t$.join(u,"relations.ts");if(tG.existsSync(o)&&(!function(e){if(!tG.existsSync(e))return;let n=tG.readFileSync(e,"utf-8"),i=n.replace(/\.generatedByDefaultAsIdentity\(\{[^}]*\}\)/g,".generatedByDefaultAsIdentity()");i!==n&&tG.writeFileSync(e,i)}(o),tG.copyFileSync(o,n),i&&console.log(`✓ Copied schema.ts to ${a}/`)),tG.existsSync(l)){let e=t$.join(a,"relations.ts");tG.copyFileSync(l,e),i&&console.log(`✓ Copied relations.ts to ${a}/`)}try{P("git add -A",{encoding:"utf-8",stdio:"pipe",cwd:process.cwd()})}catch{}i&&console.log("✓ Schema generated successfully")}finally{tG.existsSync(r)&&tG.unlinkSync(r),tG.existsSync(u)&&tG.rmSync(u,{recursive:!0})}}async function tz(e={}){let{schemaPath:n=tM.DEFAULT_SCHEMA_PATH,projectPath:i=process.cwd(),verbose:t=!1}=e;t_();let a=tB(),u=t$.isAbsolute(n)?n:t$.join(i,n);if(!tG.existsSync(u))throw Error(`Schema file not found: ${u}`);let o=t$.dirname(u),r=t$.dirname(o),s=t$.join(r,"drizzle.config.ts"),l=`
30
+ `;try{let e;nK.writeFileSync(u,s),n&&console.log("Introspecting database schema...");let t=`npx drizzle-kit introspect --config=${u}`;n&&console.log(`Running: ${t}`);try{e=Z(t,{encoding:"utf-8",stdio:"pipe",timeout:6e4,env:{...process.env,NODE_PATH:nW}})}catch(n){let e=n.stderr?.toString()||"",i=n.stdout?.toString()||"";throw Error(`drizzle-kit introspect failed:
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=n$.join(r,"schema.ts"),l=n$.join(r,"relations.ts");if(nK.existsSync(o)&&(fixGeneratedIdentity(o),nK.copyFileSync(o,i),n&&console.log(`✓ Copied schema.ts to ${a}/`)),nK.existsSync(l)){let e=n$.join(a,"relations.ts");nK.copyFileSync(l,e),n&&console.log(`✓ Copied relations.ts to ${a}/`)}try{Z("git add -A",{encoding:"utf-8",stdio:"pipe",cwd:process.cwd()})}catch{}n&&console.log("✓ Schema generated successfully")}finally{nK.existsSync(u)&&nK.unlinkSync(u),nK.existsSync(r)&&nK.rmSync(r,{recursive:!0})}}async function upgrade(e={}){let{schemaPath:i=nQ.DEFAULT_SCHEMA_PATH,projectPath:n=process.cwd(),verbose:t=!1}=e;loadEnv();let a=getDbUrl(),r=n$.isAbsolute(i)?i:n$.join(n,i);if(!nK.existsSync(r))throw Error(`Schema file not found: ${r}`);let o=n$.dirname(r),u=n$.dirname(o),s=n$.join(u,"drizzle.config.ts"),l=`
33
33
  import { defineConfig } from 'drizzle-kit';
34
34
 
35
35
  export default defineConfig({
36
36
  dialect: 'postgresql',
37
- schema: '${u}',
37
+ schema: '${r}',
38
38
  dbCredentials: {
39
39
  url: '${a}',
40
40
  },
41
41
  });
42
- `;try{let e;tG.writeFileSync(s,l),t&&console.log("Pushing schema changes to database...");let n=`npx drizzle-kit push --force --config=${s}`;t&&console.log(`Running: ${n}`);try{e=P(n,{encoding:"utf-8",stdio:"pipe",timeout:12e4,cwd:i,env:{...process.env,NODE_PATH:tU}})}catch(i){let e=i.stderr?.toString()||"",n=i.stdout?.toString()||"";throw Error(`drizzle-kit push failed:
43
- ${e||n||i.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{tG.existsSync(s)&&tG.unlinkSync(s)}}class tj{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){var n;let i=new tj({...e,headers:{...e.headers}});return i.query&&(i.query=Object.keys(n=i.query).reduce((e,i)=>{let t=n[i];return{...e,[i]:Array.isArray(t)?[...t]:t}},{})),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 tj.clone(this)}}let tq={step:"build",tags:["SET_EXPECT_HEADER","EXPECT_HEADER"],name:"addExpectContinueMiddleware",override:!0},tV=e=>{if("function"==typeof e)return e;let n=Promise.resolve(e);return()=>n},t0={WHEN_SUPPORTED:"WHEN_SUPPORTED",WHEN_REQUIRED:"WHEN_REQUIRED"},t1=t0.WHEN_SUPPORTED,t3={WHEN_SUPPORTED:"WHEN_SUPPORTED",WHEN_REQUIRED:"WHEN_REQUIRED"},t2=t0.WHEN_SUPPORTED;(Q=ei||(ei={})).MD5="MD5",Q.CRC32="CRC32",Q.CRC32C="CRC32C",Q.CRC64NVME="CRC64NVME",Q.SHA1="SHA1",Q.SHA256="SHA256",(I=et||(et={})).HEADER="header",I.TRAILER="trailer";let t4=ei.CRC32;function t6(e){return e}let t8={name:"hostHeaderMiddleware",step:"build",priority:"low",tags:["HOST"],override:!0},t5=e=>({applyToStack:n=>{n.add(n=>async i=>{if(!tj.isInstance(i.request))return n(i);let{request:t}=i,{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 n(i)},t8)}}),t7={name:"loggerMiddleware",tags:["LOGGER"],step:"initialize",override:!0},t9=e=>({applyToStack:e=>{e.add((e,n)=>async i=>{try{let t=await e(i),{clientName:a,commandName:u,logger:o,dynamoDbDocumentClientOptions:r={}}=n,{overrideInputFilterSensitiveLog:s,overrideOutputFilterSensitiveLog:l}=r,h=s??n.inputFilterSensitiveLog,g=l??n.outputFilterSensitiveLog,{$metadata:c,...d}=t.output;return o?.info?.({clientName:a,commandName:u,input:h(i.input),output:g(d),metadata:c}),t}catch(s){let{clientName:e,commandName:t,logger:a,dynamoDbDocumentClientOptions:u={}}=n,{overrideInputFilterSensitiveLog:o}=u,r=o??n.inputFilterSensitiveLog;throw a?.error?.({clientName:e,commandName:t,input:r(i.input),error:s,metadata:s.$metadata}),s}},t7)}}),ae={step:"build",tags:["RECURSION_DETECTION"],name:"recursionDetectionMiddleware",override:!0,priority:"low"},an={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")},ai=["true","1"].includes(process.env?.AWS_LAMBDA_NODEJS_NO_GLOBAL_AWSLAMBDA??"");ai||(globalThis.awslambda=globalThis.awslambda||{});class at{static PROTECTED_KEYS=an;isProtectedKey(e){return Object.values(an).includes(e)}getRequestId(){return this.get(an.REQUEST_ID)??"-"}getXRayTraceId(){return this.get(an.X_RAY_TRACE_ID)}getTenantId(){return this.get(an.TENANT_ID)}}class aa extends at{currentContext;getContext(){return this.currentContext}hasContext(){return void 0!==this.currentContext}get(e){return this.currentContext?.[e]}set(e,n){if(this.isProtectedKey(e))throw Error(`Cannot modify protected Lambda context field: ${String(e)}`);this.currentContext=this.currentContext||{},this.currentContext[e]=n}run(e,n){return this.currentContext=e,n()}}class au extends at{als;static async create(){let e=new au;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,n){if(this.isProtectedKey(e))throw Error(`Cannot modify protected Lambda context field: ${String(e)}`);let i=this.als.getStore();if(!i)throw Error("No context available");i[e]=n}run(e,n){return this.als.run(e,n)}}O=ea||(ea={}),c=null,O.getInstanceAsync=async function(){return c||(c=(async()=>{let e="AWS_LAMBDA_MAX_CONCURRENCY"in process.env?await au.create():new aa;return!ai&&globalThis.awslambda?.InvokeStore?globalThis.awslambda.InvokeStore:(!ai&&globalThis.awslambda&&(globalThis.awslambda.InvokeStore=e),e)})()),c},O._testing="1"===process.env.AWS_LAMBDA_BENCHMARK_MODE?{reset:()=>{c=null,globalThis.awslambda?.InvokeStore&&delete globalThis.awslambda.InvokeStore,globalThis.awslambda={}}}:void 0;let ao="X-Amzn-Trace-Id",ar=e=>({applyToStack:e=>{e.add(e=>async n=>{let{request:i}=n;if(!tj.isInstance(i))return e(n);let t=Object.keys(i.headers??{}).find(e=>e.toLowerCase()===ao.toLowerCase())??ao;if(i.headers.hasOwnProperty(t))return e(n);let a=process.env.AWS_LAMBDA_FUNCTION_NAME,u=process.env._X_AMZN_TRACE_ID,o=await ea.getInstanceAsync(),r=o?.getXRayTraceId()??u,s=e=>"string"==typeof e&&e.length>0;return s(a)&&s(r)&&(i.headers[ao]=r),e({...n,request:i})},ae)}});class as{data;lastPurgeTime=Date.now();static EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS=3e4;constructor(e={}){this.data=e}get(e){let n=this.data[e];if(n)return n}set(e,n){return this.data[e]=n,n}delete(e){delete this.data[e]}async purgeExpired(){let e=Date.now();if(!(this.lastPurgeTime+as.EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS>e))for(let n in this.data){let i=this.data[n];if(!i.isRefreshing){let t=await i.identity;t.expiration&&t.expiration.getTime()<e&&delete this.data[n]}}}}class al{_identity;isRefreshing;accessed;constructor(e,n=!1,i=Date.now()){this._identity=e,this.isRefreshing=n,this.accessed=i}get identity(){return this.accessed=Date.now(),this._identity}}class ah{createSessionFn;cache;static REFRESH_WINDOW_MS=6e4;constructor(e,n=new as){this.createSessionFn=e,this.cache=n}async getS3ExpressIdentity(e,n){let i=n.Bucket,{cache:t}=this,a=t.get(i);return a?a.identity.then(e=>(e.expiration?.getTime()??0)<Date.now()?t.set(i,new al(this.getIdentity(i))).identity:((e.expiration?.getTime()??0)<Date.now()+ah.REFRESH_WINDOW_MS&&!a.isRefreshing&&(a.isRefreshing=!0,this.getIdentity(i).then(e=>{t.set(i,new al(Promise.resolve(e)))})),e)):t.set(i,new al(this.getIdentity(i))).identity}async getIdentity(e){await this.cache.purgeExpired().catch(e=>{console.warn("Error while clearing expired entries in S3ExpressIdentityCache: \n"+e)});let n=await this.createSessionFn(e);if(!n.Credentials?.AccessKeyId||!n.Credentials?.SecretAccessKey)throw Error("s3#createSession response credential missing AccessKeyId or SecretAccessKey.");return{accessKeyId:n.Credentials.AccessKeyId,secretAccessKey:n.Credentials.SecretAccessKey,sessionToken:n.Credentials.SessionToken,expiration:n.Credentials.Expiration?new Date(n.Credentials.Expiration):void 0}}}let ag={name:"bucketEndpointMiddleware",override:!0,relation:"after",toMiddleware:"endpointV2Middleware"},ac={step:"initialize",tags:["VALIDATE_BUCKET_NAME"],name:"validateBucketNameMiddleware",override:!0},ad={tags:["REGION_REDIRECT","S3"],name:"regionRedirectEndpointMiddleware",override:!0,relation:"before",toMiddleware:"endpointV2Middleware"},ap={step:"initialize",tags:["REGION_REDIRECT","S3"],name:"regionRedirectMiddleware",override:!0};function af(e,n,i){e.__aws_sdk_context?e.__aws_sdk_context.features||(e.__aws_sdk_context.features={}):e.__aws_sdk_context={features:{}},e.__aws_sdk_context.features[n]=i}let am=(e,n,i)=>{if(n in e){if("true"===e[n])return!0;if("false"===e[n])return!1;throw Error(`Cannot load ${i} "${n}". Expected "true" or "false", got ${e[n]}.`)}};(G=eu||(eu={})).ENV="env",G.CONFIG="shared config entry";let ay="X-Amz-S3session-Token",aS=ay.toLowerCase(),ab={environmentVariableSelector:e=>am(e,"AWS_S3_DISABLE_EXPRESS_SESSION_AUTH",eu.ENV),configFileSelector:e=>am(e,"s3_disable_express_session_auth",eu.CONFIG),default:!1},aC={name:"s3ExpressMiddleware",step:"build",tags:["S3","S3_EXPRESS"],override:!0},aw="__smithy_context",aT=e=>e[aw]||(e[aw]={}),ax={step:"finalizeRequest",tags:["HTTP_SIGNING"],name:"httpSigningMiddleware",aliases:["apiKeyMiddleware","tokenMiddleware","awsAuthMiddleware"],override:!0,relation:"after",toMiddleware:"retryMiddleware"},aL=e=>({applyToStack:e=>{e.addRelativeTo((e,n)=>async i=>{if(!tj.isInstance(i.request))return e(i);let t=aT(n).selectedHttpAuthScheme;if(!t)throw Error("No HttpAuthScheme was selected: unable to sign request");let{httpAuthOption:{signingProperties:a={}},identity:u,signer:o}=t,r=await e({...i,request:await o.sign(i.request,u,a)}).catch((o.errorHandler||(e=>e=>{throw e}))(a));return(o.successHandler||((e,n)=>{}))(r.response,a),r},ax)}}),aE=async(e,n,i,t)=>{let a=await t.signWithCredentials(i,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},aY=e=>{if("function"==typeof e)return e;let n=Promise.resolve(e);return()=>n},aD;function av(e){let n=aY(e.userAgentAppId??aD),{customUserAgent:i}=e;return Object.assign(e,{customUserAgent:"string"==typeof i?[[i]]:i,userAgentAppId:async()=>{let i=await n();if(!(void 0===i||"string"==typeof i&&i.length<=50)){let n=e.logger?.constructor?.name!=="NoOpLogger"&&e.logger?e.logger:console;"string"!=typeof i?n?.warn("userAgentAppId must be a string or undefined."):i.length>50&&n?.warn("The provided userAgentAppId exceeds the maximum length of 50 characters.")}return i}})}let aZ={},aN=RegExp("^(?!.*-$)(?!-)[a-zA-Z0-9-]{1,63}$"),aA=(e,n=!1)=>{if(!n)return aN.test(e);for(let n of e.split("."))if(!aA(n))return!1;return!0},aJ=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}$"),aP=e=>aJ.test(e)||e.startsWith("[")&&e.endsWith("]"),aM=(e,n=!1)=>{if(n){for(let n of e.split("."))if(!aM(n))return!1;return!0}return!(!aA(e)||e.length<3||e.length>63||e!==e.toLowerCase()||aP(e))};var aR=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 a_={isVirtualHostableS3Bucket:aM,parseArn:e=>{let n=e.split(":");if(n.length<6)return null;let[i,t,a,u,o,...r]=n;return"arn"!==i||""===t||""===a||""===r.join(":")?null:{partition:t,service:a,region:u,accountId:o,resourceId:r.map(e=>e.split("/")).flat()}},partition:e=>{let{partitions:n}=aR;for(let i of n){let{regions:n,outputs:t}=i;for(let[i,a]of Object.entries(n))if(i===e)return{...t,...a}}for(let i of n){let{regionRegex:n,outputs:t}=i;if(new RegExp(n).test(e))return{...t}}let i=n.find(e=>"aws"===e.id);if(!i)throw Error("Provided region was not found in the partition array or regex, and default partition with id 'aws' doesn't exist.");return{...i.outputs}}};aZ.aws=a_;let aB=/\d{12}\.ddb/;async function aX(e,n,i){let t=i.request;if(t?.headers?.["smithy-protocol"]==="rpc-v2-cbor"&&af(e,"PROTOCOL_RPC_V2_CBOR","M"),"function"==typeof n.retryStrategy){let i=await n.retryStrategy();"function"==typeof i.acquireInitialRetryToken?i.constructor?.name?.includes("Adaptive")?af(e,"RETRY_MODE_ADAPTIVE","F"):af(e,"RETRY_MODE_STANDARD","E"):af(e,"RETRY_MODE_LEGACY","D")}if("function"==typeof n.accountIdEndpointMode){let i=e.endpointV2;switch(String(i?.url?.hostname).match(aB)&&af(e,"ACCOUNT_ID_ENDPOINT","O"),await n.accountIdEndpointMode?.()){case"disabled":af(e,"ACCOUNT_ID_MODE_DISABLED","Q");break;case"preferred":af(e,"ACCOUNT_ID_MODE_PREFERRED","P");break;case"required":af(e,"ACCOUNT_ID_MODE_REQUIRED","R")}}let a=e.__smithy_context?.selectedHttpAuthScheme?.identity;if(a?.$source)for(let[n,i]of(a.accountId&&af(e,"RESOLVED_ACCOUNT_ID","T"),Object.entries(a.$source??{})))af(e,n,i)}let aH="user-agent",ak="x-amz-user-agent",aF=/[^!$%&'*+\-.^_`|~\w]/g,aQ=/[^!$%&'*+\-.^_`|~\w#]/g,aI=e=>{let n=e[0].split("/").map(e=>e.replace(aF,"-")).join("/"),i=e[1]?.replace(aQ,"-"),t=n.indexOf("/"),a=n.substring(0,t),u=n.substring(t+1);return"api"===a&&(u=u.toLowerCase()),[a,u,i].filter(e=>e&&e.length>0).reduce((e,n,i)=>{switch(i){case 0:return n;case 1:return`${e}/${n}`;default:return`${e}#${n}`}},"")},aO={name:"getUserAgentMiddleware",step:"build",priority:"low",tags:["SET_USER_AGENT","USER_AGENT"],override:!0},aG=e=>({applyToStack:n=>{n.add((n,i)=>async t=>{let{request:a}=t;if(!tj.isInstance(a))return n(t);let{headers:u}=a,o=i?.userAgent?.map(aI)||[],r=(await e.defaultUserAgentProvider()).map(aI);await aX(i,e,t),r.push(`m/${function(e){let n="";for(let i in e){let t=e[i];if(n.length+t.length+1<=1024){n.length?n+=","+t:n+=t;continue}break}return n}(Object.assign({},i.__smithy_context?.features,i.__aws_sdk_context?.features))}`);let s=e?.customUserAgent?.map(aI)||[],l=await e.userAgentAppId();l&&r.push(aI(["app",`${l}`]));let h=[].concat([...r,...o,...s]).join(" "),g=[...r.filter(e=>e.startsWith("aws-sdk-")),...s].join(" ");return"browser"!==e.runtime?(g&&(u[ak]=u[ak]?`${u[aH]} ${g}`:g),u[aH]=h):u[ak]=h,n({...t,request:a})},aO)}}),a$=new Set,aK=e=>"string"==typeof e&&(e.startsWith("fips-")||e.endsWith("-fips")),aU=e=>{let{region:n,useFipsEndpoint:i}=e;if(!n)throw Error("Region is missing");return Object.assign(e,{region:async()=>{let e,i=aK(e="function"==typeof n?await n():n)?["fips-aws-global","aws-fips"].includes(e)?"us-east-1":e.replace(/fips-(dkr-|prod-)?|-fips/,""):e;return((e,n=aA)=>{if(a$.has(e)||n(e))a$.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.`)})(i),i},useFipsEndpoint:async()=>!!aK("string"==typeof n?n:await n())||("function"!=typeof i?Promise.resolve(!!i):i())})},aW={step:"serialize",tags:["HTTP_AUTH_SCHEME"],name:"httpAuthSchemeMiddleware",override:!0,relation:"before",toMiddleware:"endpointV2Middleware"},az=(e,{httpAuthSchemeParametersProvider:n,identityProviderConfigProvider:i})=>({applyToStack:t=>{let a;t.addRelativeTo((a={httpAuthSchemeParametersProvider:n,identityProviderConfigProvider:i},(n,i)=>async t=>{let u=((e,n)=>{if(!n||0===n.length)return e;let i=[];for(let t of n)for(let n of e)n.schemeId.split("#")[1]===t&&i.push(n);for(let n of e)i.find(({schemeId:e})=>e===n.schemeId)||i.push(n);return i})(e.httpAuthSchemeProvider(await a.httpAuthSchemeParametersProvider(e,i,t.input)),e.authSchemePreference?await e.authSchemePreference():[]),o=function(e){let n=new Map;for(let i of e)n.set(i.schemeId,i);return n}(e.httpAuthSchemes),r=aT(i),s=[];for(let n of u){let t=o.get(n.schemeId);if(!t){s.push(`HttpAuthScheme \`${n.schemeId}\` was not enabled for this service.`);continue}let u=t.identityProvider(await a.identityProviderConfigProvider(e));if(!u){s.push(`HttpAuthScheme \`${n.schemeId}\` did not have an IdentityProvider configured.`);continue}let{identityProperties:l={},signingProperties:h={}}=n.propertiesExtractor?.(e,i)||{};n.identityProperties=Object.assign(n.identityProperties||{},l),n.signingProperties=Object.assign(n.signingProperties||{},h),r.selectedHttpAuthScheme={httpAuthOption:n,identity:await u(n.identityProperties),signer:t.signer};break}if(!r.selectedHttpAuthScheme)throw Error(s.join("\n"));return n(t)}),aW)}});class aj{authSchemes=new Map;constructor(e){for(let[n,i]of Object.entries(e))void 0!==i&&this.authSchemes.set(n,i)}getIdentityProvider(e){return this.authSchemes.get(e)}}class aq{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 aV=(e,n,i,t,a)=>({name:n,namespace:e,traits:i,input:t,output:a}),a0=(e,n)=>(n.find(([n])=>n.match(e))||[void 0,void 0])[1],a1={name:"deserializerMiddleware",step:"deserialize",tags:["DESERIALIZER"],override:!0},a3={name:"serializerMiddleware",step:"serialize",tags:["SERIALIZER"],override:!0};function a2(e){return{applyToStack:n=>{n.add((n,i)=>async t=>{let{operationSchema:a}=aT(i),[,u,o,r,s,l]=a??[],h=i.endpointV2?.url&&e.urlParser?async()=>e.urlParser(i.endpointV2.url):e.endpoint,g=await e.protocol.serializeRequest(aV(u,o,r,s,l),t.input,{...e,...i,endpoint:h});return n({...t,request:g})},a3),n.add((n,i)=>async t=>{let{response:a}=await n(t),{operationSchema:u}=aT(i),[,o,r,s,l,h]=u??[];try{let n=await e.protocol.deserializeResponse(aV(o,r,s,l,h),{...e,...i},a);return{response:a,output:n}}catch(e){if(Object.defineProperty(e,"$response",{value:a,enumerable:!1,writable:!1,configurable:!1}),!("$metadata"in e)){let n="Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.";try{e.message+="\n "+n}catch(e){i.logger&&i.logger?.constructor?.name!=="NoOpLogger"?i.logger?.warn?.(n):console.warn(n)}void 0!==e.$responseBodyText&&e.$response&&(e.$response.body=e.$responseBodyText);try{if(aq.isInstance(a)){let{headers:n={}}=a,i=Object.entries(n);e.$metadata={httpStatusCode:a.statusCode,requestId:a0(/^x-[\w-]+-request-?id$/,i),extendedRequestId:a0(/^x-[\w-]+-id-2$/,i),cfId:a0(/^x-[\w-]+-cf-id$/,i)}}}catch(e){}}throw e}},a1),e.protocol.setSerdeContext(e)}}}let a4="content-length",a6={step:"build",tags:["SET_CONTENT_LENGTH","CONTENT_LENGTH"],name:"contentLengthMiddleware",override:!0},a8=e=>({applyToStack:n=>{var i;n.add((i=e.bodyLengthChecker,e=>async n=>{let t=n.request;if(tj.isInstance(t)){let{body:e,headers:n}=t;if(e&&-1===Object.keys(n).map(e=>e.toLowerCase()).indexOf(a4))try{let n=i(e);t.headers={...t.headers,[a4]:String(n)}}catch(e){}}return e({...n,request:t})}),a6)}}),a5=(e,n,i)=>{let t,a,u,o=!1,r=async()=>{a||(a=e());try{t=await a,u=!0,o=!1}finally{a=void 0}return t};return void 0===n?async e=>((!u||e?.forceRefresh)&&(t=await r()),t):async e=>((!u||e?.forceRefresh)&&(t=await r()),o||(i&&!i(t)?o=!0:n(t)&&await r()),t)};class a7 extends Error{name="ProviderError";tryNextLink;constructor(e,n=!0){let i,t=!0;"boolean"==typeof n?(i=void 0,t=n):null!=n&&"object"==typeof n&&(i=n.logger,t=n.tryNextLink??!0),super(e),this.tryNextLink=t,Object.setPrototypeOf(this,a7.prototype),i?.debug?.(`@smithy/property-provider ${t?"->":"(!)"} ${e}`)}static from(e,n=!0){return Object.assign(new this(e.message,n),e)}}let a9=(...e)=>async()=>{let n;if(0===e.length)throw new a7("No providers in chain");for(let i of e)try{return await i()}catch(e){if(n=e,e?.tryNextLink)continue;throw e}throw n};class ue extends a7{name="CredentialsProviderError";constructor(e,n=!0){super(e,n),Object.setPrototypeOf(this,ue.prototype)}}function un(e){try{let n=new Set(Array.from(e.match(/([A-Z_]){3,}/g)??[]));return n.delete("CONFIG"),n.delete("CONFIG_PREFIX_SEPARATOR"),n.delete("ENV"),[...n].join(", ")}catch(n){return e}}let ui="AWS_PROFILE",ut=e=>e.profile||process.env[ui]||"default";($=eo||(eo={})).PROFILE="profile",$.SSO_SESSION="sso-session",$.SERVICES="services";let ua=e=>Object.entries(e).filter(([e])=>{let n=e.indexOf(".");return -1!==n&&Object.values(eo).includes(e.substring(0,n))}).reduce((e,[n,i])=>{let t=n.indexOf(".");return e[n.substring(0,t)===eo.PROFILE?n.substring(t+1):n]=i,e},{...e.default&&{default:e.default}}),uu={},uo=()=>{let{HOME:e,USERPROFILE:n,HOMEPATH:i,HOMEDRIVE:t=`C:${t$.sep}`}=process.env;if(e)return e;if(n)return n;if(i)return`${t}${i}`;let a=process&&process.geteuid?`${process.geteuid()}`:"DEFAULT";return uu[a]||(uu[a]=(0,tK.homedir)()),uu[a]},ur=()=>process.env.AWS_CONFIG_FILE||(0,t$.join)(uo(),".aws","config"),us=/^([\w-]+)\s(["'])?([\w-@\+\.%:/]+)\2$/,ul=["__proto__","profile __proto__"],uh=e=>{let n,i,t={};for(let a of e.split(/\r?\n/)){let e=a.split(/(^|\s)[;#]/)[0].trim();if("["===e[0]&&"]"===e[e.length-1]){n=void 0,i=void 0;let t=e.substring(1,e.length-1),a=us.exec(t);if(a){let[,e,,i]=a;Object.values(eo).includes(e)&&(n=[e,i].join("."))}else n=t;if(ul.includes(t))throw Error(`Found invalid profile name "${t}"`)}else if(n){let u=e.indexOf("=");if(![0,-1].includes(u)){let[o,r]=[e.substring(0,u).trim(),e.substring(u+1).trim()];if(""===r)i=o;else{i&&a.trimStart()===a&&(i=void 0),t[n]=t[n]||{};let e=i?[i,o].join("."):o;t[n][e]=r}}}}return t},ug=E("node:fs/promises"),uc={},ud={},up=(e,n)=>void 0!==ud[e]?ud[e]:((!uc[e]||n?.ignoreCache)&&(uc[e]=(0,ug.readFile)(e,"utf8")),uc[e]),uf=()=>({}),um=async(e={})=>{let{filepath:n=process.env.AWS_SHARED_CREDENTIALS_FILE||(0,t$.join)(uo(),".aws","credentials"),configFilepath:i=ur()}=e,t=uo(),a=n;n.startsWith("~/")&&(a=(0,t$.join)(t,n.slice(2)));let u=i;i.startsWith("~/")&&(u=(0,t$.join)(t,i.slice(2)));let o=await Promise.all([up(u,{ignoreCache:e.ignoreCache}).then(uh).then(ua).catch(uf),up(a,{ignoreCache:e.ignoreCache}).then(uh).catch(uf)]);return{configFile:o[0],credentialsFile:o[1]}},uy=({environmentVariableSelector:e,configFileSelector:n,default:i},t={})=>{let a,{signingName:u,logger:o}=t;return a5(a9((a={signingName:u,logger:o},async()=>{try{let n=e(process.env,a);if(void 0===n)throw Error();return n}catch(n){throw new ue(n.message||`Not found in ENV: ${un(e.toString())}`,{logger:a?.logger})}}),((e,{preferredFile:n="config",...i}={})=>async()=>{let t=ut(i),{configFile:a,credentialsFile:u}=await um(i),o=u[t]||{},r=a[t]||{},s="config"===n?{...o,...r}:{...r,...o};try{let i="config"===n?a:u,t=e(s,i);if(void 0===t)throw Error();return t}catch(n){throw new ue(n.message||`Not found in config files w/ profile [${t}]: ${un(e.toString())}`,{logger:i.logger})}})(n,t),(e=>"function"==typeof e?async()=>await e():()=>Promise.resolve(e))(i)))},uS="AWS_ENDPOINT_URL",ub="endpoint_url",uC=async e=>{let n;return uy((n=e??"",{environmentVariableSelector:e=>{let i=e[[uS,...n.split(" ").map(e=>e.toUpperCase())].join("_")];if(i)return i;let t=e[uS];if(t)return t},configFileSelector:(e,i)=>{if(i&&e.services){let t=i[["services",e.services].join(".")];if(t){let e=t[[n.split(" ").map(e=>e.toLowerCase()).join("_"),ub].join(".")];if(e)return e}}let t=e[ub];if(t)return t},default:void 0}))()},uw=e=>{let n;if("string"==typeof e)return uw(new URL(e));let{hostname:i,pathname:t,port:a,protocol:u,search:o}=e;return o&&(n=function(e){let n={};if(e=e.replace(/^\?/,""))for(let i of e.split("&")){let[e,t=null]=i.split("=");e=decodeURIComponent(e),t&&(t=decodeURIComponent(t)),e in n?Array.isArray(n[e])?n[e].push(t):n[e]=[n[e],t]:n[e]=t}return n}(o)),{hostname:i,port:a?parseInt(a):void 0,protocol:u,path:t,query:n}},uT=e=>"object"==typeof e?"url"in e?uw(e.url):e:uw(e),ux=e=>{let n,i=e.tls??!0,{endpoint:t,useDualstackEndpoint:a,useFipsEndpoint:u}=e,o=Object.assign(e,{endpoint:null!=t?async()=>uT(await tV(t)()):void 0,tls:i,isCustomEndpoint:!!t,useDualstackEndpoint:tV(a??!1),useFipsEndpoint:tV(u??!1)});return o.serviceConfiguredEndpoint=async()=>(e.serviceId&&!n&&(n=uC(e.serviceId)),n),o};(K=er||(er={})).STANDARD="standard",K.ADAPTIVE="adaptive";let uL=er.STANDARD,uE=["BandwidthLimitExceeded","EC2ThrottledException","LimitExceededException","PriorRequestNotComplete","ProvisionedThroughputExceededException","RequestLimitExceeded","RequestThrottled","RequestThrottledException","SlowDown","ThrottledException","Throttling","ThrottlingException","TooManyRequestsException","TransactionInProgressException"],uY=["TimeoutError","RequestTimeout","RequestTimeoutException"],uD=[500,502,503,504],uv=["ECONNRESET","ECONNREFUSED","EPIPE","ETIMEDOUT"],uZ=["EHOSTUNREACH","ENETUNREACH","ENOTFOUND"],uN=e=>e.$metadata?.httpStatusCode===429||uE.includes(e.name)||e.$retryable?.throttling==!0,uA=(e,n=0)=>{let i;return e?.$retryable!==void 0||e.$metadata?.clockSkewCorrected||uY.includes(e.name)||uv.includes(e?.code||"")||uZ.includes(e?.code||"")||uD.includes(e.$metadata?.httpStatusCode||0)||(i=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)&&i.has(e.message))||void 0!==e.cause&&n<=10&&uA(e.cause,n+1)};class uJ{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 n=this.getCurrentTimeInSeconds();this.lastThrottleTime=n,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 n=(e-this.currentCapacity)/this.fillRate*1e3;await new Promise(e=>uJ.setTimeoutFn(e,n))}this.currentCapacity=this.currentCapacity-e}}refillTokenBucket(){let e=this.getCurrentTimeInSeconds();if(!this.lastTimestamp){this.lastTimestamp=e;return}let n=(e-this.lastTimestamp)*this.fillRate;this.currentCapacity=Math.min(this.maxCapacity,this.currentCapacity+n),this.lastTimestamp=e}updateClientSendingRate(e){let n;if(this.updateMeasuredRate(),uN(e)){let e=this.enabled?Math.min(this.measuredTxRate,this.fillRate):this.measuredTxRate;this.lastMaxRate=e,this.calculateTimeWindow(),this.lastThrottleTime=this.getCurrentTimeInSeconds(),n=this.cubicThrottle(e),this.enableTokenBucket()}else this.calculateTimeWindow(),n=this.cubicSuccess(this.getCurrentTimeInSeconds());let i=Math.min(n,2*this.measuredTxRate);this.updateTokenBucketRate(i)}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 n=this.requestCount/(e-this.lastTxRateBucket);this.measuredTxRate=this.getPrecise(n*this.smooth+this.measuredTxRate*(1-this.smooth)),this.requestCount=0,this.lastTxRateBucket=e}}getPrecise(e){return parseFloat(e.toFixed(8))}}let uP=({retryDelay:e,retryCount:n,retryCost:i})=>({getRetryCount:()=>n,getRetryDelay:()=>Math.min(2e4,e),getRetryCost:()=>i});class uM{maxAttempts;mode=er.STANDARD;capacity=500;retryBackoffStrategy=(()=>{let e=100;return{computeNextBackoffDelay:n=>Math.floor(Math.min(2e4,Math.random()*2**n*e)),setDelayBase:n=>{e=n}}})();maxAttemptsProvider;constructor(e){this.maxAttempts=e,this.maxAttemptsProvider="function"==typeof e?e:async()=>e}async acquireInitialRetryToken(e){return uP({retryDelay:100,retryCount:0})}async refreshRetryTokenForRetry(e,n){let i=await this.getMaxAttempts();if(this.shouldRetry(e,n,i)){let i=n.errorType;this.retryBackoffStrategy.setDelayBase("THROTTLING"===i?500:100);let t=this.retryBackoffStrategy.computeNextBackoffDelay(e.getRetryCount()),a=n.retryAfterHint?Math.max(n.retryAfterHint.getTime()-Date.now()||0,t):t,u=this.getCapacityCost(i);return this.capacity-=u,uP({retryDelay:a,retryCount:e.getRetryCount()+1,retryCost:u})}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,n,i){return e.getRetryCount()+1<i&&this.capacity>=this.getCapacityCost(n.errorType)&&this.isRetryableError(n.errorType)}getCapacityCost(e){return"TRANSIENT"===e?10:5}isRetryableError(e){return"THROTTLING"===e||"TRANSIENT"===e}}class uR{maxAttemptsProvider;rateLimiter;standardRetryStrategy;mode=er.ADAPTIVE;constructor(e,n){this.maxAttemptsProvider=e;let{rateLimiter:i}=n??{};this.rateLimiter=i??new uJ,this.standardRetryStrategy=new uM(e)}async acquireInitialRetryToken(e){return await this.rateLimiter.getSendToken(),this.standardRetryStrategy.acquireInitialRetryToken(e)}async refreshRetryTokenForRetry(e,n){return this.rateLimiter.updateClientSendingRate(n),this.standardRetryStrategy.refreshRetryTokenForRetry(e,n)}recordSuccess(e){this.rateLimiter.updateClientSendingRate({}),this.standardRetryStrategy.recordSuccess(e)}}let u_="AWS_MAX_ATTEMPTS",uB="max_attempts",uX={environmentVariableSelector:e=>{let n=e[u_];if(!n)return;let i=parseInt(n);if(Number.isNaN(i))throw Error(`Environment variable ${u_} mast be a number, got "${n}"`);return i},configFileSelector:e=>{let n=e[uB];if(!n)return;let i=parseInt(n);if(Number.isNaN(i))throw Error(`Shared config file entry ${uB} mast be a number, got "${n}"`);return i},default:3},uH=e=>{let{retryStrategy:n,retryMode:i,maxAttempts:t}=e,a=tV(t??3);return Object.assign(e,{maxAttempts:a,retryStrategy:async()=>n||(await tV(i)()===er.ADAPTIVE?new uR(a):new uM(a))})},uk={environmentVariableSelector:e=>e.AWS_RETRY_MODE,configFileSelector:e=>e.retry_mode,default:uL};class uF{trace(){}debug(){}info(){}warn(){}error(){}}let uQ=E("crypto"),uI=uQ.default.randomUUID.bind(uQ.default),uO=Array.from({length:256},(e,n)=>n.toString(16).padStart(2,"0")),uG=()=>{if(uI)return uI();let e=new Uint8Array(16);return crypto.getRandomValues(e),e[6]=15&e[6]|64,e[8]=63&e[8]|128,uO[e[0]]+uO[e[1]]+uO[e[2]]+uO[e[3]]+"-"+uO[e[4]]+uO[e[5]]+"-"+uO[e[6]]+uO[e[7]]+"-"+uO[e[8]]+uO[e[9]]+"-"+uO[e[10]]+uO[e[11]]+uO[e[12]]+uO[e[13]]+uO[e[14]]+uO[e[15]]},u$=E("stream"),uK=e=>e?.body instanceof u$.Readable||"u">typeof ReadableStream&&e?.body instanceof ReadableStream,uU=e=>e instanceof Error?e:e instanceof Object?Object.assign(Error(),e):"string"==typeof e?Error(e):Error(`AWS SDK error wrapper for ${e}`),uW=e=>{let n={error:e,errorType:uz(e)},i=uV(e.$response);return i&&(n.retryAfterHint=i),n},uz=e=>uN(e)?"THROTTLING":uA(e)?"TRANSIENT":(e=>{if(e.$metadata?.httpStatusCode!==void 0){let n=e.$metadata.httpStatusCode;if(500<=n&&n<=599&&!uA(e))return!0}return!1})(e)?"SERVER_ERROR":"CLIENT_ERROR",uj={name:"retryMiddleware",tags:["RETRY"],step:"finalizeRequest",priority:"high",override:!0},uq=e=>({applyToStack:n=>{n.add((n,i)=>async t=>{let a,u=await e.retryStrategy(),o=await e.maxAttempts();if(void 0===(a=u).acquireInitialRetryToken||void 0===a.refreshRetryTokenForRetry||void 0===a.recordSuccess)return u?.mode&&(i.userAgent=[...i.userAgent||[],["cfg/retry-mode",u.mode]]),u.retry(n,t);{let e=await u.acquireInitialRetryToken(i.partition_id),a=Error(),r=0,s=0,{request:l}=t,h=tj.isInstance(l);for(h&&(l.headers["amz-sdk-invocation-id"]=uG());;)try{h&&(l.headers["amz-sdk-request"]=`attempt=${r+1}; max=${o}`);let{response:i,output:a}=await n(t);return u.recordSuccess(e),a.$metadata.attempts=r+1,a.$metadata.totalRetryDelay=s,{response:i,output:a}}catch(o){let n=uW(o);if(a=uU(o),h&&uK(l))throw(i.logger instanceof uF?console:i.logger)?.warn("An error was encountered in a non-retryable streaming request."),a;try{e=await u.refreshRetryTokenForRetry(e,n)}catch(e){throw a.$metadata||(a.$metadata={}),a.$metadata.attempts=r+1,a.$metadata.totalRetryDelay=s,a}r=e.getRetryCount();let t=e.getRetryDelay();s+=t,await new Promise(e=>setTimeout(e,t))}}},uj)}}),uV=e=>{if(!aq.isInstance(e))return;let n=Object.keys(e.headers).find(e=>"retry-after"===e.toLowerCase());if(!n)return;let i=e.headers[n],t=Number(i);return new Date(Number.isNaN(t)?i:1e3*t)},u0=(e,n)=>{let i=[];if(e&&i.push(e),n)for(let e of n)i.push(e);return i},u1=(e,n)=>`${e||"anonymous"}${n&&n.length>0?` (a.k.a. ${n.join(",")})`:""}`,u3=()=>{let e=[],n=[],i=!1,t=new Set,a=i=>(e.forEach(e=>{i.add(e.middleware,{...e})}),n.forEach(e=>{i.addRelativeTo(e.middleware,{...e})}),i.identifyOnResolve?.(r.identifyOnResolve()),i),u=e=>{let n=[];return e.before.forEach(e=>{0===e.before.length&&0===e.after.length?n.push(e):n.push(...u(e))}),n.push(e),e.after.reverse().forEach(e=>{0===e.before.length&&0===e.after.length?n.push(e):n.push(...u(e))}),n},o=(i=!1)=>{let t=[],a=[],o={};return e.forEach(e=>{let n={...e,before:[],after:[]};for(let e of u0(n.name,n.aliases))o[e]=n;t.push(n)}),n.forEach(e=>{let n={...e,before:[],after:[]};for(let e of u0(n.name,n.aliases))o[e]=n;a.push(n)}),a.forEach(e=>{if(e.toMiddleware){let n=o[e.toMiddleware];if(void 0===n){if(i)return;throw Error(`${e.toMiddleware} is not found when adding ${u1(e.name,e.aliases)} middleware ${e.relation} ${e.toMiddleware}`)}"after"===e.relation&&n.after.push(e),"before"===e.relation&&n.before.push(e)}}),t.sort((e,n)=>u2[n.step]-u2[e.step]||u4[n.priority||"normal"]-u4[e.priority||"normal"]).map(u).reduce((e,n)=>(e.push(...n),e),[])},r={add:(n,i={})=>{let{name:a,override:u,aliases:o}=i,r={step:"initialize",priority:"normal",middleware:n,...i},s=u0(a,o);if(s.length>0){if(s.some(e=>t.has(e))){if(!u)throw Error(`Duplicate middleware name '${u1(a,o)}'`);for(let n of s){let i=e.findIndex(e=>e.name===n||e.aliases?.some(e=>e===n));if(-1===i)continue;let t=e[i];if(t.step!==r.step||r.priority!==t.priority)throw Error(`"${u1(t.name,t.aliases)}" middleware with ${t.priority} priority in ${t.step} step cannot be overridden by "${u1(a,o)}" middleware with ${r.priority} priority in ${r.step} step.`);e.splice(i,1)}}for(let e of s)t.add(e)}e.push(r)},addRelativeTo:(e,i)=>{let{name:a,override:u,aliases:o}=i,r={middleware:e,...i},s=u0(a,o);if(s.length>0){if(s.some(e=>t.has(e))){if(!u)throw Error(`Duplicate middleware name '${u1(a,o)}'`);for(let e of s){let i=n.findIndex(n=>n.name===e||n.aliases?.some(n=>n===e));if(-1===i)continue;let t=n[i];if(t.toMiddleware!==r.toMiddleware||t.relation!==r.relation)throw Error(`"${u1(t.name,t.aliases)}" middleware ${t.relation} "${t.toMiddleware}" middleware cannot be overridden by "${u1(a,o)}" middleware ${r.relation} "${r.toMiddleware}" middleware.`);n.splice(i,1)}}for(let e of s)t.add(e)}n.push(r)},clone:()=>a(u3()),use:e=>{e.applyToStack(r)},remove:i=>{let a,u;if("string"==typeof i){let a,u;return a=!1,u=e=>{let n=u0(e.name,e.aliases);if(n.includes(i)){for(let e of(a=!0,n))t.delete(e);return!1}return!0},e=e.filter(u),n=n.filter(u),a}return a=!1,u=e=>{if(e.middleware===i){for(let n of(a=!0,u0(e.name,e.aliases)))t.delete(n);return!1}return!0},e=e.filter(u),n=n.filter(u),a},removeByTag:i=>{let a=!1,u=e=>{let{tags:n,name:u,aliases:o}=e;if(n&&n.includes(i)){for(let e of u0(u,o))t.delete(e);return a=!0,!1}return!0};return e=e.filter(u),n=n.filter(u),a},concat:e=>{let n=a(u3());return n.use(e),n.identifyOnResolve(i||n.identifyOnResolve()||(e.identifyOnResolve?.()??!1)),n},applyToStack:a,identify:()=>o(!0).map(e=>{let n=e.step??e.relation+" "+e.toMiddleware;return u1(e.name,e.aliases)+" - "+n}),identifyOnResolve:e=>("boolean"==typeof e&&(i=e),i),resolve:(e,n)=>{for(let i of o().map(e=>e.middleware).reverse())e=i(e,n);return i&&console.log(r.identify()),e}};return r},u2={initialize:5,serialize:4,build:3,finalizeRequest:2,deserialize:1},u4={high:3,normal:2,low:1};class u6{config;middlewareStack=u3();initConfig;handlers;constructor(e){this.config=e;let{protocol:n,protocolSettings:i}=e;i&&"function"==typeof n&&(e.protocol=new n(i))}send(e,n,i){let t,a="function"!=typeof n?n:void 0,u="function"==typeof n?n:i;if(void 0===a&&!0===this.config.cacheMiddleware){this.handlers||(this.handlers=new WeakMap);let n=this.handlers;n.has(e.constructor)?t=n.get(e.constructor):(t=e.resolveMiddleware(this.middlewareStack,this.config,a),n.set(e.constructor,t))}else delete this.handlers,t=e.resolveMiddleware(this.middlewareStack,this.config,a);if(!u)return t(e).then(e=>e.output);t(e).then(e=>u(null,e.output),e=>u(e)).catch(()=>{})}destroy(){this.config?.requestHandler?.destroy?.(),delete this.handlers}}function u8(e,n,i){return e.$source||(e.$source={}),e.$source[n]=i,e}let u5=function(e){return u7(e)&&e.expiration.getTime()-Date.now()<3e5},u7=e=>void 0!==e.expiration,u9={},oe={};for(let e=0;e<256;e++){let n=e.toString(16).toLowerCase();1===n.length&&(n=`0${n}`),u9[e]=n,oe[n]=e}function on(e){if(e.length%2!=0)throw Error("Hex encoded strings must have an even number length");let n=new Uint8Array(e.length/2);for(let i=0;i<e.length;i+=2){let t=e.slice(i,i+2).toLowerCase();if(t in oe)n[i/2]=oe[t];else throw Error(`Cannot decode unrecognized sequence ${t} as hexadecimal`)}return n}function oi(e){let n="";for(let i=0;i<e.byteLength;i++)n+=u9[e[i]];return n}let ot=e=>"function"==typeof ArrayBuffer&&e instanceof ArrayBuffer||"[object ArrayBuffer]"===Object.prototype.toString.call(e),oa=E("buffer"),ou=(e,n=0,i=e.byteLength-n)=>{if(!ot(e))throw TypeError(`The "input" argument must be ArrayBuffer. Received type ${typeof e} (${e})`);return oa.Buffer.from(e,n,i)},oo=(e,n)=>{if("string"!=typeof e)throw TypeError(`The "input" argument must be of type string. Received type ${typeof e} (${e})`);return n?oa.Buffer.from(e,n):oa.Buffer.from(e)},or=e=>{let n=oo(e,"utf8");return new Uint8Array(n.buffer,n.byteOffset,n.byteLength/Uint8Array.BYTES_PER_ELEMENT)},os=e=>"string"==typeof e?or(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(e),ol="X-Amz-Date",oh="X-Amz-Signature",og="X-Amz-Security-Token",oc="authorization",od=ol.toLowerCase(),op=[oc,od,"date"],of=oh.toLowerCase(),om="x-amz-content-sha256",oy=og.toLowerCase(),oS={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},ob=/^proxy-/,oC=/^sec-/,ow="AWS4-HMAC-SHA256",oT="aws4_request",ox={},oL=[],oE=(e,n,i)=>`${e}/${n}/${i}/${oT}`,oY=async(e,n,i,t,a)=>{let u=await oD(e,n.secretAccessKey,n.accessKeyId),o=`${i}:${t}:${a}:${oi(u)}:${n.sessionToken}`;if(o in ox)return ox[o];for(oL.push(o);oL.length>50;)delete ox[oL.shift()];let r=`AWS4${n.secretAccessKey}`;for(let n of[i,t,a,oT])r=await oD(e,r,n);return ox[o]=r},oD=(e,n,i)=>{let t=new e(n);return t.update(os(i)),t.digest()},ov=({headers:e},n,i)=>{let t={};for(let a of Object.keys(e).sort()){if(void 0==e[a])continue;let u=a.toLowerCase();(!(u in oS||n?.has(u)||ob.test(u)||oC.test(u))||i&&(!i||i.has(u)))&&(t[u]=e[a].trim().replace(/\s+/g," "))}return t},oZ=async({headers:e,body:n},i)=>{for(let n of Object.keys(e))if(n.toLowerCase()===om)return e[n];if(void 0==n)return"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";if("string"==typeof n||ArrayBuffer.isView(n)||ot(n)){let e=new i;return e.update(os(n)),oi(await e.digest())}return"UNSIGNED-PAYLOAD"};class oN{format(e){let n=[];for(let i of Object.keys(e)){let t=or(i);n.push(Uint8Array.from([t.byteLength]),t,this.formatHeaderValue(e[i]))}let i=new Uint8Array(n.reduce((e,n)=>e+n.byteLength,0)),t=0;for(let e of n)i.set(e,t),t+=e.byteLength;return i}formatHeaderValue(e){switch(e.type){case"boolean":return Uint8Array.from([+!e.value]);case"byte":return Uint8Array.from([2,e.value]);case"short":let n=new DataView(new ArrayBuffer(3));return n.setUint8(0,3),n.setInt16(1,e.value,!1),new Uint8Array(n.buffer);case"integer":let i=new DataView(new ArrayBuffer(5));return i.setUint8(0,4),i.setInt32(1,e.value,!1),new Uint8Array(i.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 u=new Uint8Array(a.buffer);return u.set(e.value,3),u;case"string":let o=or(e.value),r=new DataView(new ArrayBuffer(3+o.byteLength));r.setUint8(0,7),r.setUint16(1,o.byteLength,!1);let s=new Uint8Array(r.buffer);return s.set(o,3),s;case"timestamp":let l=new Uint8Array(9);return l[0]=8,l.set(oJ.fromNumber(e.value.valueOf()).bytes,1),l;case"uuid":if(!oA.test(e.value))throw Error(`Invalid UUID received: ${e.value}`);let h=new Uint8Array(17);return h[0]=9,h.set(on(e.value.replace(/\-/g,"")),1),h}}}(U=es||(es={}))[U.boolTrue=0]="boolTrue",U[U.boolFalse=1]="boolFalse",U[U.byte=2]="byte",U[U.short=3]="short",U[U.integer=4]="integer",U[U.long=5]="long",U[U.byteArray=6]="byteArray",U[U.string=7]="string",U[U.timestamp=8]="timestamp",U[U.uuid=9]="uuid";let oA=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;class oJ{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 n=new Uint8Array(8);for(let i=7,t=Math.abs(Math.round(e));i>-1&&t>0;i--,t/=256)n[i]=t;return e<0&&oP(n),new oJ(n)}valueOf(){let e=this.bytes.slice(0),n=128&e[0];return n&&oP(e),parseInt(oi(e),16)*(n?-1:1)}toString(){return String(this.valueOf())}}function oP(e){for(let n=0;n<8;n++)e[n]^=255;for(let n=7;n>-1&&(e[n]++,0===e[n]);n--);}let oM=e=>{for(let n of Object.keys((e=tj.clone(e)).headers))op.indexOf(n.toLowerCase())>-1&&delete e.headers[n];return e},oR=e=>encodeURIComponent(e).replace(/[!'()*]/g,o_),o_=e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`;class oB{service;regionProvider;credentialProvider;sha256;uriEscapePath;applyChecksum;constructor({applyChecksum:e,credentials:n,region:i,service:t,sha256:a,uriEscapePath:u=!0}){this.service=t,this.sha256=a,this.uriEscapePath=u,this.applyChecksum="boolean"!=typeof e||e,this.regionProvider=tV(i),this.credentialProvider=tV(n)}createCanonicalRequest(e,n,i){let t=Object.keys(n).sort();return`${e.method}
42
+ `;try{let e;nK.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=Z(i,{encoding:"utf-8",stdio:"pipe",timeout:12e4,cwd:n,env:{...process.env,NODE_PATH:nW}})}catch(n){let e=n.stderr?.toString()||"",i=n.stdout?.toString()||"";throw Error(`drizzle-kit push failed:
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{nK.existsSync(s)&&nK.unlinkSync(s)}}class nj{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 nj({...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 nj.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&&nj.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 nV={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},n0={WHEN_SUPPORTED:"WHEN_SUPPORTED",WHEN_REQUIRED:"WHEN_REQUIRED"},n1=n0.WHEN_SUPPORTED,n3={WHEN_SUPPORTED:"WHEN_SUPPORTED",WHEN_REQUIRED:"WHEN_REQUIRED"},n2=n0.WHEN_SUPPORTED;(I=en||(en={})).MD5="MD5",I.CRC32="CRC32",I.CRC32C="CRC32C",I.CRC64NVME="CRC64NVME",I.SHA1="SHA1",I.SHA256="SHA256",(O=et||(et={})).HEADER="header",O.TRAILER="trailer";let n4=en.CRC32;function resolveHostHeaderConfig(e){return e}let n8={name:"hostHeaderMiddleware",step:"build",priority:"low",tags:["HOST"],override:!0},getHostHeaderPlugin=e=>({applyToStack:i=>{i.add(i=>async n=>{if(!nj.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)},n8)}}),n6={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}},n6)}}),n5={step:"build",tags:["RECURSION_DETECTION"],name:"recursionDetectionMiddleware",override:!0,priority:"low"},n7={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")},n9=["true","1"].includes(process.env?.AWS_LAMBDA_NODEJS_NO_GLOBAL_AWSLAMBDA??"");n9||(globalThis.awslambda=globalThis.awslambda||{});class te{static PROTECTED_KEYS=n7;isProtectedKey(e){return Object.values(n7).includes(e)}getRequestId(){return this.get(n7.REQUEST_ID)??"-"}getXRayTraceId(){return this.get(n7.X_RAY_TRACE_ID)}getTenantId(){return this.get(n7.TENANT_ID)}}class ti extends te{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 tn extends te{als;static async create(){let e=new tn;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)}}Q=ea||(ea={}),c=null,Q.getInstanceAsync=async function(){return c||(c=(async()=>{let e="AWS_LAMBDA_MAX_CONCURRENCY"in process.env?await tn.create():new ti;return!n9&&globalThis.awslambda?.InvokeStore?globalThis.awslambda.InvokeStore:(!n9&&globalThis.awslambda&&(globalThis.awslambda.InvokeStore=e),e)})()),c},Q._testing="1"===process.env.AWS_LAMBDA_BENCHMARK_MODE?{reset:()=>{c=null,globalThis.awslambda?.InvokeStore&&delete globalThis.awslambda.InvokeStore,globalThis.awslambda={}}}:void 0;let tt="X-Amzn-Trace-Id",getRecursionDetectionPlugin=e=>({applyToStack:e=>{e.add(e=>async i=>{let{request:n}=i;if(!nj.isInstance(n))return e(i);let t=Object.keys(n.headers??{}).find(e=>e.toLowerCase()===tt.toLowerCase())??tt;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 ea.getInstanceAsync(),u=o?.getXRayTraceId()??r,nonEmptyString=e=>"string"==typeof e&&e.length>0;return nonEmptyString(a)&&nonEmptyString(u)&&(n.headers[tt]=u),e({...i,request:n})},n5)}});class ta{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+ta.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 tr{_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 to{createSessionFn;cache;static REFRESH_WINDOW_MS=6e4;constructor(e,i=new ta){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 tr(this.getIdentity(n))).identity:((e.expiration?.getTime()??0)<Date.now()+to.REFRESH_WINDOW_MS&&!a.isRefreshing&&(a.isRefreshing=!0,this.getIdentity(n).then(e=>{t.set(n,new tr(Promise.resolve(e)))})),e)):t.set(n,new tr(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 tu={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 ts={step:"initialize",tags:["VALIDATE_BUCKET_NAME"],name:"validateBucketNameMiddleware",override:!0},tl={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 th={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]}.`)}};(G=er||(er={})).ENV="env",G.CONFIG="shared config entry";let tg="X-Amz-S3session-Token",tc=tg.toLowerCase(),td={environmentVariableSelector:e=>booleanSelector(e,"AWS_S3_DISABLE_EXPRESS_SESSION_AUTH",er.ENV),configFileSelector:e=>booleanSelector(e,"s3_disable_express_session_auth",er.CONFIG),default:!1},tp={name:"s3ExpressMiddleware",step:"build",tags:["S3","S3_EXPRESS"],override:!0},tf="__smithy_context",getSmithyContext=e=>e[tf]||(e[tf]={}),tm={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(!nj.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},tm)}}),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},ty;function isValidUserAgentAppId(e){return void 0===e||"string"==typeof e&&e.length<=50}function resolveUserAgentConfig(e){let i=normalizeProvider_normalizeProvider(e.userAgentAppId??ty),{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 tS={},tb=RegExp("^(?!.*-$)(?!-)[a-zA-Z0-9-]{1,63}$"),isValidHostLabel=(e,i=!1)=>{if(!i)return tb.test(e);for(let i of e.split("."))if(!isValidHostLabel(i))return!1;return!0},tC=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=>tC.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 tT=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 tw={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}=tT;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}}};tS.aws=tw;let tx=/\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(tx)&&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 tE="user-agent",tL="x-amz-user-agent",t_=/[^!$%&'*+\-.^_`|~\w]/g,tY=/[^!$%&'*+\-.^_`|~\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(t_,"-")).join("/"),n=e[1]?.replace(tY,"-"),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}`}},"")},tD={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(!nj.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[tL]=r[tL]?`${r[tE]} ${g}`:g),r[tE]=h):r[tL]=h,i({...t,request:a})},tD)}}),tv=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(tv.has(e)||i(e))tv.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 tA={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)}),tA)}});class tN{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 tP{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],tZ={name:"deserializerMiddleware",step:"deserialize",tags:["DESERIALIZER"],override:!0},tR={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})},tR),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(tP.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}},tZ),e.protocol.setSerdeContext(e)}}}let tM="content-length";function contentLengthMiddleware(e){return i=>async n=>{let t=n.request;if(nj.isInstance(t)){let{body:i,headers:n}=t;if(i&&-1===Object.keys(n).map(e=>e.toLowerCase()).indexOf(tM))try{let n=e(i);t.headers={...t.headers,[tM]:String(n)}}catch(e){}}return i({...n,request:t})}}let tJ={step:"build",tags:["SET_CONTENT_LENGTH","CONTENT_LENGTH"],name:"contentLengthMiddleware",override:!0},getContentLengthPlugin=e=>({applyToStack:i=>{i.add(contentLengthMiddleware(e.bodyLengthChecker),tJ)}}),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 tk 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,tk.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 tk("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 tB extends tk{name="CredentialsProviderError";constructor(e,i=!0){super(e,i),Object.setPrototypeOf(this,tB.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 tH="AWS_PROFILE",getProfileName=e=>e.profile||process.env[tH]||"default";(U=eo||(eo={})).PROFILE="profile",U.SSO_SESSION="sso-session",U.SERVICES="services";let getConfigData=e=>Object.entries(e).filter(([e])=>{let i=e.indexOf(".");return -1!==i&&Object.values(eo).includes(e.substring(0,i))}).reduce((e,[i,n])=>{let t=i.indexOf(".");return e[i.substring(0,t)===eo.PROFILE?i.substring(t+1):i]=n,e},{...e.default&&{default:e.default}}),tF={},getHomeDir=()=>{let{HOME:e,USERPROFILE:i,HOMEPATH:n,HOMEDRIVE:t=`C:${n$.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 tF[a]||(tF[a]=(0,nz.homedir)()),tF[a]},getConfigFilepath=()=>process.env.AWS_CONFIG_FILE||(0,n$.join)(getHomeDir(),".aws","config"),tX=/^([\w-]+)\s(["'])?([\w-@\+\.%:/]+)\2$/,tI=["__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=tX.exec(t);if(a){let[,e,,n]=a;Object.values(eo).includes(e)&&(i=[e,n].join("."))}else i=t;if(tI.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},tO=L("node:fs/promises"),tQ={},tG={},readFile=(e,i)=>void 0!==tG[e]?tG[e]:((!tQ[e]||i?.ignoreCache)&&(tQ[e]=(0,tO.readFile)(e,"utf8")),tQ[e]),swallowError=()=>({}),loadSharedConfigFiles=async(e={})=>{let{filepath:i=process.env.AWS_SHARED_CREDENTIALS_FILE||(0,n$.join)(getHomeDir(),".aws","credentials"),configFilepath:n=getConfigFilepath()}=e,t=getHomeDir(),a=i;i.startsWith("~/")&&(a=(0,n$.join)(t,i.slice(2)));let r=n;n.startsWith("~/")&&(r=(0,n$.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 tB(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 tB(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)))},tU="AWS_ENDPOINT_URL",tq="endpoint_url",getEndpointFromConfig=async e=>{let i;return loadConfig((i=e??"",{environmentVariableSelector:e=>{let n=e[[tU,...i.split(" ").map(e=>e.toUpperCase())].join("_")];if(n)return n;let t=e[tU];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("_"),tq].join(".")];if(e)return e}}let t=e[tq];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};(q=eu||(eu={})).STANDARD="standard",q.ADAPTIVE="adaptive";let tK=eu.STANDARD,t$=["BandwidthLimitExceeded","EC2ThrottledException","LimitExceededException","PriorRequestNotComplete","ProvisionedThroughputExceededException","RequestLimitExceeded","RequestThrottled","RequestThrottledException","SlowDown","ThrottledException","Throttling","ThrottlingException","TooManyRequestsException","TransactionInProgressException"],tz=["TimeoutError","RequestTimeout","RequestTimeoutException"],tW=[500,502,503,504],tj=["ECONNRESET","ECONNREFUSED","EPIPE","ETIMEDOUT"],tV=["EHOSTUNREACH","ENETUNREACH","ENOTFOUND"],isThrottlingError=e=>e.$metadata?.httpStatusCode===429||t$.includes(e.name)||e.$retryable?.throttling==!0,isTransientError=(e,i=0)=>{let n;return e?.$retryable!==void 0||e.$metadata?.clockSkewCorrected||tz.includes(e.name)||tj.includes(e?.code||"")||tV.includes(e?.code||"")||tW.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 t0{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=>t0.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 t1{maxAttempts;mode=eu.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 t3{maxAttemptsProvider;rateLimiter;standardRetryStrategy;mode=eu.ADAPTIVE;constructor(e,i){this.maxAttemptsProvider=e;let{rateLimiter:n}=i??{};this.rateLimiter=n??new t0,this.standardRetryStrategy=new t1(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 t2="AWS_MAX_ATTEMPTS",t4="max_attempts",t8={environmentVariableSelector:e=>{let i=e[t2];if(!i)return;let n=parseInt(i);if(Number.isNaN(n))throw Error(`Environment variable ${t2} mast be a number, got "${i}"`);return n},configFileSelector:e=>{let i=e[t4];if(!i)return;let n=parseInt(i);if(Number.isNaN(n))throw Error(`Shared config file entry ${t4} 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)()===eu.ADAPTIVE?new t3(a):new t1(a))})},t6={environmentVariableSelector:e=>e.AWS_RETRY_MODE,configFileSelector:e=>e.retry_mode,default:tK};class t5{trace(){}debug(){}info(){}warn(){}error(){}}let t7=L("crypto"),t9=t7.default.randomUUID.bind(t7.default),ae=Array.from({length:256},(e,i)=>i.toString(16).padStart(2,"0")),v4=()=>{if(t9)return t9();let e=new Uint8Array(16);return crypto.getRandomValues(e),e[6]=15&e[6]|64,e[8]=63&e[8]|128,ae[e[0]]+ae[e[1]]+ae[e[2]]+ae[e[3]]+"-"+ae[e[4]]+ae[e[5]]+"-"+ae[e[6]]+ae[e[7]]+"-"+ae[e[8]]+ae[e[9]]+"-"+ae[e[10]]+ae[e[11]]+ae[e[12]]+ae[e[13]]+ae[e[14]]+ae[e[15]]},ai=L("stream"),isStreamingPayload=e=>e?.body instanceof ai.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",an={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=nj.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 t5?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))}}},an)}}),getRetryAfterHint=e=>{if(!tP.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)=>at[i.step]-at[e.step]||aa[i.priority||"normal"]-aa[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},at={initialize:5,serialize:4,build:3,finalizeRequest:2,deserialize:1},aa={high:3,normal:2,low:1};class ar{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,ao={},au={};for(let e=0;e<256;e++){let i=e.toString(16).toLowerCase();1===i.length&&(i=`0${i}`),ao[e]=i,au[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 au)i[n/2]=au[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+=ao[e[n]];return i}let dist_es_isArrayBuffer=e=>"function"==typeof ArrayBuffer&&e instanceof ArrayBuffer||"[object ArrayBuffer]"===Object.prototype.toString.call(e),as=L("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 as.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?as.Buffer.from(e,i):as.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),al="X-Amz-Date",ah="X-Amz-Signature",ag="X-Amz-Security-Token",ac="authorization",ad=al.toLowerCase(),ap=[ac,ad,"date"],af=ah.toLowerCase(),am="x-amz-content-sha256",ay=ag.toLowerCase(),aS={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},ab=/^proxy-/,aC=/^sec-/,aT="AWS4-HMAC-SHA256",aw="aws4_request",ax={},aE=[],createScope=(e,i,n)=>`${e}/${i}/${n}/${aw}`,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 ax)return ax[o];for(aE.push(o);aE.length>50;)delete ax[aE.shift()];let u=`AWS4${i.secretAccessKey}`;for(let i of[n,t,a,aw])u=await hmac(e,u,i);return ax[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 aS||i?.has(r)||ab.test(r)||aC.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()===am)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 aL{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(aY.fromNumber(e.value.valueOf()).bytes,1),l;case"uuid":if(!a_.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}}}(K=es||(es={}))[K.boolTrue=0]="boolTrue",K[K.boolFalse=1]="boolFalse",K[K.byte=2]="byte",K[K.short=3]="short",K[K.integer=4]="integer",K[K.long=5]="long",K[K.byteArray=6]="byteArray",K[K.string=7]="string",K[K.timestamp=8]="timestamp",K[K.uuid=9]="uuid";let a_=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;class aY{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 aY(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=nj.clone(e)).headers))ap.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 aD{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 n=[],i={};for(let t of Object.keys(e)){if(t.toLowerCase()===of)continue;let a=oR(t);n.push(a);let u=e[t];"string"==typeof u?i[a]=`${a}=${oR(u)}`:Array.isArray(u)&&(i[a]=u.slice(0).reduce((e,n)=>e.concat([`${a}=${oR(n)}`]),[]).sort().join("&"))}return n.sort().map(e=>i[e]).filter(e=>e).join("&")})(e)}
47
- ${t.map(e=>`${e}:${n[e]}`).join("\n")}
46
+ ${(({query:e={}})=>{let i=[],n={};for(let t of Object.keys(e)){if(t.toLowerCase()===af)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
+ ${t.map(e=>`${e}:${i[e]}`).join("\n")}
48
48
 
49
49
  ${t.join(";")}
50
- ${i}`}async createStringToSign(e,n,i,t){let a=new this.sha256;a.update(os(i));let u=await a.digest();return`${t}
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
- ${n}
53
- ${oi(u)}`}getCanonicalPath({path:e}){if(this.uriEscapePath){let n=[];for(let i of e.split("/"))i?.length!==0&&"."!==i&&(".."===i?n.pop():n.push(i));return oR(`${e?.startsWith("/")?"/":""}${n.join("/")}${n.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 n;let i=("number"==typeof(n=e)?new Date(1e3*n):"string"==typeof n?new Date(Number(n)?1e3*Number(n):n):n).toISOString().replace(/\.\d{3}Z$/,"Z").replace(/[\-:]/g,"");return{longDate:i,shortDate:i.slice(0,8)}}getCanonicalHeaderList(e){return Object.keys(e).sort().join(";")}}class oX extends oB{headerFormatter=new oN;constructor({applyChecksum:e,credentials:n,region:i,service:t,sha256:a,uriEscapePath:u=!0}){super({applyChecksum:e,credentials:n,region:i,service:t,sha256:a,uriEscapePath:u})}async presign(e,n={}){let{signingDate:i=new Date,expiresIn:t=3600,unsignableHeaders:a,unhoistableHeaders:u,signableHeaders:o,hoistableHeaders:r,signingRegion:s,signingService:l}=n,h=await this.credentialProvider();this.validateResolvedCredentials(h);let g=s??await this.regionProvider(),{longDate:c,shortDate:d}=this.formatDate(i);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=oE(d,g,l??this.service),f=((e,n={})=>{let{headers:i,query:t={}}=tj.clone(e);for(let e of Object.keys(i)){let a=e.toLowerCase();("x-amz-"===a.slice(0,6)&&!n.unhoistableHeaders?.has(a)||n.hoistableHeaders?.has(a))&&(t[e]=i[e],delete i[e])}return{...e,headers:i,query:t}})(oM(e),{unhoistableHeaders:u,hoistableHeaders:r});h.sessionToken&&(f.query[og]=h.sessionToken),f.query["X-Amz-Algorithm"]=ow,f.query["X-Amz-Credential"]=`${h.accessKeyId}/${p}`,f.query[ol]=c,f.query["X-Amz-Expires"]=t.toString(10);let m=ov(f,a,o);return f.query["X-Amz-SignedHeaders"]=this.getCanonicalHeaderList(m),f.query[oh]=await this.getSignature(c,p,this.getSigningKey(h,g,d,l),this.createCanonicalRequest(f,m,await oZ(e,this.sha256))),f}async sign(e,n){return"string"==typeof e?this.signString(e,n):e.headers&&e.payload?this.signEvent(e,n):e.message?this.signMessage(e,n):this.signRequest(e,n)}async signEvent({headers:e,payload:n},{signingDate:i=new Date,priorSignature:t,signingRegion:a,signingService:u}){let o=a??await this.regionProvider(),{shortDate:r,longDate:s}=this.formatDate(i),l=oE(r,o,u??this.service),h=await oZ({headers:{},body:n},this.sha256),g=new this.sha256;g.update(e);let c=["AWS4-HMAC-SHA256-PAYLOAD",s,l,t,oi(await g.digest()),h].join("\n");return this.signString(c,{signingDate:i,signingRegion:o,signingService:u})}async signMessage(e,{signingDate:n=new Date,signingRegion:i,signingService:t}){return this.signEvent({headers:this.headerFormatter.format(e.message.headers),payload:e.message.body},{signingDate:n,signingRegion:i,signingService:t,priorSignature:e.priorSignature}).then(n=>({message:e.message,signature:n}))}async signString(e,{signingDate:n=new Date,signingRegion:i,signingService:t}={}){let a=await this.credentialProvider();this.validateResolvedCredentials(a);let u=i??await this.regionProvider(),{shortDate:o}=this.formatDate(n),r=new this.sha256(await this.getSigningKey(a,u,o,t));return r.update(os(e)),oi(await r.digest())}async signRequest(e,{signingDate:n=new Date,signableHeaders:i,unsignableHeaders:t,signingRegion:a,signingService:u}={}){let o=await this.credentialProvider();this.validateResolvedCredentials(o);let r=a??await this.regionProvider(),s=oM(e),{longDate:l,shortDate:h}=this.formatDate(n),g=oE(h,r,u??this.service);s.headers[od]=l,o.sessionToken&&(s.headers[oy]=o.sessionToken);let c=await oZ(s,this.sha256);!((e,n)=>{for(let i of(e=e.toLowerCase(),Object.keys(n)))if(e===i.toLowerCase())return!0;return!1})(om,s.headers)&&this.applyChecksum&&(s.headers[om]=c);let d=ov(s,t,i),p=await this.getSignature(l,g,this.getSigningKey(o,r,h,u),this.createCanonicalRequest(s,d,c));return s.headers[oc]=`${ow} Credential=${o.accessKeyId}/${g}, SignedHeaders=${this.getCanonicalHeaderList(d)}, Signature=${p}`,s}async getSignature(e,n,i,t){let a=await this.createStringToSign(e,n,t,ow),u=new this.sha256(await i);return u.update(os(a)),oi(await u.digest())}getSigningKey(e,n,i,t){return oY(this.sha256,e,i,n,t||this.service)}}let oH=e=>{let n,i,t=e.credentials,a=!!e.credentials;Object.defineProperty(e,"credentials",{set(i){i&&i!==t&&i!==n&&(a=!0);let u=function(e,{credentials:n,credentialDefaultProvider:i}){let t;return(t=n?n?.memoized?n:((e,n,i)=>{let t,a,u;if(void 0===e)return;let o="function"!=typeof e?async()=>Promise.resolve(e):e,r=!1,s=async e=>{a||(a=o(e));try{t=await a,u=!0,r=!1}finally{a=void 0}return t};return void 0===n?async e=>((!u||e?.forceRefresh)&&(t=await s(e)),t):async e=>((!u||e?.forceRefresh)&&(t=await s(e)),r||(i(t)?n(t)&&await s(e):r=!0),t)})(n,u5,u7):i?aY(i(Object.assign({},e,{parentClientConfig:e}))):async()=>{throw Error("@aws-sdk/core::resolveAwsSdkSigV4Config - `credentials` not provided and no credentialDefaultProvider was configured.")}).memoized=!0,t}(e,{credentials:t=i,credentialDefaultProvider:e.credentialDefaultProvider}),o=function(e,n){if(n.configBound)return n;let i=async i=>n({...i,callerClientConfig:e});return i.memoized=n.memoized,i.configBound=!0,i}(e,u);if(a&&!o.attributed){let e="object"==typeof t&&null!==t;(n=async n=>{let i=await o(n);return e&&(!i.$source||0===Object.keys(i.$source).length)?u8(i,"CREDENTIALS_CODE","e"):i}).memoized=o.memoized,n.configBound=o.configBound,n.attributed=!0}else n=o},get:()=>n,enumerable:!0,configurable:!0}),e.credentials=t;let{signingEscapePath:u=!0,systemClockOffset:o=e.systemClockOffset||0,sha256:r}=e;return i=e.signer?aY(e.signer):e.regionInfoProvider?()=>aY(e.region)().then(async n=>[await e.regionInfoProvider(n,{useFipsEndpoint:await e.useFipsEndpoint(),useDualstackEndpoint:await e.useDualstackEndpoint()})||{},n]).then(([n,i])=>{let{signingRegion:t,signingService:a}=n;e.signingRegion=e.signingRegion||t||i,e.signingName=e.signingName||a||e.serviceId;let o={...e,credentials:e.credentials,region:e.signingRegion,service:e.signingName,sha256:r,uriEscapePath:u};return new(e.signerConstructor||oX)(o)}):async n=>{let i=(n=Object.assign({},{name:"sigv4",signingName:e.signingName||e.defaultSigningName,signingRegion:await aY(e.region)(),properties:{}},n)).signingRegion,t=n.signingName;e.signingRegion=e.signingRegion||i,e.signingName=e.signingName||t||e.serviceId;let a={...e,credentials:e.credentials,region:e.signingRegion,service:e.signingName,sha256:r,uriEscapePath:u};return new(e.signerConstructor||oX)(a)},Object.assign(e,{systemClockOffset:o,signingEscapePath:u,signer:i})},ok={environmentVariableSelector(e){if(e.AWS_SIGV4A_SIGNING_REGION_SET)return e.AWS_SIGV4A_SIGNING_REGION_SET.split(",").map(e=>e.trim());throw new a7("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 a7("sigv4a_signing_region_set not set in profile.",{tryNextLink:!0})},default:void 0};class oF extends oX{async signWithCredentials(e,n,i){let t=oQ(n);return e.headers[aS]=n.sessionToken,oI(this,t),this.signRequest(e,i??{})}async presignWithCredentials(e,n,i){let t=oQ(n);return delete e.headers[aS],e.headers[ay]=n.sessionToken,e.query=e.query??{},e.query[ay]=n.sessionToken,oI(this,t),this.presign(e,i)}}function oQ(e){return{accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,expiration:e.expiration}}function oI(e,n){let i=setTimeout(()=>{throw Error("SignatureV4S3Express credential override was created but not called.")},10),t=e.credentialProvider;e.credentialProvider=()=>(clearTimeout(i),e.credentialProvider=t,Promise.resolve(n))}class oO{sigv4aSigner;sigv4Signer;signerOptions;static sigv4aDependency(){return"none"}constructor(e){this.sigv4Signer=new oF(e),this.signerOptions=e}async sign(e,n={}){return"*"===n.signingRegion?this.getSigv4aSigner().sign(e,n):this.sigv4Signer.sign(e,n)}async signWithCredentials(e,n,i={}){if("*"===i.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,n,i)}async presign(e,n={}){if("*"===n.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,n)}async presignWithCredentials(e,n,i={}){if("*"===i.signingRegion)throw Error("Method presignWithCredentials is not supported for [signingRegion=*].");return this.sigv4Signer.presignWithCredentials(e,n,i)}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 oG=async e=>{let n=e?.Bucket||"";if("string"==typeof e.Bucket&&(e.Bucket=n.replace(/#/g,encodeURIComponent("#")).replace(/\?/g,encodeURIComponent("?"))),oz(n)){if(!0===e.ForcePathStyle)throw Error("Path-style addressing cannot be used with ARN buckets")}else oW(n)&&(-1===n.indexOf(".")||String(e.Endpoint).startsWith("http:"))&&n.toLowerCase()===n&&!(n.length<3)||(e.ForcePathStyle=!0);return e.DisableMultiRegionAccessPoints&&(e.disableMultiRegionAccessPoints=!0,e.DisableMRAP=!0),e},o$=/^[a-z0-9][a-z0-9\.\-]{1,61}[a-z0-9]$/,oK=/(\d+\.){3}\d+/,oU=/\.\./,oW=e=>o$.test(e)&&!oK.test(e)&&!oU.test(e),oz=e=>{let[n,i,t,,,a]=e.split(":"),u="arn"===n&&e.split(":").length>=6,o=!!(u&&i&&t&&a);if(u&&!o)throw Error(`Invalid ARN: ${e} was an invalid ARN.`);return o},oj=(e,n,i,t=!1)=>{let a=async()=>{let a;if(t){let t=i.clientContextParams;a=t?.[e]??i[e]??i[n]}else a=i[e]??i[n];return"function"==typeof a?a():a};return"credentialScope"===e||"CredentialScope"===n?async()=>{let e="function"==typeof i.credentials?await i.credentials():i.credentials;return e?.credentialScope??e?.CredentialScope}:"accountId"===e||"AccountId"===n?async()=>{let e="function"==typeof i.credentials?await i.credentials():i.credentials;return e?.accountId??e?.AccountId}:"endpoint"===e||"endpoint"===n?async()=>{if(!1===i.isCustomEndpoint)return;let e=await a();if(e&&"object"==typeof e){if("url"in e)return e.url.href;if("hostname"in e){let{protocol:n,hostname:i,port:t,path:a}=e;return`${n}//${i}${t?":"+t:""}${a}`}}return e}:a},oq=async(e,n,i,t)=>{if(!i.isCustomEndpoint){let e;(e=i.serviceConfiguredEndpoint?await i.serviceConfiguredEndpoint():await uC(i.serviceId))&&(i.endpoint=()=>Promise.resolve(uT(e)),i.isCustomEndpoint=!0)}let a=await oV(e,n,i);if("function"!=typeof i.endpointProvider)throw Error("config.endpointProvider is not set.");return i.endpointProvider(a,t)},oV=async(e,n,i)=>{let t={},a=n?.getEndpointParameterInstructions?.()||{};for(let[n,u]of Object.entries(a))switch(u.type){case"staticContextParams":t[n]=u.value;break;case"contextParams":t[n]=e[u.name];break;case"clientContextParams":case"builtInParams":t[n]=await oj(u.name,n,i,"builtInParams"!==u.type)();break;case"operationContextParams":t[n]=u.get(e);break;default:throw Error("Unrecognized endpoint parameter instruction: "+JSON.stringify(u))}return 0===Object.keys(a).length&&Object.assign(t,i),"s3"===String(i.serviceId).toLowerCase()&&await oG(t),t};class o0{capacity;data=new Map;parameters=[];constructor({size:e,params:n}){this.capacity=e??50,n&&(this.parameters=n)}get(e,n){let i=this.hash(e);if(!1===i)return n();if(!this.data.has(i)){if(this.data.size>this.capacity+10){let e=this.data.keys(),n=0;for(;;){let{value:i,done:t}=e.next();if(this.data.delete(i),t||++n>10)break}}this.data.set(i,n())}return this.data.get(i)}size(){return this.data.size}hash(e){let n="",{parameters:i}=this;if(0===i.length)return!1;for(let t of i){let i=String(e[t]??"");if(i.includes("|;"))return!1;n+=i+"|;"}return n}}let o1="endpoints";function o3(e){return"object"!=typeof e||null==e?e:"ref"in e?`$${o3(e.ref)}`:"fn"in e?`${e.fn}(${(e.argv||[]).map(o3).join(", ")})`:JSON.stringify(e,null,2)}class o2 extends Error{constructor(e){super(e),this.name="EndpointError"}}let o4=(e,n)=>(e=>{let n=e.split("."),i=[];for(let t of n){let n=t.indexOf("[");if(-1!==n){if(t.indexOf("]")!==t.length-1)throw new o2(`Path: '${e}' does not end with ']'`);let a=t.slice(n+1,-1);if(Number.isNaN(parseInt(a)))throw new o2(`Invalid array index: '${a}' in path: '${e}'`);0!==n&&i.push(t.slice(0,n)),i.push(a)}else i.push(t)}return i})(n).reduce((i,t)=>{if("object"!=typeof i)throw new o2(`Index '${t}' in '${n}' not found in '${JSON.stringify(e)}'`);return Array.isArray(i)?i[parseInt(t)]:i[t]},e);(W=el||(el={})).HTTP="http",W.HTTPS="https";let o6={[el.HTTP]:80,[el.HTTPS]:443},o8={booleanEquals:(e,n)=>e===n,getAttr:o4,isSet:e=>null!=e,isValidHostLabel:aA,not:e=>!e,parseURL:e=>{let n=(()=>{try{if(e instanceof URL)return e;if("object"==typeof e&&"hostname"in e){let{hostname:n,port:i,protocol:t="",path:a="",query:u={}}=e,o=new URL(`${t}//${n}${i?`:${i}`:""}${a}`);return o.search=Object.entries(u).map(([e,n])=>`${e}=${n}`).join("&"),o}return new URL(e)}catch(e){return null}})();if(!n)return console.error(`Unable to parse ${JSON.stringify(e)} as a whatwg URL.`),null;let i=n.href,{host:t,hostname:a,pathname:u,protocol:o,search:r}=n;if(r)return null;let s=o.slice(0,-1);if(!Object.values(el).includes(s))return null;let l=aP(a),h=i.includes(`${t}:${o6[s]}`)||"string"==typeof e&&e.includes(`${t}:${o6[s]}`),g=`${t}${h?`:${o6[s]}`:""}`;return{scheme:s,authority:g,path:u,normalizedPath:u.endsWith("/")?u:`${u}/`,isIp:l}},stringEquals:(e,n)=>e===n,substring:(e,n,i,t)=>n>=i||e.length<i?null:t?e.substring(e.length-i,e.length-n):e.substring(n,i),uriEncode:e=>encodeURIComponent(e).replace(/[!*'()]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`)},o5=(e,n)=>{let i=[],t={...n.endpointParams,...n.referenceRecord},a=0;for(;a<e.length;){let n=e.indexOf("{",a);if(-1===n){i.push(e.slice(a));break}i.push(e.slice(a,n));let u=e.indexOf("}",n);if(-1===u){i.push(e.slice(n));break}"{"===e[n+1]&&"}"===e[u+1]&&(i.push(e.slice(n+1,u)),a=u+2);let o=e.substring(n+1,u);if(o.includes("#")){let[e,n]=o.split("#");i.push(o4(t[e],n))}else i.push(t[o]);a=u+1}return i.join("")},o7=(e,n,i)=>{if("string"==typeof e)return o5(e,i);if(e.fn)return re.callFunction(e,i);if(e.ref)return(({ref:e},n)=>({...n.endpointParams,...n.referenceRecord})[e])(e,i);throw new o2(`'${n}': ${String(e)} is not a string, function or reference.`)},o9=({fn:e,argv:n},i)=>{let t=n.map(e=>["boolean","number"].includes(typeof e)?e:re.evaluateExpression(e,"arg",i)),a=e.split(".");return a[0]in aZ&&null!=a[1]?aZ[a[0]][a[1]](...t):o8[e](...t)},re={evaluateExpression:o7,callFunction:o9},rn=({assign:e,...n},i)=>{if(e&&e in i.referenceRecord)throw new o2(`'${e}' is already defined in Reference Record.`);let t=o9(n,i);return i.logger?.debug?.(`${o1} evaluateCondition: ${o3(n)} = ${o3(t)}`),{result:""===t||!!t,...null!=e&&{toAssign:{name:e,value:t}}}},ri=(e=[],n)=>{let i={};for(let t of e){let{result:e,toAssign:a}=rn(t,{...n,referenceRecord:{...n.referenceRecord,...i}});if(!e)return{result:e};a&&(i[a.name]=a.value,n.logger?.debug?.(`${o1} assign: ${a.name} := ${o3(a.value)}`))}return{result:!0,referenceRecord:i}},rt=(e,n)=>Object.entries(e).reduce((e,[i,t])=>({...e,[i]:ru.getEndpointProperty(t,n)}),{}),ra=(e,n)=>{if(Array.isArray(e))return e.map(e=>ra(e,n));switch(typeof e){case"string":return o5(e,n);case"object":if(null===e)throw new o2(`Unexpected endpoint property: ${e}`);return ru.getEndpointProperties(e,n);case"boolean":return e;default:throw new o2(`Unexpected endpoint property type: ${typeof e}`)}},ru={getEndpointProperty:ra,getEndpointProperties:rt},ro=(e,n)=>{let{conditions:i,endpoint:t}=e,{result:a,referenceRecord:u}=ri(i,n);if(!a)return;let o={...n,referenceRecord:{...n.referenceRecord,...u}},{url:r,properties:s,headers:l}=t;return n.logger?.debug?.(`${o1} Resolving endpoint from template: ${o3(t)}`),{...void 0!=l&&{headers:Object.entries(l).reduce((e,[n,i])=>({...e,[n]:i.map(e=>{let i=o7(e,"Header value entry",o);if("string"!=typeof i)throw new o2(`Header '${n}' value '${i}' is not a string`);return i})}),{})},...void 0!=s&&{properties:rt(s,o)},url:((e,n)=>{let i=o7(e,"Endpoint URL",n);if("string"==typeof i)try{return new URL(i)}catch(e){throw console.error(`Failed to construct URL with ${i}`,e),e}throw new o2(`Endpoint URL must be a string, got ${typeof i}`)})(r,o)}},rr=(e,n)=>{let{conditions:i,error:t}=e,{result:a,referenceRecord:u}=ri(i,n);if(a)throw new o2(o7(t,"Error",{...n,referenceRecord:{...n.referenceRecord,...u}}))},rs=(e,n)=>{for(let i of e)if("endpoint"===i.type){let e=ro(i,n);if(e)return e}else if("error"===i.type)rr(i,n);else if("tree"===i.type){let e=rl.evaluateTreeRule(i,n);if(e)return e}else throw new o2(`Unknown endpoint rule: ${i}`);throw new o2("Rules evaluation failed")},rl={evaluateRules:rs,evaluateTreeRule:(e,n)=>{let{conditions:i,rules:t}=e,{result:a,referenceRecord:u}=ri(i,n);if(a)return rl.evaluateRules(t,{...n,referenceRecord:{...n.referenceRecord,...u}})}},rh=(e,n)=>{let{endpointParams:i,logger:t}=n,{parameters:a,rules:u}=e;n.logger?.debug?.(`${o1} Initial EndpointParams: ${o3(i)}`);let o=Object.entries(a).filter(([,e])=>null!=e.default).map(([e,n])=>[e,n.default]);if(o.length>0)for(let[e,n]of o)i[e]=i[e]??n;for(let e of Object.entries(a).filter(([,e])=>e.required).map(([e])=>e))if(null==i[e])throw new o2(`Missing required parameter: '${e}'`);let r=rs(u,{endpointParams:i,logger:t,referenceRecord:{}});return n.logger?.debug?.(`${o1} Resolved endpoint: ${o3(r)}`),r},rg="required",rc="type",rd="rules",rp="conditions",rf="argv",rm="assign",ry="properties",rS="backend",rb="authSchemes",rC="disableDoubleEncoding",rw="signingName",rT="signingRegion",rx="headers",rL="signingRegionSet",rE="isSet",rY="booleanEquals",rD="error",rv="aws.partition",rZ="stringEquals",rN="getAttr",rA="name",rJ="substring",rP="bucketSuffix",rM="parseURL",rR="endpoint",r_="tree",rB="aws.isVirtualHostableS3Bucket",rX="{url#scheme}://{Bucket}.{url#authority}{url#path}",rH="accessPointSuffix",rk="{url#scheme}://{url#authority}{url#path}",rF="hardwareType",rQ="regionPrefix",rI="bucketAliasSuffix",rO="outpostId",rG="isValidHostLabel",r$="sigv4a",rK="s3-outposts",rU="{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}",rW="https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}",rz="https://{Bucket}.s3.{partitionResult#dnsSuffix}",rj="aws.parseArn",rq="bucketArn",rV="arnType",r0="s3-object-lambda",r1="accesspoint",r3="accessPointName",r2="{url#scheme}://{accessPointName}-{bucketArn#accountId}.{url#authority}{url#path}",r4="mrapPartition",r6="outpostType",r8="arnPrefix",r5="{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}",r7="https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",r9="https://s3.{partitionResult#dnsSuffix}",se={[rg]:!1,[rc]:"string"},sn={[rg]:!0,default:!1,[rc]:"boolean"},si={[rg]:!1,[rc]:"boolean"},st={fn:rY,[rf]:[{ref:"Accelerate"},!0]},sa={fn:rY,[rf]:[{ref:"UseFIPS"},!0]},su={fn:rY,[rf]:[{ref:"UseDualStack"},!0]},so={fn:rE,[rf]:[{ref:"Endpoint"}]},sr={fn:rv,[rf]:[{ref:"Region"}],[rm]:"partitionResult"},ss={fn:rZ,[rf]:[{fn:rN,[rf]:[{ref:"partitionResult"},rA]},"aws-cn"]},sl={fn:rE,[rf]:[{ref:"Bucket"}]},sh={ref:"Bucket"},sg={[rp]:[st],[rD]:"S3Express does not support S3 Accelerate.",[rc]:rD},sc={[rp]:[so,{fn:rM,[rf]:[{ref:"Endpoint"}],[rm]:"url"}],[rd]:[{[rp]:[{fn:rE,[rf]:[{ref:"DisableS3ExpressSessionAuth"}]},{fn:rY,[rf]:[{ref:"DisableS3ExpressSessionAuth"},!0]}],[rd]:[{[rp]:[{fn:rY,[rf]:[{fn:rN,[rf]:[{ref:"url"},"isIp"]},!0]}],[rd]:[{[rp]:[{fn:"uriEncode",[rf]:[sh],[rm]:"uri_encoded_bucket"}],[rd]:[{[rR]:{url:"{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}",[ry]:{[rS]:"S3Express",[rb]:[{[rC]:!0,[rA]:"sigv4",[rw]:"s3express",[rT]:"{Region}"}]},[rx]:{}},[rc]:rR}],[rc]:r_}],[rc]:r_},{[rp]:[{fn:rB,[rf]:[sh,!1]}],[rd]:[{[rR]:{url:rX,[ry]:{[rS]:"S3Express",[rb]:[{[rC]:!0,[rA]:"sigv4",[rw]:"s3express",[rT]:"{Region}"}]},[rx]:{}},[rc]:rR}],[rc]:r_},{[rD]:"S3Express bucket name is not a valid virtual hostable name.",[rc]:rD}],[rc]:r_},{[rp]:[{fn:rY,[rf]:[{fn:rN,[rf]:[{ref:"url"},"isIp"]},!0]}],[rd]:[{[rp]:[{fn:"uriEncode",[rf]:[sh],[rm]:"uri_encoded_bucket"}],[rd]:[{[rR]:{url:"{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}",[ry]:{[rS]:"S3Express",[rb]:[{[rC]:!0,[rA]:"sigv4-s3express",[rw]:"s3express",[rT]:"{Region}"}]},[rx]:{}},[rc]:rR}],[rc]:r_}],[rc]:r_},{[rp]:[{fn:rB,[rf]:[sh,!1]}],[rd]:[{[rR]:{url:rX,[ry]:{[rS]:"S3Express",[rb]:[{[rC]:!0,[rA]:"sigv4-s3express",[rw]:"s3express",[rT]:"{Region}"}]},[rx]:{}},[rc]:rR}],[rc]:r_},{[rD]:"S3Express bucket name is not a valid virtual hostable name.",[rc]:rD}],[rc]:r_},sd={fn:rM,[rf]:[{ref:"Endpoint"}],[rm]:"url"},sp={fn:rY,[rf]:[{fn:rN,[rf]:[{ref:"url"},"isIp"]},!0]},sf={ref:"url"},sm={fn:"uriEncode",[rf]:[sh],[rm]:"uri_encoded_bucket"},sy={[rS]:"S3Express",[rb]:[{[rC]:!0,[rA]:"sigv4",[rw]:"s3express",[rT]:"{Region}"}]},sS={},sb={fn:rB,[rf]:[sh,!1]},sC={[rD]:"S3Express bucket name is not a valid virtual hostable name.",[rc]:rD},sw={fn:rE,[rf]:[{ref:"UseS3ExpressControlEndpoint"}]},sT={fn:rY,[rf]:[{ref:"UseS3ExpressControlEndpoint"},!0]},sx={fn:"not",[rf]:[so]},sL={fn:rY,[rf]:[{ref:"UseDualStack"},!1]},sE={fn:rY,[rf]:[{ref:"UseFIPS"},!1]},sY={[rD]:"Unrecognized S3Express bucket name format.",[rc]:rD},sD={fn:"not",[rf]:[sl]},sv={ref:rF},sZ={[rp]:[sx],[rD]:"Expected a endpoint to be specified but no endpoint was found",[rc]:rD},sN={[rb]:[{[rC]:!0,[rA]:r$,[rw]:rK,[rL]:["*"]},{[rC]:!0,[rA]:"sigv4",[rw]:rK,[rT]:"{Region}"}]},sA={fn:rY,[rf]:[{ref:"ForcePathStyle"},!1]},sJ={fn:rY,[rf]:[{ref:"Accelerate"},!1]},sP={fn:rZ,[rf]:[{ref:"Region"},"aws-global"]},sM={[rb]:[{[rC]:!0,[rA]:"sigv4",[rw]:"s3",[rT]:"us-east-1"}]},sR={fn:"not",[rf]:[sP]},s_={fn:rY,[rf]:[{ref:"UseGlobalEndpoint"},!0]},sB={url:"https://{Bucket}.s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",[ry]:{[rb]:[{[rC]:!0,[rA]:"sigv4",[rw]:"s3",[rT]:"{Region}"}]},[rx]:{}},sX={[rb]:[{[rC]:!0,[rA]:"sigv4",[rw]:"s3",[rT]:"{Region}"}]},sH={fn:rY,[rf]:[{ref:"UseGlobalEndpoint"},!1]},sk={url:"https://{Bucket}.s3-fips.{Region}.{partitionResult#dnsSuffix}",[ry]:sX,[rx]:{}},sF={url:"https://{Bucket}.s3-accelerate.dualstack.{partitionResult#dnsSuffix}",[ry]:sX,[rx]:{}},sQ={url:"https://{Bucket}.s3.dualstack.{Region}.{partitionResult#dnsSuffix}",[ry]:sX,[rx]:{}},sI={fn:rY,[rf]:[{fn:rN,[rf]:[sf,"isIp"]},!1]},sO={url:rU,[ry]:sX,[rx]:{}},sG={url:rX,[ry]:sX,[rx]:{}},s$={[rR]:sG,[rc]:rR},sK={url:rW,[ry]:sX,[rx]:{}},sU={url:"https://{Bucket}.s3.{Region}.{partitionResult#dnsSuffix}",[ry]:sX,[rx]:{}},sW={[rD]:"Invalid region: region was not a valid DNS name.",[rc]:rD},sz={ref:rq},sj={ref:rV},sq={fn:rN,[rf]:[sz,"service"]},sV={ref:r3},s0={[rp]:[su],[rD]:"S3 Object Lambda does not support Dual-stack",[rc]:rD},s1={[rp]:[st],[rD]:"S3 Object Lambda does not support S3 Accelerate",[rc]:rD},s3={[rp]:[{fn:rE,[rf]:[{ref:"DisableAccessPoints"}]},{fn:rY,[rf]:[{ref:"DisableAccessPoints"},!0]}],[rD]:"Access points are not supported for this operation",[rc]:rD},s2={[rp]:[{fn:rE,[rf]:[{ref:"UseArnRegion"}]},{fn:rY,[rf]:[{ref:"UseArnRegion"},!1]},{fn:"not",[rf]:[{fn:rZ,[rf]:[{fn:rN,[rf]:[sz,"region"]},"{Region}"]}]}],[rD]:"Invalid configuration: region from ARN `{bucketArn#region}` does not match client region `{Region}` and UseArnRegion is `false`",[rc]:rD},s4={fn:rN,[rf]:[{ref:"bucketPartition"},rA]},s6={fn:rN,[rf]:[sz,"accountId"]},s8={[rb]:[{[rC]:!0,[rA]:"sigv4",[rw]:r0,[rT]:"{bucketArn#region}"}]},s5={[rD]:"Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `{accessPointName}`",[rc]:rD},s7={[rD]:"Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `{bucketArn#accountId}`",[rc]:rD},s9={[rD]:"Invalid region in ARN: `{bucketArn#region}` (invalid DNS name)",[rc]:rD},le={[rD]:"Client was configured for partition `{partitionResult#name}` but ARN (`{Bucket}`) has `{bucketPartition#name}`",[rc]:rD},ln={[rD]:"Invalid ARN: The ARN may only contain a single resource component after `accesspoint`.",[rc]:rD},li={[rD]:"Invalid ARN: Expected a resource of the format `accesspoint:<accesspoint name>` but no name was provided",[rc]:rD},lt={[rb]:[{[rC]:!0,[rA]:"sigv4",[rw]:"s3",[rT]:"{bucketArn#region}"}]},la={[rb]:[{[rC]:!0,[rA]:r$,[rw]:rK,[rL]:["*"]},{[rC]:!0,[rA]:"sigv4",[rw]:rK,[rT]:"{bucketArn#region}"}]},lu={fn:rj,[rf]:[sh]},lo={url:"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[ry]:sX,[rx]:{}},lr={url:"https://s3-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[ry]:sX,[rx]:{}},ls={url:"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[ry]:sX,[rx]:{}},ll={url:r5,[ry]:sX,[rx]:{}},lh={url:"https://s3.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[ry]:sX,[rx]:{}},lg={ref:"UseObjectLambdaEndpoint"},lc={[rb]:[{[rC]:!0,[rA]:"sigv4",[rw]:r0,[rT]:"{Region}"}]},ld={url:"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",[ry]:sX,[rx]:{}},lp={url:"https://s3-fips.{Region}.{partitionResult#dnsSuffix}",[ry]:sX,[rx]:{}},lf={url:"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}",[ry]:sX,[rx]:{}},lm={url:rk,[ry]:sX,[rx]:{}},ly={url:"https://s3.{Region}.{partitionResult#dnsSuffix}",[ry]:sX,[rx]:{}},lS=[{ref:"Region"}],lb=[st],lC=[so,sd],lw=[{fn:rE,[rf]:[{ref:"DisableS3ExpressSessionAuth"}]},{fn:rY,[rf]:[{ref:"DisableS3ExpressSessionAuth"},!0]}],lT=[sb],lx=[sr],lL=[sa,su],lE=[sa,sL],lY=[sE,su],lD=[sE,sL],lv=[{fn:rJ,[rf]:[sh,6,14,!0],[rm]:"s3expressAvailabilityZoneId"},{fn:rJ,[rf]:[sh,14,16,!0],[rm]:"s3expressAvailabilityZoneDelim"},{fn:rZ,[rf]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],lZ=[{[rp]:[sa,su],[rR]:{url:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}",[ry]:sy,[rx]:{}},[rc]:rR},{[rp]:lE,[rR]:{url:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}",[ry]:sy,[rx]:{}},[rc]:rR},{[rp]:lY,[rR]:{url:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}",[ry]:sy,[rx]:{}},[rc]:rR},{[rp]:lD,[rR]:{url:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}",[ry]:sy,[rx]:{}},[rc]:rR}],lN=[{fn:rJ,[rf]:[sh,6,15,!0],[rm]:"s3expressAvailabilityZoneId"},{fn:rJ,[rf]:[sh,15,17,!0],[rm]:"s3expressAvailabilityZoneDelim"},{fn:rZ,[rf]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],lA=[{fn:rJ,[rf]:[sh,6,19,!0],[rm]:"s3expressAvailabilityZoneId"},{fn:rJ,[rf]:[sh,19,21,!0],[rm]:"s3expressAvailabilityZoneDelim"},{fn:rZ,[rf]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],lJ=[{fn:rJ,[rf]:[sh,6,20,!0],[rm]:"s3expressAvailabilityZoneId"},{fn:rJ,[rf]:[sh,20,22,!0],[rm]:"s3expressAvailabilityZoneDelim"},{fn:rZ,[rf]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],lP=[{fn:rJ,[rf]:[sh,6,26,!0],[rm]:"s3expressAvailabilityZoneId"},{fn:rJ,[rf]:[sh,26,28,!0],[rm]:"s3expressAvailabilityZoneDelim"},{fn:rZ,[rf]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],lM=[{[rp]:[sa,su],[rR]:{url:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}",[ry]:{[rS]:"S3Express",[rb]:[{[rC]:!0,[rA]:"sigv4-s3express",[rw]:"s3express",[rT]:"{Region}"}]},[rx]:{}},[rc]:rR},{[rp]:lE,[rR]:{url:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}",[ry]:{[rS]:"S3Express",[rb]:[{[rC]:!0,[rA]:"sigv4-s3express",[rw]:"s3express",[rT]:"{Region}"}]},[rx]:{}},[rc]:rR},{[rp]:lY,[rR]:{url:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}",[ry]:{[rS]:"S3Express",[rb]:[{[rC]:!0,[rA]:"sigv4-s3express",[rw]:"s3express",[rT]:"{Region}"}]},[rx]:{}},[rc]:rR},{[rp]:lD,[rR]:{url:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}",[ry]:{[rS]:"S3Express",[rb]:[{[rC]:!0,[rA]:"sigv4-s3express",[rw]:"s3express",[rT]:"{Region}"}]},[rx]:{}},[rc]:rR}],lR=[sh,0,7,!0],l_=[{fn:rJ,[rf]:[sh,7,15,!0],[rm]:"s3expressAvailabilityZoneId"},{fn:rJ,[rf]:[sh,15,17,!0],[rm]:"s3expressAvailabilityZoneDelim"},{fn:rZ,[rf]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],lB=[{fn:rJ,[rf]:[sh,7,16,!0],[rm]:"s3expressAvailabilityZoneId"},{fn:rJ,[rf]:[sh,16,18,!0],[rm]:"s3expressAvailabilityZoneDelim"},{fn:rZ,[rf]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],lX=[{fn:rJ,[rf]:[sh,7,20,!0],[rm]:"s3expressAvailabilityZoneId"},{fn:rJ,[rf]:[sh,20,22,!0],[rm]:"s3expressAvailabilityZoneDelim"},{fn:rZ,[rf]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],lH=[{fn:rJ,[rf]:[sh,7,21,!0],[rm]:"s3expressAvailabilityZoneId"},{fn:rJ,[rf]:[sh,21,23,!0],[rm]:"s3expressAvailabilityZoneDelim"},{fn:rZ,[rf]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],lk=[{fn:rJ,[rf]:[sh,7,27,!0],[rm]:"s3expressAvailabilityZoneId"},{fn:rJ,[rf]:[sh,27,29,!0],[rm]:"s3expressAvailabilityZoneDelim"},{fn:rZ,[rf]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],lF=[{fn:rG,[rf]:[{ref:rO},!1]}],lQ=[{fn:rZ,[rf]:[{ref:rQ},"beta"]}],lI=[{fn:rG,[rf]:[{ref:"Region"},!1]}],lO=[{fn:rZ,[rf]:[{ref:"Region"},"us-east-1"]}],lG=[{fn:rZ,[rf]:[sj,r1]}],l$=[{fn:rN,[rf]:[sz,"resourceId[1]"],[rm]:r3},{fn:"not",[rf]:[{fn:rZ,[rf]:[sV,""]}]}],lK=[su],lU=[{fn:"not",[rf]:[{fn:rZ,[rf]:[{fn:rN,[rf]:[sz,"region"]},""]}]}],lW=[{fn:"not",[rf]:[{fn:rE,[rf]:[{fn:rN,[rf]:[sz,"resourceId[2]"]}]}]}],lz=[{fn:rv,[rf]:[{fn:rN,[rf]:[sz,"region"]}],[rm]:"bucketPartition"}],lj=[{fn:rZ,[rf]:[s4,{fn:rN,[rf]:[{ref:"partitionResult"},rA]}]}],lq=[{fn:rG,[rf]:[{fn:rN,[rf]:[sz,"region"]},!0]}],lV=[{fn:rG,[rf]:[s6,!1]}],l0=[{fn:rG,[rf]:[sV,!1]}],l1=[sa],l3=[{fn:rG,[rf]:[{ref:"Region"},!0]}],l2={version:"1.0",parameters:{Bucket:se,Region:se,UseFIPS:sn,UseDualStack:sn,Endpoint:se,ForcePathStyle:sn,Accelerate:sn,UseGlobalEndpoint:sn,UseObjectLambdaEndpoint:si,Key:se,Prefix:se,CopySource:se,DisableAccessPoints:si,DisableMultiRegionAccessPoints:sn,UseArnRegion:si,UseS3ExpressControlEndpoint:si,DisableS3ExpressSessionAuth:si},[rd]:[{[rp]:[{fn:rE,[rf]:lS}],[rd]:[{[rp]:[st,sa],error:"Accelerate cannot be used with FIPS",[rc]:rD},{[rp]:[su,so],error:"Cannot set dual-stack in combination with a custom endpoint.",[rc]:rD},{[rp]:[so,sa],error:"A custom endpoint cannot be combined with FIPS",[rc]:rD},{[rp]:[so,st],error:"A custom endpoint cannot be combined with S3 Accelerate",[rc]:rD},{[rp]:[sa,sr,ss],error:"Partition does not support FIPS",[rc]:rD},{[rp]:[sl,{fn:rJ,[rf]:[sh,0,6,!0],[rm]:rP},{fn:rZ,[rf]:[{ref:rP},"--x-s3"]}],[rd]:[sg,sc,{[rp]:[sw,sT],[rd]:[{[rp]:lx,[rd]:[{[rp]:[sm,sx],[rd]:[{[rp]:lL,endpoint:{url:"https://s3express-control-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[ry]:sy,[rx]:sS},[rc]:rR},{[rp]:lE,endpoint:{url:"https://s3express-control-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[ry]:sy,[rx]:sS},[rc]:rR},{[rp]:lY,endpoint:{url:"https://s3express-control.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[ry]:sy,[rx]:sS},[rc]:rR},{[rp]:lD,endpoint:{url:"https://s3express-control.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[ry]:sy,[rx]:sS},[rc]:rR}],[rc]:r_}],[rc]:r_}],[rc]:r_},{[rp]:lT,[rd]:[{[rp]:lx,[rd]:[{[rp]:lw,[rd]:[{[rp]:lv,[rd]:lZ,[rc]:r_},{[rp]:lN,[rd]:lZ,[rc]:r_},{[rp]:lA,[rd]:lZ,[rc]:r_},{[rp]:lJ,[rd]:lZ,[rc]:r_},{[rp]:lP,[rd]:lZ,[rc]:r_},sY],[rc]:r_},{[rp]:lv,[rd]:lM,[rc]:r_},{[rp]:lN,[rd]:lM,[rc]:r_},{[rp]:lA,[rd]:lM,[rc]:r_},{[rp]:lJ,[rd]:lM,[rc]:r_},{[rp]:lP,[rd]:lM,[rc]:r_},sY],[rc]:r_}],[rc]:r_},sC],[rc]:r_},{[rp]:[sl,{fn:rJ,[rf]:lR,[rm]:rH},{fn:rZ,[rf]:[{ref:rH},"--xa-s3"]}],[rd]:[sg,sc,{[rp]:lT,[rd]:[{[rp]:lx,[rd]:[{[rp]:lw,[rd]:[{[rp]:l_,[rd]:lZ,[rc]:r_},{[rp]:lB,[rd]:lZ,[rc]:r_},{[rp]:lX,[rd]:lZ,[rc]:r_},{[rp]:lH,[rd]:lZ,[rc]:r_},{[rp]:lk,[rd]:lZ,[rc]:r_},sY],[rc]:r_},{[rp]:l_,[rd]:lM,[rc]:r_},{[rp]:lB,[rd]:lM,[rc]:r_},{[rp]:lX,[rd]:lM,[rc]:r_},{[rp]:lH,[rd]:lM,[rc]:r_},{[rp]:lk,[rd]:lM,[rc]:r_},sY],[rc]:r_}],[rc]:r_},sC],[rc]:r_},{[rp]:[sD,sw,sT],[rd]:[{[rp]:lx,[rd]:[{[rp]:lC,endpoint:{url:rk,[ry]:sy,[rx]:sS},[rc]:rR},{[rp]:lL,endpoint:{url:"https://s3express-control-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",[ry]:sy,[rx]:sS},[rc]:rR},{[rp]:lE,endpoint:{url:"https://s3express-control-fips.{Region}.{partitionResult#dnsSuffix}",[ry]:sy,[rx]:sS},[rc]:rR},{[rp]:lY,endpoint:{url:"https://s3express-control.dualstack.{Region}.{partitionResult#dnsSuffix}",[ry]:sy,[rx]:sS},[rc]:rR},{[rp]:lD,endpoint:{url:"https://s3express-control.{Region}.{partitionResult#dnsSuffix}",[ry]:sy,[rx]:sS},[rc]:rR}],[rc]:r_}],[rc]:r_},{[rp]:[sl,{fn:rJ,[rf]:[sh,49,50,!0],[rm]:rF},{fn:rJ,[rf]:[sh,8,12,!0],[rm]:rQ},{fn:rJ,[rf]:lR,[rm]:rI},{fn:rJ,[rf]:[sh,32,49,!0],[rm]:rO},{fn:rv,[rf]:lS,[rm]:"regionPartition"},{fn:rZ,[rf]:[{ref:rI},"--op-s3"]}],[rd]:[{[rp]:lF,[rd]:[{[rp]:lT,[rd]:[{[rp]:[{fn:rZ,[rf]:[sv,"e"]}],[rd]:[{[rp]:lQ,[rd]:[sZ,{[rp]:lC,endpoint:{url:"https://{Bucket}.ec2.{url#authority}",[ry]:sN,[rx]:sS},[rc]:rR}],[rc]:r_},{endpoint:{url:"https://{Bucket}.ec2.s3-outposts.{Region}.{regionPartition#dnsSuffix}",[ry]:sN,[rx]:sS},[rc]:rR}],[rc]:r_},{[rp]:[{fn:rZ,[rf]:[sv,"o"]}],[rd]:[{[rp]:lQ,[rd]:[sZ,{[rp]:lC,endpoint:{url:"https://{Bucket}.op-{outpostId}.{url#authority}",[ry]:sN,[rx]:sS},[rc]:rR}],[rc]:r_},{endpoint:{url:"https://{Bucket}.op-{outpostId}.s3-outposts.{Region}.{regionPartition#dnsSuffix}",[ry]:sN,[rx]:sS},[rc]:rR}],[rc]:r_},{error:'Unrecognized hardware type: "Expected hardware type o or e but got {hardwareType}"',[rc]:rD}],[rc]:r_},{error:"Invalid Outposts Bucket alias - it must be a valid bucket name.",[rc]:rD}],[rc]:r_},{error:"Invalid ARN: The outpost Id must only contain a-z, A-Z, 0-9 and `-`.",[rc]:rD}],[rc]:r_},{[rp]:[sl],[rd]:[{[rp]:[so,{fn:"not",[rf]:[{fn:rE,[rf]:[{fn:rM,[rf]:[{ref:"Endpoint"}]}]}]}],error:"Custom endpoint `{Endpoint}` was not a valid URI",[rc]:rD},{[rp]:[sA,sb],[rd]:[{[rp]:lx,[rd]:[{[rp]:lI,[rd]:[{[rp]:[st,ss],error:"S3 Accelerate cannot be used in this region",[rc]:rD},{[rp]:[su,sa,sJ,sx,sP],endpoint:{url:"https://{Bucket}.s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}",[ry]:sM,[rx]:sS},[rc]:rR},{[rp]:[su,sa,sJ,sx,sR,s_],[rd]:[{endpoint:sB,[rc]:rR}],[rc]:r_},{[rp]:[su,sa,sJ,sx,sR,sH],endpoint:sB,[rc]:rR},{[rp]:[sL,sa,sJ,sx,sP],endpoint:{url:"https://{Bucket}.s3-fips.us-east-1.{partitionResult#dnsSuffix}",[ry]:sM,[rx]:sS},[rc]:rR},{[rp]:[sL,sa,sJ,sx,sR,s_],[rd]:[{endpoint:sk,[rc]:rR}],[rc]:r_},{[rp]:[sL,sa,sJ,sx,sR,sH],endpoint:sk,[rc]:rR},{[rp]:[su,sE,st,sx,sP],endpoint:{url:"https://{Bucket}.s3-accelerate.dualstack.us-east-1.{partitionResult#dnsSuffix}",[ry]:sM,[rx]:sS},[rc]:rR},{[rp]:[su,sE,st,sx,sR,s_],[rd]:[{endpoint:sF,[rc]:rR}],[rc]:r_},{[rp]:[su,sE,st,sx,sR,sH],endpoint:sF,[rc]:rR},{[rp]:[su,sE,sJ,sx,sP],endpoint:{url:"https://{Bucket}.s3.dualstack.us-east-1.{partitionResult#dnsSuffix}",[ry]:sM,[rx]:sS},[rc]:rR},{[rp]:[su,sE,sJ,sx,sR,s_],[rd]:[{endpoint:sQ,[rc]:rR}],[rc]:r_},{[rp]:[su,sE,sJ,sx,sR,sH],endpoint:sQ,[rc]:rR},{[rp]:[sL,sE,sJ,so,sd,sp,sP],endpoint:{url:rU,[ry]:sM,[rx]:sS},[rc]:rR},{[rp]:[sL,sE,sJ,so,sd,sI,sP],endpoint:{url:rX,[ry]:sM,[rx]:sS},[rc]:rR},{[rp]:[sL,sE,sJ,so,sd,sp,sR,s_],[rd]:[{[rp]:lO,endpoint:sO,[rc]:rR},{endpoint:sO,[rc]:rR}],[rc]:r_},{[rp]:[sL,sE,sJ,so,sd,sI,sR,s_],[rd]:[{[rp]:lO,endpoint:sG,[rc]:rR},s$],[rc]:r_},{[rp]:[sL,sE,sJ,so,sd,sp,sR,sH],endpoint:sO,[rc]:rR},{[rp]:[sL,sE,sJ,so,sd,sI,sR,sH],endpoint:sG,[rc]:rR},{[rp]:[sL,sE,st,sx,sP],endpoint:{url:rW,[ry]:sM,[rx]:sS},[rc]:rR},{[rp]:[sL,sE,st,sx,sR,s_],[rd]:[{[rp]:lO,endpoint:sK,[rc]:rR},{endpoint:sK,[rc]:rR}],[rc]:r_},{[rp]:[sL,sE,st,sx,sR,sH],endpoint:sK,[rc]:rR},{[rp]:[sL,sE,sJ,sx,sP],endpoint:{url:rz,[ry]:sM,[rx]:sS},[rc]:rR},{[rp]:[sL,sE,sJ,sx,sR,s_],[rd]:[{[rp]:lO,endpoint:{url:rz,[ry]:sX,[rx]:sS},[rc]:rR},{endpoint:sU,[rc]:rR}],[rc]:r_},{[rp]:[sL,sE,sJ,sx,sR,sH],endpoint:sU,[rc]:rR}],[rc]:r_},sW],[rc]:r_}],[rc]:r_},{[rp]:[so,sd,{fn:rZ,[rf]:[{fn:rN,[rf]:[sf,"scheme"]},"http"]},{fn:rB,[rf]:[sh,!0]},sA,sE,sL,sJ],[rd]:[{[rp]:lx,[rd]:[{[rp]:lI,[rd]:[s$],[rc]:r_},sW],[rc]:r_}],[rc]:r_},{[rp]:[sA,{fn:rj,[rf]:[sh],[rm]:rq}],[rd]:[{[rp]:[{fn:rN,[rf]:[sz,"resourceId[0]"],[rm]:rV},{fn:"not",[rf]:[{fn:rZ,[rf]:[sj,""]}]}],[rd]:[{[rp]:[{fn:rZ,[rf]:[sq,r0]}],[rd]:[{[rp]:lG,[rd]:[{[rp]:l$,[rd]:[s0,s1,{[rp]:lU,[rd]:[s3,{[rp]:lW,[rd]:[s2,{[rp]:lz,[rd]:[{[rp]:lx,[rd]:[{[rp]:lj,[rd]:[{[rp]:lq,[rd]:[{[rp]:[{fn:rZ,[rf]:[s6,""]}],error:"Invalid ARN: Missing account id",[rc]:rD},{[rp]:lV,[rd]:[{[rp]:l0,[rd]:[{[rp]:lC,endpoint:{url:r2,[ry]:s8,[rx]:sS},[rc]:rR},{[rp]:l1,endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}",[ry]:s8,[rx]:sS},[rc]:rR},{endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda.{bucketArn#region}.{bucketPartition#dnsSuffix}",[ry]:s8,[rx]:sS},[rc]:rR}],[rc]:r_},s5],[rc]:r_},s7],[rc]:r_},s9],[rc]:r_},le],[rc]:r_}],[rc]:r_}],[rc]:r_},ln],[rc]:r_},{error:"Invalid ARN: bucket ARN is missing a region",[rc]:rD}],[rc]:r_},li],[rc]:r_},{error:"Invalid ARN: Object Lambda ARNs only support `accesspoint` arn types, but found: `{arnType}`",[rc]:rD}],[rc]:r_},{[rp]:lG,[rd]:[{[rp]:l$,[rd]:[{[rp]:lU,[rd]:[{[rp]:lG,[rd]:[{[rp]:lU,[rd]:[s3,{[rp]:lW,[rd]:[s2,{[rp]:lz,[rd]:[{[rp]:lx,[rd]:[{[rp]:[{fn:rZ,[rf]:[s4,"{partitionResult#name}"]}],[rd]:[{[rp]:lq,[rd]:[{[rp]:[{fn:rZ,[rf]:[sq,"s3"]}],[rd]:[{[rp]:lV,[rd]:[{[rp]:l0,[rd]:[{[rp]:lb,error:"Access Points do not support S3 Accelerate",[rc]:rD},{[rp]:lL,endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}",[ry]:lt,[rx]:sS},[rc]:rR},{[rp]:lE,endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}",[ry]:lt,[rx]:sS},[rc]:rR},{[rp]:lY,endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}",[ry]:lt,[rx]:sS},[rc]:rR},{[rp]:[sE,sL,so,sd],endpoint:{url:r2,[ry]:lt,[rx]:sS},[rc]:rR},{[rp]:lD,endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.{bucketArn#region}.{bucketPartition#dnsSuffix}",[ry]:lt,[rx]:sS},[rc]:rR}],[rc]:r_},s5],[rc]:r_},s7],[rc]:r_},{error:"Invalid ARN: The ARN was not for the S3 service, found: {bucketArn#service}",[rc]:rD}],[rc]:r_},s9],[rc]:r_},le],[rc]:r_}],[rc]:r_}],[rc]:r_},ln],[rc]:r_}],[rc]:r_}],[rc]:r_},{[rp]:[{fn:rG,[rf]:[sV,!0]}],[rd]:[{[rp]:lK,error:"S3 MRAP does not support dual-stack",[rc]:rD},{[rp]:l1,error:"S3 MRAP does not support FIPS",[rc]:rD},{[rp]:lb,error:"S3 MRAP does not support S3 Accelerate",[rc]:rD},{[rp]:[{fn:rY,[rf]:[{ref:"DisableMultiRegionAccessPoints"},!0]}],error:"Invalid configuration: Multi-Region Access Point ARNs are disabled.",[rc]:rD},{[rp]:[{fn:rv,[rf]:lS,[rm]:r4}],[rd]:[{[rp]:[{fn:rZ,[rf]:[{fn:rN,[rf]:[{ref:r4},rA]},{fn:rN,[rf]:[sz,"partition"]}]}],[rd]:[{endpoint:{url:"https://{accessPointName}.accesspoint.s3-global.{mrapPartition#dnsSuffix}",[ry]:{[rb]:[{[rC]:!0,name:r$,[rw]:"s3",[rL]:["*"]}]},[rx]:sS},[rc]:rR}],[rc]:r_},{error:"Client was configured for partition `{mrapPartition#name}` but bucket referred to partition `{bucketArn#partition}`",[rc]:rD}],[rc]:r_}],[rc]:r_},{error:"Invalid Access Point Name",[rc]:rD}],[rc]:r_},li],[rc]:r_},{[rp]:[{fn:rZ,[rf]:[sq,rK]}],[rd]:[{[rp]:lK,error:"S3 Outposts does not support Dual-stack",[rc]:rD},{[rp]:l1,error:"S3 Outposts does not support FIPS",[rc]:rD},{[rp]:lb,error:"S3 Outposts does not support S3 Accelerate",[rc]:rD},{[rp]:[{fn:rE,[rf]:[{fn:rN,[rf]:[sz,"resourceId[4]"]}]}],error:"Invalid Arn: Outpost Access Point ARN contains sub resources",[rc]:rD},{[rp]:[{fn:rN,[rf]:[sz,"resourceId[1]"],[rm]:rO}],[rd]:[{[rp]:lF,[rd]:[s2,{[rp]:lz,[rd]:[{[rp]:lx,[rd]:[{[rp]:lj,[rd]:[{[rp]:lq,[rd]:[{[rp]:lV,[rd]:[{[rp]:[{fn:rN,[rf]:[sz,"resourceId[2]"],[rm]:r6}],[rd]:[{[rp]:[{fn:rN,[rf]:[sz,"resourceId[3]"],[rm]:r3}],[rd]:[{[rp]:[{fn:rZ,[rf]:[{ref:r6},r1]}],[rd]:[{[rp]:lC,endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.{outpostId}.{url#authority}",[ry]:la,[rx]:sS},[rc]:rR},{endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.{outpostId}.s3-outposts.{bucketArn#region}.{bucketPartition#dnsSuffix}",[ry]:la,[rx]:sS},[rc]:rR}],[rc]:r_},{error:"Expected an outpost type `accesspoint`, found {outpostType}",[rc]:rD}],[rc]:r_},{error:"Invalid ARN: expected an access point name",[rc]:rD}],[rc]:r_},{error:"Invalid ARN: Expected a 4-component resource",[rc]:rD}],[rc]:r_},s7],[rc]:r_},s9],[rc]:r_},le],[rc]:r_}],[rc]:r_}],[rc]:r_},{error:"Invalid ARN: The outpost Id may only contain a-z, A-Z, 0-9 and `-`. Found: `{outpostId}`",[rc]:rD}],[rc]:r_},{error:"Invalid ARN: The Outpost Id was not set",[rc]:rD}],[rc]:r_},{error:"Invalid ARN: Unrecognized format: {Bucket} (type: {arnType})",[rc]:rD}],[rc]:r_},{error:"Invalid ARN: No ARN type specified",[rc]:rD}],[rc]:r_},{[rp]:[{fn:rJ,[rf]:[sh,0,4,!1],[rm]:r8},{fn:rZ,[rf]:[{ref:r8},"arn:"]},{fn:"not",[rf]:[{fn:rE,[rf]:[lu]}]}],error:"Invalid ARN: `{Bucket}` was not a valid ARN",[rc]:rD},{[rp]:[{fn:rY,[rf]:[{ref:"ForcePathStyle"},!0]},lu],error:"Path-style addressing cannot be used with ARN buckets",[rc]:rD},{[rp]:[sm],[rd]:[{[rp]:lx,[rd]:[{[rp]:[sJ],[rd]:[{[rp]:[su,sx,sa,sP],endpoint:{url:"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[ry]:sM,[rx]:sS},[rc]:rR},{[rp]:[su,sx,sa,sR,s_],[rd]:[{endpoint:lo,[rc]:rR}],[rc]:r_},{[rp]:[su,sx,sa,sR,sH],endpoint:lo,[rc]:rR},{[rp]:[sL,sx,sa,sP],endpoint:{url:"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[ry]:sM,[rx]:sS},[rc]:rR},{[rp]:[sL,sx,sa,sR,s_],[rd]:[{endpoint:lr,[rc]:rR}],[rc]:r_},{[rp]:[sL,sx,sa,sR,sH],endpoint:lr,[rc]:rR},{[rp]:[su,sx,sE,sP],endpoint:{url:"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[ry]:sM,[rx]:sS},[rc]:rR},{[rp]:[su,sx,sE,sR,s_],[rd]:[{endpoint:ls,[rc]:rR}],[rc]:r_},{[rp]:[su,sx,sE,sR,sH],endpoint:ls,[rc]:rR},{[rp]:[sL,so,sd,sE,sP],endpoint:{url:r5,[ry]:sM,[rx]:sS},[rc]:rR},{[rp]:[sL,so,sd,sE,sR,s_],[rd]:[{[rp]:lO,endpoint:ll,[rc]:rR},{endpoint:ll,[rc]:rR}],[rc]:r_},{[rp]:[sL,so,sd,sE,sR,sH],endpoint:ll,[rc]:rR},{[rp]:[sL,sx,sE,sP],endpoint:{url:r7,[ry]:sM,[rx]:sS},[rc]:rR},{[rp]:[sL,sx,sE,sR,s_],[rd]:[{[rp]:lO,endpoint:{url:r7,[ry]:sX,[rx]:sS},[rc]:rR},{endpoint:lh,[rc]:rR}],[rc]:r_},{[rp]:[sL,sx,sE,sR,sH],endpoint:lh,[rc]:rR}],[rc]:r_},{error:"Path-style addressing cannot be used with S3 Accelerate",[rc]:rD}],[rc]:r_}],[rc]:r_}],[rc]:r_},{[rp]:[{fn:rE,[rf]:[lg]},{fn:rY,[rf]:[lg,!0]}],[rd]:[{[rp]:lx,[rd]:[{[rp]:l3,[rd]:[s0,s1,{[rp]:lC,endpoint:{url:rk,[ry]:lc,[rx]:sS},[rc]:rR},{[rp]:l1,endpoint:{url:"https://s3-object-lambda-fips.{Region}.{partitionResult#dnsSuffix}",[ry]:lc,[rx]:sS},[rc]:rR},{endpoint:{url:"https://s3-object-lambda.{Region}.{partitionResult#dnsSuffix}",[ry]:lc,[rx]:sS},[rc]:rR}],[rc]:r_},sW],[rc]:r_}],[rc]:r_},{[rp]:[sD],[rd]:[{[rp]:lx,[rd]:[{[rp]:l3,[rd]:[{[rp]:[sa,su,sx,sP],endpoint:{url:"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}",[ry]:sM,[rx]:sS},[rc]:rR},{[rp]:[sa,su,sx,sR,s_],[rd]:[{endpoint:ld,[rc]:rR}],[rc]:r_},{[rp]:[sa,su,sx,sR,sH],endpoint:ld,[rc]:rR},{[rp]:[sa,sL,sx,sP],endpoint:{url:"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}",[ry]:sM,[rx]:sS},[rc]:rR},{[rp]:[sa,sL,sx,sR,s_],[rd]:[{endpoint:lp,[rc]:rR}],[rc]:r_},{[rp]:[sa,sL,sx,sR,sH],endpoint:lp,[rc]:rR},{[rp]:[sE,su,sx,sP],endpoint:{url:"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}",[ry]:sM,[rx]:sS},[rc]:rR},{[rp]:[sE,su,sx,sR,s_],[rd]:[{endpoint:lf,[rc]:rR}],[rc]:r_},{[rp]:[sE,su,sx,sR,sH],endpoint:lf,[rc]:rR},{[rp]:[sE,sL,so,sd,sP],endpoint:{url:rk,[ry]:sM,[rx]:sS},[rc]:rR},{[rp]:[sE,sL,so,sd,sR,s_],[rd]:[{[rp]:lO,endpoint:lm,[rc]:rR},{endpoint:lm,[rc]:rR}],[rc]:r_},{[rp]:[sE,sL,so,sd,sR,sH],endpoint:lm,[rc]:rR},{[rp]:[sE,sL,sx,sP],endpoint:{url:r9,[ry]:sM,[rx]:sS},[rc]:rR},{[rp]:[sE,sL,sx,sR,s_],[rd]:[{[rp]:lO,endpoint:{url:r9,[ry]:sX,[rx]:sS},[rc]:rR},{endpoint:ly,[rc]:rR}],[rc]:r_},{[rp]:[sE,sL,sx,sR,sH],endpoint:ly,[rc]:rR}],[rc]:r_},sW],[rc]:r_}],[rc]:r_}],[rc]:r_},{error:"A region must be set when sending requests to S3.",[rc]:rD}]},l4=new o0({size:50,params:["Accelerate","Bucket","DisableAccessPoints","DisableMultiRegionAccessPoints","DisableS3ExpressSessionAuth","Endpoint","ForcePathStyle","Region","UseArnRegion","UseDualStack","UseFIPS","UseGlobalEndpoint","UseObjectLambdaEndpoint","UseS3ExpressControlEndpoint"]}),l6=(e,n={})=>l4.get(e,()=>rh(l2,{endpointParams:e,logger:n.logger}));aZ.aws=a_;let l8=(d=async(e,n,i)=>({operation:aT(n).operation,region:await tV(e.region)()||(()=>{throw Error("expected `region` to be configured for `aws.auth#sigv4`")})()}),async(e,n,i)=>{if(!i)throw Error("Could not find `input` for `defaultEndpointRuleSetHttpAuthSchemeParametersProvider`");let t=await d(e,n,i),a=aT(n)?.commandInstance?.constructor?.getEndpointParameterInstructions;if(!a)throw Error(`getEndpointParameterInstructions() is not defined on '${n.commandName}'`);return Object.assign(t,await oV(i,{getEndpointParameterInstructions:a},e))});function l5(e){return{schemeId:"aws.auth#sigv4",signingProperties:{name:"s3",region:e.region},propertiesExtractor:(e,n)=>({signingProperties:{config:e,context:n}})}}function l7(e){return{schemeId:"aws.auth#sigv4a",signingProperties:{name:"s3",region:e.region},propertiesExtractor:(e,n)=>({signingProperties:{config:e,context:n}})}}let l9=(z=e=>{let n=[];return e.operation,n.push(l5(e)),n.push(l7(e)),n},j={"aws.auth#sigv4":l5,"aws.auth#sigv4a":l7},e=>{let n=l6(e),i=n.properties?.authSchemes;if(!i)return z(e);let t=[];for(let n of i){let a,{name:u,properties:o={},...r}=n,s=u.toLowerCase();if(u!==s&&console.warn(`HttpAuthScheme has been normalized with lowercasing: '${u}' to '${s}'`),"sigv4a"===s){a="aws.auth#sigv4a";let e=i.find(e=>{let n=e.name.toLowerCase();return"sigv4a"!==n&&n.startsWith("sigv4")});if("none"===oO.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=j[a];if(!l)throw Error(`Could not find HttpAuthOption create function for '${a}'`);let h=l(e);h.schemeId=a,h.signingProperties={...h.signingProperties||{},...r,...o},t.push(h)}return t});async function he(e){return"function"==typeof e.stream&&(e=e.stream()),e.tee()}let hn=e=>"function"==typeof ReadableStream&&(e?.constructor?.name===ReadableStream.name||e instanceof ReadableStream);async function hi(e){if(hn(e)||"function"==typeof Blob&&(e?.constructor?.name===Blob.name||e instanceof Blob))return he(e);let n=new u$.PassThrough,i=new u$.PassThrough;return e.pipe(n),e.pipe(i),[n,i]}async function ht(e,n){let i=0,t=[],a=e.getReader(),u=!1;for(;!u;){let{done:e,value:o}=await a.read();if(o&&(t.push(o),i+=o?.byteLength??0),i>=n)break;u=e}a.releaseLock();let o=new Uint8Array(Math.min(n,i)),r=0;for(let e of t){if(e.byteLength>o.byteLength-r){o.set(e.subarray(0,o.byteLength-r),r);break}o.set(e,r),r+=e.length}return o}class ha extends u$.Writable{buffers=[];limit=1/0;bytesBuffered=0;_write(e,n,i){if(this.buffers.push(e),this.bytesBuffered+=e.byteLength??0,this.bytesBuffered>=this.limit){let e=this.bytesBuffered-this.limit,n=this.buffers[this.buffers.length-1];this.buffers[this.buffers.length-1]=n.subarray(0,n.byteLength-e),this.emit("finish")}i()}}let hu={CopyObjectCommand:!0,UploadPartCopyCommand:!0,CompleteMultipartUploadCommand:!0},ho={relation:"after",toMiddleware:"deserializerMiddleware",tags:["THROW_200_EXCEPTIONS","S3"],name:"throw200ExceptionsMiddleware",override:!0},hr=e=>({applyToStack:n=>{n.addRelativeTo((n,i)=>async t=>{let a=await n(t),{response:u}=a;if(!aq.isInstance(u))return a;let{statusCode:o,body:r}=u;if(o<200||o>=300||"function"!=typeof r?.stream&&"function"!=typeof r?.pipe&&"function"!=typeof r?.tee)return a;let s=r,l=r;!r||"object"!=typeof r||r instanceof Uint8Array||([s,l]=await hi(r)),u.body=l;let h=await ((e=new Uint8Array,n)=>e instanceof Uint8Array?Promise.resolve(e):n.streamCollector(e)||Promise.resolve(new Uint8Array))(s,{streamCollector:async e=>hn(e)?ht(e,3e3):new Promise((n,i)=>{let t=new ha;t.limit=3e3,e.pipe(t),e.on("error",e=>{t.end(),i(e)}),t.on("error",i),t.on("finish",function(){n(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&&hu[i.commandName]){let e=Error("S3 aborted request");throw e.name="InternalError",e}return g&&g.endsWith("</Error>")&&(u.statusCode=400),a},ho)}}),hs={step:"serialize",tags:["ENDPOINT_PARAMETERS","ENDPOINT_V2","ENDPOINT"],name:"endpointV2Middleware",override:!0,relation:"before",toMiddleware:"serializerMiddleware"},hl=(e,n)=>({applyToStack:i=>{i.addRelativeTo((({config:e,instructions:n})=>(i,t)=>async a=>{e.isCustomEndpoint&&(t.__smithy_context?t.__smithy_context.features||(t.__smithy_context.features={}):t.__smithy_context={features:{}},t.__smithy_context.features.ENDPOINT_OVERRIDE="N");let u=await oq(a.input,{getEndpointParameterInstructions:()=>n},{...e},t);t.endpointV2=u,t.authSchemes=u.properties?.authSchemes;let o=t.authSchemes?.[0];if(o){t.signing_region=o.signingRegion,t.signing_service=o.signingName;let e=aT(t),n=e?.selectedHttpAuthScheme?.httpAuthOption;n&&(n.signingProperties=Object.assign(n.signingProperties||{},{signing_region:o.signingRegion,signingRegion:o.signingRegion,signing_service:o.signingName,signingName:o.signingName,signingRegionSet:o.signingRegionSet},o.properties))}return i({...a})})({config:e,instructions:n}),hs)}}),hh=e=>"function"==typeof e?e():e;function hg(e){if("object"==typeof e)return e;e|=0;let n={},i=0;for(let t of["httpLabel","idempotent","idempotencyToken","sensitive","httpPayload","httpResponseCode","httpQueryParams"])(e>>i++&1)==1&&(n[t]=1);return n}class hc{ref;memberName;static symbol=Symbol.for("@smithy/nor");symbol=hc.symbol;name;schema;_isMemberSchema;traits;memberTraits;normalizedTraits;constructor(e,n){this.ref=e,this.memberName=n;let i=[],t=e,a=e;for(this._isMemberSchema=!1;hp(t);)i.push(t[1]),a=hh(t=t[0]),this._isMemberSchema=!0;if(i.length>0){this.memberTraits={};for(let e=i.length-1;e>=0;--e){let n=i[e];Object.assign(this.memberTraits,hg(n))}}else this.memberTraits=0;if(a instanceof hc){let e=this.memberTraits;Object.assign(this,a),this.memberTraits=Object.assign({},e,a.getMemberTraits(),this.getMemberTraits()),this.normalizedTraits=void 0,this.memberName=n??a.memberName;return}if(this.schema=hh(a),hf(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&&!n)throw Error(`@smithy/core/schema - NormalizedSchema member init ${this.getName(!0)} missing member name.`)}static[Symbol.hasInstance](e){let n=this.prototype.isPrototypeOf(e);return n||"object"!=typeof e||null===e?n:e.symbol===this.symbol}static of(e){let n=hh(e);if(n instanceof hc)return n;if(hp(n)){let[i,t]=n;if(i instanceof hc)return Object.assign(i.getMergedTraits(),hg(t)),i;throw Error(`@smithy/core/schema - may not init unwrapped member schema=${JSON.stringify(e,null,2)}.`)}return new hc(n)}getSchema(){let e=this.schema;return 0===e[0]?e[4]:e}getName(e=!1){let{name:n}=this;return!e&&n&&n.includes("#")?n.split("#")[1]:n||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 e=e=>(4&e)==4||!!e?.idempotencyToken,{normalizedTraits:n,traits:i,memberTraits:t}=this;return e(n)||e(i)||e(t)}getMergedTraits(){return this.normalizedTraits??(this.normalizedTraits={...this.getOwnTraits(),...this.getMemberTraits()})}getMemberTraits(){return hg(this.memberTraits)}getOwnTraits(){return hg(this.traits)}getKeySchema(){let[e,n]=[this.isDocumentSchema(),this.isMapSchema()];if(!e&&!n)throw Error(`@smithy/core/schema - cannot get key for non-map: ${this.getName(!0)}`);let i=this.getSchema();return hd([e?15:i[4]??0,0],"key")}getValueSchema(){let e=this.getSchema(),[n,i,t]=[this.isDocumentSchema(),this.isMapSchema(),this.isListSchema()],a="number"==typeof e?63&e:e&&"object"==typeof e&&(i||t)?e[3+e[0]]:n?15:void 0;if(null!=a)return hd([a,0],i?"value":"member");throw Error(`@smithy/core/schema - ${this.getName(!0)} has no value member.`)}getMemberSchema(e){let n=this.getSchema();if(this.isStructSchema()&&n[4].includes(e)){let i=n[4].indexOf(e),t=n[5][i];return hd(hp(t)?t:[t,0],e)}if(this.isDocumentSchema())return hd([15,0],e);throw Error(`@smithy/core/schema - ${this.getName(!0)} has no no member=${e}.`)}getMemberSchemas(){let e={};try{for(let[n,i]of this.structIterator())e[n]=i}catch(e){}return e}getEventStreamMember(){if(this.isStructSchema()){for(let[e,n]of this.structIterator())if(n.isStreaming()&&n.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 n=0;n<e[4].length;++n)yield[e[4][n],hd([e[5][n],0],e[4][n])]}}function hd(e,n){return e instanceof hc?Object.assign(e,{memberName:n,_isMemberSchema:!0}):new hc(e,n)}let hp=e=>Array.isArray(e)&&2===e.length,hf=e=>Array.isArray(e)&&e.length>=5,hm="***SensitiveInformation***";function hy(e,n){if(null==n)return n;let i=hc.of(e);if(i.getMergedTraits().sensitive)return hm;if(i.isListSchema()){if(i.getValueSchema().getMergedTraits().sensitive)return hm}else if(i.isMapSchema()){if(i.getKeySchema().getMergedTraits().sensitive||i.getValueSchema().getMergedTraits().sensitive)return hm}else if(i.isStructSchema()&&"object"==typeof n){let e={};for(let[t,a]of i.structIterator())null!=n[t]&&(e[t]=hy(a,n[t]));return e}return n}class hS{middlewareStack=u3();schema;static classBuilder(){return new hb}resolveMiddlewareWithContext(e,n,i,{middlewareFn:t,clientName:a,commandName:u,inputFilterSensitiveLog:o,outputFilterSensitiveLog:r,smithyContext:s,additionalContext:l,CommandCtor:h}){for(let a of t.bind(this)(h,e,n,i))this.middlewareStack.use(a);let g=e.concat(this.middlewareStack),{logger:c}=n,d={logger:c,clientName:a,commandName:u,inputFilterSensitiveLog:o,outputFilterSensitiveLog:r,[aw]:{commandInstance:this,...s},...l},{requestHandler:p}=n;return g.resolve(e=>p.handle(e.request,i||{}),d)}}class hb{_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,n,i={}){return this._smithyContext={service:e,operation:n,...i},this}c(e={}){return this._additionalContext=e,this}n(e,n){return this._clientName=e,this._commandName=n,this}f(e=e=>e,n=e=>e){return this._inputFilterSensitiveLog=e,this._outputFilterSensitiveLog=n,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,n=this;return e=class extends hS{input;static getEndpointParameterInstructions(){return n._ep}constructor(...[e]){super(),this.input=e??{},n._init(this),this.schema=n._operationSchema}resolveMiddleware(i,t,a){let u=n._operationSchema,o=u?.[4]??u?.input,r=u?.[5]??u?.output;return this.resolveMiddlewareWithContext(i,t,a,{CommandCtor:e,middlewareFn:n._middlewareFn,clientName:n._clientName,commandName:n._commandName,inputFilterSensitiveLog:n._inputFilterSensitiveLog??(u?hy.bind(null,o):e=>e),outputFilterSensitiveLog:n._outputFilterSensitiveLog??(u?hy.bind(null,r):e=>e),smithyContext:n._smithyContext,additionalContext:n._additionalContext})}serialize=n._serializer;deserialize=n._deserializer}}}let hC={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 hw{namespace;schemas;exceptions;static registries=new Map;constructor(e,n=new Map,i=new Map){this.namespace=e,this.schemas=n,this.exceptions=i}static for(e){return hw.registries.has(e)||hw.registries.set(e,new hw(e)),hw.registries.get(e)}register(e,n){let i=this.normalizeShapeId(e);hw.for(i.split("#")[0]).schemas.set(i,n)}getSchema(e){let n=this.normalizeShapeId(e);if(!this.schemas.has(n))throw Error(`@smithy/core/schema - schema not found for ${n}`);return this.schemas.get(n)}registerError(e,n){let i=hw.for(e[1]);i.schemas.set(e[1]+"#"+e[2],e),i.exceptions.set(e,n)}getErrorCtor(e){return hw.for(e[1]).exceptions.get(e)}getBaseException(){for(let e of this.exceptions.keys())if(Array.isArray(e)){let[,n,i]=e,t=n+"#"+i;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 hT 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&&(hT.prototype.isPrototypeOf(e)||!!e.$fault&&!!e.$metadata&&("client"===e.$fault||"server"===e.$fault))}static[Symbol.hasInstance](e){return!!e&&(this===hT?hT.isInstance(e):!!hT.isInstance(e)&&(e.name&&this.name?this.prototype.isPrototypeOf(e)||e.name===this.name:this.prototype.isPrototypeOf(e)))}}let hx=(e,n={})=>{Object.entries(n).filter(([,e])=>void 0!==e).forEach(([n,i])=>{(void 0==e[n]||""===e[n])&&(e[n]=i)});let i=e.message||e.Message||"UnknownError";return e.message=i,delete e.Message,e};class hL extends hT{constructor(e){super(e),Object.setPrototypeOf(this,hL.prototype)}}class hE extends hL{name="NoSuchUpload";$fault="client";constructor(e){super({name:"NoSuchUpload",$fault:"client",...e}),Object.setPrototypeOf(this,hE.prototype)}}class hY extends hL{name="ObjectNotInActiveTierError";$fault="client";constructor(e){super({name:"ObjectNotInActiveTierError",$fault:"client",...e}),Object.setPrototypeOf(this,hY.prototype)}}class hD extends hL{name="BucketAlreadyExists";$fault="client";constructor(e){super({name:"BucketAlreadyExists",$fault:"client",...e}),Object.setPrototypeOf(this,hD.prototype)}}class hv extends hL{name="BucketAlreadyOwnedByYou";$fault="client";constructor(e){super({name:"BucketAlreadyOwnedByYou",$fault:"client",...e}),Object.setPrototypeOf(this,hv.prototype)}}class hZ extends hL{name="NoSuchBucket";$fault="client";constructor(e){super({name:"NoSuchBucket",$fault:"client",...e}),Object.setPrototypeOf(this,hZ.prototype)}}class hN extends hL{name="InvalidObjectState";$fault="client";StorageClass;AccessTier;constructor(e){super({name:"InvalidObjectState",$fault:"client",...e}),Object.setPrototypeOf(this,hN.prototype),this.StorageClass=e.StorageClass,this.AccessTier=e.AccessTier}}class hA extends hL{name="NoSuchKey";$fault="client";constructor(e){super({name:"NoSuchKey",$fault:"client",...e}),Object.setPrototypeOf(this,hA.prototype)}}class hJ extends hL{name="NotFound";$fault="client";constructor(e){super({name:"NotFound",$fault:"client",...e}),Object.setPrototypeOf(this,hJ.prototype)}}class hP extends hL{name="EncryptionTypeMismatch";$fault="client";constructor(e){super({name:"EncryptionTypeMismatch",$fault:"client",...e}),Object.setPrototypeOf(this,hP.prototype)}}class hM extends hL{name="InvalidRequest";$fault="client";constructor(e){super({name:"InvalidRequest",$fault:"client",...e}),Object.setPrototypeOf(this,hM.prototype)}}class hR extends hL{name="InvalidWriteOffset";$fault="client";constructor(e){super({name:"InvalidWriteOffset",$fault:"client",...e}),Object.setPrototypeOf(this,hR.prototype)}}class h_ extends hL{name="TooManyParts";$fault="client";constructor(e){super({name:"TooManyParts",$fault:"client",...e}),Object.setPrototypeOf(this,h_.prototype)}}class hB extends hL{name="IdempotencyParameterMismatch";$fault="client";constructor(e){super({name:"IdempotencyParameterMismatch",$fault:"client",...e}),Object.setPrototypeOf(this,hB.prototype)}}class hX extends hL{name="ObjectAlreadyInActiveTierError";$fault="client";constructor(e){super({name:"ObjectAlreadyInActiveTierError",$fault:"client",...e}),Object.setPrototypeOf(this,hX.prototype)}}let hH="AccessControlTranslation",hk="AbortIncompleteMultipartUpload",hF="AccessKeyId",hQ="AccessPointArn",hI="AcceptRanges",hO="AccessTier",hG="Bucket",h$="BlockedEncryptionTypes",hK="BucketKeyEnabled",hU="Body",hW="ChecksumAlgorithm",hz="CacheControl",hj="ChecksumCRC32",hq="ChecksumCRC32C",hV="ChecksumCRC64NVME",h0="Cache-Control",h1="Content-Disposition",h3="ContentDisposition",h2="Content-Encoding",h4="ContentEncoding",h6="ContentLanguage",h8="Content-Language",h5="Content-Length",h7="ContentLength",h9="Content-MD5",ge="ContentMD5",gn="CompleteMultipartUpload",gi="ChecksumMode",gt="ContentRange",ga="Content-Range",gu="ChecksumSHA1",go="ChecksumSHA256",gr="ChecksumType",gs="Content-Type",gl="ContentType",gh="ContinuationToken",gg="Condition",gc="Credentials",gd="Days",gp="DeleteMarker",gf="DeleteMarkerReplication",gm="DisplayName",gy="DefaultRetention",gS="Date",gb="Delimiter",gC="Destination",gw="Expiration",gT="ExpectedBucketOwner",gx="EncryptionConfiguration",gL="ExistingObjectReplication",gE="ExpiresString",gY="EncryptionType",gD="ETag",gv="EncodingType",gZ="Encryption",gN="Events",gA="Event",gJ="Expires",gP="Filter",gM="FieldDelimiter",gR="FilterRule",g_="Format",gB="GrantFullControl",gX="GrantRead",gH="GrantReadACP",gk="GrantWriteACP",gF="Grant",gQ="Grantee",gI="HostName",gO="IfMatch",gG="If-Modified-Since",g$="IfModifiedSince",gK="If-Match",gU="IfNoneMatch",gW="If-None-Match",gz="InputSerialization",gj="IfUnmodifiedSince",gq="If-Unmodified-Since",gV="Initiator",g0="JSON",g1="LastModified",g3="Last-Modified",g2="Metadata",g4="MetadataEntry",g6="MaxKeys",g8="MissingMeta",g5="MultipartUpload",g7="Metrics",g9="Name",ce="NoncurrentDays",cn="NewerNoncurrentVersions",ci="NoncurrentVersionExpiration",ct="NoncurrentVersionTransition",ca="Owner",cu="ObjectLockLegalHoldStatus",co="ObjectLockMode",cr="ObjectLockRetainUntilDate",cs="ObjectSizeGreaterThan",cl="ObjectSizeLessThan",ch="OutputSerialization",cg="Prefix",cc="PartsCount",cd="PartNumber",cp="PartitionedPrefix",cf="Part",cm="Permission",cy="Protocol",cS="QuoteCharacter",cb="QuoteEscapeCharacter",cC="RequestCharged",cw="ResponseCacheControl",cT="ResponseContentDisposition",cx="ResponseContentEncoding",cL="ResponseContentLanguage",cE="ResponseContentType",cY="RecordDelimiter",cD="ResponseExpires",cv="RecordExpiration",cZ="ReplicaModifications",cN="RequestPayer",cA="RoutingRule",cJ="ReplicationStatus",cP="RestoreStatus",cM="ReplicationTime",cR="Range",c_="Restore",cB="Redirect",cX="Status",cH="StartAfter",ck="SecretAccessKey",cF="S3BucketDestination",cQ="StorageClass",cI="StorageClassAnalysis",cO="SSE-KMS",cG="SseKmsEncryptedObjects",c$="SimplePrefix",cK="SSE-S3",cU="SourceSelectionCriteria",cW="ServerSideEncryption",cz="SSECustomerAlgorithm",cj="SSECustomerKey",cq="SSECustomerKeyMD5",cV="SSEKMS",c0="SSEKMSEncryptionContext",c1="SSEKMSKeyId",c3="SSES3",c2="SessionToken",c4="Size",c6="Tags",c8="TagCount",c5="TargetGrants",c7="TargetObjectKeyFormat",c9="TagSet",de="Tagging",dn="Tiering",di="Transition",dt="Type",da="UploadId",du="UserMetadata",dr="Value",ds="VersionId",dl="WebsiteRedirectLocation",dh="accept-ranges",dg="client",dc="error",dd="http",dp="httpChecksum",df="httpError",dm="httpHeader",dy="httpPayload",dS="httpPrefixHeaders",db="httpQuery",dC="http://www.w3.org/2001/XMLSchema-instance",dw="partNumber",dT="response-cache-control",dx="response-content-disposition",dL="response-content-encoding",dE="response-content-language",dY="response-content-type",dD="response-expires",dv="smithy.ts.sdk.synthetic.com.amazonaws.s3",dZ="uploadId",dN="versionId",dA="xmlFlattened",dJ="xmlName",dP="xmlNamespace",dM="x-amz-acl",dR="x-amz-checksum-algorithm",d_="x-amz-checksum-crc32",dB="x-amz-checksum-crc32c",dX="x-amz-checksum-crc64nvme",dH="x-amz-checksum-mode",dk="x-amz-checksum-sha1",dF="x-amz-checksum-sha256",dQ="x-amz-checksum-type",dI="x-amz-delete-marker",dO="x-amz-expiration",dG="x-amz-expected-bucket-owner",d$="x-amz-grant-full-control",dK="x-amz-grant-read",dU="x-amz-grant-read-acp",dW="x-amz-grant-write-acp",dz="x-amz-meta-",dj="x-amz-missing-meta",dq="x-amz-mp-parts-count",dV="x-amz-object-lock-legal-hold",d0="x-amz-object-lock-mode",d1="x-amz-object-lock-retain-until-date",d3="x-amz-restore",d2="x-amz-request-charged",d4="x-amz-request-payer",d6="x-amz-replication-status",d8="x-amz-storage-class",d5="x-amz-sdk-checksum-algorithm",d7="x-amz-server-side-encryption",d9="x-amz-server-side-encryption-aws-kms-key-id",pe="x-amz-server-side-encryption-bucket-key-enabled",pn="x-amz-server-side-encryption-context",pi="x-amz-server-side-encryption-customer-algorithm",pt="x-amz-server-side-encryption-customer-key",pa="x-amz-server-side-encryption-customer-key-MD5",pu="x-amz-tagging",po="x-amz-tagging-count",pr="x-amz-version-id",ps="x-amz-website-redirect-location",pl="com.amazonaws.s3";var ph=[0,pl,"SessionCredentialValue",8,0],pg=[0,pl,cj,8,0],pc=[0,pl,c0,8,0],pd=[0,pl,c1,8,0],pp=[0,pl,"StreamingBlob",{streaming:1},42],pf=[3,pl,hk,0,["DaysAfterInitiation"],[1]],pm=[3,pl,"AbortMultipartUploadOutput",0,[cC],[[0,{[dm]:d2}]]],py=[3,pl,"AbortMultipartUploadRequest",0,[hG,"Key",da,cN,gT,"IfMatchInitiatedTime"],[[0,1],[0,1],[0,{[db]:dZ}],[0,{[dm]:d4}],[0,{[dm]:dG}],[6,{[dm]:"x-amz-if-match-initiated-time"}]]],pS=[3,pl,hH,0,[ca],[0]],pb=[3,pl,"AnalyticsAndOperator",0,[cg,c6],[0,[()=>mf,{[dA]:1,[dJ]:"Tag"}]]],pC=[3,pl,"AnalyticsExportDestination",0,[cF],[()=>pw]],pw=[3,pl,"AnalyticsS3BucketDestination",0,[g_,"BucketAccountId",hG,cg],[0,0,0,0]],pT=[3,pl,h$,0,[gY],[[()=>ml,{[dA]:1}]]],px=[-3,pl,"BucketAlreadyExists",{[dc]:dg,[df]:409},[],[]];hw.for(pl).registerError(px,hD);var pL=[-3,pl,"BucketAlreadyOwnedByYou",{[dc]:dg,[df]:409},[],[]];hw.for(pl).registerError(pL,hv);var pE=[3,pl,"CommonPrefix",0,[cg],[0]],pY=[3,pl,"CompletedMultipartUpload",0,["Parts"],[[()=>ms,{[dA]:1,[dJ]:cf}]]],pD=[3,pl,"CompletedPart",0,[gD,hj,hq,hV,gu,go,cd],[0,0,0,0,0,0,1]],pv=[3,pl,"CompleteMultipartUploadOutput",{[dJ]:"CompleteMultipartUploadResult"},["Location",hG,"Key",gw,gD,hj,hq,hV,gu,go,gr,cW,ds,c1,hK,cC],[0,0,0,[0,{[dm]:dO}],0,0,0,0,0,0,0,[0,{[dm]:d7}],[0,{[dm]:pr}],[()=>pd,{[dm]:d9}],[2,{[dm]:pe}],[0,{[dm]:d2}]]],pZ=[3,pl,"CompleteMultipartUploadRequest",0,[hG,"Key",g5,da,hj,hq,hV,gu,go,gr,"MpuObjectSize",cN,gT,gO,gU,cz,cj,cq],[[0,1],[0,1],[()=>pY,{[dy]:1,[dJ]:gn}],[0,{[db]:dZ}],[0,{[dm]:d_}],[0,{[dm]:dB}],[0,{[dm]:dX}],[0,{[dm]:dk}],[0,{[dm]:dF}],[0,{[dm]:dQ}],[1,{[dm]:"x-amz-mp-object-size"}],[0,{[dm]:d4}],[0,{[dm]:dG}],[0,{[dm]:gK}],[0,{[dm]:gW}],[0,{[dm]:pi}],[()=>pg,{[dm]:pt}],[0,{[dm]:pa}]]],pN=[3,pl,gg,0,["HttpErrorCodeReturnedEquals","KeyPrefixEquals"],[0,0]],pA=[3,pl,"CORSRule",0,["ID","AllowedHeaders","AllowedMethods","AllowedOrigins","ExposeHeaders","MaxAgeSeconds"],[0,[64,{[dA]:1,[dJ]:"AllowedHeader"}],[64,{[dA]:1,[dJ]:"AllowedMethod"}],[64,{[dA]:1,[dJ]:"AllowedOrigin"}],[64,{[dA]:1,[dJ]:"ExposeHeader"}],1]],pJ=[3,pl,"CreateMultipartUploadOutput",{[dJ]:"InitiateMultipartUploadResult"},["AbortDate","AbortRuleId",hG,"Key",da,cW,cz,cq,c1,c0,hK,cC,hW,gr],[[4,{[dm]:"x-amz-abort-date"}],[0,{[dm]:"x-amz-abort-rule-id"}],[0,{[dJ]:hG}],0,0,[0,{[dm]:d7}],[0,{[dm]:pi}],[0,{[dm]:pa}],[()=>pd,{[dm]:d9}],[()=>pc,{[dm]:pn}],[2,{[dm]:pe}],[0,{[dm]:d2}],[0,{[dm]:dR}],[0,{[dm]:dQ}]]],pP=[3,pl,"CreateMultipartUploadRequest",0,["ACL",hG,hz,h3,h4,h6,gl,gJ,gB,gX,gH,gk,"Key",g2,cW,cQ,dl,cz,cj,cq,c1,c0,hK,cN,de,co,cr,cu,gT,hW,gr],[[0,{[dm]:dM}],[0,1],[0,{[dm]:h0}],[0,{[dm]:h1}],[0,{[dm]:h2}],[0,{[dm]:h8}],[0,{[dm]:gs}],[4,{[dm]:gJ}],[0,{[dm]:d$}],[0,{[dm]:dK}],[0,{[dm]:dU}],[0,{[dm]:dW}],[0,1],[128,{[dS]:dz}],[0,{[dm]:d7}],[0,{[dm]:d8}],[0,{[dm]:ps}],[0,{[dm]:pi}],[()=>pg,{[dm]:pt}],[0,{[dm]:pa}],[()=>pd,{[dm]:d9}],[()=>pc,{[dm]:pn}],[2,{[dm]:pe}],[0,{[dm]:d4}],[0,{[dm]:pu}],[0,{[dm]:d0}],[5,{[dm]:d1}],[0,{[dm]:dV}],[0,{[dm]:dG}],[0,{[dm]:dR}],[0,{[dm]:dQ}]]],pM=[3,pl,"CreateSessionOutput",{[dJ]:"CreateSessionResult"},[cW,c1,c0,hK,gc],[[0,{[dm]:d7}],[()=>pd,{[dm]:d9}],[()=>pc,{[dm]:pn}],[2,{[dm]:pe}],[()=>fq,{[dJ]:gc}]]],pR=[3,pl,"CreateSessionRequest",0,["SessionMode",hG,cW,c1,c0,hK],[[0,{[dm]:"x-amz-create-session-mode"}],[0,1],[0,{[dm]:d7}],[()=>pd,{[dm]:d9}],[()=>pc,{[dm]:pn}],[2,{[dm]:pe}]]],p_=[3,pl,"CSVInput",0,["FileHeaderInfo","Comments",cb,cY,gM,cS,"AllowQuotedRecordDelimiter"],[0,0,0,0,0,0,2]],pB=[3,pl,"CSVOutput",0,["QuoteFields",cb,cY,gM,cS],[0,0,0,0,0]],pX=[3,pl,gy,0,["Mode",gd,"Years"],[0,1,1]],pH=[3,pl,gf,0,[cX],[0]],pk=[3,pl,"DeleteObjectOutput",0,[gp,ds,cC],[[2,{[dm]:dI}],[0,{[dm]:pr}],[0,{[dm]:d2}]]],pF=[3,pl,"DeleteObjectRequest",0,[hG,"Key","MFA",ds,cN,"BypassGovernanceRetention",gT,gO,"IfMatchLastModifiedTime","IfMatchSize"],[[0,1],[0,1],[0,{[dm]:"x-amz-mfa"}],[0,{[db]:dN}],[0,{[dm]:d4}],[2,{[dm]:"x-amz-bypass-governance-retention"}],[0,{[dm]:dG}],[0,{[dm]:gK}],[6,{[dm]:"x-amz-if-match-last-modified-time"}],[1,{[dm]:"x-amz-if-match-size"}]]],pQ=[3,pl,gC,0,[hG,"Account",cQ,hH,gx,cM,g7],[0,0,0,()=>pS,()=>pO,()=>fO,()=>fp]],pI=[3,pl,gZ,0,[gY,"KMSKeyId","KMSContext"],[0,[()=>pd,0],0]],pO=[3,pl,gx,0,["ReplicaKmsKeyID"],[0]],pG=[-3,pl,"EncryptionTypeMismatch",{[dc]:dg,[df]:400},[],[]];hw.for(pl).registerError(pG,hP);var p$=[3,pl,gL,0,[cX],[0]],pK=[3,pl,gR,0,[g9,dr],[0,0]],pU=[3,pl,"GetObjectOutput",0,[hU,gp,hI,gw,c_,g1,h7,gD,hj,hq,hV,gu,go,gr,g8,ds,hz,h3,h4,h6,gt,gl,gJ,gE,dl,cW,g2,cz,cq,c1,hK,cQ,cC,cJ,cc,c8,co,cr,cu],[[()=>pp,16],[2,{[dm]:dI}],[0,{[dm]:dh}],[0,{[dm]:dO}],[0,{[dm]:d3}],[4,{[dm]:g3}],[1,{[dm]:h5}],[0,{[dm]:gD}],[0,{[dm]:d_}],[0,{[dm]:dB}],[0,{[dm]:dX}],[0,{[dm]:dk}],[0,{[dm]:dF}],[0,{[dm]:dQ}],[1,{[dm]:dj}],[0,{[dm]:pr}],[0,{[dm]:h0}],[0,{[dm]:h1}],[0,{[dm]:h2}],[0,{[dm]:h8}],[0,{[dm]:ga}],[0,{[dm]:gs}],[4,{[dm]:gJ}],[0,{[dm]:gE}],[0,{[dm]:ps}],[0,{[dm]:d7}],[128,{[dS]:dz}],[0,{[dm]:pi}],[0,{[dm]:pa}],[()=>pd,{[dm]:d9}],[2,{[dm]:pe}],[0,{[dm]:d8}],[0,{[dm]:d2}],[0,{[dm]:d6}],[1,{[dm]:dq}],[1,{[dm]:po}],[0,{[dm]:d0}],[5,{[dm]:d1}],[0,{[dm]:dV}]]],pW=[3,pl,"GetObjectRequest",0,[hG,gO,g$,gU,gj,"Key",cR,cw,cT,cx,cL,cE,cD,ds,cz,cj,cq,cN,cd,gT,gi],[[0,1],[0,{[dm]:gK}],[4,{[dm]:gG}],[0,{[dm]:gW}],[4,{[dm]:gq}],[0,1],[0,{[dm]:cR}],[0,{[db]:dT}],[0,{[db]:dx}],[0,{[db]:dL}],[0,{[db]:dE}],[0,{[db]:dY}],[6,{[db]:dD}],[0,{[db]:dN}],[0,{[dm]:pi}],[()=>pg,{[dm]:pt}],[0,{[dm]:pa}],[0,{[dm]:d4}],[1,{[db]:dw}],[0,{[dm]:dG}],[0,{[dm]:dH}]]],pz=[3,pl,gF,0,[gQ,cm],[[()=>pj,{[dP]:["xsi",dC]}],0]],pj=[3,pl,gQ,0,[gm,"EmailAddress","ID","URI",dt],[0,0,0,0,[0,{xmlAttribute:1,[dJ]:"xsi:type"}]]],pq=[3,pl,"HeadObjectOutput",0,[gp,hI,gw,c_,"ArchiveStatus",g1,h7,hj,hq,hV,gu,go,gr,gD,g8,ds,hz,h3,h4,h6,gl,gt,gJ,gE,dl,cW,g2,cz,cq,c1,hK,cQ,cC,cJ,cc,c8,co,cr,cu],[[2,{[dm]:dI}],[0,{[dm]:dh}],[0,{[dm]:dO}],[0,{[dm]:d3}],[0,{[dm]:"x-amz-archive-status"}],[4,{[dm]:g3}],[1,{[dm]:h5}],[0,{[dm]:d_}],[0,{[dm]:dB}],[0,{[dm]:dX}],[0,{[dm]:dk}],[0,{[dm]:dF}],[0,{[dm]:dQ}],[0,{[dm]:gD}],[1,{[dm]:dj}],[0,{[dm]:pr}],[0,{[dm]:h0}],[0,{[dm]:h1}],[0,{[dm]:h2}],[0,{[dm]:h8}],[0,{[dm]:gs}],[0,{[dm]:ga}],[4,{[dm]:gJ}],[0,{[dm]:gE}],[0,{[dm]:ps}],[0,{[dm]:d7}],[128,{[dS]:dz}],[0,{[dm]:pi}],[0,{[dm]:pa}],[()=>pd,{[dm]:d9}],[2,{[dm]:pe}],[0,{[dm]:d8}],[0,{[dm]:d2}],[0,{[dm]:d6}],[1,{[dm]:dq}],[1,{[dm]:po}],[0,{[dm]:d0}],[5,{[dm]:d1}],[0,{[dm]:dV}]]],pV=[3,pl,"HeadObjectRequest",0,[hG,gO,g$,gU,gj,"Key",cR,cw,cT,cx,cL,cE,cD,ds,cz,cj,cq,cN,cd,gT,gi],[[0,1],[0,{[dm]:gK}],[4,{[dm]:gG}],[0,{[dm]:gW}],[4,{[dm]:gq}],[0,1],[0,{[dm]:cR}],[0,{[db]:dT}],[0,{[db]:dx}],[0,{[db]:dL}],[0,{[db]:dE}],[0,{[db]:dY}],[6,{[db]:dD}],[0,{[db]:dN}],[0,{[dm]:pi}],[()=>pg,{[dm]:pt}],[0,{[dm]:pa}],[0,{[dm]:d4}],[1,{[db]:dw}],[0,{[dm]:dG}],[0,{[dm]:dH}]]],p0=[-3,pl,"IdempotencyParameterMismatch",{[dc]:dg,[df]:400},[],[]];hw.for(pl).registerError(p0,hB);var p1=[3,pl,gV,0,["ID",gm],[0,0]],p3=[3,pl,gz,0,["CSV","CompressionType",g0,"Parquet"],[()=>p_,0,()=>ft,()=>fA]],p2=[3,pl,"IntelligentTieringAndOperator",0,[cg,c6],[0,[()=>mf,{[dA]:1,[dJ]:"Tag"}]]],p4=[3,pl,"IntelligentTieringFilter",0,[cg,"Tag","And"],[0,()=>f8,[()=>p2,0]]],p6=[-3,pl,"InvalidObjectState",{[dc]:dg,[df]:403},[cQ,hO],[0,0]];hw.for(pl).registerError(p6,hN);var p8=[-3,pl,"InvalidRequest",{[dc]:dg,[df]:400},[],[]];hw.for(pl).registerError(p8,hM);var p5=[-3,pl,"InvalidWriteOffset",{[dc]:dg,[df]:400},[],[]];hw.for(pl).registerError(p5,hR);var p7=[3,pl,"InventoryDestination",0,[cF],[[()=>fn,0]]],p9=[3,pl,"InventoryEncryption",0,[c3,cV],[[()=>f2,{[dJ]:cK}],[()=>f1,{[dJ]:cO}]]],fe=[3,pl,"InventoryFilter",0,[cg],[0]],fn=[3,pl,"InventoryS3BucketDestination",0,["AccountId",hG,g_,cg,gZ],[0,0,0,0,[()=>p9,0]]],fi=[3,pl,"InventorySchedule",0,["Frequency"],[0]],ft=[3,pl,"JSONInput",0,[dt],[0]],fa=[3,pl,"JSONOutput",0,[cY],[0]],fu=[3,pl,"LambdaFunctionConfiguration",0,["Id","LambdaFunctionArn",gN,gP],[0,[0,{[dJ]:"CloudFunction"}],[64,{[dA]:1,[dJ]:gA}],[()=>fT,0]]],fo=[3,pl,"LifecycleExpiration",0,[gS,gd,"ExpiredObjectDeleteMarker"],[5,1,2]],fr=[3,pl,"LifecycleRule",0,[gw,"ID",cg,gP,cX,"Transitions","NoncurrentVersionTransitions",ci,hk],[()=>fo,0,0,[()=>fl,0],0,[()=>my,{[dA]:1,[dJ]:di}],[()=>md,{[dA]:1,[dJ]:ct}],()=>fm,()=>pf]],fs=[3,pl,"LifecycleRuleAndOperator",0,[cg,c6,cs,cl],[0,[()=>mf,{[dA]:1,[dJ]:"Tag"}],1,1]],fl=[3,pl,"LifecycleRuleFilter",0,[cg,"Tag",cs,cl,"And"],[0,()=>f8,1,1,[()=>fs,0]]],fh=[3,pl,"ListObjectsV2Output",{[dJ]:"ListBucketResult"},["IsTruncated","Contents",g9,cg,gb,g6,"CommonPrefixes",gv,"KeyCount",gh,"NextContinuationToken",cH,cC],[2,[()=>mp,{[dA]:1}],0,0,0,1,[()=>mr,{[dA]:1}],0,1,0,0,0,[0,{[dm]:d2}]]],fg=[3,pl,"ListObjectsV2Request",0,[hG,gb,gv,g6,cg,gh,"FetchOwner",cH,cN,gT,"OptionalObjectAttributes"],[[0,1],[0,{[db]:"delimiter"}],[0,{[db]:"encoding-type"}],[1,{[db]:"max-keys"}],[0,{[db]:"prefix"}],[0,{[db]:"continuation-token"}],[2,{[db]:"fetch-owner"}],[0,{[db]:"start-after"}],[0,{[dm]:d4}],[0,{[dm]:dG}],[64,{[dm]:"x-amz-optional-object-attributes"}]]],fc=[3,pl,g4,0,[g9,dr],[0,0]],fd=[3,pl,"MetadataTableEncryptionConfiguration",0,["SseAlgorithm","KmsKeyArn"],[0,0]],fp=[3,pl,g7,0,[cX,"EventThreshold"],[0,()=>fG]],ff=[3,pl,"MetricsAndOperator",0,[cg,c6,hQ],[0,[()=>mf,{[dA]:1,[dJ]:"Tag"}],0]],fm=[3,pl,ci,0,[ce,cn],[1,1]],fy=[3,pl,ct,0,[ce,cQ,cn],[1,0,1]],fS=[-3,pl,"NoSuchBucket",{[dc]:dg,[df]:404},[],[]];hw.for(pl).registerError(fS,hZ);var fb=[-3,pl,"NoSuchKey",{[dc]:dg,[df]:404},[],[]];hw.for(pl).registerError(fb,hA);var fC=[-3,pl,"NoSuchUpload",{[dc]:dg,[df]:404},[],[]];hw.for(pl).registerError(fC,hE);var fw=[-3,pl,"NotFound",{[dc]:dg},[],[]];hw.for(pl).registerError(fw,hJ);var fT=[3,pl,"NotificationConfigurationFilter",0,["Key"],[[()=>fU,{[dJ]:"S3Key"}]]],fx=[3,pl,"Object",0,["Key",g1,gD,hW,gr,c4,cQ,ca,cP],[0,4,0,[64,{[dA]:1}],0,1,0,()=>fZ,()=>f$]],fL=[-3,pl,"ObjectAlreadyInActiveTierError",{[dc]:dg,[df]:403},[],[]];hw.for(pl).registerError(fL,hX);var fE=[3,pl,"ObjectIdentifier",0,["Key",ds,gD,"LastModifiedTime",c4],[0,0,0,6,1]],fY=[-3,pl,"ObjectNotInActiveTierError",{[dc]:dg,[df]:403},[],[]];hw.for(pl).registerError(fY,hY);var fD=[3,pl,"ObjectPart",0,[cd,c4,hj,hq,hV,gu,go],[1,1,0,0,0,0,0]],fv=[3,pl,ch,0,["CSV",g0],[()=>pB,()=>fa]],fZ=[3,pl,ca,0,[gm,"ID"],[0,0]],fN=[3,pl,"OwnershipControlsRule",0,["ObjectOwnership"],[0]],fA=[3,pl,"ParquetInput",0,[],[]],fJ=[3,pl,cp,{[dJ]:cp},["PartitionDateSource"],[0]],fP=[3,pl,"PutObjectOutput",0,[gw,gD,hj,hq,hV,gu,go,gr,cW,ds,cz,cq,c1,c0,hK,c4,cC],[[0,{[dm]:dO}],[0,{[dm]:gD}],[0,{[dm]:d_}],[0,{[dm]:dB}],[0,{[dm]:dX}],[0,{[dm]:dk}],[0,{[dm]:dF}],[0,{[dm]:dQ}],[0,{[dm]:d7}],[0,{[dm]:pr}],[0,{[dm]:pi}],[0,{[dm]:pa}],[()=>pd,{[dm]:d9}],[()=>pc,{[dm]:pn}],[2,{[dm]:pe}],[1,{[dm]:"x-amz-object-size"}],[0,{[dm]:d2}]]],fM=[3,pl,"PutObjectRequest",0,["ACL",hU,hG,hz,h3,h4,h6,h7,ge,gl,hW,hj,hq,hV,gu,go,gJ,gO,gU,gB,gX,gH,gk,"Key","WriteOffsetBytes",g2,cW,cQ,dl,cz,cj,cq,c1,c0,hK,cN,de,co,cr,cu,gT],[[0,{[dm]:dM}],[()=>pp,16],[0,1],[0,{[dm]:h0}],[0,{[dm]:h1}],[0,{[dm]:h2}],[0,{[dm]:h8}],[1,{[dm]:h5}],[0,{[dm]:h9}],[0,{[dm]:gs}],[0,{[dm]:d5}],[0,{[dm]:d_}],[0,{[dm]:dB}],[0,{[dm]:dX}],[0,{[dm]:dk}],[0,{[dm]:dF}],[4,{[dm]:gJ}],[0,{[dm]:gK}],[0,{[dm]:gW}],[0,{[dm]:d$}],[0,{[dm]:dK}],[0,{[dm]:dU}],[0,{[dm]:dW}],[0,1],[1,{[dm]:"x-amz-write-offset-bytes"}],[128,{[dS]:dz}],[0,{[dm]:d7}],[0,{[dm]:d8}],[0,{[dm]:ps}],[0,{[dm]:pi}],[()=>pg,{[dm]:pt}],[0,{[dm]:pa}],[()=>pd,{[dm]:d9}],[()=>pc,{[dm]:pn}],[2,{[dm]:pe}],[0,{[dm]:d4}],[0,{[dm]:pu}],[0,{[dm]:d0}],[5,{[dm]:d1}],[0,{[dm]:dV}],[0,{[dm]:dG}]]],fR=[3,pl,"PutObjectTaggingOutput",0,[ds],[[0,{[dm]:pr}]]],f_=[3,pl,"PutObjectTaggingRequest",0,[hG,"Key",ds,ge,hW,de,gT,cN],[[0,1],[0,1],[0,{[db]:dN}],[0,{[dm]:h9}],[0,{[dm]:d5}],[()=>f5,{[dy]:1,[dJ]:de}],[0,{[dm]:dG}],[0,{[dm]:d4}]]],fB=[3,pl,"QueueConfiguration",0,["Id","QueueArn",gN,gP],[0,[0,{[dJ]:"Queue"}],[64,{[dA]:1,[dJ]:gA}],[()=>fT,0]]],fX=[3,pl,cv,0,[gw,gd],[0,1]],fH=[3,pl,cB,0,[gI,"HttpRedirectCode",cy,"ReplaceKeyPrefixWith","ReplaceKeyWith"],[0,0,0,0,0]],fk=[3,pl,cZ,0,[cX],[0]],fF=[3,pl,"ReplicationRule",0,["ID","Priority",cg,gP,cX,cU,gL,gC,gf],[0,1,0,[()=>fI,0],0,()=>f0,()=>p$,()=>pQ,()=>pH]],fQ=[3,pl,"ReplicationRuleAndOperator",0,[cg,c6],[0,[()=>mf,{[dA]:1,[dJ]:"Tag"}]]],fI=[3,pl,"ReplicationRuleFilter",0,[cg,"Tag","And"],[0,()=>f8,[()=>fQ,0]]],fO=[3,pl,cM,0,[cX,"Time"],[0,()=>fG]],fG=[3,pl,"ReplicationTimeValue",0,["Minutes"],[1]],f$=[3,pl,cP,0,["IsRestoreInProgress","RestoreExpiryDate"],[2,4]],fK=[3,pl,cA,0,[gg,cB],[()=>pN,()=>fH]],fU=[3,pl,"S3KeyFilter",0,["FilterRules"],[[()=>mh,{[dA]:1,[dJ]:gR}]]],fW=[3,pl,"S3Location",0,["BucketName",cg,gZ,"CannedACL","AccessControlList",de,du,cQ],[0,0,[()=>pI,0],0,[()=>mg,0],[()=>f5,0],[()=>mS,0],0]],fz=[3,pl,"ServerSideEncryptionByDefault",0,["SSEAlgorithm","KMSMasterKeyID"],[0,[()=>pd,0]]],fj=[3,pl,"ServerSideEncryptionRule",0,["ApplyServerSideEncryptionByDefault",hK,h$],[[()=>fz,0],2,[()=>pT,0]]],fq=[3,pl,"SessionCredentials",0,[hF,ck,c2,gw],[[0,{[dJ]:hF}],[()=>ph,{[dJ]:ck}],[()=>ph,{[dJ]:c2}],[4,{[dJ]:gw}]]],fV=[3,pl,c$,{[dJ]:c$},[],[]],f0=[3,pl,cU,0,[cG,cZ],[()=>f3,()=>fk]],f1=[3,pl,cV,{[dJ]:cO},["KeyId"],[[()=>pd,0]]],f3=[3,pl,cG,0,[cX],[0]],f2=[3,pl,c3,{[dJ]:cK},[],[]],f4=[3,pl,cI,0,["DataExport"],[()=>f6]],f6=[3,pl,"StorageClassAnalysisDataExport",0,["OutputSchemaVersion",gC],[0,()=>pC]],f8=[3,pl,"Tag",0,["Key",dr],[0,0]],f5=[3,pl,de,0,[c9],[[()=>mf,0]]],f7=[3,pl,"TargetGrant",0,[gQ,cm],[[()=>pj,{[dP]:["xsi",dC]}],0]],f9=[3,pl,c7,0,[c$,cp],[[()=>fV,{[dJ]:c$}],[()=>fJ,{[dJ]:cp}]]],me=[3,pl,dn,0,[gd,hO],[1,0]],mn=[-3,pl,"TooManyParts",{[dc]:dg,[df]:400},[],[]];hw.for(pl).registerError(mn,h_);var mi=[3,pl,"TopicConfiguration",0,["Id","TopicArn",gN,gP],[0,[0,{[dJ]:"Topic"}],[64,{[dA]:1,[dJ]:gA}],[()=>fT,0]]],mt=[3,pl,di,0,[gS,gd,cQ],[5,1,0]],ma=[3,pl,"UploadPartOutput",0,[cW,gD,hj,hq,hV,gu,go,cz,cq,c1,hK,cC],[[0,{[dm]:d7}],[0,{[dm]:gD}],[0,{[dm]:d_}],[0,{[dm]:dB}],[0,{[dm]:dX}],[0,{[dm]:dk}],[0,{[dm]:dF}],[0,{[dm]:pi}],[0,{[dm]:pa}],[()=>pd,{[dm]:d9}],[2,{[dm]:pe}],[0,{[dm]:d2}]]],mu=[3,pl,"UploadPartRequest",0,[hU,hG,h7,ge,hW,hj,hq,hV,gu,go,"Key",cd,da,cz,cj,cq,cN,gT],[[()=>pp,16],[0,1],[1,{[dm]:h5}],[0,{[dm]:h9}],[0,{[dm]:d5}],[0,{[dm]:d_}],[0,{[dm]:dB}],[0,{[dm]:dX}],[0,{[dm]:dk}],[0,{[dm]:dF}],[0,1],[1,{[db]:dw}],[0,{[db]:dZ}],[0,{[dm]:pi}],[()=>pg,{[dm]:pt}],[0,{[dm]:pa}],[0,{[dm]:d4}],[0,{[dm]:dG}]]],mo=[-3,dv,"S3ServiceException",0,[],[]];hw.for(dv).registerError(mo,hL);var mr=[1,pl,"CommonPrefixList",0,()=>pE],ms=[1,pl,"CompletedPartList",0,()=>pD],ml=[1,pl,"EncryptionTypeList",0,[0,{[dJ]:gY}]],mh=[1,pl,"FilterRuleList",0,()=>pK],mg=[1,pl,"Grants",0,[()=>pz,{[dJ]:gF}]],mc=[1,pl,"InventoryOptionalFields",0,[0,{[dJ]:"Field"}]],md=[1,pl,"NoncurrentVersionTransitionList",0,()=>fy],mp=[1,pl,"ObjectList",0,[()=>fx,0]],mf=[1,pl,c9,0,[()=>f8,{[dJ]:"Tag"}]],mm=[1,pl,c5,0,[()=>f7,{[dJ]:gF}]],my=[1,pl,"TransitionList",0,()=>mt],mS=[1,pl,du,0,[()=>fc,{[dJ]:g4}]],mb=[4,pl,"AnalyticsFilter",0,[cg,"Tag","And"],[0,()=>f8,[()=>pb,0]]],mC=[4,pl,"MetricsFilter",0,[cg,"Tag",hQ,"And"],[0,()=>f8,0,[()=>ff,0]]],mw=[9,pl,"AbortMultipartUpload",{[dd]:["DELETE","/{Key+}?x-id=AbortMultipartUpload",204]},()=>py,()=>pm],mT=[9,pl,gn,{[dd]:["POST","/{Key+}",200]},()=>pZ,()=>pv],mx=[9,pl,"CreateMultipartUpload",{[dd]:["POST","/{Key+}?uploads",200]},()=>pP,()=>pJ],mL=[9,pl,"CreateSession",{[dd]:["GET","/?session",200]},()=>pR,()=>pM],mE=[9,pl,"DeleteObject",{[dd]:["DELETE","/{Key+}?x-id=DeleteObject",204]},()=>pF,()=>pk],mY=[9,pl,"GetObject",{[dp]:"-",[dd]:["GET","/{Key+}?x-id=GetObject",200]},()=>pW,()=>pU],mD=[9,pl,"HeadObject",{[dd]:["HEAD","/{Key+}",200]},()=>pV,()=>pq],mv=[9,pl,"ListObjectsV2",{[dd]:["GET","/?list-type=2",200]},()=>fg,()=>fh],mZ=[9,pl,"PutObject",{[dp]:"-",[dd]:["PUT","/{Key+}?x-id=PutObject",200]},()=>fM,()=>fP],mN=[9,pl,"PutObjectTagging",{[dp]:"-",[dd]:["PUT","/{Key+}?tagging",200]},()=>f_,()=>fR],mA=[9,pl,"UploadPart",{[dp]:"-",[dd]:["PUT","/{Key+}?x-id=UploadPart",200]},()=>mu,()=>ma];class mJ extends hS.classBuilder().ep({...hC,DisableS3ExpressSessionAuth:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function(e,n,i,t){return[hl(i,e.getEndpointParameterInstructions()),hr(i)]}).s("AmazonS3","CreateSession",{}).n("S3Client","CreateSessionCommand").sc(mL).build(){}let mP={warningEmitted:!1},mM=e=>{e&&!mP.warningEmitted&&20>parseInt(e.substring(1,e.indexOf(".")))&&(mP.warningEmitted=!0,process.emitWarning(`NodeDeprecationWarning: The AWS SDK for JavaScript (v3) will
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 av extends aD{headerFormatter=new aL;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={}}=nj.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[ag]=h.sessionToken),f.query["X-Amz-Algorithm"]=aT,f.query["X-Amz-Credential"]=`${h.accessKeyId}/${p}`,f.query[al]=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[ah]=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[ad]=l,o.sessionToken&&(s.headers[ay]=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})(am,s.headers)&&this.applyChecksum&&(s.headers[am]=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]=`${aT} 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,aT),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||av)(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||av)(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 aA={environmentVariableSelector(e){if(e.AWS_SIGV4A_SIGNING_REGION_SET)return e.AWS_SIGV4A_SIGNING_REGION_SET.split(",").map(e=>e.trim());throw new tk("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 tk("sigv4a_signing_region_set not set in profile.",{tryNextLink:!0})},default:void 0};class aN extends av{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[tg]=i.sessionToken,e.query=e.query??{},e.query[tg]=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 aP{sigv4aSigner;sigv4Signer;signerOptions;static sigv4aDependency(){return"none"}constructor(e){this.sigv4Signer=new aN(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},aZ=/^[a-z0-9][a-z0-9\.\-]{1,61}[a-z0-9]$/,aR=/(\d+\.){3}\d+/,aM=/\.\./,isDnsCompatibleBucketName=e=>aZ.test(e)&&!aR.test(e)&&!aM.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 aJ{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 ak="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 aB 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 aB(`Path: '${e}' does not end with ']'`);let a=t.slice(i+1,-1);if(Number.isNaN(parseInt(a)))throw new aB(`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 aB(`Index '${t}' in '${i}' not found in '${JSON.stringify(e)}'`);return Array.isArray(n)?n[parseInt(t)]:n[t]},e);($=el||(el={})).HTTP="http",$.HTTPS="https";let aH={[el.HTTP]:80,[el.HTTPS]:443},aF={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(el).includes(s))return null;let l=isIpAddress(a),h=n.includes(`${t}:${aH[s]}`)||"string"==typeof e&&e.includes(`${t}:${aH[s]}`),g=`${t}${h?`:${aH[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 aX.callFunction(e,n);if(e.ref)return(({ref:e},i)=>({...i.endpointParams,...i.referenceRecord})[e])(e,n);throw new aB(`'${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:aX.evaluateExpression(e,"arg",n)),a=e.split(".");return a[0]in tS&&null!=a[1]?tS[a[0]][a[1]](...t):aF[e](...t)},aX={evaluateExpression:evaluateExpression,callFunction:callFunction},evaluateCondition=({assign:e,...i},n)=>{if(e&&e in n.referenceRecord)throw new aB(`'${e}' is already defined in Reference Record.`);let t=callFunction(i,n);return n.logger?.debug?.(`${ak} 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?.(`${ak} assign: ${a.name} := ${toDebugString(a.value)}`))}return{result:!0,referenceRecord:n}},getEndpointProperties=(e,i)=>Object.entries(e).reduce((e,[n,t])=>({...e,[n]:aI.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 aB(`Unexpected endpoint property: ${e}`);return aI.getEndpointProperties(e,i);case"boolean":return e;default:throw new aB(`Unexpected endpoint property type: ${typeof e}`)}},aI={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?.(`${ak} 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 aB(`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 aB(`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 aB(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=aO.evaluateTreeRule(n,i);if(e)return e}else throw new aB(`Unknown endpoint rule: ${n}`);throw new aB("Rules evaluation failed")},aO={evaluateRules:evaluateRules,evaluateTreeRule:(e,i)=>{let{conditions:n,rules:t}=e,{result:a,referenceRecord:r}=evaluateConditions(n,i);if(a)return aO.evaluateRules(t,{...i,referenceRecord:{...i.referenceRecord,...r}})}},resolveEndpoint=(e,i)=>{let{endpointParams:n,logger:t}=i,{parameters:a,rules:r}=e;i.logger?.debug?.(`${ak} 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 aB(`Missing required parameter: '${e}'`);let u=evaluateRules(r,{endpointParams:n,logger:t,referenceRecord:{}});return i.logger?.debug?.(`${ak} Resolved endpoint: ${toDebugString(u)}`),u},aQ="required",aG="type",aU="rules",aq="conditions",aK="argv",a$="assign",az="properties",aW="backend",aj="authSchemes",aV="disableDoubleEncoding",a0="signingName",a1="signingRegion",a3="headers",a2="signingRegionSet",a4="isSet",a8="booleanEquals",a6="error",a5="aws.partition",a7="stringEquals",a9="getAttr",re="name",ri="substring",rn="bucketSuffix",rt="parseURL",ra="endpoint",rr="tree",ro="aws.isVirtualHostableS3Bucket",ru="{url#scheme}://{Bucket}.{url#authority}{url#path}",rs="accessPointSuffix",rl="{url#scheme}://{url#authority}{url#path}",rh="hardwareType",rg="regionPrefix",rc="bucketAliasSuffix",rd="outpostId",rp="isValidHostLabel",rf="sigv4a",rm="s3-outposts",ry="{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}",rS="https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}",rb="https://{Bucket}.s3.{partitionResult#dnsSuffix}",rC="aws.parseArn",rT="bucketArn",rw="arnType",rx="s3-object-lambda",rE="accesspoint",rL="accessPointName",r_="{url#scheme}://{accessPointName}-{bucketArn#accountId}.{url#authority}{url#path}",rY="mrapPartition",rD="outpostType",rv="arnPrefix",rA="{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}",rN="https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",rP="https://s3.{partitionResult#dnsSuffix}",rZ={[aQ]:!1,[aG]:"string"},rR={[aQ]:!0,default:!1,[aG]:"boolean"},rM={[aQ]:!1,[aG]:"boolean"},rJ={fn:a8,[aK]:[{ref:"Accelerate"},!0]},rk={fn:a8,[aK]:[{ref:"UseFIPS"},!0]},rB={fn:a8,[aK]:[{ref:"UseDualStack"},!0]},rH={fn:a4,[aK]:[{ref:"Endpoint"}]},rF={fn:a5,[aK]:[{ref:"Region"}],[a$]:"partitionResult"},rX={fn:a7,[aK]:[{fn:a9,[aK]:[{ref:"partitionResult"},re]},"aws-cn"]},rI={fn:a4,[aK]:[{ref:"Bucket"}]},rO={ref:"Bucket"},rQ={[aq]:[rJ],[a6]:"S3Express does not support S3 Accelerate.",[aG]:a6},rG={[aq]:[rH,{fn:rt,[aK]:[{ref:"Endpoint"}],[a$]:"url"}],[aU]:[{[aq]:[{fn:a4,[aK]:[{ref:"DisableS3ExpressSessionAuth"}]},{fn:a8,[aK]:[{ref:"DisableS3ExpressSessionAuth"},!0]}],[aU]:[{[aq]:[{fn:a8,[aK]:[{fn:a9,[aK]:[{ref:"url"},"isIp"]},!0]}],[aU]:[{[aq]:[{fn:"uriEncode",[aK]:[rO],[a$]:"uri_encoded_bucket"}],[aU]:[{[ra]:{url:"{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}",[az]:{[aW]:"S3Express",[aj]:[{[aV]:!0,[re]:"sigv4",[a0]:"s3express",[a1]:"{Region}"}]},[a3]:{}},[aG]:ra}],[aG]:rr}],[aG]:rr},{[aq]:[{fn:ro,[aK]:[rO,!1]}],[aU]:[{[ra]:{url:ru,[az]:{[aW]:"S3Express",[aj]:[{[aV]:!0,[re]:"sigv4",[a0]:"s3express",[a1]:"{Region}"}]},[a3]:{}},[aG]:ra}],[aG]:rr},{[a6]:"S3Express bucket name is not a valid virtual hostable name.",[aG]:a6}],[aG]:rr},{[aq]:[{fn:a8,[aK]:[{fn:a9,[aK]:[{ref:"url"},"isIp"]},!0]}],[aU]:[{[aq]:[{fn:"uriEncode",[aK]:[rO],[a$]:"uri_encoded_bucket"}],[aU]:[{[ra]:{url:"{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}",[az]:{[aW]:"S3Express",[aj]:[{[aV]:!0,[re]:"sigv4-s3express",[a0]:"s3express",[a1]:"{Region}"}]},[a3]:{}},[aG]:ra}],[aG]:rr}],[aG]:rr},{[aq]:[{fn:ro,[aK]:[rO,!1]}],[aU]:[{[ra]:{url:ru,[az]:{[aW]:"S3Express",[aj]:[{[aV]:!0,[re]:"sigv4-s3express",[a0]:"s3express",[a1]:"{Region}"}]},[a3]:{}},[aG]:ra}],[aG]:rr},{[a6]:"S3Express bucket name is not a valid virtual hostable name.",[aG]:a6}],[aG]:rr},rU={fn:rt,[aK]:[{ref:"Endpoint"}],[a$]:"url"},rq={fn:a8,[aK]:[{fn:a9,[aK]:[{ref:"url"},"isIp"]},!0]},rK={ref:"url"},r$={fn:"uriEncode",[aK]:[rO],[a$]:"uri_encoded_bucket"},rz={[aW]:"S3Express",[aj]:[{[aV]:!0,[re]:"sigv4",[a0]:"s3express",[a1]:"{Region}"}]},rW={},rj={fn:ro,[aK]:[rO,!1]},rV={[a6]:"S3Express bucket name is not a valid virtual hostable name.",[aG]:a6},r0={fn:a4,[aK]:[{ref:"UseS3ExpressControlEndpoint"}]},r1={fn:a8,[aK]:[{ref:"UseS3ExpressControlEndpoint"},!0]},r3={fn:"not",[aK]:[rH]},r2={fn:a8,[aK]:[{ref:"UseDualStack"},!1]},r4={fn:a8,[aK]:[{ref:"UseFIPS"},!1]},r8={[a6]:"Unrecognized S3Express bucket name format.",[aG]:a6},r6={fn:"not",[aK]:[rI]},r5={ref:rh},r7={[aq]:[r3],[a6]:"Expected a endpoint to be specified but no endpoint was found",[aG]:a6},r9={[aj]:[{[aV]:!0,[re]:rf,[a0]:rm,[a2]:["*"]},{[aV]:!0,[re]:"sigv4",[a0]:rm,[a1]:"{Region}"}]},oe={fn:a8,[aK]:[{ref:"ForcePathStyle"},!1]},oi={fn:a8,[aK]:[{ref:"Accelerate"},!1]},on={fn:a7,[aK]:[{ref:"Region"},"aws-global"]},ot={[aj]:[{[aV]:!0,[re]:"sigv4",[a0]:"s3",[a1]:"us-east-1"}]},oa={fn:"not",[aK]:[on]},oo={fn:a8,[aK]:[{ref:"UseGlobalEndpoint"},!0]},ou={url:"https://{Bucket}.s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",[az]:{[aj]:[{[aV]:!0,[re]:"sigv4",[a0]:"s3",[a1]:"{Region}"}]},[a3]:{}},os={[aj]:[{[aV]:!0,[re]:"sigv4",[a0]:"s3",[a1]:"{Region}"}]},ol={fn:a8,[aK]:[{ref:"UseGlobalEndpoint"},!1]},oh={url:"https://{Bucket}.s3-fips.{Region}.{partitionResult#dnsSuffix}",[az]:os,[a3]:{}},og={url:"https://{Bucket}.s3-accelerate.dualstack.{partitionResult#dnsSuffix}",[az]:os,[a3]:{}},oc={url:"https://{Bucket}.s3.dualstack.{Region}.{partitionResult#dnsSuffix}",[az]:os,[a3]:{}},od={fn:a8,[aK]:[{fn:a9,[aK]:[rK,"isIp"]},!1]},op={url:ry,[az]:os,[a3]:{}},of={url:ru,[az]:os,[a3]:{}},om={[ra]:of,[aG]:ra},oy={url:rS,[az]:os,[a3]:{}},oS={url:"https://{Bucket}.s3.{Region}.{partitionResult#dnsSuffix}",[az]:os,[a3]:{}},ob={[a6]:"Invalid region: region was not a valid DNS name.",[aG]:a6},oC={ref:rT},oT={ref:rw},ow={fn:a9,[aK]:[oC,"service"]},ox={ref:rL},oE={[aq]:[rB],[a6]:"S3 Object Lambda does not support Dual-stack",[aG]:a6},oL={[aq]:[rJ],[a6]:"S3 Object Lambda does not support S3 Accelerate",[aG]:a6},o_={[aq]:[{fn:a4,[aK]:[{ref:"DisableAccessPoints"}]},{fn:a8,[aK]:[{ref:"DisableAccessPoints"},!0]}],[a6]:"Access points are not supported for this operation",[aG]:a6},oY={[aq]:[{fn:a4,[aK]:[{ref:"UseArnRegion"}]},{fn:a8,[aK]:[{ref:"UseArnRegion"},!1]},{fn:"not",[aK]:[{fn:a7,[aK]:[{fn:a9,[aK]:[oC,"region"]},"{Region}"]}]}],[a6]:"Invalid configuration: region from ARN `{bucketArn#region}` does not match client region `{Region}` and UseArnRegion is `false`",[aG]:a6},oD={fn:a9,[aK]:[{ref:"bucketPartition"},re]},ov={fn:a9,[aK]:[oC,"accountId"]},oA={[aj]:[{[aV]:!0,[re]:"sigv4",[a0]:rx,[a1]:"{bucketArn#region}"}]},oN={[a6]:"Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `{accessPointName}`",[aG]:a6},oP={[a6]:"Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `{bucketArn#accountId}`",[aG]:a6},oZ={[a6]:"Invalid region in ARN: `{bucketArn#region}` (invalid DNS name)",[aG]:a6},oR={[a6]:"Client was configured for partition `{partitionResult#name}` but ARN (`{Bucket}`) has `{bucketPartition#name}`",[aG]:a6},oM={[a6]:"Invalid ARN: The ARN may only contain a single resource component after `accesspoint`.",[aG]:a6},oJ={[a6]:"Invalid ARN: Expected a resource of the format `accesspoint:<accesspoint name>` but no name was provided",[aG]:a6},ok={[aj]:[{[aV]:!0,[re]:"sigv4",[a0]:"s3",[a1]:"{bucketArn#region}"}]},oB={[aj]:[{[aV]:!0,[re]:rf,[a0]:rm,[a2]:["*"]},{[aV]:!0,[re]:"sigv4",[a0]:rm,[a1]:"{bucketArn#region}"}]},oH={fn:rC,[aK]:[rO]},oF={url:"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[az]:os,[a3]:{}},oX={url:"https://s3-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[az]:os,[a3]:{}},oI={url:"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[az]:os,[a3]:{}},oO={url:rA,[az]:os,[a3]:{}},oQ={url:"https://s3.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[az]:os,[a3]:{}},oG={ref:"UseObjectLambdaEndpoint"},oU={[aj]:[{[aV]:!0,[re]:"sigv4",[a0]:rx,[a1]:"{Region}"}]},oq={url:"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",[az]:os,[a3]:{}},oK={url:"https://s3-fips.{Region}.{partitionResult#dnsSuffix}",[az]:os,[a3]:{}},o$={url:"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}",[az]:os,[a3]:{}},oz={url:rl,[az]:os,[a3]:{}},oW={url:"https://s3.{Region}.{partitionResult#dnsSuffix}",[az]:os,[a3]:{}},oj=[{ref:"Region"}],oV=[rJ],o0=[rH,rU],o1=[{fn:a4,[aK]:[{ref:"DisableS3ExpressSessionAuth"}]},{fn:a8,[aK]:[{ref:"DisableS3ExpressSessionAuth"},!0]}],o3=[rj],o2=[rF],o4=[rk,rB],o8=[rk,r2],o6=[r4,rB],o5=[r4,r2],o7=[{fn:ri,[aK]:[rO,6,14,!0],[a$]:"s3expressAvailabilityZoneId"},{fn:ri,[aK]:[rO,14,16,!0],[a$]:"s3expressAvailabilityZoneDelim"},{fn:a7,[aK]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],o9=[{[aq]:[rk,rB],[ra]:{url:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}",[az]:rz,[a3]:{}},[aG]:ra},{[aq]:o8,[ra]:{url:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}",[az]:rz,[a3]:{}},[aG]:ra},{[aq]:o6,[ra]:{url:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}",[az]:rz,[a3]:{}},[aG]:ra},{[aq]:o5,[ra]:{url:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}",[az]:rz,[a3]:{}},[aG]:ra}],ue=[{fn:ri,[aK]:[rO,6,15,!0],[a$]:"s3expressAvailabilityZoneId"},{fn:ri,[aK]:[rO,15,17,!0],[a$]:"s3expressAvailabilityZoneDelim"},{fn:a7,[aK]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],ui=[{fn:ri,[aK]:[rO,6,19,!0],[a$]:"s3expressAvailabilityZoneId"},{fn:ri,[aK]:[rO,19,21,!0],[a$]:"s3expressAvailabilityZoneDelim"},{fn:a7,[aK]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],un=[{fn:ri,[aK]:[rO,6,20,!0],[a$]:"s3expressAvailabilityZoneId"},{fn:ri,[aK]:[rO,20,22,!0],[a$]:"s3expressAvailabilityZoneDelim"},{fn:a7,[aK]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],ut=[{fn:ri,[aK]:[rO,6,26,!0],[a$]:"s3expressAvailabilityZoneId"},{fn:ri,[aK]:[rO,26,28,!0],[a$]:"s3expressAvailabilityZoneDelim"},{fn:a7,[aK]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],ua=[{[aq]:[rk,rB],[ra]:{url:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}",[az]:{[aW]:"S3Express",[aj]:[{[aV]:!0,[re]:"sigv4-s3express",[a0]:"s3express",[a1]:"{Region}"}]},[a3]:{}},[aG]:ra},{[aq]:o8,[ra]:{url:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}",[az]:{[aW]:"S3Express",[aj]:[{[aV]:!0,[re]:"sigv4-s3express",[a0]:"s3express",[a1]:"{Region}"}]},[a3]:{}},[aG]:ra},{[aq]:o6,[ra]:{url:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}",[az]:{[aW]:"S3Express",[aj]:[{[aV]:!0,[re]:"sigv4-s3express",[a0]:"s3express",[a1]:"{Region}"}]},[a3]:{}},[aG]:ra},{[aq]:o5,[ra]:{url:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}",[az]:{[aW]:"S3Express",[aj]:[{[aV]:!0,[re]:"sigv4-s3express",[a0]:"s3express",[a1]:"{Region}"}]},[a3]:{}},[aG]:ra}],ur=[rO,0,7,!0],uo=[{fn:ri,[aK]:[rO,7,15,!0],[a$]:"s3expressAvailabilityZoneId"},{fn:ri,[aK]:[rO,15,17,!0],[a$]:"s3expressAvailabilityZoneDelim"},{fn:a7,[aK]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],uu=[{fn:ri,[aK]:[rO,7,16,!0],[a$]:"s3expressAvailabilityZoneId"},{fn:ri,[aK]:[rO,16,18,!0],[a$]:"s3expressAvailabilityZoneDelim"},{fn:a7,[aK]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],us=[{fn:ri,[aK]:[rO,7,20,!0],[a$]:"s3expressAvailabilityZoneId"},{fn:ri,[aK]:[rO,20,22,!0],[a$]:"s3expressAvailabilityZoneDelim"},{fn:a7,[aK]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],ul=[{fn:ri,[aK]:[rO,7,21,!0],[a$]:"s3expressAvailabilityZoneId"},{fn:ri,[aK]:[rO,21,23,!0],[a$]:"s3expressAvailabilityZoneDelim"},{fn:a7,[aK]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],uh=[{fn:ri,[aK]:[rO,7,27,!0],[a$]:"s3expressAvailabilityZoneId"},{fn:ri,[aK]:[rO,27,29,!0],[a$]:"s3expressAvailabilityZoneDelim"},{fn:a7,[aK]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],ug=[{fn:rp,[aK]:[{ref:rd},!1]}],uc=[{fn:a7,[aK]:[{ref:rg},"beta"]}],ud=[{fn:rp,[aK]:[{ref:"Region"},!1]}],up=[{fn:a7,[aK]:[{ref:"Region"},"us-east-1"]}],uf=[{fn:a7,[aK]:[oT,rE]}],um=[{fn:a9,[aK]:[oC,"resourceId[1]"],[a$]:rL},{fn:"not",[aK]:[{fn:a7,[aK]:[ox,""]}]}],uy=[rB],uS=[{fn:"not",[aK]:[{fn:a7,[aK]:[{fn:a9,[aK]:[oC,"region"]},""]}]}],ub=[{fn:"not",[aK]:[{fn:a4,[aK]:[{fn:a9,[aK]:[oC,"resourceId[2]"]}]}]}],uC=[{fn:a5,[aK]:[{fn:a9,[aK]:[oC,"region"]}],[a$]:"bucketPartition"}],uT=[{fn:a7,[aK]:[oD,{fn:a9,[aK]:[{ref:"partitionResult"},re]}]}],uw=[{fn:rp,[aK]:[{fn:a9,[aK]:[oC,"region"]},!0]}],ux=[{fn:rp,[aK]:[ov,!1]}],uE=[{fn:rp,[aK]:[ox,!1]}],uL=[rk],u_=[{fn:rp,[aK]:[{ref:"Region"},!0]}],uY={version:"1.0",parameters:{Bucket:rZ,Region:rZ,UseFIPS:rR,UseDualStack:rR,Endpoint:rZ,ForcePathStyle:rR,Accelerate:rR,UseGlobalEndpoint:rR,UseObjectLambdaEndpoint:rM,Key:rZ,Prefix:rZ,CopySource:rZ,DisableAccessPoints:rM,DisableMultiRegionAccessPoints:rR,UseArnRegion:rM,UseS3ExpressControlEndpoint:rM,DisableS3ExpressSessionAuth:rM},[aU]:[{[aq]:[{fn:a4,[aK]:oj}],[aU]:[{[aq]:[rJ,rk],error:"Accelerate cannot be used with FIPS",[aG]:a6},{[aq]:[rB,rH],error:"Cannot set dual-stack in combination with a custom endpoint.",[aG]:a6},{[aq]:[rH,rk],error:"A custom endpoint cannot be combined with FIPS",[aG]:a6},{[aq]:[rH,rJ],error:"A custom endpoint cannot be combined with S3 Accelerate",[aG]:a6},{[aq]:[rk,rF,rX],error:"Partition does not support FIPS",[aG]:a6},{[aq]:[rI,{fn:ri,[aK]:[rO,0,6,!0],[a$]:rn},{fn:a7,[aK]:[{ref:rn},"--x-s3"]}],[aU]:[rQ,rG,{[aq]:[r0,r1],[aU]:[{[aq]:o2,[aU]:[{[aq]:[r$,r3],[aU]:[{[aq]:o4,endpoint:{url:"https://s3express-control-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[az]:rz,[a3]:rW},[aG]:ra},{[aq]:o8,endpoint:{url:"https://s3express-control-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[az]:rz,[a3]:rW},[aG]:ra},{[aq]:o6,endpoint:{url:"https://s3express-control.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[az]:rz,[a3]:rW},[aG]:ra},{[aq]:o5,endpoint:{url:"https://s3express-control.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[az]:rz,[a3]:rW},[aG]:ra}],[aG]:rr}],[aG]:rr}],[aG]:rr},{[aq]:o3,[aU]:[{[aq]:o2,[aU]:[{[aq]:o1,[aU]:[{[aq]:o7,[aU]:o9,[aG]:rr},{[aq]:ue,[aU]:o9,[aG]:rr},{[aq]:ui,[aU]:o9,[aG]:rr},{[aq]:un,[aU]:o9,[aG]:rr},{[aq]:ut,[aU]:o9,[aG]:rr},r8],[aG]:rr},{[aq]:o7,[aU]:ua,[aG]:rr},{[aq]:ue,[aU]:ua,[aG]:rr},{[aq]:ui,[aU]:ua,[aG]:rr},{[aq]:un,[aU]:ua,[aG]:rr},{[aq]:ut,[aU]:ua,[aG]:rr},r8],[aG]:rr}],[aG]:rr},rV],[aG]:rr},{[aq]:[rI,{fn:ri,[aK]:ur,[a$]:rs},{fn:a7,[aK]:[{ref:rs},"--xa-s3"]}],[aU]:[rQ,rG,{[aq]:o3,[aU]:[{[aq]:o2,[aU]:[{[aq]:o1,[aU]:[{[aq]:uo,[aU]:o9,[aG]:rr},{[aq]:uu,[aU]:o9,[aG]:rr},{[aq]:us,[aU]:o9,[aG]:rr},{[aq]:ul,[aU]:o9,[aG]:rr},{[aq]:uh,[aU]:o9,[aG]:rr},r8],[aG]:rr},{[aq]:uo,[aU]:ua,[aG]:rr},{[aq]:uu,[aU]:ua,[aG]:rr},{[aq]:us,[aU]:ua,[aG]:rr},{[aq]:ul,[aU]:ua,[aG]:rr},{[aq]:uh,[aU]:ua,[aG]:rr},r8],[aG]:rr}],[aG]:rr},rV],[aG]:rr},{[aq]:[r6,r0,r1],[aU]:[{[aq]:o2,[aU]:[{[aq]:o0,endpoint:{url:rl,[az]:rz,[a3]:rW},[aG]:ra},{[aq]:o4,endpoint:{url:"https://s3express-control-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",[az]:rz,[a3]:rW},[aG]:ra},{[aq]:o8,endpoint:{url:"https://s3express-control-fips.{Region}.{partitionResult#dnsSuffix}",[az]:rz,[a3]:rW},[aG]:ra},{[aq]:o6,endpoint:{url:"https://s3express-control.dualstack.{Region}.{partitionResult#dnsSuffix}",[az]:rz,[a3]:rW},[aG]:ra},{[aq]:o5,endpoint:{url:"https://s3express-control.{Region}.{partitionResult#dnsSuffix}",[az]:rz,[a3]:rW},[aG]:ra}],[aG]:rr}],[aG]:rr},{[aq]:[rI,{fn:ri,[aK]:[rO,49,50,!0],[a$]:rh},{fn:ri,[aK]:[rO,8,12,!0],[a$]:rg},{fn:ri,[aK]:ur,[a$]:rc},{fn:ri,[aK]:[rO,32,49,!0],[a$]:rd},{fn:a5,[aK]:oj,[a$]:"regionPartition"},{fn:a7,[aK]:[{ref:rc},"--op-s3"]}],[aU]:[{[aq]:ug,[aU]:[{[aq]:o3,[aU]:[{[aq]:[{fn:a7,[aK]:[r5,"e"]}],[aU]:[{[aq]:uc,[aU]:[r7,{[aq]:o0,endpoint:{url:"https://{Bucket}.ec2.{url#authority}",[az]:r9,[a3]:rW},[aG]:ra}],[aG]:rr},{endpoint:{url:"https://{Bucket}.ec2.s3-outposts.{Region}.{regionPartition#dnsSuffix}",[az]:r9,[a3]:rW},[aG]:ra}],[aG]:rr},{[aq]:[{fn:a7,[aK]:[r5,"o"]}],[aU]:[{[aq]:uc,[aU]:[r7,{[aq]:o0,endpoint:{url:"https://{Bucket}.op-{outpostId}.{url#authority}",[az]:r9,[a3]:rW},[aG]:ra}],[aG]:rr},{endpoint:{url:"https://{Bucket}.op-{outpostId}.s3-outposts.{Region}.{regionPartition#dnsSuffix}",[az]:r9,[a3]:rW},[aG]:ra}],[aG]:rr},{error:'Unrecognized hardware type: "Expected hardware type o or e but got {hardwareType}"',[aG]:a6}],[aG]:rr},{error:"Invalid Outposts Bucket alias - it must be a valid bucket name.",[aG]:a6}],[aG]:rr},{error:"Invalid ARN: The outpost Id must only contain a-z, A-Z, 0-9 and `-`.",[aG]:a6}],[aG]:rr},{[aq]:[rI],[aU]:[{[aq]:[rH,{fn:"not",[aK]:[{fn:a4,[aK]:[{fn:rt,[aK]:[{ref:"Endpoint"}]}]}]}],error:"Custom endpoint `{Endpoint}` was not a valid URI",[aG]:a6},{[aq]:[oe,rj],[aU]:[{[aq]:o2,[aU]:[{[aq]:ud,[aU]:[{[aq]:[rJ,rX],error:"S3 Accelerate cannot be used in this region",[aG]:a6},{[aq]:[rB,rk,oi,r3,on],endpoint:{url:"https://{Bucket}.s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}",[az]:ot,[a3]:rW},[aG]:ra},{[aq]:[rB,rk,oi,r3,oa,oo],[aU]:[{endpoint:ou,[aG]:ra}],[aG]:rr},{[aq]:[rB,rk,oi,r3,oa,ol],endpoint:ou,[aG]:ra},{[aq]:[r2,rk,oi,r3,on],endpoint:{url:"https://{Bucket}.s3-fips.us-east-1.{partitionResult#dnsSuffix}",[az]:ot,[a3]:rW},[aG]:ra},{[aq]:[r2,rk,oi,r3,oa,oo],[aU]:[{endpoint:oh,[aG]:ra}],[aG]:rr},{[aq]:[r2,rk,oi,r3,oa,ol],endpoint:oh,[aG]:ra},{[aq]:[rB,r4,rJ,r3,on],endpoint:{url:"https://{Bucket}.s3-accelerate.dualstack.us-east-1.{partitionResult#dnsSuffix}",[az]:ot,[a3]:rW},[aG]:ra},{[aq]:[rB,r4,rJ,r3,oa,oo],[aU]:[{endpoint:og,[aG]:ra}],[aG]:rr},{[aq]:[rB,r4,rJ,r3,oa,ol],endpoint:og,[aG]:ra},{[aq]:[rB,r4,oi,r3,on],endpoint:{url:"https://{Bucket}.s3.dualstack.us-east-1.{partitionResult#dnsSuffix}",[az]:ot,[a3]:rW},[aG]:ra},{[aq]:[rB,r4,oi,r3,oa,oo],[aU]:[{endpoint:oc,[aG]:ra}],[aG]:rr},{[aq]:[rB,r4,oi,r3,oa,ol],endpoint:oc,[aG]:ra},{[aq]:[r2,r4,oi,rH,rU,rq,on],endpoint:{url:ry,[az]:ot,[a3]:rW},[aG]:ra},{[aq]:[r2,r4,oi,rH,rU,od,on],endpoint:{url:ru,[az]:ot,[a3]:rW},[aG]:ra},{[aq]:[r2,r4,oi,rH,rU,rq,oa,oo],[aU]:[{[aq]:up,endpoint:op,[aG]:ra},{endpoint:op,[aG]:ra}],[aG]:rr},{[aq]:[r2,r4,oi,rH,rU,od,oa,oo],[aU]:[{[aq]:up,endpoint:of,[aG]:ra},om],[aG]:rr},{[aq]:[r2,r4,oi,rH,rU,rq,oa,ol],endpoint:op,[aG]:ra},{[aq]:[r2,r4,oi,rH,rU,od,oa,ol],endpoint:of,[aG]:ra},{[aq]:[r2,r4,rJ,r3,on],endpoint:{url:rS,[az]:ot,[a3]:rW},[aG]:ra},{[aq]:[r2,r4,rJ,r3,oa,oo],[aU]:[{[aq]:up,endpoint:oy,[aG]:ra},{endpoint:oy,[aG]:ra}],[aG]:rr},{[aq]:[r2,r4,rJ,r3,oa,ol],endpoint:oy,[aG]:ra},{[aq]:[r2,r4,oi,r3,on],endpoint:{url:rb,[az]:ot,[a3]:rW},[aG]:ra},{[aq]:[r2,r4,oi,r3,oa,oo],[aU]:[{[aq]:up,endpoint:{url:rb,[az]:os,[a3]:rW},[aG]:ra},{endpoint:oS,[aG]:ra}],[aG]:rr},{[aq]:[r2,r4,oi,r3,oa,ol],endpoint:oS,[aG]:ra}],[aG]:rr},ob],[aG]:rr}],[aG]:rr},{[aq]:[rH,rU,{fn:a7,[aK]:[{fn:a9,[aK]:[rK,"scheme"]},"http"]},{fn:ro,[aK]:[rO,!0]},oe,r4,r2,oi],[aU]:[{[aq]:o2,[aU]:[{[aq]:ud,[aU]:[om],[aG]:rr},ob],[aG]:rr}],[aG]:rr},{[aq]:[oe,{fn:rC,[aK]:[rO],[a$]:rT}],[aU]:[{[aq]:[{fn:a9,[aK]:[oC,"resourceId[0]"],[a$]:rw},{fn:"not",[aK]:[{fn:a7,[aK]:[oT,""]}]}],[aU]:[{[aq]:[{fn:a7,[aK]:[ow,rx]}],[aU]:[{[aq]:uf,[aU]:[{[aq]:um,[aU]:[oE,oL,{[aq]:uS,[aU]:[o_,{[aq]:ub,[aU]:[oY,{[aq]:uC,[aU]:[{[aq]:o2,[aU]:[{[aq]:uT,[aU]:[{[aq]:uw,[aU]:[{[aq]:[{fn:a7,[aK]:[ov,""]}],error:"Invalid ARN: Missing account id",[aG]:a6},{[aq]:ux,[aU]:[{[aq]:uE,[aU]:[{[aq]:o0,endpoint:{url:r_,[az]:oA,[a3]:rW},[aG]:ra},{[aq]:uL,endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}",[az]:oA,[a3]:rW},[aG]:ra},{endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda.{bucketArn#region}.{bucketPartition#dnsSuffix}",[az]:oA,[a3]:rW},[aG]:ra}],[aG]:rr},oN],[aG]:rr},oP],[aG]:rr},oZ],[aG]:rr},oR],[aG]:rr}],[aG]:rr}],[aG]:rr},oM],[aG]:rr},{error:"Invalid ARN: bucket ARN is missing a region",[aG]:a6}],[aG]:rr},oJ],[aG]:rr},{error:"Invalid ARN: Object Lambda ARNs only support `accesspoint` arn types, but found: `{arnType}`",[aG]:a6}],[aG]:rr},{[aq]:uf,[aU]:[{[aq]:um,[aU]:[{[aq]:uS,[aU]:[{[aq]:uf,[aU]:[{[aq]:uS,[aU]:[o_,{[aq]:ub,[aU]:[oY,{[aq]:uC,[aU]:[{[aq]:o2,[aU]:[{[aq]:[{fn:a7,[aK]:[oD,"{partitionResult#name}"]}],[aU]:[{[aq]:uw,[aU]:[{[aq]:[{fn:a7,[aK]:[ow,"s3"]}],[aU]:[{[aq]:ux,[aU]:[{[aq]:uE,[aU]:[{[aq]:oV,error:"Access Points do not support S3 Accelerate",[aG]:a6},{[aq]:o4,endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}",[az]:ok,[a3]:rW},[aG]:ra},{[aq]:o8,endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}",[az]:ok,[a3]:rW},[aG]:ra},{[aq]:o6,endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}",[az]:ok,[a3]:rW},[aG]:ra},{[aq]:[r4,r2,rH,rU],endpoint:{url:r_,[az]:ok,[a3]:rW},[aG]:ra},{[aq]:o5,endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.{bucketArn#region}.{bucketPartition#dnsSuffix}",[az]:ok,[a3]:rW},[aG]:ra}],[aG]:rr},oN],[aG]:rr},oP],[aG]:rr},{error:"Invalid ARN: The ARN was not for the S3 service, found: {bucketArn#service}",[aG]:a6}],[aG]:rr},oZ],[aG]:rr},oR],[aG]:rr}],[aG]:rr}],[aG]:rr},oM],[aG]:rr}],[aG]:rr}],[aG]:rr},{[aq]:[{fn:rp,[aK]:[ox,!0]}],[aU]:[{[aq]:uy,error:"S3 MRAP does not support dual-stack",[aG]:a6},{[aq]:uL,error:"S3 MRAP does not support FIPS",[aG]:a6},{[aq]:oV,error:"S3 MRAP does not support S3 Accelerate",[aG]:a6},{[aq]:[{fn:a8,[aK]:[{ref:"DisableMultiRegionAccessPoints"},!0]}],error:"Invalid configuration: Multi-Region Access Point ARNs are disabled.",[aG]:a6},{[aq]:[{fn:a5,[aK]:oj,[a$]:rY}],[aU]:[{[aq]:[{fn:a7,[aK]:[{fn:a9,[aK]:[{ref:rY},re]},{fn:a9,[aK]:[oC,"partition"]}]}],[aU]:[{endpoint:{url:"https://{accessPointName}.accesspoint.s3-global.{mrapPartition#dnsSuffix}",[az]:{[aj]:[{[aV]:!0,name:rf,[a0]:"s3",[a2]:["*"]}]},[a3]:rW},[aG]:ra}],[aG]:rr},{error:"Client was configured for partition `{mrapPartition#name}` but bucket referred to partition `{bucketArn#partition}`",[aG]:a6}],[aG]:rr}],[aG]:rr},{error:"Invalid Access Point Name",[aG]:a6}],[aG]:rr},oJ],[aG]:rr},{[aq]:[{fn:a7,[aK]:[ow,rm]}],[aU]:[{[aq]:uy,error:"S3 Outposts does not support Dual-stack",[aG]:a6},{[aq]:uL,error:"S3 Outposts does not support FIPS",[aG]:a6},{[aq]:oV,error:"S3 Outposts does not support S3 Accelerate",[aG]:a6},{[aq]:[{fn:a4,[aK]:[{fn:a9,[aK]:[oC,"resourceId[4]"]}]}],error:"Invalid Arn: Outpost Access Point ARN contains sub resources",[aG]:a6},{[aq]:[{fn:a9,[aK]:[oC,"resourceId[1]"],[a$]:rd}],[aU]:[{[aq]:ug,[aU]:[oY,{[aq]:uC,[aU]:[{[aq]:o2,[aU]:[{[aq]:uT,[aU]:[{[aq]:uw,[aU]:[{[aq]:ux,[aU]:[{[aq]:[{fn:a9,[aK]:[oC,"resourceId[2]"],[a$]:rD}],[aU]:[{[aq]:[{fn:a9,[aK]:[oC,"resourceId[3]"],[a$]:rL}],[aU]:[{[aq]:[{fn:a7,[aK]:[{ref:rD},rE]}],[aU]:[{[aq]:o0,endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.{outpostId}.{url#authority}",[az]:oB,[a3]:rW},[aG]:ra},{endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.{outpostId}.s3-outposts.{bucketArn#region}.{bucketPartition#dnsSuffix}",[az]:oB,[a3]:rW},[aG]:ra}],[aG]:rr},{error:"Expected an outpost type `accesspoint`, found {outpostType}",[aG]:a6}],[aG]:rr},{error:"Invalid ARN: expected an access point name",[aG]:a6}],[aG]:rr},{error:"Invalid ARN: Expected a 4-component resource",[aG]:a6}],[aG]:rr},oP],[aG]:rr},oZ],[aG]:rr},oR],[aG]:rr}],[aG]:rr}],[aG]:rr},{error:"Invalid ARN: The outpost Id may only contain a-z, A-Z, 0-9 and `-`. Found: `{outpostId}`",[aG]:a6}],[aG]:rr},{error:"Invalid ARN: The Outpost Id was not set",[aG]:a6}],[aG]:rr},{error:"Invalid ARN: Unrecognized format: {Bucket} (type: {arnType})",[aG]:a6}],[aG]:rr},{error:"Invalid ARN: No ARN type specified",[aG]:a6}],[aG]:rr},{[aq]:[{fn:ri,[aK]:[rO,0,4,!1],[a$]:rv},{fn:a7,[aK]:[{ref:rv},"arn:"]},{fn:"not",[aK]:[{fn:a4,[aK]:[oH]}]}],error:"Invalid ARN: `{Bucket}` was not a valid ARN",[aG]:a6},{[aq]:[{fn:a8,[aK]:[{ref:"ForcePathStyle"},!0]},oH],error:"Path-style addressing cannot be used with ARN buckets",[aG]:a6},{[aq]:[r$],[aU]:[{[aq]:o2,[aU]:[{[aq]:[oi],[aU]:[{[aq]:[rB,r3,rk,on],endpoint:{url:"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[az]:ot,[a3]:rW},[aG]:ra},{[aq]:[rB,r3,rk,oa,oo],[aU]:[{endpoint:oF,[aG]:ra}],[aG]:rr},{[aq]:[rB,r3,rk,oa,ol],endpoint:oF,[aG]:ra},{[aq]:[r2,r3,rk,on],endpoint:{url:"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[az]:ot,[a3]:rW},[aG]:ra},{[aq]:[r2,r3,rk,oa,oo],[aU]:[{endpoint:oX,[aG]:ra}],[aG]:rr},{[aq]:[r2,r3,rk,oa,ol],endpoint:oX,[aG]:ra},{[aq]:[rB,r3,r4,on],endpoint:{url:"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[az]:ot,[a3]:rW},[aG]:ra},{[aq]:[rB,r3,r4,oa,oo],[aU]:[{endpoint:oI,[aG]:ra}],[aG]:rr},{[aq]:[rB,r3,r4,oa,ol],endpoint:oI,[aG]:ra},{[aq]:[r2,rH,rU,r4,on],endpoint:{url:rA,[az]:ot,[a3]:rW},[aG]:ra},{[aq]:[r2,rH,rU,r4,oa,oo],[aU]:[{[aq]:up,endpoint:oO,[aG]:ra},{endpoint:oO,[aG]:ra}],[aG]:rr},{[aq]:[r2,rH,rU,r4,oa,ol],endpoint:oO,[aG]:ra},{[aq]:[r2,r3,r4,on],endpoint:{url:rN,[az]:ot,[a3]:rW},[aG]:ra},{[aq]:[r2,r3,r4,oa,oo],[aU]:[{[aq]:up,endpoint:{url:rN,[az]:os,[a3]:rW},[aG]:ra},{endpoint:oQ,[aG]:ra}],[aG]:rr},{[aq]:[r2,r3,r4,oa,ol],endpoint:oQ,[aG]:ra}],[aG]:rr},{error:"Path-style addressing cannot be used with S3 Accelerate",[aG]:a6}],[aG]:rr}],[aG]:rr}],[aG]:rr},{[aq]:[{fn:a4,[aK]:[oG]},{fn:a8,[aK]:[oG,!0]}],[aU]:[{[aq]:o2,[aU]:[{[aq]:u_,[aU]:[oE,oL,{[aq]:o0,endpoint:{url:rl,[az]:oU,[a3]:rW},[aG]:ra},{[aq]:uL,endpoint:{url:"https://s3-object-lambda-fips.{Region}.{partitionResult#dnsSuffix}",[az]:oU,[a3]:rW},[aG]:ra},{endpoint:{url:"https://s3-object-lambda.{Region}.{partitionResult#dnsSuffix}",[az]:oU,[a3]:rW},[aG]:ra}],[aG]:rr},ob],[aG]:rr}],[aG]:rr},{[aq]:[r6],[aU]:[{[aq]:o2,[aU]:[{[aq]:u_,[aU]:[{[aq]:[rk,rB,r3,on],endpoint:{url:"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}",[az]:ot,[a3]:rW},[aG]:ra},{[aq]:[rk,rB,r3,oa,oo],[aU]:[{endpoint:oq,[aG]:ra}],[aG]:rr},{[aq]:[rk,rB,r3,oa,ol],endpoint:oq,[aG]:ra},{[aq]:[rk,r2,r3,on],endpoint:{url:"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}",[az]:ot,[a3]:rW},[aG]:ra},{[aq]:[rk,r2,r3,oa,oo],[aU]:[{endpoint:oK,[aG]:ra}],[aG]:rr},{[aq]:[rk,r2,r3,oa,ol],endpoint:oK,[aG]:ra},{[aq]:[r4,rB,r3,on],endpoint:{url:"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}",[az]:ot,[a3]:rW},[aG]:ra},{[aq]:[r4,rB,r3,oa,oo],[aU]:[{endpoint:o$,[aG]:ra}],[aG]:rr},{[aq]:[r4,rB,r3,oa,ol],endpoint:o$,[aG]:ra},{[aq]:[r4,r2,rH,rU,on],endpoint:{url:rl,[az]:ot,[a3]:rW},[aG]:ra},{[aq]:[r4,r2,rH,rU,oa,oo],[aU]:[{[aq]:up,endpoint:oz,[aG]:ra},{endpoint:oz,[aG]:ra}],[aG]:rr},{[aq]:[r4,r2,rH,rU,oa,ol],endpoint:oz,[aG]:ra},{[aq]:[r4,r2,r3,on],endpoint:{url:rP,[az]:ot,[a3]:rW},[aG]:ra},{[aq]:[r4,r2,r3,oa,oo],[aU]:[{[aq]:up,endpoint:{url:rP,[az]:os,[a3]:rW},[aG]:ra},{endpoint:oW,[aG]:ra}],[aG]:rr},{[aq]:[r4,r2,r3,oa,ol],endpoint:oW,[aG]:ra}],[aG]:rr},ob],[aG]:rr}],[aG]:rr}],[aG]:rr},{error:"A region must be set when sending requests to S3.",[aG]:a6}]},uD=new aJ({size:50,params:["Accelerate","Bucket","DisableAccessPoints","DisableMultiRegionAccessPoints","DisableS3ExpressSessionAuth","Endpoint","ForcePathStyle","Region","UseArnRegion","UseDualStack","UseFIPS","UseGlobalEndpoint","UseObjectLambdaEndpoint","UseS3ExpressControlEndpoint"]}),endpointResolver_defaultEndpointResolver=(e,i={})=>uD.get(e,()=>resolveEndpoint(uY,{endpointParams:e,logger:i.logger}));tS.aws=tw;let uv=(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 uA=(z=e=>{let i=[];return e.operation,i.push(createAwsAuthSigv4HttpAuthOption(e)),i.push(createAwsAuthSigv4aHttpAuthOption(e)),i},W={"aws.auth#sigv4":createAwsAuthSigv4HttpAuthOption,"aws.auth#sigv4a":createAwsAuthSigv4aHttpAuthOption},e=>{let i=endpointResolver_defaultEndpointResolver(e),n=i.properties?.authSchemes;if(!n)return z(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"===aP.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=W[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 ai.PassThrough,n=new ai.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 uN extends ai.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 uP={CopyObjectCommand:!0,UploadPartCopyCommand:!0,CompleteMultipartUploadCommand:!0},uZ={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(!tP.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 uN;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&&uP[n.commandName]){let e=Error("S3 aborted request");throw e.name="InternalError",e}return g&&g.endsWith("</Error>")&&(r.statusCode=400),a},uZ)}});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 uR={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}),uR)}}),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 uM{ref;memberName;static symbol=Symbol.for("@smithy/nor");symbol=uM.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 uM){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 uM)return i;if(isMemberSchema(i)){let[n,t]=i;if(n instanceof uM)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 uM(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 uM?Object.assign(e,{memberName:i,_isMemberSchema:!0}):new uM(e,i)}let isMemberSchema=e=>Array.isArray(e)&&2===e.length,isStaticSchema=e=>Array.isArray(e)&&e.length>=5,uJ="***SensitiveInformation***";function schemaLogFilter(e,i){if(null==i)return i;let n=uM.of(e);if(n.getMergedTraits().sensitive)return uJ;if(n.isListSchema()){if(n.getValueSchema().getMergedTraits().sensitive)return uJ}else if(n.isMapSchema()){if(n.getKeySchema().getMergedTraits().sensitive||n.getValueSchema().getMergedTraits().sensitive)return uJ}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 uk{middlewareStack=constructStack();schema;static classBuilder(){return new uB}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,[tf]:{commandInstance:this,...s},...l},{requestHandler:p}=i;return g.resolve(e=>p.handle(e.request,n||{}),d)}}class uB{_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 uk{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 uH={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 uF{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 uF.registries.has(e)||uF.registries.set(e,new uF(e)),uF.registries.get(e)}register(e,i){let n=this.normalizeShapeId(e);uF.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=uF.for(e[1]);n.schemas.set(e[1]+"#"+e[2],e),n.exceptions.set(e,i)}getErrorCtor(e){return uF.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 uX 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&&(uX.prototype.isPrototypeOf(e)||!!e.$fault&&!!e.$metadata&&("client"===e.$fault||"server"===e.$fault))}static[Symbol.hasInstance](e){return!!e&&(this===uX?uX.isInstance(e):!!uX.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 uI extends uX{constructor(e){super(e),Object.setPrototypeOf(this,uI.prototype)}}class uO extends uI{name="NoSuchUpload";$fault="client";constructor(e){super({name:"NoSuchUpload",$fault:"client",...e}),Object.setPrototypeOf(this,uO.prototype)}}class uQ extends uI{name="ObjectNotInActiveTierError";$fault="client";constructor(e){super({name:"ObjectNotInActiveTierError",$fault:"client",...e}),Object.setPrototypeOf(this,uQ.prototype)}}class uG extends uI{name="BucketAlreadyExists";$fault="client";constructor(e){super({name:"BucketAlreadyExists",$fault:"client",...e}),Object.setPrototypeOf(this,uG.prototype)}}class uU extends uI{name="BucketAlreadyOwnedByYou";$fault="client";constructor(e){super({name:"BucketAlreadyOwnedByYou",$fault:"client",...e}),Object.setPrototypeOf(this,uU.prototype)}}class uq extends uI{name="NoSuchBucket";$fault="client";constructor(e){super({name:"NoSuchBucket",$fault:"client",...e}),Object.setPrototypeOf(this,uq.prototype)}}class uK extends uI{name="InvalidObjectState";$fault="client";StorageClass;AccessTier;constructor(e){super({name:"InvalidObjectState",$fault:"client",...e}),Object.setPrototypeOf(this,uK.prototype),this.StorageClass=e.StorageClass,this.AccessTier=e.AccessTier}}class u$ extends uI{name="NoSuchKey";$fault="client";constructor(e){super({name:"NoSuchKey",$fault:"client",...e}),Object.setPrototypeOf(this,u$.prototype)}}class uz extends uI{name="NotFound";$fault="client";constructor(e){super({name:"NotFound",$fault:"client",...e}),Object.setPrototypeOf(this,uz.prototype)}}class uW extends uI{name="EncryptionTypeMismatch";$fault="client";constructor(e){super({name:"EncryptionTypeMismatch",$fault:"client",...e}),Object.setPrototypeOf(this,uW.prototype)}}class uj extends uI{name="InvalidRequest";$fault="client";constructor(e){super({name:"InvalidRequest",$fault:"client",...e}),Object.setPrototypeOf(this,uj.prototype)}}class uV extends uI{name="InvalidWriteOffset";$fault="client";constructor(e){super({name:"InvalidWriteOffset",$fault:"client",...e}),Object.setPrototypeOf(this,uV.prototype)}}class u0 extends uI{name="TooManyParts";$fault="client";constructor(e){super({name:"TooManyParts",$fault:"client",...e}),Object.setPrototypeOf(this,u0.prototype)}}class u1 extends uI{name="IdempotencyParameterMismatch";$fault="client";constructor(e){super({name:"IdempotencyParameterMismatch",$fault:"client",...e}),Object.setPrototypeOf(this,u1.prototype)}}class u3 extends uI{name="ObjectAlreadyInActiveTierError";$fault="client";constructor(e){super({name:"ObjectAlreadyInActiveTierError",$fault:"client",...e}),Object.setPrototypeOf(this,u3.prototype)}}let u2="AccessControlTranslation",u4="AbortIncompleteMultipartUpload",u8="AccessKeyId",u6="AccessPointArn",u5="AcceptRanges",u7="AccessTier",u9="Bucket",se="BlockedEncryptionTypes",si="BucketKeyEnabled",sn="Body",st="ChecksumAlgorithm",sa="CacheControl",sr="ChecksumCRC32",so="ChecksumCRC32C",su="ChecksumCRC64NVME",ss="Cache-Control",sl="Content-Disposition",sh="ContentDisposition",sg="Content-Encoding",sc="ContentEncoding",sd="ContentLanguage",sp="Content-Language",sf="Content-Length",sm="ContentLength",sy="Content-MD5",sS="ContentMD5",sb="CompleteMultipartUpload",sC="ChecksumMode",sT="ContentRange",sw="Content-Range",sx="ChecksumSHA1",sE="ChecksumSHA256",sL="ChecksumType",s_="Content-Type",sY="ContentType",sD="ContinuationToken",sv="Condition",sA="Credentials",sN="Days",sP="DeleteMarker",sZ="DeleteMarkerReplication",sR="DisplayName",sM="DefaultRetention",sJ="Date",sk="Delimiter",sB="Destination",sH="Expiration",sF="ExpectedBucketOwner",sX="EncryptionConfiguration",sI="ExistingObjectReplication",sO="ExpiresString",sQ="EncryptionType",sG="ETag",sU="EncodingType",sq="Encryption",sK="Events",s$="Event",sz="Expires",sW="Filter",sj="FieldDelimiter",sV="FilterRule",s0="Format",s1="GrantFullControl",s3="GrantRead",s2="GrantReadACP",s4="GrantWriteACP",s8="Grant",s6="Grantee",s5="HostName",s7="IfMatch",s9="If-Modified-Since",le="IfModifiedSince",li="If-Match",ln="IfNoneMatch",la="If-None-Match",lr="InputSerialization",lo="IfUnmodifiedSince",lu="If-Unmodified-Since",ls="Initiator",ll="JSON",lh="LastModified",lg="Last-Modified",lc="Metadata",ld="MetadataEntry",lp="MaxKeys",lf="MissingMeta",lm="MultipartUpload",ly="Metrics",lS="Name",lb="NoncurrentDays",lC="NewerNoncurrentVersions",lT="NoncurrentVersionExpiration",lw="NoncurrentVersionTransition",lx="Owner",lE="ObjectLockLegalHoldStatus",lL="ObjectLockMode",l_="ObjectLockRetainUntilDate",lY="ObjectSizeGreaterThan",lD="ObjectSizeLessThan",lv="OutputSerialization",lA="Prefix",lN="PartsCount",lP="PartNumber",lZ="PartitionedPrefix",lR="Part",lM="Permission",lJ="Protocol",lk="QuoteCharacter",lB="QuoteEscapeCharacter",lH="RequestCharged",lF="ResponseCacheControl",lX="ResponseContentDisposition",lI="ResponseContentEncoding",lO="ResponseContentLanguage",lQ="ResponseContentType",lG="RecordDelimiter",lU="ResponseExpires",lq="RecordExpiration",lK="ReplicaModifications",l$="RequestPayer",lz="RoutingRule",lW="ReplicationStatus",lj="RestoreStatus",lV="ReplicationTime",l0="Range",l1="Restore",l3="Redirect",l2="Status",l4="StartAfter",l8="SecretAccessKey",l6="S3BucketDestination",l5="StorageClass",l7="StorageClassAnalysis",l9="SSE-KMS",he="SseKmsEncryptedObjects",hi="SimplePrefix",hn="SSE-S3",ht="SourceSelectionCriteria",ha="ServerSideEncryption",hr="SSECustomerAlgorithm",ho="SSECustomerKey",hu="SSECustomerKeyMD5",hs="SSEKMS",hl="SSEKMSEncryptionContext",hh="SSEKMSKeyId",hg="SSES3",hc="SessionToken",hd="Size",hp="Tags",hf="TagCount",hm="TargetGrants",hy="TargetObjectKeyFormat",hS="TagSet",hb="Tagging",hC="Tiering",hT="Transition",hw="Type",hx="UploadId",hE="UserMetadata",hL="Value",h_="VersionId",hY="WebsiteRedirectLocation",hD="accept-ranges",hv="client",hA="error",hN="http",hP="httpChecksum",hZ="httpError",hR="httpHeader",hM="httpPayload",hJ="httpPrefixHeaders",hk="httpQuery",hB="http://www.w3.org/2001/XMLSchema-instance",hH="partNumber",hF="response-cache-control",hX="response-content-disposition",hI="response-content-encoding",hO="response-content-language",hQ="response-content-type",hG="response-expires",hU="smithy.ts.sdk.synthetic.com.amazonaws.s3",hq="uploadId",hK="versionId",h$="xmlFlattened",hz="xmlName",hW="xmlNamespace",hj="x-amz-acl",hV="x-amz-checksum-algorithm",h0="x-amz-checksum-crc32",h1="x-amz-checksum-crc32c",h3="x-amz-checksum-crc64nvme",h2="x-amz-checksum-mode",h4="x-amz-checksum-sha1",h8="x-amz-checksum-sha256",h6="x-amz-checksum-type",h5="x-amz-delete-marker",h7="x-amz-expiration",h9="x-amz-expected-bucket-owner",ge="x-amz-grant-full-control",gi="x-amz-grant-read",gn="x-amz-grant-read-acp",ga="x-amz-grant-write-acp",gr="x-amz-meta-",go="x-amz-missing-meta",gu="x-amz-mp-parts-count",gs="x-amz-object-lock-legal-hold",gl="x-amz-object-lock-mode",gh="x-amz-object-lock-retain-until-date",gg="x-amz-restore",gc="x-amz-request-charged",gd="x-amz-request-payer",gp="x-amz-replication-status",gf="x-amz-storage-class",gm="x-amz-sdk-checksum-algorithm",gy="x-amz-server-side-encryption",gS="x-amz-server-side-encryption-aws-kms-key-id",gb="x-amz-server-side-encryption-bucket-key-enabled",gC="x-amz-server-side-encryption-context",gT="x-amz-server-side-encryption-customer-algorithm",gw="x-amz-server-side-encryption-customer-key",gx="x-amz-server-side-encryption-customer-key-MD5",gE="x-amz-tagging",gL="x-amz-tagging-count",g_="x-amz-version-id",gY="x-amz-website-redirect-location",gD="com.amazonaws.s3";var gv=[0,gD,"SessionCredentialValue",8,0],gA=[0,gD,ho,8,0],gN=[0,gD,hl,8,0],gP=[0,gD,hh,8,0],gZ=[0,gD,"StreamingBlob",{streaming:1},42],gR=[3,gD,u4,0,["DaysAfterInitiation"],[1]],gM=[3,gD,"AbortMultipartUploadOutput",0,[lH],[[0,{[hR]:gc}]]],gJ=[3,gD,"AbortMultipartUploadRequest",0,[u9,"Key",hx,l$,sF,"IfMatchInitiatedTime"],[[0,1],[0,1],[0,{[hk]:hq}],[0,{[hR]:gd}],[0,{[hR]:h9}],[6,{[hR]:"x-amz-if-match-initiated-time"}]]],gk=[3,gD,u2,0,[lx],[0]],gB=[3,gD,"AnalyticsAndOperator",0,[lA,hp],[0,[()=>dM,{[h$]:1,[hz]:"Tag"}]]],gH=[3,gD,"AnalyticsExportDestination",0,[l6],[()=>gF]],gF=[3,gD,"AnalyticsS3BucketDestination",0,[s0,"BucketAccountId",u9,lA],[0,0,0,0]],gX=[3,gD,se,0,[sQ],[[()=>dv,{[h$]:1}]]],gI=[-3,gD,"BucketAlreadyExists",{[hA]:hv,[hZ]:409},[],[]];uF.for(gD).registerError(gI,uG);var gO=[-3,gD,"BucketAlreadyOwnedByYou",{[hA]:hv,[hZ]:409},[],[]];uF.for(gD).registerError(gO,uU);var gQ=[3,gD,"CommonPrefix",0,[lA],[0]],gG=[3,gD,"CompletedMultipartUpload",0,["Parts"],[[()=>dD,{[h$]:1,[hz]:lR}]]],gU=[3,gD,"CompletedPart",0,[sG,sr,so,su,sx,sE,lP],[0,0,0,0,0,0,1]],gq=[3,gD,"CompleteMultipartUploadOutput",{[hz]:"CompleteMultipartUploadResult"},["Location",u9,"Key",sH,sG,sr,so,su,sx,sE,sL,ha,h_,hh,si,lH],[0,0,0,[0,{[hR]:h7}],0,0,0,0,0,0,0,[0,{[hR]:gy}],[0,{[hR]:g_}],[()=>gP,{[hR]:gS}],[2,{[hR]:gb}],[0,{[hR]:gc}]]],gK=[3,gD,"CompleteMultipartUploadRequest",0,[u9,"Key",lm,hx,sr,so,su,sx,sE,sL,"MpuObjectSize",l$,sF,s7,ln,hr,ho,hu],[[0,1],[0,1],[()=>gG,{[hM]:1,[hz]:sb}],[0,{[hk]:hq}],[0,{[hR]:h0}],[0,{[hR]:h1}],[0,{[hR]:h3}],[0,{[hR]:h4}],[0,{[hR]:h8}],[0,{[hR]:h6}],[1,{[hR]:"x-amz-mp-object-size"}],[0,{[hR]:gd}],[0,{[hR]:h9}],[0,{[hR]:li}],[0,{[hR]:la}],[0,{[hR]:gT}],[()=>gA,{[hR]:gw}],[0,{[hR]:gx}]]],g$=[3,gD,sv,0,["HttpErrorCodeReturnedEquals","KeyPrefixEquals"],[0,0]],gz=[3,gD,"CORSRule",0,["ID","AllowedHeaders","AllowedMethods","AllowedOrigins","ExposeHeaders","MaxAgeSeconds"],[0,[64,{[h$]:1,[hz]:"AllowedHeader"}],[64,{[h$]:1,[hz]:"AllowedMethod"}],[64,{[h$]:1,[hz]:"AllowedOrigin"}],[64,{[h$]:1,[hz]:"ExposeHeader"}],1]],gW=[3,gD,"CreateMultipartUploadOutput",{[hz]:"InitiateMultipartUploadResult"},["AbortDate","AbortRuleId",u9,"Key",hx,ha,hr,hu,hh,hl,si,lH,st,sL],[[4,{[hR]:"x-amz-abort-date"}],[0,{[hR]:"x-amz-abort-rule-id"}],[0,{[hz]:u9}],0,0,[0,{[hR]:gy}],[0,{[hR]:gT}],[0,{[hR]:gx}],[()=>gP,{[hR]:gS}],[()=>gN,{[hR]:gC}],[2,{[hR]:gb}],[0,{[hR]:gc}],[0,{[hR]:hV}],[0,{[hR]:h6}]]],gj=[3,gD,"CreateMultipartUploadRequest",0,["ACL",u9,sa,sh,sc,sd,sY,sz,s1,s3,s2,s4,"Key",lc,ha,l5,hY,hr,ho,hu,hh,hl,si,l$,hb,lL,l_,lE,sF,st,sL],[[0,{[hR]:hj}],[0,1],[0,{[hR]:ss}],[0,{[hR]:sl}],[0,{[hR]:sg}],[0,{[hR]:sp}],[0,{[hR]:s_}],[4,{[hR]:sz}],[0,{[hR]:ge}],[0,{[hR]:gi}],[0,{[hR]:gn}],[0,{[hR]:ga}],[0,1],[128,{[hJ]:gr}],[0,{[hR]:gy}],[0,{[hR]:gf}],[0,{[hR]:gY}],[0,{[hR]:gT}],[()=>gA,{[hR]:gw}],[0,{[hR]:gx}],[()=>gP,{[hR]:gS}],[()=>gN,{[hR]:gC}],[2,{[hR]:gb}],[0,{[hR]:gd}],[0,{[hR]:gE}],[0,{[hR]:gl}],[5,{[hR]:gh}],[0,{[hR]:gs}],[0,{[hR]:h9}],[0,{[hR]:hV}],[0,{[hR]:h6}]]],gV=[3,gD,"CreateSessionOutput",{[hz]:"CreateSessionResult"},[ha,hh,hl,si,sA],[[0,{[hR]:gy}],[()=>gP,{[hR]:gS}],[()=>gN,{[hR]:gC}],[2,{[hR]:gb}],[()=>ds,{[hz]:sA}]]],g0=[3,gD,"CreateSessionRequest",0,["SessionMode",u9,ha,hh,hl,si],[[0,{[hR]:"x-amz-create-session-mode"}],[0,1],[0,{[hR]:gy}],[()=>gP,{[hR]:gS}],[()=>gN,{[hR]:gC}],[2,{[hR]:gb}]]],g1=[3,gD,"CSVInput",0,["FileHeaderInfo","Comments",lB,lG,sj,lk,"AllowQuotedRecordDelimiter"],[0,0,0,0,0,0,2]],g3=[3,gD,"CSVOutput",0,["QuoteFields",lB,lG,sj,lk],[0,0,0,0,0]],g2=[3,gD,sM,0,["Mode",sN,"Years"],[0,1,1]],g4=[3,gD,sZ,0,[l2],[0]],g8=[3,gD,"DeleteObjectOutput",0,[sP,h_,lH],[[2,{[hR]:h5}],[0,{[hR]:g_}],[0,{[hR]:gc}]]],g6=[3,gD,"DeleteObjectRequest",0,[u9,"Key","MFA",h_,l$,"BypassGovernanceRetention",sF,s7,"IfMatchLastModifiedTime","IfMatchSize"],[[0,1],[0,1],[0,{[hR]:"x-amz-mfa"}],[0,{[hk]:hK}],[0,{[hR]:gd}],[2,{[hR]:"x-amz-bypass-governance-retention"}],[0,{[hR]:h9}],[0,{[hR]:li}],[6,{[hR]:"x-amz-if-match-last-modified-time"}],[1,{[hR]:"x-amz-if-match-size"}]]],g5=[3,gD,sB,0,[u9,"Account",l5,u2,sX,lV,ly],[0,0,0,()=>gk,()=>g9,()=>c9,()=>cZ]],g7=[3,gD,sq,0,[sQ,"KMSKeyId","KMSContext"],[0,[()=>gP,0],0]],g9=[3,gD,sX,0,["ReplicaKmsKeyID"],[0]],ce=[-3,gD,"EncryptionTypeMismatch",{[hA]:hv,[hZ]:400},[],[]];uF.for(gD).registerError(ce,uW);var ci=[3,gD,sI,0,[l2],[0]],cn=[3,gD,sV,0,[lS,hL],[0,0]],ct=[3,gD,"GetObjectOutput",0,[sn,sP,u5,sH,l1,lh,sm,sG,sr,so,su,sx,sE,sL,lf,h_,sa,sh,sc,sd,sT,sY,sz,sO,hY,ha,lc,hr,hu,hh,si,l5,lH,lW,lN,hf,lL,l_,lE],[[()=>gZ,16],[2,{[hR]:h5}],[0,{[hR]:hD}],[0,{[hR]:h7}],[0,{[hR]:gg}],[4,{[hR]:lg}],[1,{[hR]:sf}],[0,{[hR]:sG}],[0,{[hR]:h0}],[0,{[hR]:h1}],[0,{[hR]:h3}],[0,{[hR]:h4}],[0,{[hR]:h8}],[0,{[hR]:h6}],[1,{[hR]:go}],[0,{[hR]:g_}],[0,{[hR]:ss}],[0,{[hR]:sl}],[0,{[hR]:sg}],[0,{[hR]:sp}],[0,{[hR]:sw}],[0,{[hR]:s_}],[4,{[hR]:sz}],[0,{[hR]:sO}],[0,{[hR]:gY}],[0,{[hR]:gy}],[128,{[hJ]:gr}],[0,{[hR]:gT}],[0,{[hR]:gx}],[()=>gP,{[hR]:gS}],[2,{[hR]:gb}],[0,{[hR]:gf}],[0,{[hR]:gc}],[0,{[hR]:gp}],[1,{[hR]:gu}],[1,{[hR]:gL}],[0,{[hR]:gl}],[5,{[hR]:gh}],[0,{[hR]:gs}]]],ca=[3,gD,"GetObjectRequest",0,[u9,s7,le,ln,lo,"Key",l0,lF,lX,lI,lO,lQ,lU,h_,hr,ho,hu,l$,lP,sF,sC],[[0,1],[0,{[hR]:li}],[4,{[hR]:s9}],[0,{[hR]:la}],[4,{[hR]:lu}],[0,1],[0,{[hR]:l0}],[0,{[hk]:hF}],[0,{[hk]:hX}],[0,{[hk]:hI}],[0,{[hk]:hO}],[0,{[hk]:hQ}],[6,{[hk]:hG}],[0,{[hk]:hK}],[0,{[hR]:gT}],[()=>gA,{[hR]:gw}],[0,{[hR]:gx}],[0,{[hR]:gd}],[1,{[hk]:hH}],[0,{[hR]:h9}],[0,{[hR]:h2}]]],cr=[3,gD,s8,0,[s6,lM],[[()=>co,{[hW]:["xsi",hB]}],0]],co=[3,gD,s6,0,[sR,"EmailAddress","ID","URI",hw],[0,0,0,0,[0,{xmlAttribute:1,[hz]:"xsi:type"}]]],cu=[3,gD,"HeadObjectOutput",0,[sP,u5,sH,l1,"ArchiveStatus",lh,sm,sr,so,su,sx,sE,sL,sG,lf,h_,sa,sh,sc,sd,sY,sT,sz,sO,hY,ha,lc,hr,hu,hh,si,l5,lH,lW,lN,hf,lL,l_,lE],[[2,{[hR]:h5}],[0,{[hR]:hD}],[0,{[hR]:h7}],[0,{[hR]:gg}],[0,{[hR]:"x-amz-archive-status"}],[4,{[hR]:lg}],[1,{[hR]:sf}],[0,{[hR]:h0}],[0,{[hR]:h1}],[0,{[hR]:h3}],[0,{[hR]:h4}],[0,{[hR]:h8}],[0,{[hR]:h6}],[0,{[hR]:sG}],[1,{[hR]:go}],[0,{[hR]:g_}],[0,{[hR]:ss}],[0,{[hR]:sl}],[0,{[hR]:sg}],[0,{[hR]:sp}],[0,{[hR]:s_}],[0,{[hR]:sw}],[4,{[hR]:sz}],[0,{[hR]:sO}],[0,{[hR]:gY}],[0,{[hR]:gy}],[128,{[hJ]:gr}],[0,{[hR]:gT}],[0,{[hR]:gx}],[()=>gP,{[hR]:gS}],[2,{[hR]:gb}],[0,{[hR]:gf}],[0,{[hR]:gc}],[0,{[hR]:gp}],[1,{[hR]:gu}],[1,{[hR]:gL}],[0,{[hR]:gl}],[5,{[hR]:gh}],[0,{[hR]:gs}]]],cs=[3,gD,"HeadObjectRequest",0,[u9,s7,le,ln,lo,"Key",l0,lF,lX,lI,lO,lQ,lU,h_,hr,ho,hu,l$,lP,sF,sC],[[0,1],[0,{[hR]:li}],[4,{[hR]:s9}],[0,{[hR]:la}],[4,{[hR]:lu}],[0,1],[0,{[hR]:l0}],[0,{[hk]:hF}],[0,{[hk]:hX}],[0,{[hk]:hI}],[0,{[hk]:hO}],[0,{[hk]:hQ}],[6,{[hk]:hG}],[0,{[hk]:hK}],[0,{[hR]:gT}],[()=>gA,{[hR]:gw}],[0,{[hR]:gx}],[0,{[hR]:gd}],[1,{[hk]:hH}],[0,{[hR]:h9}],[0,{[hR]:h2}]]],cl=[-3,gD,"IdempotencyParameterMismatch",{[hA]:hv,[hZ]:400},[],[]];uF.for(gD).registerError(cl,u1);var ch=[3,gD,ls,0,["ID",sR],[0,0]],cg=[3,gD,lr,0,["CSV","CompressionType",ll,"Parquet"],[()=>g1,0,()=>cw,()=>cz]],cc=[3,gD,"IntelligentTieringAndOperator",0,[lA,hp],[0,[()=>dM,{[h$]:1,[hz]:"Tag"}]]],cd=[3,gD,"IntelligentTieringFilter",0,[lA,"Tag","And"],[0,()=>dm,[()=>cc,0]]],cp=[-3,gD,"InvalidObjectState",{[hA]:hv,[hZ]:403},[l5,u7],[0,0]];uF.for(gD).registerError(cp,uK);var cf=[-3,gD,"InvalidRequest",{[hA]:hv,[hZ]:400},[],[]];uF.for(gD).registerError(cf,uj);var cm=[-3,gD,"InvalidWriteOffset",{[hA]:hv,[hZ]:400},[],[]];uF.for(gD).registerError(cm,uV);var cy=[3,gD,"InventoryDestination",0,[l6],[[()=>cC,0]]],cS=[3,gD,"InventoryEncryption",0,[hg,hs],[[()=>dd,{[hz]:hn}],[()=>dg,{[hz]:l9}]]],cb=[3,gD,"InventoryFilter",0,[lA],[0]],cC=[3,gD,"InventoryS3BucketDestination",0,["AccountId",u9,s0,lA,sq],[0,0,0,0,[()=>cS,0]]],cT=[3,gD,"InventorySchedule",0,["Frequency"],[0]],cw=[3,gD,"JSONInput",0,[hw],[0]],cx=[3,gD,"JSONOutput",0,[lG],[0]],cE=[3,gD,"LambdaFunctionConfiguration",0,["Id","LambdaFunctionArn",sK,sW],[0,[0,{[hz]:"CloudFunction"}],[64,{[h$]:1,[hz]:s$}],[()=>cX,0]]],cL=[3,gD,"LifecycleExpiration",0,[sJ,sN,"ExpiredObjectDeleteMarker"],[5,1,2]],c_=[3,gD,"LifecycleRule",0,[sH,"ID",lA,sW,l2,"Transitions","NoncurrentVersionTransitions",lT,u4],[()=>cL,0,0,[()=>cD,0],0,[()=>dk,{[h$]:1,[hz]:hT}],[()=>dZ,{[h$]:1,[hz]:lw}],()=>cM,()=>gR]],cY=[3,gD,"LifecycleRuleAndOperator",0,[lA,hp,lY,lD],[0,[()=>dM,{[h$]:1,[hz]:"Tag"}],1,1]],cD=[3,gD,"LifecycleRuleFilter",0,[lA,"Tag",lY,lD,"And"],[0,()=>dm,1,1,[()=>cY,0]]],cv=[3,gD,"ListObjectsV2Output",{[hz]:"ListBucketResult"},["IsTruncated","Contents",lS,lA,sk,lp,"CommonPrefixes",sU,"KeyCount",sD,"NextContinuationToken",l4,lH],[2,[()=>dR,{[h$]:1}],0,0,0,1,[()=>dY,{[h$]:1}],0,1,0,0,0,[0,{[hR]:gc}]]],cA=[3,gD,"ListObjectsV2Request",0,[u9,sk,sU,lp,lA,sD,"FetchOwner",l4,l$,sF,"OptionalObjectAttributes"],[[0,1],[0,{[hk]:"delimiter"}],[0,{[hk]:"encoding-type"}],[1,{[hk]:"max-keys"}],[0,{[hk]:"prefix"}],[0,{[hk]:"continuation-token"}],[2,{[hk]:"fetch-owner"}],[0,{[hk]:"start-after"}],[0,{[hR]:gd}],[0,{[hR]:h9}],[64,{[hR]:"x-amz-optional-object-attributes"}]]],cN=[3,gD,ld,0,[lS,hL],[0,0]],cP=[3,gD,"MetadataTableEncryptionConfiguration",0,["SseAlgorithm","KmsKeyArn"],[0,0]],cZ=[3,gD,ly,0,[l2,"EventThreshold"],[0,()=>de]],cR=[3,gD,"MetricsAndOperator",0,[lA,hp,u6],[0,[()=>dM,{[h$]:1,[hz]:"Tag"}],0]],cM=[3,gD,lT,0,[lb,lC],[1,1]],cJ=[3,gD,lw,0,[lb,l5,lC],[1,0,1]],ck=[-3,gD,"NoSuchBucket",{[hA]:hv,[hZ]:404},[],[]];uF.for(gD).registerError(ck,uq);var cB=[-3,gD,"NoSuchKey",{[hA]:hv,[hZ]:404},[],[]];uF.for(gD).registerError(cB,u$);var cH=[-3,gD,"NoSuchUpload",{[hA]:hv,[hZ]:404},[],[]];uF.for(gD).registerError(cH,uO);var cF=[-3,gD,"NotFound",{[hA]:hv},[],[]];uF.for(gD).registerError(cF,uz);var cX=[3,gD,"NotificationConfigurationFilter",0,["Key"],[[()=>dt,{[hz]:"S3Key"}]]],cI=[3,gD,"Object",0,["Key",lh,sG,st,sL,hd,l5,lx,lj],[0,4,0,[64,{[h$]:1}],0,1,0,()=>cK,()=>di]],cO=[-3,gD,"ObjectAlreadyInActiveTierError",{[hA]:hv,[hZ]:403},[],[]];uF.for(gD).registerError(cO,u3);var cQ=[3,gD,"ObjectIdentifier",0,["Key",h_,sG,"LastModifiedTime",hd],[0,0,0,6,1]],cG=[-3,gD,"ObjectNotInActiveTierError",{[hA]:hv,[hZ]:403},[],[]];uF.for(gD).registerError(cG,uQ);var cU=[3,gD,"ObjectPart",0,[lP,hd,sr,so,su,sx,sE],[1,1,0,0,0,0,0]],cq=[3,gD,lv,0,["CSV",ll],[()=>g3,()=>cx]],cK=[3,gD,lx,0,[sR,"ID"],[0,0]],c$=[3,gD,"OwnershipControlsRule",0,["ObjectOwnership"],[0]],cz=[3,gD,"ParquetInput",0,[],[]],cW=[3,gD,lZ,{[hz]:lZ},["PartitionDateSource"],[0]],cj=[3,gD,"PutObjectOutput",0,[sH,sG,sr,so,su,sx,sE,sL,ha,h_,hr,hu,hh,hl,si,hd,lH],[[0,{[hR]:h7}],[0,{[hR]:sG}],[0,{[hR]:h0}],[0,{[hR]:h1}],[0,{[hR]:h3}],[0,{[hR]:h4}],[0,{[hR]:h8}],[0,{[hR]:h6}],[0,{[hR]:gy}],[0,{[hR]:g_}],[0,{[hR]:gT}],[0,{[hR]:gx}],[()=>gP,{[hR]:gS}],[()=>gN,{[hR]:gC}],[2,{[hR]:gb}],[1,{[hR]:"x-amz-object-size"}],[0,{[hR]:gc}]]],cV=[3,gD,"PutObjectRequest",0,["ACL",sn,u9,sa,sh,sc,sd,sm,sS,sY,st,sr,so,su,sx,sE,sz,s7,ln,s1,s3,s2,s4,"Key","WriteOffsetBytes",lc,ha,l5,hY,hr,ho,hu,hh,hl,si,l$,hb,lL,l_,lE,sF],[[0,{[hR]:hj}],[()=>gZ,16],[0,1],[0,{[hR]:ss}],[0,{[hR]:sl}],[0,{[hR]:sg}],[0,{[hR]:sp}],[1,{[hR]:sf}],[0,{[hR]:sy}],[0,{[hR]:s_}],[0,{[hR]:gm}],[0,{[hR]:h0}],[0,{[hR]:h1}],[0,{[hR]:h3}],[0,{[hR]:h4}],[0,{[hR]:h8}],[4,{[hR]:sz}],[0,{[hR]:li}],[0,{[hR]:la}],[0,{[hR]:ge}],[0,{[hR]:gi}],[0,{[hR]:gn}],[0,{[hR]:ga}],[0,1],[1,{[hR]:"x-amz-write-offset-bytes"}],[128,{[hJ]:gr}],[0,{[hR]:gy}],[0,{[hR]:gf}],[0,{[hR]:gY}],[0,{[hR]:gT}],[()=>gA,{[hR]:gw}],[0,{[hR]:gx}],[()=>gP,{[hR]:gS}],[()=>gN,{[hR]:gC}],[2,{[hR]:gb}],[0,{[hR]:gd}],[0,{[hR]:gE}],[0,{[hR]:gl}],[5,{[hR]:gh}],[0,{[hR]:gs}],[0,{[hR]:h9}]]],c0=[3,gD,"PutObjectTaggingOutput",0,[h_],[[0,{[hR]:g_}]]],c1=[3,gD,"PutObjectTaggingRequest",0,[u9,"Key",h_,sS,st,hb,sF,l$],[[0,1],[0,1],[0,{[hk]:hK}],[0,{[hR]:sy}],[0,{[hR]:gm}],[()=>dy,{[hM]:1,[hz]:hb}],[0,{[hR]:h9}],[0,{[hR]:gd}]]],c3=[3,gD,"QueueConfiguration",0,["Id","QueueArn",sK,sW],[0,[0,{[hz]:"Queue"}],[64,{[h$]:1,[hz]:s$}],[()=>cX,0]]],c2=[3,gD,lq,0,[sH,sN],[0,1]],c4=[3,gD,l3,0,[s5,"HttpRedirectCode",lJ,"ReplaceKeyPrefixWith","ReplaceKeyWith"],[0,0,0,0,0]],c8=[3,gD,lK,0,[l2],[0]],c6=[3,gD,"ReplicationRule",0,["ID","Priority",lA,sW,l2,ht,sI,sB,sZ],[0,1,0,[()=>c7,0],0,()=>dh,()=>ci,()=>g5,()=>g4]],c5=[3,gD,"ReplicationRuleAndOperator",0,[lA,hp],[0,[()=>dM,{[h$]:1,[hz]:"Tag"}]]],c7=[3,gD,"ReplicationRuleFilter",0,[lA,"Tag","And"],[0,()=>dm,[()=>c5,0]]],c9=[3,gD,lV,0,[l2,"Time"],[0,()=>de]],de=[3,gD,"ReplicationTimeValue",0,["Minutes"],[1]],di=[3,gD,lj,0,["IsRestoreInProgress","RestoreExpiryDate"],[2,4]],dn=[3,gD,lz,0,[sv,l3],[()=>g$,()=>c4]],dt=[3,gD,"S3KeyFilter",0,["FilterRules"],[[()=>dA,{[h$]:1,[hz]:sV}]]],da=[3,gD,"S3Location",0,["BucketName",lA,sq,"CannedACL","AccessControlList",hb,hE,l5],[0,0,[()=>g7,0],0,[()=>dN,0],[()=>dy,0],[()=>dB,0],0]],dr=[3,gD,"ServerSideEncryptionByDefault",0,["SSEAlgorithm","KMSMasterKeyID"],[0,[()=>gP,0]]],du=[3,gD,"ServerSideEncryptionRule",0,["ApplyServerSideEncryptionByDefault",si,se],[[()=>dr,0],2,[()=>gX,0]]],ds=[3,gD,"SessionCredentials",0,[u8,l8,hc,sH],[[0,{[hz]:u8}],[()=>gv,{[hz]:l8}],[()=>gv,{[hz]:hc}],[4,{[hz]:sH}]]],dl=[3,gD,hi,{[hz]:hi},[],[]],dh=[3,gD,ht,0,[he,lK],[()=>dc,()=>c8]],dg=[3,gD,hs,{[hz]:l9},["KeyId"],[[()=>gP,0]]],dc=[3,gD,he,0,[l2],[0]],dd=[3,gD,hg,{[hz]:hn},[],[]],dp=[3,gD,l7,0,["DataExport"],[()=>df]],df=[3,gD,"StorageClassAnalysisDataExport",0,["OutputSchemaVersion",sB],[0,()=>gH]],dm=[3,gD,"Tag",0,["Key",hL],[0,0]],dy=[3,gD,hb,0,[hS],[[()=>dM,0]]],dS=[3,gD,"TargetGrant",0,[s6,lM],[[()=>co,{[hW]:["xsi",hB]}],0]],db=[3,gD,hy,0,[hi,lZ],[[()=>dl,{[hz]:hi}],[()=>cW,{[hz]:lZ}]]],dC=[3,gD,hC,0,[sN,u7],[1,0]],dT=[-3,gD,"TooManyParts",{[hA]:hv,[hZ]:400},[],[]];uF.for(gD).registerError(dT,u0);var dw=[3,gD,"TopicConfiguration",0,["Id","TopicArn",sK,sW],[0,[0,{[hz]:"Topic"}],[64,{[h$]:1,[hz]:s$}],[()=>cX,0]]],dx=[3,gD,hT,0,[sJ,sN,l5],[5,1,0]],dE=[3,gD,"UploadPartOutput",0,[ha,sG,sr,so,su,sx,sE,hr,hu,hh,si,lH],[[0,{[hR]:gy}],[0,{[hR]:sG}],[0,{[hR]:h0}],[0,{[hR]:h1}],[0,{[hR]:h3}],[0,{[hR]:h4}],[0,{[hR]:h8}],[0,{[hR]:gT}],[0,{[hR]:gx}],[()=>gP,{[hR]:gS}],[2,{[hR]:gb}],[0,{[hR]:gc}]]],dL=[3,gD,"UploadPartRequest",0,[sn,u9,sm,sS,st,sr,so,su,sx,sE,"Key",lP,hx,hr,ho,hu,l$,sF],[[()=>gZ,16],[0,1],[1,{[hR]:sf}],[0,{[hR]:sy}],[0,{[hR]:gm}],[0,{[hR]:h0}],[0,{[hR]:h1}],[0,{[hR]:h3}],[0,{[hR]:h4}],[0,{[hR]:h8}],[0,1],[1,{[hk]:hH}],[0,{[hk]:hq}],[0,{[hR]:gT}],[()=>gA,{[hR]:gw}],[0,{[hR]:gx}],[0,{[hR]:gd}],[0,{[hR]:h9}]]],d_=[-3,hU,"S3ServiceException",0,[],[]];uF.for(hU).registerError(d_,uI);var dY=[1,gD,"CommonPrefixList",0,()=>gQ],dD=[1,gD,"CompletedPartList",0,()=>gU],dv=[1,gD,"EncryptionTypeList",0,[0,{[hz]:sQ}]],dA=[1,gD,"FilterRuleList",0,()=>cn],dN=[1,gD,"Grants",0,[()=>cr,{[hz]:s8}]],dP=[1,gD,"InventoryOptionalFields",0,[0,{[hz]:"Field"}]],dZ=[1,gD,"NoncurrentVersionTransitionList",0,()=>cJ],dR=[1,gD,"ObjectList",0,[()=>cI,0]],dM=[1,gD,hS,0,[()=>dm,{[hz]:"Tag"}]],dJ=[1,gD,hm,0,[()=>dS,{[hz]:s8}]],dk=[1,gD,"TransitionList",0,()=>dx],dB=[1,gD,hE,0,[()=>cN,{[hz]:ld}]],dH=[4,gD,"AnalyticsFilter",0,[lA,"Tag","And"],[0,()=>dm,[()=>gB,0]]],dF=[4,gD,"MetricsFilter",0,[lA,"Tag",u6,"And"],[0,()=>dm,0,[()=>cR,0]]],dX=[9,gD,"AbortMultipartUpload",{[hN]:["DELETE","/{Key+}?x-id=AbortMultipartUpload",204]},()=>gJ,()=>gM],dI=[9,gD,sb,{[hN]:["POST","/{Key+}",200]},()=>gK,()=>gq],dO=[9,gD,"CreateMultipartUpload",{[hN]:["POST","/{Key+}?uploads",200]},()=>gj,()=>gW],dQ=[9,gD,"CreateSession",{[hN]:["GET","/?session",200]},()=>g0,()=>gV],dG=[9,gD,"DeleteObject",{[hN]:["DELETE","/{Key+}?x-id=DeleteObject",204]},()=>g6,()=>g8],dU=[9,gD,"GetObject",{[hP]:"-",[hN]:["GET","/{Key+}?x-id=GetObject",200]},()=>ca,()=>ct],dq=[9,gD,"HeadObject",{[hN]:["HEAD","/{Key+}",200]},()=>cs,()=>cu],dK=[9,gD,"ListObjectsV2",{[hN]:["GET","/?list-type=2",200]},()=>cA,()=>cv],d$=[9,gD,"PutObject",{[hP]:"-",[hN]:["PUT","/{Key+}?x-id=PutObject",200]},()=>cV,()=>cj],dz=[9,gD,"PutObjectTagging",{[hP]:"-",[hN]:["PUT","/{Key+}?tagging",200]},()=>c1,()=>c0],dW=[9,gD,"UploadPart",{[hP]:"-",[hN]:["PUT","/{Key+}?x-id=UploadPart",200]},()=>dL,()=>dE];class dj extends uk.classBuilder().ep({...uH,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(dQ).build(){}let dV={warningEmitted:!1},emitWarningIfUnsupportedVersion=e=>{e&&!dV.warningEmitted&&20>parseInt(e.substring(1,e.indexOf(".")))&&(dV.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`))},mR=e=>"string"==typeof e&&e.length>0?e.split(",").map(e=>e.trim()):[],m_="AWS_AUTH_SCHEME_PREFERENCE",mB="auth_scheme_preference",mX={environmentVariableSelector:(e,n)=>{if(n?.signingName){let i;if(i=n.signingName,`AWS_BEARER_TOKEN_${i.replace(/[\s-]/g,"_").toUpperCase()}`in e)return["httpBearerAuth"]}if(m_ in e)return mR(e[m_])},configFileSelector:e=>{if(mB in e)return mR(e[mB])},default:[]},mH="AWS_ACCESS_KEY_ID",mk="AWS_SECRET_ACCESS_KEY",mF=e=>async()=>{e?.logger?.debug("@aws-sdk/credential-provider-env - fromEnv");let n=process.env[mH],i=process.env[mk],t=process.env.AWS_SESSION_TOKEN,a=process.env.AWS_CREDENTIAL_EXPIRATION,u=process.env.AWS_CREDENTIAL_SCOPE,o=process.env.AWS_ACCOUNT_ID;if(n&&i){let e={accessKeyId:n,secretAccessKey:i,...t&&{sessionToken:t},...a&&{expiration:new Date(a)},...u&&{credentialScope:u},...o&&{accountId:o}};return u8(e,"CREDENTIALS_ENV_VARS","g"),e}throw new ue("Unable to find environment variable credentials.",{logger:e?.logger})},mQ="AWS_EC2_METADATA_DISABLED",mI=async e=>{let{ENV_CMDS_FULL_URI:n,ENV_CMDS_RELATIVE_URI:i,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[i]||process.env[n]){e.logger?.debug("@aws-sdk/credential-provider-node - remoteProvider::fromHttp/fromContainerMetadata");let{fromHttp:n}=await import("./1~35.mjs").then(e=>({fromHttp:e.fromHttp}));return a9(n(e),t(e))}return process.env[mQ]&&"false"!==process.env[mQ]?async()=>{throw new ue("EC2 Instance Metadata Service access disabled",{logger:e.logger})}:(e.logger?.debug("@aws-sdk/credential-provider-node - remoteProvider::fromInstanceMetadata"),a(e))},mO=!1,mG=(e={})=>{let n,i,t,a,u,o;return o=[async()=>{if(e.profile??process.env[ui])throw process.env[mH]&&process.env[mk]&&!mO&&((e.logger?.warn&&e.logger?.constructor?.name!=="NoOpLogger"?e.logger.warn.bind(e.logger):console.warn)(`@aws-sdk/credential-provider-node - defaultProvider::fromEnv WARNING:
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()):[],d0="AWS_AUTH_SCHEME_PREFERENCE",d1="auth_scheme_preference",d3={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(d0 in e)return getArrayForCommaSeparatedString(e[d0])},configFileSelector:e=>{if(d1 in e)return getArrayForCommaSeparatedString(e[d1])},default:[]},d2="AWS_ACCESS_KEY_ID",d4="AWS_SECRET_ACCESS_KEY",fromEnv_fromEnv=e=>async()=>{e?.logger?.debug("@aws-sdk/credential-provider-env - fromEnv");let i=process.env[d2],n=process.env[d4],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 tB("Unable to find environment variable credentials.",{logger:e?.logger})},d8="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[d8]&&"false"!==process.env[d8]?async()=>{throw new tB("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},d6=!1,defaultProvider=(e={})=>memoizeChain([async()=>{if(e.profile??process.env[tH])throw process.env[d2]&&process.env[d4]&&!d6&&((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,19 +64,31 @@ More information can be found at: https://a.co/c895JFp`))},mR=e=>"string"==typeo
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
- `),mO=!0),new ue("AWS_PROFILE is set, skipping fromEnv provider.",{logger:e.logger,tryNextLink:!0});return e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromEnv"),mF(e)()},async n=>{e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromSSO");let{ssoStartUrl:i,ssoAccountId:t,ssoRegion:a,ssoRoleName:u,ssoSession:o}=e;if(!i&&!t&&!a&&!u&&!o)throw new ue("Skipping SSO provider in default chain (inputs do not include SSO fields).",{logger:e.logger});let{fromSSO:r}=await import("./1~390.mjs").then(e=>({fromSSO:e.fromSSO}));return r(e)(n)},async n=>{e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromIni");let{fromIni:i}=await import("./1~113.mjs").then(e=>({fromIni:e.fromIni}));return i(e)(n)},async n=>{e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromProcess");let{fromProcess:i}=await import("./1~844.mjs").then(e=>({fromProcess:e.fromProcess}));return i(e)(n)},async n=>{e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromTokenFile");let{fromTokenFile:i}=await import("./1~622.mjs").then(e=>({fromTokenFile:e.fromTokenFile}));return i(e)(n)},async()=>(e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::remoteProvider"),(await mI(e))()),async()=>{throw new ue("Could not load credentials from any providers",{tryNextLink:!1,logger:e.logger})}],a=async e=>{let n;for(let i of o)try{return await i(e)}catch(e){if(n=e,e?.tryNextLink)continue;throw e}throw n},u=async e=>{if(e?.forceRefresh)return await a(e);if(t?.expiration&&t?.expiration?.getTime()<Date.now()&&(t=void 0),n)await n;else if(!t||m$?.(t))if(!t)return n=a(e).then(e=>{t=e,n=void 0}),u(e);else i||(i=a(e).then(e=>{t=e,i=void 0}));return t}},m$=e=>e?.expiration!==void 0&&e.expiration.getTime()-Date.now()<3e5,mK={environmentVariableSelector:e=>am(e,"AWS_S3_USE_ARN_REGION",eu.ENV),configFileSelector:e=>am(e,"s3_use_arn_region",eu.CONFIG),default:void 0};(q=eh||(eh={})).ENV="env",q.CONFIG="shared config entry";let mU=(e,n,i,t)=>{if(!(n in e))return;let a=e[n].toUpperCase();if(!Object.values(i).includes(a))throw TypeError(`Cannot load ${t} '${n}'. Expected one of ${Object.values(i)}, got '${e[n]}'.`);return a},mW={environmentVariableSelector:e=>mU(e,"AWS_REQUEST_CHECKSUM_CALCULATION",t0,eh.ENV),configFileSelector:e=>mU(e,"request_checksum_calculation",t0,eh.CONFIG),default:t1},mz={environmentVariableSelector:e=>mU(e,"AWS_RESPONSE_CHECKSUM_VALIDATION",t3,eh.ENV),configFileSelector:e=>mU(e,"response_checksum_validation",t3,eh.CONFIG),default:t2},mj=({serviceId:e,clientVersion:n})=>async i=>{let t=[["aws-sdk-js",n],["ua","2.1"],[`os/${(0,tK.platform)()}`,(0,tK.release)()],["lang/js"],["md/nodejs",`${R.node}`]],a=null;a&&t.push(a),e&&t.push([`api/${e}`,n]),M.AWS_EXECUTION_ENV&&t.push([`exec-env/${M.AWS_EXECUTION_ENV}`]);let u=await i?.userAgentAppId?.();return u?[...t,[`app/${u}`]]:[...t]},mq={environmentVariableSelector:e=>e.AWS_SDK_UA_APP_ID,configFileSelector:e=>e.sdk_ua_app_id??e["sdk-ua-app-id"],default:aD},mV={environmentVariableSelector:e=>e.AWS_REGION,configFileSelector:e=>e.region,default:()=>{throw Error("Region is missing")}},m0={preferredFile:"credentials"},m1={environmentVariableSelector:e=>am(e,"AWS_USE_DUALSTACK_ENDPOINT",eu.ENV),configFileSelector:e=>am(e,"use_dualstack_endpoint",eu.CONFIG),default:!1},m3={environmentVariableSelector:e=>am(e,"AWS_USE_FIPS_ENDPOINT",eu.ENV),configFileSelector:e=>am(e,"use_fips_endpoint",eu.CONFIG),default:!1};function m2(e,n,i,t){return new(i||(i=Promise))(function(a,u){function o(e){try{s(t.next(e))}catch(e){u(e)}}function r(e){try{s(t.throw(e))}catch(e){u(e)}}function s(e){var n;e.done?a(e.value):((n=e.value)instanceof i?n:new i(function(e){e(n)})).then(o,r)}s((t=t.apply(e,n||[])).next())})}function m4(e,n){var i,t,a,u={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=r(0),o.throw=r(1),o.return=r(2),"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(r){return function(s){var l=[r,s];if(i)throw TypeError("Generator is already executing.");for(;o&&(o=0,l[0]&&(u=0)),u;)try{if(i=1,t&&(a=2&l[0]?t.return:l[0]?t.throw||((a=t.return)&&a.call(t),0):t.next)&&!(a=a.call(t,l[1])).done)return a;switch(t=0,a&&(l=[2&l[0],a.value]),l[0]){case 0:case 1:a=l;break;case 4:return u.label++,{value:l[1],done:!1};case 5:u.label++,t=l[1],l=[0];continue;case 7:l=u.ops.pop(),u.trys.pop();continue;default:if(!(a=(a=u.trys).length>0&&a[a.length-1])&&(6===l[0]||2===l[0])){u=0;continue}if(3===l[0]&&(!a||l[1]>a[0]&&l[1]<a[3])){u.label=l[1];break}if(6===l[0]&&u.label<a[1]){u.label=a[1],a=l;break}if(a&&u.label<a[2]){u.label=a[2],u.ops.push(l);break}a[2]&&u.ops.pop(),u.trys.pop();continue}l=n.call(e,u)}catch(e){l=[6,e],t=0}finally{i=a=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}function m6(e){var n="function"==typeof Symbol&&Symbol.iterator,i=n&&e[n],t=0;if(i)return i.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(n?"Object is not iterable.":"Symbol.iterator is not defined.")}var m8="u">typeof Buffer&&Buffer.from?function(e){return Buffer.from(e,"utf8")}:e=>{let n=((e,n)=>{if("string"!=typeof e)throw TypeError(`The "input" argument must be of type string. Received type ${typeof e} (${e})`);return n?oa.Buffer.from(e,n):oa.Buffer.from(e)})(e,"utf8");return new Uint8Array(n.buffer,n.byteOffset,n.byteLength/Uint8Array.BYTES_PER_ELEMENT)};function m5(e){return e instanceof Uint8Array?e:"string"==typeof e?m8(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(e)}function m7(e){return"string"==typeof e?0===e.length:0===e.byteLength}function m9(e){return new Uint8Array([(0xff000000&e)>>24,(0xff0000&e)>>16,(65280&e)>>8,255&e])}function ye(e){if(!Uint32Array.from){for(var n=new Uint32Array(e.length),i=0;i<e.length;)n[i]=e[i],i+=1;return n}return Uint32Array.from(e)}var yn=function(){function e(){this.crc32=new yi}return e.prototype.update=function(e){m7(e)||this.crc32.update(m5(e))},e.prototype.digest=function(){return m2(this,void 0,void 0,function(){return m4(this,function(e){return[2,m9(this.crc32.digest())]})})},e.prototype.reset=function(){this.crc32=new yi},e}(),yi=function(){function e(){this.checksum=0xffffffff}return e.prototype.update=function(e){var n,i;try{for(var t=m6(e),a=t.next();!a.done;a=t.next()){var u=a.value;this.checksum=this.checksum>>>8^yt[(this.checksum^u)&255]}}catch(e){n={error:e}}finally{try{a&&!a.done&&(i=t.return)&&i.call(t)}finally{if(n)throw n.error}}return this},e.prototype.digest=function(){return(0xffffffff^this.checksum)>>>0},e}(),yt=ye([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 ya{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 n=new Uint8Array(8);for(let i=7,t=Math.abs(Math.round(e));i>-1&&t>0;i--,t/=256)n[i]=t;return e<0&&yu(n),new ya(n)}valueOf(){let e=this.bytes.slice(0),n=128&e[0];return n&&yu(e),parseInt(oi(e),16)*(n?-1:1)}toString(){return String(this.valueOf())}}function yu(e){for(let n=0;n<8;n++)e[n]^=255;for(let n=7;n>-1&&(e[n]++,0===e[n]);n--);}class yo{toUtf8;fromUtf8;constructor(e,n){this.toUtf8=e,this.fromUtf8=n}format(e){let n=[];for(let i of Object.keys(e)){let t=this.fromUtf8(i);n.push(Uint8Array.from([t.byteLength]),t,this.formatHeaderValue(e[i]))}let i=new Uint8Array(n.reduce((e,n)=>e+n.byteLength,0)),t=0;for(let e of n)i.set(e,t),t+=e.byteLength;return i}formatHeaderValue(e){switch(e.type){case"boolean":return Uint8Array.from([+!e.value]);case"byte":return Uint8Array.from([2,e.value]);case"short":let n=new DataView(new ArrayBuffer(3));return n.setUint8(0,3),n.setInt16(1,e.value,!1),new Uint8Array(n.buffer);case"integer":let i=new DataView(new ArrayBuffer(5));return i.setUint8(0,4),i.setInt32(1,e.value,!1),new Uint8Array(i.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 u=new Uint8Array(a.buffer);return u.set(e.value,3),u;case"string":let o=this.fromUtf8(e.value),r=new DataView(new ArrayBuffer(3+o.byteLength));r.setUint8(0,7),r.setUint16(1,o.byteLength,!1);let s=new Uint8Array(r.buffer);return s.set(o,3),s;case"timestamp":let l=new Uint8Array(9);return l[0]=8,l.set(ya.fromNumber(e.value.valueOf()).bytes,1),l;case"uuid":if(!ym.test(e.value))throw Error(`Invalid UUID received: ${e.value}`);let h=new Uint8Array(17);return h[0]=9,h.set(on(e.value.replace(/\-/g,"")),1),h}}parse(e){let n={},i=0;for(;i<e.byteLength;){let t=e.getUint8(i++),a=this.toUtf8(new Uint8Array(e.buffer,e.byteOffset+i,t));switch(i+=t,e.getUint8(i++)){case 0:n[a]={type:yr,value:!0};break;case 1:n[a]={type:yr,value:!1};break;case 2:n[a]={type:ys,value:e.getInt8(i++)};break;case 3:n[a]={type:yl,value:e.getInt16(i,!1)},i+=2;break;case 4:n[a]={type:yh,value:e.getInt32(i,!1)},i+=4;break;case 5:n[a]={type:yg,value:new ya(new Uint8Array(e.buffer,e.byteOffset+i,8))},i+=8;break;case 6:let u=e.getUint16(i,!1);i+=2,n[a]={type:yc,value:new Uint8Array(e.buffer,e.byteOffset+i,u)},i+=u;break;case 7:let o=e.getUint16(i,!1);i+=2,n[a]={type:yd,value:this.toUtf8(new Uint8Array(e.buffer,e.byteOffset+i,o))},i+=o;break;case 8:n[a]={type:yp,value:new Date(new ya(new Uint8Array(e.buffer,e.byteOffset+i,8)).valueOf())},i+=8;break;case 9:let r=new Uint8Array(e.buffer,e.byteOffset+i,16);i+=16,n[a]={type:yf,value:`${oi(r.subarray(0,4))}-${oi(r.subarray(4,6))}-${oi(r.subarray(6,8))}-${oi(r.subarray(8,10))}-${oi(r.subarray(10))}`};break;default:throw Error("Unrecognized header type tag")}}return n}}(V=eg||(eg={}))[V.boolTrue=0]="boolTrue",V[V.boolFalse=1]="boolFalse",V[V.byte=2]="byte",V[V.short=3]="short",V[V.integer=4]="integer",V[V.long=5]="long",V[V.byteArray=6]="byteArray",V[V.string=7]="string",V[V.timestamp=8]="timestamp",V[V.uuid=9]="uuid";let yr="boolean",ys="byte",yl="short",yh="integer",yg="long",yc="binary",yd="string",yp="timestamp",yf="uuid",ym=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/,yy=16;class yS{headerMarshaller;messageBuffer;isEndOfStream;constructor(e,n){this.headerMarshaller=new yo(e,n),this.messageBuffer=[],this.isEndOfStream=!1}feed(e){this.messageBuffer.push(this.decode(e))}endOfStream(){this.isEndOfStream=!0}getMessage(){let e=this.messageBuffer.pop(),n=this.isEndOfStream;return{getMessage:()=>e,isEndOfStream:()=>n}}getAvailableMessages(){let e=this.messageBuffer;this.messageBuffer=[];let n=this.isEndOfStream;return{getMessages:()=>e,isEndOfStream:()=>n}}encode({headers:e,body:n}){let i=this.headerMarshaller.format(e),t=i.byteLength+n.byteLength+16,a=new Uint8Array(t),u=new DataView(a.buffer,a.byteOffset,a.byteLength),o=new yi;return u.setUint32(0,t,!1),u.setUint32(4,i.byteLength,!1),u.setUint32(8,o.update(a.subarray(0,8)).digest(),!1),a.set(i,12),a.set(n,i.byteLength+12),u.setUint32(t-4,o.update(a.subarray(8,t-4)).digest(),!1),a}decode(e){let{headers:n,body:i}=function({byteLength:e,byteOffset:n,buffer:i}){if(e<yy)throw Error("Provided message too short to accommodate event stream message overhead");let t=new DataView(i,n,e),a=t.getUint32(0,!1);if(e!==a)throw Error("Reported message length does not match received message length");let u=t.getUint32(4,!1),o=t.getUint32(8,!1),r=t.getUint32(e-4,!1),s=new yi().update(new Uint8Array(i,n,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(i,n+8,e-12)),r!==s.digest())throw Error(`The message checksum (${s.digest()}) did not match the expected value of ${r}`);return{headers:new DataView(i,n+8+4,u),body:new Uint8Array(i,n+8+4+u,a-u-16)}}(e);return{headers:this.headerMarshaller.parse(n),body:i}}formatHeaders(e){return this.headerMarshaller.format(e)}}class yb{options;constructor(e){this.options=e}[Symbol.asyncIterator](){return this.asyncIterator()}async *asyncIterator(){for await(let e of this.options.messageStream){let n=await this.options.deserializer(e);void 0!==n&&(yield n)}}}class yC{options;constructor(e){this.options=e}[Symbol.asyncIterator](){return this.asyncIterator()}async *asyncIterator(){for await(let e of this.options.inputStream){let n=this.options.decoder.decode(e);yield n}}}class yw{options;constructor(e){this.options=e}[Symbol.asyncIterator](){return this.asyncIterator()}async *asyncIterator(){for await(let e of this.options.messageStream){let n=this.options.encoder.encode(e);yield n}this.options.includeEndFrame&&(yield new Uint8Array(0))}}class yT{options;constructor(e){this.options=e}[Symbol.asyncIterator](){return this.asyncIterator()}async *asyncIterator(){for await(let e of this.options.inputStream){let n=this.options.serializer(e);yield n}}}class yx{eventStreamCodec;utfEncoder;constructor({utf8Encoder:e,utf8Decoder:n}){this.eventStreamCodec=new yS(e,n),this.utfEncoder=e}deserialize(e,n){var i;let t,a,u,o,r;return new yb({messageStream:new yC({inputStream:(t=0,a=0,u=null,o=null,r=e=>{if("number"!=typeof e)throw Error("Attempted to allocate an event message where size was not a number: "+e);t=e,a=4,new DataView((u=new Uint8Array(e)).buffer).setUint32(0,e,!1)},{[Symbol.asyncIterator]:async function*(){let n=e[Symbol.asyncIterator]();for(;;){let{value:e,done:i}=await n.next();if(i){if(t)if(t===a)yield u;else throw Error("Truncated event message received.");return}let s=e.length,l=0;for(;l<s;){if(!u){let n=s-l;o||(o=new Uint8Array(4));let i=Math.min(4-a,n);if(o.set(e.slice(l,l+i),a),a+=i,l+=i,a<4)break;r(new DataView(o.buffer).getUint32(0,!1)),o=null}let n=Math.min(t-a,s-l);u.set(e.slice(l,l+n),a),a+=n,l+=n,t&&t===a&&(yield u,u=null,t=0,a=0)}}}}),decoder:this.eventStreamCodec}),deserializer:(i=this.utfEncoder,async function(e){let{value:t}=e.headers[":message-type"];if("error"===t){let n=Error(e.headers[":error-message"].value||"UnknownError");throw n.name=e.headers[":error-code"].value,n}if("exception"===t){let t=e.headers[":exception-type"].value,a=await n({[t]:e});if(a.$unknown){let n=Error(i(e.body));throw n.name=t,n}throw a[t]}if("event"===t){let i={[e.headers[":event-type"].value]:e},t=await n(i);if(t.$unknown)return;return t}throw Error(`Unrecognizable event type: ${e.headers[":event-type"].value}`)})})}serialize(e,n){return new yw({messageStream:new yT({inputStream:e,serializer:n}),encoder:this.eventStreamCodec,includeEndFrame:!0})}}async function*yL(e){let n=!1,i=!1,t=[];for(e.on("error",e=>{if(n||(n=!0),e)throw e}),e.on("data",e=>{t.push(e)}),e.on("end",()=>{n=!0});!i;){let e=await new Promise(e=>setTimeout(()=>e(t.shift()),0));e&&(yield e),i=n&&0===t.length}}class yE{universalMarshaller;constructor({utf8Encoder:e,utf8Decoder:n}){this.universalMarshaller=new yx({utf8Decoder:n,utf8Encoder:e})}deserialize(e,n){let i="function"==typeof e[Symbol.asyncIterator]?e:yL(e);return this.universalMarshaller.deserialize(i,n)}serialize(e,n){return u$.Readable.from(this.universalMarshaller.serialize(e,n))}}let yY=e=>new yE(e);class yD{algorithmIdentifier;secret;hash;constructor(e,n){this.algorithmIdentifier=e,this.secret=n,this.reset()}update(e,n){this.hash.update(os(yv(e,n)))}digest(){return Promise.resolve(this.hash.digest())}reset(){this.hash=this.secret?(0,uQ.createHmac)(this.algorithmIdentifier,yv(this.secret)):(0,uQ.createHash)(this.algorithmIdentifier)}}function yv(e,n){return oa.Buffer.isBuffer(e)?e:"string"==typeof e?oo(e,n):ArrayBuffer.isView(e)?ou(e.buffer,e.byteOffset,e.byteLength):ou(e)}class yZ extends u$.Writable{hash;constructor(e,n){super(n),this.hash=e}_write(e,n,i){try{this.hash.update(os(e))}catch(e){return i(e)}i()}}let yN=(e,n)=>{if(null!==n.readableFlowing)throw Error("Unable to calculate hash for flowing readable stream");let i=new e,t=new yZ(i);return n.pipe(t),new Promise((e,a)=>{n.on("error",e=>{t.end(),a(e)}),t.on("error",a),t.on("finish",()=>{i.digest().then(e).catch(a)})})},yA=["ECONNRESET","EPIPE","ETIMEDOUT"],yJ=e=>clearTimeout(e),yP=3e3;async function yM(e,n,i=6e3,t=!1){var a,u;let o=n.headers??{},r=o.Expect||o.expect,s=-1,l=!0;t||"100-continue"!==r||(l=await Promise.race([new Promise(e=>{s=Number(setTimeout(()=>e(!0),Math.max(6e3,i)))}),new Promise(n=>{e.on("continue",()=>{yJ(s),n(!0)}),e.on("response",()=>{yJ(s),n(!1)}),e.on("error",()=>{yJ(s),n(!1)})})])),l&&(a=e,(u=n.body)instanceof u$.Readable?u.pipe(a):u?Buffer.isBuffer(u)||"string"==typeof u?a.end(u):"object"==typeof u&&u.buffer&&"number"==typeof u.byteOffset&&"number"==typeof u.byteLength?a.end(Buffer.from(u.buffer,u.byteOffset,u.byteLength)):a.end(Buffer.from(u)):a.end())}class yR{config;configProvider;socketWarningTimestamp=0;externalAgent=!1;metadata={handlerProtocol:"http/1.1"};static create(e){return"function"==typeof e?.handle?e:new yR(e)}static checkSocketUsage(e,n,i=console){let{sockets:t,requests:a,maxSockets:u}=e;if("number"!=typeof u||u===1/0||Date.now()-15e3<n)return n;if(t&&a)for(let e in t){let n=t[e]?.length??0,o=a[e]?.length??0;if(n>=u&&o>=2*u)return i?.warn?.(`@smithy/node-http-handler:WARN - socket usage at capacity=${n} and ${o} additional requests are enqueued.
67
+ `),d6=!0),new tB("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 tB("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 tB("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,d5={environmentVariableSelector:e=>booleanSelector(e,"AWS_S3_USE_ARN_REGION",er.ENV),configFileSelector:e=>booleanSelector(e,"s3_use_arn_region",er.CONFIG),default:void 0};(j=eh||(eh={})).ENV="env",j.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},d7={environmentVariableSelector:e=>stringUnionSelector(e,"AWS_REQUEST_CHECKSUM_CALCULATION",n0,eh.ENV),configFileSelector:e=>stringUnionSelector(e,"request_checksum_calculation",n0,eh.CONFIG),default:n1},d9={environmentVariableSelector:e=>stringUnionSelector(e,"AWS_RESPONSE_CHECKSUM_VALIDATION",n3,eh.ENV),configFileSelector:e=>stringUnionSelector(e,"response_checksum_validation",n3,eh.CONFIG),default:n2},createDefaultUserAgentProvider=({serviceId:e,clientVersion:i})=>async n=>{let t=[["aws-sdk-js",i],["ua","2.1"],[`os/${(0,nz.platform)()}`,(0,nz.release)()],["lang/js"],["md/nodejs",`${M.node}`]],a=null;a&&t.push(a),e&&t.push([`api/${e}`,i]),R.AWS_EXECUTION_ENV&&t.push([`exec-env/${R.AWS_EXECUTION_ENV}`]);let r=await n?.userAgentAppId?.();return r?[...t,[`app/${r}`]]:[...t]},pe={environmentVariableSelector:e=>e.AWS_SDK_UA_APP_ID,configFileSelector:e=>e.sdk_ua_app_id??e["sdk-ua-app-id"],default:ty},pi={environmentVariableSelector:e=>e.AWS_REGION,configFileSelector:e=>e.region,default:()=>{throw Error("Region is missing")}},pn={preferredFile:"credentials"},pt={environmentVariableSelector:e=>booleanSelector(e,"AWS_USE_DUALSTACK_ENDPOINT",er.ENV),configFileSelector:e=>booleanSelector(e,"use_dualstack_endpoint",er.CONFIG),default:!1},pa={environmentVariableSelector:e=>booleanSelector(e,"AWS_USE_FIPS_ENDPOINT",er.ENV),configFileSelector:e=>booleanSelector(e,"use_fips_endpoint",er.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 pr="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?as.Buffer.from(e,i):as.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?pr(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 po=function(){function AwsCrc32(){this.crc32=new pu}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 pu},AwsCrc32}(),pu=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^ps[(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}(),ps=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 pl{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 pl(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 ph{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(pl.fromNumber(e.value.valueOf()).bytes,1),l;case"uuid":if(!pC.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:pg,value:!0};break;case 1:i[a]={type:pg,value:!1};break;case 2:i[a]={type:pc,value:e.getInt8(n++)};break;case 3:i[a]={type:pd,value:e.getInt16(n,!1)},n+=2;break;case 4:i[a]={type:pp,value:e.getInt32(n,!1)},n+=4;break;case 5:i[a]={type:pf,value:new pl(new Uint8Array(e.buffer,e.byteOffset+n,8))},n+=8;break;case 6:let r=e.getUint16(n,!1);n+=2,i[a]={type:pm,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:py,value:this.toUtf8(new Uint8Array(e.buffer,e.byteOffset+n,o))},n+=o;break;case 8:i[a]={type:pS,value:new Date(new pl(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:pb,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}}(V=eg||(eg={}))[V.boolTrue=0]="boolTrue",V[V.boolFalse=1]="boolFalse",V[V.byte=2]="byte",V[V.short=3]="short",V[V.integer=4]="integer",V[V.long=5]="long",V[V.byteArray=6]="byteArray",V[V.string=7]="string",V[V.timestamp=8]="timestamp",V[V.uuid=9]="uuid";let pg="boolean",pc="byte",pd="short",pp="integer",pf="long",pm="binary",py="string",pS="timestamp",pb="uuid",pC=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/,pT=16;function splitMessage({byteLength:e,byteOffset:i,buffer:n}){if(e<pT)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 pu().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 pw{headerMarshaller;messageBuffer;isEndOfStream;constructor(e,i){this.headerMarshaller=new ph(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 pu;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 px{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 pE{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 pL{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 p_{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 pY{eventStreamCodec;utfEncoder;constructor({utf8Encoder:e,utf8Decoder:i}){this.eventStreamCodec=new pw(e,i),this.utfEncoder=e}deserialize(e,i){return new px({messageStream:new pE({inputStream:getChunkedStream(e),decoder:this.eventStreamCodec}),deserializer:getMessageUnmarshaller(i,this.utfEncoder)})}serialize(e,i){return new pL({messageStream:new p_({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 pD{universalMarshaller;constructor({utf8Encoder:e,utf8Decoder:i}){this.universalMarshaller=new pY({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 ai.Readable.from(this.universalMarshaller.serialize(e,i))}}let eventStreamSerdeProvider=e=>new pD(e);class pv{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,t7.createHmac)(this.algorithmIdentifier,castSourceData(this.secret)):(0,t7.createHash)(this.algorithmIdentifier)}}function castSourceData(e,i){return as.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 pA extends ai.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 pA(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 pN=["ECONNRESET","EPIPE","ETIMEDOUT"],pP=e=>clearTimeout(e),pZ=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",()=>{pP(o),i(!0)}),e.on("response",()=>{pP(o),i(!1)}),e.on("error",()=>{pP(o),i(!1)})})])),u&&writeBody(e,i.body)}function writeBody(e,i){i instanceof ai.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 pR{config;configProvider;socketWarningTimestamp=0;externalAgent=!1;metadata={handlerProtocol:"http/1.1"};static create(e){return"function"==typeof e?.handle?e:new pR(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 n}constructor(e){this.configProvider=new Promise((n,i)=>{"function"==typeof e?e().then(e=>{n(this.resolveDefaultConfig(e))}).catch(i):n(this.resolveDefaultConfig(e))})}resolveDefaultConfig(e){let{requestTimeout:n,connectionTimeout:i,socketTimeout:t,socketAcquisitionWarningTimeout:a,httpAgent:u,httpsAgent:o,throwOnRequestTimeout:r}=e||{};return{connectionTimeout:i,requestTimeout:n,socketTimeout:t,socketAcquisitionWarningTimeout:a,throwOnRequestTimeout:r,httpAgent:u instanceof _||"function"==typeof u?.destroy?(this.externalAgent=!0,u):new _({keepAlive:!0,maxSockets:50,...u}),httpsAgent:o instanceof X||"function"==typeof o?.destroy?(this.externalAgent=!0,o):new X({keepAlive:!0,maxSockets:50,...o}),logger:console}}destroy(){this.config?.httpAgent?.destroy(),this.config?.httpsAgent?.destroy()}async handle(e,{abortSignal:n,requestTimeout:i}={}){return this.config||(this.config=await this.configProvider),new Promise((t,a)=>{let u,o,r=this.config,s=[],l=async e=>{await u,s.forEach(yJ),t(e)},h=async e=>{await u,s.forEach(yJ),a(e)};if(n?.aborted){let e=Error("Request aborted");e.name="AbortError",h(e);return}let g="https:"===e.protocol,c=e.headers??{},d=(c.Expect??c.expect)==="100-continue",p=g?r.httpsAgent:r.httpAgent;d&&!this.externalAgent&&(p=new(g?X:_)({keepAlive:!1,maxSockets:1/0})),s.push(setTimeout(()=>{this.socketWarningTimestamp=yR.checkSocketUsage(p,this.socketWarningTimestamp,r.logger)},r.socketAcquisitionWarningTimeout??(r.requestTimeout??2e3)+(r.connectionTimeout??1e3)));let f=function(e){let n=[];for(let i of Object.keys(e).sort()){let t=e[i];if(i=oR(i),Array.isArray(t))for(let e=0,a=t.length;e<a;e++)n.push(`${i}=${oR(t[e])}`);else{let e=i;(t||"string"==typeof t)&&(e+=`=${oR(t)}`),n.push(e)}}return n.join("&")}(e.query||{});if(null!=e.username||null!=e.password){let n=e.username??"",i=e.password??"";o=`${n}:${i}`}let m=e.path;f&&(m+=`?${f}`),e.fragment&&(m+=`#${e.fragment}`);let y=e.hostname??"";y="["===y[0]&&y.endsWith("]")?e.hostname.slice(1,-1):e.hostname;let S={headers:e.headers,host:y,method:e.method,path:m,port:e.port,agent:p,auth:o},b=(g?H:B)(S,e=>{l({response:new aq({statusCode:e.statusCode||-1,reason:e.statusMessage,headers:(e=>{let n={};for(let i of Object.keys(e)){let t=e[i];n[i]=Array.isArray(t)?t.join(","):t}return n})(e.headers),body:e})})});if(b.on("error",e=>{yA.includes(e.code)?h(Object.assign(e,{name:"TimeoutError"})):h(e)}),n){let e=()=>{b.destroy();let e=Error("Request aborted");e.name="AbortError",h(e)};"function"==typeof n.addEventListener?(n.addEventListener("abort",e,{once:!0}),b.once("close",()=>n.removeEventListener("abort",e))):n.onabort=e}let C=i??r.requestTimeout;s.push(((e,n,i=0)=>{if(!i)return -1;let t=t=>{let a=setTimeout(()=>{e.destroy(),n(Object.assign(Error(`@smithy/node-http-handler - the request socket did not establish a connection with the server within the configured timeout of ${i} ms.`),{name:"TimeoutError"}))},i-t),u=e=>{e?.connecting?e.on("connect",()=>{yJ(a)}):yJ(a)};e.socket?u(e.socket):e.on("socket",u)};return i<2e3?(t(0),0):setTimeout(t.bind(null,1e3),1e3)})(b,h,r.connectionTimeout)),s.push(((e,n,i=0,t,a)=>i?setTimeout(()=>{let u=`@smithy/node-http-handler - [${t?"ERROR":"WARN"}] a request has exceeded the configured ${i} ms requestTimeout.`;if(t){let i=Object.assign(Error(u),{name:"TimeoutError",code:"ETIMEDOUT"});e.destroy(i),n(i)}else u+=" Init client requestHandler with throwOnRequestTimeout=true to turn this into an error.",a?.warn?.(u)},i):-1)(b,h,C,r.throwOnRequestTimeout,r.logger??console)),s.push(((e,n,i=0)=>{let t=t=>{let a=i-t,u=()=>{e.destroy(),n(Object.assign(Error(`@smithy/node-http-handler - the request socket timed out after ${i} ms of inactivity (configured by client requestHandler).`),{name:"TimeoutError"}))};e.socket?(e.socket.setTimeout(a,u),e.on("close",()=>e.socket?.removeListener("timeout",u))):e.setTimeout(a,u)};return 0<i&&i<6e3?(t(0),0):setTimeout(t.bind(null,3e3*(0!==i)),3e3)})(b,h,r.socketTimeout));let w=S.agent;"object"==typeof w&&"keepAlive"in w&&s.push(((e,{keepAlive:n,keepAliveMsecs:i},t=yP)=>{if(!0!==n)return -1;let a=()=>{e.socket?e.socket.setKeepAlive(n,i||0):e.on("socket",e=>{e.setKeepAlive(n,i||0)})};return 0===t?(a(),0):setTimeout(a,t)})(b,{keepAlive:w.keepAlive,keepAliveMsecs:w.keepAliveMsecs})),u=yM(b,e,C,this.externalAgent).catch(e=>(s.forEach(yJ),a(e)))})}updateHttpClientConfig(e,n){this.config=void 0,this.configProvider=this.configProvider.then(i=>({...i,[e]:n}))}httpHandlerConfigs(){return this.config??{}}}class y_ extends u$.Writable{bufferedBytes=[];_write(e,n,i){this.bufferedBytes.push(e),i()}}let yB=e=>yX(e)?yH(e):new Promise((n,i)=>{let t=new y_;e.pipe(t),e.on("error",e=>{t.end(),i(e)}),t.on("error",i),t.on("finish",function(){n(new Uint8Array(Buffer.concat(this.bufferedBytes)))})}),yX=e=>"function"==typeof ReadableStream&&e instanceof ReadableStream;async function yH(e){let n=[],i=e.getReader(),t=!1,a=0;for(;!t;){let{done:e,value:u}=await i.read();u&&(n.push(u),a+=u.length),t=e}let u=new Uint8Array(a),o=0;for(let e of n)u.set(e,o),o+=e.length;return u}let yk=!1,yF=e=>{e&&!yk&&16>parseInt(e.substring(1,e.indexOf(".")))&&(yk=!0)},yQ=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{}}},yI=E("node:fs"),yO=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 yI.ReadStream){if(null!=e.path)return(0,yI.lstatSync)(e.path).size;else if("number"==typeof e.fd)return(0,yI.fstatSync)(e.fd).size}throw Error(`Body Length computation failed for ${e}`)},yG="AWS_REGION",y$="AWS_DEFAULT_REGION",yK=["in-region","cross-region","mobile","standard","legacy"],yU={environmentVariableSelector:e=>e.AWS_DEFAULTS_MODE,configFileSelector:e=>e.defaults_mode,default:"legacy"},yW=({region:e=uy(mV),defaultsMode:n=uy(yU)}={})=>a5(async()=>{let i="function"==typeof n?await n():n;switch(i?.toLowerCase()){case"auto":return yz(e);case"in-region":case"cross-region":case"mobile":case"standard":case"legacy":return Promise.resolve(i?.toLocaleLowerCase());case void 0:return Promise.resolve("legacy");default:throw Error(`Invalid parameter for "defaultsMode", expect ${yK.join(", ")}, got ${i}`)}}),yz=async e=>{if(e){let n="function"==typeof e?await e():e,i=await yj();return i?n===i?"in-region":"cross-region":"standard"}return"standard"},yj=async()=>{if(process.env.AWS_EXECUTION_ENV&&(process.env[yG]||process.env[y$]))return process.env[yG]??process.env[y$];if(!process.env.AWS_EC2_METADATA_DISABLED)try{let{getInstanceMetadataEndpoint:e,httpRequest:n}=await import("./1~398.mjs").then(e=>({getInstanceMetadataEndpoint:e.getInstanceMetadataEndpoint,httpRequest:e.httpRequest})),i=await e();return(await n({...i,path:"/latest/meta-data/placement/region"})).toString()}catch(e){}},yq=e=>new Date(Date.now()+e),yV=e=>aq.isInstance(e)?e.headers?.date??e.headers?.Date:void 0,y0=(e,n)=>{let i=Date.parse(e);return Math.abs(yq(n).getTime()-i)>=3e5?i-Date.now():n},y1=(e,n)=>{if(!n)throw Error(`Property \`${e}\` is not resolved for AWS SDK SigV4Auth`);return n},y3=async e=>{let n=y1("context",e.context),i=y1("config",e.config),t=n.endpointV2?.properties?.authSchemes?.[0],a=y1("signer",i.signer),u=await a(t),o=e?.signingRegion;return{config:i,signer:u,signingRegion:o,signingRegionSet:e?.signingRegionSet,signingName:e?.signingName}};class y2{async sign(e,n,i){if(!tj.isInstance(e))throw Error("The request is not an instance of `HttpRequest` and cannot be signed");let t=await y3(i),{config:a,signer:u}=t,{signingRegion:o,signingName:r}=t,s=i.context;if(s?.authSchemes?.length){let[e,n]=s.authSchemes;e?.name==="sigv4a"&&n?.name==="sigv4"&&(o=n?.signingRegion??o,r=n?.signingName??r)}return await u.sign(e,{signingDate:yq(a.systemClockOffset),signingRegion:o,signingService:r})}errorHandler(e){return n=>{let i=n.ServerTime??yV(n.$response);if(i){let t=y1("config",e.config),a=t.systemClockOffset;t.systemClockOffset=y0(i,t.systemClockOffset),t.systemClockOffset!==a&&n.$metadata&&(n.$metadata.clockSkewCorrected=!0)}throw n}}successHandler(e,n){let i=yV(e);if(i){let e=y1("config",n.config);e.systemClockOffset=y0(i,e.systemClockOffset)}}}class y4 extends y2{async sign(e,n,i){if(!tj.isInstance(e))throw Error("The request is not an instance of `HttpRequest` and cannot be signed");let{config:t,signer:a,signingRegion:u,signingRegionSet:o,signingName:r}=await y3(i),s=(await t.sigv4aSigningRegionSet?.()??o??[u]).join(",");return await a.sign(e,{signingDate:yq(t.systemClockOffset),signingRegion:s,signingService:r})}}let y6=e=>{let n,i=e.length,t=[],a=!1,u=0;for(let o=0;o<i;++o){let i=e[o];switch(i){case'"':"\\"!==n&&(a=!a);break;case",":a||(t.push(e.slice(u,o)),u=o+1)}n=i}return t.push(e.slice(u)),t.map(e=>{let n=(e=e.trim()).length;return n<2?e:('"'===e[0]&&'"'===e[n-1]&&(e=e.slice(1,n-1)),e.replace(/\\"/g,'"'))})},y8=/^[A-Za-z0-9+/]*={0,2}$/,y5=e=>{if(3*e.length%4!=0)throw TypeError("Incorrect padding on base64 string.");if(!y8.exec(e))throw TypeError("Invalid base64 string.");let n=oo(e,"base64");return new Uint8Array(n.buffer,n.byteOffset,n.byteLength)},y7=async e=>"function"==typeof Blob&&e instanceof Blob||e.constructor?.name==="Blob"?void 0!==Blob.prototype.arrayBuffer?new Uint8Array(await e.arrayBuffer()):y9(e):Se(e);async function y9(e){var n;return new Uint8Array(y5(await (n=e,new Promise((e,i)=>{let t=new FileReader;t.onloadend=()=>{if(2!==t.readyState)return i(Error("Reader aborted too early"));let n=t.result??"",a=n.indexOf(","),u=a>-1?a+1:n.length;e(n.substring(u))},t.onabort=()=>i(Error("Read aborted")),t.onerror=()=>i(t.error),t.readAsDataURL(n)}))))}async function Se(e){let n=[],i=e.getReader(),t=!1,a=0;for(;!t;){let{done:e,value:u}=await i.read();u&&(n.push(u),a+=u.length),t=e}let u=new Uint8Array(a),o=0;for(let e of n)u.set(e,o),o+=e.length;return u}let Sn=e=>{let n;if("object"!=typeof(n="string"==typeof e?or(e):e)||"number"!=typeof n.byteOffset||"number"!=typeof n.byteLength)throw Error("@smithy/util-base64: toBase64 encoder function only accepts string | Uint8Array.");return ou(n.buffer,n.byteOffset,n.byteLength).toString("base64")},Si=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 ou(e.buffer,e.byteOffset,e.byteLength).toString("utf8")},St="The stream has already been transformed.",Sa=e=>"function"==typeof Blob&&e instanceof Blob,Su="The stream has already been transformed.",So=e=>{if(!(e instanceof u$.Readable))try{if(!Sa(e)&&!hn(e)){let n=e?.__proto__?.constructor?.name||e;throw Error(`Unexpected stream implementation, expect Blob or ReadableStream, got ${n}`)}let n=!1,i=async()=>{if(n)throw Error(St);return n=!0,await y7(e)};return Object.assign(e,{transformToByteArray:i,transformToString:async e=>{let n=await i();if("base64"===e)return Sn(n);if("hex"===e)return oi(n);if(void 0===e||"utf8"===e||"utf-8"===e)return Si(n);if("function"==typeof TextDecoder)return new TextDecoder(e).decode(n);throw Error("TextDecoder is not available, please make sure polyfill is provided.")},transformToWebStream:()=>{if(n)throw Error(St);if(n=!0,Sa(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(hn(e))return e;throw Error(`Cannot transform payload to web stream, got ${e}`)}})}catch(i){let n=e?.__proto__?.constructor?.name||e;throw Error(`Unexpected stream implementation, expect Stream.Readable instance, got ${n}`)}let n=!1,i=async()=>{if(n)throw Error(Su);return n=!0,await yB(e)};return Object.assign(e,{transformToByteArray:i,transformToString:async e=>{let n=await i();return void 0===e||Buffer.isEncoding(e)?ou(n.buffer,n.byteOffset,n.byteLength).toString(e):new TextDecoder(e).decode(n)},transformToWebStream:()=>{if(n)throw Error(Su);if(null!==e.readableFlowing)throw Error("The stream has been consumed by other callbacks.");if("function"!=typeof u$.Readable.toWeb)throw Error("Readable.toWeb() is not supported. Please ensure a polyfill is available.");return n=!0,u$.Readable.toWeb(e)}})};class Sr extends Uint8Array{static fromString(e,n="utf-8"){if("string"==typeof e)return"base64"===n?Sr.mutate(y5(e)):Sr.mutate(or(e));throw Error(`Unsupported conversion from ${typeof e} to Uint8ArrayBlobAdapter.`)}static mutate(e){return Object.setPrototypeOf(e,Sr.prototype),e}transformToString(e="utf-8"){return"base64"===e?Sn(this):Si(this)}}let Ss=async(e=new Uint8Array,n)=>{if(e instanceof Uint8Array)return Sr.mutate(e);if(!e)return Sr.mutate(new Uint8Array);let i=n.streamCollector(e);return Sr.mutate(await i)};function Sl(e){return encodeURIComponent(e).replace(/[!'()*]/g,function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})}class Sh{serdeContext;setSerdeContext(e){this.serdeContext=e}}class Sg extends Sh{options;constructor(e){super(),this.options=e}getRequestType(){return tj}getResponseType(){return aq}setSerdeContext(e){this.serdeContext=e,this.serializer.setSerdeContext(e),this.deserializer.setSerdeContext(e),this.getPayloadCodec()&&this.getPayloadCodec().setSerdeContext(e)}updateServiceEndpoint(e,n){if(!("url"in n))return e.protocol=n.protocol,e.hostname=n.hostname,e.port=n.port?Number(n.port):void 0,e.path=n.path,e.query={...n.query},e;for(let[i,t]of(e.protocol=n.url.protocol,e.hostname=n.url.hostname,e.port=n.url.port?Number(n.url.port):void 0,e.path=n.url.pathname,e.fragment=n.url.hash||void 0,e.username=n.url.username||void 0,e.password=n.url.password||void 0,e.query||(e.query={}),n.url.searchParams.entries()))e.query[i]=t;return e}setHostPrefix(e,n,i){let t=hc.of(n.input),a=hg(n.traits??{});if(a.endpoint){let n=a.endpoint?.[0];if("string"==typeof n){for(let[e]of[...t.structIterator()].filter(([,e])=>e.getMergedTraits().hostLabel)){let t=i[e];if("string"!=typeof t)throw Error(`@smithy/core/schema - ${e} in input must be a string as hostLabel.`);n=n.replace(`{${e}}`,t)}e.hostname=n+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:n,initialRequest:i}){return(await this.loadEventStreamCapability()).serializeEventStream({eventStream:e,requestSchema:n,initialRequest:i})}async deserializeEventStream({response:e,responseSchema:n,initialResponseContainer:i}){return(await this.loadEventStreamCapability()).deserializeEventStream({response:e,responseSchema:n,initialResponseContainer:i})}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,n,i,t,a){return[]}getEventStreamMarshaller(){let e=this.serdeContext;if(!e.eventStreamMarshaller)throw Error("@smithy/core - HttpProtocol: eventStreamMarshaller missing in serdeContext.");return e.eventStreamMarshaller}}class Sc extends Sg{async serializeRequest(e,n,i){let t,a={...n??{}},u=this.serializer,o={},r={},s=await i.endpoint(),l=hc.of(e?.input),h=l.getSchema(),g=!1,c=new tj({protocol:"",hostname:"",port:void 0,path:"",fragment:void 0,query:o,headers:r,body:void 0});if(s){this.updateServiceEndpoint(c,s),this.setHostPrefix(c,e,a);let n=hg(e.traits);if(n.http){c.method=n.http[0];let[e,i]=n.http[1].split("?");"/"==c.path?c.path=e:c.path+=e,Object.assign(o,Object.fromEntries(new URLSearchParams(i??"")))}}for(let[e,n]of l.structIterator()){let i=n.getMergedTraits()??{},s=a[e];if(null!=s||n.isIdempotencyToken())if(i.httpPayload)n.isStreaming()?n.isStructSchema()?a[e]&&(t=await this.serializeEventStream({eventStream:a[e],requestSchema:l})):t=s:(u.write(n,s),t=u.flush()),delete a[e];else if(i.httpLabel){u.write(n,s);let i=u.flush();c.path.includes(`{${e}+}`)?c.path=c.path.replace(`{${e}+}`,i.split("/").map(Sl).join("/")):c.path.includes(`{${e}}`)&&(c.path=c.path.replace(`{${e}}`,Sl(i))),delete a[e]}else if(i.httpHeader)u.write(n,s),r[i.httpHeader.toLowerCase()]=String(u.flush()),delete a[e];else if("string"==typeof i.httpPrefixHeaders){for(let[e,t]of Object.entries(s)){let a=i.httpPrefixHeaders+e;u.write([n.getValueSchema(),{httpHeader:a}],t),r[a.toLowerCase()]=u.flush()}delete a[e]}else i.httpQuery||i.httpQueryParams?(this.serializeQuery(n,s,o),delete a[e]):g=!0}return g&&a&&(u.write(h,a),t=u.flush()),c.headers=r,c.query=o,c.body=t,c}serializeQuery(e,n,i){let t=this.serializer,a=e.getMergedTraits();if(a.httpQueryParams){for(let[t,u]of Object.entries(n))if(!(t in i)){let n=e.getValueSchema();Object.assign(n.getMergedTraits(),{...a,httpQuery:t,httpQueryParams:void 0}),this.serializeQuery(n,u,i)}return}if(e.isListSchema()){let u=!!e.getMergedTraits().sparse,o=[];for(let i of n){t.write([e.getValueSchema(),a],i);let n=t.flush();(u||void 0!==n)&&o.push(n)}i[a.httpQuery]=o}else t.write([e,a],n),i[a.httpQuery]=t.flush()}async deserializeResponse(e,n,i){let t=this.deserializer,a=hc.of(e.output),u={};if(i.statusCode>=300){let a=await Ss(i.body,n);throw a.byteLength>0&&Object.assign(u,await t.read(15,a)),await this.handleError(e,n,i,u,this.deserializeMetadata(i)),Error("@smithy/core/protocols - HTTP Protocol error handler failed to throw.")}for(let e in i.headers){let n=i.headers[e];delete i.headers[e],i.headers[e.toLowerCase()]=n}let o=await this.deserializeHttpMessage(a,n,i,u);if(o.length){let e=await Ss(i.body,n);if(e.byteLength>0){let n=await t.read(a,e);for(let e of o)u[e]=n[e]}}else o.discardResponseBody&&await Ss(i.body,n);return u.$metadata=this.deserializeMetadata(i),u}async deserializeHttpMessage(e,n,i,t,a){let u;u=t instanceof Set?a:t;let o=!0,r=this.deserializer,s=hc.of(e),l=[];for(let[e,t]of s.structIterator()){let a=t.getMemberTraits();if(a.httpPayload){if(o=!1,t.isStreaming())t.isStructSchema()?u[e]=await this.deserializeEventStream({response:i,responseSchema:s}):u[e]=So(i.body);else if(i.body){let a=await Ss(i.body,n);a.byteLength>0&&(u[e]=await r.read(t,a))}}else if(a.httpHeader){let n=String(a.httpHeader).toLowerCase(),o=i.headers[n];if(null!=o)if(t.isListSchema()){let i=t.getValueSchema();i.getMergedTraits().httpHeader=n;let a=[];for(let e of i.isTimestampSchema()&&4===i.getSchema()?function(e,n,i){if(!Number.isInteger(2))throw Error("Invalid number of delimiters (2) for splitEvery.");let t=e.split(","),a=[],u="";for(let e=0;e<t.length;e++)""===u?u=t[e]:u+=","+t[e],(e+1)%2==0&&(a.push(u),u="");return""!==u&&a.push(u),a}(o,0,0):y6(o))a.push(await r.read(i,e.trim()));u[e]=a}else u[e]=await r.read(t,o)}else if(void 0!==a.httpPrefixHeaders){for(let[n,o]of(u[e]={},Object.entries(i.headers)))if(n.startsWith(a.httpPrefixHeaders)){let i=t.getValueSchema();i.getMergedTraits().httpHeader=n,u[e][n.slice(a.httpPrefixHeaders.length)]=await r.read(i,o)}}else a.httpResponseCode?u[e]=i.statusCode:l.push(e)}return l.discardResponseBody=o,l}}let Sd=e=>{if(null!=e){if("string"==typeof e){let n=parseFloat(e);if(!Number.isNaN(n))return String(n)!==String(e)&&ST.warn(Sw(`Expected number but observed string: ${e}`)),n}if("number"==typeof e)return e;throw TypeError(`Expected number, got ${typeof e}: ${e}`)}},Sp=Math.ceil(17014118346046923e22*(2-11920928955078125e-23)),Sf=e=>{let n=Sd(e);if(void 0!==n&&!Number.isNaN(n)&&n!==1/0&&n!==-1/0&&Math.abs(n)>Sp)throw TypeError(`Expected 32-bit float, got ${e}`);return n},Sm=(e,n)=>{let i=(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!==i&&Sy(i,n)!==i)throw TypeError(`Expected ${n}-bit integer, got ${e}`);return i},Sy=(e,n)=>{switch(n){case 32:return Int32Array.of(e)[0];case 16:return Int16Array.of(e)[0];case 8:return Int8Array.of(e)[0]}},SS=/(-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?)|(-?Infinity)|(NaN)/g,Sb=e=>{let n=e.match(SS);if(null===n||n[0].length!==e.length)throw TypeError("Expected real number, got implicit NaN");return parseFloat(e)},SC=e=>"string"==typeof e?Sm(Sb(e),16):Sm(e,16),Sw=e=>String(TypeError(e).stack||e).split("\n").slice(0,5).filter(e=>!e.includes("stackTraceWarning")).join("\n"),ST={warn:console.warn},Sx=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],SL=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function SE(e){let n=e.getUTCFullYear(),i=e.getUTCMonth(),t=e.getUTCDay(),a=e.getUTCDate(),u=e.getUTCHours(),o=e.getUTCMinutes(),r=e.getUTCSeconds(),s=a<10?`0${a}`:`${a}`,l=u<10?`0${u}`:`${u}`,h=o<10?`0${o}`:`${o}`,g=r<10?`0${r}`:`${r}`;return`${Sx[t]}, ${s} ${SL[i]} ${n} ${l}:${h}:${g} GMT`}let SY=new RegExp(/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?[zZ]$/),SD=e=>{if(null==e)return;if("string"!=typeof e)throw TypeError("RFC-3339 date-times must be expressed as strings");let n=SY.exec(e);if(!n)throw TypeError("Invalid RFC-3339 date-time value");let[i,t,a,u,o,r,s,l]=n;return SR(SC(SG(t)),SQ(a,"month",1,12),SQ(u,"day",1,31),{hours:o,minutes:r,seconds:s,fractionalMilliseconds:l})},Sv=new RegExp(/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?(([-+]\d{2}\:\d{2})|[zZ])$/),SZ=e=>{if(null==e)return;if("string"!=typeof e)throw TypeError("RFC-3339 date-times must be expressed as strings");let n=Sv.exec(e);if(!n)throw TypeError("Invalid RFC-3339 date-time value");let[i,t,a,u,o,r,s,l,h]=n,g=SR(SC(SG(t)),SQ(a,"month",1,12),SQ(u,"day",1,31),{hours:o,minutes:r,seconds:s,fractionalMilliseconds:l});return"Z"!=h.toUpperCase()&&g.setTime(g.getTime()-SO(h)),g},SN=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$/),SA=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$/),SJ=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})$/),SP=e=>{if(null==e)return;if("string"!=typeof e)throw TypeError("RFC-7231 date-times must be expressed as strings");let n=SN.exec(e);if(n){let[e,i,t,a,u,o,r,s]=n;return SR(SC(SG(a)),SX(t),SQ(i,"day",1,31),{hours:u,minutes:o,seconds:r,fractionalMilliseconds:s})}if(n=SA.exec(e)){let[e,i,t,a,u,o,r,s]=n;return SB(SR(S_(a),SX(t),SQ(i,"day",1,31),{hours:u,minutes:o,seconds:r,fractionalMilliseconds:s}))}if(n=SJ.exec(e)){let[e,i,t,a,u,o,r,s]=n;return SR(SC(SG(s)),SX(i),SQ(t.trimLeft(),"day",1,31),{hours:a,minutes:u,seconds:o,fractionalMilliseconds:r})}throw TypeError("Invalid RFC-7231 date-time value")},SM=e=>{let n;if(null!=e){if("number"==typeof e)n=e;else if("string"==typeof e)n="string"==typeof e?Sd(Sb(e)):Sd(e);else if("object"==typeof e&&1===e.tag)n=e.value;else throw TypeError("Epoch timestamps must be expressed as floating point numbers or their string representation");if(Number.isNaN(n)||n===1/0||n===-1/0)throw TypeError("Epoch timestamps must be valid, non-Infinite, non-NaN numerics");return new Date(Math.round(1e3*n))}},SR=(e,n,i,t)=>{let a=n-1;return Sk(e,a,i),new Date(Date.UTC(e,a,i,SQ(t.hours,"hour",0,23),SQ(t.minutes,"minute",0,59),SQ(t.seconds,"seconds",0,60),SI(t.fractionalMilliseconds)))},S_=e=>{let n=new Date().getUTCFullYear(),i=100*Math.floor(n/100)+SC(SG(e));return i<n?i+100:i},SB=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,SX=e=>{let n=SL.indexOf(e);if(n<0)throw TypeError(`Invalid month: ${e}`);return n+1},SH=[31,28,31,30,31,30,31,31,30,31,30,31],Sk=(e,n,i)=>{let t=SH[n];if(1===n&&SF(e)&&(t=29),i>t)throw TypeError(`Invalid day for ${SL[n]} in ${e}: ${i}`)},SF=e=>e%4==0&&(e%100!=0||e%400==0),SQ=(e,n,i,t)=>{var a;let u="string"==typeof(a=SG(e))?Sm(Sb(a),8):Sm(a,8);if(u<i||u>t)throw TypeError(`${n} must be between ${i} and ${t}, inclusive`);return u},SI=e=>{var n;return null==e?0:1e3*("string"==typeof(n="0."+e)?Sf(Sb(n)):Sf(n))},SO=e=>{let n=e[0],i=1;if("+"==n)i=1;else if("-"==n)i=-1;else throw TypeError(`Offset direction, ${n}, must be "+" or "-"`);return i*(60*Number(e.substring(1,3))+Number(e.substring(4,6)))*6e4},SG=e=>{let n=0;for(;n<e.length-1&&"0"===e.charAt(n);)n++;return 0===n?e:e.slice(n)},S$=function(e){return Object.assign(new String(e),{deserializeJSON:()=>JSON.parse(String(e)),toString:()=>String(e),toJSON:()=>String(e)})};function SK(e,n){if(n.timestampFormat.useTrait&&e.isTimestampSchema()&&(5===e.getSchema()||6===e.getSchema()||7===e.getSchema()))return e.getSchema();let{httpLabel:i,httpPrefixHeaders:t,httpHeader:a,httpQuery:u}=e.getMergedTraits();return(n.httpBindings?"string"==typeof t||a?6:u||i?5:void 0:void 0)??n.timestampFormat.default}S$.from=e=>e&&"object"==typeof e&&(e instanceof S$||"deserializeJSON"in e)?e:"string"==typeof e||Object.getPrototypeOf(e)===String.prototype?S$(String(e)):S$(JSON.stringify(e)),S$.fromObject=S$.from;class SU extends Sh{settings;stringBuffer="";constructor(e){super(),this.settings=e}write(e,n){let i=hc.of(e);switch(typeof n){case"object":if(null===n){this.stringBuffer="null";return}if(i.isTimestampSchema()){if(!(n instanceof Date))throw Error(`@smithy/core/protocols - received non-Date value ${n} when schema expected Date in ${i.getName(!0)}`);switch(SK(i,this.settings)){case 5:this.stringBuffer=n.toISOString().replace(".000Z","Z");break;case 6:this.stringBuffer=SE(n);break;case 7:this.stringBuffer=String(n.getTime()/1e3);break;default:console.warn("Missing timestamp format, using epoch seconds",n),this.stringBuffer=String(n.getTime()/1e3)}return}if(i.isBlobSchema()&&"byteLength"in n){this.stringBuffer=(this.serdeContext?.base64Encoder??Sn)(n);return}if(i.isListSchema()&&Array.isArray(n)){let e="";for(let a of n){var t;this.write([i.getValueSchema(),i.getMergedTraits()],a);let n=this.flush();""!==e&&(e+=", "),e+=i.getValueSchema().isTimestampSchema()?n:(((t=n).includes(",")||t.includes('"'))&&(t=`"${t.replace(/"/g,'\\"')}"`),t)}this.stringBuffer=e;return}this.stringBuffer=JSON.stringify(n,null,2);break;case"string":let a=i.getMergedTraits().mediaType,u=n;if(a&&(("application/json"===a||a.endsWith("+json"))&&(u=S$.from(u)),i.getMergedTraits().httpHeader)){this.stringBuffer=(this.serdeContext?.base64Encoder??Sn)(u.toString());return}this.stringBuffer=n;break;default:i.isIdempotencyToken()?this.stringBuffer=uG():this.stringBuffer=String(n)}}flush(){let e=this.stringBuffer;return this.stringBuffer="",e}}class SW{codecSerializer;stringSerializer;buffer;constructor(e,n,i=new SU(n)){this.codecSerializer=e,this.stringSerializer=i}setSerdeContext(e){this.codecSerializer.setSerdeContext(e),this.stringSerializer.setSerdeContext(e)}write(e,n){let i=hc.of(e),t=i.getMergedTraits();if(t.httpHeader||t.httpLabel||t.httpQuery){this.stringSerializer.write(i,n),this.buffer=this.stringSerializer.flush();return}return this.codecSerializer.write(i,n)}flush(){if(void 0!==this.buffer){let e=this.buffer;return this.buffer=void 0,e}return this.codecSerializer.flush()}}let Sz="(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun)(?:[ne|u?r]?s?day)?",Sj="(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)",Sq="(\\d?\\d):(\\d{2}):(\\d{2})(?:\\.(\\d+))?",SV="(\\d?\\d)",S0="(\\d{4})",S1=new RegExp(/^(\d{4})-(\d\d)-(\d\d)[tT](\d\d):(\d\d):(\d\d)(\.(\d+))?(([-+]\d\d:\d\d)|[zZ])$/),S3=RegExp(`^${Sz}, ${SV} ${Sj} ${S0} ${Sq} GMT$`),S2=RegExp(`^${Sz}, ${SV}-${Sj}-(\\d\\d) ${Sq} GMT$`),S4=RegExp(`^${Sz} ${Sj} ( [1-9]|\\d\\d) ${Sq} ${S0}$`),S6=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function S8(e,n,i){let t=Number(e);if(t<n||t>i)throw Error(`Value ${t} out of range [${n}, ${i}]`)}let S5=/^-?\d*(\.\d+)?$/;class S7{string;type;constructor(e,n){if(this.string=e,this.type=n,!S5.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&&(S7.prototype.isPrototypeOf(e)||"bigDecimal"===e.type&&S5.test(e.string))}}class S9 extends Sh{settings;constructor(e){super(),this.settings=e}read(e,n){let i=hc.of(e);if(i.isListSchema())return y6(n).map(e=>this.read(i.getValueSchema(),e));if(i.isBlobSchema())return(this.serdeContext?.base64Decoder??y5)(n);if(i.isTimestampSchema())switch(SK(i,this.settings)){case 5:return(e=>{if(null==e)return;if("string"!=typeof e)throw TypeError("RFC3339 timestamps must be strings");let n=S1.exec(e);if(!n)throw TypeError(`Invalid RFC3339 timestamp format ${e}`);let[,i,t,a,u,o,r,,s,l]=n;S8(t,1,12),S8(a,1,31),S8(u,0,23),S8(o,0,59),S8(r,0,60);let h=new Date(Date.UTC(Number(i),Number(t)-1,Number(a),Number(u),Number(o),Number(r),Number(s)?Math.round(1e3*parseFloat(`0.${s}`)):0));if(h.setUTCFullYear(Number(i)),"Z"!=l.toUpperCase()){let[,e,n,i]=/([+-])(\d\d):(\d\d)/.exec(l)||[void 0,"+",0,0];h.setTime(h.getTime()+("-"===e?1:-1)*(60*Number(n)*6e4+60*Number(i)*1e3))}return h})(n);case 6:return(e=>{let n,i,t,a,u,o,r,s;if(null!=e){if("string"!=typeof e)throw TypeError("RFC7231 timestamps must be strings.");if((s=S3.exec(e))?[,n,i,t,a,u,o,r]=s:(s=S2.exec(e))?([,n,i,t,a,u,o,r]=s,t=(Number(t)+1900).toString()):(s=S4.exec(e))&&([,i,n,a,u,o,r,t]=s),t&&o){let e=Date.UTC(Number(t),S6.indexOf(i),Number(n),Number(a),Number(u),Number(o),r?Math.round(1e3*parseFloat(`0.${r}`)):0);S8(n,1,31),S8(a,0,23),S8(u,0,59),S8(o,0,60);let s=new Date(e);return s.setUTCFullYear(Number(t)),s}throw TypeError(`Invalid RFC7231 date-time value ${e}.`)}})(n);case 7:if(null==n)return;let t=NaN;if("number"==typeof n)t=n;else if("string"==typeof n){if(!/^-?\d*\.?\d+$/.test(n))throw TypeError("parseEpochTimestamp - numeric string invalid.");t=Number.parseFloat(n)}else"object"==typeof n&&1===n.tag&&(t=n.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:",n),new Date(n)}if(i.isStringSchema()){let e=i.getMergedTraits().mediaType,t=n;if(e)return i.getMergedTraits().httpHeader&&(t=this.base64ToUtf8(t)),("application/json"===e||e.endsWith("+json"))&&(t=S$.from(t)),t}return i.isNumericSchema()?Number(n):i.isBigIntegerSchema()?BigInt(n):i.isBigDecimalSchema()?new S7(n,"bigDecimal"):i.isBooleanSchema()?"true"===String(n).toLowerCase():n}base64ToUtf8(e){return(this.serdeContext?.utf8Encoder??Si)((this.serdeContext?.base64Decoder??y5)(e))}}class be extends Sh{codecDeserializer;stringDeserializer;constructor(e,n){super(),this.codecDeserializer=e,this.stringDeserializer=new S9(n)}setSerdeContext(e){this.stringDeserializer.setSerdeContext(e),this.codecDeserializer.setSerdeContext(e),this.serdeContext=e}read(e,n){let i=hc.of(e),t=i.getMergedTraits(),a=this.serdeContext?.utf8Encoder??Si;if(t.httpHeader||t.httpResponseCode)return this.stringDeserializer.read(i,a(n));if(t.httpPayload){if(i.isBlobSchema()){let e=this.serdeContext?.utf8Decoder??or;return"string"==typeof n?e(n):n}else if(i.isStringSchema())return"byteLength"in n?a(n):n}return this.codecDeserializer.read(i,n)}}class bn{queryCompat;constructor(e=!1){this.queryCompat=e}resolveRestContentType(e,n){let i=n.getMemberSchemas(),t=Object.values(i).find(e=>!!e.getMergedTraits().httpPayload);if(t){let n=t.getMergedTraits().mediaType;return n?n:t.isStringSchema()?"text/plain":t.isBlobSchema()?"application/octet-stream":e}if(!n.isUnitSchema()&&Object.values(i).find(e=>{let{httpQuery:n,httpQueryParams:i,httpHeader:t,httpLabel:a,httpPrefixHeaders:u}=e.getMergedTraits();return!n&&!i&&!t&&!a&&void 0===u}))return e}async getErrorSchemaOrThrowBaseException(e,n,i,t,a,u){let o=n,r=e;e.includes("#")&&([o,r]=e.split("#"));let s={$metadata:a,$fault:i.statusCode<500?"client":"server"},l=hw.for(o);try{return{errorSchema:u?.(l,r)??l.getSchema(e),errorMetadata:s}}catch(i){t.message=t.message??t.Message??"UnknownError";let e=hw.for("smithy.ts.sdk.synthetic."+o),n=e.getBaseException();if(n){let i=e.getErrorCtor(n)??Error;throw this.decorateServiceException(Object.assign(new i({name:r}),s),t)}throw this.decorateServiceException(Object.assign(Error(r),s),t)}}decorateServiceException(e,n={}){if(this.queryCompat){let i=e.Message??n.Message,t=hx(e,n);i&&(t.message=i),t.Error={...t.Error,Type:t.Error.Type,Code:t.Error.Code,Message:t.Error.message??t.Error.Message??i};let a=t.$metadata.requestId;return a&&(t.RequestId=a),t}return hx(e,n)}setQueryCompatError(e,n){let i=n.headers?.["x-amzn-query-error"];if(void 0!==e&&null!=i){let[n,t]=i.split(";"),a=Object.entries(e),u={Code:n,Type:t};for(let[n,i]of(Object.assign(e,u),a))u["message"===n?"Message":n]=i;delete u.__type,e.Error=u}}queryCompatOutput(e,n){e.Error&&(n.Error=e.Error),e.Type&&(n.Type=e.Type),e.Code&&(n.Code=e.Code)}findQueryCompatibleError(e,n){try{return e.getSchema(n)}catch(i){return e.find(e=>hc.of(e).getMergedTraits().awsQueryError?.[0]===n)}}}class bi{serdeContext;setSerdeContext(e){this.serdeContext=e}}let bt={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,n){return n},attributeValueProcessor:function(e,n){return n},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(e,n,i){return e},captureMetaData:!1},ba=":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",bu=RegExp("^"+("["+ba+"]["+ba)+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$");function bo(e,n){let i=[],t=n.exec(e);for(;t;){let a=[];a.startIndex=n.lastIndex-t[0].length;let u=t.length;for(let e=0;e<u;e++)a.push(t[e]);i.push(a),t=n.exec(e)}return i}let br=function(e){return null!=bu.exec(e)};i="function"!=typeof Symbol?"@@xmlMetadata":Symbol("XML Node Metadata");class bs{constructor(e){this.tagname=e,this.child=[],this[":@"]={}}add(e,n){"__proto__"===e&&(e="#__proto__"),this.child.push({[e]:n})}addChild(e,n){"__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!==n&&(this.child[this.child.length-1][i]={startIndex:n})}static getMetaDataSymbol(){return i}}let bl=(e,n)=>{for(;n<e.length&&/\s/.test(e[n]);)n++;return n};function bh(e,n,i){let t="",a=e[n];if('"'!==a&&"'"!==a)throw Error(`Expected quoted string, found "${a}"`);for(n++;n<e.length&&e[n]!==a;)t+=e[n],n++;if(e[n]!==a)throw Error(`Unterminated ${i} value`);return[++n,t]}function bg(e,n,i){for(let t=0;t<n.length;t++)if(n[t]!==e[i+t+1])return!1;return!0}function bc(e){if(br(e))return e;throw Error(`Invalid entity name ${e}`)}let bd=/^[-+]?0x[a-fA-F0-9]+$/,bp=/^([\-\+])?(0*)([0-9]*(\.[0-9]*)?)$/,bf={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0},bm=/^([-+])?(0*)(\d*(\.\d*)?[eE][-\+]?\d+)$/;class by{constructor(e){var n;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,n)=>String.fromCodePoint(Number.parseInt(n,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(e,n)=>String.fromCodePoint(Number.parseInt(n,16))}},this.addExternalEntities=bS,this.parseXml=bx,this.parseTextData=bb,this.resolveNameSpace=bC,this.buildAttributesMap=bT,this.isItStopNode=bD,this.replaceEntitiesValue=bE,this.readStopNodeData=bN,this.saveTextToParentTag=bY,this.addChild=bL,this.ignoreAttributesFn="function"==typeof(n=this.options.ignoreAttributes)?n:Array.isArray(n)?e=>{for(let i of n)if("string"==typeof i&&e===i||i instanceof RegExp&&i.test(e))return!0}:()=>!1}}function bS(e){let n=Object.keys(e);for(let i=0;i<n.length;i++){let t=n[i];this.lastEntities[t]={regex:RegExp("&"+t+";","g"),val:e[t]}}}function bb(e,n,i,t,a,u,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(n,e,i,a,u);return null==t?e:typeof t!=typeof e||t!==e?t:this.options.trimValues||e.trim()===e?bA(e,this.options.parseTagValue,this.options.numberParseOptions):e}}function bC(e){if(this.options.removeNSPrefix){let n=e.split(":"),i="/"===e.charAt(0)?"/":"";if("xmlns"===n[0])return"";2===n.length&&(e=i+n[1])}return e}let bw=RegExp("([^\\s=]+)\\s*(=\\s*(['\"])([\\s\\S]*?)\\3)?","gm");function bT(e,n,i){if(!0!==this.options.ignoreAttributes&&"string"==typeof e){let i=bo(e,bw),t=i.length,a={};for(let e=0;e<t;e++){let t=this.resolveNameSpace(i[e][1]);if(this.ignoreAttributesFn(t,n))continue;let u=i[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!==u){this.options.trimValues&&(u=u.trim()),u=this.replaceEntitiesValue(u);let e=this.options.attributeValueProcessor(t,u,n);null==e?a[o]=u:typeof e!=typeof u||e!==u?a[o]=e:a[o]=bA(u,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 bx=function(e){e=e.replace(/\r\n?/g,"\n");let n=new bs("!xml"),i=n,t="",a="";for(let u=0;u<e.length;u++)if("<"===e[u])if("/"===e[u+1]){let n=bv(e,">",u,"Closing Tag is not closed."),o=e.substring(u+2,n).trim();if(this.options.removeNSPrefix){let e=o.indexOf(":");-1!==e&&(o=o.substr(e+1))}this.options.transformTagName&&(o=this.options.transformTagName(o)),i&&(t=this.saveTextToParentTag(t,i,a));let r=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;r&&-1!==this.options.unpairedTags.indexOf(r)?(s=a.lastIndexOf(".",a.lastIndexOf(".")-1),this.tagsNodeStack.pop()):s=a.lastIndexOf("."),a=a.substring(0,s),i=this.tagsNodeStack.pop(),t="",u=n}else if("?"===e[u+1]){let n=bZ(e,u,!1,"?>");if(!n)throw Error("Pi Tag is not closed.");if(t=this.saveTextToParentTag(t,i,a),this.options.ignoreDeclaration&&"?xml"===n.tagName||this.options.ignorePiTags);else{let e=new bs(n.tagName);e.add(this.options.textNodeName,""),n.tagName!==n.tagExp&&n.attrExpPresent&&(e[":@"]=this.buildAttributesMap(n.tagExp,a,n.tagName)),this.addChild(i,e,a,u)}u=n.closeIndex+1}else if("!--"===e.substr(u+1,3)){let n=bv(e,"--\x3e",u+4,"Comment is not closed.");if(this.options.commentPropName){let o=e.substring(u+4,n-2);t=this.saveTextToParentTag(t,i,a),i.add(this.options.commentPropName,[{[this.options.textNodeName]:o}])}u=n}else if("!D"===e.substr(u+1,2)){let n=function(e,n){let i={};if("O"===e[n+3]&&"C"===e[n+4]&&"T"===e[n+5]&&"Y"===e[n+6]&&"P"===e[n+7]&&"E"===e[n+8]){n+=9;let t=1,a=!1,u=!1;for(;n<e.length;n++)if("<"!==e[n]||u)if(">"===e[n]){if(u?"-"===e[n-1]&&"-"===e[n-2]&&(u=!1,t--):t--,0===t)break}else"["===e[n]?a=!0:e[n];else{if(a&&bg(e,"!ENTITY",n)){let t,a;n+=7,[t,a,n]=function(e,n){n=bl(e,n);let i="";for(;n<e.length&&!/\s/.test(e[n])&&'"'!==e[n]&&"'"!==e[n];)i+=e[n],n++;if(bc(i),n=bl(e,n),"SYSTEM"===e.substring(n,n+6).toUpperCase())throw Error("External entities are not supported");if("%"===e[n])throw Error("Parameter entities are not supported");let t="";return[n,t]=bh(e,n,"entity"),[i,t,--n]}(e,n+1),-1===a.indexOf("&")&&(i[t]={regx:RegExp(`&${t};`,"g"),val:a})}else if(a&&bg(e,"!ELEMENT",n)){let{index:i}=function(e,n){n=bl(e,n);let i="";for(;n<e.length&&!/\s/.test(e[n]);)i+=e[n],n++;if(!bc(i))throw Error(`Invalid element name: "${i}"`);n=bl(e,n);let t="";if("E"===e[n]&&bg(e,"MPTY",n))n+=4;else if("A"===e[n]&&bg(e,"NY",n))n+=2;else if("("===e[n]){for(n++;n<e.length&&")"!==e[n];)t+=e[n],n++;if(")"!==e[n])throw Error("Unterminated content model")}else throw Error(`Invalid Element Expression, found "${e[n]}"`);return{elementName:i,contentModel:t.trim(),index:n}}(e,(n+=8)+1);n=i}else if(a&&bg(e,"!ATTLIST",n))n+=8;else if(a&&bg(e,"!NOTATION",n)){let{index:i}=function(e,n){n=bl(e,n);let i="";for(;n<e.length&&!/\s/.test(e[n]);)i+=e[n],n++;bc(i),n=bl(e,n);let t=e.substring(n,n+6).toUpperCase();if("SYSTEM"!==t&&"PUBLIC"!==t)throw Error(`Expected SYSTEM or PUBLIC, found "${t}"`);n+=t.length,n=bl(e,n);let a=null,u=null;if("PUBLIC"===t)[n,a]=bh(e,n,"publicIdentifier"),n=bl(e,n),('"'===e[n]||"'"===e[n])&&([n,u]=bh(e,n,"systemIdentifier"));else if("SYSTEM"===t&&([n,u]=bh(e,n,"systemIdentifier"),!u))throw Error("Missing mandatory system identifier for SYSTEM notation");return{notationName:i,publicIdentifier:a,systemIdentifier:u,index:--n}}(e,(n+=9)+1);n=i}else if(bg(e,"!--",n))u=!0;else throw Error("Invalid DOCTYPE");t++}if(0!==t)throw Error("Unclosed DOCTYPE")}else throw Error("Invalid Tag instead of DOCTYPE");return{entities:i,i:n}}(e,u);this.docTypeEntities=n.entities,u=n.i}else if("!["===e.substr(u+1,2)){let n=bv(e,"]]>",u,"CDATA is not closed.")-2,o=e.substring(u+9,n);t=this.saveTextToParentTag(t,i,a);let r=this.parseTextData(o,i.tagname,a,!0,!1,!0,!0);void 0==r&&(r=""),this.options.cdataPropName?i.add(this.options.cdataPropName,[{[this.options.textNodeName]:o}]):i.add(this.options.textNodeName,r),u=n+2}else{let o=bZ(e,u,this.options.removeNSPrefix),r=o.tagName,s=o.rawTagName,l=o.tagExp,h=o.attrExpPresent,g=o.closeIndex;this.options.transformTagName&&(r=this.options.transformTagName(r)),i&&t&&"!xml"!==i.tagname&&(t=this.saveTextToParentTag(t,i,a,!1));let c=i;c&&-1!==this.options.unpairedTags.indexOf(c.tagname)&&(i=this.tagsNodeStack.pop(),a=a.substring(0,a.lastIndexOf("."))),r!==n.tagname&&(a+=a?"."+r:r);let d=u;if(this.isItStopNode(this.options.stopNodes,a,r)){let n="";if(l.length>0&&l.lastIndexOf("/")===l.length-1)"/"===r[r.length-1]?(r=r.substr(0,r.length-1),a=a.substr(0,a.length-1),l=r):l=l.substr(0,l.length-1),u=o.closeIndex;else if(-1!==this.options.unpairedTags.indexOf(r))u=o.closeIndex;else{let i=this.readStopNodeData(e,s,g+1);if(!i)throw Error(`Unexpected end of ${s}`);u=i.i,n=i.tagContent}let t=new bs(r);r!==l&&h&&(t[":@"]=this.buildAttributesMap(l,a,r)),n&&(n=this.parseTextData(n,r,a,!0,h,!0,!0)),a=a.substr(0,a.lastIndexOf(".")),t.add(this.options.textNodeName,n),this.addChild(i,t,a,d)}else{if(l.length>0&&l.lastIndexOf("/")===l.length-1){"/"===r[r.length-1]?(r=r.substr(0,r.length-1),a=a.substr(0,a.length-1),l=r):l=l.substr(0,l.length-1),this.options.transformTagName&&(r=this.options.transformTagName(r));let e=new bs(r);r!==l&&h&&(e[":@"]=this.buildAttributesMap(l,a,r)),this.addChild(i,e,a,d),a=a.substr(0,a.lastIndexOf("."))}else{let e=new bs(r);this.tagsNodeStack.push(i),r!==l&&h&&(e[":@"]=this.buildAttributesMap(l,a,r)),this.addChild(i,e,a,d),i=e}t="",u=g}}else t+=e[u];return n.child};function bL(e,n,i,t){this.options.captureMetaData||(t=void 0);let a=this.options.updateTag(n.tagname,i,n[":@"]);!1===a||("string"==typeof a&&(n.tagname=a),e.addChild(n,t))}let bE=function(e){if(this.options.processEntities){for(let n in this.docTypeEntities){let i=this.docTypeEntities[n];e=e.replace(i.regx,i.val)}for(let n in this.lastEntities){let i=this.lastEntities[n];e=e.replace(i.regex,i.val)}if(this.options.htmlEntities)for(let n in this.htmlEntities){let i=this.htmlEntities[n];e=e.replace(i.regex,i.val)}e=e.replace(this.ampEntity.regex,this.ampEntity.val)}return e};function bY(e,n,i,t){return e&&(void 0===t&&(t=0===n.child.length),void 0!==(e=this.parseTextData(e,n.tagname,i,!1,!!n[":@"]&&0!==Object.keys(n[":@"]).length,t))&&""!==e&&n.add(this.options.textNodeName,e),e=""),e}function bD(e,n,i){let t="*."+i;for(let i in e){let a=e[i];if(t===a||n===a)return!0}return!1}function bv(e,n,i,t){let a=e.indexOf(n,i);if(-1!==a)return a+n.length-1;throw Error(t)}function bZ(e,n,i,t=">"){let a=function(e,n,i=">"){let t,a="";for(let u=n;u<e.length;u++){let n=e[u];if(t)n===t&&(t="");else if('"'===n||"'"===n)t=n;else if(n===i[0]){if(!i[1])return{data:a,index:u};else if(e[u+1]===i[1])return{data:a,index:u}}else" "===n&&(n=" ");a+=n}}(e,n+1,t);if(!a)return;let u=a.data,o=a.index,r=u.search(/\s/),s=u,l=!0;-1!==r&&(s=u.substring(0,r),u=u.substring(r+1).trimStart());let h=s;if(i){let e=s.indexOf(":");-1!==e&&(l=(s=s.substr(e+1))!==a.data.substr(e+1))}return{tagName:s,tagExp:u,closeIndex:o,attrExpPresent:l,rawTagName:h}}function bN(e,n,i){let t=i,a=1;for(;i<e.length;i++)if("<"===e[i])if("/"===e[i+1]){let u=bv(e,">",i,`${n} is not closed`);if(e.substring(i+2,u).trim()===n&&0==--a)return{tagContent:e.substring(t,i),i:u};i=u}else if("?"===e[i+1])i=bv(e,"?>",i+1,"StopNode is not closed.");else if("!--"===e.substr(i+1,3))i=bv(e,"--\x3e",i+3,"StopNode is not closed.");else if("!["===e.substr(i+1,2))i=bv(e,"]]>",i,"StopNode is not closed.")-2;else{let t=bZ(e,i,">");t&&((t&&t.tagName)===n&&"/"!==t.tagExp[t.tagExp.length-1]&&a++,i=t.closeIndex)}}function bA(e,n,i){if(n&&"string"==typeof e){let n=e.trim();return"true"===n||"false"!==n&&function(e,n={}){if(n=Object.assign({},bf,n),!e||"string"!=typeof e)return e;let i=e.trim();if(void 0!==n.skipLike&&n.skipLike.test(i))return e;{if("0"===e)return 0;if(n.hex&&bd.test(i)){var t,a=i;if(parseInt)return parseInt(a,16);if(Number.parseInt)return Number.parseInt(a,16);if(window&&window.parseInt)return window.parseInt(a,16);throw Error("parseInt, Number.parseInt, window.parseInt are not supported")}if(i.includes("e")||i.includes("E"))return function(e,n,i){if(!i.eNotation)return e;let t=n.match(bm);if(!t)return e;{let a=t[1]||"",u=-1===t[3].indexOf("e")?"E":"e",o=t[2],r=a?e[o.length+1]===u:e[o.length]===u;return o.length>1&&r?e:1===o.length&&(t[3].startsWith(`.${u}`)||t[3][0]===u)?Number(n):i.leadingZeros&&!r?Number(n=(t[1]||"")+t[3]):e}}(e,i,n);let u=bp.exec(i);if(!u)return e;{let a=u[1]||"",o=u[2],r=((t=u[3])&&-1!==t.indexOf(".")&&("."===(t=t.replace(/0+$/,""))?t="0":"."===t[0]?t="0"+t:"."===t[t.length-1]&&(t=t.substring(0,t.length-1))),t),s=a?"."===e[o.length+1]:"."===e[o.length];if(!n.leadingZeros&&(o.length>1||1===o.length&&!s))return e;{let t=Number(i),u=String(t);if(0===t)return t;if(-1!==u.search(/[eE]/))if(n.eNotation)return t;else return e;if(-1!==i.indexOf("."))if("0"===u)return t;else if(u===r)return t;else if(u===`${a}${r}`)return t;else return e;let s=o?r:i;return o?s===u||a+s===u?t:e:s===u||s===a+u?t:e}}}}(e,i)}return void 0!==e?e:""}let bJ=bs.getMetaDataSymbol(),bP={allowBooleanAttributes:!1,unpairedTags:[]};function bM(e){return" "===e||" "===e||"\n"===e||"\r"===e}function bR(e,n){let i=n;for(;n<e.length;n++)if("?"==e[n]||" "==e[n]){let t=e.substr(i,n-i);if(n>5&&"xml"===t)return bH("InvalidXml","XML declaration allowed only at the start of the document.",bk(e,n));if("?"!=e[n]||">"!=e[n+1])continue;n++;break}return n}function b_(e,n){if(e.length>n+5&&"-"===e[n+1]&&"-"===e[n+2]){for(n+=3;n<e.length;n++)if("-"===e[n]&&"-"===e[n+1]&&">"===e[n+2]){n+=2;break}}else if(e.length>n+8&&"D"===e[n+1]&&"O"===e[n+2]&&"C"===e[n+3]&&"T"===e[n+4]&&"Y"===e[n+5]&&"P"===e[n+6]&&"E"===e[n+7]){let i=1;for(n+=8;n<e.length;n++)if("<"===e[n])i++;else if(">"===e[n]&&0==--i)break}else if(e.length>n+9&&"["===e[n+1]&&"C"===e[n+2]&&"D"===e[n+3]&&"A"===e[n+4]&&"T"===e[n+5]&&"A"===e[n+6]&&"["===e[n+7]){for(n+=8;n<e.length;n++)if("]"===e[n]&&"]"===e[n+1]&&">"===e[n+2]){n+=2;break}}return n}let bB=RegExp("(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['\"])(([\\s\\S])*?)\\5)?","g");function bX(e,n){let i=bo(e,bB),t={};for(let e=0;e<i.length;e++){if(0===i[e][1].length)return bH("InvalidAttr","Attribute '"+i[e][2]+"' has no space in starting.",bF(i[e]));if(void 0!==i[e][3]&&void 0===i[e][4])return bH("InvalidAttr","Attribute '"+i[e][2]+"' is without value.",bF(i[e]));if(void 0===i[e][3]&&!n.allowBooleanAttributes)return bH("InvalidAttr","boolean attribute '"+i[e][2]+"' is not allowed.",bF(i[e]));let a=i[e][2];if(!br(a))return bH("InvalidAttr","Attribute '"+a+"' is an invalid name.",bF(i[e]));if(t.hasOwnProperty(a))return bH("InvalidAttr","Attribute '"+a+"' is repeated.",bF(i[e]));t[a]=1}return!0}function bH(e,n,i){return{err:{code:e,msg:n,line:i.line||i,col:i.col}}}function bk(e,n){let i=e.substring(0,n).split(/\r?\n/);return{line:i.length,col:i[i.length-1].length+1}}function bF(e){return e.startIndex+e[1].length}let bQ=new class{constructor(e){this.externalEntities={},this.options=Object.assign({},bt,e)}parse(e,n){if("string"==typeof e);else if(e.toString)e=e.toString();else throw Error("XML data is accepted in String or Bytes[] form.");if(n){!0===n&&(n={});let i=function(e,n){n=Object.assign({},bP,n);let i=[],t=!1,a=!1;"\uFEFF"===e[0]&&(e=e.substr(1));for(let u=0;u<e.length;u++)if("<"===e[u]&&"?"===e[u+1]){if(u+=2,(u=bR(e,u)).err)return u}else if("<"===e[u]){let o=u;if("!"===e[++u]){u=b_(e,u);continue}{let r=!1;"/"===e[u]&&(r=!0,u++);let s="";for(;u<e.length&&">"!==e[u]&&" "!==e[u]&&" "!==e[u]&&"\n"!==e[u]&&"\r"!==e[u];u++)s+=e[u];if("/"===(s=s.trim())[s.length-1]&&(s=s.substring(0,s.length-1),u--),!br(s))return bH("InvalidTag",0===s.trim().length?"Invalid space after '<'.":"Tag '"+s+"' is an invalid name.",bk(e,u));let l=function(e,n){let i="",t="",a=!1;for(;n<e.length;n++){if('"'===e[n]||"'"===e[n])""===t?t=e[n]:t!==e[n]||(t="");else if(">"===e[n]&&""===t){a=!0;break}i+=e[n]}return""===t&&{value:i,index:n,tagClosed:a}}(e,u);if(!1===l)return bH("InvalidAttr","Attributes for '"+s+"' have open quote.",bk(e,u));let h=l.value;if(u=l.index,"/"===h[h.length-1]){let i=u-h.length,a=bX(h=h.substring(0,h.length-1),n);if(!0!==a)return bH(a.err.code,a.err.msg,bk(e,i+a.err.line));t=!0}else if(r)if(!l.tagClosed)return bH("InvalidTag","Closing tag '"+s+"' doesn't have proper closing.",bk(e,u));else{if(h.trim().length>0)return bH("InvalidTag","Closing tag '"+s+"' can't have attributes or invalid starting.",bk(e,o));if(0===i.length)return bH("InvalidTag","Closing tag '"+s+"' has not been opened.",bk(e,o));let n=i.pop();if(s!==n.tagName){let i=bk(e,n.tagStartPos);return bH("InvalidTag","Expected closing tag '"+n.tagName+"' (opened in line "+i.line+", col "+i.col+") instead of closing tag '"+s+"'.",bk(e,o))}0==i.length&&(a=!0)}else{let r=bX(h,n);if(!0!==r)return bH(r.err.code,r.err.msg,bk(e,u-h.length+r.err.line));if(!0===a)return bH("InvalidXml","Multiple possible root nodes found.",bk(e,u));-1!==n.unpairedTags.indexOf(s)||i.push({tagName:s,tagStartPos:o}),t=!0}for(u++;u<e.length;u++)if("<"===e[u])if("!"===e[u+1]){u=b_(e,++u);continue}else if("?"===e[u+1]){if((u=bR(e,++u)).err)return u}else break;else if("&"===e[u]){let n=function(e,n){if(";"===e[++n])return -1;if("#"===e[n]){var i=++n;let t=/\d/;for("x"===e[i]&&(i++,t=/[\da-fA-F]/);i<e.length;i++){if(";"===e[i])return i;if(!e[i].match(t))break}return -1}let t=0;for(;n<e.length;n++,t++)if(!e[n].match(/\w/)||!(t<20)){if(";"===e[n])break;return -1}return n}(e,u);if(-1==n)return bH("InvalidChar","char '&' is not expected.",bk(e,u));u=n}else if(!0===a&&!bM(e[u]))return bH("InvalidXml","Extra text at the end",bk(e,u));"<"===e[u]&&u--}}else{if(bM(e[u]))continue;return bH("InvalidChar","char '"+e[u]+"' is not expected.",bk(e,u))}return t?1==i.length?bH("InvalidTag","Unclosed tag '"+i[0].tagName+"'.",bk(e,i[0].tagStartPos)):!(i.length>0)||bH("InvalidXml","Invalid '"+JSON.stringify(i.map(e=>e.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1}):bH("InvalidXml","Start tag expected.",1)}(e,n);if(!0!==i)throw Error(`${i.err.msg}:${i.err.line}:${i.err.col}`)}let i=new by(this.options);i.addExternalEntities(this.externalEntities);let t=i.parseXml(e);return this.options.preserveOrder||void 0===t?t:function e(n,i,t){let a,u={};for(let o=0;o<n.length;o++){let r=n[o],s=function(e){let n=Object.keys(e);for(let e=0;e<n.length;e++){let i=n[e];if(":@"!==i)return i}}(r),l="";if(l=void 0===t?s:t+"."+s,s===i.textNodeName)void 0===a?a=r[s]:a+=""+r[s];else if(void 0===s)continue;else if(r[s]){let n=e(r[s],i,l),t=function(e,n){let{textNodeName:i}=n,t=Object.keys(e).length;return 0===t||1===t&&(!!e[i]||"boolean"==typeof e[i]||0===e[i])}(n,i);void 0!==r[bJ]&&(n[bJ]=r[bJ]),r[":@"]?function(e,n,i,t){if(n){let a=Object.keys(n),u=a.length;for(let o=0;o<u;o++){let u=a[o];t.isArray(u,i+"."+u,!0,!0)?e[u]=[n[u]]:e[u]=n[u]}}}(n,r[":@"],l,i):1!==Object.keys(n).length||void 0===n[i.textNodeName]||i.alwaysCreateTextNode?0===Object.keys(n).length&&(i.alwaysCreateTextNode?n[i.textNodeName]="":n=""):n=n[i.textNodeName],void 0!==u[s]&&u.hasOwnProperty(s)?(Array.isArray(u[s])||(u[s]=[u[s]]),u[s].push(n)):i.isArray(s,l,t)?u[s]=[n]:u[s]=n}}return"string"==typeof a?a.length>0&&(u[i.textNodeName]=a):void 0!==a&&(u[i.textNodeName]=a),u}(t,this.options)}addEntity(e,n){if(-1!==n.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 '&#xD;'");if("&"===n)throw Error("An entity with value '&' is not permitted");this.externalEntities[e]=n}static getMetaDataSymbol(){return bs.getMetaDataSymbol()}}({attributeNamePrefix:"",htmlEntities:!0,ignoreAttributes:!1,ignoreDeclaration:!0,parseTagValue:!1,trimValues:!1,tagValueProcessor:(e,n)=>""===n.trim()&&n.includes("\n")?"":void 0});bQ.addEntity("#xD","\r"),bQ.addEntity("#10","\n");let bI=e=>{let n="#text";for(let i in e)e.hasOwnProperty(i)&&void 0!==e[i][n]?e[i]=e[i][n]:"object"==typeof e[i]&&null!==e[i]&&(e[i]=bI(e[i]));return e};class bO{from;to;keys;constructor(e,n){this.from=e,this.to=n,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,n=this.from[e];this.to.$unknown=[e,n]}}}class bG extends bi{settings;stringDeserializer;constructor(e){super(),this.settings=e,this.stringDeserializer=new S9(e)}setSerdeContext(e){this.serdeContext=e,this.stringDeserializer.setSerdeContext(e)}read(e,n,i){let t=hc.of(e),a=t.getMemberSchemas();if(t.isStructSchema()&&t.isMemberSchema()&&Object.values(a).find(e=>!!e.getMemberTraits().eventPayload)){let e={},i=Object.keys(a)[0];return a[i].isBlobSchema()?e[i]=n:e[i]=this.read(a[i],n),e}let u=(this.serdeContext?.utf8Encoder??Si)(n),o=this.parseXml(u);return this.readSchema(e,i?o[i]:o)}readSchema(e,n){let i=hc.of(e);if(i.isUnitSchema())return;let t=i.getMergedTraits();if(i.isListSchema()&&!Array.isArray(n))return this.readSchema(i,[n]);if(null==n)return n;if("object"==typeof n){let e=!!t.sparse,a=!!t.xmlFlattened;if(i.isListSchema()){let t=i.getValueSchema(),u=[],o=t.getMergedTraits().xmlName??"member",r=a?n:(n[0]??n)[o];for(let n of Array.isArray(r)?r:[r])(null!=n||e)&&u.push(this.readSchema(t,n));return u}let u={};if(i.isMapSchema()){let t,o=i.getKeySchema(),r=i.getValueSchema();t=a?Array.isArray(n)?n:[n]:Array.isArray(n.entry)?n.entry:[n.entry];let s=o.getMergedTraits().xmlName??"key",l=r.getMergedTraits().xmlName??"value";for(let n of t){let i=n[s],t=n[l];(null!=t||e)&&(u[i]=this.readSchema(r,t))}return u}if(i.isStructSchema()){let e,t=i.isUnionSchema();for(let[a,o]of(t&&(e=new bO(n,u)),i.structIterator())){let i=o.getMergedTraits(),r=i.httpPayload?i.xmlName??o.getName():o.getMemberTraits().xmlName??a;t&&e.mark(r),null!=n[r]&&(u[a]=this.readSchema(o,n[r]))}return t&&e.writeUnknown(),u}if(i.isDocumentSchema())return n;throw Error(`@aws-sdk/core/protocols - xml deserializer unhandled schema type for ${i.getName(!0)}`)}return i.isListSchema()?[]:i.isMapSchema()||i.isStructSchema()?{}:this.stringDeserializer.read(i,n)}parseXml(e){if(e.length){let n;try{n=bQ.parse(e,!0)}catch(n){throw n&&"object"==typeof n&&Object.defineProperty(n,"$responseBodyText",{value:e}),n}let i="#text",t=Object.keys(n)[0],a=n[t];return a[i]&&(a[t]=a[i],delete a[i]),bI(a)}return{}}}class b${value;constructor(e){this.value=e}toString(){return(""+this.value).replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&apos;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\r/g,"&#x0D;").replace(/\n/g,"&#x0A;").replace(/\u0085/g,"&#x85;").replace(/\u2028/,"&#x2028;")}}class bK{name;children;attributes={};static of(e,n,i){let t=new bK(e);return void 0!==n&&t.addChildNode(new b$(n)),void 0!==i&&t.withName(i),t}constructor(e,n=[]){this.name=e,this.children=n}withName(e){return this.name=e,this}addAttribute(e,n){return this.attributes[e]=n,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,n){return null!=n&&(this.attributes[e]=n),this}cc(e,n,i=n){if(null!=e[n]){let t=bK.of(n,e[n]).withName(i);this.c(t)}}l(e,n,i,t){null!=e[n]&&t().map(e=>{e.withName(i),this.c(e)})}lc(e,n,i,t){if(null!=e[n]){let e=t(),n=new bK(i);e.map(e=>{n.c(e)}),this.c(n)}}toString(){let e=!!this.children.length,n=`<${this.name}`,i=this.attributes;for(let e of Object.keys(i)){let t=i[e];null!=t&&(n+=` ${e}="${(""+t).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}"`)}return n+(e?`>${this.children.map(e=>e.toString()).join("")}</${this.name}>`:"/>")}}function*bU(e,n){if(e.isUnitSchema())return;let i=e.getSchema();for(let e=0;e<i[4].length;++e){let t=i[4][e],a=new hc([i[5][e],0],t);(t in n||a.isIdempotencyToken())&&(yield[t,a])}}function*bW(e,n,i){if(e.isUnitSchema())return;let t=e.getSchema(),a=Object.keys(n).filter(e=>"__type"!==e).length;for(let e=0;e<t[4].length&&0!==a;++e){let u=t[4][e],o=new hc([t[5][e],0],u),r=u;i&&(r=o.getMergedTraits()[i]??u),r in n&&(yield[u,o],a-=1)}}class bz extends bi{settings;stringBuffer;byteBuffer;buffer;constructor(e){super(),this.settings=e}write(e,n){let i=hc.of(e);if(i.isStringSchema()&&"string"==typeof n)this.stringBuffer=n;else if(i.isBlobSchema())this.byteBuffer="byteLength"in n?n:(this.serdeContext?.base64Decoder??y5)(n);else{this.buffer=this.writeStruct(i,n,void 0);let e=i.getMergedTraits();e.httpPayload&&!e.xmlName&&this.buffer.withName(i.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,n,i){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 u=bK.of(a),[o,r]=this.getXmlnsAttribute(e,i);for(let[i,t]of bU(e,n)){let e=n[i];if(null!=e||t.isIdempotencyToken()){if(t.getMergedTraits().xmlAttribute){u.addAttribute(t.getMergedTraits().xmlName??i,this.writeSimple(t,e));continue}if(t.isListSchema())this.writeList(t,e,u,r);else if(t.isMapSchema())this.writeMap(t,e,u,r);else if(t.isStructSchema())u.addChildNode(this.writeStruct(t,e,r));else{let n=bK.of(t.getMergedTraits().xmlName??t.getMemberName());this.writeSimpleInto(t,e,n,r),u.addChildNode(n)}}}let{$unknown:s}=n;if(s&&e.isUnionSchema()&&Array.isArray(s)&&1===Object.keys(n).length){let[e,i]=s,t=bK.of(e);if("string"!=typeof i)if(n instanceof bK||n instanceof b$)u.addChildNode(n);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,i,t,r),u.addChildNode(t)}return r&&u.addAttribute(o,r),u}writeList(e,n,i,t){if(!e.isMemberSchema())throw Error(`@aws-sdk/core/protocols - xml serializer, cannot write non-member list: ${e.getName(!0)}`);let a=e.getMergedTraits(),u=e.getValueSchema(),o=u.getMergedTraits(),r=!!o.sparse,s=!!a.xmlFlattened,[l,h]=this.getXmlnsAttribute(e,t),g=(n,i)=>{if(u.isListSchema())this.writeList(u,Array.isArray(i)?i:[i],n,h);else if(u.isMapSchema())this.writeMap(u,i,n,h);else if(u.isStructSchema()){let t=this.writeStruct(u,i,h);n.addChildNode(t.withName(s?a.xmlName??e.getMemberName():o.xmlName??"member"))}else{let t=bK.of(s?a.xmlName??e.getMemberName():o.xmlName??"member");this.writeSimpleInto(u,i,t,h),n.addChildNode(t)}};if(s)for(let e of n)(r||null!=e)&&g(i,e);else{let t=bK.of(a.xmlName??e.getMemberName());for(let e of(h&&t.addAttribute(l,h),n))(r||null!=e)&&g(t,e);i.addChildNode(t)}}writeMap(e,n,i,t,a=!1){if(!e.isMemberSchema())throw Error(`@aws-sdk/core/protocols - xml serializer, cannot write non-member map: ${e.getName(!0)}`);let u=e.getMergedTraits(),o=e.getKeySchema(),r=o.getMergedTraits().xmlName??"key",s=e.getValueSchema(),l=s.getMergedTraits(),h=l.xmlName??"value",g=!!l.sparse,c=!!u.xmlFlattened,[d,p]=this.getXmlnsAttribute(e,t),f=(e,n,i)=>{let t=bK.of(r,n),[a,u]=this.getXmlnsAttribute(o,p);u&&t.addAttribute(a,u),e.addChildNode(t);let l=bK.of(h);s.isListSchema()?this.writeList(s,i,l,p):s.isMapSchema()?this.writeMap(s,i,l,p,!0):s.isStructSchema()?l=this.writeStruct(s,i,p):this.writeSimpleInto(s,i,l,p),e.addChildNode(l)};if(c){for(let[t,a]of Object.entries(n))if(g||null!=a){let n=bK.of(u.xmlName??e.getMemberName());f(n,t,a),i.addChildNode(n)}}else{let t;for(let[o,r]of(a||(t=bK.of(u.xmlName??e.getMemberName()),p&&t.addAttribute(d,p),i.addChildNode(t)),Object.entries(n)))if(g||null!=r){let e=bK.of("entry");f(e,o,r),(a?i:t).addChildNode(e)}}}writeSimple(e,n){if(null===n)throw Error("@aws-sdk/core/protocols - (XML serializer) cannot write null value.");let i=hc.of(e),t=null;if(n&&"object"==typeof n)if(i.isBlobSchema())t=(this.serdeContext?.base64Encoder??Sn)(n);else if(i.isTimestampSchema()&&n instanceof Date)switch(SK(i,this.settings)){case 5:t=n.toISOString().replace(".000Z","Z");break;case 6:t=SE(n);break;case 7:t=String(n.getTime()/1e3);break;default:console.warn("Missing timestamp format, using http date",n),t=SE(n)}else if(i.isBigDecimalSchema()&&n)return n instanceof S7?n.string:String(n);else if(i.isMapSchema()||i.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: ${i.getName(!0)}`);if((i.isBooleanSchema()||i.isNumericSchema()||i.isBigIntegerSchema()||i.isBigDecimalSchema())&&(t=String(n)),i.isStringSchema()&&(t=void 0===n&&i.isIdempotencyToken()?uG():String(n)),null===t)throw Error(`Unhandled schema-value pair ${i.getName(!0)}=${n}`);return t}writeSimpleInto(e,n,i,t){let a=this.writeSimple(e,n),u=hc.of(e),o=new b$(a),[r,s]=this.getXmlnsAttribute(u,t);s&&i.addAttribute(r,s),i.addChildNode(o)}getXmlnsAttribute(e,n){let[i,t]=e.getMergedTraits().xmlNamespace??[];return t&&t!==n?[i?`xmlns:${i}`:"xmlns",t]:[void 0,void 0]}}class bj extends bi{settings;constructor(e){super(),this.settings=e}createSerializer(){let e=new bz(this.settings);return e.setSerdeContext(this.serdeContext),e}createDeserializer(){let e=new bG(this.settings);return e.setSerdeContext(this.serdeContext),e}}class bq extends Sc{codec;serializer;deserializer;mixin=new bn;constructor(e){super(e);let n={timestampFormat:{useTrait:!0,default:5},httpBindings:!0,xmlNamespace:e.xmlNamespace,serviceNamespace:e.defaultNamespace};this.codec=new bj(n),this.serializer=new SW(this.codec.createSerializer(),n),this.deserializer=new be(this.codec.createDeserializer(),n)}getPayloadCodec(){return this.codec}getShapeId(){return"aws.protocols#restXml"}async serializeRequest(e,n,i){let t=await super.serializeRequest(e,n,i),a=hc.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,n,i){return super.deserializeResponse(e,n,i)}async handleError(e,n,i,t,a){let u=(t?.Error?.Code!==void 0?t.Error.Code:t?.Code!==void 0?t.Code:404==i.statusCode?"NotFound":void 0)??"Unknown",{errorSchema:o,errorMetadata:r}=await this.mixin.getErrorSchemaOrThrowBaseException(u,this.options.defaultNamespace,i,t,a),s=hc.of(o),l=t.Error?.message??t.Error?.Message??t.message??t.Message??"Unknown",h=new(hw.for(o[1]).getErrorCtor(o)??Error)(l);await this.deserializeHttpMessage(o,n,i,t);let g={};for(let[e,n]of s.structIterator()){let i=n.getMergedTraits().xmlName??e,a=t.Error?.[i]??t[i];g[e]=this.codec.createDeserializer().readSchema(n,a)}throw this.mixin.decorateServiceException(Object.assign(h,r,{$fault:s.getMergedTraits().error,message:l},g),t)}getDefaultContentType(){return"application/xml"}hasUnstructuredPayloadBinding(e){for(let[,n]of e.structIterator())if(n.getMergedTraits().httpPayload)return!(n.isStructSchema()||n.isMapSchema()||n.isListSchema());return!1}}let bV=(e,n)=>{let{base64Encoder:i,bodyLengthChecker:t,checksumAlgorithmFn:a,checksumLocationName:u,streamHasher:o}=n,r=void 0!==i&&void 0!==a&&void 0!==u&&void 0!==o,s=r?o(a,e):void 0,l=new u$.Readable({read:()=>{}});return e.on("data",e=>{let n=t(e)||0;l.push(`${n.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 J||"function"==typeof r?.destroy?(this.externalAgent=!0,r):new J({keepAlive:!0,maxSockets:50,...r}),httpsAgent:o instanceof B||"function"==typeof o?.destroy?(this.externalAgent=!0,o):new B({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(pP),t(e)},reject=async e=>{await r,s.forEach(pP),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?B:J)({keepAlive:!1,maxSockets:1/0})),s.push(setTimeout(()=>{this.socketWarningTimestamp=pR.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?H:k)(m,e=>{resolve({response:new tP({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=>{pN.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",()=>{pP(a)}):pP(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=pZ)=>{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(pP),a(e)))})}updateHttpClientConfig(e,i){this.config=void 0,this.configProvider=this.configProvider.then(n=>({...n,[e]:i}))}httpHandlerConfigs(){return this.config??{}}}class pM extends ai.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 pM;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 pJ=!1,emitWarningIfUnsupportedVersion_emitWarningIfUnsupportedVersion=e=>{e&&!pJ&&16>parseInt(e.substring(1,e.indexOf(".")))&&(pJ=!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{}}},pk=L("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 pk.ReadStream){if(null!=e.path)return(0,pk.lstatSync)(e.path).size;else if("number"==typeof e.fd)return(0,pk.fstatSync)(e.fd).size}throw Error(`Body Length computation failed for ${e}`)},pB="AWS_REGION",pH="AWS_DEFAULT_REGION",pF=["in-region","cross-region","mobile","standard","legacy"],pX={environmentVariableSelector:e=>e.AWS_DEFAULTS_MODE,configFileSelector:e=>e.defaults_mode,default:"legacy"},resolveDefaultsModeConfig=({region:e=loadConfig(pi),defaultsMode:i=loadConfig(pX)}={})=>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 ${pF.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[pB]||process.env[pH]))return process.env[pB]??process.env[pH];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=>tP.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 pI{async sign(e,i,n){if(!nj.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 pO extends pI{async sign(e,i,n){if(!nj.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,'"'))})},pQ=/^[A-Za-z0-9+/]*={0,2}$/,fromBase64=e=>{if(3*e.length%4!=0)throw TypeError("Incorrect padding on base64 string.");if(!pQ.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")},pG="The stream has already been transformed.",isBlobInstance=e=>"function"==typeof Blob&&e instanceof Blob,pU="The stream has already been transformed.",sdk_stream_mixin_sdkStreamMixin=e=>{if(!(e instanceof ai.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(pG);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(pG);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(pU);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(pU);if(null!==e.readableFlowing)throw Error("The stream has been consumed by other callbacks.");if("function"!=typeof ai.Readable.toWeb)throw Error("Readable.toWeb() is not supported. Please ensure a polyfill is available.");return i=!0,ai.Readable.toWeb(e)}})};class pq extends Uint8Array{static fromString(e,i="utf-8"){if("string"==typeof e)return"base64"===i?pq.mutate(fromBase64(e)):pq.mutate(fromUtf8_fromUtf8(e));throw Error(`Unsupported conversion from ${typeof e} to Uint8ArrayBlobAdapter.`)}static mutate(e){return Object.setPrototypeOf(e,pq.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 pq.mutate(e);if(!e)return pq.mutate(new Uint8Array);let n=i.streamCollector(e);return pq.mutate(await n)};function extendedEncodeURIComponent(e){return encodeURIComponent(e).replace(/[!'()*]/g,function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})}class pK{serdeContext;setSerdeContext(e){this.serdeContext=e}}class p$ extends pK{options;constructor(e){super(),this.options=e}getRequestType(){return nj}getResponseType(){return tP}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=uM.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 pz extends p${async serializeRequest(e,i,n){let t,a={...i??{}},r=this.serializer,o={},u={},s=await n.endpoint(),l=uM.of(e?.input),h=l.getSchema(),g=!1,c=new nj({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=uM.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=uM.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)&&pV.warn(stackTraceWarning(`Expected number but observed string: ${e}`)),i}if("number"==typeof e)return e;throw TypeError(`Expected number, got ${typeof e}: ${e}`)}},pW=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)>pW)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]}},pj=/(-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?)|(-?Infinity)|(NaN)/g,parseNumber=e=>{let i=e.match(pj);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"),pV={warn:console.warn},p0=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],p1=["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`${p0[t]}, ${s} ${p1[n]} ${i} ${l}:${h}:${g} GMT`}let p3=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=p3.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})},p2=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=p2.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},p4=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$/),p8=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$/),p6=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=p4.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=p8.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=p6.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=p1.indexOf(e);if(i<0)throw TypeError(`Invalid month: ${e}`);return i+1},p5=[31,28,31,30,31,30,31,31,30,31,30,31],validateDayOfMonth=(e,i,n)=>{let t=p5[i];if(1===i&&isLeapYear(e)&&(t=29),n>t)throw TypeError(`Invalid day for ${p1[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 p7 extends pK{settings;stringBuffer="";constructor(e){super(),this.settings=e}write(e,i){let n=uM.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 p9{codecSerializer;stringSerializer;buffer;constructor(e,i,n=new p7(i)){this.codecSerializer=e,this.stringSerializer=n}setSerdeContext(e){this.codecSerializer.setSerdeContext(e),this.stringSerializer.setSerdeContext(e)}write(e,i){let n=uM.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 fe="(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun)(?:[ne|u?r]?s?day)?",fi="(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)",ft="(\\d?\\d):(\\d{2}):(\\d{2})(?:\\.(\\d+))?",fa="(\\d?\\d)",fr="(\\d{4})",fo=new RegExp(/^(\d{4})-(\d\d)-(\d\d)[tT](\d\d):(\d\d):(\d\d)(\.(\d+))?(([-+]\d\d:\d\d)|[zZ])$/),fu=RegExp(`^${fe}, ${fa} ${fi} ${fr} ${ft} GMT$`),fs=RegExp(`^${fe}, ${fa}-${fi}-(\\d\\d) ${ft} GMT$`),fl=RegExp(`^${fe} ${fi} ( [1-9]|\\d\\d) ${ft} ${fr}$`),fh=["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 fg=/^-?\d*(\.\d+)?$/;class fc{string;type;constructor(e,i){if(this.string=e,this.type=i,!fg.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&&fg.test(e.string))}}class fd extends pK{settings;constructor(e){super(),this.settings=e}read(e,i){let n=uM.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=fo.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=fu.exec(e))?[,i,n,t,a,r,o,u]=s:(s=fs.exec(e))?([,i,n,t,a,r,o,u]=s,t=(Number(t)+1900).toString()):(s=fl.exec(e))&&([,n,i,a,r,o,u,t]=s),t&&o){let e=Date.UTC(Number(t),fh.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 fp extends pK{codecDeserializer;stringDeserializer;constructor(e,i){super(),this.codecDeserializer=e,this.stringDeserializer=new fd(i)}setSerdeContext(e){this.stringDeserializer.setSerdeContext(e),this.codecDeserializer.setSerdeContext(e),this.serdeContext=e}read(e,i){let n=uM.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 ff{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=uF.for(o);try{return{errorSchema:r?.(l,u)??l.getSchema(e),errorMetadata:s}}catch(n){t.message=t.message??t.Message??"UnknownError";let e=uF.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=>uM.of(e).getMergedTraits().awsQueryError?.[0]===i)}}}class fm{serdeContext;setSerdeContext(e){this.serdeContext=e}}let fy={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},fS=":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",fb=RegExp("^"+("["+fS+"]["+fS)+"\\-.\\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!=fb.exec(e)};function isExist(e){return void 0!==e}n="function"!=typeof Symbol?"@@xmlMetadata":Symbol("XML Node Metadata");class fC{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 fT=/^[-+]?0x[a-fA-F0-9]+$/,fw=/^([\-\+])?(0*)([0-9]*(\.[0-9]*)?)$/,fx={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function toNumber(e,i={}){if(i=Object.assign({},fx,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&&fT.test(n))return parse_int(n,16);if(n.includes("e")||n.includes("E"))return resolveEnotation(e,n,i);let t=fw.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 fE=/^([-+])?(0*)(\d*(\.\d*)?[eE][-\+]?\d+)$/;function resolveEnotation(e,i,n){if(!n.eNotation)return e;let t=i.match(fE);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 fL{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 f_=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,f_),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 fC("!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 fC(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 fC(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 fC(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 fC(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 fY=fC.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[fY]&&(e[fY]=o[fY]),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 fD={allowBooleanAttributes:!1,unpairedTags:[]};function validator_validate(e,i){i=Object.assign({},fD,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 fv=RegExp("(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['\"])(([\\s\\S])*?)\\5)?","g");function validateAttributeString(e,i){let n=getAllMatches(e,fv),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 fA=new class{constructor(e){this.externalEntities={},this.options=Object.assign({},fy,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 fL(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 '&#xD;'");if("&"===i)throw Error("An entity with value '&' is not permitted");this.externalEntities[e]=i}static getMetaDataSymbol(){return fC.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 fA.parse(e,!0)}fA.addEntity("#xD","\r"),fA.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 fN{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 fP extends fm{settings;stringDeserializer;constructor(e){super(),this.settings=e,this.stringDeserializer=new fd(e)}setSerdeContext(e){this.serdeContext=e,this.stringDeserializer.setSerdeContext(e)}read(e,i,n){let t=uM.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=uM.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 fN(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,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function escapeElement(e){return e.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&apos;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\r/g,"&#x0D;").replace(/\n/g,"&#x0A;").replace(/\u0085/g,"&#x85;").replace(/\u2028/,"&#x2028;")}class fZ{value;constructor(e){this.value=e}toString(){return escapeElement(""+this.value)}}class fR{name;children;attributes={};static of(e,i,n){let t=new fR(e);return void 0!==i&&t.addChildNode(new fZ(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=fR.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 fR(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 uM([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 uM([t[5][e],0],r),u=r;n&&(u=o.getMergedTraits()[n]??r),u in i&&(yield[r,o],a-=1)}}class fM extends fm{settings;stringBuffer;byteBuffer;buffer;constructor(e){super(),this.settings=e}write(e,i){let n=uM.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=fR.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=fR.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=fR.of(e);if("string"!=typeof n)if(i instanceof fR||i instanceof fZ)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=fR.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=fR.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=fR.of(u,i),[a,r]=this.getXmlnsAttribute(o,p);r&&t.addAttribute(a,r),e.addChildNode(t);let l=fR.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=fR.of(r.xmlName??e.getMemberName());addKeyValue(i,t,a),n.addChildNode(i)}}else{let t;for(let[o,u]of(a||(t=fR.of(r.xmlName??e.getMemberName()),p&&t.addAttribute(d,p),n.addChildNode(t)),Object.entries(i)))if(g||null!=u){let e=fR.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=uM.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=uM.of(e),o=new fZ(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 fJ extends fm{settings;constructor(e){super(),this.settings=e}createSerializer(){let e=new fM(this.settings);return e.setSerdeContext(this.serdeContext),e}createDeserializer(){let e=new fP(this.settings);return e.setSerdeContext(this.serdeContext),e}}class fk extends pz{codec;serializer;deserializer;mixin=new ff;constructor(e){super(e);let i={timestampFormat:{useTrait:!0,default:5},httpBindings:!0,xmlNamespace:e.xmlNamespace,serviceNamespace:e.defaultNamespace};this.codec=new fJ(i),this.serializer=new p9(this.codec.createSerializer(),i),this.deserializer=new fp(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=uM.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=uM.of(o),l=t.Error?.message??t.Error?.Message??t.message??t.Message??"Unknown",h=new(uF.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 ai.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
- `),r){let e=i(await s);l.push(`${u}:${e}\r
71
+ `),u){let e=n(await s);l.push(`${r}:${e}\r
72
72
  `),l.push(`\r
73
- `)}l.push(null)}),l},b0=e=>({setRegion(n){e.region=n},region:()=>e.region}),b1=e=>({region:e.region()}),b3=e=>({setHttpHandler(n){e.httpHandler=n},httpHandler:()=>e.httpHandler,updateHttpClientConfig(n,i){e.httpHandler?.updateHttpClientConfig(n,i)},httpHandlerConfigs:()=>e.httpHandler.httpHandlerConfigs()}),b2=e=>({httpHandler:e.httpHandler()});(ee=ec||(ec={})).MD5="md5",ee.CRC32="crc32",ee.CRC32C="crc32c",ee.SHA1="sha1",ee.SHA256="sha256";let b4=e=>Object.assign((e=>{let n=[];for(let i in ec){let t=ec[i];void 0!==e[t]&&n.push({algorithmId:()=>t,checksumConstructor:()=>e[t]})}return{addChecksumAlgorithm(e){n.push(e)},checksumAlgorithms:()=>n}})(e),{setRetryStrategy(n){e.retryStrategy=n},retryStrategy:()=>e.retryStrategy}),b6=e=>{let n,i;return Object.assign((n={},e.checksumAlgorithms().forEach(e=>{n[e.algorithmId()]=e.checksumConstructor()}),n),((i={}).retryStrategy=e.retryStrategy(),i))};class b8 extends u6{config;constructor(...[e]){var n,i,t,a,u;let o,r,s,l,h,g,c,d,p,f,m,y,S,b,C=(n=e||{},yF(process.version),o=yW(n),r=()=>o().then(yQ),s={apiVersion:"2006-03-01",base64Decoder:n?.base64Decoder??y5,base64Encoder:n?.base64Encoder??Sn,disableHostPrefix:n?.disableHostPrefix??!1,endpointProvider:n?.endpointProvider??l6,extensions:n?.extensions??[],getAwsChunkedEncodingStream:n?.getAwsChunkedEncodingStream??bV,httpAuthSchemeProvider:n?.httpAuthSchemeProvider??l9,httpAuthSchemes:n?.httpAuthSchemes??[{schemeId:"aws.auth#sigv4",identityProvider:e=>e.getIdentityProvider("aws.auth#sigv4"),signer:new y2},{schemeId:"aws.auth#sigv4a",identityProvider:e=>e.getIdentityProvider("aws.auth#sigv4a"),signer:new y4}],logger:n?.logger??new uF,protocol:n?.protocol??bq,protocolSettings:n?.protocolSettings??{defaultNamespace:"com.amazonaws.s3",xmlNamespace:"http://s3.amazonaws.com/doc/2006-03-01/",version:"2006-03-01",serviceTarget:"AmazonS3"},sdkStreamMixin:n?.sdkStreamMixin??So,serviceId:n?.serviceId??"S3",signerConstructor:n?.signerConstructor??oO,signingEscapePath:n?.signingEscapePath??!1,urlParser:n?.urlParser??uw,useArnRegion:n?.useArnRegion??void 0,utf8Decoder:n?.utf8Decoder??or,utf8Encoder:n?.utf8Encoder??Si},mM(process.version),l={profile:n?.profile,logger:s.logger},{...s,...n,runtime:"node",defaultsMode:o,authSchemePreference:n?.authSchemePreference??uy(mX,l),bodyLengthChecker:n?.bodyLengthChecker??yO,credentialDefaultProvider:n?.credentialDefaultProvider??mG,defaultUserAgentProvider:n?.defaultUserAgentProvider??mj({serviceId:s.serviceId,clientVersion:"3.964.0"}),disableS3ExpressSessionAuth:n?.disableS3ExpressSessionAuth??uy(ab,l),eventStreamSerdeProvider:n?.eventStreamSerdeProvider??yY,maxAttempts:n?.maxAttempts??uy(uX,n),md5:n?.md5??yD.bind(null,"md5"),region:n?.region??uy(mV,{...m0,...l}),requestChecksumCalculation:n?.requestChecksumCalculation??uy(mW,l),requestHandler:yR.create(n?.requestHandler??r),responseChecksumValidation:n?.responseChecksumValidation??uy(mz,l),retryMode:n?.retryMode??uy({...uk,default:async()=>(await r()).retryMode||uL},n),sha1:n?.sha1??yD.bind(null,"sha1"),sha256:n?.sha256??yD.bind(null,"sha256"),sigv4aSigningRegionSet:n?.sigv4aSigningRegionSet??uy(ok,l),streamCollector:n?.streamCollector??yB,streamHasher:n?.streamHasher??yN,useArnRegion:n?.useArnRegion??uy(mK,l),useDualstackEndpoint:n?.useDualstackEndpoint??uy(m1,l),useFipsEndpoint:n?.useFipsEndpoint??uy(m3,l),userAgentAppId:n?.userAgentAppId??uy(mq,l)});super(C),this.initConfig=C;let w=(a=((e,{session:n})=>{let[i,t]=n,{forcePathStyle:a,useAccelerateEndpoint:u,disableMultiregionAccessPoints:o,followRegionRedirects:r,s3ExpressIdentityProvider:s,bucketEndpoint:l,expectContinueHeader:h}=e;return Object.assign(e,{forcePathStyle:a??!1,useAccelerateEndpoint:u??!1,disableMultiregionAccessPoints:o??!1,followRegionRedirects:r??!1,s3ExpressIdentityProvider:s??new ah(async e=>i().send(new t({Bucket:e}))),bucketEndpoint:l??!1,expectContinueHeader:h??2097152})})(Object.assign(((t=oH(i=Object.assign(h=ux(t6(aU(uH((e=>{let{requestChecksumCalculation:n,responseChecksumValidation:i,requestStreamBufferSize:t}=e;return Object.assign(e,{requestChecksumCalculation:tV(n??t1),responseChecksumValidation:tV(i??t2),requestStreamBufferSize:Number(t??0)})})(av(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=aY(t.sigv4aSigningRegionSet),t),{authSchemePreference:tV(i.authSchemePreference??[])}),{session:[()=>this,mJ]}),u=e?.extensions||[],p=Object.assign(b0(a),b4(a),b3(a),(g=a.httpAuthSchemes,c=a.httpAuthSchemeProvider,d=a.credentials,{setHttpAuthScheme(e){let n=g.findIndex(n=>n.schemeId===e.schemeId);-1===n?g.push(e):g.splice(n,1,e)},httpAuthSchemes:()=>g,setHttpAuthSchemeProvider(e){c=e},httpAuthSchemeProvider:()=>c,setCredentials(e){d=e},credentials:()=>d})),u.forEach(e=>e.configure(p)),Object.assign(a,b1(p),b6(p),b2(p),{httpAuthSchemes:p.httpAuthSchemes(),httpAuthSchemeProvider:p.httpAuthSchemeProvider(),credentials:p.credentials()}));this.config=w,this.middlewareStack.use(a2(this.config)),this.middlewareStack.use(aG(this.config)),this.middlewareStack.use(uq(this.config)),this.middlewareStack.use(a8(this.config)),this.middlewareStack.use(t5(this.config)),this.middlewareStack.use(t9(this.config)),this.middlewareStack.use(ar(this.config)),this.middlewareStack.use(az(this.config,{httpAuthSchemeParametersProvider:l8,identityProviderConfigProvider:async e=>new aj({"aws.auth#sigv4":e.credentials,"aws.auth#sigv4a":e.credentials})})),this.middlewareStack.use(aL(this.config)),this.middlewareStack.use((f=this.config,{applyToStack:e=>{e.add(function({bucketEndpoint:e}){return n=>async i=>{let{input:{Bucket:t}}=i;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 n({...i})}}(f),ac),e.addRelativeTo((e,n)=>async i=>{if(f.bucketEndpoint){let e=n.endpointV2;if(e){let t=i.input.Bucket;if("string"==typeof t)try{let i=new URL(t);n.endpointV2={...e,url:i}}catch(i){let e=`@aws-sdk/middleware-sdk-s3: bucketEndpoint=true was set but Bucket=${t} could not be parsed as URL.`;throw n.logger?.constructor?.name==="NoOpLogger"?console.warn(e):n.logger?.warn?.(e),i}}}return e(i)},ag)}})),this.middlewareStack.use((m=this.config,{applyToStack:e=>{e.add(e=>async n=>{let{request:i}=n;if(!1!==m.expectContinueHeader&&tj.isInstance(i)&&i.body&&"node"===m.runtime&&m.requestHandler?.constructor?.name!=="FetchHttpHandler"){let e=!0;if("number"==typeof m.expectContinueHeader)try{e=(Number(i.headers?.["content-length"])??m.bodyLengthChecker?.(i.body)??1/0)>=m.expectContinueHeader}catch(e){}else e=!!m.expectContinueHeader;e&&(i.headers.Expect="100-continue")}return e({...n,request:i})},tq)}})),this.middlewareStack.use((y=this.config,{applyToStack:e=>{e.add((e,n)=>async i=>{try{return await e(i)}catch(t){if(y.followRegionRedirects){let a=t?.$metadata?.httpStatusCode,u="HeadBucketCommand"===n.commandName,o=t?.$response?.headers?.["x-amz-bucket-region"];if(o&&(301===a||400===a&&(t?.name==="IllegalLocationConstraintException"||u))){try{n.logger?.debug(`Redirecting from ${await y.region()} to ${o}`),n.__s3RegionRedirect=o}catch(e){throw Error("Region redirect failed: "+e)}return e(i)}}throw t}},ap),e.addRelativeTo((e,n)=>async i=>{let t=await y.region(),a=y.region,u=()=>{};n.__s3RegionRedirect&&(Object.defineProperty(y,"region",{writable:!1,value:async()=>n.__s3RegionRedirect}),u=()=>Object.defineProperty(y,"region",{writable:!0,value:a}));try{let a=await e(i);if(n.__s3RegionRedirect){u();let e=await y.region();if(t!==e)throw Error("Region was not restored following S3 region redirect.")}return a}catch(e){throw u(),e}},ad)}})),this.middlewareStack.use((S=this.config,{applyToStack:e=>{e.add((e,n)=>async i=>{if(n.endpointV2){let e=n.endpointV2,t=e.properties?.authSchemes?.[0]?.name==="sigv4-s3express";if((e.properties?.backend==="S3Express"||e.properties?.bucketType==="Directory")&&(af(n,"S3_EXPRESS_BUCKET","J"),n.isS3ExpressBucket=!0),t){let e=i.input.Bucket;if(e){let t=await S.s3ExpressIdentityProvider.getS3ExpressIdentity(await S.credentials(),{Bucket:e});n.s3ExpressIdentity=t,tj.isInstance(i.request)&&t.sessionToken&&(i.request.headers[aS]=t.sessionToken)}}}return e(i)},aC)}})),this.middlewareStack.use((b=this.config,{applyToStack:e=>{e.addRelativeTo((e,n)=>async i=>{let t;if(!tj.isInstance(i.request))return e(i);let a=aT(n).selectedHttpAuthScheme;if(!a)throw Error("No HttpAuthScheme was selected: unable to sign request");let{httpAuthOption:{signingProperties:u={}},identity:o,signer:r}=a;t=n.s3ExpressIdentity?await aE(n.s3ExpressIdentity,u,i.request,await b.signer()):await r.sign(i.request,o,u);let s=await e({...i,request:t}).catch((r.errorHandler||(e=>e=>{throw e}))(u));return(r.successHandler||((e,n)=>{}))(s.response,u),s},ax)}}))}destroy(){super.destroy()}}let b5={name:"flexibleChecksumsInputMiddleware",toMiddleware:"serializerMiddleware",relation:"before",tags:["BODY_CHECKSUM"],override:!0};class b7{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),n=0;for(let i=0;i<this.byteArrays.length;++i){let t=this.byteArrays[i];e.set(t,n),n+=t.byteLength}return this.reset(),e}reset(){this.byteArrays=[],this.byteLength=0}}function b9(e,n,i){switch(n){case 0:return e[0]+=i,Cn(e[0]);case 1:case 2:return e[n].push(i),Cn(e[n])}}function Ce(e,n){switch(n){case 0:let i=e[0];return e[0]="",i;case 1:case 2:return e[n].flush()}throw Error(`@smithy/util-stream - invalid index ${n} given to flush()`)}function Cn(e){return e?.byteLength??e?.length??0}function Ci(e,n=!0){return n&&"u">typeof Buffer&&e instanceof Buffer?2:e instanceof Uint8Array?1:"string"==typeof e?0:-1}let Ct=E("node:stream"),Ca=[ei.CRC32,ei.CRC32C,ei.CRC64NVME,ei.SHA1,ei.SHA256],Cu=[ei.SHA256,ei.SHA1,ei.CRC32,ei.CRC32C,ei.CRC64NVME],Co=e=>e===ei.MD5?"content-md5":`x-amz-checksum-${e.toLowerCase()}`,Cr=e=>void 0!==e&&"string"!=typeof e&&!ArrayBuffer.isView(e)&&!ot(e);var Cs=function(){function e(){this.crc32c=new Cl}return e.prototype.update=function(e){m7(e)||this.crc32c.update(m5(e))},e.prototype.digest=function(){return m2(this,void 0,void 0,function(){return m4(this,function(e){return[2,m9(this.crc32c.digest())]})})},e.prototype.reset=function(){this.crc32c=new Cl},e}(),Cl=function(){function e(){this.checksum=0xffffffff}return e.prototype.update=function(e){var n,i;try{for(var t=m6(e),a=t.next();!a.done;a=t.next()){var u=a.value;this.checksum=this.checksum>>>8^Ch[(this.checksum^u)&255]}}catch(e){n={error:e}}finally{try{a&&!a.done&&(i=t.return)&&i.call(t)}finally{if(n)throw n.error}}return this},e.prototype.digest=function(){return(0xffffffff^this.checksum)>>>0},e}(),Ch=ye([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 Cg{c1=0;c2=0;constructor(){t||(t=(()=>{let e=Array(8);for(let n=0;n<8;n++){let i=Array(512);for(let e=0;e<256;e++){let t=BigInt(e);for(let e=0;e<8*(n+1);e++)1n&t?t=t>>1n^0x9a6c9329ac4bc9b5n:t>>=1n;i[2*e]=Number(t>>32n&4294967295n),i[2*e+1]=Number(4294967295n&t)}e[n]=new Uint32Array(i)}return e})(),[a,u,o,r,s,l,h,g]=t),this.reset()}update(e){let n=e.length,i=0,t=this.c1,c=this.c2;for(;i+8<=n;){let n=((c^e[i++])&255)<<1,d=((c>>>8^e[i++])&255)<<1,p=((c>>>16^e[i++])&255)<<1,f=((c>>>24^e[i++])&255)<<1,m=((t^e[i++])&255)<<1,y=((t>>>8^e[i++])&255)<<1,S=((t>>>16^e[i++])&255)<<1,b=((t>>>24^e[i++])&255)<<1;t=g[n]^h[d]^l[p]^s[f]^r[m]^o[y]^u[S]^a[b],c=g[n+1]^h[d+1]^l[p+1]^s[f+1]^r[m+1]^o[y+1]^u[S+1]^a[b+1]}for(;i<n;){let n=((c^e[i])&255)<<1;c=(c>>>8|(255&t)<<24)>>>0,t=t>>>8^a[n],c^=a[n+1],i++}this.c1=t,this.c2=c}async digest(){let e=0xffffffff^this.c1,n=0xffffffff^this.c2;return new Uint8Array([e>>>24,e>>>16&255,e>>>8&255,255&e,n>>>24,n>>>16&255,n>>>8&255,255&n])}reset(){this.c1=0xffffffff,this.c2=0xffffffff}}let Cc=E("zlib");class Cd{checksum=0;update(e){this.checksum=Cc.crc32(e,this.checksum)}async digest(){return m9(this.checksum)}reset(){this.checksum=0}}let Cp=(e,n)=>{switch(e){case ei.MD5:return n.md5;case ei.CRC32:return void 0===Cc.crc32?yn:Cd;case ei.CRC32C:return Cs;case ei.CRC64NVME:!0;return Cg;case ei.SHA1:return n.sha1;case ei.SHA256:return n.sha256;default:throw Error(`Unsupported checksum algorithm: ${e}`)}},Cf=(e,n)=>{let i=new e;return i.update(os(n||"")),i.digest()},Cm={name:"flexibleChecksumsMiddleware",step:"build",tags:["BODY_CHECKSUM"],override:!0},Cy=(e=[])=>{let n=[];for(let i of Cu)e.includes(i)&&Ca.includes(i)&&n.push(i);return n};class CS extends u$.Duplex{expectedChecksum;checksumSourceLocation;checksum;source;base64Encoder;constructor({expectedChecksum:e,checksum:n,source:i,checksumSourceLocation:t,base64Encoder:a}){if(super(),"function"==typeof i.pipe)this.source=i;else throw Error(`@smithy/util-stream: unsupported source type ${i?.constructor?.name??i} in ChecksumStream.`);this.base64Encoder=a??Sn,this.expectedChecksum=e,this.checksum=n,this.checksumSourceLocation=t,this.source.pipe(this)}_read(e){}_write(e,n,i){try{this.checksum.update(e),this.push(e)}catch(e){return i(e)}return i()}async _final(e){try{let n=await this.checksum.digest(),i=this.base64Encoder(n);if(this.expectedChecksum!==i)return e(Error(`Checksum mismatch: expected "${this.expectedChecksum}" but received "${i}" in response header "${this.checksumSourceLocation}".`))}catch(n){return e(n)}return this.push(null),e()}}let Cb="function"==typeof ReadableStream?ReadableStream:function(){};class CC extends Cb{}let Cw=async(e,{checksumAlgorithmFn:n,base64Encoder:i})=>i(await Cf(n,e)),CT=async(e,{config:n,responseAlgorithms:i,logger:t})=>{let a=Cy(i),{body:u,headers:o}=e;for(let i of a){let a=Co(i),s=o[a];if(s){let o;try{o=Cp(i,n)}catch(e){if(i===ei.CRC64NVME){t?.warn(`Skipping ${ei.CRC64NVME} checksum validation: ${e.message}`);continue}throw e}let{base64Encoder:l}=n;if(Cr(u)){var r;r={expectedChecksum:s,checksumSourceLocation:a,checksum:new o,source:u,base64Encoder:l},e.body="function"==typeof ReadableStream&&hn(r.source)?(({expectedChecksum:e,checksum:n,source:i,checksumSourceLocation:t,base64Encoder:a})=>{if(!hn(i))throw Error(`@smithy/util-stream: unsupported source type ${i?.constructor?.name??i} in ChecksumStream.`);let u=a??Sn;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,i){n.update(e),i.enqueue(e)},async flush(i){let a=u(await n.digest());if(e!==a){let n=Error(`Checksum mismatch: expected "${e}" but received "${a}" in response header "${t}".`);i.error(n)}else i.terminate()}});i.pipeThrough(o);let r=o.readable;return Object.setPrototypeOf(r,CC.prototype),r})(r):new CS(r);return}let h=await Cw(u,{checksumAlgorithmFn:o,base64Encoder:l});if(h===s)break;throw Error(`Checksum mismatch: expected "${h}" but received "${s}" in response header "${a}".`)}}},Cx={name:"flexibleChecksumsResponseMiddleware",toMiddleware:"deserializerMiddleware",relation:"after",tags:["BODY_CHECKSUM"],override:!0},CL=(e,n)=>({applyToStack:i=>{i.add((i,t)=>async a=>{if(!tj.isInstance(a.request)||((e,n)=>{let i=e.toLowerCase();for(let e of Object.keys(n))if(e.toLowerCase().startsWith(i))return!0;return!1})("x-amz-checksum-",a.request.headers))return i(a);let{request:u,input:o}=a,{body:r,headers:s}=u,{base64Encoder:l,streamHasher:h}=e,{requestChecksumRequired:g,requestAlgorithmMember:c}=n,d=await e.requestChecksumCalculation(),p=c?.name,f=c?.httpHeader;p&&!o[p]&&(d===t0.WHEN_SUPPORTED||g)&&(o[p]=t4,f&&(s[f]=t4));let m=((e,{requestChecksumRequired:n,requestAlgorithmMember:i,requestChecksumCalculation:t})=>{if(!i)return t===t0.WHEN_SUPPORTED||n?t4:void 0;if(!e[i])return;let a=e[i];if(!Ca.includes(a))throw Error(`The checksum algorithm "${a}" is not supported by the client. Select one of ${Ca}.`);return a})(o,{requestChecksumRequired:g,requestAlgorithmMember:c?.name,requestChecksumCalculation:d}),y=r,S=s;if(m){switch(m){case ei.CRC32:af(t,"FLEXIBLE_CHECKSUMS_REQ_CRC32","U");break;case ei.CRC32C:af(t,"FLEXIBLE_CHECKSUMS_REQ_CRC32C","V");break;case ei.CRC64NVME:af(t,"FLEXIBLE_CHECKSUMS_REQ_CRC64","W");break;case ei.SHA1:af(t,"FLEXIBLE_CHECKSUMS_REQ_SHA1","X");break;case ei.SHA256:af(t,"FLEXIBLE_CHECKSUMS_REQ_SHA256","Y")}let n=Co(m),i=Cp(m,e);if(Cr(r)){let{getAwsChunkedEncodingStream:a,bodyLengthChecker:u}=e;y=a("number"==typeof e.requestStreamBufferSize&&e.requestStreamBufferSize>=8192?function(e,n,i){if(hn(e)){let t,a,u,o,r,s;return t=e.getReader(),a=!1,u=0,o=["",new b7(e=>new Uint8Array(e))],r=-1,new ReadableStream({pull:s=async e=>{let{value:l,done:h}=await t.read();if(h){if(-1!==r){let n=Ce(o,r);Cn(n)>0&&e.enqueue(n)}e.close()}else{let t=Ci(l,!1);if(r!==t&&(r>=0&&e.enqueue(Ce(o,r)),r=t),-1===r)return void e.enqueue(l);let h=Cn(l);u+=h;let g=Cn(o[r]);if(h>=n&&0===g)e.enqueue(l);else{let t=b9(o,r,l);!a&&u>2*n&&(a=!0,i?.warn(`@smithy/util-stream - stream chunk size ${h} is below threshold of ${n}, automatically buffering.`)),t>=n?e.enqueue(Ce(o,r)):await s(e)}}}})}let t=new Ct.Readable({read(){}}),a=!1,u=0,o=["",new b7(e=>new Uint8Array(e)),new b7(e=>Buffer.from(new Uint8Array(e)))],r=-1;return e.on("data",e=>{let s=Ci(e,!0);if(r!==s&&(r>=0&&t.push(Ce(o,r)),r=s),-1===r)return void t.push(e);let l=Cn(e);u+=l;let h=Cn(o[r]);if(l>=n&&0===h)t.push(e);else{let s=b9(o,r,e);!a&&u>2*n&&(a=!0,i?.warn(`@smithy/util-stream - stream chunk size ${l} is below threshold of ${n}, automatically buffering.`)),s>=n&&t.push(Ce(o,r))}}),e.on("end",()=>{if(-1!==r){let e=Ce(o,r);Cn(e)>0&&t.push(e)}t.push(null)}),t}(r,e.requestStreamBufferSize,t.logger):r,{base64Encoder:l,bodyLengthChecker:u,checksumLocationName:n,checksumAlgorithmFn:i,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":n},delete S["content-length"]}else if(!((e,n)=>{let i=e.toLowerCase();for(let e of Object.keys(n))if(i===e.toLowerCase())return!0;return!1})(n,s)){let e=await Cf(i,r);S={...s,[n]:l(e)}}}try{return await i({...a,request:{...u,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}},Cm),i.addRelativeTo((i,t)=>async a=>{let u=a.input,{requestValidationModeMember:o}=n,r=await e.requestChecksumCalculation(),s=await e.responseChecksumValidation();switch(r){case t0.WHEN_REQUIRED:af(t,"FLEXIBLE_CHECKSUMS_REQ_WHEN_REQUIRED","a");break;case t0.WHEN_SUPPORTED:af(t,"FLEXIBLE_CHECKSUMS_REQ_WHEN_SUPPORTED","Z")}switch(s){case t3.WHEN_REQUIRED:af(t,"FLEXIBLE_CHECKSUMS_RES_WHEN_REQUIRED","c");break;case t3.WHEN_SUPPORTED:af(t,"FLEXIBLE_CHECKSUMS_RES_WHEN_SUPPORTED","b")}return o&&!u[o]&&s===t3.WHEN_SUPPORTED&&(u[o]="ENABLED"),i(a)},b5),i.addRelativeTo((i,t)=>async a=>{if(!tj.isInstance(a.request))return i(a);let u=a.input,o=await i(a),r=o.response,{requestValidationModeMember:s,responseAlgorithms:l}=n;if(s&&"ENABLED"===u[s]){let{clientName:n,commandName:i}=t;if("S3Client"===n&&"GetObjectCommand"===i&&Cy(l).every(e=>{let n=Co(e),i=r.headers[n];return!i||(e=>{let n=e.lastIndexOf("-");if(-1!==n){let i=e.slice(n+1);if(!i.startsWith("0")){let e=parseInt(i,10);if(!isNaN(e)&&e>=1&&e<=1e4)return!0}}return!1})(i)}))return o;await CT(r,{config:e,responseAlgorithms:l,logger:t.logger})}return o},Cx)}}),CE={step:"finalizeRequest",tags:["CHECK_CONTENT_LENGTH_HEADER"],name:"getCheckContentLengthHeaderPlugin",override:!0},CY=e=>({applyToStack:e=>{e.add((e,n)=>async i=>{let{request:t}=i;if(tj.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 n?.logger?.warn||n.logger instanceof uF?console.warn(e):n.logger.warn(e)}return e({...i})},CE)}}),CD={name:"ssecMiddleware",step:"initialize",tags:["SSE"],override:!0},Cv=e=>({applyToStack:n=>{n.add(n=>async i=>{let t={...i.input};for(let n of[{target:"SSECustomerKey",hash:"SSECustomerKeyMD5"},{target:"CopySourceSSECustomerKey",hash:"CopySourceSSECustomerKeyMD5"}]){let i=t[n.target];if(i){let a;"string"==typeof i?function(e,n){if(!/^(?:[A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e))return!1;try{let i=n.base64Decoder(e);return 32===i.length}catch{return!1}}(i,e)?a=e.base64Decoder(i):(a=e.utf8Decoder(i),t[n.target]=e.base64Encoder(a)):(a=ArrayBuffer.isView(i)?new Uint8Array(i.buffer,i.byteOffset,i.byteLength):new Uint8Array(i),t[n.target]=e.base64Encoder(a));let u=new e.md5;u.update(a),t[n.hash]=e.base64Encoder(await u.digest())}}return n({...i,input:t})},CD)}});class CZ extends hS.classBuilder().ep({...hC,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,n,i,t){return[hl(i,e.getEndpointParameterInstructions()),CL(i,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!1}),CY(i),hr(i),Cv(i)]}).s("AmazonS3","PutObject",{}).n("S3Client","PutObjectCommand").sc(mZ).build(){}let CN={tags:["S3"],name:"s3ExpiresMiddleware",override:!0,relation:"after",toMiddleware:"deserializerMiddleware"},CA=e=>({applyToStack:e=>{e.addRelativeTo((e,n)=>async i=>{let t=await e(i),{response:a}=t;if(aq.isInstance(a)&&a.headers.expires){a.headers.expiresstring=a.headers.expires;try{SP(a.headers.expires)}catch(e){n.logger?.warn(`AWS SDK Warning for ${n.clientName}::${n.commandName} response parsing (${a.headers.expires}): ${e}`),delete a.headers.expires}}return t},CN)}});class CJ extends hS.classBuilder().ep({...hC,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,n,i,t){return[hl(i,e.getEndpointParameterInstructions()),CL(i,{requestChecksumRequired:!1,requestValidationModeMember:"ChecksumMode",responseAlgorithms:["CRC64NVME","CRC32","CRC32C","SHA256","SHA1"]}),Cv(i),CA(i)]}).s("AmazonS3","GetObject",{}).n("S3Client","GetObjectCommand").sc(mY).build(){}class CP extends hS.classBuilder().ep({...hC,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,n,i,t){return[hl(i,e.getEndpointParameterInstructions()),hr(i)]}).s("AmazonS3","DeleteObject",{}).n("S3Client","DeleteObjectCommand").sc(mE).build(){}class CM extends hS.classBuilder().ep({...hC,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,n,i,t){return[hl(i,e.getEndpointParameterInstructions()),hr(i),Cv(i),CA(i)]}).s("AmazonS3","HeadObject",{}).n("S3Client","HeadObjectCommand").sc(mD).build(){}class CR extends hS.classBuilder().ep({...hC,Bucket:{type:"contextParams",name:"Bucket"},Prefix:{type:"contextParams",name:"Prefix"}}).m(function(e,n,i,t){return[hl(i,e.getEndpointParameterInstructions()),hr(i)]}).s("AmazonS3","ListObjectsV2",{}).n("S3Client","ListObjectsV2Command").sc(mv).build(){}class C_ extends hS.classBuilder().ep({...hC,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,n,i,t){return[hl(i,e.getEndpointParameterInstructions()),hr(i),Cv(i)]}).s("AmazonS3","CreateMultipartUpload",{}).n("S3Client","CreateMultipartUploadCommand").sc(mx).build(){}class CB extends hS.classBuilder().ep({...hC,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,n,i,t){return[hl(i,e.getEndpointParameterInstructions()),hr(i)]}).s("AmazonS3","AbortMultipartUpload",{}).n("S3Client","AbortMultipartUploadCommand").sc(mw).build(){}class CX extends hS.classBuilder().ep({...hC,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,n,i,t){return[hl(i,e.getEndpointParameterInstructions()),CL(i,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!1}),hr(i),Cv(i)]}).s("AmazonS3","UploadPart",{}).n("S3Client","UploadPartCommand").sc(mA).build(){}class CH extends hS.classBuilder().ep({...hC,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,n,i,t){return[hl(i,e.getEndpointParameterInstructions()),hr(i),Cv(i)]}).s("AmazonS3","CompleteMultipartUpload",{}).n("S3Client","CompleteMultipartUploadCommand").sc(mT).build(){}class Ck extends hS.classBuilder().ep({...hC,Bucket:{type:"contextParams",name:"Bucket"}}).m(function(e,n,i,t){return[hl(i,e.getEndpointParameterInstructions()),CL(i,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),hr(i)]}).s("AmazonS3","PutObjectTagging",{}).n("S3Client","PutObjectTaggingCommand").sc(mN).build(){}class CF{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 CQ{signal=new CF;abort(){this.signal.abort()}}let CI={...{lstatSync:()=>{},isFileReadStream:e=>!1},runtime:"node",lstatSync:tG.lstatSync,isFileReadStream:e=>e instanceof tG.ReadStream},CO=e=>{if(null==e)return 0;if("string"==typeof e)return oa.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(CI.isFileReadStream(e))try{return CI.lstatSync(e.path).size}catch(e){}};async function*CG(e,n,i){let t=1,a={chunks:[],length:0};for await(let u of i(e))for(a.chunks.push(u),a.length+=u.byteLength;a.length>n;){let e=a.chunks.length>1?oa.Buffer.concat(a.chunks):a.chunks[0];yield{partNumber:t,data:e.subarray(0,n)},a.chunks=[e.subarray(n)],a.length=a.chunks[0].byteLength,t+=1}yield{partNumber:t,data:1!==a.chunks.length?oa.Buffer.concat(a.chunks):a.chunks[0],lastPart:!0}}async function*C$(e,n){let i=1,t=0,a=n;for(;a<e.byteLength;)yield{partNumber:i,data:e.subarray(t,a)},i+=1,a=(t=a)+n;yield{partNumber:i,data:e.subarray(t),lastPart:!0}}async function*CK(e){for await(let n of e)oa.Buffer.isBuffer(n)||n instanceof Uint8Array?yield n:yield oa.Buffer.from(n)}async function*CU(e){let n=e.getReader();try{for(;;){let{done:e,value:i}=await n.read();if(e)return;oa.Buffer.isBuffer(i)||i instanceof Uint8Array?yield i:yield oa.Buffer.from(i)}}catch(e){throw e}finally{n.releaseLock()}}(en=ed||(ed={})).EMPTY_INPUT="a null or undefined Body",en.CONTENT_LENGTH="the ContentLength property of the params set by the caller",en.STRING_LENGTH="the encoded byte length of the Body string",en.TYPED_ARRAY="the byteLength of a typed byte array such as Uint8Array",en.LENGTH="the value of Body.length",en.SIZE="the value of Body.size",en.START_END_DIFF="the numeric difference between Body.start and Body.end",en.LSTAT="the size of the file given by Body.path on disk as reported by lstatSync";let CW=E("events");class Cz extends CW.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??CO(this.params.Body),this.totalBytesSource=((e,n)=>{if(null!=n)return ed.CONTENT_LENGTH;if(null==e)return ed.EMPTY_INPUT;if("string"==typeof e)return ed.STRING_LENGTH;if("number"==typeof e.byteLength)return ed.TYPED_ARRAY;if("number"==typeof e.length)return ed.LENGTH;if("number"==typeof e.size)return ed.SIZE;if("number"==typeof e.start&&"number"==typeof e.end)return ed.START_END_DIFF;if(CI.isFileReadStream(e))try{return CI.lstatSync(e.path).size,ed.LSTAT}catch(e){}})(this.params.Body,this.params.ContentLength),this.bytesUploadedSoFar=0,this.abortController=e.abortController??new CQ,this.partSize=e.partSize||Math.max(Cz.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,n){return this.uploadEvent=e,super.on(e,n)}async __uploadUsingPut(e){let n,i,t;this.isMultiPart=!1;let a={...this.params,Body:e.data},u=this.client.config,o=u.requestHandler,r=o instanceof CW.EventEmitter?o:null,s=n=>{this.bytesUploadedSoFar=n.loaded,this.totalBytes=n.total,this.__notifyProgress({loaded:this.bytesUploadedSoFar,total:this.totalBytes,part:e.partNumber,Key:this.params.Key,Bucket:this.params.Bucket})};null!==r&&r.on("xhr.upload.progress",s);let l=await Promise.all([this.client.send(new CZ(a)),u?.endpoint?.()]),h=l[0],g=l[1];if(g||(g=uT(await oq(a,CZ,{...u}))),!g)throw Error('Could not resolve endpoint from S3 "client.config.endpoint()" nor EndpointsV2.');null!==r&&r.off("xhr.upload.progress",s);let c=this.params.Key.split("/").map(e=>Sl(e)).join("/"),d=Sl(this.params.Bucket),p=(n=g.hostname.startsWith(`${d}.`),i=this.client.config.forcePathStyle,t=g.port?`:${g.port}`:"",i?`${g.protocol}//${g.hostname}${t}/${d}/${c}`:n?`${g.protocol}//${g.hostname}${t}/${c}`:`${g.protocol}//${d}.${g.hostname}${t}/${c}`);this.singleUploadResult={...h,Bucket:this.params.Bucket,Key:this.params.Key,Location:p};let f=CO(e.data);this.__notifyProgress({loaded:f,total:f,part:1,Key:this.params.Key,Bucket:this.params.Bucket})}async __createMultipartUpload(){let e=await this.client.config.requestChecksumCalculation();if(!this.createMultiPartPromise){let n={...this.params,Body:void 0};"WHEN_SUPPORTED"===e&&(n.ChecksumAlgorithm=this.params.ChecksumAlgorithm||"CRC32"),this.createMultiPartPromise=this.client.send(new C_(n)).then(e=>(this.abortMultipartUploadCommand=new CB({Bucket:this.params.Bucket,Key:this.params.Key,UploadId:e.UploadId}),e))}return this.createMultiPartPromise}async __doConcurrentUpload(e){for await(let n 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===n.partNumber&&n.lastPart)return await this.__uploadUsingPut(n);if(!this.uploadId){let{UploadId:e}=await this.__createMultipartUpload();if(this.uploadId=e,this.abortController.signal.aborted)return}let e=CO(n.data)||0,i=this.client.config.requestHandler,t=i instanceof CW.EventEmitter?i:null,a=0,u=(i,t)=>{(Number(t.query.partNumber)||-1)===n.partNumber&&(i.total&&e&&(this.bytesUploadedSoFar+=i.loaded-a,a=i.loaded),this.__notifyProgress({loaded:this.bytesUploadedSoFar,total:this.totalBytes,part:n.partNumber,Key:this.params.Key,Bucket:this.params.Bucket}))};null!==t&&t.on("xhr.upload.progress",u),this.uploadEnqueuedPartsCount+=1,this.__validateUploadPart(n);let o=await this.client.send(new CX({...this.params,ContentLength:void 0,UploadId:this.uploadId,Body:n.data,PartNumber:n.partNumber}));if(null!==t&&t.off("xhr.upload.progress",u),this.abortController.signal.aborted)return;if(!o.ETag)throw Error(`Part ${n.partNumber} is missing ETag in UploadPart response. Missing Bucket CORS configuration for ETag header?`);this.uploadedParts.push({PartNumber:n.partNumber,ETag:o.ETag,...o.ChecksumCRC32&&{ChecksumCRC32:o.ChecksumCRC32},...o.ChecksumCRC32C&&{ChecksumCRC32C:o.ChecksumCRC32C},...o.ChecksumSHA1&&{ChecksumSHA1:o.ChecksumSHA1},...o.ChecksumSHA256&&{ChecksumSHA256:o.ChecksumSHA256}}),null===t&&(this.bytesUploadedSoFar+=e),this.__notifyProgress({loaded:this.bytesUploadedSoFar,total:this.totalBytes,part:n.partNumber,Key:this.params.Key,Bucket:this.params.Bucket})}}async __doMultipartUpload(){let e,n=((e,n)=>{if(e instanceof Uint8Array)return C$(e,n);if(e instanceof u$.Readable)return CG(e,n,CK);if(e instanceof String||"string"==typeof e)return C$(oa.Buffer.from(e),n);if("function"==typeof e.stream)return CG(e.stream(),n,CU);if(e instanceof ReadableStream)return CG(e,n,CU);throw Error("Body Data is unsupported format, expected data to be one of: string | Uint8Array | Buffer | Readable | ReadableStream | Blob;.")})(this.params.Body,this.partSize),i=[];for(let e=0;e<this.queueSize;e++){let e=this.__doConcurrentUpload(n).catch(e=>{i.push(e)});this.concurrentUploaders.push(e)}if(await Promise.all(this.concurrentUploaders),i.length>=1)throw await this.markUploadAsAborted(),i[0];if(this.abortController.signal.aborted)throw await this.markUploadAsAborted(),Object.assign(Error("Upload aborted."),{name:"AbortError"});if(this.isMultiPart){let{expectedPartsCount:n,uploadedParts:i,totalBytes:t,totalBytesSource:a}=this;if(void 0!==t&&void 0!==n&&i.length!==n)throw Error(`Expected ${n} part(s) but uploaded ${i.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()});(ee=ec||(ec={})).MD5="md5",ee.CRC32="crc32",ee.CRC32C="crc32c",ee.SHA1="sha1",ee.SHA256="sha256";let getDefaultExtensionConfiguration=e=>Object.assign((e=>{let i=[];for(let n in ec){let t=ec[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 fB extends ar{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??uA,httpAuthSchemes:i?.httpAuthSchemes??[{schemeId:"aws.auth#sigv4",identityProvider:e=>e.getIdentityProvider("aws.auth#sigv4"),signer:new pI},{schemeId:"aws.auth#sigv4a",identityProvider:e=>e.getIdentityProvider("aws.auth#sigv4a"),signer:new pO}],logger:i?.logger??new t5,protocol:i?.protocol??fk,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??aP,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(d3,l),bodyLengthChecker:i?.bodyLengthChecker??calculateBodyLength,credentialDefaultProvider:i?.credentialDefaultProvider??defaultProvider,defaultUserAgentProvider:i?.defaultUserAgentProvider??createDefaultUserAgentProvider({serviceId:s.serviceId,clientVersion:"3.964.0"}),disableS3ExpressSessionAuth:i?.disableS3ExpressSessionAuth??loadConfig(td,l),eventStreamSerdeProvider:i?.eventStreamSerdeProvider??eventStreamSerdeProvider,maxAttempts:i?.maxAttempts??loadConfig(t8,i),md5:i?.md5??pv.bind(null,"md5"),region:i?.region??loadConfig(pi,{...pn,...l}),requestChecksumCalculation:i?.requestChecksumCalculation??loadConfig(d7,l),requestHandler:pR.create(i?.requestHandler??u),responseChecksumValidation:i?.responseChecksumValidation??loadConfig(d9,l),retryMode:i?.retryMode??loadConfig({...t6,default:async()=>(await u()).retryMode||tK},i),sha1:i?.sha1??pv.bind(null,"sha1"),sha256:i?.sha256??pv.bind(null,"sha256"),sigv4aSigningRegionSet:i?.sigv4aSigningRegionSet??loadConfig(aA,l),streamCollector:i?.streamCollector??streamCollector,streamHasher:i?.streamHasher??readableStreamHasher,useArnRegion:i?.useArnRegion??loadConfig(d5,l),useDualstackEndpoint:i?.useDualstackEndpoint??loadConfig(pt,l),useFipsEndpoint:i?.useFipsEndpoint??loadConfig(pa,l),userAgentAppId:i?.userAgentAppId??loadConfig(pe,l)});super(C),this.initConfig=C;let T=(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 to(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??n1),responseChecksumValidation:normalizeProvider(n??n2),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,dj]}),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=T,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:uv,identityProviderConfigProvider:async e=>new tN({"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),ts),e.addRelativeTo(bucketEndpointMiddleware(f),tu)}})),this.middlewareStack.use((m=this.config,{applyToStack:e=>{e.add(addExpectContinueMiddleware(m),nV)}})),this.middlewareStack.use((y=this.config,{applyToStack:e=>{e.add(regionRedirectMiddleware(y),th),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}},tl)}})),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,nj.isInstance(n.request)&&t.sessionToken&&(n.request.headers[tc]=t.sessionToken)}}}return e(n)},tp)}})),this.middlewareStack.use((b=this.config,{applyToStack:e=>{e.addRelativeTo((e,i)=>async n=>{let t;if(!nj.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},tm)}}))}destroy(){super.destroy()}}let fH={name:"flexibleChecksumsInputMiddleware",toMiddleware:"serializerMiddleware",relation:"before",tags:["BODY_CHECKSUM"],override:!0};class fF{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 fF(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 fX=L("node:stream");function createBufferedReadable_createBufferedReadable(e,i,n){if(isReadableStream(e))return createBufferedReadableStream(e,i,n);let t=new fX.Readable({read(){}}),a=!1,r=0,o=["",new fF(e=>new Uint8Array(e)),new fF(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 fI=[en.CRC32,en.CRC32C,en.CRC64NVME,en.SHA1,en.SHA256],fO=[en.SHA256,en.SHA1,en.CRC32,en.CRC32C,en.CRC64NVME],getChecksumLocationName=e=>e===en.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 fQ=function(){function AwsCrc32c(){this.crc32c=new fG}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 fG},AwsCrc32c}(),fG=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^fU[(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}(),fU=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 fq{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 fK=L("zlib");class f${checksum=0;update(e){this.checksum=fK.crc32(e,this.checksum)}async digest(){return numToUint8(this.checksum)}reset(){this.checksum=0}}let selectChecksumAlgorithmFunction=(e,i)=>{switch(e){case en.MD5:return i.md5;case en.CRC32:return void 0===fK.crc32?po:f$;case en.CRC32C:return fQ;case en.CRC64NVME:!0;return fq;case en.SHA1:return i.sha1;case en.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()},fz={name:"flexibleChecksumsMiddleware",step:"build",tags:["BODY_CHECKSUM"],override:!0},getChecksumAlgorithmListForResponse=(e=[])=>{let i=[];for(let n of fO)e.includes(n)&&fI.includes(n)&&i.push(n);return i};class fW extends ai.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 fj="function"==typeof ReadableStream?ReadableStream:function(){};class fV extends fj{}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,fV.prototype),u})(e):new fW(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===en.CRC64NVME){t?.warn(`Skipping ${en.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}".`)}}},f0={name:"flexibleChecksumsResponseMiddleware",toMiddleware:"deserializerMiddleware",relation:"after",tags:["BODY_CHECKSUM"],override:!0},getFlexibleChecksumsPlugin=(e,i)=>({applyToStack:n=>{n.add((n,t)=>async a=>{if(!nj.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===n0.WHEN_SUPPORTED||g)&&(o[p]=n4,f&&(s[f]=n4));let m=((e,{requestChecksumRequired:i,requestAlgorithmMember:n,requestChecksumCalculation:t})=>{if(!n)return t===n0.WHEN_SUPPORTED||i?n4:void 0;if(!e[n])return;let a=e[n];if(!fI.includes(a))throw Error(`The checksum algorithm "${a}" is not supported by the client. Select one of ${fI}.`);return a})(o,{requestChecksumRequired:g,requestAlgorithmMember:c?.name,requestChecksumCalculation:d}),y=u,S=s;if(m){switch(m){case en.CRC32:setFeature(t,"FLEXIBLE_CHECKSUMS_REQ_CRC32","U");break;case en.CRC32C:setFeature(t,"FLEXIBLE_CHECKSUMS_REQ_CRC32C","V");break;case en.CRC64NVME:setFeature(t,"FLEXIBLE_CHECKSUMS_REQ_CRC64","W");break;case en.SHA1:setFeature(t,"FLEXIBLE_CHECKSUMS_REQ_SHA1","X");break;case en.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}},fz),n.addRelativeTo((n,t)=>async a=>{let r=a.input,{requestValidationModeMember:o}=i,u=await e.requestChecksumCalculation(),s=await e.responseChecksumValidation();switch(u){case n0.WHEN_REQUIRED:setFeature(t,"FLEXIBLE_CHECKSUMS_REQ_WHEN_REQUIRED","a");break;case n0.WHEN_SUPPORTED:setFeature(t,"FLEXIBLE_CHECKSUMS_REQ_WHEN_SUPPORTED","Z")}switch(s){case n3.WHEN_REQUIRED:setFeature(t,"FLEXIBLE_CHECKSUMS_RES_WHEN_REQUIRED","c");break;case n3.WHEN_SUPPORTED:setFeature(t,"FLEXIBLE_CHECKSUMS_RES_WHEN_SUPPORTED","b")}return o&&!r[o]&&s===n3.WHEN_SUPPORTED&&(r[o]="ENABLED"),n(a)},fH),n.addRelativeTo((n,t)=>async a=>{if(!nj.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},f0)}});function checkContentLengthHeader(){return(e,i)=>async n=>{let{request:t}=n;if(nj.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 t5?console.warn(e):i.logger.warn(e)}return e({...n})}}let f1={step:"finalizeRequest",tags:["CHECK_CONTENT_LENGTH_HEADER"],name:"getCheckContentLengthHeaderPlugin",override:!0},getCheckContentLengthHeaderPlugin=e=>({applyToStack:e=>{e.add(checkContentLengthHeader(),f1)}});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 f3={name:"ssecMiddleware",step:"initialize",tags:["SSE"],override:!0},getSsecPlugin=e=>({applyToStack:i=>{i.add(ssecMiddleware(e),f3)}});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 f2 extends uk.classBuilder().ep({...uH,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(d$).build(){}let f4={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(tP.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},f4)}});class f8 extends uk.classBuilder().ep({...uH,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(dU).build(){}class f6 extends uk.classBuilder().ep({...uH,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(dG).build(){}class f5 extends uk.classBuilder().ep({...uH,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(dq).build(){}class f7 extends uk.classBuilder().ep({...uH,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(dK).build(){}class f9 extends uk.classBuilder().ep({...uH,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(dO).build(){}class me extends uk.classBuilder().ep({...uH,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(dX).build(){}class mi extends uk.classBuilder().ep({...uH,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(dW).build(){}class mn extends uk.classBuilder().ep({...uH,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(dI).build(){}class mt extends uk.classBuilder().ep({...uH,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(dz).build(){}class ma{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 mr{signal=new ma;abort(){this.signal.abort()}}let mo={...{lstatSync:()=>{},isFileReadStream:e=>!1},runtime:"node",lstatSync:nK.lstatSync,isFileReadStream:e=>e instanceof nK.ReadStream},byteLength_byteLength=e=>{if(null==e)return 0;if("string"==typeof e)return as.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(mo.isFileReadStream(e))try{return mo.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?as.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?as.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)as.Buffer.isBuffer(i)||i instanceof Uint8Array?yield i:yield as.Buffer.from(i)}async function*getDataReadableStream(e){let i=e.getReader();try{for(;;){let{done:e,value:n}=await i.read();if(e)return;as.Buffer.isBuffer(n)||n instanceof Uint8Array?yield n:yield as.Buffer.from(n)}}catch(e){throw e}finally{i.releaseLock()}}(ei=ed||(ed={})).EMPTY_INPUT="a null or undefined Body",ei.CONTENT_LENGTH="the ContentLength property of the params set by the caller",ei.STRING_LENGTH="the encoded byte length of the Body string",ei.TYPED_ARRAY="the byteLength of a typed byte array such as Uint8Array",ei.LENGTH="the value of Body.length",ei.SIZE="the value of Body.size",ei.START_END_DIFF="the numeric difference between Body.start and Body.end",ei.LSTAT="the size of the file given by Body.path on disk as reported by lstatSync";let mu=L("events");class ms extends mu.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 ed.CONTENT_LENGTH;if(null==e)return ed.EMPTY_INPUT;if("string"==typeof e)return ed.STRING_LENGTH;if("number"==typeof e.byteLength)return ed.TYPED_ARRAY;if("number"==typeof e.length)return ed.LENGTH;if("number"==typeof e.size)return ed.SIZE;if("number"==typeof e.start&&"number"==typeof e.end)return ed.START_END_DIFF;if(mo.isFileReadStream(e))try{return mo.lstatSync(e.path).size,ed.LSTAT}catch(e){}})(this.params.Body,this.params.ContentLength),this.bytesUploadedSoFar=0,this.abortController=e.abortController??new mr,this.partSize=e.partSize||Math.max(ms.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 mu.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 f2(a)),r?.endpoint?.()]),l=s[0],h=s[1];if(h||(h=toEndpointV1_toEndpointV1(await getEndpointFromInstructions(a,f2,{...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 f9(i)).then(e=>(this.abortMultipartUploadCommand=new me({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 mu.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 mi({...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 ai.Readable)return getChunkStream(e,i,getDataReadable);if(e instanceof String||"string"==typeof e)return getChunkUint8Array(as.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,n)=>e.PartNumber-n.PartNumber);let u={...this.params,Body:void 0,UploadId:this.uploadId,MultipartUpload:{Parts:this.uploadedParts}};e=await this.client.send(new CH(u)),"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 Ck({...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((n,i)=>{e.onabort=()=>{let e=Error("Upload aborted.");e.name="AbortError",i(e)}})}__validateUploadPart(e){let n=CO(e.data);if(void 0===n)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&&n!==this.partSize)throw Error(`The byte size for part number ${e.partNumber}, size ${n} 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<Cz.MIN_PART_SIZE)throw Error(`EntityTooSmall: Your proposed upload part size [${this.partSize}] is smaller than the minimum allowed size [${Cz.MIN_PART_SIZE}] (5MB)`);if(this.queueSize<1)throw Error("Queue size: Must have at least one uploading queue.")}}var Cj=["\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"],Cq=[" "," "," "," "," "," "," "," "," "," "," "," ",null,null,null,null,"-","-","-","-","--","--","||","_","'","'",",","'",'"','"',",,",'"',"+","++","*","*>",".","..","...",".",`
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 mn(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 mt({...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<ms.MIN_PART_SIZE)throw Error(`EntityTooSmall: Your proposed upload part size [${this.partSize}] is smaller than the minimum allowed size [${ms.MIN_PART_SIZE}] (5MB)`);if(this.queueSize<1)throw Error("Queue size: Must have at least one uploading queue.")}}var ml=["\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"],mh=[" "," "," "," "," "," "," "," "," "," "," "," ",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"],CV=["g","gg","n","d","dd","r","m","b","bb","s","ss","","j","jj","c","k","t","p","h"],C0=["a","ae","ya","yae","eo","e","yeo","ye","o","wa","wae","oe","yo","u","weo","we","wi","yu","eu","yi","i"],C1=["","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"],C3=[];C3[0]=Cj,C3[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"],C3[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","=",'"'],C3[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"],C3[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"],C3[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","'",'"'],C3[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"],C3[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"],C3[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"],C3[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"],C3[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+"],C3[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"],C3[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"," . "],C3[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"],C3[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) "],C3[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," // "],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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","'"],C3[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"],C3[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","'","`"],C3[32]=Cq,C3[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","^","-","-","|","|","-","-","|","|","=","|","=","=","|","=","|","=","=","=","=","=","=","|","=","|","=","|","\\","/","\\","/","=","=","~","~","|","|","-","|","-","|","-","-","-","|","-","|","|","|","|","|","|","|","-","\\","\\","|"],C3[37]=["-","-","|","|","-","-","|","|","-","-","|","|","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","-","-","|","|","-","|","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","/","\\","X","-","|","-","|","-","|","-","|","-","|","-","|","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","-","|",null,null,null,null,null,null,null,null,null,null,"#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","^","^","^","^",">",">",">",">",">",">","V","V","V","V","<","<","<","<","<","<","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","#","#","#","#","#","^","^","^","O","#","#","#","#","#","#","#","#"],C3[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]"],C3[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,'"','"'],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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"],C3[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,"\\","$","%","@"],C3[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 C2={};for(let e=0;e<C3.length;e++){let n=C3[e];if(n)for(let i=0;i<n.length;i++){let t=n[i];t&&(C2[String.fromCharCode((e<<8)+i)]=t)}}for(let e=44032;e<=55203;e++){let n=e-44032;C2[String.fromCharCode(e)]=CV[n/588|0]+C0[n%588/28|0]+C1[n%28]}var C4=/[-[\]/{}()*+?.\\^$|]/g,C6=/[\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]/,C8=/[\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 C5(e){return(e||"").replace(C4,"\\$&")}function C7(e){if(Array.isArray(e))return e.map(e=>C7(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 n={};for(let i in e)Object.hasOwn(e,i)&&(n[i]=C7(e[i]));return n}return e}function C9(e,n){if(0===n.length)return!1;let i=0,t=n.length-1;for(;i<=t;){var a;let u=i+t>>>1,o=e<(a=n[u])[0]?-1:1*!!(e>a[1]);if(0===o)return!0;-1===o?t=u-1:i=u+1}return!1}function we(e,n,i,t=[]){let a=t.length?RegExp(t.map(C5).join("|"),"g"):null,u=RegExp(n.source,`${n.flags.replace("g","")}g`),o="",r=0;for(;;){let n=u.exec(e),t="",s=0;if(n){for(;;){let e=a?.exec(n[0]);if(e&&a)t+=e.index>s?i:"",t+=e[0],s=a.lastIndex;else{t+=n[0].length>s?i:"";break}}o+=e.substring(r,n.index)+t,r=u.lastIndex}else{o+=e.substring(r,e.length);break}}return o}var wn=/[\uD800-\uDBFF]/,wi=/[\uDC00-\uDFFF]/,wt=/[^\s\S]/,wa={ignore:[],replace:[],replaceAfter:[],trim:!1,unknown:"",fixChineseSpacing:!0},wu=class{get options(){return C7({...wa,...this.confOptions})}constructor(e=C7(wa),n=C2){this.confOptions=e,this.map=n}config(e,n=!1){return n&&(this.confOptions={}),e&&"object"==typeof e&&(this.confOptions=C7(e)),this.confOptions}codeMapReplace(e,n,i=[]){var t;let a=0,u="",o=n.fixChineseSpacing&&C6.test(e),r=!1;for(let s=0;s<e.length;s++){let l=wn.test(e[s])&&wi.test(e[s+1])?e[s]+e[s+1]:e[s],h,g=!1;C9(a,i)||2===l.length&&C9(a+1,i)?(h=l,i.find(e=>e[1]>=a&&e[0]===a)||(g=!0)):h=this.map[l]||n.unknown||"",o&&(!r||g||(t=h,C8.test(t))||(h=` ${h}`),r=!!h&&C6.test(l)),u+=h,a+=l.length,s+=l.length-1}return u}formatReplaceOption(e){if(Array.isArray(e))return C7(e);let n=[];for(let i in e)Object.hasOwn(e,i)&&n.push([i,e[i]]);return n}replaceString(e,n,i=[]){let t=C7(n),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(C5(e[0]),"g");break;default:e[0]=wt}a=we(a,e[0],e[1],i)}return a}setData(e,n=!1){if(n&&(this.map=C7(C2)),e&&"object"==typeof e&&Object.keys(e).length)for(let n in this.map=C7(this.map),e)Object.hasOwn(e,n)&&n.length<3&&n<="\uDBFF\uDFFF"&&(this.map[n]=e[n]);return this.map}transliterate(e,n){let i=C7({...this.options,..."object"==typeof n?n:{}}),t="string"==typeof e?e:String(e),a=this.formatReplaceOption(i.replace);a.length&&(t=this.replaceString(t,a,i.ignore));let u=i.ignore&&i.ignore.length>0?function(e,n){let i,t=[];for(let i of n){let n=e.indexOf(i);for(;n>-1;)t.push([n,n+i.length-1]),n=e.indexOf(i,n+1)}let a=t.sort((e,n)=>e[0]-n[0]||e[1]-n[1]);for(let e of(t=[],a))!i||e[0]>i[1]+1?(i=e,t.push(i)):e[1]>i[1]&&(i[1]=e[1]);return t}(t,i.ignore):[];t=this.codeMapReplace(t,i,u),i.trim&&(t=t.trim());let o=this.formatReplaceOption(i.replaceAfter);return o.length&&(t=this.replaceString(t,o)),t}},wo={...C7(wa),allowedChars:"a-zA-Z0-9-_.~",lowercase:!0,separator:"-",uppercase:!1,fixChineseSpacing:!0},wr=class extends wu{get options(){return C7({...wo,...this.confOptions})}config(e,n=!1){return n&&(this.confOptions={}),e&&"object"==typeof e&&(this.confOptions=C7(e)),this.confOptions}slugify(e,n){let i=C7({...this.options,..."object"==typeof n?n:{}}),t=i.separator?C5(i.separator):"",a=this.transliterate(e,i);return a=we(a,RegExp(`[^${i.allowedChars}]+`,"g"),i.separator??"-",i.ignore??[]),t&&(a=(a=a.replace(RegExp(`${t}+`,"g"),i.separator)).replace(RegExp(`^${t}+|${t}+$`,"g"),"")),i.lowercase&&(a=a.toLowerCase()),i.uppercase&&(a=a.toUpperCase()),a}},ws=new wu,wl=ws.transliterate.bind(ws);wl.config=ws.config.bind(ws),wl.setData=ws.setData.bind(ws);var wh=new wr,wg=wh.slugify.bind(wh);wg.config=wh.config.bind(wh),wg.setData=wh.setData.bind(wh);class wc{static DEFAULT_REGION="cn-beijing";static DEFAULT_MAX_KEYS=1e3;static DEFAULT_PRESIGNED_EXPIRE_TIME=86400;static DEFAULT_UPLOAD_TIMEOUT=3e4}let wd=/^[A-Za-z0-9._\-/]+$/;function wp(){return process.env.COZE_WORKLOAD_IDENTITY_API_KEY||null}class wf{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||wc.DEFAULT_REGION}getClient(){if(!this.client){if(!this.endpointUrl)throw Error("Storage endpoint not configured: Set COZE_BUCKET_ENDPOINT_URL");this.client=new b8({endpoint:this.endpointUrl,region:this.region,credentials:{accessKeyId:this.accessKey,secretAccessKey:this.secretKey},forcePathStyle:!0}),this.client.middlewareStack.add(e=>async n=>{let i=wp();return i&&n.request?.headers&&(n.request.headers["x-storage-token"]=i),e(n)},{step:"build",name:"injectStorageToken"})}return this.client}generateObjectKey(e){let n=t$.default.extname(e).toLowerCase(),i=t$.default.basename(e,n),t=(0,uQ.randomUUID)().replace(/-/g,"").slice(0,8);return t$.default.join(t$.default.dirname(e),`${i}_${t}${n}`)}resolveBucket(e){let n=e||process.env.COZE_BUCKET_NAME||this.bucketName;if(!n)throw Error("Bucket not configured: Provide bucket or set COZE_BUCKET_NAME");return n}sanitizeFileName(e){if(!e||!e.trim())return"file";let n=e.split("/").filter(e=>e.trim()).map(e=>{let n=e.lastIndexOf("."),i=n>0,t=i?e.slice(n):"",a=wl(i?e.slice(0,n):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(n,"utf-8")>1024&&(n=n.slice(0,1e3)),n}async uploadFile(e){let{fileContent:n,fileName:i,contentType:t="application/octet-stream",bucket:a}=e,u=this.sanitizeFileName(i),o=this.getClient(),r=this.generateObjectKey(u),s=this.resolveBucket(a);return await o.send(new CZ({Bucket:s,Key:r,Body:n,ContentType:t})),r}async readFile(e){let{fileKey:n,bucket:i}=e,t=this.getClient(),a=this.resolveBucket(i),u=await t.send(new CJ({Bucket:a,Key:n}));if(!u.Body)throw Error("S3 GetObject returned no Body");let o=[];for await(let e of u.Body)o.push(Buffer.from(e));return Buffer.concat(o)}async deleteFile(e){let{fileKey:n,bucket:i}=e,t=this.getClient(),a=this.resolveBucket(i);return await t.send(new CP({Bucket:a,Key:n})),!0}async fileExists(e){let{fileKey:n,bucket:i}=e,t=this.getClient(),a=this.resolveBucket(i);try{return await t.send(new CM({Bucket:a,Key:n})),!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:n,bucket:i,maxKeys:t=wc.DEFAULT_MAX_KEYS,continuationToken:a}=e;if(t<=0||t>1e3)throw Error("maxKeys must be between 1 and 1000");let u=this.getClient(),o=this.resolveBucket(i),r=await u.send(new CR({Bucket:o,MaxKeys:t,Prefix:n,ContinuationToken:a}));return{keys:(r.Contents||[]).filter(e=>e.Key).map(e=>e.Key),isTruncated:r.IsTruncated||!1,nextContinuationToken:r.NextContinuationToken}}async generatePresignedUrl(e){let{key:n,bucket:i,expireTime:t=wc.DEFAULT_PRESIGNED_EXPIRE_TIME}=e,a=wp();if(!a)throw Error("Failed to get x-storage-token: Set COZE_WORKLOAD_IDENTITY_API_KEY");let u=process.env.COZE_BUCKET_ENDPOINT_URL||this.endpointUrl;if(!u)throw Error("Sign endpoint not configured: Set COZE_BUCKET_ENDPOINT_URL");let o=u.replace(/\/$/,"")+"/sign-url",r=this.resolveBucket(i),s=await fetch(o,{method:"POST",headers:{"Content-Type":"application/json","x-storage-token":a},body:JSON.stringify({bucket_name:r,path:n,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:n,fileName:i,contentType:t="application/octet-stream",bucket:a}=e,u=this.sanitizeFileName(i),o=this.getClient(),r=this.generateObjectKey(u),s=new Cz({client:o,params:{Bucket:this.resolveBucket(a),Key:r,Body:n,ContentType:t}});return await s.done(),r}async uploadFromUrl(e){let{url:n,bucket:i,timeout:t=wc.DEFAULT_UPLOAD_TIMEOUT}=e,a=new AbortController,u=setTimeout(()=>a.abort(),t);try{let e=await fetch(n,{signal:a.signal});if(!e.ok)throw Error(`Failed to fetch URL: ${e.status}`);let t=new URL(n),u=t$.default.basename(decodeURIComponent(t.pathname))||"file",o=e.headers.get("content-type")||"application/octet-stream",r=Buffer.from(await e.arrayBuffer());return this.uploadFile({fileContent:r,fileName:u,contentType:o,bucket:i})}finally{clearTimeout(u)}}async chunkUploadFile(e){let{chunks:n,fileName:i,contentType:t="application/octet-stream",bucket:a}=e,u=this.sanitizeFileName(i),o=this.getClient(),r=this.generateObjectKey(u),s=new Cz({client:o,params:{Bucket:this.resolveBucket(a),Key:r,Body:u$.Readable.from(n),ContentType:t}});return await s.done(),r}}let wm={defaultModel:"doubao-embedding-vision-251215",defaultEncodingFormat:"float",maxBatchSize:100};class wy extends ex{model;constructor(e,n,i=!1){super(e,n,i),this.model=wm.defaultModel}validateInputs(e,n,i){let t=e&&e.length>0,a=n&&n.length>0,u=i&&i.length>0;if(!t&&!a&&!u)throw new eT("At least one of texts, imageUrls, or videoUrls must be provided");let o=(e?.length||0)+(n?.length||0)+(i?.length||0);if(o>wm.maxBatchSize)throw new eT(`Total inputs (${o}) exceed maximum batch size of ${wm.maxBatchSize}`)}buildInputItems(e,n,i){let t=[];if(e)for(let n of e)n&&n.trim()&&t.push({type:"text",text:n});if(n)for(let e of n)e&&e.trim()&&t.push({type:"image_url",image_url:{url:e}});if(i)for(let e of i)e&&e.trim()&&t.push({type:"video_url",video_url:{url:e}});return t}async embed(e,n,i,t){this.validateInputs(e,n,i);let a=this.buildInputItems(e,n,i);if(0===a.length)throw new eT("No valid input provided");let u={model:t?.model||this.model,input:a};t?.dimensions!==void 0&&(u.dimensions=t.dimensions),t?.encodingFormat&&(u.encoding_format=t.encodingFormat),t?.instructions&&(u.instructions=t.instructions),t?.multiEmbedding&&(u.multi_embedding={type:"enabled"}),t?.sparseEmbedding&&(u.sparse_embedding={type:"enabled"});let o=await this.request("POST",`${this.config.baseUrl}/api/v3/embeddings/multimodal`,u);if(o.error)throw new eC(o.error.message||"Unknown error",void 0,o.error);return o}async embedText(e,n){let i=await this.embed([e],void 0,void 0,n);if(i.data?.embedding)return i.data.embedding;throw new eC("No embedding returned")}async embedTexts(e,n){let i=await this.embed(e,void 0,void 0,n);if(i.data?.embedding)return i.data.embedding;throw new eC("No embedding returned")}async embedImage(e,n){let i=await this.embed(void 0,[e],void 0,n);if(i.data?.embedding)return i.data.embedding;throw new eC("No embedding returned")}async embedImages(e,n){let i=await this.embed(void 0,e,void 0,n);if(i.data?.embedding)return i.data.embedding;throw new eC("No embedding returned")}async embedVideo(e,n){let i=await this.embed(void 0,void 0,[e],n);if(i.data?.embedding)return i.data.embedding;throw new eC("No embedding returned")}async embedVideos(e,n){let i=await this.embed(void 0,void 0,e,n);if(i.data?.embedding)return i.data.embedding;throw new eC("No embedding returned")}async embedMultimodal(e,n,i,t){return this.embed(e,n,i,t)}async embedWithMultiVectors(e,n,i,t){let a=await this.embed(e,n,i,{...t,multiEmbedding:!0});return a.data?.multi_embedding}async embedWithSparse(e,n,i,t){let a=await this.embed(e,n,i,{...t,sparseEmbedding:!0});return a.data?.sparse_embedding}async batchEmbed(e,n,i=5){let t=[],a=[...e];for(;a.length>0;){let e=a.splice(0,i).map(e=>this.embed(e,void 0,void 0,n)),u=await Promise.all(e);t.push(...u)}return t}}function wS(e){let n;return e.image&&(n={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:n}}function wb(e){return{no_display:e.no_display,no_display_reason:e.no_display_reason}}class wC extends ex{constructor(e,n,i=!1){super(e,n,i)}async fetch(e){let n,i=await this.request("POST",`${this.config.baseUrl}/api/v1/integration/fetch_tool`,{url:e});if(i.code&&0!==i.code)throw new eC(`Fetch failed: ${i.message||"Unknown error"}`,i.code,i.message);let t=i.data||i,a=[];if(t.content)for(let e of t.content)a.push(wS(e));return t.display_info&&(n=wb(t.display_info)),{fetch_id:t.fetch_id,status_code:t.status_code,status_message:t.status_message,url:t.url,doc_id:t.doc_id,title:t.title,publish_time:t.publish_time,filetype:t.filetype,content:a,display_info:n}}}class ww{config;axiosInstance;constructor(e,n){this.config=e,this.axiosInstance=Y.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,...n}})}async request(e,n,i){return(await this.axiosInstance.request({method:e,url:n,data:i})).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 n,i=await this.request("POST",`${this.config.baseUrl}/v1/supabase/functions/get`,{slug:e});if(i.function){let e=i.function;n={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:n,files:(i.files||[]).map(e=>({name:e.name||"",content:e.content||""})),code:i.code||0,msg:i.msg||""}}async deployFunction(e,n){let i={slug:e};n?.code!==void 0&&(i.code=n.code),n?.files!==void 0&&(i.files=n.files),n?.name!==void 0&&(i.name=n.name),n?.entrypoint!==void 0&&(i.entrypoint=n.entrypoint),n?.verify_jwt!==void 0&&(i.verify_jwt=n.verify_jwt);let t=await this.request("POST",`${this.config.baseUrl}/v1/supabase/functions/deploy`,i);return{success:t.success||!1,slug:t.slug,version:t.version,code:t.code||0,msg:t.msg||""}}async deleteFunction(e){let n=await this.request("POST",`${this.config.baseUrl}/v1/supabase/functions/delete`,{slug:e});return{success:n.success||!1,code:n.code||0,msg:n.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 n,i=await this.request("POST",`${this.config.baseUrl}/v1/supabase/buckets/get`,{bucket_id:e});if(i.bucket){let e=i.bucket;n={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:n,code:i.code||0,msg:i.msg||""}}async createBucket(e,n){let i={bucket_id:e};n?.name!==void 0&&(i.name=n.name),n?.public!==void 0&&(i.public=n.public),n?.file_size_limit!==void 0&&(i.file_size_limit=n.file_size_limit),n?.allowed_mime_types!==void 0&&(i.allowed_mime_types=n.allowed_mime_types);let t=await this.request("POST",`${this.config.baseUrl}/v1/supabase/buckets/create`,i);return{success:t.success||!1,bucket_id:t.bucket_id,code:t.code||0,msg:t.msg||""}}async updateBucket(e,n){let i={bucket_id:e};n?.public!==void 0&&(i.public=n.public),n?.file_size_limit!==void 0&&(i.file_size_limit=n.file_size_limit),n?.allowed_mime_types!==void 0&&(i.allowed_mime_types=n.allowed_mime_types);let t=await this.request("POST",`${this.config.baseUrl}/v1/supabase/buckets/update`,i);return{success:t.success||!1,code:t.code||0,msg:t.msg||""}}async deleteBucket(e){let n=await this.request("POST",`${this.config.baseUrl}/v1/supabase/buckets/delete`,{bucket_id:e});return{success:n.success||!1,code:n.code||0,msg:n.msg||""}}async getAuthConfig(){let e,n=await this.request("POST",`${this.config.baseUrl}/v1/supabase/auth/config/get`,{});if(n.config){let i=n.config;e={external_email_enabled:i.external_email_enabled,disable_signup:i.disable_signup,mailer_autoconfirm:i.mailer_autoconfirm,double_confirm_changes:i.double_confirm_changes,mailer_secure_email_change_enabled:i.mailer_secure_email_change_enabled,mailer_otp_exp:i.mailer_otp_exp,password_min_length:i.password_min_length,password_required_characters:i.password_required_characters,site_url:i.site_url,smtp_host:i.smtp_host,smtp_port:i.smtp_port,smtp_user:i.smtp_user,smtp_pass:i.smtp_pass,smtp_admin_email:i.smtp_admin_email,smtp_sender_name:i.smtp_sender_name,smtp_max_frequency:i.smtp_max_frequency}}return{config:e,code:n.code||0,msg:n.msg||""}}async updateAuthConfig(e){let n=await this.request("POST",`${this.config.baseUrl}/v1/supabase/auth/config/update`,{config:e});return{success:n.success||!1,code:n.code||0,msg:n.msg||""}}async diagnoseDatabase(e){let n,i={};void 0!==e&&(i.env=e);let t=await this.request("POST",`${this.config.baseUrl}/v1/supabase/database/diagnose`,i);if(t.report){let e=t.report;n={database_type:e.database_type??0,pg_metrics:e.pg_metrics||{},supabase_metrics:e.supabase_metrics}}return{report:n,code:t.code||0,msg:t.msg||""}}}var wT=ey.ContentPart,wx=ep.CozeConfig,wL=em.EmbedOptions,wE=em.EmbeddingConfig,wY=em.EmbeddingData,wD=em.EmbeddingInputImageURL,wv=em.EmbeddingInputItem,wZ=em.EmbeddingInputVideoURL,wN=em.EmbeddingRequest,wA=em.EmbeddingResponse,wJ=em.EmbeddingUsage,wP=ef.ForwardHeaderKey,wM=ey.LLMConfig,wR=ey.LLMResponse,w_=ey.Message,wB=em.MultiEmbeddingConfig,wX=em.PromptTokensDetails,wH=em.SparseEmbeddingConfig,wk=em.SparseEmbeddingItem;export{eC as APIError,eH as ASRClient,y2 as AwsSdkSigV4Signer,ex as BaseClient,u6 as Client,eS as Config,eb as ConfigurationError,wT as ContentPart,wx as CozeConfig,ue as CredentialsProviderError,wm as DEFAULT_EMBEDDING_CONFIG,uL as DEFAULT_RETRY_MODE,tM as DatabaseConfig,aj as DefaultIdentityProviderConfig,wL as EmbedOptions,wy as EmbeddingClient,wE as EmbeddingConfig,wY as EmbeddingData,wD as EmbeddingInputImageURL,wv as EmbeddingInputItem,wZ as EmbeddingInputVideoURL,wN as EmbeddingRequest,wA as EmbeddingResponse,wJ as EmbeddingUsage,o0 as EndpointCache,wd as FILE_NAME_ALLOWED_RE,eL as FORWARD_HEADER_KEYS,wC as FetchClient,wP as ForwardHeaderKey,eI as FrameExtractorClient,yD as Hash,eE as HeaderUtils,Sc as HttpBindingProtocol,be as HttpInterceptingShapeDeserializer,SW as HttpInterceptingShapeSerializer,Sg as HttpProtocol,tj as HttpRequest,eY as ImageConfig,eA as ImageGenerationClient,eZ as ImageGenerationResponseHelper,eU as KnowledgeClient,e$ as LLMClient,wM as LLMConfig,eG as LLMDefaults,wR as LLMResponse,w_ as Message,wB as MultiEmbeddingConfig,mq as NODE_APP_ID_CONFIG_OPTIONS,mX as NODE_AUTH_SCHEME_PREFERENCE_OPTIONS,uX as NODE_MAX_ATTEMPT_CONFIG_OPTIONS,m0 as NODE_REGION_CONFIG_FILE_OPTIONS,mV as NODE_REGION_CONFIG_OPTIONS,uk as NODE_RETRY_MODE_CONFIG_OPTIONS,m1 as NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS,m3 as NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS,ew as NetworkError,uF as NoOpLogger,yR as NodeHttpHandler,hc as NormalizedSchema,S7 as NumericValue,wX as PromptTokensDetails,bn as ProtocolLib,a7 as ProviderError,CZ as PutObjectCommand,wc as S3Config,wf as S3Storage,eM as SearchClient,bi as SerdeContextConfig,hT as ServiceException,wH as SparseEmbeddingConfig,wk as SparseEmbeddingItem,ww as SupabaseClient,eX as TTSClient,eR as TTSConfig,hw as TypeRegistry,bO as UnionSerde,Cz as Upload,eT as ValidationError,ek as VideoConfig,eO as VideoEditClient,eQ as VideoEditConfig,eF as VideoGenerationClient,bG as XmlShapeDeserializer,a_ as awsEndpointFunctions,Y as axios,eB as buildASRApiRequest,eN as buildImageGenerationApiRequest,e_ as buildTTSApiRequest,yO as calculateBodyLength,a9 as chain_chain,tO as closePool,Ss as collect_stream_body_collectBody,hS as command_Command,wS as convertContentItem,wb as convertDisplayInfo,eP as convertFromApiFormat,eJ as convertToApiFormat,mj as createDefaultUserAgentProvider,aZ as customEndpointFunctions,SE as dateToUtcString,hh as deref,bW as deserializingStructIterator,SK as determineTimestampFormat,uw as dist_es_parseUrl,Si as dist_es_toUtf8_toUtf8,mM as emitWarningIfUnsupportedVersion,yF as emitWarningIfUnsupportedVersion_emitWarningIfUnsupportedVersion,J as exec,Sl as extendedEncodeURIComponent,B as external_http_request,ud as fileIntercept,y5 as fromBase64,mF as fromEnv_fromEnv,or as fromUtf8_fromUtf8,tW as generateModels,b0 as getAwsRegionExtensionConfiguration,tI as getClient,ur as getConfigFilepath,a8 as getContentLengthPlugin,tQ as getDb,tB as getDbUrl,b4 as getDefaultExtensionConfiguration,hl as getEndpointPlugin,uo as getHomeDir,t5 as getHostHeaderPlugin,az as getHttpAuthSchemeEndpointRuleSetPlugin,b3 as getHttpHandlerExtensionConfiguration,aL as getHttpSigningPlugin,t9 as getLoggerPlugin,tF as getPool,ut as getProfileName,ar as getRecursionDetectionPlugin,uq as getRetryPlugin,a2 as getSchemaSerdePlugin,aT as getSmithyContext,aG as getUserAgentPlugin,S$ as lazy_json_LazyJsonString,uy as loadConfig,yQ as loadConfigsForDefaultMode,t_ as loadEnv,um as loadSharedConfigFiles,eK as DataSourceType,tV as normalizeProvider,SM as parseEpochTimestamp,uh as parseIni,SD as parseRfc3339DateTime,SZ as parseRfc3339DateTimeWithOffset,SP as parseRfc7231DateTime,eo as profile_IniSectionType,up as readFile,b1 as resolveAwsRegionExtensionConfiguration,oH as resolveAwsSdkSigV4Config,b6 as resolveDefaultRuntimeConfig,yW as resolveDefaultsModeConfig,rh as resolveEndpoint,ux as resolveEndpointConfig,t6 as resolveHostHeaderConfig,b2 as resolveHttpHandlerRuntimeConfig,aU as resolveRegionConfig,uH as resolveRetryConfig,av as resolveUserAgentConfig,So as sdk_stream_mixin_sdkStreamMixin,bU as serializingStructIterator,u8 as setCredentialFeature,yB as streamCollector,Sn as toBase64,tz as upgrade,uG as v4,eD as validateImageSize,ev as validateImageSizeOrDefault};
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"],mg=["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"],md=["","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"],mp=[];mp[0]=ml,mp[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"],mp[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","=",'"'],mp[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"],mp[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"],mp[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","'",'"'],mp[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"],mp[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"],mp[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"],mp[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"],mp[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+"],mp[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"],mp[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"," . "],mp[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"],mp[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) "],mp[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," // "],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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","'"],mp[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"],mp[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","'","`"],mp[32]=mh,mp[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","^","-","-","|","|","-","-","|","|","=","|","=","=","|","=","|","=","=","=","=","=","=","|","=","|","=","|","\\","/","\\","/","=","=","~","~","|","|","-","|","-","|","-","-","-","|","-","|","|","|","|","|","|","|","-","\\","\\","|"],mp[37]=["-","-","|","|","-","-","|","|","-","-","|","|","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","-","-","|","|","-","|","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","/","\\","X","-","|","-","|","-","|","-","|","-","|","-","|","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","-","|",null,null,null,null,null,null,null,null,null,null,"#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","^","^","^","^",">",">",">",">",">",">","V","V","V","V","<","<","<","<","<","<","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","#","#","#","#","#","^","^","^","O","#","#","#","#","#","#","#","#"],mp[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]"],mp[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,'"','"'],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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"],mp[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,"\\","$","%","@"],mp[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 mf={};for(let e=0;e<mp.length;e++){let i=mp[e];if(i)for(let n=0;n<i.length;n++){let t=i[n];t&&(mf[String.fromCharCode((e<<8)+n)]=t)}}for(let e=44032;e<=55203;e++){let i=e-44032;mf[String.fromCharCode(e)]=mg[i/588|0]+mc[i%588/28|0]+md[i%28]}var mm=/[-[\]/{}()*+?.\\^$|]/g,my=/[\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]/,mS=/[\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(mm,"\\$&")}function Iu(e){return mS.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 mb=/[\uD800-\uDBFF]/,mC=/[\uDC00-\uDFFF]/,mT=/[^\s\S]/,mw={ignore:[],replace:[],replaceAfter:[],trim:!1,unknown:"",fixChineseSpacing:!0},mx=class{get options(){return bundle_esm_min_Y({...mw,...this.confOptions})}constructor(e=bundle_esm_min_Y(mw),i=mf){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&&my.test(e),o=!1;for(let u=0;u<e.length;u++){let s=mb.test(e[u])&&mC.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&&my.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]=mT}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(mf)),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}},mE={...bundle_esm_min_Y(mw),allowedChars:"a-zA-Z0-9-_.~",lowercase:!0,separator:"-",uppercase:!1,fixChineseSpacing:!0},mL=class extends mx{get options(){return bundle_esm_min_Y({...mE,...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}},m_=new mx,mY=m_.transliterate.bind(m_);mY.config=m_.config.bind(m_),mY.setData=m_.setData.bind(m_);var mD=new mL,mv=mD.slugify.bind(mD);mv.config=mD.config.bind(mD),mv.setData=mD.setData.bind(mD);class mA{static DEFAULT_REGION="cn-beijing";static DEFAULT_MAX_KEYS=1e3;static DEFAULT_PRESIGNED_EXPIRE_TIME=86400;static DEFAULT_UPLOAD_TIMEOUT=3e4}let mN=/^[A-Za-z0-9._\-/]+$/,mP=!1,mZ={baseUrl:"",apiKey:""};function loadReportEnv(){if(mP)return mZ;let e=process.env.COZE_INTEGRATION_BASE_URL||"",i=process.env.COZE_WORKLOAD_IDENTITY_API_KEY||"";if(e&&i)return mP=!0,mZ={baseUrl:e,apiKey:i};try{if(L("./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 mP=!0,mZ={baseUrl:e,apiKey:i}}catch{}try{let n=`
83
+ import sys
84
+ try:
85
+ from coze_workload_identity import Client
86
+ client = Client()
87
+ env_vars = client.get_project_env_vars()
88
+ client.close()
89
+ for env_var in env_vars:
90
+ if env_var.key in ("COZE_INTEGRATION_BASE_URL", "COZE_WORKLOAD_IDENTITY_API_KEY"):
91
+ print(f"{env_var.key}={env_var.value}")
92
+ except Exception as e:
93
+ print(f"# Error: {e}", file=sys.stderr)
94
+ `;for(let t of Z(`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 mP=!0,mZ={baseUrl:e,apiKey:i}}class mR{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 mM{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 mJ=null;function getReportBuffer(){if(mJ)return mJ;try{let e=new mR;return mJ=new mM(e)}catch(e){return console.error("[report] failed to create singleton buffer:",e),null}}let mk=/((?: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(mk,"$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 mB{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||mA.DEFAULT_REGION}getClient(){if(!this.client){if(!this.endpointUrl)throw Error("Storage endpoint not configured: Set COZE_BUCKET_ENDPOINT_URL");this.client=new fB({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=n$.default.extname(e).toLowerCase(),n=n$.default.basename(e,i),t=(0,t7.randomUUID)().replace(/-/g,"").slice(0,8);return n$.default.join(n$.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=mY(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 f2({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 f8({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 f6({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 f5({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=mA.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 f7({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=mA.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 ms({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=mA.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=n$.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 ms({client:o,params:{Bucket:this.resolveBucket(a),Key:u,Body:ai.Readable.from(i),ContentType:t}});return await s.done(),u}}let mH={defaultModel:"doubao-embedding-vision-251215",defaultEncodingFormat:"float",maxBatchSize:100};class mF extends ex{model;constructor(e,i,n=!1){super(e,i,n),this.model=mH.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 ew("At least one of texts, imageUrls, or videoUrls must be provided");let o=(e?.length||0)+(i?.length||0)+(n?.length||0);if(o>mH.maxBatchSize)throw new ew(`Total inputs (${o}) exceed maximum batch size of ${mH.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 ew("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 eC(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 eC("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 eC("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 eC("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 eC("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 eC("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 eC("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 mX extends ex{constructor(e,i,n=!1){super(e,i,n)}async fetch(e){let i,n=await this.request("POST",`${this.config.baseUrl}/api/v1/integration/fetch_tool`,{url:e});if(n.code&&0!==n.code)throw new eC(`Fetch failed: ${n.message||"Unknown error"}`,n.code,n.message);let t=n.data||n,a=[];if(t.content)for(let e of t.content)a.push(convertContentItem(e));return t.display_info&&(i=convertDisplayInfo(t.display_info)),{fetch_id:t.fetch_id,status_code:t.status_code,status_message:t.status_message,url:t.url,doc_id:t.doc_id,title:t.title,publish_time:t.publish_time,filetype:t.filetype,content:a,display_info:i}}}class mI{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_autoconfirm:n.mailer_autoconfirm,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 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 mO=ey.ContentPart,mQ=ep.CozeConfig,mG=em.EmbedOptions,mU=em.EmbeddingConfig,mq=em.EmbeddingData,mK=em.EmbeddingInputImageURL,m$=em.EmbeddingInputItem,mz=em.EmbeddingInputVideoURL,mW=em.EmbeddingRequest,mj=em.EmbeddingResponse,mV=em.EmbeddingUsage,m0=ef.ForwardHeaderKey,m1=ey.LLMConfig,m3=ey.LLMResponse,m2=ey.Message,m4=em.MultiEmbeddingConfig,m8=em.PromptTokensDetails,m6=em.SparseEmbeddingConfig,m5=em.SparseEmbeddingItem;export{eC as APIError,eP as ASRClient,pI as AwsSdkSigV4Signer,ex as BaseClient,ar as Client,eS as Config,eb as ConfigurationError,mO as ContentPart,mQ as CozeConfig,tB as CredentialsProviderError,mH as DEFAULT_EMBEDDING_CONFIG,tK as DEFAULT_RETRY_MODE,nQ as DatabaseConfig,tN as DefaultIdentityProviderConfig,mG as EmbedOptions,mF as EmbeddingClient,mU as EmbeddingConfig,mq as EmbeddingData,mK as EmbeddingInputImageURL,m$ as EmbeddingInputItem,mz as EmbeddingInputVideoURL,mW as EmbeddingRequest,mj as EmbeddingResponse,mV as EmbeddingUsage,aJ as EndpointCache,mN as FILE_NAME_ALLOWED_RE,eE as FORWARD_HEADER_KEYS,mX as FetchClient,m0 as ForwardHeaderKey,eJ as FrameExtractorClient,pv as Hash,eL as HeaderUtils,pz as HttpBindingProtocol,fp as HttpInterceptingShapeDeserializer,p9 as HttpInterceptingShapeSerializer,p$ as HttpProtocol,nj as HttpRequest,e_ as ImageConfig,eD as ImageGenerationClient,eY as ImageGenerationResponseHelper,eX as KnowledgeClient,eH as LLMClient,m1 as LLMConfig,eB as LLMDefaults,m3 as LLMResponse,m2 as Message,m4 as MultiEmbeddingConfig,pe as NODE_APP_ID_CONFIG_OPTIONS,d3 as NODE_AUTH_SCHEME_PREFERENCE_OPTIONS,t8 as NODE_MAX_ATTEMPT_CONFIG_OPTIONS,pn as NODE_REGION_CONFIG_FILE_OPTIONS,pi as NODE_REGION_CONFIG_OPTIONS,t6 as NODE_RETRY_MODE_CONFIG_OPTIONS,pt as NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS,pa as NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS,eT as NetworkError,t5 as NoOpLogger,pR as NodeHttpHandler,uM as NormalizedSchema,fc as NumericValue,m8 as PromptTokensDetails,ff as ProtocolLib,tk as ProviderError,f2 as PutObjectCommand,mM as ReportBuffer,mR as ReportClient,mA as S3Config,mB as S3Storage,ev as SearchClient,fm as SerdeContextConfig,uX as ServiceException,m6 as SparseEmbeddingConfig,m5 as SparseEmbeddingItem,mI as SupabaseClient,eN as TTSClient,eA as TTSConfig,uF as TypeRegistry,fN as UnionSerde,ms as Upload,ew as ValidationError,eZ as VideoConfig,ek as VideoEditClient,eM as VideoEditConfig,eR as VideoGenerationClient,fP as XmlShapeDeserializer,tw as awsEndpointFunctions,_ as axios,buildASRApiRequest,buildImageGenerationApiRequest,buildTTSApiRequest,calculateBodyLength,chain_chain,closePool,collect_stream_body_collectBody,uk as command_Command,convertContentItem,convertDisplayInfo,convertFromApiFormat,convertToApiFormat,createDefaultUserAgentProvider,createS3ReportMiddleware,createWrappedFetch,tS as customEndpointFunctions,dateToUtcString,deref,deserializingStructIterator,determineTimestampFormat,dist_es_parseUrl,dist_es_toUtf8_toUtf8,emitWarningIfUnsupportedVersion,emitWarningIfUnsupportedVersion_emitWarningIfUnsupportedVersion,P as exec,extendedEncodeURIComponent,k as external_http_request,tG 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,eF as DataSourceType,normalizeProvider,parseEpochTimestamp,parseIni,parseRfc3339DateTime,parseRfc3339DateTimeWithOffset,parseRfc7231DateTime,eo 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,v4,validateImageSize,validateImageSizeOrDefault};