@hashgraphonline/standards-sdk 0.0.101 → 0.0.102
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/es/services/mirror-node.d.ts +102 -1
- package/dist/es/services/mirror-node.d.ts.map +1 -1
- package/dist/es/services/types.d.ts +53 -0
- package/dist/es/services/types.d.ts.map +1 -1
- package/dist/es/standards-sdk.es100.js +8 -62
- package/dist/es/standards-sdk.es100.js.map +1 -1
- package/dist/es/standards-sdk.es101.js +18 -6
- package/dist/es/standards-sdk.es101.js.map +1 -1
- package/dist/es/standards-sdk.es102.js +5 -14
- package/dist/es/standards-sdk.es102.js.map +1 -1
- package/dist/es/standards-sdk.es103.js +9 -7
- package/dist/es/standards-sdk.es103.js.map +1 -1
- package/dist/es/standards-sdk.es104.js +12 -44
- package/dist/es/standards-sdk.es104.js.map +1 -1
- package/dist/es/standards-sdk.es105.js +13 -2
- package/dist/es/standards-sdk.es105.js.map +1 -1
- package/dist/es/standards-sdk.es106.js +30 -134
- package/dist/es/standards-sdk.es106.js.map +1 -1
- package/dist/es/standards-sdk.es107.js +14 -171
- package/dist/es/standards-sdk.es107.js.map +1 -1
- package/dist/es/standards-sdk.es108.js +4 -13
- package/dist/es/standards-sdk.es108.js.map +1 -1
- package/dist/es/standards-sdk.es109.js +4 -13
- package/dist/es/standards-sdk.es109.js.map +1 -1
- package/dist/es/standards-sdk.es110.js +15 -31
- package/dist/es/standards-sdk.es110.js.map +1 -1
- package/dist/es/standards-sdk.es111.js +4 -14
- package/dist/es/standards-sdk.es111.js.map +1 -1
- package/dist/es/standards-sdk.es112.js +39 -4
- package/dist/es/standards-sdk.es112.js.map +1 -1
- package/dist/es/standards-sdk.es113.js +40 -4
- package/dist/es/standards-sdk.es113.js.map +1 -1
- package/dist/es/standards-sdk.es114.js +36 -15
- package/dist/es/standards-sdk.es114.js.map +1 -1
- package/dist/es/standards-sdk.es115.js +78 -5
- package/dist/es/standards-sdk.es115.js.map +1 -1
- package/dist/es/standards-sdk.es116.js +418 -38
- package/dist/es/standards-sdk.es116.js.map +1 -1
- package/dist/es/standards-sdk.es117.js +2 -40
- package/dist/es/standards-sdk.es117.js.map +1 -1
- package/dist/es/standards-sdk.es118.js +117 -34
- package/dist/es/standards-sdk.es118.js.map +1 -1
- package/dist/es/standards-sdk.es119.js +3 -78
- package/dist/es/standards-sdk.es119.js.map +1 -1
- package/dist/es/standards-sdk.es120.js +2 -3
- package/dist/es/standards-sdk.es120.js.map +1 -1
- package/dist/es/standards-sdk.es121.js +2 -2
- package/dist/es/standards-sdk.es121.js.map +1 -1
- package/dist/es/standards-sdk.es122.js +34 -2
- package/dist/es/standards-sdk.es122.js.map +1 -1
- package/dist/es/standards-sdk.es123.js +29 -30
- package/dist/es/standards-sdk.es123.js.map +1 -1
- package/dist/es/standards-sdk.es124.js +9 -33
- package/dist/es/standards-sdk.es124.js.map +1 -1
- package/dist/es/standards-sdk.es125.js +34 -9
- package/dist/es/standards-sdk.es125.js.map +1 -1
- package/dist/es/standards-sdk.es126.js +4 -34
- package/dist/es/standards-sdk.es126.js.map +1 -1
- package/dist/es/standards-sdk.es13.js +2 -2
- package/dist/es/standards-sdk.es18.js +2 -2
- package/dist/es/standards-sdk.es19.js.map +1 -1
- package/dist/es/standards-sdk.es21.js +505 -48
- package/dist/es/standards-sdk.es21.js.map +1 -1
- package/dist/es/standards-sdk.es24.js +10 -10
- package/dist/es/standards-sdk.es26.js +36 -3
- package/dist/es/standards-sdk.es26.js.map +1 -1
- package/dist/es/standards-sdk.es27.js +48 -4168
- package/dist/es/standards-sdk.es27.js.map +1 -1
- package/dist/es/standards-sdk.es28.js +1 -1
- package/dist/es/standards-sdk.es29.js +3 -9
- package/dist/es/standards-sdk.es29.js.map +1 -1
- package/dist/es/standards-sdk.es30.js +9 -2
- package/dist/es/standards-sdk.es30.js.map +1 -1
- package/dist/es/standards-sdk.es31.js +2 -36
- package/dist/es/standards-sdk.es31.js.map +1 -1
- package/dist/es/standards-sdk.es32.js +4168 -48
- package/dist/es/standards-sdk.es32.js.map +1 -1
- package/dist/es/standards-sdk.es33.js +2 -2
- package/dist/es/standards-sdk.es34.js +1 -1
- package/dist/es/standards-sdk.es35.js +2 -101
- package/dist/es/standards-sdk.es35.js.map +1 -1
- package/dist/es/standards-sdk.es36.js +84 -2
- package/dist/es/standards-sdk.es36.js.map +1 -1
- package/dist/es/standards-sdk.es37.js +22 -15
- package/dist/es/standards-sdk.es37.js.map +1 -1
- package/dist/es/standards-sdk.es38.js +138 -399
- package/dist/es/standards-sdk.es38.js.map +1 -1
- package/dist/es/standards-sdk.es39.js +91 -2
- package/dist/es/standards-sdk.es39.js.map +1 -1
- package/dist/es/standards-sdk.es40.js +174 -2282
- package/dist/es/standards-sdk.es40.js.map +1 -1
- package/dist/es/standards-sdk.es41.js +5 -163
- package/dist/es/standards-sdk.es41.js.map +1 -1
- package/dist/es/standards-sdk.es42.js +130 -71
- package/dist/es/standards-sdk.es42.js.map +1 -1
- package/dist/es/standards-sdk.es43.js +190 -18
- package/dist/es/standards-sdk.es43.js.map +1 -1
- package/dist/es/standards-sdk.es44.js +417 -127
- package/dist/es/standards-sdk.es44.js.map +1 -1
- package/dist/es/standards-sdk.es45.js +21 -87
- package/dist/es/standards-sdk.es45.js.map +1 -1
- package/dist/es/standards-sdk.es46.js +125 -181
- package/dist/es/standards-sdk.es46.js.map +1 -1
- package/dist/es/standards-sdk.es47.js +13 -433
- package/dist/es/standards-sdk.es47.js.map +1 -1
- package/dist/es/standards-sdk.es48.js +22 -18
- package/dist/es/standards-sdk.es48.js.map +1 -1
- package/dist/es/standards-sdk.es49.js +17 -127
- package/dist/es/standards-sdk.es49.js.map +1 -1
- package/dist/es/standards-sdk.es50.js +13 -10
- package/dist/es/standards-sdk.es50.js.map +1 -1
- package/dist/es/standards-sdk.es51.js +37 -22
- package/dist/es/standards-sdk.es51.js.map +1 -1
- package/dist/es/standards-sdk.es52.js +10 -21
- package/dist/es/standards-sdk.es52.js.map +1 -1
- package/dist/es/standards-sdk.es53.js +54 -14
- package/dist/es/standards-sdk.es53.js.map +1 -1
- package/dist/es/standards-sdk.es54.js +1284 -39
- package/dist/es/standards-sdk.es54.js.map +1 -1
- package/dist/es/standards-sdk.es55.js +29 -15
- package/dist/es/standards-sdk.es55.js.map +1 -1
- package/dist/es/standards-sdk.es56.js +149 -51
- package/dist/es/standards-sdk.es56.js.map +1 -1
- package/dist/es/standards-sdk.es57.js +629 -1125
- package/dist/es/standards-sdk.es57.js.map +1 -1
- package/dist/es/standards-sdk.es58.js +360 -28
- package/dist/es/standards-sdk.es58.js.map +1 -1
- package/dist/es/standards-sdk.es59.js +5 -5
- package/dist/es/standards-sdk.es59.js.map +1 -1
- package/dist/es/standards-sdk.es60.js +167 -147
- package/dist/es/standards-sdk.es60.js.map +1 -1
- package/dist/es/standards-sdk.es61.js +71 -783
- package/dist/es/standards-sdk.es61.js.map +1 -1
- package/dist/es/standards-sdk.es62.js +105 -165
- package/dist/es/standards-sdk.es62.js.map +1 -1
- package/dist/es/standards-sdk.es63.js +41 -132
- package/dist/es/standards-sdk.es63.js.map +1 -1
- package/dist/es/standards-sdk.es64.js +9 -20
- package/dist/es/standards-sdk.es64.js.map +1 -1
- package/dist/es/standards-sdk.es65.js +95 -25
- package/dist/es/standards-sdk.es65.js.map +1 -1
- package/dist/es/standards-sdk.es66.js +3 -25
- package/dist/es/standards-sdk.es66.js.map +1 -1
- package/dist/es/standards-sdk.es67.js +2 -38
- package/dist/es/standards-sdk.es67.js.map +1 -1
- package/dist/es/standards-sdk.es68.js +113 -3
- package/dist/es/standards-sdk.es68.js.map +1 -1
- package/dist/es/standards-sdk.es69.js +73 -3
- package/dist/es/standards-sdk.es69.js.map +1 -1
- package/dist/es/standards-sdk.es7.js +2 -2
- package/dist/es/standards-sdk.es70.js +4 -7134
- package/dist/es/standards-sdk.es70.js.map +1 -1
- package/dist/es/standards-sdk.es71.js +4 -9
- package/dist/es/standards-sdk.es71.js.map +1 -1
- package/dist/es/standards-sdk.es72.js +218 -8
- package/dist/es/standards-sdk.es72.js.map +1 -1
- package/dist/es/standards-sdk.es73.js +56 -16
- package/dist/es/standards-sdk.es73.js.map +1 -1
- package/dist/es/standards-sdk.es74.js +69 -6
- package/dist/es/standards-sdk.es74.js.map +1 -1
- package/dist/es/standards-sdk.es75.js +100 -8
- package/dist/es/standards-sdk.es75.js.map +1 -1
- package/dist/es/standards-sdk.es76.js +2 -419
- package/dist/es/standards-sdk.es76.js.map +1 -1
- package/dist/es/standards-sdk.es77.js +16 -2
- package/dist/es/standards-sdk.es77.js.map +1 -1
- package/dist/es/standards-sdk.es78.js +395 -106
- package/dist/es/standards-sdk.es78.js.map +1 -1
- package/dist/es/standards-sdk.es79.js +22 -359
- package/dist/es/standards-sdk.es79.js.map +1 -1
- package/dist/es/standards-sdk.es8.js +1 -1
- package/dist/es/standards-sdk.es80.js +25 -5
- package/dist/es/standards-sdk.es80.js.map +1 -1
- package/dist/es/standards-sdk.es81.js +36 -177
- package/dist/es/standards-sdk.es81.js.map +1 -1
- package/dist/es/standards-sdk.es82.js +16 -76
- package/dist/es/standards-sdk.es82.js.map +1 -1
- package/dist/es/standards-sdk.es83.js +2281 -113
- package/dist/es/standards-sdk.es83.js.map +1 -1
- package/dist/es/standards-sdk.es84.js +158 -46
- package/dist/es/standards-sdk.es84.js.map +1 -1
- package/dist/es/standards-sdk.es85.js +3 -10
- package/dist/es/standards-sdk.es85.js.map +1 -1
- package/dist/es/standards-sdk.es86.js +26 -91
- package/dist/es/standards-sdk.es86.js.map +1 -1
- package/dist/es/standards-sdk.es87.js +62 -3
- package/dist/es/standards-sdk.es87.js.map +1 -1
- package/dist/es/standards-sdk.es88.js +50 -2
- package/dist/es/standards-sdk.es88.js.map +1 -1
- package/dist/es/standards-sdk.es89.js +8 -111
- package/dist/es/standards-sdk.es89.js.map +1 -1
- package/dist/es/standards-sdk.es9.js +1 -1
- package/dist/es/standards-sdk.es90.js +61 -70
- package/dist/es/standards-sdk.es90.js.map +1 -1
- package/dist/es/standards-sdk.es91.js +6 -6
- package/dist/es/standards-sdk.es91.js.map +1 -1
- package/dist/es/standards-sdk.es92.js +14 -4
- package/dist/es/standards-sdk.es92.js.map +1 -1
- package/dist/es/standards-sdk.es93.js +7 -221
- package/dist/es/standards-sdk.es93.js.map +1 -1
- package/dist/es/standards-sdk.es94.js +41 -54
- package/dist/es/standards-sdk.es94.js.map +1 -1
- package/dist/es/standards-sdk.es95.js +2 -69
- package/dist/es/standards-sdk.es95.js.map +1 -1
- package/dist/es/standards-sdk.es96.js +135 -31
- package/dist/es/standards-sdk.es96.js.map +1 -1
- package/dist/es/standards-sdk.es97.js +164 -55
- package/dist/es/standards-sdk.es97.js.map +1 -1
- package/dist/es/standards-sdk.es98.js +7131 -45
- package/dist/es/standards-sdk.es98.js.map +1 -1
- package/dist/es/standards-sdk.es99.js +9 -9
- package/dist/es/standards-sdk.es99.js.map +1 -1
- package/dist/umd/services/mirror-node.d.ts +102 -1
- package/dist/umd/services/mirror-node.d.ts.map +1 -1
- package/dist/umd/services/types.d.ts +53 -0
- package/dist/umd/services/types.d.ts.map +1 -1
- package/dist/umd/standards-sdk.umd.js +12 -12
- package/dist/umd/standards-sdk.umd.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es57.js","sources":["../../node_modules/ethers/lib.esm/abi/fragments.js"],"sourcesContent":["/**\n * A fragment is a single item from an ABI, which may represent any of:\n *\n * - [Functions](FunctionFragment)\n * - [Events](EventFragment)\n * - [Constructors](ConstructorFragment)\n * - Custom [Errors](ErrorFragment)\n * - [Fallback or Receive](FallbackFragment) functions\n *\n * @_subsection api/abi/abi-coder:Fragments [about-fragments]\n */\nimport { defineProperties, getBigInt, getNumber, assert, assertPrivate, assertArgument } from \"../utils/index.js\";\nimport { id } from \"../hash/index.js\";\n;\n// [ \"a\", \"b\" ] => { \"a\": 1, \"b\": 1 }\nfunction setify(items) {\n const result = new Set();\n items.forEach((k) => result.add(k));\n return Object.freeze(result);\n}\nconst _kwVisibDeploy = \"external public payable override\";\nconst KwVisibDeploy = setify(_kwVisibDeploy.split(\" \"));\n// Visibility Keywords\nconst _kwVisib = \"constant external internal payable private public pure view override\";\nconst KwVisib = setify(_kwVisib.split(\" \"));\nconst _kwTypes = \"constructor error event fallback function receive struct\";\nconst KwTypes = setify(_kwTypes.split(\" \"));\nconst _kwModifiers = \"calldata memory storage payable indexed\";\nconst KwModifiers = setify(_kwModifiers.split(\" \"));\nconst _kwOther = \"tuple returns\";\n// All Keywords\nconst _keywords = [_kwTypes, _kwModifiers, _kwOther, _kwVisib].join(\" \");\nconst Keywords = setify(_keywords.split(\" \"));\n// Single character tokens\nconst SimpleTokens = {\n \"(\": \"OPEN_PAREN\", \")\": \"CLOSE_PAREN\",\n \"[\": \"OPEN_BRACKET\", \"]\": \"CLOSE_BRACKET\",\n \",\": \"COMMA\", \"@\": \"AT\"\n};\n// Parser regexes to consume the next token\nconst regexWhitespacePrefix = new RegExp(\"^(\\\\s*)\");\nconst regexNumberPrefix = new RegExp(\"^([0-9]+)\");\nconst regexIdPrefix = new RegExp(\"^([a-zA-Z$_][a-zA-Z0-9$_]*)\");\n// Parser regexs to check validity\nconst regexId = new RegExp(\"^([a-zA-Z$_][a-zA-Z0-9$_]*)$\");\nconst regexType = new RegExp(\"^(address|bool|bytes([0-9]*)|string|u?int([0-9]*))$\");\nclass TokenString {\n #offset;\n #tokens;\n get offset() { return this.#offset; }\n get length() { return this.#tokens.length - this.#offset; }\n constructor(tokens) {\n this.#offset = 0;\n this.#tokens = tokens.slice();\n }\n clone() { return new TokenString(this.#tokens); }\n reset() { this.#offset = 0; }\n #subTokenString(from = 0, to = 0) {\n return new TokenString(this.#tokens.slice(from, to).map((t) => {\n return Object.freeze(Object.assign({}, t, {\n match: (t.match - from),\n linkBack: (t.linkBack - from),\n linkNext: (t.linkNext - from),\n }));\n }));\n }\n // Pops and returns the value of the next token, if it is a keyword in allowed; throws if out of tokens\n popKeyword(allowed) {\n const top = this.peek();\n if (top.type !== \"KEYWORD\" || !allowed.has(top.text)) {\n throw new Error(`expected keyword ${top.text}`);\n }\n return this.pop().text;\n }\n // Pops and returns the value of the next token if it is `type`; throws if out of tokens\n popType(type) {\n if (this.peek().type !== type) {\n const top = this.peek();\n throw new Error(`expected ${type}; got ${top.type} ${JSON.stringify(top.text)}`);\n }\n return this.pop().text;\n }\n // Pops and returns a \"(\" TOKENS \")\"\n popParen() {\n const top = this.peek();\n if (top.type !== \"OPEN_PAREN\") {\n throw new Error(\"bad start\");\n }\n const result = this.#subTokenString(this.#offset + 1, top.match + 1);\n this.#offset = top.match + 1;\n return result;\n }\n // Pops and returns the items within \"(\" ITEM1 \",\" ITEM2 \",\" ... \")\"\n popParams() {\n const top = this.peek();\n if (top.type !== \"OPEN_PAREN\") {\n throw new Error(\"bad start\");\n }\n const result = [];\n while (this.#offset < top.match - 1) {\n const link = this.peek().linkNext;\n result.push(this.#subTokenString(this.#offset + 1, link));\n this.#offset = link;\n }\n this.#offset = top.match + 1;\n return result;\n }\n // Returns the top Token, throwing if out of tokens\n peek() {\n if (this.#offset >= this.#tokens.length) {\n throw new Error(\"out-of-bounds\");\n }\n return this.#tokens[this.#offset];\n }\n // Returns the next value, if it is a keyword in `allowed`\n peekKeyword(allowed) {\n const top = this.peekType(\"KEYWORD\");\n return (top != null && allowed.has(top)) ? top : null;\n }\n // Returns the value of the next token if it is `type`\n peekType(type) {\n if (this.length === 0) {\n return null;\n }\n const top = this.peek();\n return (top.type === type) ? top.text : null;\n }\n // Returns the next token; throws if out of tokens\n pop() {\n const result = this.peek();\n this.#offset++;\n return result;\n }\n toString() {\n const tokens = [];\n for (let i = this.#offset; i < this.#tokens.length; i++) {\n const token = this.#tokens[i];\n tokens.push(`${token.type}:${token.text}`);\n }\n return `<TokenString ${tokens.join(\" \")}>`;\n }\n}\nfunction lex(text) {\n const tokens = [];\n const throwError = (message) => {\n const token = (offset < text.length) ? JSON.stringify(text[offset]) : \"$EOI\";\n throw new Error(`invalid token ${token} at ${offset}: ${message}`);\n };\n let brackets = [];\n let commas = [];\n let offset = 0;\n while (offset < text.length) {\n // Strip off any leading whitespace\n let cur = text.substring(offset);\n let match = cur.match(regexWhitespacePrefix);\n if (match) {\n offset += match[1].length;\n cur = text.substring(offset);\n }\n const token = { depth: brackets.length, linkBack: -1, linkNext: -1, match: -1, type: \"\", text: \"\", offset, value: -1 };\n tokens.push(token);\n let type = (SimpleTokens[cur[0]] || \"\");\n if (type) {\n token.type = type;\n token.text = cur[0];\n offset++;\n if (type === \"OPEN_PAREN\") {\n brackets.push(tokens.length - 1);\n commas.push(tokens.length - 1);\n }\n else if (type == \"CLOSE_PAREN\") {\n if (brackets.length === 0) {\n throwError(\"no matching open bracket\");\n }\n token.match = brackets.pop();\n (tokens[token.match]).match = tokens.length - 1;\n token.depth--;\n token.linkBack = commas.pop();\n (tokens[token.linkBack]).linkNext = tokens.length - 1;\n }\n else if (type === \"COMMA\") {\n token.linkBack = commas.pop();\n (tokens[token.linkBack]).linkNext = tokens.length - 1;\n commas.push(tokens.length - 1);\n }\n else if (type === \"OPEN_BRACKET\") {\n token.type = \"BRACKET\";\n }\n else if (type === \"CLOSE_BRACKET\") {\n // Remove the CLOSE_BRACKET\n let suffix = tokens.pop().text;\n if (tokens.length > 0 && tokens[tokens.length - 1].type === \"NUMBER\") {\n const value = tokens.pop().text;\n suffix = value + suffix;\n (tokens[tokens.length - 1]).value = getNumber(value);\n }\n if (tokens.length === 0 || tokens[tokens.length - 1].type !== \"BRACKET\") {\n throw new Error(\"missing opening bracket\");\n }\n (tokens[tokens.length - 1]).text += suffix;\n }\n continue;\n }\n match = cur.match(regexIdPrefix);\n if (match) {\n token.text = match[1];\n offset += token.text.length;\n if (Keywords.has(token.text)) {\n token.type = \"KEYWORD\";\n continue;\n }\n if (token.text.match(regexType)) {\n token.type = \"TYPE\";\n continue;\n }\n token.type = \"ID\";\n continue;\n }\n match = cur.match(regexNumberPrefix);\n if (match) {\n token.text = match[1];\n token.type = \"NUMBER\";\n offset += token.text.length;\n continue;\n }\n throw new Error(`unexpected token ${JSON.stringify(cur[0])} at position ${offset}`);\n }\n return new TokenString(tokens.map((t) => Object.freeze(t)));\n}\n// Check only one of `allowed` is in `set`\nfunction allowSingle(set, allowed) {\n let included = [];\n for (const key in allowed.keys()) {\n if (set.has(key)) {\n included.push(key);\n }\n }\n if (included.length > 1) {\n throw new Error(`conflicting types: ${included.join(\", \")}`);\n }\n}\n// Functions to process a Solidity Signature TokenString from left-to-right for...\n// ...the name with an optional type, returning the name\nfunction consumeName(type, tokens) {\n if (tokens.peekKeyword(KwTypes)) {\n const keyword = tokens.pop().text;\n if (keyword !== type) {\n throw new Error(`expected ${type}, got ${keyword}`);\n }\n }\n return tokens.popType(\"ID\");\n}\n// ...all keywords matching allowed, returning the keywords\nfunction consumeKeywords(tokens, allowed) {\n const keywords = new Set();\n while (true) {\n const keyword = tokens.peekType(\"KEYWORD\");\n if (keyword == null || (allowed && !allowed.has(keyword))) {\n break;\n }\n tokens.pop();\n if (keywords.has(keyword)) {\n throw new Error(`duplicate keywords: ${JSON.stringify(keyword)}`);\n }\n keywords.add(keyword);\n }\n return Object.freeze(keywords);\n}\n// ...all visibility keywords, returning the coalesced mutability\nfunction consumeMutability(tokens) {\n let modifiers = consumeKeywords(tokens, KwVisib);\n // Detect conflicting modifiers\n allowSingle(modifiers, setify(\"constant payable nonpayable\".split(\" \")));\n allowSingle(modifiers, setify(\"pure view payable nonpayable\".split(\" \")));\n // Process mutability states\n if (modifiers.has(\"view\")) {\n return \"view\";\n }\n if (modifiers.has(\"pure\")) {\n return \"pure\";\n }\n if (modifiers.has(\"payable\")) {\n return \"payable\";\n }\n if (modifiers.has(\"nonpayable\")) {\n return \"nonpayable\";\n }\n // Process legacy `constant` last\n if (modifiers.has(\"constant\")) {\n return \"view\";\n }\n return \"nonpayable\";\n}\n// ...a parameter list, returning the ParamType list\nfunction consumeParams(tokens, allowIndexed) {\n return tokens.popParams().map((t) => ParamType.from(t, allowIndexed));\n}\n// ...a gas limit, returning a BigNumber or null if none\nfunction consumeGas(tokens) {\n if (tokens.peekType(\"AT\")) {\n tokens.pop();\n if (tokens.peekType(\"NUMBER\")) {\n return getBigInt(tokens.pop().text);\n }\n throw new Error(\"invalid gas\");\n }\n return null;\n}\nfunction consumeEoi(tokens) {\n if (tokens.length) {\n throw new Error(`unexpected tokens at offset ${tokens.offset}: ${tokens.toString()}`);\n }\n}\nconst regexArrayType = new RegExp(/^(.*)\\[([0-9]*)\\]$/);\nfunction verifyBasicType(type) {\n const match = type.match(regexType);\n assertArgument(match, \"invalid type\", \"type\", type);\n if (type === \"uint\") {\n return \"uint256\";\n }\n if (type === \"int\") {\n return \"int256\";\n }\n if (match[2]) {\n // bytesXX\n const length = parseInt(match[2]);\n assertArgument(length !== 0 && length <= 32, \"invalid bytes length\", \"type\", type);\n }\n else if (match[3]) {\n // intXX or uintXX\n const size = parseInt(match[3]);\n assertArgument(size !== 0 && size <= 256 && (size % 8) === 0, \"invalid numeric width\", \"type\", type);\n }\n return type;\n}\n// Make the Fragment constructors effectively private\nconst _guard = {};\nconst internal = Symbol.for(\"_ethers_internal\");\nconst ParamTypeInternal = \"_ParamTypeInternal\";\nconst ErrorFragmentInternal = \"_ErrorInternal\";\nconst EventFragmentInternal = \"_EventInternal\";\nconst ConstructorFragmentInternal = \"_ConstructorInternal\";\nconst FallbackFragmentInternal = \"_FallbackInternal\";\nconst FunctionFragmentInternal = \"_FunctionInternal\";\nconst StructFragmentInternal = \"_StructInternal\";\n/**\n * Each input and output of a [[Fragment]] is an Array of **ParamType**.\n */\nexport class ParamType {\n /**\n * The local name of the parameter (or ``\"\"`` if unbound)\n */\n name;\n /**\n * The fully qualified type (e.g. ``\"address\"``, ``\"tuple(address)\"``,\n * ``\"uint256[3][]\"``)\n */\n type;\n /**\n * The base type (e.g. ``\"address\"``, ``\"tuple\"``, ``\"array\"``)\n */\n baseType;\n /**\n * True if the parameters is indexed.\n *\n * For non-indexable types this is ``null``.\n */\n indexed;\n /**\n * The components for the tuple.\n *\n * For non-tuple types this is ``null``.\n */\n components;\n /**\n * The array length, or ``-1`` for dynamic-lengthed arrays.\n *\n * For non-array types this is ``null``.\n */\n arrayLength;\n /**\n * The type of each child in the array.\n *\n * For non-array types this is ``null``.\n */\n arrayChildren;\n /**\n * @private\n */\n constructor(guard, name, type, baseType, indexed, components, arrayLength, arrayChildren) {\n assertPrivate(guard, _guard, \"ParamType\");\n Object.defineProperty(this, internal, { value: ParamTypeInternal });\n if (components) {\n components = Object.freeze(components.slice());\n }\n if (baseType === \"array\") {\n if (arrayLength == null || arrayChildren == null) {\n throw new Error(\"\");\n }\n }\n else if (arrayLength != null || arrayChildren != null) {\n throw new Error(\"\");\n }\n if (baseType === \"tuple\") {\n if (components == null) {\n throw new Error(\"\");\n }\n }\n else if (components != null) {\n throw new Error(\"\");\n }\n defineProperties(this, {\n name, type, baseType, indexed, components, arrayLength, arrayChildren\n });\n }\n /**\n * Return a string representation of this type.\n *\n * For example,\n *\n * ``sighash\" => \"(uint256,address)\"``\n *\n * ``\"minimal\" => \"tuple(uint256,address) indexed\"``\n *\n * ``\"full\" => \"tuple(uint256 foo, address bar) indexed baz\"``\n */\n format(format) {\n if (format == null) {\n format = \"sighash\";\n }\n if (format === \"json\") {\n const name = this.name || \"\";\n if (this.isArray()) {\n const result = JSON.parse(this.arrayChildren.format(\"json\"));\n result.name = name;\n result.type += `[${(this.arrayLength < 0 ? \"\" : String(this.arrayLength))}]`;\n return JSON.stringify(result);\n }\n const result = {\n type: ((this.baseType === \"tuple\") ? \"tuple\" : this.type),\n name\n };\n if (typeof (this.indexed) === \"boolean\") {\n result.indexed = this.indexed;\n }\n if (this.isTuple()) {\n result.components = this.components.map((c) => JSON.parse(c.format(format)));\n }\n return JSON.stringify(result);\n }\n let result = \"\";\n // Array\n if (this.isArray()) {\n result += this.arrayChildren.format(format);\n result += `[${(this.arrayLength < 0 ? \"\" : String(this.arrayLength))}]`;\n }\n else {\n if (this.isTuple()) {\n result += \"(\" + this.components.map((comp) => comp.format(format)).join((format === \"full\") ? \", \" : \",\") + \")\";\n }\n else {\n result += this.type;\n }\n }\n if (format !== \"sighash\") {\n if (this.indexed === true) {\n result += \" indexed\";\n }\n if (format === \"full\" && this.name) {\n result += \" \" + this.name;\n }\n }\n return result;\n }\n /**\n * Returns true if %%this%% is an Array type.\n *\n * This provides a type gaurd ensuring that [[arrayChildren]]\n * and [[arrayLength]] are non-null.\n */\n isArray() {\n return (this.baseType === \"array\");\n }\n /**\n * Returns true if %%this%% is a Tuple type.\n *\n * This provides a type gaurd ensuring that [[components]]\n * is non-null.\n */\n isTuple() {\n return (this.baseType === \"tuple\");\n }\n /**\n * Returns true if %%this%% is an Indexable type.\n *\n * This provides a type gaurd ensuring that [[indexed]]\n * is non-null.\n */\n isIndexable() {\n return (this.indexed != null);\n }\n /**\n * Walks the **ParamType** with %%value%%, calling %%process%%\n * on each type, destructing the %%value%% recursively.\n */\n walk(value, process) {\n if (this.isArray()) {\n if (!Array.isArray(value)) {\n throw new Error(\"invalid array value\");\n }\n if (this.arrayLength !== -1 && value.length !== this.arrayLength) {\n throw new Error(\"array is wrong length\");\n }\n const _this = this;\n return value.map((v) => (_this.arrayChildren.walk(v, process)));\n }\n if (this.isTuple()) {\n if (!Array.isArray(value)) {\n throw new Error(\"invalid tuple value\");\n }\n if (value.length !== this.components.length) {\n throw new Error(\"array is wrong length\");\n }\n const _this = this;\n return value.map((v, i) => (_this.components[i].walk(v, process)));\n }\n return process(this.type, value);\n }\n #walkAsync(promises, value, process, setValue) {\n if (this.isArray()) {\n if (!Array.isArray(value)) {\n throw new Error(\"invalid array value\");\n }\n if (this.arrayLength !== -1 && value.length !== this.arrayLength) {\n throw new Error(\"array is wrong length\");\n }\n const childType = this.arrayChildren;\n const result = value.slice();\n result.forEach((value, index) => {\n childType.#walkAsync(promises, value, process, (value) => {\n result[index] = value;\n });\n });\n setValue(result);\n return;\n }\n if (this.isTuple()) {\n const components = this.components;\n // Convert the object into an array\n let result;\n if (Array.isArray(value)) {\n result = value.slice();\n }\n else {\n if (value == null || typeof (value) !== \"object\") {\n throw new Error(\"invalid tuple value\");\n }\n result = components.map((param) => {\n if (!param.name) {\n throw new Error(\"cannot use object value with unnamed components\");\n }\n if (!(param.name in value)) {\n throw new Error(`missing value for component ${param.name}`);\n }\n return value[param.name];\n });\n }\n if (result.length !== this.components.length) {\n throw new Error(\"array is wrong length\");\n }\n result.forEach((value, index) => {\n components[index].#walkAsync(promises, value, process, (value) => {\n result[index] = value;\n });\n });\n setValue(result);\n return;\n }\n const result = process(this.type, value);\n if (result.then) {\n promises.push((async function () { setValue(await result); })());\n }\n else {\n setValue(result);\n }\n }\n /**\n * Walks the **ParamType** with %%value%%, asynchronously calling\n * %%process%% on each type, destructing the %%value%% recursively.\n *\n * This can be used to resolve ENS names by walking and resolving each\n * ``\"address\"`` type.\n */\n async walkAsync(value, process) {\n const promises = [];\n const result = [value];\n this.#walkAsync(promises, value, process, (value) => {\n result[0] = value;\n });\n if (promises.length) {\n await Promise.all(promises);\n }\n return result[0];\n }\n /**\n * Creates a new **ParamType** for %%obj%%.\n *\n * If %%allowIndexed%% then the ``indexed`` keyword is permitted,\n * otherwise the ``indexed`` keyword will throw an error.\n */\n static from(obj, allowIndexed) {\n if (ParamType.isParamType(obj)) {\n return obj;\n }\n if (typeof (obj) === \"string\") {\n try {\n return ParamType.from(lex(obj), allowIndexed);\n }\n catch (error) {\n assertArgument(false, \"invalid param type\", \"obj\", obj);\n }\n }\n else if (obj instanceof TokenString) {\n let type = \"\", baseType = \"\";\n let comps = null;\n if (consumeKeywords(obj, setify([\"tuple\"])).has(\"tuple\") || obj.peekType(\"OPEN_PAREN\")) {\n // Tuple\n baseType = \"tuple\";\n comps = obj.popParams().map((t) => ParamType.from(t));\n type = `tuple(${comps.map((c) => c.format()).join(\",\")})`;\n }\n else {\n // Normal\n type = verifyBasicType(obj.popType(\"TYPE\"));\n baseType = type;\n }\n // Check for Array\n let arrayChildren = null;\n let arrayLength = null;\n while (obj.length && obj.peekType(\"BRACKET\")) {\n const bracket = obj.pop(); //arrays[i];\n arrayChildren = new ParamType(_guard, \"\", type, baseType, null, comps, arrayLength, arrayChildren);\n arrayLength = bracket.value;\n type += bracket.text;\n baseType = \"array\";\n comps = null;\n }\n let indexed = null;\n const keywords = consumeKeywords(obj, KwModifiers);\n if (keywords.has(\"indexed\")) {\n if (!allowIndexed) {\n throw new Error(\"\");\n }\n indexed = true;\n }\n const name = (obj.peekType(\"ID\") ? obj.pop().text : \"\");\n if (obj.length) {\n throw new Error(\"leftover tokens\");\n }\n return new ParamType(_guard, name, type, baseType, indexed, comps, arrayLength, arrayChildren);\n }\n const name = obj.name;\n assertArgument(!name || (typeof (name) === \"string\" && name.match(regexId)), \"invalid name\", \"obj.name\", name);\n let indexed = obj.indexed;\n if (indexed != null) {\n assertArgument(allowIndexed, \"parameter cannot be indexed\", \"obj.indexed\", obj.indexed);\n indexed = !!indexed;\n }\n let type = obj.type;\n let arrayMatch = type.match(regexArrayType);\n if (arrayMatch) {\n const arrayLength = parseInt(arrayMatch[2] || \"-1\");\n const arrayChildren = ParamType.from({\n type: arrayMatch[1],\n components: obj.components\n });\n return new ParamType(_guard, name || \"\", type, \"array\", indexed, null, arrayLength, arrayChildren);\n }\n if (type === \"tuple\" || type.startsWith(\"tuple(\" /* fix: ) */) || type.startsWith(\"(\" /* fix: ) */)) {\n const comps = (obj.components != null) ? obj.components.map((c) => ParamType.from(c)) : null;\n const tuple = new ParamType(_guard, name || \"\", type, \"tuple\", indexed, comps, null, null);\n // @TODO: use lexer to validate and normalize type\n return tuple;\n }\n type = verifyBasicType(obj.type);\n return new ParamType(_guard, name || \"\", type, type, indexed, null, null, null);\n }\n /**\n * Returns true if %%value%% is a **ParamType**.\n */\n static isParamType(value) {\n return (value && value[internal] === ParamTypeInternal);\n }\n}\n/**\n * An abstract class to represent An individual fragment from a parse ABI.\n */\nexport class Fragment {\n /**\n * The type of the fragment.\n */\n type;\n /**\n * The inputs for the fragment.\n */\n inputs;\n /**\n * @private\n */\n constructor(guard, type, inputs) {\n assertPrivate(guard, _guard, \"Fragment\");\n inputs = Object.freeze(inputs.slice());\n defineProperties(this, { type, inputs });\n }\n /**\n * Creates a new **Fragment** for %%obj%%, wich can be any supported\n * ABI frgament type.\n */\n static from(obj) {\n if (typeof (obj) === \"string\") {\n // Try parsing JSON...\n try {\n Fragment.from(JSON.parse(obj));\n }\n catch (e) { }\n // ...otherwise, use the human-readable lexer\n return Fragment.from(lex(obj));\n }\n if (obj instanceof TokenString) {\n // Human-readable ABI (already lexed)\n const type = obj.peekKeyword(KwTypes);\n switch (type) {\n case \"constructor\": return ConstructorFragment.from(obj);\n case \"error\": return ErrorFragment.from(obj);\n case \"event\": return EventFragment.from(obj);\n case \"fallback\":\n case \"receive\":\n return FallbackFragment.from(obj);\n case \"function\": return FunctionFragment.from(obj);\n case \"struct\": return StructFragment.from(obj);\n }\n }\n else if (typeof (obj) === \"object\") {\n // JSON ABI\n switch (obj.type) {\n case \"constructor\": return ConstructorFragment.from(obj);\n case \"error\": return ErrorFragment.from(obj);\n case \"event\": return EventFragment.from(obj);\n case \"fallback\":\n case \"receive\":\n return FallbackFragment.from(obj);\n case \"function\": return FunctionFragment.from(obj);\n case \"struct\": return StructFragment.from(obj);\n }\n assert(false, `unsupported type: ${obj.type}`, \"UNSUPPORTED_OPERATION\", {\n operation: \"Fragment.from\"\n });\n }\n assertArgument(false, \"unsupported frgament object\", \"obj\", obj);\n }\n /**\n * Returns true if %%value%% is a [[ConstructorFragment]].\n */\n static isConstructor(value) {\n return ConstructorFragment.isFragment(value);\n }\n /**\n * Returns true if %%value%% is an [[ErrorFragment]].\n */\n static isError(value) {\n return ErrorFragment.isFragment(value);\n }\n /**\n * Returns true if %%value%% is an [[EventFragment]].\n */\n static isEvent(value) {\n return EventFragment.isFragment(value);\n }\n /**\n * Returns true if %%value%% is a [[FunctionFragment]].\n */\n static isFunction(value) {\n return FunctionFragment.isFragment(value);\n }\n /**\n * Returns true if %%value%% is a [[StructFragment]].\n */\n static isStruct(value) {\n return StructFragment.isFragment(value);\n }\n}\n/**\n * An abstract class to represent An individual fragment\n * which has a name from a parse ABI.\n */\nexport class NamedFragment extends Fragment {\n /**\n * The name of the fragment.\n */\n name;\n /**\n * @private\n */\n constructor(guard, type, name, inputs) {\n super(guard, type, inputs);\n assertArgument(typeof (name) === \"string\" && name.match(regexId), \"invalid identifier\", \"name\", name);\n inputs = Object.freeze(inputs.slice());\n defineProperties(this, { name });\n }\n}\nfunction joinParams(format, params) {\n return \"(\" + params.map((p) => p.format(format)).join((format === \"full\") ? \", \" : \",\") + \")\";\n}\n/**\n * A Fragment which represents a //Custom Error//.\n */\nexport class ErrorFragment extends NamedFragment {\n /**\n * @private\n */\n constructor(guard, name, inputs) {\n super(guard, \"error\", name, inputs);\n Object.defineProperty(this, internal, { value: ErrorFragmentInternal });\n }\n /**\n * The Custom Error selector.\n */\n get selector() {\n return id(this.format(\"sighash\")).substring(0, 10);\n }\n /**\n * Returns a string representation of this fragment as %%format%%.\n */\n format(format) {\n if (format == null) {\n format = \"sighash\";\n }\n if (format === \"json\") {\n return JSON.stringify({\n type: \"error\",\n name: this.name,\n inputs: this.inputs.map((input) => JSON.parse(input.format(format))),\n });\n }\n const result = [];\n if (format !== \"sighash\") {\n result.push(\"error\");\n }\n result.push(this.name + joinParams(format, this.inputs));\n return result.join(\" \");\n }\n /**\n * Returns a new **ErrorFragment** for %%obj%%.\n */\n static from(obj) {\n if (ErrorFragment.isFragment(obj)) {\n return obj;\n }\n if (typeof (obj) === \"string\") {\n return ErrorFragment.from(lex(obj));\n }\n else if (obj instanceof TokenString) {\n const name = consumeName(\"error\", obj);\n const inputs = consumeParams(obj);\n consumeEoi(obj);\n return new ErrorFragment(_guard, name, inputs);\n }\n return new ErrorFragment(_guard, obj.name, obj.inputs ? obj.inputs.map(ParamType.from) : []);\n }\n /**\n * Returns ``true`` and provides a type guard if %%value%% is an\n * **ErrorFragment**.\n */\n static isFragment(value) {\n return (value && value[internal] === ErrorFragmentInternal);\n }\n}\n/**\n * A Fragment which represents an Event.\n */\nexport class EventFragment extends NamedFragment {\n /**\n * Whether this event is anonymous.\n */\n anonymous;\n /**\n * @private\n */\n constructor(guard, name, inputs, anonymous) {\n super(guard, \"event\", name, inputs);\n Object.defineProperty(this, internal, { value: EventFragmentInternal });\n defineProperties(this, { anonymous });\n }\n /**\n * The Event topic hash.\n */\n get topicHash() {\n return id(this.format(\"sighash\"));\n }\n /**\n * Returns a string representation of this event as %%format%%.\n */\n format(format) {\n if (format == null) {\n format = \"sighash\";\n }\n if (format === \"json\") {\n return JSON.stringify({\n type: \"event\",\n anonymous: this.anonymous,\n name: this.name,\n inputs: this.inputs.map((i) => JSON.parse(i.format(format)))\n });\n }\n const result = [];\n if (format !== \"sighash\") {\n result.push(\"event\");\n }\n result.push(this.name + joinParams(format, this.inputs));\n if (format !== \"sighash\" && this.anonymous) {\n result.push(\"anonymous\");\n }\n return result.join(\" \");\n }\n /**\n * Return the topic hash for an event with %%name%% and %%params%%.\n */\n static getTopicHash(name, params) {\n params = (params || []).map((p) => ParamType.from(p));\n const fragment = new EventFragment(_guard, name, params, false);\n return fragment.topicHash;\n }\n /**\n * Returns a new **EventFragment** for %%obj%%.\n */\n static from(obj) {\n if (EventFragment.isFragment(obj)) {\n return obj;\n }\n if (typeof (obj) === \"string\") {\n try {\n return EventFragment.from(lex(obj));\n }\n catch (error) {\n assertArgument(false, \"invalid event fragment\", \"obj\", obj);\n }\n }\n else if (obj instanceof TokenString) {\n const name = consumeName(\"event\", obj);\n const inputs = consumeParams(obj, true);\n const anonymous = !!consumeKeywords(obj, setify([\"anonymous\"])).has(\"anonymous\");\n consumeEoi(obj);\n return new EventFragment(_guard, name, inputs, anonymous);\n }\n return new EventFragment(_guard, obj.name, obj.inputs ? obj.inputs.map((p) => ParamType.from(p, true)) : [], !!obj.anonymous);\n }\n /**\n * Returns ``true`` and provides a type guard if %%value%% is an\n * **EventFragment**.\n */\n static isFragment(value) {\n return (value && value[internal] === EventFragmentInternal);\n }\n}\n/**\n * A Fragment which represents a constructor.\n */\nexport class ConstructorFragment extends Fragment {\n /**\n * Whether the constructor can receive an endowment.\n */\n payable;\n /**\n * The recommended gas limit for deployment or ``null``.\n */\n gas;\n /**\n * @private\n */\n constructor(guard, type, inputs, payable, gas) {\n super(guard, type, inputs);\n Object.defineProperty(this, internal, { value: ConstructorFragmentInternal });\n defineProperties(this, { payable, gas });\n }\n /**\n * Returns a string representation of this constructor as %%format%%.\n */\n format(format) {\n assert(format != null && format !== \"sighash\", \"cannot format a constructor for sighash\", \"UNSUPPORTED_OPERATION\", { operation: \"format(sighash)\" });\n if (format === \"json\") {\n return JSON.stringify({\n type: \"constructor\",\n stateMutability: (this.payable ? \"payable\" : \"undefined\"),\n payable: this.payable,\n gas: ((this.gas != null) ? this.gas : undefined),\n inputs: this.inputs.map((i) => JSON.parse(i.format(format)))\n });\n }\n const result = [`constructor${joinParams(format, this.inputs)}`];\n if (this.payable) {\n result.push(\"payable\");\n }\n if (this.gas != null) {\n result.push(`@${this.gas.toString()}`);\n }\n return result.join(\" \");\n }\n /**\n * Returns a new **ConstructorFragment** for %%obj%%.\n */\n static from(obj) {\n if (ConstructorFragment.isFragment(obj)) {\n return obj;\n }\n if (typeof (obj) === \"string\") {\n try {\n return ConstructorFragment.from(lex(obj));\n }\n catch (error) {\n assertArgument(false, \"invalid constuctor fragment\", \"obj\", obj);\n }\n }\n else if (obj instanceof TokenString) {\n consumeKeywords(obj, setify([\"constructor\"]));\n const inputs = consumeParams(obj);\n const payable = !!consumeKeywords(obj, KwVisibDeploy).has(\"payable\");\n const gas = consumeGas(obj);\n consumeEoi(obj);\n return new ConstructorFragment(_guard, \"constructor\", inputs, payable, gas);\n }\n return new ConstructorFragment(_guard, \"constructor\", obj.inputs ? obj.inputs.map(ParamType.from) : [], !!obj.payable, (obj.gas != null) ? obj.gas : null);\n }\n /**\n * Returns ``true`` and provides a type guard if %%value%% is a\n * **ConstructorFragment**.\n */\n static isFragment(value) {\n return (value && value[internal] === ConstructorFragmentInternal);\n }\n}\n/**\n * A Fragment which represents a method.\n */\nexport class FallbackFragment extends Fragment {\n /**\n * If the function can be sent value during invocation.\n */\n payable;\n constructor(guard, inputs, payable) {\n super(guard, \"fallback\", inputs);\n Object.defineProperty(this, internal, { value: FallbackFragmentInternal });\n defineProperties(this, { payable });\n }\n /**\n * Returns a string representation of this fallback as %%format%%.\n */\n format(format) {\n const type = ((this.inputs.length === 0) ? \"receive\" : \"fallback\");\n if (format === \"json\") {\n const stateMutability = (this.payable ? \"payable\" : \"nonpayable\");\n return JSON.stringify({ type, stateMutability });\n }\n return `${type}()${this.payable ? \" payable\" : \"\"}`;\n }\n /**\n * Returns a new **FallbackFragment** for %%obj%%.\n */\n static from(obj) {\n if (FallbackFragment.isFragment(obj)) {\n return obj;\n }\n if (typeof (obj) === \"string\") {\n try {\n return FallbackFragment.from(lex(obj));\n }\n catch (error) {\n assertArgument(false, \"invalid fallback fragment\", \"obj\", obj);\n }\n }\n else if (obj instanceof TokenString) {\n const errorObj = obj.toString();\n const topIsValid = obj.peekKeyword(setify([\"fallback\", \"receive\"]));\n assertArgument(topIsValid, \"type must be fallback or receive\", \"obj\", errorObj);\n const type = obj.popKeyword(setify([\"fallback\", \"receive\"]));\n // receive()\n if (type === \"receive\") {\n const inputs = consumeParams(obj);\n assertArgument(inputs.length === 0, `receive cannot have arguments`, \"obj.inputs\", inputs);\n consumeKeywords(obj, setify([\"payable\"]));\n consumeEoi(obj);\n return new FallbackFragment(_guard, [], true);\n }\n // fallback() [payable]\n // fallback(bytes) [payable] returns (bytes)\n let inputs = consumeParams(obj);\n if (inputs.length) {\n assertArgument(inputs.length === 1 && inputs[0].type === \"bytes\", \"invalid fallback inputs\", \"obj.inputs\", inputs.map((i) => i.format(\"minimal\")).join(\", \"));\n }\n else {\n inputs = [ParamType.from(\"bytes\")];\n }\n const mutability = consumeMutability(obj);\n assertArgument(mutability === \"nonpayable\" || mutability === \"payable\", \"fallback cannot be constants\", \"obj.stateMutability\", mutability);\n if (consumeKeywords(obj, setify([\"returns\"])).has(\"returns\")) {\n const outputs = consumeParams(obj);\n assertArgument(outputs.length === 1 && outputs[0].type === \"bytes\", \"invalid fallback outputs\", \"obj.outputs\", outputs.map((i) => i.format(\"minimal\")).join(\", \"));\n }\n consumeEoi(obj);\n return new FallbackFragment(_guard, inputs, mutability === \"payable\");\n }\n if (obj.type === \"receive\") {\n return new FallbackFragment(_guard, [], true);\n }\n if (obj.type === \"fallback\") {\n const inputs = [ParamType.from(\"bytes\")];\n const payable = (obj.stateMutability === \"payable\");\n return new FallbackFragment(_guard, inputs, payable);\n }\n assertArgument(false, \"invalid fallback description\", \"obj\", obj);\n }\n /**\n * Returns ``true`` and provides a type guard if %%value%% is a\n * **FallbackFragment**.\n */\n static isFragment(value) {\n return (value && value[internal] === FallbackFragmentInternal);\n }\n}\n/**\n * A Fragment which represents a method.\n */\nexport class FunctionFragment extends NamedFragment {\n /**\n * If the function is constant (e.g. ``pure`` or ``view`` functions).\n */\n constant;\n /**\n * The returned types for the result of calling this function.\n */\n outputs;\n /**\n * The state mutability (e.g. ``payable``, ``nonpayable``, ``view``\n * or ``pure``)\n */\n stateMutability;\n /**\n * If the function can be sent value during invocation.\n */\n payable;\n /**\n * The recommended gas limit to send when calling this function.\n */\n gas;\n /**\n * @private\n */\n constructor(guard, name, stateMutability, inputs, outputs, gas) {\n super(guard, \"function\", name, inputs);\n Object.defineProperty(this, internal, { value: FunctionFragmentInternal });\n outputs = Object.freeze(outputs.slice());\n const constant = (stateMutability === \"view\" || stateMutability === \"pure\");\n const payable = (stateMutability === \"payable\");\n defineProperties(this, { constant, gas, outputs, payable, stateMutability });\n }\n /**\n * The Function selector.\n */\n get selector() {\n return id(this.format(\"sighash\")).substring(0, 10);\n }\n /**\n * Returns a string representation of this function as %%format%%.\n */\n format(format) {\n if (format == null) {\n format = \"sighash\";\n }\n if (format === \"json\") {\n return JSON.stringify({\n type: \"function\",\n name: this.name,\n constant: this.constant,\n stateMutability: ((this.stateMutability !== \"nonpayable\") ? this.stateMutability : undefined),\n payable: this.payable,\n gas: ((this.gas != null) ? this.gas : undefined),\n inputs: this.inputs.map((i) => JSON.parse(i.format(format))),\n outputs: this.outputs.map((o) => JSON.parse(o.format(format))),\n });\n }\n const result = [];\n if (format !== \"sighash\") {\n result.push(\"function\");\n }\n result.push(this.name + joinParams(format, this.inputs));\n if (format !== \"sighash\") {\n if (this.stateMutability !== \"nonpayable\") {\n result.push(this.stateMutability);\n }\n if (this.outputs && this.outputs.length) {\n result.push(\"returns\");\n result.push(joinParams(format, this.outputs));\n }\n if (this.gas != null) {\n result.push(`@${this.gas.toString()}`);\n }\n }\n return result.join(\" \");\n }\n /**\n * Return the selector for a function with %%name%% and %%params%%.\n */\n static getSelector(name, params) {\n params = (params || []).map((p) => ParamType.from(p));\n const fragment = new FunctionFragment(_guard, name, \"view\", params, [], null);\n return fragment.selector;\n }\n /**\n * Returns a new **FunctionFragment** for %%obj%%.\n */\n static from(obj) {\n if (FunctionFragment.isFragment(obj)) {\n return obj;\n }\n if (typeof (obj) === \"string\") {\n try {\n return FunctionFragment.from(lex(obj));\n }\n catch (error) {\n assertArgument(false, \"invalid function fragment\", \"obj\", obj);\n }\n }\n else if (obj instanceof TokenString) {\n const name = consumeName(\"function\", obj);\n const inputs = consumeParams(obj);\n const mutability = consumeMutability(obj);\n let outputs = [];\n if (consumeKeywords(obj, setify([\"returns\"])).has(\"returns\")) {\n outputs = consumeParams(obj);\n }\n const gas = consumeGas(obj);\n consumeEoi(obj);\n return new FunctionFragment(_guard, name, mutability, inputs, outputs, gas);\n }\n let stateMutability = obj.stateMutability;\n // Use legacy Solidity ABI logic if stateMutability is missing\n if (stateMutability == null) {\n stateMutability = \"payable\";\n if (typeof (obj.constant) === \"boolean\") {\n stateMutability = \"view\";\n if (!obj.constant) {\n stateMutability = \"payable\";\n if (typeof (obj.payable) === \"boolean\" && !obj.payable) {\n stateMutability = \"nonpayable\";\n }\n }\n }\n else if (typeof (obj.payable) === \"boolean\" && !obj.payable) {\n stateMutability = \"nonpayable\";\n }\n }\n // @TODO: verifyState for stateMutability (e.g. throw if\n // payable: false but stateMutability is \"nonpayable\")\n return new FunctionFragment(_guard, obj.name, stateMutability, obj.inputs ? obj.inputs.map(ParamType.from) : [], obj.outputs ? obj.outputs.map(ParamType.from) : [], (obj.gas != null) ? obj.gas : null);\n }\n /**\n * Returns ``true`` and provides a type guard if %%value%% is a\n * **FunctionFragment**.\n */\n static isFragment(value) {\n return (value && value[internal] === FunctionFragmentInternal);\n }\n}\n/**\n * A Fragment which represents a structure.\n */\nexport class StructFragment extends NamedFragment {\n /**\n * @private\n */\n constructor(guard, name, inputs) {\n super(guard, \"struct\", name, inputs);\n Object.defineProperty(this, internal, { value: StructFragmentInternal });\n }\n /**\n * Returns a string representation of this struct as %%format%%.\n */\n format() {\n throw new Error(\"@TODO\");\n }\n /**\n * Returns a new **StructFragment** for %%obj%%.\n */\n static from(obj) {\n if (typeof (obj) === \"string\") {\n try {\n return StructFragment.from(lex(obj));\n }\n catch (error) {\n assertArgument(false, \"invalid struct fragment\", \"obj\", obj);\n }\n }\n else if (obj instanceof TokenString) {\n const name = consumeName(\"struct\", obj);\n const inputs = consumeParams(obj);\n consumeEoi(obj);\n return new StructFragment(_guard, name, inputs);\n }\n return new StructFragment(_guard, obj.name, obj.inputs ? obj.inputs.map(ParamType.from) : []);\n }\n // @TODO: fix this return type\n /**\n * Returns ``true`` and provides a type guard if %%value%% is a\n * **StructFragment**.\n */\n static isFragment(value) {\n return (value && value[internal] === StructFragmentInternal);\n }\n}\n//# sourceMappingURL=fragments.js.map"],"names":["result","value","type","indexed","name","inputs"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAeA,SAAS,OAAO,OAAO;AACnB,QAAM,SAAS,oBAAI,IAAK;AACxB,QAAM,QAAQ,CAAC,MAAM,OAAO,IAAI,CAAC,CAAC;AAClC,SAAO,OAAO,OAAO,MAAM;AAC/B;AACA,MAAM,iBAAiB;AACvB,MAAM,gBAAgB,OAAO,eAAe,MAAM,GAAG,CAAC;AAEtD,MAAM,WAAW;AACjB,MAAM,UAAU,OAAO,SAAS,MAAM,GAAG,CAAC;AAC1C,MAAM,WAAW;AACjB,MAAM,UAAU,OAAO,SAAS,MAAM,GAAG,CAAC;AAC1C,MAAM,eAAe;AACrB,MAAM,cAAc,OAAO,aAAa,MAAM,GAAG,CAAC;AAClD,MAAM,WAAW;AAEjB,MAAM,YAAY,CAAC,UAAU,cAAc,UAAU,QAAQ,EAAE,KAAK,GAAG;AACvE,MAAM,WAAW,OAAO,UAAU,MAAM,GAAG,CAAC;AAE5C,MAAM,eAAe;AAAA,EACjB,KAAK;AAAA,EAAc,KAAK;AAAA,EACxB,KAAK;AAAA,EAAgB,KAAK;AAAA,EAC1B,KAAK;AAAA,EAAS,KAAK;AACvB;AAEA,MAAM,wBAAwB,IAAI,OAAO,SAAS;AAClD,MAAM,oBAAoB,IAAI,OAAO,WAAW;AAChD,MAAM,gBAAgB,IAAI,OAAO,6BAA6B;AAE9D,MAAM,UAAU,IAAI,OAAO,8BAA8B;AACzD,MAAM,YAAY,IAAI,OAAO,qDAAqD;AAClF,MAAM,eAAN,MAAM,aAAY;AAAA,EAKd,YAAY,QAAQ;AALxB;AACI;AACA;AAII,uBAAK,SAAU;AACf,uBAAK,SAAU,OAAO,MAAO;AAAA,EACrC;AAAA,EALI,IAAI,SAAS;AAAE,WAAO,mBAAK;AAAA,EAAQ;AAAA,EACnC,IAAI,SAAS;AAAE,WAAO,mBAAK,SAAQ,SAAS,mBAAK;AAAA,EAAQ;AAAA,EAKzD,QAAQ;AAAE,WAAO,IAAI,aAAY,mBAAK,QAAO;AAAA,EAAE;AAAA,EAC/C,QAAQ;AAAE,uBAAK,SAAU;AAAA,EAAE;AAAA;AAAA,EAW3B,WAAW,SAAS;AAChB,UAAM,MAAM,KAAK,KAAM;AACvB,QAAI,IAAI,SAAS,aAAa,CAAC,QAAQ,IAAI,IAAI,IAAI,GAAG;AAClD,YAAM,IAAI,MAAM,oBAAoB,IAAI,IAAI,EAAE;AAAA,IAC1D;AACQ,WAAO,KAAK,IAAG,EAAG;AAAA,EAC1B;AAAA;AAAA,EAEI,QAAQ,MAAM;AACV,QAAI,KAAK,OAAO,SAAS,MAAM;AAC3B,YAAM,MAAM,KAAK,KAAM;AACvB,YAAM,IAAI,MAAM,YAAY,IAAI,SAAS,IAAI,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,EAAE;AAAA,IAC3F;AACQ,WAAO,KAAK,IAAG,EAAG;AAAA,EAC1B;AAAA;AAAA,EAEI,WAAW;AACP,UAAM,MAAM,KAAK,KAAM;AACvB,QAAI,IAAI,SAAS,cAAc;AAC3B,YAAM,IAAI,MAAM,WAAW;AAAA,IACvC;AACQ,UAAM,SAAS,sBAAK,2CAAL,WAAqB,mBAAK,WAAU,GAAG,IAAI,QAAQ;AAClE,uBAAK,SAAU,IAAI,QAAQ;AAC3B,WAAO;AAAA,EACf;AAAA;AAAA,EAEI,YAAY;AACR,UAAM,MAAM,KAAK,KAAM;AACvB,QAAI,IAAI,SAAS,cAAc;AAC3B,YAAM,IAAI,MAAM,WAAW;AAAA,IACvC;AACQ,UAAM,SAAS,CAAE;AACjB,WAAO,mBAAK,WAAU,IAAI,QAAQ,GAAG;AACjC,YAAM,OAAO,KAAK,KAAI,EAAG;AACzB,aAAO,KAAK,sBAAK,2CAAL,WAAqB,mBAAK,WAAU,GAAG,KAAK;AACxD,yBAAK,SAAU;AAAA,IAC3B;AACQ,uBAAK,SAAU,IAAI,QAAQ;AAC3B,WAAO;AAAA,EACf;AAAA;AAAA,EAEI,OAAO;AACH,QAAI,mBAAK,YAAW,mBAAK,SAAQ,QAAQ;AACrC,YAAM,IAAI,MAAM,eAAe;AAAA,IAC3C;AACQ,WAAO,mBAAK,SAAQ,mBAAK,QAAO;AAAA,EACxC;AAAA;AAAA,EAEI,YAAY,SAAS;AACjB,UAAM,MAAM,KAAK,SAAS,SAAS;AACnC,WAAQ,OAAO,QAAQ,QAAQ,IAAI,GAAG,IAAK,MAAM;AAAA,EACzD;AAAA;AAAA,EAEI,SAAS,MAAM;AACX,QAAI,KAAK,WAAW,GAAG;AACnB,aAAO;AAAA,IACnB;AACQ,UAAM,MAAM,KAAK,KAAM;AACvB,WAAQ,IAAI,SAAS,OAAQ,IAAI,OAAO;AAAA,EAChD;AAAA;AAAA,EAEI,MAAM;AACF,UAAM,SAAS,KAAK,KAAM;AAC1B,2BAAK,SAAL;AACA,WAAO;AAAA,EACf;AAAA,EACI,WAAW;AACP,UAAM,SAAS,CAAE;AACjB,aAAS,IAAI,mBAAK,UAAS,IAAI,mBAAK,SAAQ,QAAQ,KAAK;AACrD,YAAM,QAAQ,mBAAK,SAAQ,CAAC;AAC5B,aAAO,KAAK,GAAG,MAAM,IAAI,IAAI,MAAM,IAAI,EAAE;AAAA,IACrD;AACQ,WAAO,gBAAgB,OAAO,KAAK,GAAG,CAAC;AAAA,EAC/C;AACA;AA9FI;AACA;AAFJ;AAWI,oBAAe,SAAC,OAAO,GAAG,KAAK,GAAG;AAC9B,SAAO,IAAI,aAAY,mBAAK,SAAQ,MAAM,MAAM,EAAE,EAAE,IAAI,CAAC,MAAM;AAC3D,WAAO,OAAO,OAAO,OAAO,OAAO,CAAA,GAAI,GAAG;AAAA,MACtC,OAAQ,EAAE,QAAQ;AAAA,MAClB,UAAW,EAAE,WAAW;AAAA,MACxB,UAAW,EAAE,WAAW;AAAA,IACxC,CAAa,CAAC;AAAA,EACd,CAAS,CAAC;AACV;AAnBA,IAAM,cAAN;AAgGA,SAAS,IAAI,MAAM;AACf,QAAM,SAAS,CAAE;AACjB,QAAM,aAAa,CAAC,YAAY;AAC5B,UAAM,QAAS,SAAS,KAAK,SAAU,KAAK,UAAU,KAAK,MAAM,CAAC,IAAI;AACtE,UAAM,IAAI,MAAM,iBAAiB,KAAK,OAAO,MAAM,KAAK,OAAO,EAAE;AAAA,EACpE;AACD,MAAI,WAAW,CAAE;AACjB,MAAI,SAAS,CAAE;AACf,MAAI,SAAS;AACb,SAAO,SAAS,KAAK,QAAQ;AAEzB,QAAI,MAAM,KAAK,UAAU,MAAM;AAC/B,QAAI,QAAQ,IAAI,MAAM,qBAAqB;AAC3C,QAAI,OAAO;AACP,gBAAU,MAAM,CAAC,EAAE;AACnB,YAAM,KAAK,UAAU,MAAM;AAAA,IACvC;AACQ,UAAM,QAAQ,EAAE,OAAO,SAAS,QAAQ,UAAU,IAAI,UAAU,IAAI,OAAO,IAAI,MAAM,IAAI,MAAM,IAAI,QAAQ,OAAO,GAAI;AACtH,WAAO,KAAK,KAAK;AACjB,QAAI,OAAQ,aAAa,IAAI,CAAC,CAAC,KAAK;AACpC,QAAI,MAAM;AACN,YAAM,OAAO;AACb,YAAM,OAAO,IAAI,CAAC;AAClB;AACA,UAAI,SAAS,cAAc;AACvB,iBAAS,KAAK,OAAO,SAAS,CAAC;AAC/B,eAAO,KAAK,OAAO,SAAS,CAAC;AAAA,MAC7C,WACqB,QAAQ,eAAe;AAC5B,YAAI,SAAS,WAAW,GAAG;AACvB,qBAAW,0BAA0B;AAAA,QACzD;AACgB,cAAM,QAAQ,SAAS,IAAK;AAC5B,QAAC,OAAO,MAAM,KAAK,EAAG,QAAQ,OAAO,SAAS;AAC9C,cAAM;AACN,cAAM,WAAW,OAAO,IAAK;AAC7B,QAAC,OAAO,MAAM,QAAQ,EAAG,WAAW,OAAO,SAAS;AAAA,MACpE,WACqB,SAAS,SAAS;AACvB,cAAM,WAAW,OAAO,IAAK;AAC7B,QAAC,OAAO,MAAM,QAAQ,EAAG,WAAW,OAAO,SAAS;AACpD,eAAO,KAAK,OAAO,SAAS,CAAC;AAAA,MAC7C,WACqB,SAAS,gBAAgB;AAC9B,cAAM,OAAO;AAAA,MAC7B,WACqB,SAAS,iBAAiB;AAE/B,YAAI,SAAS,OAAO,IAAG,EAAG;AAC1B,YAAI,OAAO,SAAS,KAAK,OAAO,OAAO,SAAS,CAAC,EAAE,SAAS,UAAU;AAClE,gBAAM,QAAQ,OAAO,IAAG,EAAG;AAC3B,mBAAS,QAAQ;AACjB,UAAC,OAAO,OAAO,SAAS,CAAC,EAAG,QAAQ,UAAU,KAAK;AAAA,QACvE;AACgB,YAAI,OAAO,WAAW,KAAK,OAAO,OAAO,SAAS,CAAC,EAAE,SAAS,WAAW;AACrE,gBAAM,IAAI,MAAM,yBAAyB;AAAA,QAC7D;AACgB,QAAC,OAAO,OAAO,SAAS,CAAC,EAAG,QAAQ;AAAA,MACpD;AACY;AAAA,IACZ;AACQ,YAAQ,IAAI,MAAM,aAAa;AAC/B,QAAI,OAAO;AACP,YAAM,OAAO,MAAM,CAAC;AACpB,gBAAU,MAAM,KAAK;AACrB,UAAI,SAAS,IAAI,MAAM,IAAI,GAAG;AAC1B,cAAM,OAAO;AACb;AAAA,MAChB;AACY,UAAI,MAAM,KAAK,MAAM,SAAS,GAAG;AAC7B,cAAM,OAAO;AACb;AAAA,MAChB;AACY,YAAM,OAAO;AACb;AAAA,IACZ;AACQ,YAAQ,IAAI,MAAM,iBAAiB;AACnC,QAAI,OAAO;AACP,YAAM,OAAO,MAAM,CAAC;AACpB,YAAM,OAAO;AACb,gBAAU,MAAM,KAAK;AACrB;AAAA,IACZ;AACQ,UAAM,IAAI,MAAM,oBAAoB,KAAK,UAAU,IAAI,CAAC,CAAC,CAAC,gBAAgB,MAAM,EAAE;AAAA,EAC1F;AACI,SAAO,IAAI,YAAY,OAAO,IAAI,CAAC,MAAM,OAAO,OAAO,CAAC,CAAC,CAAC;AAC9D;AAEA,SAAS,YAAY,KAAK,SAAS;AAC/B,MAAI,WAAW,CAAE;AACjB,aAAW,OAAO,QAAQ,QAAQ;AAC9B,QAAI,IAAI,IAAI,GAAG,GAAG;AACd,eAAS,KAAK,GAAG;AAAA,IAC7B;AAAA,EACA;AACI,MAAI,SAAS,SAAS,GAAG;AACrB,UAAM,IAAI,MAAM,sBAAsB,SAAS,KAAK,IAAI,CAAC,EAAE;AAAA,EACnE;AACA;AAGA,SAAS,YAAY,MAAM,QAAQ;AAC/B,MAAI,OAAO,YAAY,OAAO,GAAG;AAC7B,UAAM,UAAU,OAAO,IAAG,EAAG;AAC7B,QAAI,YAAY,MAAM;AAClB,YAAM,IAAI,MAAM,YAAY,IAAI,SAAS,OAAO,EAAE;AAAA,IAC9D;AAAA,EACA;AACI,SAAO,OAAO,QAAQ,IAAI;AAC9B;AAEA,SAAS,gBAAgB,QAAQ,SAAS;AACtC,QAAM,WAAW,oBAAI,IAAK;AAC1B,SAAO,MAAM;AACT,UAAM,UAAU,OAAO,SAAS,SAAS;AACzC,QAAI,WAAW,QAAS,WAAW,CAAC,QAAQ,IAAI,OAAO,GAAI;AACvD;AAAA,IACZ;AACQ,WAAO,IAAK;AACZ,QAAI,SAAS,IAAI,OAAO,GAAG;AACvB,YAAM,IAAI,MAAM,uBAAuB,KAAK,UAAU,OAAO,CAAC,EAAE;AAAA,IAC5E;AACQ,aAAS,IAAI,OAAO;AAAA,EAC5B;AACI,SAAO,OAAO,OAAO,QAAQ;AACjC;AAEA,SAAS,kBAAkB,QAAQ;AAC/B,MAAI,YAAY,gBAAgB,QAAQ,OAAO;AAE/C,cAAY,WAAW,OAAO,8BAA8B,MAAM,GAAG,CAAC,CAAC;AACvE,cAAY,WAAW,OAAO,+BAA+B,MAAM,GAAG,CAAC,CAAC;AAExE,MAAI,UAAU,IAAI,MAAM,GAAG;AACvB,WAAO;AAAA,EACf;AACI,MAAI,UAAU,IAAI,MAAM,GAAG;AACvB,WAAO;AAAA,EACf;AACI,MAAI,UAAU,IAAI,SAAS,GAAG;AAC1B,WAAO;AAAA,EACf;AACI,MAAI,UAAU,IAAI,YAAY,GAAG;AAC7B,WAAO;AAAA,EACf;AAEI,MAAI,UAAU,IAAI,UAAU,GAAG;AAC3B,WAAO;AAAA,EACf;AACI,SAAO;AACX;AAEA,SAAS,cAAc,QAAQ,cAAc;AACzC,SAAO,OAAO,UAAW,EAAC,IAAI,CAAC,MAAM,UAAU,KAAK,GAAG,YAAY,CAAC;AACxE;AAEA,SAAS,WAAW,QAAQ;AACxB,MAAI,OAAO,SAAS,IAAI,GAAG;AACvB,WAAO,IAAK;AACZ,QAAI,OAAO,SAAS,QAAQ,GAAG;AAC3B,aAAO,UAAU,OAAO,IAAG,EAAG,IAAI;AAAA,IAC9C;AACQ,UAAM,IAAI,MAAM,aAAa;AAAA,EACrC;AACI,SAAO;AACX;AACA,SAAS,WAAW,QAAQ;AACxB,MAAI,OAAO,QAAQ;AACf,UAAM,IAAI,MAAM,+BAA+B,OAAO,MAAM,KAAK,OAAO,SAAU,CAAA,EAAE;AAAA,EAC5F;AACA;AACA,MAAM,iBAAiB,IAAI,OAAO,oBAAoB;AACtD,SAAS,gBAAgB,MAAM;AAC3B,QAAM,QAAQ,KAAK,MAAM,SAAS;AAClC,iBAAe,OAAO,gBAAgB,QAAQ,IAAI;AAClD,MAAI,SAAS,QAAQ;AACjB,WAAO;AAAA,EACf;AACI,MAAI,SAAS,OAAO;AAChB,WAAO;AAAA,EACf;AACI,MAAI,MAAM,CAAC,GAAG;AAEV,UAAM,SAAS,SAAS,MAAM,CAAC,CAAC;AAChC,mBAAe,WAAW,KAAK,UAAU,IAAI,wBAAwB,QAAQ,IAAI;AAAA,EACzF,WACa,MAAM,CAAC,GAAG;AAEf,UAAM,OAAO,SAAS,MAAM,CAAC,CAAC;AAC9B,mBAAe,SAAS,KAAK,QAAQ,OAAQ,OAAO,MAAO,GAAG,yBAAyB,QAAQ,IAAI;AAAA,EAC3G;AACI,SAAO;AACX;AAEA,MAAM,SAAS,CAAE;AACjB,MAAM,WAAW,OAAO,IAAI,kBAAkB;AAC9C,MAAM,oBAAoB;AAC1B,MAAM,wBAAwB;AAC9B,MAAM,wBAAwB;AAC9B,MAAM,8BAA8B;AACpC,MAAM,2BAA2B;AACjC,MAAM,2BAA2B;AACjC,MAAM,yBAAyB;AAIxB,MAAM,aAAN,MAAM,WAAU;AAAA;AAAA;AAAA;AAAA,EAyCnB,YAAY,OAAO,MAAM,MAAM,UAAU,SAAS,YAAY,aAAa,eAAe;AAzCvF;AAIH;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;AAMA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKI,kBAAc,OAAO,QAAQ,WAAW;AACxC,WAAO,eAAe,MAAM,UAAU,EAAE,OAAO,mBAAmB;AAClE,QAAI,YAAY;AACZ,mBAAa,OAAO,OAAO,WAAW,MAAK,CAAE;AAAA,IACzD;AACQ,QAAI,aAAa,SAAS;AACtB,UAAI,eAAe,QAAQ,iBAAiB,MAAM;AAC9C,cAAM,IAAI,MAAM,EAAE;AAAA,MAClC;AAAA,IACA,WACiB,eAAe,QAAQ,iBAAiB,MAAM;AACnD,YAAM,IAAI,MAAM,EAAE;AAAA,IAC9B;AACQ,QAAI,aAAa,SAAS;AACtB,UAAI,cAAc,MAAM;AACpB,cAAM,IAAI,MAAM,EAAE;AAAA,MAClC;AAAA,IACA,WACiB,cAAc,MAAM;AACzB,YAAM,IAAI,MAAM,EAAE;AAAA,IAC9B;AACQ,qBAAiB,MAAM;AAAA,MACnB;AAAA,MAAM;AAAA,MAAM;AAAA,MAAU;AAAA,MAAS;AAAA,MAAY;AAAA,MAAa;AAAA,IACpE,CAAS;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYI,OAAO,QAAQ;AACX,QAAI,UAAU,MAAM;AAChB,eAAS;AAAA,IACrB;AACQ,QAAI,WAAW,QAAQ;AACnB,YAAM,OAAO,KAAK,QAAQ;AAC1B,UAAI,KAAK,WAAW;AAChB,cAAMA,UAAS,KAAK,MAAM,KAAK,cAAc,OAAO,MAAM,CAAC;AAC3D,QAAAA,QAAO,OAAO;AACd,QAAAA,QAAO,QAAQ,IAAK,KAAK,cAAc,IAAI,KAAK,OAAO,KAAK,WAAW,CAAG;AAC1E,eAAO,KAAK,UAAUA,OAAM;AAAA,MAC5C;AACY,YAAMA,UAAS;AAAA,QACX,MAAQ,KAAK,aAAa,UAAW,UAAU,KAAK;AAAA,QACpD;AAAA,MACH;AACD,UAAI,OAAQ,KAAK,YAAa,WAAW;AACrC,QAAAA,QAAO,UAAU,KAAK;AAAA,MACtC;AACY,UAAI,KAAK,WAAW;AAChB,QAAAA,QAAO,aAAa,KAAK,WAAW,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,OAAO,MAAM,CAAC,CAAC;AAAA,MAC3F;AACY,aAAO,KAAK,UAAUA,OAAM;AAAA,IACxC;AACQ,QAAI,SAAS;AAEb,QAAI,KAAK,WAAW;AAChB,gBAAU,KAAK,cAAc,OAAO,MAAM;AAC1C,gBAAU,IAAK,KAAK,cAAc,IAAI,KAAK,OAAO,KAAK,WAAW,CAAG;AAAA,IACjF,OACa;AACD,UAAI,KAAK,WAAW;AAChB,kBAAU,MAAM,KAAK,WAAW,IAAI,CAAC,SAAS,KAAK,OAAO,MAAM,CAAC,EAAE,KAAM,WAAW,SAAU,OAAO,GAAG,IAAI;AAAA,MAC5H,OACiB;AACD,kBAAU,KAAK;AAAA,MAC/B;AAAA,IACA;AACQ,QAAI,WAAW,WAAW;AACtB,UAAI,KAAK,YAAY,MAAM;AACvB,kBAAU;AAAA,MAC1B;AACY,UAAI,WAAW,UAAU,KAAK,MAAM;AAChC,kBAAU,MAAM,KAAK;AAAA,MACrC;AAAA,IACA;AACQ,WAAO;AAAA,EACf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOI,UAAU;AACN,WAAQ,KAAK,aAAa;AAAA,EAClC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOI,UAAU;AACN,WAAQ,KAAK,aAAa;AAAA,EAClC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOI,cAAc;AACV,WAAQ,KAAK,WAAW;AAAA,EAChC;AAAA;AAAA;AAAA;AAAA;AAAA,EAKI,KAAK,OAAO,SAAS;AACjB,QAAI,KAAK,WAAW;AAChB,UAAI,CAAC,MAAM,QAAQ,KAAK,GAAG;AACvB,cAAM,IAAI,MAAM,qBAAqB;AAAA,MACrD;AACY,UAAI,KAAK,gBAAgB,MAAM,MAAM,WAAW,KAAK,aAAa;AAC9D,cAAM,IAAI,MAAM,uBAAuB;AAAA,MACvD;AACY,YAAM,QAAQ;AACd,aAAO,MAAM,IAAI,CAAC,MAAO,MAAM,cAAc,KAAK,GAAG,OAAO,CAAE;AAAA,IAC1E;AACQ,QAAI,KAAK,WAAW;AAChB,UAAI,CAAC,MAAM,QAAQ,KAAK,GAAG;AACvB,cAAM,IAAI,MAAM,qBAAqB;AAAA,MACrD;AACY,UAAI,MAAM,WAAW,KAAK,WAAW,QAAQ;AACzC,cAAM,IAAI,MAAM,uBAAuB;AAAA,MACvD;AACY,YAAM,QAAQ;AACd,aAAO,MAAM,IAAI,CAAC,GAAG,MAAO,MAAM,WAAW,CAAC,EAAE,KAAK,GAAG,OAAO,CAAE;AAAA,IAC7E;AACQ,WAAO,QAAQ,KAAK,MAAM,KAAK;AAAA,EACvC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkEI,MAAM,UAAU,OAAO,SAAS;AAC5B,UAAM,WAAW,CAAE;AACnB,UAAM,SAAS,CAAC,KAAK;AACrB,0BAAK,oCAAL,WAAgB,UAAU,OAAO,SAAS,CAACC,WAAU;AACjD,aAAO,CAAC,IAAIA;AAAA,IACxB;AACQ,QAAI,SAAS,QAAQ;AACjB,YAAM,QAAQ,IAAI,QAAQ;AAAA,IACtC;AACQ,WAAO,OAAO,CAAC;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOI,OAAO,KAAK,KAAK,cAAc;AAC3B,QAAI,WAAU,YAAY,GAAG,GAAG;AAC5B,aAAO;AAAA,IACnB;AACQ,QAAI,OAAQ,QAAS,UAAU;AAC3B,UAAI;AACA,eAAO,WAAU,KAAK,IAAI,GAAG,GAAG,YAAY;AAAA,MAC5D,SACmB,OAAO;AACV,uBAAe,OAAO,sBAAsB,OAAO,GAAG;AAAA,MACtE;AAAA,IACA,WACiB,eAAe,aAAa;AACjC,UAAIC,QAAO,IAAI,WAAW;AAC1B,UAAI,QAAQ;AACZ,UAAI,gBAAgB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,OAAO,KAAK,IAAI,SAAS,YAAY,GAAG;AAEpF,mBAAW;AACX,gBAAQ,IAAI,UAAS,EAAG,IAAI,CAAC,MAAM,WAAU,KAAK,CAAC,CAAC;AACpD,QAAAA,QAAO,SAAS,MAAM,IAAI,CAAC,MAAM,EAAE,OAAQ,CAAA,EAAE,KAAK,GAAG,CAAC;AAAA,MACtE,OACiB;AAED,QAAAA,QAAO,gBAAgB,IAAI,QAAQ,MAAM,CAAC;AAC1C,mBAAWA;AAAA,MAC3B;AAEY,UAAI,gBAAgB;AACpB,UAAI,cAAc;AAClB,aAAO,IAAI,UAAU,IAAI,SAAS,SAAS,GAAG;AAC1C,cAAM,UAAU,IAAI;AACpB,wBAAgB,IAAI,WAAU,QAAQ,IAAIA,OAAM,UAAU,MAAM,OAAO,aAAa,aAAa;AACjG,sBAAc,QAAQ;AACtB,QAAAA,SAAQ,QAAQ;AAChB,mBAAW;AACX,gBAAQ;AAAA,MACxB;AACY,UAAIC,WAAU;AACd,YAAM,WAAW,gBAAgB,KAAK,WAAW;AACjD,UAAI,SAAS,IAAI,SAAS,GAAG;AACzB,YAAI,CAAC,cAAc;AACf,gBAAM,IAAI,MAAM,EAAE;AAAA,QACtC;AACgB,QAAAA,WAAU;AAAA,MAC1B;AACY,YAAMC,QAAQ,IAAI,SAAS,IAAI,IAAI,IAAI,IAAG,EAAG,OAAO;AACpD,UAAI,IAAI,QAAQ;AACZ,cAAM,IAAI,MAAM,iBAAiB;AAAA,MACjD;AACY,aAAO,IAAI,WAAU,QAAQA,OAAMF,OAAM,UAAUC,UAAS,OAAO,aAAa,aAAa;AAAA,IACzG;AACQ,UAAM,OAAO,IAAI;AACjB,mBAAe,CAAC,QAAS,OAAQ,SAAU,YAAY,KAAK,MAAM,OAAO,GAAI,gBAAgB,YAAY,IAAI;AAC7G,QAAI,UAAU,IAAI;AAClB,QAAI,WAAW,MAAM;AACjB,qBAAe,cAAc,+BAA+B,eAAe,IAAI,OAAO;AACtF,gBAAU,CAAC,CAAC;AAAA,IACxB;AACQ,QAAI,OAAO,IAAI;AACf,QAAI,aAAa,KAAK,MAAM,cAAc;AAC1C,QAAI,YAAY;AACZ,YAAM,cAAc,SAAS,WAAW,CAAC,KAAK,IAAI;AAClD,YAAM,gBAAgB,WAAU,KAAK;AAAA,QACjC,MAAM,WAAW,CAAC;AAAA,QAClB,YAAY,IAAI;AAAA,MAChC,CAAa;AACD,aAAO,IAAI,WAAU,QAAQ,QAAQ,IAAI,MAAM,SAAS,SAAS,MAAM,aAAa,aAAa;AAAA,IAC7G;AACQ,QAAI,SAAS,WAAW,KAAK;AAAA,MAAW;AAAA;AAAA,IAAQ,KAAkB,KAAK;AAAA,MAAW;AAAA;AAAA,OAAmB;AACjG,YAAM,QAAS,IAAI,cAAc,OAAQ,IAAI,WAAW,IAAI,CAAC,MAAM,WAAU,KAAK,CAAC,CAAC,IAAI;AACxF,YAAM,QAAQ,IAAI,WAAU,QAAQ,QAAQ,IAAI,MAAM,SAAS,SAAS,OAAO,MAAM,IAAI;AAEzF,aAAO;AAAA,IACnB;AACQ,WAAO,gBAAgB,IAAI,IAAI;AAC/B,WAAO,IAAI,WAAU,QAAQ,QAAQ,IAAI,MAAM,MAAM,SAAS,MAAM,MAAM,IAAI;AAAA,EACtF;AAAA;AAAA;AAAA;AAAA,EAII,OAAO,YAAY,OAAO;AACtB,WAAQ,SAAS,MAAM,QAAQ,MAAM;AAAA,EAC7C;AACA;AAzVO;AAoLH,eAAU,SAAC,UAAU,OAAO,SAAS,UAAU;AAC3C,MAAI,KAAK,WAAW;AAChB,QAAI,CAAC,MAAM,QAAQ,KAAK,GAAG;AACvB,YAAM,IAAI,MAAM,qBAAqB;AAAA,IACrD;AACY,QAAI,KAAK,gBAAgB,MAAM,MAAM,WAAW,KAAK,aAAa;AAC9D,YAAM,IAAI,MAAM,uBAAuB;AAAA,IACvD;AACY,UAAM,YAAY,KAAK;AACvB,UAAMH,UAAS,MAAM,MAAO;AAC5B,IAAAA,QAAO,QAAQ,CAACC,QAAO,UAAU;;AAC7B,sCAAU,oCAAV,SAAqB,UAAUA,QAAO,SAAS,CAACA,WAAU;AACtD,QAAAD,QAAO,KAAK,IAAIC;AAAA,MACpC;AAAA,IACA,CAAa;AACD,aAASD,OAAM;AACf;AAAA,EACZ;AACQ,MAAI,KAAK,WAAW;AAChB,UAAM,aAAa,KAAK;AAExB,QAAIA;AACJ,QAAI,MAAM,QAAQ,KAAK,GAAG;AACtB,MAAAA,UAAS,MAAM,MAAO;AAAA,IACtC,OACiB;AACD,UAAI,SAAS,QAAQ,OAAQ,UAAW,UAAU;AAC9C,cAAM,IAAI,MAAM,qBAAqB;AAAA,MACzD;AACgB,MAAAA,UAAS,WAAW,IAAI,CAAC,UAAU;AAC/B,YAAI,CAAC,MAAM,MAAM;AACb,gBAAM,IAAI,MAAM,iDAAiD;AAAA,QACzF;AACoB,YAAI,EAAE,MAAM,QAAQ,QAAQ;AACxB,gBAAM,IAAI,MAAM,+BAA+B,MAAM,IAAI,EAAE;AAAA,QACnF;AACoB,eAAO,MAAM,MAAM,IAAI;AAAA,MAC3C,CAAiB;AAAA,IACjB;AACY,QAAIA,QAAO,WAAW,KAAK,WAAW,QAAQ;AAC1C,YAAM,IAAI,MAAM,uBAAuB;AAAA,IACvD;AACY,IAAAA,QAAO,QAAQ,CAACC,QAAO,UAAU;;AAC7B,sCAAW,KAAK,GAAE,oCAAlB,SAA6B,UAAUA,QAAO,SAAS,CAACA,WAAU;AAC9D,QAAAD,QAAO,KAAK,IAAIC;AAAA,MACpC;AAAA,IACA,CAAa;AACD,aAASD,OAAM;AACf;AAAA,EACZ;AACQ,QAAM,SAAS,QAAQ,KAAK,MAAM,KAAK;AACvC,MAAI,OAAO,MAAM;AACb,aAAS,KAAM,iBAAkB;AAAE,eAAS,MAAM,MAAM;AAAA,IAAE,GAAK;AAAA,EAC3E,OACa;AACD,aAAS,MAAM;AAAA,EAC3B;AACA;AA7OO,IAAM,YAAN;AA6VA,MAAM,SAAS;AAAA;AAAA;AAAA;AAAA,EAYlB,YAAY,OAAO,MAAM,QAAQ;AARjC;AAAA;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;AAKI,kBAAc,OAAO,QAAQ,UAAU;AACvC,aAAS,OAAO,OAAO,OAAO,MAAK,CAAE;AACrC,qBAAiB,MAAM,EAAE,MAAM,OAAM,CAAE;AAAA,EAC/C;AAAA;AAAA;AAAA;AAAA;AAAA,EAKI,OAAO,KAAK,KAAK;AACb,QAAI,OAAQ,QAAS,UAAU;AAE3B,UAAI;AACA,iBAAS,KAAK,KAAK,MAAM,GAAG,CAAC;AAAA,MAC7C,SACmB,GAAG;AAAA,MAAA;AAEV,aAAO,SAAS,KAAK,IAAI,GAAG,CAAC;AAAA,IACzC;AACQ,QAAI,eAAe,aAAa;AAE5B,YAAM,OAAO,IAAI,YAAY,OAAO;AACpC,cAAQ,MAAI;AAAA,QACR,KAAK;AAAe,iBAAO,oBAAoB,KAAK,GAAG;AAAA,QACvD,KAAK;AAAS,iBAAO,cAAc,KAAK,GAAG;AAAA,QAC3C,KAAK;AAAS,iBAAO,cAAc,KAAK,GAAG;AAAA,QAC3C,KAAK;AAAA,QACL,KAAK;AACD,iBAAO,iBAAiB,KAAK,GAAG;AAAA,QACpC,KAAK;AAAY,iBAAO,iBAAiB,KAAK,GAAG;AAAA,QACjD,KAAK;AAAU,iBAAO,eAAe,KAAK,GAAG;AAAA,MAC7D;AAAA,IACA,WACiB,OAAQ,QAAS,UAAU;AAEhC,cAAQ,IAAI,MAAI;AAAA,QACZ,KAAK;AAAe,iBAAO,oBAAoB,KAAK,GAAG;AAAA,QACvD,KAAK;AAAS,iBAAO,cAAc,KAAK,GAAG;AAAA,QAC3C,KAAK;AAAS,iBAAO,cAAc,KAAK,GAAG;AAAA,QAC3C,KAAK;AAAA,QACL,KAAK;AACD,iBAAO,iBAAiB,KAAK,GAAG;AAAA,QACpC,KAAK;AAAY,iBAAO,iBAAiB,KAAK,GAAG;AAAA,QACjD,KAAK;AAAU,iBAAO,eAAe,KAAK,GAAG;AAAA,MAC7D;AACY,aAAO,OAAO,qBAAqB,IAAI,IAAI,IAAI,yBAAyB;AAAA,QACpE,WAAW;AAAA,MAC3B,CAAa;AAAA,IACb;AACQ,mBAAe,OAAO,+BAA+B,OAAO,GAAG;AAAA,EACvE;AAAA;AAAA;AAAA;AAAA,EAII,OAAO,cAAc,OAAO;AACxB,WAAO,oBAAoB,WAAW,KAAK;AAAA,EACnD;AAAA;AAAA;AAAA;AAAA,EAII,OAAO,QAAQ,OAAO;AAClB,WAAO,cAAc,WAAW,KAAK;AAAA,EAC7C;AAAA;AAAA;AAAA;AAAA,EAII,OAAO,QAAQ,OAAO;AAClB,WAAO,cAAc,WAAW,KAAK;AAAA,EAC7C;AAAA;AAAA;AAAA;AAAA,EAII,OAAO,WAAW,OAAO;AACrB,WAAO,iBAAiB,WAAW,KAAK;AAAA,EAChD;AAAA;AAAA;AAAA;AAAA,EAII,OAAO,SAAS,OAAO;AACnB,WAAO,eAAe,WAAW,KAAK;AAAA,EAC9C;AACA;AAKO,MAAM,sBAAsB,SAAS;AAAA;AAAA;AAAA;AAAA,EAQxC,YAAY,OAAO,MAAM,MAAM,QAAQ;AACnC,UAAM,OAAO,MAAM,MAAM;AAL7B;AAAA;AAAA;AAAA;AAMI,mBAAe,OAAQ,SAAU,YAAY,KAAK,MAAM,OAAO,GAAG,sBAAsB,QAAQ,IAAI;AACpG,aAAS,OAAO,OAAO,OAAO,MAAK,CAAE;AACrC,qBAAiB,MAAM,EAAE,MAAM;AAAA,EACvC;AACA;AACA,SAAS,WAAW,QAAQ,QAAQ;AAChC,SAAO,MAAM,OAAO,IAAI,CAAC,MAAM,EAAE,OAAO,MAAM,CAAC,EAAE,KAAM,WAAW,SAAU,OAAO,GAAG,IAAI;AAC9F;AAIO,MAAM,sBAAsB,cAAc;AAAA;AAAA;AAAA;AAAA,EAI7C,YAAY,OAAO,MAAM,QAAQ;AAC7B,UAAM,OAAO,SAAS,MAAM,MAAM;AAClC,WAAO,eAAe,MAAM,UAAU,EAAE,OAAO,uBAAuB;AAAA,EAC9E;AAAA;AAAA;AAAA;AAAA,EAII,IAAI,WAAW;AACX,WAAO,GAAG,KAAK,OAAO,SAAS,CAAC,EAAE,UAAU,GAAG,EAAE;AAAA,EACzD;AAAA;AAAA;AAAA;AAAA,EAII,OAAO,QAAQ;AACX,QAAI,UAAU,MAAM;AAChB,eAAS;AAAA,IACrB;AACQ,QAAI,WAAW,QAAQ;AACnB,aAAO,KAAK,UAAU;AAAA,QAClB,MAAM;AAAA,QACN,MAAM,KAAK;AAAA,QACX,QAAQ,KAAK,OAAO,IAAI,CAAC,UAAU,KAAK,MAAM,MAAM,OAAO,MAAM,CAAC,CAAC;AAAA,MACnF,CAAa;AAAA,IACb;AACQ,UAAM,SAAS,CAAE;AACjB,QAAI,WAAW,WAAW;AACtB,aAAO,KAAK,OAAO;AAAA,IAC/B;AACQ,WAAO,KAAK,KAAK,OAAO,WAAW,QAAQ,KAAK,MAAM,CAAC;AACvD,WAAO,OAAO,KAAK,GAAG;AAAA,EAC9B;AAAA;AAAA;AAAA;AAAA,EAII,OAAO,KAAK,KAAK;AACb,QAAI,cAAc,WAAW,GAAG,GAAG;AAC/B,aAAO;AAAA,IACnB;AACQ,QAAI,OAAQ,QAAS,UAAU;AAC3B,aAAO,cAAc,KAAK,IAAI,GAAG,CAAC;AAAA,IAC9C,WACiB,eAAe,aAAa;AACjC,YAAM,OAAO,YAAY,SAAS,GAAG;AACrC,YAAM,SAAS,cAAc,GAAG;AAChC,iBAAW,GAAG;AACd,aAAO,IAAI,cAAc,QAAQ,MAAM,MAAM;AAAA,IACzD;AACQ,WAAO,IAAI,cAAc,QAAQ,IAAI,MAAM,IAAI,SAAS,IAAI,OAAO,IAAI,UAAU,IAAI,IAAI,CAAA,CAAE;AAAA,EACnG;AAAA;AAAA;AAAA;AAAA;AAAA,EAKI,OAAO,WAAW,OAAO;AACrB,WAAQ,SAAS,MAAM,QAAQ,MAAM;AAAA,EAC7C;AACA;AAIO,MAAM,sBAAsB,cAAc;AAAA;AAAA;AAAA;AAAA,EAQ7C,YAAY,OAAO,MAAM,QAAQ,WAAW;AACxC,UAAM,OAAO,SAAS,MAAM,MAAM;AALtC;AAAA;AAAA;AAAA;AAMI,WAAO,eAAe,MAAM,UAAU,EAAE,OAAO,uBAAuB;AACtE,qBAAiB,MAAM,EAAE,WAAW;AAAA,EAC5C;AAAA;AAAA;AAAA;AAAA,EAII,IAAI,YAAY;AACZ,WAAO,GAAG,KAAK,OAAO,SAAS,CAAC;AAAA,EACxC;AAAA;AAAA;AAAA;AAAA,EAII,OAAO,QAAQ;AACX,QAAI,UAAU,MAAM;AAChB,eAAS;AAAA,IACrB;AACQ,QAAI,WAAW,QAAQ;AACnB,aAAO,KAAK,UAAU;AAAA,QAClB,MAAM;AAAA,QACN,WAAW,KAAK;AAAA,QAChB,MAAM,KAAK;AAAA,QACX,QAAQ,KAAK,OAAO,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,OAAO,MAAM,CAAC,CAAC;AAAA,MAC3E,CAAa;AAAA,IACb;AACQ,UAAM,SAAS,CAAE;AACjB,QAAI,WAAW,WAAW;AACtB,aAAO,KAAK,OAAO;AAAA,IAC/B;AACQ,WAAO,KAAK,KAAK,OAAO,WAAW,QAAQ,KAAK,MAAM,CAAC;AACvD,QAAI,WAAW,aAAa,KAAK,WAAW;AACxC,aAAO,KAAK,WAAW;AAAA,IACnC;AACQ,WAAO,OAAO,KAAK,GAAG;AAAA,EAC9B;AAAA;AAAA;AAAA;AAAA,EAII,OAAO,aAAa,MAAM,QAAQ;AAC9B,cAAU,UAAU,CAAA,GAAI,IAAI,CAAC,MAAM,UAAU,KAAK,CAAC,CAAC;AACpD,UAAM,WAAW,IAAI,cAAc,QAAQ,MAAM,QAAQ,KAAK;AAC9D,WAAO,SAAS;AAAA,EACxB;AAAA;AAAA;AAAA;AAAA,EAII,OAAO,KAAK,KAAK;AACb,QAAI,cAAc,WAAW,GAAG,GAAG;AAC/B,aAAO;AAAA,IACnB;AACQ,QAAI,OAAQ,QAAS,UAAU;AAC3B,UAAI;AACA,eAAO,cAAc,KAAK,IAAI,GAAG,CAAC;AAAA,MAClD,SACmB,OAAO;AACV,uBAAe,OAAO,0BAA0B,OAAO,GAAG;AAAA,MAC1E;AAAA,IACA,WACiB,eAAe,aAAa;AACjC,YAAM,OAAO,YAAY,SAAS,GAAG;AACrC,YAAM,SAAS,cAAc,KAAK,IAAI;AACtC,YAAM,YAAY,CAAC,CAAC,gBAAgB,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,WAAW;AAC/E,iBAAW,GAAG;AACd,aAAO,IAAI,cAAc,QAAQ,MAAM,QAAQ,SAAS;AAAA,IACpE;AACQ,WAAO,IAAI,cAAc,QAAQ,IAAI,MAAM,IAAI,SAAS,IAAI,OAAO,IAAI,CAAC,MAAM,UAAU,KAAK,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,SAAS;AAAA,EACpI;AAAA;AAAA;AAAA;AAAA;AAAA,EAKI,OAAO,WAAW,OAAO;AACrB,WAAQ,SAAS,MAAM,QAAQ,MAAM;AAAA,EAC7C;AACA;AAIO,MAAM,4BAA4B,SAAS;AAAA;AAAA;AAAA;AAAA,EAY9C,YAAY,OAAO,MAAM,QAAQ,SAAS,KAAK;AAC3C,UAAM,OAAO,MAAM,MAAM;AAT7B;AAAA;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;AAMI,WAAO,eAAe,MAAM,UAAU,EAAE,OAAO,6BAA6B;AAC5E,qBAAiB,MAAM,EAAE,SAAS,IAAG,CAAE;AAAA,EAC/C;AAAA;AAAA;AAAA;AAAA,EAII,OAAO,QAAQ;AACX,WAAO,UAAU,QAAQ,WAAW,WAAW,2CAA2C,yBAAyB,EAAE,WAAW,mBAAmB;AACnJ,QAAI,WAAW,QAAQ;AACnB,aAAO,KAAK,UAAU;AAAA,QAClB,MAAM;AAAA,QACN,iBAAkB,KAAK,UAAU,YAAY;AAAA,QAC7C,SAAS,KAAK;AAAA,QACd,KAAO,KAAK,OAAO,OAAQ,KAAK,MAAM;AAAA,QACtC,QAAQ,KAAK,OAAO,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,OAAO,MAAM,CAAC,CAAC;AAAA,MAC3E,CAAa;AAAA,IACb;AACQ,UAAM,SAAS,CAAC,cAAc,WAAW,QAAQ,KAAK,MAAM,CAAC,EAAE;AAC/D,QAAI,KAAK,SAAS;AACd,aAAO,KAAK,SAAS;AAAA,IACjC;AACQ,QAAI,KAAK,OAAO,MAAM;AAClB,aAAO,KAAK,IAAI,KAAK,IAAI,SAAU,CAAA,EAAE;AAAA,IACjD;AACQ,WAAO,OAAO,KAAK,GAAG;AAAA,EAC9B;AAAA;AAAA;AAAA;AAAA,EAII,OAAO,KAAK,KAAK;AACb,QAAI,oBAAoB,WAAW,GAAG,GAAG;AACrC,aAAO;AAAA,IACnB;AACQ,QAAI,OAAQ,QAAS,UAAU;AAC3B,UAAI;AACA,eAAO,oBAAoB,KAAK,IAAI,GAAG,CAAC;AAAA,MACxD,SACmB,OAAO;AACV,uBAAe,OAAO,+BAA+B,OAAO,GAAG;AAAA,MAC/E;AAAA,IACA,WACiB,eAAe,aAAa;AACjC,sBAAgB,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;AAC5C,YAAM,SAAS,cAAc,GAAG;AAChC,YAAM,UAAU,CAAC,CAAC,gBAAgB,KAAK,aAAa,EAAE,IAAI,SAAS;AACnE,YAAM,MAAM,WAAW,GAAG;AAC1B,iBAAW,GAAG;AACd,aAAO,IAAI,oBAAoB,QAAQ,eAAe,QAAQ,SAAS,GAAG;AAAA,IACtF;AACQ,WAAO,IAAI,oBAAoB,QAAQ,eAAe,IAAI,SAAS,IAAI,OAAO,IAAI,UAAU,IAAI,IAAI,CAAA,GAAI,CAAC,CAAC,IAAI,SAAU,IAAI,OAAO,OAAQ,IAAI,MAAM,IAAI;AAAA,EACjK;AAAA;AAAA;AAAA;AAAA;AAAA,EAKI,OAAO,WAAW,OAAO;AACrB,WAAQ,SAAS,MAAM,QAAQ,MAAM;AAAA,EAC7C;AACA;AAIO,MAAM,yBAAyB,SAAS;AAAA,EAK3C,YAAY,OAAO,QAAQ,SAAS;AAChC,UAAM,OAAO,YAAY,MAAM;AAFnC;AAAA;AAAA;AAAA;AAGI,WAAO,eAAe,MAAM,UAAU,EAAE,OAAO,0BAA0B;AACzE,qBAAiB,MAAM,EAAE,SAAS;AAAA,EAC1C;AAAA;AAAA;AAAA;AAAA,EAII,OAAO,QAAQ;AACX,UAAM,OAAS,KAAK,OAAO,WAAW,IAAK,YAAY;AACvD,QAAI,WAAW,QAAQ;AACnB,YAAM,kBAAmB,KAAK,UAAU,YAAY;AACpD,aAAO,KAAK,UAAU,EAAE,MAAM,gBAAe,CAAE;AAAA,IAC3D;AACQ,WAAO,GAAG,IAAI,KAAK,KAAK,UAAU,aAAa,EAAE;AAAA,EACzD;AAAA;AAAA;AAAA;AAAA,EAII,OAAO,KAAK,KAAK;AACb,QAAI,iBAAiB,WAAW,GAAG,GAAG;AAClC,aAAO;AAAA,IACnB;AACQ,QAAI,OAAQ,QAAS,UAAU;AAC3B,UAAI;AACA,eAAO,iBAAiB,KAAK,IAAI,GAAG,CAAC;AAAA,MACrD,SACmB,OAAO;AACV,uBAAe,OAAO,6BAA6B,OAAO,GAAG;AAAA,MAC7E;AAAA,IACA,WACiB,eAAe,aAAa;AACjC,YAAM,WAAW,IAAI,SAAU;AAC/B,YAAM,aAAa,IAAI,YAAY,OAAO,CAAC,YAAY,SAAS,CAAC,CAAC;AAClE,qBAAe,YAAY,oCAAoC,OAAO,QAAQ;AAC9E,YAAM,OAAO,IAAI,WAAW,OAAO,CAAC,YAAY,SAAS,CAAC,CAAC;AAE3D,UAAI,SAAS,WAAW;AACpB,cAAMK,UAAS,cAAc,GAAG;AAChC,uBAAeA,QAAO,WAAW,GAAG,iCAAiC,cAAcA,OAAM;AACzF,wBAAgB,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;AACxC,mBAAW,GAAG;AACd,eAAO,IAAI,iBAAiB,QAAQ,CAAA,GAAI,IAAI;AAAA,MAC5D;AAGY,UAAI,SAAS,cAAc,GAAG;AAC9B,UAAI,OAAO,QAAQ;AACf,uBAAe,OAAO,WAAW,KAAK,OAAO,CAAC,EAAE,SAAS,SAAS,2BAA2B,cAAc,OAAO,IAAI,CAAC,MAAM,EAAE,OAAO,SAAS,CAAC,EAAE,KAAK,IAAI,CAAC;AAAA,MAC5K,OACiB;AACD,iBAAS,CAAC,UAAU,KAAK,OAAO,CAAC;AAAA,MACjD;AACY,YAAM,aAAa,kBAAkB,GAAG;AACxC,qBAAe,eAAe,gBAAgB,eAAe,WAAW,gCAAgC,uBAAuB,UAAU;AACzI,UAAI,gBAAgB,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,SAAS,GAAG;AAC1D,cAAM,UAAU,cAAc,GAAG;AACjC,uBAAe,QAAQ,WAAW,KAAK,QAAQ,CAAC,EAAE,SAAS,SAAS,4BAA4B,eAAe,QAAQ,IAAI,CAAC,MAAM,EAAE,OAAO,SAAS,CAAC,EAAE,KAAK,IAAI,CAAC;AAAA,MACjL;AACY,iBAAW,GAAG;AACd,aAAO,IAAI,iBAAiB,QAAQ,QAAQ,eAAe,SAAS;AAAA,IAChF;AACQ,QAAI,IAAI,SAAS,WAAW;AACxB,aAAO,IAAI,iBAAiB,QAAQ,CAAA,GAAI,IAAI;AAAA,IACxD;AACQ,QAAI,IAAI,SAAS,YAAY;AACzB,YAAM,SAAS,CAAC,UAAU,KAAK,OAAO,CAAC;AACvC,YAAM,UAAW,IAAI,oBAAoB;AACzC,aAAO,IAAI,iBAAiB,QAAQ,QAAQ,OAAO;AAAA,IAC/D;AACQ,mBAAe,OAAO,gCAAgC,OAAO,GAAG;AAAA,EACxE;AAAA;AAAA;AAAA;AAAA;AAAA,EAKI,OAAO,WAAW,OAAO;AACrB,WAAQ,SAAS,MAAM,QAAQ,MAAM;AAAA,EAC7C;AACA;AAIO,MAAM,yBAAyB,cAAc;AAAA;AAAA;AAAA;AAAA,EAyBhD,YAAY,OAAO,MAAM,iBAAiB,QAAQ,SAAS,KAAK;AAC5D,UAAM,OAAO,YAAY,MAAM,MAAM;AAtBzC;AAAA;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;AAMI,WAAO,eAAe,MAAM,UAAU,EAAE,OAAO,0BAA0B;AACzE,cAAU,OAAO,OAAO,QAAQ,MAAK,CAAE;AACvC,UAAM,WAAY,oBAAoB,UAAU,oBAAoB;AACpE,UAAM,UAAW,oBAAoB;AACrC,qBAAiB,MAAM,EAAE,UAAU,KAAK,SAAS,SAAS,iBAAiB;AAAA,EACnF;AAAA;AAAA;AAAA;AAAA,EAII,IAAI,WAAW;AACX,WAAO,GAAG,KAAK,OAAO,SAAS,CAAC,EAAE,UAAU,GAAG,EAAE;AAAA,EACzD;AAAA;AAAA;AAAA;AAAA,EAII,OAAO,QAAQ;AACX,QAAI,UAAU,MAAM;AAChB,eAAS;AAAA,IACrB;AACQ,QAAI,WAAW,QAAQ;AACnB,aAAO,KAAK,UAAU;AAAA,QAClB,MAAM;AAAA,QACN,MAAM,KAAK;AAAA,QACX,UAAU,KAAK;AAAA,QACf,iBAAmB,KAAK,oBAAoB,eAAgB,KAAK,kBAAkB;AAAA,QACnF,SAAS,KAAK;AAAA,QACd,KAAO,KAAK,OAAO,OAAQ,KAAK,MAAM;AAAA,QACtC,QAAQ,KAAK,OAAO,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,OAAO,MAAM,CAAC,CAAC;AAAA,QAC3D,SAAS,KAAK,QAAQ,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,OAAO,MAAM,CAAC,CAAC;AAAA,MAC7E,CAAa;AAAA,IACb;AACQ,UAAM,SAAS,CAAE;AACjB,QAAI,WAAW,WAAW;AACtB,aAAO,KAAK,UAAU;AAAA,IAClC;AACQ,WAAO,KAAK,KAAK,OAAO,WAAW,QAAQ,KAAK,MAAM,CAAC;AACvD,QAAI,WAAW,WAAW;AACtB,UAAI,KAAK,oBAAoB,cAAc;AACvC,eAAO,KAAK,KAAK,eAAe;AAAA,MAChD;AACY,UAAI,KAAK,WAAW,KAAK,QAAQ,QAAQ;AACrC,eAAO,KAAK,SAAS;AACrB,eAAO,KAAK,WAAW,QAAQ,KAAK,OAAO,CAAC;AAAA,MAC5D;AACY,UAAI,KAAK,OAAO,MAAM;AAClB,eAAO,KAAK,IAAI,KAAK,IAAI,SAAU,CAAA,EAAE;AAAA,MACrD;AAAA,IACA;AACQ,WAAO,OAAO,KAAK,GAAG;AAAA,EAC9B;AAAA;AAAA;AAAA;AAAA,EAII,OAAO,YAAY,MAAM,QAAQ;AAC7B,cAAU,UAAU,CAAA,GAAI,IAAI,CAAC,MAAM,UAAU,KAAK,CAAC,CAAC;AACpD,UAAM,WAAW,IAAI,iBAAiB,QAAQ,MAAM,QAAQ,QAAQ,CAAE,GAAE,IAAI;AAC5E,WAAO,SAAS;AAAA,EACxB;AAAA;AAAA;AAAA;AAAA,EAII,OAAO,KAAK,KAAK;AACb,QAAI,iBAAiB,WAAW,GAAG,GAAG;AAClC,aAAO;AAAA,IACnB;AACQ,QAAI,OAAQ,QAAS,UAAU;AAC3B,UAAI;AACA,eAAO,iBAAiB,KAAK,IAAI,GAAG,CAAC;AAAA,MACrD,SACmB,OAAO;AACV,uBAAe,OAAO,6BAA6B,OAAO,GAAG;AAAA,MAC7E;AAAA,IACA,WACiB,eAAe,aAAa;AACjC,YAAM,OAAO,YAAY,YAAY,GAAG;AACxC,YAAM,SAAS,cAAc,GAAG;AAChC,YAAM,aAAa,kBAAkB,GAAG;AACxC,UAAI,UAAU,CAAE;AAChB,UAAI,gBAAgB,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,SAAS,GAAG;AAC1D,kBAAU,cAAc,GAAG;AAAA,MAC3C;AACY,YAAM,MAAM,WAAW,GAAG;AAC1B,iBAAW,GAAG;AACd,aAAO,IAAI,iBAAiB,QAAQ,MAAM,YAAY,QAAQ,SAAS,GAAG;AAAA,IACtF;AACQ,QAAI,kBAAkB,IAAI;AAE1B,QAAI,mBAAmB,MAAM;AACzB,wBAAkB;AAClB,UAAI,OAAQ,IAAI,aAAc,WAAW;AACrC,0BAAkB;AAClB,YAAI,CAAC,IAAI,UAAU;AACf,4BAAkB;AAClB,cAAI,OAAQ,IAAI,YAAa,aAAa,CAAC,IAAI,SAAS;AACpD,8BAAkB;AAAA,UAC1C;AAAA,QACA;AAAA,MACA,WACqB,OAAQ,IAAI,YAAa,aAAa,CAAC,IAAI,SAAS;AACzD,0BAAkB;AAAA,MAClC;AAAA,IACA;AAGQ,WAAO,IAAI,iBAAiB,QAAQ,IAAI,MAAM,iBAAiB,IAAI,SAAS,IAAI,OAAO,IAAI,UAAU,IAAI,IAAI,CAAE,GAAE,IAAI,UAAU,IAAI,QAAQ,IAAI,UAAU,IAAI,IAAI,CAAE,GAAG,IAAI,OAAO,OAAQ,IAAI,MAAM,IAAI;AAAA,EAC/M;AAAA;AAAA;AAAA;AAAA;AAAA,EAKI,OAAO,WAAW,OAAO;AACrB,WAAQ,SAAS,MAAM,QAAQ,MAAM;AAAA,EAC7C;AACA;AAIO,MAAM,uBAAuB,cAAc;AAAA;AAAA;AAAA;AAAA,EAI9C,YAAY,OAAO,MAAM,QAAQ;AAC7B,UAAM,OAAO,UAAU,MAAM,MAAM;AACnC,WAAO,eAAe,MAAM,UAAU,EAAE,OAAO,wBAAwB;AAAA,EAC/E;AAAA;AAAA;AAAA;AAAA,EAII,SAAS;AACL,UAAM,IAAI,MAAM,OAAO;AAAA,EAC/B;AAAA;AAAA;AAAA;AAAA,EAII,OAAO,KAAK,KAAK;AACb,QAAI,OAAQ,QAAS,UAAU;AAC3B,UAAI;AACA,eAAO,eAAe,KAAK,IAAI,GAAG,CAAC;AAAA,MACnD,SACmB,OAAO;AACV,uBAAe,OAAO,2BAA2B,OAAO,GAAG;AAAA,MAC3E;AAAA,IACA,WACiB,eAAe,aAAa;AACjC,YAAM,OAAO,YAAY,UAAU,GAAG;AACtC,YAAM,SAAS,cAAc,GAAG;AAChC,iBAAW,GAAG;AACd,aAAO,IAAI,eAAe,QAAQ,MAAM,MAAM;AAAA,IAC1D;AACQ,WAAO,IAAI,eAAe,QAAQ,IAAI,MAAM,IAAI,SAAS,IAAI,OAAO,IAAI,UAAU,IAAI,IAAI,CAAA,CAAE;AAAA,EACpG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMI,OAAO,WAAW,OAAO;AACrB,WAAQ,SAAS,MAAM,QAAQ,MAAM;AAAA,EAC7C;AACA;","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"standards-sdk.es57.js","sources":["../../node_modules/ethers/lib.esm/abi/typed.js"],"sourcesContent":["/**\n * A Typed object allows a value to have its type explicitly\n * specified.\n *\n * For example, in Solidity, the value ``45`` could represent a\n * ``uint8`` or a ``uint256``. The value ``0x1234`` could represent\n * a ``bytes2`` or ``bytes``.\n *\n * Since JavaScript has no meaningful way to explicitly inform any\n * APIs which what the type is, this allows transparent interoperation\n * with Soldity.\n *\n * @_subsection: api/abi:Typed Values\n */\nimport { assertPrivate, defineProperties } from \"../utils/index.js\";\nconst _gaurd = {};\nfunction n(value, width) {\n let signed = false;\n if (width < 0) {\n signed = true;\n width *= -1;\n }\n // @TODO: Check range is valid for value\n return new Typed(_gaurd, `${signed ? \"\" : \"u\"}int${width}`, value, { signed, width });\n}\nfunction b(value, size) {\n // @TODO: Check range is valid for value\n return new Typed(_gaurd, `bytes${(size) ? size : \"\"}`, value, { size });\n}\nconst _typedSymbol = Symbol.for(\"_ethers_typed\");\n/**\n * The **Typed** class to wrap values providing explicit type information.\n */\nexport class Typed {\n /**\n * The type, as a Solidity-compatible type.\n */\n type;\n /**\n * The actual value.\n */\n value;\n #options;\n /**\n * @_ignore:\n */\n _typedSymbol;\n /**\n * @_ignore:\n */\n constructor(gaurd, type, value, options) {\n if (options == null) {\n options = null;\n }\n assertPrivate(_gaurd, gaurd, \"Typed\");\n defineProperties(this, { _typedSymbol, type, value });\n this.#options = options;\n // Check the value is valid\n this.format();\n }\n /**\n * Format the type as a Human-Readable type.\n */\n format() {\n if (this.type === \"array\") {\n throw new Error(\"\");\n }\n else if (this.type === \"dynamicArray\") {\n throw new Error(\"\");\n }\n else if (this.type === \"tuple\") {\n return `tuple(${this.value.map((v) => v.format()).join(\",\")})`;\n }\n return this.type;\n }\n /**\n * The default value returned by this type.\n */\n defaultValue() {\n return 0;\n }\n /**\n * The minimum value for numeric types.\n */\n minValue() {\n return 0;\n }\n /**\n * The maximum value for numeric types.\n */\n maxValue() {\n return 0;\n }\n /**\n * Returns ``true`` and provides a type guard is this is a [[TypedBigInt]].\n */\n isBigInt() {\n return !!(this.type.match(/^u?int[0-9]+$/));\n }\n /**\n * Returns ``true`` and provides a type guard is this is a [[TypedData]].\n */\n isData() {\n return this.type.startsWith(\"bytes\");\n }\n /**\n * Returns ``true`` and provides a type guard is this is a [[TypedString]].\n */\n isString() {\n return (this.type === \"string\");\n }\n /**\n * Returns the tuple name, if this is a tuple. Throws otherwise.\n */\n get tupleName() {\n if (this.type !== \"tuple\") {\n throw TypeError(\"not a tuple\");\n }\n return this.#options;\n }\n // Returns the length of this type as an array\n // - `null` indicates the length is unforced, it could be dynamic\n // - `-1` indicates the length is dynamic\n // - any other value indicates it is a static array and is its length\n /**\n * Returns the length of the array type or ``-1`` if it is dynamic.\n *\n * Throws if the type is not an array.\n */\n get arrayLength() {\n if (this.type !== \"array\") {\n throw TypeError(\"not an array\");\n }\n if (this.#options === true) {\n return -1;\n }\n if (this.#options === false) {\n return (this.value).length;\n }\n return null;\n }\n /**\n * Returns a new **Typed** of %%type%% with the %%value%%.\n */\n static from(type, value) {\n return new Typed(_gaurd, type, value);\n }\n /**\n * Return a new ``uint8`` type for %%v%%.\n */\n static uint8(v) { return n(v, 8); }\n /**\n * Return a new ``uint16`` type for %%v%%.\n */\n static uint16(v) { return n(v, 16); }\n /**\n * Return a new ``uint24`` type for %%v%%.\n */\n static uint24(v) { return n(v, 24); }\n /**\n * Return a new ``uint32`` type for %%v%%.\n */\n static uint32(v) { return n(v, 32); }\n /**\n * Return a new ``uint40`` type for %%v%%.\n */\n static uint40(v) { return n(v, 40); }\n /**\n * Return a new ``uint48`` type for %%v%%.\n */\n static uint48(v) { return n(v, 48); }\n /**\n * Return a new ``uint56`` type for %%v%%.\n */\n static uint56(v) { return n(v, 56); }\n /**\n * Return a new ``uint64`` type for %%v%%.\n */\n static uint64(v) { return n(v, 64); }\n /**\n * Return a new ``uint72`` type for %%v%%.\n */\n static uint72(v) { return n(v, 72); }\n /**\n * Return a new ``uint80`` type for %%v%%.\n */\n static uint80(v) { return n(v, 80); }\n /**\n * Return a new ``uint88`` type for %%v%%.\n */\n static uint88(v) { return n(v, 88); }\n /**\n * Return a new ``uint96`` type for %%v%%.\n */\n static uint96(v) { return n(v, 96); }\n /**\n * Return a new ``uint104`` type for %%v%%.\n */\n static uint104(v) { return n(v, 104); }\n /**\n * Return a new ``uint112`` type for %%v%%.\n */\n static uint112(v) { return n(v, 112); }\n /**\n * Return a new ``uint120`` type for %%v%%.\n */\n static uint120(v) { return n(v, 120); }\n /**\n * Return a new ``uint128`` type for %%v%%.\n */\n static uint128(v) { return n(v, 128); }\n /**\n * Return a new ``uint136`` type for %%v%%.\n */\n static uint136(v) { return n(v, 136); }\n /**\n * Return a new ``uint144`` type for %%v%%.\n */\n static uint144(v) { return n(v, 144); }\n /**\n * Return a new ``uint152`` type for %%v%%.\n */\n static uint152(v) { return n(v, 152); }\n /**\n * Return a new ``uint160`` type for %%v%%.\n */\n static uint160(v) { return n(v, 160); }\n /**\n * Return a new ``uint168`` type for %%v%%.\n */\n static uint168(v) { return n(v, 168); }\n /**\n * Return a new ``uint176`` type for %%v%%.\n */\n static uint176(v) { return n(v, 176); }\n /**\n * Return a new ``uint184`` type for %%v%%.\n */\n static uint184(v) { return n(v, 184); }\n /**\n * Return a new ``uint192`` type for %%v%%.\n */\n static uint192(v) { return n(v, 192); }\n /**\n * Return a new ``uint200`` type for %%v%%.\n */\n static uint200(v) { return n(v, 200); }\n /**\n * Return a new ``uint208`` type for %%v%%.\n */\n static uint208(v) { return n(v, 208); }\n /**\n * Return a new ``uint216`` type for %%v%%.\n */\n static uint216(v) { return n(v, 216); }\n /**\n * Return a new ``uint224`` type for %%v%%.\n */\n static uint224(v) { return n(v, 224); }\n /**\n * Return a new ``uint232`` type for %%v%%.\n */\n static uint232(v) { return n(v, 232); }\n /**\n * Return a new ``uint240`` type for %%v%%.\n */\n static uint240(v) { return n(v, 240); }\n /**\n * Return a new ``uint248`` type for %%v%%.\n */\n static uint248(v) { return n(v, 248); }\n /**\n * Return a new ``uint256`` type for %%v%%.\n */\n static uint256(v) { return n(v, 256); }\n /**\n * Return a new ``uint256`` type for %%v%%.\n */\n static uint(v) { return n(v, 256); }\n /**\n * Return a new ``int8`` type for %%v%%.\n */\n static int8(v) { return n(v, -8); }\n /**\n * Return a new ``int16`` type for %%v%%.\n */\n static int16(v) { return n(v, -16); }\n /**\n * Return a new ``int24`` type for %%v%%.\n */\n static int24(v) { return n(v, -24); }\n /**\n * Return a new ``int32`` type for %%v%%.\n */\n static int32(v) { return n(v, -32); }\n /**\n * Return a new ``int40`` type for %%v%%.\n */\n static int40(v) { return n(v, -40); }\n /**\n * Return a new ``int48`` type for %%v%%.\n */\n static int48(v) { return n(v, -48); }\n /**\n * Return a new ``int56`` type for %%v%%.\n */\n static int56(v) { return n(v, -56); }\n /**\n * Return a new ``int64`` type for %%v%%.\n */\n static int64(v) { return n(v, -64); }\n /**\n * Return a new ``int72`` type for %%v%%.\n */\n static int72(v) { return n(v, -72); }\n /**\n * Return a new ``int80`` type for %%v%%.\n */\n static int80(v) { return n(v, -80); }\n /**\n * Return a new ``int88`` type for %%v%%.\n */\n static int88(v) { return n(v, -88); }\n /**\n * Return a new ``int96`` type for %%v%%.\n */\n static int96(v) { return n(v, -96); }\n /**\n * Return a new ``int104`` type for %%v%%.\n */\n static int104(v) { return n(v, -104); }\n /**\n * Return a new ``int112`` type for %%v%%.\n */\n static int112(v) { return n(v, -112); }\n /**\n * Return a new ``int120`` type for %%v%%.\n */\n static int120(v) { return n(v, -120); }\n /**\n * Return a new ``int128`` type for %%v%%.\n */\n static int128(v) { return n(v, -128); }\n /**\n * Return a new ``int136`` type for %%v%%.\n */\n static int136(v) { return n(v, -136); }\n /**\n * Return a new ``int144`` type for %%v%%.\n */\n static int144(v) { return n(v, -144); }\n /**\n * Return a new ``int52`` type for %%v%%.\n */\n static int152(v) { return n(v, -152); }\n /**\n * Return a new ``int160`` type for %%v%%.\n */\n static int160(v) { return n(v, -160); }\n /**\n * Return a new ``int168`` type for %%v%%.\n */\n static int168(v) { return n(v, -168); }\n /**\n * Return a new ``int176`` type for %%v%%.\n */\n static int176(v) { return n(v, -176); }\n /**\n * Return a new ``int184`` type for %%v%%.\n */\n static int184(v) { return n(v, -184); }\n /**\n * Return a new ``int92`` type for %%v%%.\n */\n static int192(v) { return n(v, -192); }\n /**\n * Return a new ``int200`` type for %%v%%.\n */\n static int200(v) { return n(v, -200); }\n /**\n * Return a new ``int208`` type for %%v%%.\n */\n static int208(v) { return n(v, -208); }\n /**\n * Return a new ``int216`` type for %%v%%.\n */\n static int216(v) { return n(v, -216); }\n /**\n * Return a new ``int224`` type for %%v%%.\n */\n static int224(v) { return n(v, -224); }\n /**\n * Return a new ``int232`` type for %%v%%.\n */\n static int232(v) { return n(v, -232); }\n /**\n * Return a new ``int240`` type for %%v%%.\n */\n static int240(v) { return n(v, -240); }\n /**\n * Return a new ``int248`` type for %%v%%.\n */\n static int248(v) { return n(v, -248); }\n /**\n * Return a new ``int256`` type for %%v%%.\n */\n static int256(v) { return n(v, -256); }\n /**\n * Return a new ``int256`` type for %%v%%.\n */\n static int(v) { return n(v, -256); }\n /**\n * Return a new ``bytes1`` type for %%v%%.\n */\n static bytes1(v) { return b(v, 1); }\n /**\n * Return a new ``bytes2`` type for %%v%%.\n */\n static bytes2(v) { return b(v, 2); }\n /**\n * Return a new ``bytes3`` type for %%v%%.\n */\n static bytes3(v) { return b(v, 3); }\n /**\n * Return a new ``bytes4`` type for %%v%%.\n */\n static bytes4(v) { return b(v, 4); }\n /**\n * Return a new ``bytes5`` type for %%v%%.\n */\n static bytes5(v) { return b(v, 5); }\n /**\n * Return a new ``bytes6`` type for %%v%%.\n */\n static bytes6(v) { return b(v, 6); }\n /**\n * Return a new ``bytes7`` type for %%v%%.\n */\n static bytes7(v) { return b(v, 7); }\n /**\n * Return a new ``bytes8`` type for %%v%%.\n */\n static bytes8(v) { return b(v, 8); }\n /**\n * Return a new ``bytes9`` type for %%v%%.\n */\n static bytes9(v) { return b(v, 9); }\n /**\n * Return a new ``bytes10`` type for %%v%%.\n */\n static bytes10(v) { return b(v, 10); }\n /**\n * Return a new ``bytes11`` type for %%v%%.\n */\n static bytes11(v) { return b(v, 11); }\n /**\n * Return a new ``bytes12`` type for %%v%%.\n */\n static bytes12(v) { return b(v, 12); }\n /**\n * Return a new ``bytes13`` type for %%v%%.\n */\n static bytes13(v) { return b(v, 13); }\n /**\n * Return a new ``bytes14`` type for %%v%%.\n */\n static bytes14(v) { return b(v, 14); }\n /**\n * Return a new ``bytes15`` type for %%v%%.\n */\n static bytes15(v) { return b(v, 15); }\n /**\n * Return a new ``bytes16`` type for %%v%%.\n */\n static bytes16(v) { return b(v, 16); }\n /**\n * Return a new ``bytes17`` type for %%v%%.\n */\n static bytes17(v) { return b(v, 17); }\n /**\n * Return a new ``bytes18`` type for %%v%%.\n */\n static bytes18(v) { return b(v, 18); }\n /**\n * Return a new ``bytes19`` type for %%v%%.\n */\n static bytes19(v) { return b(v, 19); }\n /**\n * Return a new ``bytes20`` type for %%v%%.\n */\n static bytes20(v) { return b(v, 20); }\n /**\n * Return a new ``bytes21`` type for %%v%%.\n */\n static bytes21(v) { return b(v, 21); }\n /**\n * Return a new ``bytes22`` type for %%v%%.\n */\n static bytes22(v) { return b(v, 22); }\n /**\n * Return a new ``bytes23`` type for %%v%%.\n */\n static bytes23(v) { return b(v, 23); }\n /**\n * Return a new ``bytes24`` type for %%v%%.\n */\n static bytes24(v) { return b(v, 24); }\n /**\n * Return a new ``bytes25`` type for %%v%%.\n */\n static bytes25(v) { return b(v, 25); }\n /**\n * Return a new ``bytes26`` type for %%v%%.\n */\n static bytes26(v) { return b(v, 26); }\n /**\n * Return a new ``bytes27`` type for %%v%%.\n */\n static bytes27(v) { return b(v, 27); }\n /**\n * Return a new ``bytes28`` type for %%v%%.\n */\n static bytes28(v) { return b(v, 28); }\n /**\n * Return a new ``bytes29`` type for %%v%%.\n */\n static bytes29(v) { return b(v, 29); }\n /**\n * Return a new ``bytes30`` type for %%v%%.\n */\n static bytes30(v) { return b(v, 30); }\n /**\n * Return a new ``bytes31`` type for %%v%%.\n */\n static bytes31(v) { return b(v, 31); }\n /**\n * Return a new ``bytes32`` type for %%v%%.\n */\n static bytes32(v) { return b(v, 32); }\n /**\n * Return a new ``address`` type for %%v%%.\n */\n static address(v) { return new Typed(_gaurd, \"address\", v); }\n /**\n * Return a new ``bool`` type for %%v%%.\n */\n static bool(v) { return new Typed(_gaurd, \"bool\", !!v); }\n /**\n * Return a new ``bytes`` type for %%v%%.\n */\n static bytes(v) { return new Typed(_gaurd, \"bytes\", v); }\n /**\n * Return a new ``string`` type for %%v%%.\n */\n static string(v) { return new Typed(_gaurd, \"string\", v); }\n /**\n * Return a new ``array`` type for %%v%%, allowing %%dynamic%% length.\n */\n static array(v, dynamic) {\n throw new Error(\"not implemented yet\");\n return new Typed(_gaurd, \"array\", v, dynamic);\n }\n /**\n * Return a new ``tuple`` type for %%v%%, with the optional %%name%%.\n */\n static tuple(v, name) {\n throw new Error(\"not implemented yet\");\n return new Typed(_gaurd, \"tuple\", v, name);\n }\n /**\n * Return a new ``uint8`` type for %%v%%.\n */\n static overrides(v) {\n return new Typed(_gaurd, \"overrides\", Object.assign({}, v));\n }\n /**\n * Returns true only if %%value%% is a [[Typed]] instance.\n */\n static isTyped(value) {\n return (value\n && typeof (value) === \"object\"\n && \"_typedSymbol\" in value\n && value._typedSymbol === _typedSymbol);\n }\n /**\n * If the value is a [[Typed]] instance, validates the underlying value\n * and returns it, otherwise returns value directly.\n *\n * This is useful for functions that with to accept either a [[Typed]]\n * object or values.\n */\n static dereference(value, type) {\n if (Typed.isTyped(value)) {\n if (value.type !== type) {\n throw new Error(`invalid type: expecetd ${type}, got ${value.type}`);\n }\n return value.value;\n }\n return value;\n }\n}\n//# sourceMappingURL=typed.js.map"],"names":[],"mappings":"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AAG;AAAE,WAAO,EAAE,GAAG,EAAE;AAAA,EAAE;AAAA;AAAA;AAAA;AAAA,EAInC,OAAO,OAAO,GAAG;AAAE,WAAO,EAAE,GAAG,EAAE;AAAA,EAAE;AAAA;AAAA;AAAA;AAAA,EAInC,OAAO,OAAO,GAAG;AAAE,WAAO,EAAE,GAAG,EAAE;AAAA,EAAE;AAAA;AAAA;AAAA;AAAA,EAInC,OAAO,OAAO,GAAG;AAAE,WAAO,EAAE,GAAG,EAAE;AAAA,EAAE;AAAA;AAAA;AAAA;AAAA,EAInC,OAAO,QAAQ,GAAG;AAAE,WAAO,EAAE,GAAG,GAAG;AAAA,EAAE;AAAA;AAAA;AAAA;AAAA,EAIrC,OAAO,QAAQ,GAAG;AAAE,WAAO,EAAE,GAAG,GAAG;AAAA,EAAE;AAAA;AAAA;AAAA;AAAA,EAIrC,OAAO,QAAQ,GAAG;AAAE,WAAO,EAAE,GAAG,GAAG;AAAA,EAAE;AAAA;AAAA;AAAA;AAAA,EAIrC,OAAO,QAAQ,GAAG;AAAE,WAAO,EAAE,GAAG,GAAG;AAAA,EAAE;AAAA;AAAA;AAAA;AAAA,EAIrC,OAAO,QAAQ,GAAG;AAAE,WAAO,EAAE,GAAG,GAAG;AAAA,EAAE;AAAA;AAAA;AAAA;AAAA,EAIrC,OAAO,QAAQ,GAAG;AAAE,WAAO,EAAE,GAAG,GAAG;AAAA,EAAE;AAAA;AAAA;AAAA;AAAA,EAIrC,OAAO,QAAQ,GAAG;AAAE,WAAO,EAAE,GAAG,GAAG;AAAA,EAAE;AAAA;AAAA;AAAA;AAAA,EAIrC,OAAO,QAAQ,GAAG;AAAE,WAAO,EAAE,GAAG,GAAG;AAAA,EAAE;AAAA;AAAA;AAAA;AAAA,EAIrC,OAAO,QAAQ,GAAG;AAAE,WAAO,EAAE,GAAG,GAAG;AAAA,EAAE;AAAA;AAAA;AAAA;AAAA,EAIrC,OAAO,QAAQ,GAAG;AAAE,WAAO,EAAE,GAAG,GAAG;AAAA,EAAE;AAAA;AAAA;AAAA;AAAA,EAIrC,OAAO,QAAQ,GAAG;AAAE,WAAO,EAAE,GAAG,GAAG;AAAA,EAAE;AAAA;AAAA;AAAA;AAAA,EAIrC,OAAO,QAAQ,GAAG;AAAE,WAAO,EAAE,GAAG,GAAG;AAAA,EAAE;AAAA;AAAA;AAAA;AAAA,E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","x_google_ignoreList":[0]}
|
|
@@ -1,35 +1,367 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
1
|
+
import global from "./standards-sdk.es85.js";
|
|
2
|
+
import process$1 from "./standards-sdk.es84.js";
|
|
3
|
+
import bind from "./standards-sdk.es59.js";
|
|
4
|
+
const { toString } = Object.prototype;
|
|
5
|
+
const { getPrototypeOf } = Object;
|
|
6
|
+
const kindOf = /* @__PURE__ */ ((cache) => (thing) => {
|
|
7
|
+
const str = toString.call(thing);
|
|
8
|
+
return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());
|
|
9
|
+
})(/* @__PURE__ */ Object.create(null));
|
|
10
|
+
const kindOfTest = (type) => {
|
|
11
|
+
type = type.toLowerCase();
|
|
12
|
+
return (thing) => kindOf(thing) === type;
|
|
13
|
+
};
|
|
14
|
+
const typeOfTest = (type) => (thing) => typeof thing === type;
|
|
15
|
+
const { isArray } = Array;
|
|
16
|
+
const isUndefined = typeOfTest("undefined");
|
|
17
|
+
function isBuffer(val) {
|
|
18
|
+
return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);
|
|
19
|
+
}
|
|
20
|
+
const isArrayBuffer = kindOfTest("ArrayBuffer");
|
|
21
|
+
function isArrayBufferView(val) {
|
|
22
|
+
let result;
|
|
23
|
+
if (typeof ArrayBuffer !== "undefined" && ArrayBuffer.isView) {
|
|
24
|
+
result = ArrayBuffer.isView(val);
|
|
25
|
+
} else {
|
|
26
|
+
result = val && val.buffer && isArrayBuffer(val.buffer);
|
|
27
|
+
}
|
|
28
|
+
return result;
|
|
29
|
+
}
|
|
30
|
+
const isString = typeOfTest("string");
|
|
31
|
+
const isFunction = typeOfTest("function");
|
|
32
|
+
const isNumber = typeOfTest("number");
|
|
33
|
+
const isObject = (thing) => thing !== null && typeof thing === "object";
|
|
34
|
+
const isBoolean = (thing) => thing === true || thing === false;
|
|
35
|
+
const isPlainObject = (val) => {
|
|
36
|
+
if (kindOf(val) !== "object") {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
const prototype = getPrototypeOf(val);
|
|
40
|
+
return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);
|
|
41
|
+
};
|
|
42
|
+
const isDate = kindOfTest("Date");
|
|
43
|
+
const isFile = kindOfTest("File");
|
|
44
|
+
const isBlob = kindOfTest("Blob");
|
|
45
|
+
const isFileList = kindOfTest("FileList");
|
|
46
|
+
const isStream = (val) => isObject(val) && isFunction(val.pipe);
|
|
47
|
+
const isFormData = (thing) => {
|
|
48
|
+
let kind;
|
|
49
|
+
return thing && (typeof FormData === "function" && thing instanceof FormData || isFunction(thing.append) && ((kind = kindOf(thing)) === "formdata" || // detect form-data instance
|
|
50
|
+
kind === "object" && isFunction(thing.toString) && thing.toString() === "[object FormData]"));
|
|
51
|
+
};
|
|
52
|
+
const isURLSearchParams = kindOfTest("URLSearchParams");
|
|
53
|
+
const [isReadableStream, isRequest, isResponse, isHeaders] = ["ReadableStream", "Request", "Response", "Headers"].map(kindOfTest);
|
|
54
|
+
const trim = (str) => str.trim ? str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "");
|
|
55
|
+
function forEach(obj, fn, { allOwnKeys = false } = {}) {
|
|
56
|
+
if (obj === null || typeof obj === "undefined") {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
let i;
|
|
60
|
+
let l;
|
|
61
|
+
if (typeof obj !== "object") {
|
|
62
|
+
obj = [obj];
|
|
63
|
+
}
|
|
64
|
+
if (isArray(obj)) {
|
|
65
|
+
for (i = 0, l = obj.length; i < l; i++) {
|
|
66
|
+
fn.call(null, obj[i], i, obj);
|
|
67
|
+
}
|
|
68
|
+
} else {
|
|
69
|
+
const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);
|
|
70
|
+
const len = keys.length;
|
|
71
|
+
let key;
|
|
72
|
+
for (i = 0; i < len; i++) {
|
|
73
|
+
key = keys[i];
|
|
74
|
+
fn.call(null, obj[key], key, obj);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
function findKey(obj, key) {
|
|
79
|
+
key = key.toLowerCase();
|
|
80
|
+
const keys = Object.keys(obj);
|
|
81
|
+
let i = keys.length;
|
|
82
|
+
let _key;
|
|
83
|
+
while (i-- > 0) {
|
|
84
|
+
_key = keys[i];
|
|
85
|
+
if (key === _key.toLowerCase()) {
|
|
86
|
+
return _key;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
91
|
+
const _global = (() => {
|
|
92
|
+
if (typeof globalThis !== "undefined") return globalThis;
|
|
93
|
+
return typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : global;
|
|
94
|
+
})();
|
|
95
|
+
const isContextDefined = (context) => !isUndefined(context) && context !== _global;
|
|
96
|
+
function merge() {
|
|
97
|
+
const { caseless } = isContextDefined(this) && this || {};
|
|
98
|
+
const result = {};
|
|
99
|
+
const assignValue = (val, key) => {
|
|
100
|
+
const targetKey = caseless && findKey(result, key) || key;
|
|
101
|
+
if (isPlainObject(result[targetKey]) && isPlainObject(val)) {
|
|
102
|
+
result[targetKey] = merge(result[targetKey], val);
|
|
103
|
+
} else if (isPlainObject(val)) {
|
|
104
|
+
result[targetKey] = merge({}, val);
|
|
105
|
+
} else if (isArray(val)) {
|
|
106
|
+
result[targetKey] = val.slice();
|
|
107
|
+
} else {
|
|
108
|
+
result[targetKey] = val;
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
for (let i = 0, l = arguments.length; i < l; i++) {
|
|
112
|
+
arguments[i] && forEach(arguments[i], assignValue);
|
|
113
|
+
}
|
|
114
|
+
return result;
|
|
21
115
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
116
|
+
const extend = (a, b, thisArg, { allOwnKeys } = {}) => {
|
|
117
|
+
forEach(b, (val, key) => {
|
|
118
|
+
if (thisArg && isFunction(val)) {
|
|
119
|
+
a[key] = bind(val, thisArg);
|
|
120
|
+
} else {
|
|
121
|
+
a[key] = val;
|
|
122
|
+
}
|
|
123
|
+
}, { allOwnKeys });
|
|
124
|
+
return a;
|
|
125
|
+
};
|
|
126
|
+
const stripBOM = (content) => {
|
|
127
|
+
if (content.charCodeAt(0) === 65279) {
|
|
128
|
+
content = content.slice(1);
|
|
129
|
+
}
|
|
130
|
+
return content;
|
|
131
|
+
};
|
|
132
|
+
const inherits = (constructor, superConstructor, props, descriptors) => {
|
|
133
|
+
constructor.prototype = Object.create(superConstructor.prototype, descriptors);
|
|
134
|
+
constructor.prototype.constructor = constructor;
|
|
135
|
+
Object.defineProperty(constructor, "super", {
|
|
136
|
+
value: superConstructor.prototype
|
|
137
|
+
});
|
|
138
|
+
props && Object.assign(constructor.prototype, props);
|
|
139
|
+
};
|
|
140
|
+
const toFlatObject = (sourceObj, destObj, filter, propFilter) => {
|
|
141
|
+
let props;
|
|
142
|
+
let i;
|
|
143
|
+
let prop;
|
|
144
|
+
const merged = {};
|
|
145
|
+
destObj = destObj || {};
|
|
146
|
+
if (sourceObj == null) return destObj;
|
|
147
|
+
do {
|
|
148
|
+
props = Object.getOwnPropertyNames(sourceObj);
|
|
149
|
+
i = props.length;
|
|
150
|
+
while (i-- > 0) {
|
|
151
|
+
prop = props[i];
|
|
152
|
+
if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {
|
|
153
|
+
destObj[prop] = sourceObj[prop];
|
|
154
|
+
merged[prop] = true;
|
|
155
|
+
}
|
|
28
156
|
}
|
|
29
|
-
|
|
157
|
+
sourceObj = filter !== false && getPrototypeOf(sourceObj);
|
|
158
|
+
} while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);
|
|
159
|
+
return destObj;
|
|
160
|
+
};
|
|
161
|
+
const endsWith = (str, searchString, position) => {
|
|
162
|
+
str = String(str);
|
|
163
|
+
if (position === void 0 || position > str.length) {
|
|
164
|
+
position = str.length;
|
|
165
|
+
}
|
|
166
|
+
position -= searchString.length;
|
|
167
|
+
const lastIndex = str.indexOf(searchString, position);
|
|
168
|
+
return lastIndex !== -1 && lastIndex === position;
|
|
169
|
+
};
|
|
170
|
+
const toArray = (thing) => {
|
|
171
|
+
if (!thing) return null;
|
|
172
|
+
if (isArray(thing)) return thing;
|
|
173
|
+
let i = thing.length;
|
|
174
|
+
if (!isNumber(i)) return null;
|
|
175
|
+
const arr = new Array(i);
|
|
176
|
+
while (i-- > 0) {
|
|
177
|
+
arr[i] = thing[i];
|
|
178
|
+
}
|
|
179
|
+
return arr;
|
|
180
|
+
};
|
|
181
|
+
const isTypedArray = /* @__PURE__ */ ((TypedArray) => {
|
|
182
|
+
return (thing) => {
|
|
183
|
+
return TypedArray && thing instanceof TypedArray;
|
|
184
|
+
};
|
|
185
|
+
})(typeof Uint8Array !== "undefined" && getPrototypeOf(Uint8Array));
|
|
186
|
+
const forEachEntry = (obj, fn) => {
|
|
187
|
+
const generator = obj && obj[Symbol.iterator];
|
|
188
|
+
const iterator = generator.call(obj);
|
|
189
|
+
let result;
|
|
190
|
+
while ((result = iterator.next()) && !result.done) {
|
|
191
|
+
const pair = result.value;
|
|
192
|
+
fn.call(obj, pair[0], pair[1]);
|
|
193
|
+
}
|
|
194
|
+
};
|
|
195
|
+
const matchAll = (regExp, str) => {
|
|
196
|
+
let matches;
|
|
197
|
+
const arr = [];
|
|
198
|
+
while ((matches = regExp.exec(str)) !== null) {
|
|
199
|
+
arr.push(matches);
|
|
30
200
|
}
|
|
201
|
+
return arr;
|
|
202
|
+
};
|
|
203
|
+
const isHTMLForm = kindOfTest("HTMLFormElement");
|
|
204
|
+
const toCamelCase = (str) => {
|
|
205
|
+
return str.toLowerCase().replace(
|
|
206
|
+
/[-_\s]([a-z\d])(\w*)/g,
|
|
207
|
+
function replacer(m, p1, p2) {
|
|
208
|
+
return p1.toUpperCase() + p2;
|
|
209
|
+
}
|
|
210
|
+
);
|
|
211
|
+
};
|
|
212
|
+
const hasOwnProperty = (({ hasOwnProperty: hasOwnProperty2 }) => (obj, prop) => hasOwnProperty2.call(obj, prop))(Object.prototype);
|
|
213
|
+
const isRegExp = kindOfTest("RegExp");
|
|
214
|
+
const reduceDescriptors = (obj, reducer) => {
|
|
215
|
+
const descriptors = Object.getOwnPropertyDescriptors(obj);
|
|
216
|
+
const reducedDescriptors = {};
|
|
217
|
+
forEach(descriptors, (descriptor, name) => {
|
|
218
|
+
let ret;
|
|
219
|
+
if ((ret = reducer(descriptor, name, obj)) !== false) {
|
|
220
|
+
reducedDescriptors[name] = ret || descriptor;
|
|
221
|
+
}
|
|
222
|
+
});
|
|
223
|
+
Object.defineProperties(obj, reducedDescriptors);
|
|
224
|
+
};
|
|
225
|
+
const freezeMethods = (obj) => {
|
|
226
|
+
reduceDescriptors(obj, (descriptor, name) => {
|
|
227
|
+
if (isFunction(obj) && ["arguments", "caller", "callee"].indexOf(name) !== -1) {
|
|
228
|
+
return false;
|
|
229
|
+
}
|
|
230
|
+
const value = obj[name];
|
|
231
|
+
if (!isFunction(value)) return;
|
|
232
|
+
descriptor.enumerable = false;
|
|
233
|
+
if ("writable" in descriptor) {
|
|
234
|
+
descriptor.writable = false;
|
|
235
|
+
return;
|
|
236
|
+
}
|
|
237
|
+
if (!descriptor.set) {
|
|
238
|
+
descriptor.set = () => {
|
|
239
|
+
throw Error("Can not rewrite read-only method '" + name + "'");
|
|
240
|
+
};
|
|
241
|
+
}
|
|
242
|
+
});
|
|
243
|
+
};
|
|
244
|
+
const toObjectSet = (arrayOrString, delimiter) => {
|
|
245
|
+
const obj = {};
|
|
246
|
+
const define = (arr) => {
|
|
247
|
+
arr.forEach((value) => {
|
|
248
|
+
obj[value] = true;
|
|
249
|
+
});
|
|
250
|
+
};
|
|
251
|
+
isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));
|
|
252
|
+
return obj;
|
|
253
|
+
};
|
|
254
|
+
const noop = () => {
|
|
255
|
+
};
|
|
256
|
+
const toFiniteNumber = (value, defaultValue) => {
|
|
257
|
+
return value != null && Number.isFinite(value = +value) ? value : defaultValue;
|
|
258
|
+
};
|
|
259
|
+
function isSpecCompliantForm(thing) {
|
|
260
|
+
return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === "FormData" && thing[Symbol.iterator]);
|
|
31
261
|
}
|
|
262
|
+
const toJSONObject = (obj) => {
|
|
263
|
+
const stack = new Array(10);
|
|
264
|
+
const visit = (source, i) => {
|
|
265
|
+
if (isObject(source)) {
|
|
266
|
+
if (stack.indexOf(source) >= 0) {
|
|
267
|
+
return;
|
|
268
|
+
}
|
|
269
|
+
if (!("toJSON" in source)) {
|
|
270
|
+
stack[i] = source;
|
|
271
|
+
const target = isArray(source) ? [] : {};
|
|
272
|
+
forEach(source, (value, key) => {
|
|
273
|
+
const reducedValue = visit(value, i + 1);
|
|
274
|
+
!isUndefined(reducedValue) && (target[key] = reducedValue);
|
|
275
|
+
});
|
|
276
|
+
stack[i] = void 0;
|
|
277
|
+
return target;
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
return source;
|
|
281
|
+
};
|
|
282
|
+
return visit(obj, 0);
|
|
283
|
+
};
|
|
284
|
+
const isAsyncFn = kindOfTest("AsyncFunction");
|
|
285
|
+
const isThenable = (thing) => thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);
|
|
286
|
+
const _setImmediate = ((setImmediateSupported, postMessageSupported) => {
|
|
287
|
+
if (setImmediateSupported) {
|
|
288
|
+
return setImmediate;
|
|
289
|
+
}
|
|
290
|
+
return postMessageSupported ? ((token, callbacks) => {
|
|
291
|
+
_global.addEventListener("message", ({ source, data }) => {
|
|
292
|
+
if (source === _global && data === token) {
|
|
293
|
+
callbacks.length && callbacks.shift()();
|
|
294
|
+
}
|
|
295
|
+
}, false);
|
|
296
|
+
return (cb) => {
|
|
297
|
+
callbacks.push(cb);
|
|
298
|
+
_global.postMessage(token, "*");
|
|
299
|
+
};
|
|
300
|
+
})(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);
|
|
301
|
+
})(
|
|
302
|
+
typeof setImmediate === "function",
|
|
303
|
+
isFunction(_global.postMessage)
|
|
304
|
+
);
|
|
305
|
+
const asap = typeof queueMicrotask !== "undefined" ? queueMicrotask.bind(_global) : typeof process$1 !== "undefined" && process$1.nextTick || _setImmediate;
|
|
306
|
+
const utils = {
|
|
307
|
+
isArray,
|
|
308
|
+
isArrayBuffer,
|
|
309
|
+
isBuffer,
|
|
310
|
+
isFormData,
|
|
311
|
+
isArrayBufferView,
|
|
312
|
+
isString,
|
|
313
|
+
isNumber,
|
|
314
|
+
isBoolean,
|
|
315
|
+
isObject,
|
|
316
|
+
isPlainObject,
|
|
317
|
+
isReadableStream,
|
|
318
|
+
isRequest,
|
|
319
|
+
isResponse,
|
|
320
|
+
isHeaders,
|
|
321
|
+
isUndefined,
|
|
322
|
+
isDate,
|
|
323
|
+
isFile,
|
|
324
|
+
isBlob,
|
|
325
|
+
isRegExp,
|
|
326
|
+
isFunction,
|
|
327
|
+
isStream,
|
|
328
|
+
isURLSearchParams,
|
|
329
|
+
isTypedArray,
|
|
330
|
+
isFileList,
|
|
331
|
+
forEach,
|
|
332
|
+
merge,
|
|
333
|
+
extend,
|
|
334
|
+
trim,
|
|
335
|
+
stripBOM,
|
|
336
|
+
inherits,
|
|
337
|
+
toFlatObject,
|
|
338
|
+
kindOf,
|
|
339
|
+
kindOfTest,
|
|
340
|
+
endsWith,
|
|
341
|
+
toArray,
|
|
342
|
+
forEachEntry,
|
|
343
|
+
matchAll,
|
|
344
|
+
isHTMLForm,
|
|
345
|
+
hasOwnProperty,
|
|
346
|
+
hasOwnProp: hasOwnProperty,
|
|
347
|
+
// an alias to avoid ESLint no-prototype-builtins detection
|
|
348
|
+
reduceDescriptors,
|
|
349
|
+
freezeMethods,
|
|
350
|
+
toObjectSet,
|
|
351
|
+
toCamelCase,
|
|
352
|
+
noop,
|
|
353
|
+
toFiniteNumber,
|
|
354
|
+
findKey,
|
|
355
|
+
global: _global,
|
|
356
|
+
isContextDefined,
|
|
357
|
+
isSpecCompliantForm,
|
|
358
|
+
toJSONObject,
|
|
359
|
+
isAsyncFn,
|
|
360
|
+
isThenable,
|
|
361
|
+
setImmediate: _setImmediate,
|
|
362
|
+
asap
|
|
363
|
+
};
|
|
32
364
|
export {
|
|
33
|
-
|
|
365
|
+
utils as default
|
|
34
366
|
};
|
|
35
367
|
//# sourceMappingURL=standards-sdk.es58.js.map
|