{"abi":[{"type":"error","name":"HexLengthInsufficient","inputs":[]},{"type":"error","name":"TooBigForSmallString","inputs":[]}],"bytecode":{"object":"0x602c6032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea164736f6c634300081a000a","sourceMap":"643:51287:27:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;643:51287:27;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x730000000000000000000000000000000000000000301460806040525f80fdfea164736f6c634300081a000a","sourceMap":"643:51287:27:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"HexLengthInsufficient\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooBigForSmallString\",\"type\":\"error\"}],\"devdoc\":{\"author\":\"Solady (https://github.com/vectorized/solady/blob/main/src/utils/LibString.sol)Modified from Solmate (https://github.com/transmissions11/solmate/blob/main/src/utils/LibString.sol) Note: For performance and bytecode compactness, most of the string operations are restricted to byte strings (7-bit ASCII), except where otherwise specified. Usage of byte string operations on charsets with runes spanning two or more bytes can lead to undefined behavior.\",\"errors\":{\"HexLengthInsufficient()\":[{\"details\":\"The length of the output is too small to contain all the hex digits.\"}],\"TooBigForSmallString()\":[{\"details\":\"The length of the string is more than 32 bytes.\"}]},\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"NOT_FOUND\":{\"details\":\"The constant returned when the `search` is not found in the string.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Library for converting numbers into strings and other string operations.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/solady/src/utils/LibString.sol\":\"LibString\"},\"evmVersion\":\"cancun\",\"libraries\":{\"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker\":\"0x4200000000000000000000000000000000000776\"},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":automate/=lib/automate/contracts/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":gelato/=lib/automate/contracts/\",\":hardhat/=lib/automate/node_modules/hardhat/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/\",\":prb-test/=lib/automate/lib/prb-test/src/\",\":prb/-est/=lib/automate/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/solady/src/utils/LibString.sol\":{\"keccak256\":\"0x74ec81acbea6db4afe149ab51e26961bcb801af42f7af98242be71b866066200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://16bb49824fcfa9667aeed0eb515fdefda1016225085cf78ed852078c67168229\",\"dweb:/ipfs/QmZ59xrx5QLSx5N5CiTLrfwsPKR7kpK4RRpiEWSMEpvDzQ\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"HexLengthInsufficient"},{"inputs":[],"type":"error","name":"TooBigForSmallString"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","automate/=lib/automate/contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","gelato/=lib/automate/contracts/","hardhat/=lib/automate/node_modules/hardhat/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/","prb-test/=lib/automate/lib/prb-test/src/","prb/-est/=lib/automate/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"lib/solady/src/utils/LibString.sol":"LibString"},"evmVersion":"cancun","libraries":{"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker":"0x4200000000000000000000000000000000000776"}},"sources":{"lib/solady/src/utils/LibString.sol":{"keccak256":"0x74ec81acbea6db4afe149ab51e26961bcb801af42f7af98242be71b866066200","urls":["bzz-raw://16bb49824fcfa9667aeed0eb515fdefda1016225085cf78ed852078c67168229","dweb:/ipfs/QmZ59xrx5QLSx5N5CiTLrfwsPKR7kpK4RRpiEWSMEpvDzQ"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user","notice":"Library for converting numbers into strings and other string operations."},"devdoc":{"version":1,"kind":"dev","author":"Solady (https://github.com/vectorized/solady/blob/main/src/utils/LibString.sol)Modified from Solmate (https://github.com/transmissions11/solmate/blob/main/src/utils/LibString.sol) Note: For performance and bytecode compactness, most of the string operations are restricted to byte strings (7-bit ASCII), except where otherwise specified. Usage of byte string operations on charsets with runes spanning two or more bytes can lead to undefined behavior.","errors":{"HexLengthInsufficient()":[{"details":"The length of the output is too small to contain all the hex digits."}],"TooBigForSmallString()":[{"details":"The length of the string is more than 32 bytes."}]}},"ast":{"absolutePath":"lib/solady/src/utils/LibString.sol","id":47667,"exportedSymbols":{"LibString":[47666]},"nodeType":"SourceUnit","src":"32:51899:27","nodes":[{"id":47013,"nodeType":"PragmaDirective","src":"32:23:27","nodes":[],"literals":["solidity","^","0.8",".4"]},{"id":47666,"nodeType":"ContractDefinition","src":"643:51287:27","nodes":[{"id":47017,"nodeType":"ErrorDefinition","src":"1032:30:27","nodes":[],"documentation":{"id":47015,"nodeType":"StructuredDocumentation","src":"950:77:27","text":"@dev The length of the output is too small to contain all the hex digits."},"errorSelector":"2194895a","name":"HexLengthInsufficient","nameLocation":"1038:21:27","parameters":{"id":47016,"nodeType":"ParameterList","parameters":[],"src":"1059:2:27"}},{"id":47020,"nodeType":"ErrorDefinition","src":"1129:29:27","nodes":[],"documentation":{"id":47018,"nodeType":"StructuredDocumentation","src":"1068:56:27","text":"@dev The length of the string is more than 32 bytes."},"errorSelector":"ec92f9a3","name":"TooBigForSmallString","nameLocation":"1135:20:27","parameters":{"id":47019,"nodeType":"ParameterList","parameters":[],"src":"1155:2:27"}},{"id":47028,"nodeType":"VariableDeclaration","src":"1528:55:27","nodes":[],"constant":true,"documentation":{"id":47021,"nodeType":"StructuredDocumentation","src":"1447:76:27","text":"@dev The constant returned when the `search` is not found in the string."},"mutability":"constant","name":"NOT_FOUND","nameLocation":"1554:9:27","scope":47666,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47022,"name":"uint256","nodeType":"ElementaryTypeName","src":"1528:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"expression":{"arguments":[{"id":47025,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1571:7:27","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":47024,"name":"uint256","nodeType":"ElementaryTypeName","src":"1571:7:27","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":47023,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"1566:4:27","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":47026,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1566:13:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":47027,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1580:3:27","memberName":"max","nodeType":"MemberAccess","src":"1566:17:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":47038,"nodeType":"FunctionDefinition","src":"1941:1641:27","nodes":[],"body":{"id":47037,"nodeType":"Block","src":"2016:1566:27","nodes":[],"statements":[{"AST":{"nativeSrc":"2078:1498:27","nodeType":"YulBlock","src":"2078:1498:27","statements":[{"nativeSrc":"2418:29:27","nodeType":"YulAssignment","src":"2418:29:27","value":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"2435:4:27","nodeType":"YulLiteral","src":"2435:4:27","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"2429:5:27","nodeType":"YulIdentifier","src":"2429:5:27"},"nativeSrc":"2429:11:27","nodeType":"YulFunctionCall","src":"2429:11:27"},{"kind":"number","nativeSrc":"2442:4:27","nodeType":"YulLiteral","src":"2442:4:27","type":"","value":"0x80"}],"functionName":{"name":"add","nativeSrc":"2425:3:27","nodeType":"YulIdentifier","src":"2425:3:27"},"nativeSrc":"2425:22:27","nodeType":"YulFunctionCall","src":"2425:22:27"},"variableNames":[{"name":"str","nativeSrc":"2418:3:27","nodeType":"YulIdentifier","src":"2418:3:27"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"2526:4:27","nodeType":"YulLiteral","src":"2526:4:27","type":"","value":"0x40"},{"arguments":[{"name":"str","nativeSrc":"2536:3:27","nodeType":"YulIdentifier","src":"2536:3:27"},{"kind":"number","nativeSrc":"2541:4:27","nodeType":"YulLiteral","src":"2541:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"2532:3:27","nodeType":"YulIdentifier","src":"2532:3:27"},"nativeSrc":"2532:14:27","nodeType":"YulFunctionCall","src":"2532:14:27"}],"functionName":{"name":"mstore","nativeSrc":"2519:6:27","nodeType":"YulIdentifier","src":"2519:6:27"},"nativeSrc":"2519:28:27","nodeType":"YulFunctionCall","src":"2519:28:27"},"nativeSrc":"2519:28:27","nodeType":"YulExpressionStatement","src":"2519:28:27"},{"expression":{"arguments":[{"name":"str","nativeSrc":"2617:3:27","nodeType":"YulIdentifier","src":"2617:3:27"},{"kind":"number","nativeSrc":"2622:1:27","nodeType":"YulLiteral","src":"2622:1:27","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"2610:6:27","nodeType":"YulIdentifier","src":"2610:6:27"},"nativeSrc":"2610:14:27","nodeType":"YulFunctionCall","src":"2610:14:27"},"nativeSrc":"2610:14:27","nodeType":"YulExpressionStatement","src":"2610:14:27"},{"nativeSrc":"2712:14:27","nodeType":"YulVariableDeclaration","src":"2712:14:27","value":{"name":"str","nativeSrc":"2723:3:27","nodeType":"YulIdentifier","src":"2723:3:27"},"variables":[{"name":"end","nativeSrc":"2716:3:27","nodeType":"YulTypedName","src":"2716:3:27","type":""}]},{"nativeSrc":"2740:15:27","nodeType":"YulVariableDeclaration","src":"2740:15:27","value":{"arguments":[{"kind":"number","nativeSrc":"2753:1:27","nodeType":"YulLiteral","src":"2753:1:27","type":"","value":"0"}],"functionName":{"name":"not","nativeSrc":"2749:3:27","nodeType":"YulIdentifier","src":"2749:3:27"},"nativeSrc":"2749:6:27","nodeType":"YulFunctionCall","src":"2749:6:27"},"variables":[{"name":"w","nativeSrc":"2744:1:27","nodeType":"YulTypedName","src":"2744:1:27","type":""}]},{"body":{"nativeSrc":"2975:371:27","nodeType":"YulBlock","src":"2975:371:27","statements":[{"nativeSrc":"2993:18:27","nodeType":"YulAssignment","src":"2993:18:27","value":{"arguments":[{"name":"str","nativeSrc":"3004:3:27","nodeType":"YulIdentifier","src":"3004:3:27"},{"name":"w","nativeSrc":"3009:1:27","nodeType":"YulIdentifier","src":"3009:1:27"}],"functionName":{"name":"add","nativeSrc":"3000:3:27","nodeType":"YulIdentifier","src":"3000:3:27"},"nativeSrc":"3000:11:27","nodeType":"YulFunctionCall","src":"3000:11:27"},"variableNames":[{"name":"str","nativeSrc":"2993:3:27","nodeType":"YulIdentifier","src":"2993:3:27"}]},{"expression":{"arguments":[{"name":"str","nativeSrc":"3172:3:27","nodeType":"YulIdentifier","src":"3172:3:27"},{"arguments":[{"kind":"number","nativeSrc":"3181:2:27","nodeType":"YulLiteral","src":"3181:2:27","type":"","value":"48"},{"arguments":[{"name":"temp","nativeSrc":"3189:4:27","nodeType":"YulIdentifier","src":"3189:4:27"},{"kind":"number","nativeSrc":"3195:2:27","nodeType":"YulLiteral","src":"3195:2:27","type":"","value":"10"}],"functionName":{"name":"mod","nativeSrc":"3185:3:27","nodeType":"YulIdentifier","src":"3185:3:27"},"nativeSrc":"3185:13:27","nodeType":"YulFunctionCall","src":"3185:13:27"}],"functionName":{"name":"add","nativeSrc":"3177:3:27","nodeType":"YulIdentifier","src":"3177:3:27"},"nativeSrc":"3177:22:27","nodeType":"YulFunctionCall","src":"3177:22:27"}],"functionName":{"name":"mstore8","nativeSrc":"3164:7:27","nodeType":"YulIdentifier","src":"3164:7:27"},"nativeSrc":"3164:36:27","nodeType":"YulFunctionCall","src":"3164:36:27"},"nativeSrc":"3164:36:27","nodeType":"YulExpressionStatement","src":"3164:36:27"},{"nativeSrc":"3269:21:27","nodeType":"YulAssignment","src":"3269:21:27","value":{"arguments":[{"name":"temp","nativeSrc":"3281:4:27","nodeType":"YulIdentifier","src":"3281:4:27"},{"kind":"number","nativeSrc":"3287:2:27","nodeType":"YulLiteral","src":"3287:2:27","type":"","value":"10"}],"functionName":{"name":"div","nativeSrc":"3277:3:27","nodeType":"YulIdentifier","src":"3277:3:27"},"nativeSrc":"3277:13:27","nodeType":"YulFunctionCall","src":"3277:13:27"},"variableNames":[{"name":"temp","nativeSrc":"3269:4:27","nodeType":"YulIdentifier","src":"3269:4:27"}]},{"body":{"nativeSrc":"3323:9:27","nodeType":"YulBlock","src":"3323:9:27","statements":[{"nativeSrc":"3325:5:27","nodeType":"YulBreak","src":"3325:5:27"}]},"condition":{"arguments":[{"name":"temp","nativeSrc":"3317:4:27","nodeType":"YulIdentifier","src":"3317:4:27"}],"functionName":{"name":"iszero","nativeSrc":"3310:6:27","nodeType":"YulIdentifier","src":"3310:6:27"},"nativeSrc":"3310:12:27","nodeType":"YulFunctionCall","src":"3310:12:27"},"nativeSrc":"3307:25:27","nodeType":"YulIf","src":"3307:25:27"}]},"condition":{"kind":"number","nativeSrc":"2970:1:27","nodeType":"YulLiteral","src":"2970:1:27","type":"","value":"1"},"nativeSrc":"2944:402:27","nodeType":"YulForLoop","post":{"nativeSrc":"2972:2:27","nodeType":"YulBlock","src":"2972:2:27","statements":[]},"pre":{"nativeSrc":"2948:21:27","nodeType":"YulBlock","src":"2948:21:27","statements":[{"nativeSrc":"2950:17:27","nodeType":"YulVariableDeclaration","src":"2950:17:27","value":{"name":"value","nativeSrc":"2962:5:27","nodeType":"YulIdentifier","src":"2962:5:27"},"variables":[{"name":"temp","nativeSrc":"2954:4:27","nodeType":"YulTypedName","src":"2954:4:27","type":""}]}]},"src":"2944:402:27"},{"nativeSrc":"3360:27:27","nodeType":"YulVariableDeclaration","src":"3360:27:27","value":{"arguments":[{"name":"end","nativeSrc":"3378:3:27","nodeType":"YulIdentifier","src":"3378:3:27"},{"name":"str","nativeSrc":"3383:3:27","nodeType":"YulIdentifier","src":"3383:3:27"}],"functionName":{"name":"sub","nativeSrc":"3374:3:27","nodeType":"YulIdentifier","src":"3374:3:27"},"nativeSrc":"3374:13:27","nodeType":"YulFunctionCall","src":"3374:13:27"},"variables":[{"name":"length","nativeSrc":"3364:6:27","nodeType":"YulTypedName","src":"3364:6:27","type":""}]},{"nativeSrc":"3480:21:27","nodeType":"YulAssignment","src":"3480:21:27","value":{"arguments":[{"name":"str","nativeSrc":"3491:3:27","nodeType":"YulIdentifier","src":"3491:3:27"},{"kind":"number","nativeSrc":"3496:4:27","nodeType":"YulLiteral","src":"3496:4:27","type":"","value":"0x20"}],"functionName":{"name":"sub","nativeSrc":"3487:3:27","nodeType":"YulIdentifier","src":"3487:3:27"},"nativeSrc":"3487:14:27","nodeType":"YulFunctionCall","src":"3487:14:27"},"variableNames":[{"name":"str","nativeSrc":"3480:3:27","nodeType":"YulIdentifier","src":"3480:3:27"}]},{"expression":{"arguments":[{"name":"str","nativeSrc":"3554:3:27","nodeType":"YulIdentifier","src":"3554:3:27"},{"name":"length","nativeSrc":"3559:6:27","nodeType":"YulIdentifier","src":"3559:6:27"}],"functionName":{"name":"mstore","nativeSrc":"3547:6:27","nodeType":"YulIdentifier","src":"3547:6:27"},"nativeSrc":"3547:19:27","nodeType":"YulFunctionCall","src":"3547:19:27"},"nativeSrc":"3547:19:27","nodeType":"YulExpressionStatement","src":"3547:19:27"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":47034,"isOffset":false,"isSlot":false,"src":"2418:3:27","valueSize":1},{"declaration":47034,"isOffset":false,"isSlot":false,"src":"2536:3:27","valueSize":1},{"declaration":47034,"isOffset":false,"isSlot":false,"src":"2617:3:27","valueSize":1},{"declaration":47034,"isOffset":false,"isSlot":false,"src":"2723:3:27","valueSize":1},{"declaration":47034,"isOffset":false,"isSlot":false,"src":"2993:3:27","valueSize":1},{"declaration":47034,"isOffset":false,"isSlot":false,"src":"3004:3:27","valueSize":1},{"declaration":47034,"isOffset":false,"isSlot":false,"src":"3172:3:27","valueSize":1},{"declaration":47034,"isOffset":false,"isSlot":false,"src":"3383:3:27","valueSize":1},{"declaration":47034,"isOffset":false,"isSlot":false,"src":"3480:3:27","valueSize":1},{"declaration":47034,"isOffset":false,"isSlot":false,"src":"3491:3:27","valueSize":1},{"declaration":47034,"isOffset":false,"isSlot":false,"src":"3554:3:27","valueSize":1},{"declaration":47031,"isOffset":false,"isSlot":false,"src":"2962:5:27","valueSize":1}],"id":47036,"nodeType":"InlineAssembly","src":"2069:1507:27"}]},"documentation":{"id":47029,"nodeType":"StructuredDocumentation","src":"1873:63:27","text":"@dev Returns the base 10 decimal representation of `value`."},"implemented":true,"kind":"function","modifiers":[],"name":"toString","nameLocation":"1950:8:27","parameters":{"id":47032,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47031,"mutability":"mutable","name":"value","nameLocation":"1967:5:27","nodeType":"VariableDeclaration","scope":47038,"src":"1959:13:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47030,"name":"uint256","nodeType":"ElementaryTypeName","src":"1959:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1958:15:27"},"returnParameters":{"id":47035,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47034,"mutability":"mutable","name":"str","nameLocation":"2011:3:27","nodeType":"VariableDeclaration","scope":47038,"src":"1997:17:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47033,"name":"string","nodeType":"ElementaryTypeName","src":"1997:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1996:19:27"},"scope":47666,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47071,"nodeType":"FunctionDefinition","src":"3656:716:27","nodes":[],"body":{"id":47070,"nodeType":"Block","src":"3730:642:27","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":47048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47046,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47041,"src":"3744:5:27","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"30","id":47047,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3753:1:27","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3744:10:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47057,"nodeType":"IfStatement","src":"3740:72:27","trueBody":{"id":47056,"nodeType":"Block","src":"3756:56:27","statements":[{"expression":{"arguments":[{"arguments":[{"id":47052,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47041,"src":"3794:5:27","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":47051,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3786:7:27","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":47050,"name":"uint256","nodeType":"ElementaryTypeName","src":"3786:7:27","typeDescriptions":{}}},"id":47053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3786:14:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47049,"name":"toString","nodeType":"Identifier","overloadedDeclarations":[47038,47071],"referencedDeclaration":47038,"src":"3777:8:27","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"}},"id":47054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3777:24:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":47045,"id":47055,"nodeType":"Return","src":"3770:31:27"}]}},{"id":47068,"nodeType":"UncheckedBlock","src":"3821:66:27","statements":[{"expression":{"id":47066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47058,"name":"str","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47044,"src":"3845:3:27","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":47063,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"3868:6:27","subExpression":{"id":47062,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47041,"src":"3869:5:27","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":47061,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3860:7:27","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":47060,"name":"uint256","nodeType":"ElementaryTypeName","src":"3860:7:27","typeDescriptions":{}}},"id":47064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3860:15:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47059,"name":"toString","nodeType":"Identifier","overloadedDeclarations":[47038,47071],"referencedDeclaration":47038,"src":"3851:8:27","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"}},"id":47065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3851:25:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"3845:31:27","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":47067,"nodeType":"ExpressionStatement","src":"3845:31:27"}]},{"AST":{"nativeSrc":"3948:418:27","nodeType":"YulBlock","src":"3948:418:27","statements":[{"nativeSrc":"4104:24:27","nodeType":"YulVariableDeclaration","src":"4104:24:27","value":{"arguments":[{"name":"str","nativeSrc":"4124:3:27","nodeType":"YulIdentifier","src":"4124:3:27"}],"functionName":{"name":"mload","nativeSrc":"4118:5:27","nodeType":"YulIdentifier","src":"4118:5:27"},"nativeSrc":"4118:10:27","nodeType":"YulFunctionCall","src":"4118:10:27"},"variables":[{"name":"length","nativeSrc":"4108:6:27","nodeType":"YulTypedName","src":"4108:6:27","type":""}]},{"expression":{"arguments":[{"name":"str","nativeSrc":"4175:3:27","nodeType":"YulIdentifier","src":"4175:3:27"},{"kind":"number","nativeSrc":"4180:4:27","nodeType":"YulLiteral","src":"4180:4:27","type":"","value":"0x2d"}],"functionName":{"name":"mstore","nativeSrc":"4168:6:27","nodeType":"YulIdentifier","src":"4168:6:27"},"nativeSrc":"4168:17:27","nodeType":"YulFunctionCall","src":"4168:17:27"},"nativeSrc":"4168:17:27","nodeType":"YulExpressionStatement","src":"4168:17:27"},{"nativeSrc":"4226:18:27","nodeType":"YulAssignment","src":"4226:18:27","value":{"arguments":[{"name":"str","nativeSrc":"4237:3:27","nodeType":"YulIdentifier","src":"4237:3:27"},{"kind":"number","nativeSrc":"4242:1:27","nodeType":"YulLiteral","src":"4242:1:27","type":"","value":"1"}],"functionName":{"name":"sub","nativeSrc":"4233:3:27","nodeType":"YulIdentifier","src":"4233:3:27"},"nativeSrc":"4233:11:27","nodeType":"YulFunctionCall","src":"4233:11:27"},"variableNames":[{"name":"str","nativeSrc":"4226:3:27","nodeType":"YulIdentifier","src":"4226:3:27"}]},{"expression":{"arguments":[{"name":"str","nativeSrc":"4307:3:27","nodeType":"YulIdentifier","src":"4307:3:27"},{"arguments":[{"name":"length","nativeSrc":"4316:6:27","nodeType":"YulIdentifier","src":"4316:6:27"},{"kind":"number","nativeSrc":"4324:1:27","nodeType":"YulLiteral","src":"4324:1:27","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"4312:3:27","nodeType":"YulIdentifier","src":"4312:3:27"},"nativeSrc":"4312:14:27","nodeType":"YulFunctionCall","src":"4312:14:27"}],"functionName":{"name":"mstore","nativeSrc":"4300:6:27","nodeType":"YulIdentifier","src":"4300:6:27"},"nativeSrc":"4300:27:27","nodeType":"YulFunctionCall","src":"4300:27:27"},"nativeSrc":"4300:27:27","nodeType":"YulExpressionStatement","src":"4300:27:27"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":47044,"isOffset":false,"isSlot":false,"src":"4124:3:27","valueSize":1},{"declaration":47044,"isOffset":false,"isSlot":false,"src":"4175:3:27","valueSize":1},{"declaration":47044,"isOffset":false,"isSlot":false,"src":"4226:3:27","valueSize":1},{"declaration":47044,"isOffset":false,"isSlot":false,"src":"4237:3:27","valueSize":1},{"declaration":47044,"isOffset":false,"isSlot":false,"src":"4307:3:27","valueSize":1}],"id":47069,"nodeType":"InlineAssembly","src":"3939:427:27"}]},"documentation":{"id":47039,"nodeType":"StructuredDocumentation","src":"3588:63:27","text":"@dev Returns the base 10 decimal representation of `value`."},"implemented":true,"kind":"function","modifiers":[],"name":"toString","nameLocation":"3665:8:27","parameters":{"id":47042,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47041,"mutability":"mutable","name":"value","nameLocation":"3681:5:27","nodeType":"VariableDeclaration","scope":47071,"src":"3674:12:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":47040,"name":"int256","nodeType":"ElementaryTypeName","src":"3674:6:27","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3673:14:27"},"returnParameters":{"id":47045,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47044,"mutability":"mutable","name":"str","nameLocation":"3725:3:27","nodeType":"VariableDeclaration","scope":47071,"src":"3711:17:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47043,"name":"string","nodeType":"ElementaryTypeName","src":"3711:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3710:19:27"},"scope":47666,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47090,"nodeType":"FunctionDefinition","src":"5009:460:27","nodes":[],"body":{"id":47089,"nodeType":"Block","src":"5103:366:27","nodes":[],"statements":[{"expression":{"id":47086,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47081,"name":"str","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47079,"src":"5113:3:27","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":47083,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47074,"src":"5139:5:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":47084,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47076,"src":"5146:6:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47082,"name":"toHexStringNoPrefix","nodeType":"Identifier","overloadedDeclarations":[47102,47160,47202,47228],"referencedDeclaration":47102,"src":"5119:19:27","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256,uint256) pure returns (string memory)"}},"id":47085,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5119:34:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"5113:40:27","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":47087,"nodeType":"ExpressionStatement","src":"5113:40:27"},{"AST":{"nativeSrc":"5215:248:27","nodeType":"YulBlock","src":"5215:248:27","statements":[{"nativeSrc":"5229:35:27","nodeType":"YulVariableDeclaration","src":"5229:35:27","value":{"arguments":[{"arguments":[{"name":"str","nativeSrc":"5256:3:27","nodeType":"YulIdentifier","src":"5256:3:27"}],"functionName":{"name":"mload","nativeSrc":"5250:5:27","nodeType":"YulIdentifier","src":"5250:5:27"},"nativeSrc":"5250:10:27","nodeType":"YulFunctionCall","src":"5250:10:27"},{"kind":"number","nativeSrc":"5262:1:27","nodeType":"YulLiteral","src":"5262:1:27","type":"","value":"2"}],"functionName":{"name":"add","nativeSrc":"5246:3:27","nodeType":"YulIdentifier","src":"5246:3:27"},"nativeSrc":"5246:18:27","nodeType":"YulFunctionCall","src":"5246:18:27"},"variables":[{"name":"strLength","nativeSrc":"5233:9:27","nodeType":"YulTypedName","src":"5233:9:27","type":""}]},{"expression":{"arguments":[{"name":"str","nativeSrc":"5307:3:27","nodeType":"YulIdentifier","src":"5307:3:27"},{"kind":"number","nativeSrc":"5312:6:27","nodeType":"YulLiteral","src":"5312:6:27","type":"","value":"0x3078"}],"functionName":{"name":"mstore","nativeSrc":"5300:6:27","nodeType":"YulIdentifier","src":"5300:6:27"},"nativeSrc":"5300:19:27","nodeType":"YulFunctionCall","src":"5300:19:27"},"nativeSrc":"5300:19:27","nodeType":"YulExpressionStatement","src":"5300:19:27"},{"nativeSrc":"5358:18:27","nodeType":"YulAssignment","src":"5358:18:27","value":{"arguments":[{"name":"str","nativeSrc":"5369:3:27","nodeType":"YulIdentifier","src":"5369:3:27"},{"kind":"number","nativeSrc":"5374:1:27","nodeType":"YulLiteral","src":"5374:1:27","type":"","value":"2"}],"functionName":{"name":"sub","nativeSrc":"5365:3:27","nodeType":"YulIdentifier","src":"5365:3:27"},"nativeSrc":"5365:11:27","nodeType":"YulFunctionCall","src":"5365:11:27"},"variableNames":[{"name":"str","nativeSrc":"5358:3:27","nodeType":"YulIdentifier","src":"5358:3:27"}]},{"expression":{"arguments":[{"name":"str","nativeSrc":"5417:3:27","nodeType":"YulIdentifier","src":"5417:3:27"},{"name":"strLength","nativeSrc":"5422:9:27","nodeType":"YulIdentifier","src":"5422:9:27"}],"functionName":{"name":"mstore","nativeSrc":"5410:6:27","nodeType":"YulIdentifier","src":"5410:6:27"},"nativeSrc":"5410:22:27","nodeType":"YulFunctionCall","src":"5410:22:27"},"nativeSrc":"5410:22:27","nodeType":"YulExpressionStatement","src":"5410:22:27"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":47079,"isOffset":false,"isSlot":false,"src":"5256:3:27","valueSize":1},{"declaration":47079,"isOffset":false,"isSlot":false,"src":"5307:3:27","valueSize":1},{"declaration":47079,"isOffset":false,"isSlot":false,"src":"5358:3:27","valueSize":1},{"declaration":47079,"isOffset":false,"isSlot":false,"src":"5369:3:27","valueSize":1},{"declaration":47079,"isOffset":false,"isSlot":false,"src":"5417:3:27","valueSize":1}],"id":47088,"nodeType":"InlineAssembly","src":"5206:257:27"}]},"documentation":{"id":47072,"nodeType":"StructuredDocumentation","src":"4661:343:27","text":"@dev Returns the hexadecimal representation of `value`,\n left-padded to an input length of `length` bytes.\n The output is prefixed with \"0x\" encoded using 2 hexadecimal digits per byte,\n giving a total length of `length * 2 + 2` bytes.\n Reverts if `length` is too small for the output to contain all the digits."},"implemented":true,"kind":"function","modifiers":[],"name":"toHexString","nameLocation":"5018:11:27","parameters":{"id":47077,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47074,"mutability":"mutable","name":"value","nameLocation":"5038:5:27","nodeType":"VariableDeclaration","scope":47090,"src":"5030:13:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47073,"name":"uint256","nodeType":"ElementaryTypeName","src":"5030:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47076,"mutability":"mutable","name":"length","nameLocation":"5053:6:27","nodeType":"VariableDeclaration","scope":47090,"src":"5045:14:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47075,"name":"uint256","nodeType":"ElementaryTypeName","src":"5045:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5029:31:27"},"returnParameters":{"id":47080,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47079,"mutability":"mutable","name":"str","nameLocation":"5098:3:27","nodeType":"VariableDeclaration","scope":47090,"src":"5084:17:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47078,"name":"string","nodeType":"ElementaryTypeName","src":"5084:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5083:19:27"},"scope":47666,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47102,"nodeType":"FunctionDefinition","src":"5819:1897:27","nodes":[],"body":{"id":47101,"nodeType":"Block","src":"5949:1767:27","nodes":[],"statements":[{"AST":{"nativeSrc":"6011:1699:27","nodeType":"YulBlock","src":"6011:1699:27","statements":[{"nativeSrc":"6328:66:27","nodeType":"YulAssignment","src":"6328:66:27","value":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"6345:4:27","nodeType":"YulLiteral","src":"6345:4:27","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"6339:5:27","nodeType":"YulIdentifier","src":"6339:5:27"},"nativeSrc":"6339:11:27","nodeType":"YulFunctionCall","src":"6339:11:27"},{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"6364:1:27","nodeType":"YulLiteral","src":"6364:1:27","type":"","value":"1"},{"name":"length","nativeSrc":"6367:6:27","nodeType":"YulIdentifier","src":"6367:6:27"}],"functionName":{"name":"shl","nativeSrc":"6360:3:27","nodeType":"YulIdentifier","src":"6360:3:27"},"nativeSrc":"6360:14:27","nodeType":"YulFunctionCall","src":"6360:14:27"},{"kind":"number","nativeSrc":"6376:4:27","nodeType":"YulLiteral","src":"6376:4:27","type":"","value":"0x42"}],"functionName":{"name":"add","nativeSrc":"6356:3:27","nodeType":"YulIdentifier","src":"6356:3:27"},"nativeSrc":"6356:25:27","nodeType":"YulFunctionCall","src":"6356:25:27"},{"arguments":[{"kind":"number","nativeSrc":"6387:4:27","nodeType":"YulLiteral","src":"6387:4:27","type":"","value":"0x1f"}],"functionName":{"name":"not","nativeSrc":"6383:3:27","nodeType":"YulIdentifier","src":"6383:3:27"},"nativeSrc":"6383:9:27","nodeType":"YulFunctionCall","src":"6383:9:27"}],"functionName":{"name":"and","nativeSrc":"6352:3:27","nodeType":"YulIdentifier","src":"6352:3:27"},"nativeSrc":"6352:41:27","nodeType":"YulFunctionCall","src":"6352:41:27"}],"functionName":{"name":"add","nativeSrc":"6335:3:27","nodeType":"YulIdentifier","src":"6335:3:27"},"nativeSrc":"6335:59:27","nodeType":"YulFunctionCall","src":"6335:59:27"},"variableNames":[{"name":"str","nativeSrc":"6328:3:27","nodeType":"YulIdentifier","src":"6328:3:27"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"6450:4:27","nodeType":"YulLiteral","src":"6450:4:27","type":"","value":"0x40"},{"arguments":[{"name":"str","nativeSrc":"6460:3:27","nodeType":"YulIdentifier","src":"6460:3:27"},{"kind":"number","nativeSrc":"6465:4:27","nodeType":"YulLiteral","src":"6465:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"6456:3:27","nodeType":"YulIdentifier","src":"6456:3:27"},"nativeSrc":"6456:14:27","nodeType":"YulFunctionCall","src":"6456:14:27"}],"functionName":{"name":"mstore","nativeSrc":"6443:6:27","nodeType":"YulIdentifier","src":"6443:6:27"},"nativeSrc":"6443:28:27","nodeType":"YulFunctionCall","src":"6443:28:27"},"nativeSrc":"6443:28:27","nodeType":"YulExpressionStatement","src":"6443:28:27"},{"expression":{"arguments":[{"name":"str","nativeSrc":"6541:3:27","nodeType":"YulIdentifier","src":"6541:3:27"},{"kind":"number","nativeSrc":"6546:1:27","nodeType":"YulLiteral","src":"6546:1:27","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"6534:6:27","nodeType":"YulIdentifier","src":"6534:6:27"},"nativeSrc":"6534:14:27","nodeType":"YulFunctionCall","src":"6534:14:27"},"nativeSrc":"6534:14:27","nodeType":"YulExpressionStatement","src":"6534:14:27"},{"nativeSrc":"6622:14:27","nodeType":"YulVariableDeclaration","src":"6622:14:27","value":{"name":"str","nativeSrc":"6633:3:27","nodeType":"YulIdentifier","src":"6633:3:27"},"variables":[{"name":"end","nativeSrc":"6626:3:27","nodeType":"YulTypedName","src":"6626:3:27","type":""}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"6714:4:27","nodeType":"YulLiteral","src":"6714:4:27","type":"","value":"0x0f"},{"kind":"number","nativeSrc":"6720:34:27","nodeType":"YulLiteral","src":"6720:34:27","type":"","value":"0x30313233343536373839616263646566"}],"functionName":{"name":"mstore","nativeSrc":"6707:6:27","nodeType":"YulIdentifier","src":"6707:6:27"},"nativeSrc":"6707:48:27","nodeType":"YulFunctionCall","src":"6707:48:27"},"nativeSrc":"6707:48:27","nodeType":"YulExpressionStatement","src":"6707:48:27"},{"nativeSrc":"6769:42:27","nodeType":"YulVariableDeclaration","src":"6769:42:27","value":{"arguments":[{"name":"str","nativeSrc":"6786:3:27","nodeType":"YulIdentifier","src":"6786:3:27"},{"arguments":[{"name":"length","nativeSrc":"6795:6:27","nodeType":"YulIdentifier","src":"6795:6:27"},{"name":"length","nativeSrc":"6803:6:27","nodeType":"YulIdentifier","src":"6803:6:27"}],"functionName":{"name":"add","nativeSrc":"6791:3:27","nodeType":"YulIdentifier","src":"6791:3:27"},"nativeSrc":"6791:19:27","nodeType":"YulFunctionCall","src":"6791:19:27"}],"functionName":{"name":"sub","nativeSrc":"6782:3:27","nodeType":"YulIdentifier","src":"6782:3:27"},"nativeSrc":"6782:29:27","nodeType":"YulFunctionCall","src":"6782:29:27"},"variables":[{"name":"start","nativeSrc":"6773:5:27","nodeType":"YulTypedName","src":"6773:5:27","type":""}]},{"nativeSrc":"6824:15:27","nodeType":"YulVariableDeclaration","src":"6824:15:27","value":{"arguments":[{"kind":"number","nativeSrc":"6837:1:27","nodeType":"YulLiteral","src":"6837:1:27","type":"","value":"1"}],"functionName":{"name":"not","nativeSrc":"6833:3:27","nodeType":"YulIdentifier","src":"6833:3:27"},"nativeSrc":"6833:6:27","nodeType":"YulFunctionCall","src":"6833:6:27"},"variables":[{"name":"w","nativeSrc":"6828:1:27","nodeType":"YulTypedName","src":"6828:1:27","type":""}]},{"nativeSrc":"6860:17:27","nodeType":"YulVariableDeclaration","src":"6860:17:27","value":{"name":"value","nativeSrc":"6872:5:27","nodeType":"YulIdentifier","src":"6872:5:27"},"variables":[{"name":"temp","nativeSrc":"6864:4:27","nodeType":"YulTypedName","src":"6864:4:27","type":""}]},{"body":{"nativeSrc":"7070:276:27","nodeType":"YulBlock","src":"7070:276:27","statements":[{"nativeSrc":"7088:18:27","nodeType":"YulAssignment","src":"7088:18:27","value":{"arguments":[{"name":"str","nativeSrc":"7099:3:27","nodeType":"YulIdentifier","src":"7099:3:27"},{"name":"w","nativeSrc":"7104:1:27","nodeType":"YulIdentifier","src":"7104:1:27"}],"functionName":{"name":"add","nativeSrc":"7095:3:27","nodeType":"YulIdentifier","src":"7095:3:27"},"nativeSrc":"7095:11:27","nodeType":"YulFunctionCall","src":"7095:11:27"},"variableNames":[{"name":"str","nativeSrc":"7088:3:27","nodeType":"YulIdentifier","src":"7088:3:27"}]},{"expression":{"arguments":[{"arguments":[{"name":"str","nativeSrc":"7153:3:27","nodeType":"YulIdentifier","src":"7153:3:27"},{"kind":"number","nativeSrc":"7158:1:27","nodeType":"YulLiteral","src":"7158:1:27","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"7149:3:27","nodeType":"YulIdentifier","src":"7149:3:27"},"nativeSrc":"7149:11:27","nodeType":"YulFunctionCall","src":"7149:11:27"},{"arguments":[{"arguments":[{"name":"temp","nativeSrc":"7172:4:27","nodeType":"YulIdentifier","src":"7172:4:27"},{"kind":"number","nativeSrc":"7178:2:27","nodeType":"YulLiteral","src":"7178:2:27","type":"","value":"15"}],"functionName":{"name":"and","nativeSrc":"7168:3:27","nodeType":"YulIdentifier","src":"7168:3:27"},"nativeSrc":"7168:13:27","nodeType":"YulFunctionCall","src":"7168:13:27"}],"functionName":{"name":"mload","nativeSrc":"7162:5:27","nodeType":"YulIdentifier","src":"7162:5:27"},"nativeSrc":"7162:20:27","nodeType":"YulFunctionCall","src":"7162:20:27"}],"functionName":{"name":"mstore8","nativeSrc":"7141:7:27","nodeType":"YulIdentifier","src":"7141:7:27"},"nativeSrc":"7141:42:27","nodeType":"YulFunctionCall","src":"7141:42:27"},"nativeSrc":"7141:42:27","nodeType":"YulExpressionStatement","src":"7141:42:27"},{"expression":{"arguments":[{"name":"str","nativeSrc":"7208:3:27","nodeType":"YulIdentifier","src":"7208:3:27"},{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"7227:1:27","nodeType":"YulLiteral","src":"7227:1:27","type":"","value":"4"},{"name":"temp","nativeSrc":"7230:4:27","nodeType":"YulIdentifier","src":"7230:4:27"}],"functionName":{"name":"shr","nativeSrc":"7223:3:27","nodeType":"YulIdentifier","src":"7223:3:27"},"nativeSrc":"7223:12:27","nodeType":"YulFunctionCall","src":"7223:12:27"},{"kind":"number","nativeSrc":"7237:2:27","nodeType":"YulLiteral","src":"7237:2:27","type":"","value":"15"}],"functionName":{"name":"and","nativeSrc":"7219:3:27","nodeType":"YulIdentifier","src":"7219:3:27"},"nativeSrc":"7219:21:27","nodeType":"YulFunctionCall","src":"7219:21:27"}],"functionName":{"name":"mload","nativeSrc":"7213:5:27","nodeType":"YulIdentifier","src":"7213:5:27"},"nativeSrc":"7213:28:27","nodeType":"YulFunctionCall","src":"7213:28:27"}],"functionName":{"name":"mstore8","nativeSrc":"7200:7:27","nodeType":"YulIdentifier","src":"7200:7:27"},"nativeSrc":"7200:42:27","nodeType":"YulFunctionCall","src":"7200:42:27"},"nativeSrc":"7200:42:27","nodeType":"YulExpressionStatement","src":"7200:42:27"},{"nativeSrc":"7259:20:27","nodeType":"YulAssignment","src":"7259:20:27","value":{"arguments":[{"kind":"number","nativeSrc":"7271:1:27","nodeType":"YulLiteral","src":"7271:1:27","type":"","value":"8"},{"name":"temp","nativeSrc":"7274:4:27","nodeType":"YulIdentifier","src":"7274:4:27"}],"functionName":{"name":"shr","nativeSrc":"7267:3:27","nodeType":"YulIdentifier","src":"7267:3:27"},"nativeSrc":"7267:12:27","nodeType":"YulFunctionCall","src":"7267:12:27"},"variableNames":[{"name":"temp","nativeSrc":"7259:4:27","nodeType":"YulIdentifier","src":"7259:4:27"}]},{"body":{"nativeSrc":"7323:9:27","nodeType":"YulBlock","src":"7323:9:27","statements":[{"nativeSrc":"7325:5:27","nodeType":"YulBreak","src":"7325:5:27"}]},"condition":{"arguments":[{"arguments":[{"name":"str","nativeSrc":"7310:3:27","nodeType":"YulIdentifier","src":"7310:3:27"},{"name":"start","nativeSrc":"7315:5:27","nodeType":"YulIdentifier","src":"7315:5:27"}],"functionName":{"name":"xor","nativeSrc":"7306:3:27","nodeType":"YulIdentifier","src":"7306:3:27"},"nativeSrc":"7306:15:27","nodeType":"YulFunctionCall","src":"7306:15:27"}],"functionName":{"name":"iszero","nativeSrc":"7299:6:27","nodeType":"YulIdentifier","src":"7299:6:27"},"nativeSrc":"7299:23:27","nodeType":"YulFunctionCall","src":"7299:23:27"},"nativeSrc":"7296:36:27","nodeType":"YulIf","src":"7296:36:27"}]},"condition":{"kind":"number","nativeSrc":"7065:1:27","nodeType":"YulLiteral","src":"7065:1:27","type":"","value":"1"},"nativeSrc":"7058:288:27","nodeType":"YulForLoop","post":{"nativeSrc":"7067:2:27","nodeType":"YulBlock","src":"7067:2:27","statements":[]},"pre":{"nativeSrc":"7062:2:27","nodeType":"YulBlock","src":"7062:2:27","statements":[]},"src":"7058:288:27"},{"body":{"nativeSrc":"7368:121:27","nodeType":"YulBlock","src":"7368:121:27","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"7393:4:27","nodeType":"YulLiteral","src":"7393:4:27","type":"","value":"0x00"},{"kind":"number","nativeSrc":"7399:10:27","nodeType":"YulLiteral","src":"7399:10:27","type":"","value":"0x2194895a"}],"functionName":{"name":"mstore","nativeSrc":"7386:6:27","nodeType":"YulIdentifier","src":"7386:6:27"},"nativeSrc":"7386:24:27","nodeType":"YulFunctionCall","src":"7386:24:27"},"nativeSrc":"7386:24:27","nodeType":"YulExpressionStatement","src":"7386:24:27"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"7464:4:27","nodeType":"YulLiteral","src":"7464:4:27","type":"","value":"0x1c"},{"kind":"number","nativeSrc":"7470:4:27","nodeType":"YulLiteral","src":"7470:4:27","type":"","value":"0x04"}],"functionName":{"name":"revert","nativeSrc":"7457:6:27","nodeType":"YulIdentifier","src":"7457:6:27"},"nativeSrc":"7457:18:27","nodeType":"YulFunctionCall","src":"7457:18:27"},"nativeSrc":"7457:18:27","nodeType":"YulExpressionStatement","src":"7457:18:27"}]},"condition":{"name":"temp","nativeSrc":"7363:4:27","nodeType":"YulIdentifier","src":"7363:4:27"},"nativeSrc":"7360:129:27","nodeType":"YulIf","src":"7360:129:27"},{"nativeSrc":"7547:30:27","nodeType":"YulVariableDeclaration","src":"7547:30:27","value":{"arguments":[{"name":"end","nativeSrc":"7568:3:27","nodeType":"YulIdentifier","src":"7568:3:27"},{"name":"str","nativeSrc":"7573:3:27","nodeType":"YulIdentifier","src":"7573:3:27"}],"functionName":{"name":"sub","nativeSrc":"7564:3:27","nodeType":"YulIdentifier","src":"7564:3:27"},"nativeSrc":"7564:13:27","nodeType":"YulFunctionCall","src":"7564:13:27"},"variables":[{"name":"strLength","nativeSrc":"7551:9:27","nodeType":"YulTypedName","src":"7551:9:27","type":""}]},{"nativeSrc":"7644:21:27","nodeType":"YulAssignment","src":"7644:21:27","value":{"arguments":[{"name":"str","nativeSrc":"7655:3:27","nodeType":"YulIdentifier","src":"7655:3:27"},{"kind":"number","nativeSrc":"7660:4:27","nodeType":"YulLiteral","src":"7660:4:27","type":"","value":"0x20"}],"functionName":{"name":"sub","nativeSrc":"7651:3:27","nodeType":"YulIdentifier","src":"7651:3:27"},"nativeSrc":"7651:14:27","nodeType":"YulFunctionCall","src":"7651:14:27"},"variableNames":[{"name":"str","nativeSrc":"7644:3:27","nodeType":"YulIdentifier","src":"7644:3:27"}]},{"expression":{"arguments":[{"name":"str","nativeSrc":"7685:3:27","nodeType":"YulIdentifier","src":"7685:3:27"},{"name":"strLength","nativeSrc":"7690:9:27","nodeType":"YulIdentifier","src":"7690:9:27"}],"functionName":{"name":"mstore","nativeSrc":"7678:6:27","nodeType":"YulIdentifier","src":"7678:6:27"},"nativeSrc":"7678:22:27","nodeType":"YulFunctionCall","src":"7678:22:27"},"nativeSrc":"7678:22:27","nodeType":"YulExpressionStatement","src":"7678:22:27"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":47095,"isOffset":false,"isSlot":false,"src":"6367:6:27","valueSize":1},{"declaration":47095,"isOffset":false,"isSlot":false,"src":"6795:6:27","valueSize":1},{"declaration":47095,"isOffset":false,"isSlot":false,"src":"6803:6:27","valueSize":1},{"declaration":47098,"isOffset":false,"isSlot":false,"src":"6328:3:27","valueSize":1},{"declaration":47098,"isOffset":false,"isSlot":false,"src":"6460:3:27","valueSize":1},{"declaration":47098,"isOffset":false,"isSlot":false,"src":"6541:3:27","valueSize":1},{"declaration":47098,"isOffset":false,"isSlot":false,"src":"6633:3:27","valueSize":1},{"declaration":47098,"isOffset":false,"isSlot":false,"src":"6786:3:27","valueSize":1},{"declaration":47098,"isOffset":false,"isSlot":false,"src":"7088:3:27","valueSize":1},{"declaration":47098,"isOffset":false,"isSlot":false,"src":"7099:3:27","valueSize":1},{"declaration":47098,"isOffset":false,"isSlot":false,"src":"7153:3:27","valueSize":1},{"declaration":47098,"isOffset":false,"isSlot":false,"src":"7208:3:27","valueSize":1},{"declaration":47098,"isOffset":false,"isSlot":false,"src":"7310:3:27","valueSize":1},{"declaration":47098,"isOffset":false,"isSlot":false,"src":"7573:3:27","valueSize":1},{"declaration":47098,"isOffset":false,"isSlot":false,"src":"7644:3:27","valueSize":1},{"declaration":47098,"isOffset":false,"isSlot":false,"src":"7655:3:27","valueSize":1},{"declaration":47098,"isOffset":false,"isSlot":false,"src":"7685:3:27","valueSize":1},{"declaration":47093,"isOffset":false,"isSlot":false,"src":"6872:5:27","valueSize":1}],"id":47100,"nodeType":"InlineAssembly","src":"6002:1708:27"}]},"documentation":{"id":47091,"nodeType":"StructuredDocumentation","src":"5475:339:27","text":"@dev Returns the hexadecimal representation of `value`,\n left-padded to an input length of `length` bytes.\n The output is prefixed with \"0x\" encoded using 2 hexadecimal digits per byte,\n giving a total length of `length * 2` bytes.\n Reverts if `length` is too small for the output to contain all the digits."},"implemented":true,"kind":"function","modifiers":[],"name":"toHexStringNoPrefix","nameLocation":"5828:19:27","parameters":{"id":47096,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47093,"mutability":"mutable","name":"value","nameLocation":"5856:5:27","nodeType":"VariableDeclaration","scope":47102,"src":"5848:13:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47092,"name":"uint256","nodeType":"ElementaryTypeName","src":"5848:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47095,"mutability":"mutable","name":"length","nameLocation":"5871:6:27","nodeType":"VariableDeclaration","scope":47102,"src":"5863:14:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47094,"name":"uint256","nodeType":"ElementaryTypeName","src":"5863:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5847:31:27"},"returnParameters":{"id":47099,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47098,"mutability":"mutable","name":"str","nameLocation":"5940:3:27","nodeType":"VariableDeclaration","scope":47102,"src":"5926:17:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47097,"name":"string","nodeType":"ElementaryTypeName","src":"5926:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5925:19:27"},"scope":47666,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47118,"nodeType":"FunctionDefinition","src":"7990:436:27","nodes":[],"body":{"id":47117,"nodeType":"Block","src":"8068:358:27","nodes":[],"statements":[{"expression":{"id":47114,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47110,"name":"str","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47108,"src":"8078:3:27","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":47112,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47105,"src":"8104:5:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47111,"name":"toHexStringNoPrefix","nodeType":"Identifier","overloadedDeclarations":[47102,47160,47202,47228],"referencedDeclaration":47160,"src":"8084:19:27","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"}},"id":47113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8084:26:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"8078:32:27","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":47115,"nodeType":"ExpressionStatement","src":"8078:32:27"},{"AST":{"nativeSrc":"8172:248:27","nodeType":"YulBlock","src":"8172:248:27","statements":[{"nativeSrc":"8186:35:27","nodeType":"YulVariableDeclaration","src":"8186:35:27","value":{"arguments":[{"arguments":[{"name":"str","nativeSrc":"8213:3:27","nodeType":"YulIdentifier","src":"8213:3:27"}],"functionName":{"name":"mload","nativeSrc":"8207:5:27","nodeType":"YulIdentifier","src":"8207:5:27"},"nativeSrc":"8207:10:27","nodeType":"YulFunctionCall","src":"8207:10:27"},{"kind":"number","nativeSrc":"8219:1:27","nodeType":"YulLiteral","src":"8219:1:27","type":"","value":"2"}],"functionName":{"name":"add","nativeSrc":"8203:3:27","nodeType":"YulIdentifier","src":"8203:3:27"},"nativeSrc":"8203:18:27","nodeType":"YulFunctionCall","src":"8203:18:27"},"variables":[{"name":"strLength","nativeSrc":"8190:9:27","nodeType":"YulTypedName","src":"8190:9:27","type":""}]},{"expression":{"arguments":[{"name":"str","nativeSrc":"8264:3:27","nodeType":"YulIdentifier","src":"8264:3:27"},{"kind":"number","nativeSrc":"8269:6:27","nodeType":"YulLiteral","src":"8269:6:27","type":"","value":"0x3078"}],"functionName":{"name":"mstore","nativeSrc":"8257:6:27","nodeType":"YulIdentifier","src":"8257:6:27"},"nativeSrc":"8257:19:27","nodeType":"YulFunctionCall","src":"8257:19:27"},"nativeSrc":"8257:19:27","nodeType":"YulExpressionStatement","src":"8257:19:27"},{"nativeSrc":"8315:18:27","nodeType":"YulAssignment","src":"8315:18:27","value":{"arguments":[{"name":"str","nativeSrc":"8326:3:27","nodeType":"YulIdentifier","src":"8326:3:27"},{"kind":"number","nativeSrc":"8331:1:27","nodeType":"YulLiteral","src":"8331:1:27","type":"","value":"2"}],"functionName":{"name":"sub","nativeSrc":"8322:3:27","nodeType":"YulIdentifier","src":"8322:3:27"},"nativeSrc":"8322:11:27","nodeType":"YulFunctionCall","src":"8322:11:27"},"variableNames":[{"name":"str","nativeSrc":"8315:3:27","nodeType":"YulIdentifier","src":"8315:3:27"}]},{"expression":{"arguments":[{"name":"str","nativeSrc":"8374:3:27","nodeType":"YulIdentifier","src":"8374:3:27"},{"name":"strLength","nativeSrc":"8379:9:27","nodeType":"YulIdentifier","src":"8379:9:27"}],"functionName":{"name":"mstore","nativeSrc":"8367:6:27","nodeType":"YulIdentifier","src":"8367:6:27"},"nativeSrc":"8367:22:27","nodeType":"YulFunctionCall","src":"8367:22:27"},"nativeSrc":"8367:22:27","nodeType":"YulExpressionStatement","src":"8367:22:27"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":47108,"isOffset":false,"isSlot":false,"src":"8213:3:27","valueSize":1},{"declaration":47108,"isOffset":false,"isSlot":false,"src":"8264:3:27","valueSize":1},{"declaration":47108,"isOffset":false,"isSlot":false,"src":"8315:3:27","valueSize":1},{"declaration":47108,"isOffset":false,"isSlot":false,"src":"8326:3:27","valueSize":1},{"declaration":47108,"isOffset":false,"isSlot":false,"src":"8374:3:27","valueSize":1}],"id":47116,"nodeType":"InlineAssembly","src":"8163:257:27"}]},"documentation":{"id":47103,"nodeType":"StructuredDocumentation","src":"7722:263:27","text":"@dev Returns the hexadecimal representation of `value`.\n The output is prefixed with \"0x\" and encoded using 2 hexadecimal digits per byte.\n As address are 20 bytes long, the output will left-padded to have\n a length of `20 * 2 + 2` bytes."},"implemented":true,"kind":"function","modifiers":[],"name":"toHexString","nameLocation":"7999:11:27","parameters":{"id":47106,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47105,"mutability":"mutable","name":"value","nameLocation":"8019:5:27","nodeType":"VariableDeclaration","scope":47118,"src":"8011:13:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47104,"name":"uint256","nodeType":"ElementaryTypeName","src":"8011:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8010:15:27"},"returnParameters":{"id":47109,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47108,"mutability":"mutable","name":"str","nameLocation":"8063:3:27","nodeType":"VariableDeclaration","scope":47118,"src":"8049:17:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47107,"name":"string","nodeType":"ElementaryTypeName","src":"8049:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8048:19:27"},"scope":47666,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47134,"nodeType":"FunctionDefinition","src":"8675:652:27","nodes":[],"body":{"id":47133,"nodeType":"Block","src":"8760:567:27","nodes":[],"statements":[{"expression":{"id":47130,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47126,"name":"str","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47124,"src":"8770:3:27","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":47128,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47121,"src":"8796:5:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47127,"name":"toHexStringNoPrefix","nodeType":"Identifier","overloadedDeclarations":[47102,47160,47202,47228],"referencedDeclaration":47160,"src":"8776:19:27","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"}},"id":47129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8776:26:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"8770:32:27","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":47131,"nodeType":"ExpressionStatement","src":"8770:32:27"},{"AST":{"nativeSrc":"8864:457:27","nodeType":"YulBlock","src":"8864:457:27","statements":[{"nativeSrc":"8878:49:27","nodeType":"YulVariableDeclaration","src":"8878:49:27","value":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"8895:1:27","nodeType":"YulLiteral","src":"8895:1:27","type":"","value":"0"},{"arguments":[{"arguments":[{"name":"str","nativeSrc":"8908:3:27","nodeType":"YulIdentifier","src":"8908:3:27"},{"kind":"number","nativeSrc":"8913:4:27","nodeType":"YulLiteral","src":"8913:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"8904:3:27","nodeType":"YulIdentifier","src":"8904:3:27"},"nativeSrc":"8904:14:27","nodeType":"YulFunctionCall","src":"8904:14:27"}],"functionName":{"name":"mload","nativeSrc":"8898:5:27","nodeType":"YulIdentifier","src":"8898:5:27"},"nativeSrc":"8898:21:27","nodeType":"YulFunctionCall","src":"8898:21:27"}],"functionName":{"name":"byte","nativeSrc":"8890:4:27","nodeType":"YulIdentifier","src":"8890:4:27"},"nativeSrc":"8890:30:27","nodeType":"YulFunctionCall","src":"8890:30:27"},{"kind":"number","nativeSrc":"8922:4:27","nodeType":"YulLiteral","src":"8922:4:27","type":"","value":"0x30"}],"functionName":{"name":"eq","nativeSrc":"8887:2:27","nodeType":"YulIdentifier","src":"8887:2:27"},"nativeSrc":"8887:40:27","nodeType":"YulFunctionCall","src":"8887:40:27"},"variables":[{"name":"o","nativeSrc":"8882:1:27","nodeType":"YulTypedName","src":"8882:1:27","type":""}]},{"nativeSrc":"8976:35:27","nodeType":"YulVariableDeclaration","src":"8976:35:27","value":{"arguments":[{"arguments":[{"name":"str","nativeSrc":"9003:3:27","nodeType":"YulIdentifier","src":"9003:3:27"}],"functionName":{"name":"mload","nativeSrc":"8997:5:27","nodeType":"YulIdentifier","src":"8997:5:27"},"nativeSrc":"8997:10:27","nodeType":"YulFunctionCall","src":"8997:10:27"},{"kind":"number","nativeSrc":"9009:1:27","nodeType":"YulLiteral","src":"9009:1:27","type":"","value":"2"}],"functionName":{"name":"add","nativeSrc":"8993:3:27","nodeType":"YulIdentifier","src":"8993:3:27"},"nativeSrc":"8993:18:27","nodeType":"YulFunctionCall","src":"8993:18:27"},"variables":[{"name":"strLength","nativeSrc":"8980:9:27","nodeType":"YulTypedName","src":"8980:9:27","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"str","nativeSrc":"9058:3:27","nodeType":"YulIdentifier","src":"9058:3:27"},{"name":"o","nativeSrc":"9063:1:27","nodeType":"YulIdentifier","src":"9063:1:27"}],"functionName":{"name":"add","nativeSrc":"9054:3:27","nodeType":"YulIdentifier","src":"9054:3:27"},"nativeSrc":"9054:11:27","nodeType":"YulFunctionCall","src":"9054:11:27"},{"kind":"number","nativeSrc":"9067:6:27","nodeType":"YulLiteral","src":"9067:6:27","type":"","value":"0x3078"}],"functionName":{"name":"mstore","nativeSrc":"9047:6:27","nodeType":"YulIdentifier","src":"9047:6:27"},"nativeSrc":"9047:27:27","nodeType":"YulFunctionCall","src":"9047:27:27"},"nativeSrc":"9047:27:27","nodeType":"YulExpressionStatement","src":"9047:27:27"},{"nativeSrc":"9142:26:27","nodeType":"YulAssignment","src":"9142:26:27","value":{"arguments":[{"arguments":[{"name":"str","nativeSrc":"9157:3:27","nodeType":"YulIdentifier","src":"9157:3:27"},{"name":"o","nativeSrc":"9162:1:27","nodeType":"YulIdentifier","src":"9162:1:27"}],"functionName":{"name":"add","nativeSrc":"9153:3:27","nodeType":"YulIdentifier","src":"9153:3:27"},"nativeSrc":"9153:11:27","nodeType":"YulFunctionCall","src":"9153:11:27"},{"kind":"number","nativeSrc":"9166:1:27","nodeType":"YulLiteral","src":"9166:1:27","type":"","value":"2"}],"functionName":{"name":"sub","nativeSrc":"9149:3:27","nodeType":"YulIdentifier","src":"9149:3:27"},"nativeSrc":"9149:19:27","nodeType":"YulFunctionCall","src":"9149:19:27"},"variableNames":[{"name":"str","nativeSrc":"9142:3:27","nodeType":"YulIdentifier","src":"9142:3:27"}]},{"expression":{"arguments":[{"name":"str","nativeSrc":"9238:3:27","nodeType":"YulIdentifier","src":"9238:3:27"},{"arguments":[{"name":"strLength","nativeSrc":"9247:9:27","nodeType":"YulIdentifier","src":"9247:9:27"},{"name":"o","nativeSrc":"9258:1:27","nodeType":"YulIdentifier","src":"9258:1:27"}],"functionName":{"name":"sub","nativeSrc":"9243:3:27","nodeType":"YulIdentifier","src":"9243:3:27"},"nativeSrc":"9243:17:27","nodeType":"YulFunctionCall","src":"9243:17:27"}],"functionName":{"name":"mstore","nativeSrc":"9231:6:27","nodeType":"YulIdentifier","src":"9231:6:27"},"nativeSrc":"9231:30:27","nodeType":"YulFunctionCall","src":"9231:30:27"},"nativeSrc":"9231:30:27","nodeType":"YulExpressionStatement","src":"9231:30:27"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":47124,"isOffset":false,"isSlot":false,"src":"8908:3:27","valueSize":1},{"declaration":47124,"isOffset":false,"isSlot":false,"src":"9003:3:27","valueSize":1},{"declaration":47124,"isOffset":false,"isSlot":false,"src":"9058:3:27","valueSize":1},{"declaration":47124,"isOffset":false,"isSlot":false,"src":"9142:3:27","valueSize":1},{"declaration":47124,"isOffset":false,"isSlot":false,"src":"9157:3:27","valueSize":1},{"declaration":47124,"isOffset":false,"isSlot":false,"src":"9238:3:27","valueSize":1}],"id":47132,"nodeType":"InlineAssembly","src":"8855:466:27"}]},"documentation":{"id":47119,"nodeType":"StructuredDocumentation","src":"8432:238:27","text":"@dev Returns the hexadecimal representation of `value`.\n The output is prefixed with \"0x\".\n The output excludes leading \"0\" from the `toHexString` output.\n `0x00: \"0x0\", 0x01: \"0x1\", 0x12: \"0x12\", 0x123: \"0x123\"`."},"implemented":true,"kind":"function","modifiers":[],"name":"toMinimalHexString","nameLocation":"8684:18:27","parameters":{"id":47122,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47121,"mutability":"mutable","name":"value","nameLocation":"8711:5:27","nodeType":"VariableDeclaration","scope":47134,"src":"8703:13:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47120,"name":"uint256","nodeType":"ElementaryTypeName","src":"8703:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8702:15:27"},"returnParameters":{"id":47125,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47124,"mutability":"mutable","name":"str","nameLocation":"8755:3:27","nodeType":"VariableDeclaration","scope":47134,"src":"8741:17:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47123,"name":"string","nodeType":"ElementaryTypeName","src":"8741:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8740:19:27"},"scope":47666,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47150,"nodeType":"FunctionDefinition","src":"9534:545:27","nodes":[],"body":{"id":47149,"nodeType":"Block","src":"9627:452:27","nodes":[],"statements":[{"expression":{"id":47146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47142,"name":"str","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47140,"src":"9637:3:27","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":47144,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47137,"src":"9663:5:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47143,"name":"toHexStringNoPrefix","nodeType":"Identifier","overloadedDeclarations":[47102,47160,47202,47228],"referencedDeclaration":47160,"src":"9643:19:27","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"}},"id":47145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9643:26:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"9637:32:27","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":47147,"nodeType":"ExpressionStatement","src":"9637:32:27"},{"AST":{"nativeSrc":"9731:342:27","nodeType":"YulBlock","src":"9731:342:27","statements":[{"nativeSrc":"9745:49:27","nodeType":"YulVariableDeclaration","src":"9745:49:27","value":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"9762:1:27","nodeType":"YulLiteral","src":"9762:1:27","type":"","value":"0"},{"arguments":[{"arguments":[{"name":"str","nativeSrc":"9775:3:27","nodeType":"YulIdentifier","src":"9775:3:27"},{"kind":"number","nativeSrc":"9780:4:27","nodeType":"YulLiteral","src":"9780:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"9771:3:27","nodeType":"YulIdentifier","src":"9771:3:27"},"nativeSrc":"9771:14:27","nodeType":"YulFunctionCall","src":"9771:14:27"}],"functionName":{"name":"mload","nativeSrc":"9765:5:27","nodeType":"YulIdentifier","src":"9765:5:27"},"nativeSrc":"9765:21:27","nodeType":"YulFunctionCall","src":"9765:21:27"}],"functionName":{"name":"byte","nativeSrc":"9757:4:27","nodeType":"YulIdentifier","src":"9757:4:27"},"nativeSrc":"9757:30:27","nodeType":"YulFunctionCall","src":"9757:30:27"},{"kind":"number","nativeSrc":"9789:4:27","nodeType":"YulLiteral","src":"9789:4:27","type":"","value":"0x30"}],"functionName":{"name":"eq","nativeSrc":"9754:2:27","nodeType":"YulIdentifier","src":"9754:2:27"},"nativeSrc":"9754:40:27","nodeType":"YulFunctionCall","src":"9754:40:27"},"variables":[{"name":"o","nativeSrc":"9749:1:27","nodeType":"YulTypedName","src":"9749:1:27","type":""}]},{"nativeSrc":"9843:27:27","nodeType":"YulVariableDeclaration","src":"9843:27:27","value":{"arguments":[{"name":"str","nativeSrc":"9866:3:27","nodeType":"YulIdentifier","src":"9866:3:27"}],"functionName":{"name":"mload","nativeSrc":"9860:5:27","nodeType":"YulIdentifier","src":"9860:5:27"},"nativeSrc":"9860:10:27","nodeType":"YulFunctionCall","src":"9860:10:27"},"variables":[{"name":"strLength","nativeSrc":"9847:9:27","nodeType":"YulTypedName","src":"9847:9:27","type":""}]},{"nativeSrc":"9902:18:27","nodeType":"YulAssignment","src":"9902:18:27","value":{"arguments":[{"name":"str","nativeSrc":"9913:3:27","nodeType":"YulIdentifier","src":"9913:3:27"},{"name":"o","nativeSrc":"9918:1:27","nodeType":"YulIdentifier","src":"9918:1:27"}],"functionName":{"name":"add","nativeSrc":"9909:3:27","nodeType":"YulIdentifier","src":"9909:3:27"},"nativeSrc":"9909:11:27","nodeType":"YulFunctionCall","src":"9909:11:27"},"variableNames":[{"name":"str","nativeSrc":"9902:3:27","nodeType":"YulIdentifier","src":"9902:3:27"}]},{"expression":{"arguments":[{"name":"str","nativeSrc":"9990:3:27","nodeType":"YulIdentifier","src":"9990:3:27"},{"arguments":[{"name":"strLength","nativeSrc":"9999:9:27","nodeType":"YulIdentifier","src":"9999:9:27"},{"name":"o","nativeSrc":"10010:1:27","nodeType":"YulIdentifier","src":"10010:1:27"}],"functionName":{"name":"sub","nativeSrc":"9995:3:27","nodeType":"YulIdentifier","src":"9995:3:27"},"nativeSrc":"9995:17:27","nodeType":"YulFunctionCall","src":"9995:17:27"}],"functionName":{"name":"mstore","nativeSrc":"9983:6:27","nodeType":"YulIdentifier","src":"9983:6:27"},"nativeSrc":"9983:30:27","nodeType":"YulFunctionCall","src":"9983:30:27"},"nativeSrc":"9983:30:27","nodeType":"YulExpressionStatement","src":"9983:30:27"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":47140,"isOffset":false,"isSlot":false,"src":"9775:3:27","valueSize":1},{"declaration":47140,"isOffset":false,"isSlot":false,"src":"9866:3:27","valueSize":1},{"declaration":47140,"isOffset":false,"isSlot":false,"src":"9902:3:27","valueSize":1},{"declaration":47140,"isOffset":false,"isSlot":false,"src":"9913:3:27","valueSize":1},{"declaration":47140,"isOffset":false,"isSlot":false,"src":"9990:3:27","valueSize":1}],"id":47148,"nodeType":"InlineAssembly","src":"9722:351:27"}]},"documentation":{"id":47135,"nodeType":"StructuredDocumentation","src":"9333:196:27","text":"@dev Returns the hexadecimal representation of `value`.\n The output excludes leading \"0\" from the `toHexStringNoPrefix` output.\n `0x00: \"0\", 0x01: \"1\", 0x12: \"12\", 0x123: \"123\"`."},"implemented":true,"kind":"function","modifiers":[],"name":"toMinimalHexStringNoPrefix","nameLocation":"9543:26:27","parameters":{"id":47138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47137,"mutability":"mutable","name":"value","nameLocation":"9578:5:27","nodeType":"VariableDeclaration","scope":47150,"src":"9570:13:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47136,"name":"uint256","nodeType":"ElementaryTypeName","src":"9570:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9569:15:27"},"returnParameters":{"id":47141,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47140,"mutability":"mutable","name":"str","nameLocation":"9622:3:27","nodeType":"VariableDeclaration","scope":47150,"src":"9608:17:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47139,"name":"string","nodeType":"ElementaryTypeName","src":"9608:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9607:19:27"},"scope":47666,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47160,"nodeType":"FunctionDefinition","src":"10326:1543:27","nodes":[],"body":{"id":47159,"nodeType":"Block","src":"10412:1457:27","nodes":[],"statements":[{"AST":{"nativeSrc":"10474:1389:27","nodeType":"YulBlock","src":"10474:1389:27","statements":[{"nativeSrc":"10738:29:27","nodeType":"YulAssignment","src":"10738:29:27","value":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"10755:4:27","nodeType":"YulLiteral","src":"10755:4:27","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"10749:5:27","nodeType":"YulIdentifier","src":"10749:5:27"},"nativeSrc":"10749:11:27","nodeType":"YulFunctionCall","src":"10749:11:27"},{"kind":"number","nativeSrc":"10762:4:27","nodeType":"YulLiteral","src":"10762:4:27","type":"","value":"0x80"}],"functionName":{"name":"add","nativeSrc":"10745:3:27","nodeType":"YulIdentifier","src":"10745:3:27"},"nativeSrc":"10745:22:27","nodeType":"YulFunctionCall","src":"10745:22:27"},"variableNames":[{"name":"str","nativeSrc":"10738:3:27","nodeType":"YulIdentifier","src":"10738:3:27"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"10823:4:27","nodeType":"YulLiteral","src":"10823:4:27","type":"","value":"0x40"},{"arguments":[{"name":"str","nativeSrc":"10833:3:27","nodeType":"YulIdentifier","src":"10833:3:27"},{"kind":"number","nativeSrc":"10838:4:27","nodeType":"YulLiteral","src":"10838:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"10829:3:27","nodeType":"YulIdentifier","src":"10829:3:27"},"nativeSrc":"10829:14:27","nodeType":"YulFunctionCall","src":"10829:14:27"}],"functionName":{"name":"mstore","nativeSrc":"10816:6:27","nodeType":"YulIdentifier","src":"10816:6:27"},"nativeSrc":"10816:28:27","nodeType":"YulFunctionCall","src":"10816:28:27"},"nativeSrc":"10816:28:27","nodeType":"YulExpressionStatement","src":"10816:28:27"},{"expression":{"arguments":[{"name":"str","nativeSrc":"10914:3:27","nodeType":"YulIdentifier","src":"10914:3:27"},{"kind":"number","nativeSrc":"10919:1:27","nodeType":"YulLiteral","src":"10919:1:27","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"10907:6:27","nodeType":"YulIdentifier","src":"10907:6:27"},"nativeSrc":"10907:14:27","nodeType":"YulFunctionCall","src":"10907:14:27"},"nativeSrc":"10907:14:27","nodeType":"YulExpressionStatement","src":"10907:14:27"},{"nativeSrc":"10995:14:27","nodeType":"YulVariableDeclaration","src":"10995:14:27","value":{"name":"str","nativeSrc":"11006:3:27","nodeType":"YulIdentifier","src":"11006:3:27"},"variables":[{"name":"end","nativeSrc":"10999:3:27","nodeType":"YulTypedName","src":"10999:3:27","type":""}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"11087:4:27","nodeType":"YulLiteral","src":"11087:4:27","type":"","value":"0x0f"},{"kind":"number","nativeSrc":"11093:34:27","nodeType":"YulLiteral","src":"11093:34:27","type":"","value":"0x30313233343536373839616263646566"}],"functionName":{"name":"mstore","nativeSrc":"11080:6:27","nodeType":"YulIdentifier","src":"11080:6:27"},"nativeSrc":"11080:48:27","nodeType":"YulFunctionCall","src":"11080:48:27"},"nativeSrc":"11080:48:27","nodeType":"YulExpressionStatement","src":"11080:48:27"},{"nativeSrc":"11142:15:27","nodeType":"YulVariableDeclaration","src":"11142:15:27","value":{"arguments":[{"kind":"number","nativeSrc":"11155:1:27","nodeType":"YulLiteral","src":"11155:1:27","type":"","value":"1"}],"functionName":{"name":"not","nativeSrc":"11151:3:27","nodeType":"YulIdentifier","src":"11151:3:27"},"nativeSrc":"11151:6:27","nodeType":"YulFunctionCall","src":"11151:6:27"},"variables":[{"name":"w","nativeSrc":"11146:1:27","nodeType":"YulTypedName","src":"11146:1:27","type":""}]},{"body":{"nativeSrc":"11377:265:27","nodeType":"YulBlock","src":"11377:265:27","statements":[{"nativeSrc":"11395:18:27","nodeType":"YulAssignment","src":"11395:18:27","value":{"arguments":[{"name":"str","nativeSrc":"11406:3:27","nodeType":"YulIdentifier","src":"11406:3:27"},{"name":"w","nativeSrc":"11411:1:27","nodeType":"YulIdentifier","src":"11411:1:27"}],"functionName":{"name":"add","nativeSrc":"11402:3:27","nodeType":"YulIdentifier","src":"11402:3:27"},"nativeSrc":"11402:11:27","nodeType":"YulFunctionCall","src":"11402:11:27"},"variableNames":[{"name":"str","nativeSrc":"11395:3:27","nodeType":"YulIdentifier","src":"11395:3:27"}]},{"expression":{"arguments":[{"arguments":[{"name":"str","nativeSrc":"11460:3:27","nodeType":"YulIdentifier","src":"11460:3:27"},{"kind":"number","nativeSrc":"11465:1:27","nodeType":"YulLiteral","src":"11465:1:27","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"11456:3:27","nodeType":"YulIdentifier","src":"11456:3:27"},"nativeSrc":"11456:11:27","nodeType":"YulFunctionCall","src":"11456:11:27"},{"arguments":[{"arguments":[{"name":"temp","nativeSrc":"11479:4:27","nodeType":"YulIdentifier","src":"11479:4:27"},{"kind":"number","nativeSrc":"11485:2:27","nodeType":"YulLiteral","src":"11485:2:27","type":"","value":"15"}],"functionName":{"name":"and","nativeSrc":"11475:3:27","nodeType":"YulIdentifier","src":"11475:3:27"},"nativeSrc":"11475:13:27","nodeType":"YulFunctionCall","src":"11475:13:27"}],"functionName":{"name":"mload","nativeSrc":"11469:5:27","nodeType":"YulIdentifier","src":"11469:5:27"},"nativeSrc":"11469:20:27","nodeType":"YulFunctionCall","src":"11469:20:27"}],"functionName":{"name":"mstore8","nativeSrc":"11448:7:27","nodeType":"YulIdentifier","src":"11448:7:27"},"nativeSrc":"11448:42:27","nodeType":"YulFunctionCall","src":"11448:42:27"},"nativeSrc":"11448:42:27","nodeType":"YulExpressionStatement","src":"11448:42:27"},{"expression":{"arguments":[{"name":"str","nativeSrc":"11515:3:27","nodeType":"YulIdentifier","src":"11515:3:27"},{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"11534:1:27","nodeType":"YulLiteral","src":"11534:1:27","type":"","value":"4"},{"name":"temp","nativeSrc":"11537:4:27","nodeType":"YulIdentifier","src":"11537:4:27"}],"functionName":{"name":"shr","nativeSrc":"11530:3:27","nodeType":"YulIdentifier","src":"11530:3:27"},"nativeSrc":"11530:12:27","nodeType":"YulFunctionCall","src":"11530:12:27"},{"kind":"number","nativeSrc":"11544:2:27","nodeType":"YulLiteral","src":"11544:2:27","type":"","value":"15"}],"functionName":{"name":"and","nativeSrc":"11526:3:27","nodeType":"YulIdentifier","src":"11526:3:27"},"nativeSrc":"11526:21:27","nodeType":"YulFunctionCall","src":"11526:21:27"}],"functionName":{"name":"mload","nativeSrc":"11520:5:27","nodeType":"YulIdentifier","src":"11520:5:27"},"nativeSrc":"11520:28:27","nodeType":"YulFunctionCall","src":"11520:28:27"}],"functionName":{"name":"mstore8","nativeSrc":"11507:7:27","nodeType":"YulIdentifier","src":"11507:7:27"},"nativeSrc":"11507:42:27","nodeType":"YulFunctionCall","src":"11507:42:27"},"nativeSrc":"11507:42:27","nodeType":"YulExpressionStatement","src":"11507:42:27"},{"nativeSrc":"11566:20:27","nodeType":"YulAssignment","src":"11566:20:27","value":{"arguments":[{"kind":"number","nativeSrc":"11578:1:27","nodeType":"YulLiteral","src":"11578:1:27","type":"","value":"8"},{"name":"temp","nativeSrc":"11581:4:27","nodeType":"YulIdentifier","src":"11581:4:27"}],"functionName":{"name":"shr","nativeSrc":"11574:3:27","nodeType":"YulIdentifier","src":"11574:3:27"},"nativeSrc":"11574:12:27","nodeType":"YulFunctionCall","src":"11574:12:27"},"variableNames":[{"name":"temp","nativeSrc":"11566:4:27","nodeType":"YulIdentifier","src":"11566:4:27"}]},{"body":{"nativeSrc":"11619:9:27","nodeType":"YulBlock","src":"11619:9:27","statements":[{"nativeSrc":"11621:5:27","nodeType":"YulBreak","src":"11621:5:27"}]},"condition":{"arguments":[{"name":"temp","nativeSrc":"11613:4:27","nodeType":"YulIdentifier","src":"11613:4:27"}],"functionName":{"name":"iszero","nativeSrc":"11606:6:27","nodeType":"YulIdentifier","src":"11606:6:27"},"nativeSrc":"11606:12:27","nodeType":"YulFunctionCall","src":"11606:12:27"},"nativeSrc":"11603:25:27","nodeType":"YulIf","src":"11603:25:27"}]},"condition":{"kind":"number","nativeSrc":"11372:1:27","nodeType":"YulLiteral","src":"11372:1:27","type":"","value":"1"},"nativeSrc":"11346:296:27","nodeType":"YulForLoop","post":{"nativeSrc":"11374:2:27","nodeType":"YulBlock","src":"11374:2:27","statements":[]},"pre":{"nativeSrc":"11350:21:27","nodeType":"YulBlock","src":"11350:21:27","statements":[{"nativeSrc":"11352:17:27","nodeType":"YulVariableDeclaration","src":"11352:17:27","value":{"name":"value","nativeSrc":"11364:5:27","nodeType":"YulIdentifier","src":"11364:5:27"},"variables":[{"name":"temp","nativeSrc":"11356:4:27","nodeType":"YulTypedName","src":"11356:4:27","type":""}]}]},"src":"11346:296:27"},{"nativeSrc":"11700:30:27","nodeType":"YulVariableDeclaration","src":"11700:30:27","value":{"arguments":[{"name":"end","nativeSrc":"11721:3:27","nodeType":"YulIdentifier","src":"11721:3:27"},{"name":"str","nativeSrc":"11726:3:27","nodeType":"YulIdentifier","src":"11726:3:27"}],"functionName":{"name":"sub","nativeSrc":"11717:3:27","nodeType":"YulIdentifier","src":"11717:3:27"},"nativeSrc":"11717:13:27","nodeType":"YulFunctionCall","src":"11717:13:27"},"variables":[{"name":"strLength","nativeSrc":"11704:9:27","nodeType":"YulTypedName","src":"11704:9:27","type":""}]},{"nativeSrc":"11797:21:27","nodeType":"YulAssignment","src":"11797:21:27","value":{"arguments":[{"name":"str","nativeSrc":"11808:3:27","nodeType":"YulIdentifier","src":"11808:3:27"},{"kind":"number","nativeSrc":"11813:4:27","nodeType":"YulLiteral","src":"11813:4:27","type":"","value":"0x20"}],"functionName":{"name":"sub","nativeSrc":"11804:3:27","nodeType":"YulIdentifier","src":"11804:3:27"},"nativeSrc":"11804:14:27","nodeType":"YulFunctionCall","src":"11804:14:27"},"variableNames":[{"name":"str","nativeSrc":"11797:3:27","nodeType":"YulIdentifier","src":"11797:3:27"}]},{"expression":{"arguments":[{"name":"str","nativeSrc":"11838:3:27","nodeType":"YulIdentifier","src":"11838:3:27"},{"name":"strLength","nativeSrc":"11843:9:27","nodeType":"YulIdentifier","src":"11843:9:27"}],"functionName":{"name":"mstore","nativeSrc":"11831:6:27","nodeType":"YulIdentifier","src":"11831:6:27"},"nativeSrc":"11831:22:27","nodeType":"YulFunctionCall","src":"11831:22:27"},"nativeSrc":"11831:22:27","nodeType":"YulExpressionStatement","src":"11831:22:27"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":47156,"isOffset":false,"isSlot":false,"src":"10738:3:27","valueSize":1},{"declaration":47156,"isOffset":false,"isSlot":false,"src":"10833:3:27","valueSize":1},{"declaration":47156,"isOffset":false,"isSlot":false,"src":"10914:3:27","valueSize":1},{"declaration":47156,"isOffset":false,"isSlot":false,"src":"11006:3:27","valueSize":1},{"declaration":47156,"isOffset":false,"isSlot":false,"src":"11395:3:27","valueSize":1},{"declaration":47156,"isOffset":false,"isSlot":false,"src":"11406:3:27","valueSize":1},{"declaration":47156,"isOffset":false,"isSlot":false,"src":"11460:3:27","valueSize":1},{"declaration":47156,"isOffset":false,"isSlot":false,"src":"11515:3:27","valueSize":1},{"declaration":47156,"isOffset":false,"isSlot":false,"src":"11726:3:27","valueSize":1},{"declaration":47156,"isOffset":false,"isSlot":false,"src":"11797:3:27","valueSize":1},{"declaration":47156,"isOffset":false,"isSlot":false,"src":"11808:3:27","valueSize":1},{"declaration":47156,"isOffset":false,"isSlot":false,"src":"11838:3:27","valueSize":1},{"declaration":47153,"isOffset":false,"isSlot":false,"src":"11364:5:27","valueSize":1}],"id":47158,"nodeType":"InlineAssembly","src":"10465:1398:27"}]},"documentation":{"id":47151,"nodeType":"StructuredDocumentation","src":"10085:236:27","text":"@dev Returns the hexadecimal representation of `value`.\n The output is encoded using 2 hexadecimal digits per byte.\n As address are 20 bytes long, the output will left-padded to have\n a length of `20 * 2` bytes."},"implemented":true,"kind":"function","modifiers":[],"name":"toHexStringNoPrefix","nameLocation":"10335:19:27","parameters":{"id":47154,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47153,"mutability":"mutable","name":"value","nameLocation":"10363:5:27","nodeType":"VariableDeclaration","scope":47160,"src":"10355:13:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47152,"name":"uint256","nodeType":"ElementaryTypeName","src":"10355:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10354:15:27"},"returnParameters":{"id":47157,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47156,"mutability":"mutable","name":"str","nameLocation":"10407:3:27","nodeType":"VariableDeclaration","scope":47160,"src":"10393:17:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47155,"name":"string","nodeType":"ElementaryTypeName","src":"10393:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10392:19:27"},"scope":47666,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47176,"nodeType":"FunctionDefinition","src":"12141:838:27","nodes":[],"body":{"id":47175,"nodeType":"Block","src":"12230:749:27","nodes":[],"statements":[{"expression":{"id":47172,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47168,"name":"str","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47166,"src":"12240:3:27","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":47170,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47163,"src":"12258:5:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":47169,"name":"toHexString","nodeType":"Identifier","overloadedDeclarations":[47090,47118,47192,47218],"referencedDeclaration":47192,"src":"12246:11:27","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure returns (string memory)"}},"id":47171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12246:18:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"12240:24:27","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":47173,"nodeType":"ExpressionStatement","src":"12240:24:27"},{"AST":{"nativeSrc":"12326:647:27","nodeType":"YulBlock","src":"12326:647:27","statements":[{"nativeSrc":"12340:36:27","nodeType":"YulVariableDeclaration","src":"12340:36:27","value":{"arguments":[{"kind":"number","nativeSrc":"12356:1:27","nodeType":"YulLiteral","src":"12356:1:27","type":"","value":"6"},{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"12367:1:27","nodeType":"YulLiteral","src":"12367:1:27","type":"","value":"0"}],"functionName":{"name":"not","nativeSrc":"12363:3:27","nodeType":"YulIdentifier","src":"12363:3:27"},"nativeSrc":"12363:6:27","nodeType":"YulFunctionCall","src":"12363:6:27"},{"kind":"number","nativeSrc":"12371:3:27","nodeType":"YulLiteral","src":"12371:3:27","type":"","value":"255"}],"functionName":{"name":"div","nativeSrc":"12359:3:27","nodeType":"YulIdentifier","src":"12359:3:27"},"nativeSrc":"12359:16:27","nodeType":"YulFunctionCall","src":"12359:16:27"}],"functionName":{"name":"shl","nativeSrc":"12352:3:27","nodeType":"YulIdentifier","src":"12352:3:27"},"nativeSrc":"12352:24:27","nodeType":"YulFunctionCall","src":"12352:24:27"},"variables":[{"name":"mask","nativeSrc":"12344:4:27","nodeType":"YulTypedName","src":"12344:4:27","type":""}]},{"nativeSrc":"12419:23:27","nodeType":"YulVariableDeclaration","src":"12419:23:27","value":{"arguments":[{"name":"str","nativeSrc":"12432:3:27","nodeType":"YulIdentifier","src":"12432:3:27"},{"kind":"number","nativeSrc":"12437:4:27","nodeType":"YulLiteral","src":"12437:4:27","type":"","value":"0x22"}],"functionName":{"name":"add","nativeSrc":"12428:3:27","nodeType":"YulIdentifier","src":"12428:3:27"},"nativeSrc":"12428:14:27","nodeType":"YulFunctionCall","src":"12428:14:27"},"variables":[{"name":"o","nativeSrc":"12423:1:27","nodeType":"YulTypedName","src":"12423:1:27","type":""}]},{"nativeSrc":"12455:50:27","nodeType":"YulVariableDeclaration","src":"12455:50:27","value":{"arguments":[{"arguments":[{"name":"o","nativeSrc":"12483:1:27","nodeType":"YulIdentifier","src":"12483:1:27"},{"kind":"number","nativeSrc":"12486:2:27","nodeType":"YulLiteral","src":"12486:2:27","type":"","value":"40"}],"functionName":{"name":"keccak256","nativeSrc":"12473:9:27","nodeType":"YulIdentifier","src":"12473:9:27"},"nativeSrc":"12473:16:27","nodeType":"YulFunctionCall","src":"12473:16:27"},{"arguments":[{"kind":"number","nativeSrc":"12495:2:27","nodeType":"YulLiteral","src":"12495:2:27","type":"","value":"34"},{"name":"mask","nativeSrc":"12499:4:27","nodeType":"YulIdentifier","src":"12499:4:27"}],"functionName":{"name":"mul","nativeSrc":"12491:3:27","nodeType":"YulIdentifier","src":"12491:3:27"},"nativeSrc":"12491:13:27","nodeType":"YulFunctionCall","src":"12491:13:27"}],"functionName":{"name":"and","nativeSrc":"12469:3:27","nodeType":"YulIdentifier","src":"12469:3:27"},"nativeSrc":"12469:36:27","nodeType":"YulFunctionCall","src":"12469:36:27"},"variables":[{"name":"hashed","nativeSrc":"12459:6:27","nodeType":"YulTypedName","src":"12459:6:27","type":""}]},{"nativeSrc":"12539:22:27","nodeType":"YulVariableDeclaration","src":"12539:22:27","value":{"arguments":[{"kind":"number","nativeSrc":"12552:3:27","nodeType":"YulLiteral","src":"12552:3:27","type":"","value":"240"},{"kind":"number","nativeSrc":"12557:3:27","nodeType":"YulLiteral","src":"12557:3:27","type":"","value":"136"}],"functionName":{"name":"shl","nativeSrc":"12548:3:27","nodeType":"YulIdentifier","src":"12548:3:27"},"nativeSrc":"12548:13:27","nodeType":"YulFunctionCall","src":"12548:13:27"},"variables":[{"name":"t","nativeSrc":"12543:1:27","nodeType":"YulTypedName","src":"12543:1:27","type":""}]},{"body":{"nativeSrc":"12621:144:27","nodeType":"YulBlock","src":"12621:144:27","statements":[{"expression":{"arguments":[{"arguments":[{"name":"i","nativeSrc":"12650:1:27","nodeType":"YulIdentifier","src":"12650:1:27"},{"name":"i","nativeSrc":"12653:1:27","nodeType":"YulIdentifier","src":"12653:1:27"}],"functionName":{"name":"add","nativeSrc":"12646:3:27","nodeType":"YulIdentifier","src":"12646:3:27"},"nativeSrc":"12646:9:27","nodeType":"YulFunctionCall","src":"12646:9:27"},{"arguments":[{"name":"t","nativeSrc":"12661:1:27","nodeType":"YulIdentifier","src":"12661:1:27"},{"arguments":[{"name":"i","nativeSrc":"12669:1:27","nodeType":"YulIdentifier","src":"12669:1:27"},{"name":"hashed","nativeSrc":"12672:6:27","nodeType":"YulIdentifier","src":"12672:6:27"}],"functionName":{"name":"byte","nativeSrc":"12664:4:27","nodeType":"YulIdentifier","src":"12664:4:27"},"nativeSrc":"12664:15:27","nodeType":"YulFunctionCall","src":"12664:15:27"}],"functionName":{"name":"mul","nativeSrc":"12657:3:27","nodeType":"YulIdentifier","src":"12657:3:27"},"nativeSrc":"12657:23:27","nodeType":"YulFunctionCall","src":"12657:23:27"}],"functionName":{"name":"mstore","nativeSrc":"12639:6:27","nodeType":"YulIdentifier","src":"12639:6:27"},"nativeSrc":"12639:42:27","nodeType":"YulFunctionCall","src":"12639:42:27"},"nativeSrc":"12639:42:27","nodeType":"YulExpressionStatement","src":"12639:42:27"},{"nativeSrc":"12698:14:27","nodeType":"YulAssignment","src":"12698:14:27","value":{"arguments":[{"name":"i","nativeSrc":"12707:1:27","nodeType":"YulIdentifier","src":"12707:1:27"},{"kind":"number","nativeSrc":"12710:1:27","nodeType":"YulLiteral","src":"12710:1:27","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"12703:3:27","nodeType":"YulIdentifier","src":"12703:3:27"},"nativeSrc":"12703:9:27","nodeType":"YulFunctionCall","src":"12703:9:27"},"variableNames":[{"name":"i","nativeSrc":"12698:1:27","nodeType":"YulIdentifier","src":"12698:1:27"}]},{"body":{"nativeSrc":"12742:9:27","nodeType":"YulBlock","src":"12742:9:27","statements":[{"nativeSrc":"12744:5:27","nodeType":"YulBreak","src":"12744:5:27"}]},"condition":{"arguments":[{"name":"i","nativeSrc":"12735:1:27","nodeType":"YulIdentifier","src":"12735:1:27"},{"kind":"number","nativeSrc":"12738:2:27","nodeType":"YulLiteral","src":"12738:2:27","type":"","value":"20"}],"functionName":{"name":"eq","nativeSrc":"12732:2:27","nodeType":"YulIdentifier","src":"12732:2:27"},"nativeSrc":"12732:9:27","nodeType":"YulFunctionCall","src":"12732:9:27"},"nativeSrc":"12729:22:27","nodeType":"YulIf","src":"12729:22:27"}]},"condition":{"kind":"number","nativeSrc":"12616:1:27","nodeType":"YulLiteral","src":"12616:1:27","type":"","value":"1"},"nativeSrc":"12597:168:27","nodeType":"YulForLoop","post":{"nativeSrc":"12618:2:27","nodeType":"YulBlock","src":"12618:2:27","statements":[]},"pre":{"nativeSrc":"12601:14:27","nodeType":"YulBlock","src":"12601:14:27","statements":[{"nativeSrc":"12603:10:27","nodeType":"YulVariableDeclaration","src":"12603:10:27","value":{"kind":"number","nativeSrc":"12612:1:27","nodeType":"YulLiteral","src":"12612:1:27","type":"","value":"0"},"variables":[{"name":"i","nativeSrc":"12607:1:27","nodeType":"YulTypedName","src":"12607:1:27","type":""}]}]},"src":"12597:168:27"},{"expression":{"arguments":[{"name":"o","nativeSrc":"12785:1:27","nodeType":"YulIdentifier","src":"12785:1:27"},{"arguments":[{"arguments":[{"name":"o","nativeSrc":"12798:1:27","nodeType":"YulIdentifier","src":"12798:1:27"}],"functionName":{"name":"mload","nativeSrc":"12792:5:27","nodeType":"YulIdentifier","src":"12792:5:27"},"nativeSrc":"12792:8:27","nodeType":"YulFunctionCall","src":"12792:8:27"},{"arguments":[{"kind":"number","nativeSrc":"12806:1:27","nodeType":"YulLiteral","src":"12806:1:27","type":"","value":"1"},{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"12819:4:27","nodeType":"YulLiteral","src":"12819:4:27","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"12813:5:27","nodeType":"YulIdentifier","src":"12813:5:27"},"nativeSrc":"12813:11:27","nodeType":"YulFunctionCall","src":"12813:11:27"},{"arguments":[{"arguments":[{"name":"o","nativeSrc":"12836:1:27","nodeType":"YulIdentifier","src":"12836:1:27"}],"functionName":{"name":"mload","nativeSrc":"12830:5:27","nodeType":"YulIdentifier","src":"12830:5:27"},"nativeSrc":"12830:8:27","nodeType":"YulFunctionCall","src":"12830:8:27"},{"name":"mask","nativeSrc":"12840:4:27","nodeType":"YulIdentifier","src":"12840:4:27"}],"functionName":{"name":"and","nativeSrc":"12826:3:27","nodeType":"YulIdentifier","src":"12826:3:27"},"nativeSrc":"12826:19:27","nodeType":"YulFunctionCall","src":"12826:19:27"}],"functionName":{"name":"and","nativeSrc":"12809:3:27","nodeType":"YulIdentifier","src":"12809:3:27"},"nativeSrc":"12809:37:27","nodeType":"YulFunctionCall","src":"12809:37:27"}],"functionName":{"name":"shr","nativeSrc":"12802:3:27","nodeType":"YulIdentifier","src":"12802:3:27"},"nativeSrc":"12802:45:27","nodeType":"YulFunctionCall","src":"12802:45:27"}],"functionName":{"name":"xor","nativeSrc":"12788:3:27","nodeType":"YulIdentifier","src":"12788:3:27"},"nativeSrc":"12788:60:27","nodeType":"YulFunctionCall","src":"12788:60:27"}],"functionName":{"name":"mstore","nativeSrc":"12778:6:27","nodeType":"YulIdentifier","src":"12778:6:27"},"nativeSrc":"12778:71:27","nodeType":"YulFunctionCall","src":"12778:71:27"},"nativeSrc":"12778:71:27","nodeType":"YulExpressionStatement","src":"12778:71:27"},{"nativeSrc":"12862:17:27","nodeType":"YulAssignment","src":"12862:17:27","value":{"arguments":[{"name":"o","nativeSrc":"12871:1:27","nodeType":"YulIdentifier","src":"12871:1:27"},{"kind":"number","nativeSrc":"12874:4:27","nodeType":"YulLiteral","src":"12874:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"12867:3:27","nodeType":"YulIdentifier","src":"12867:3:27"},"nativeSrc":"12867:12:27","nodeType":"YulFunctionCall","src":"12867:12:27"},"variableNames":[{"name":"o","nativeSrc":"12862:1:27","nodeType":"YulIdentifier","src":"12862:1:27"}]},{"expression":{"arguments":[{"name":"o","nativeSrc":"12899:1:27","nodeType":"YulIdentifier","src":"12899:1:27"},{"arguments":[{"arguments":[{"name":"o","nativeSrc":"12912:1:27","nodeType":"YulIdentifier","src":"12912:1:27"}],"functionName":{"name":"mload","nativeSrc":"12906:5:27","nodeType":"YulIdentifier","src":"12906:5:27"},"nativeSrc":"12906:8:27","nodeType":"YulFunctionCall","src":"12906:8:27"},{"arguments":[{"kind":"number","nativeSrc":"12920:1:27","nodeType":"YulLiteral","src":"12920:1:27","type":"","value":"1"},{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"12933:4:27","nodeType":"YulLiteral","src":"12933:4:27","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"12927:5:27","nodeType":"YulIdentifier","src":"12927:5:27"},"nativeSrc":"12927:11:27","nodeType":"YulFunctionCall","src":"12927:11:27"},{"arguments":[{"arguments":[{"name":"o","nativeSrc":"12950:1:27","nodeType":"YulIdentifier","src":"12950:1:27"}],"functionName":{"name":"mload","nativeSrc":"12944:5:27","nodeType":"YulIdentifier","src":"12944:5:27"},"nativeSrc":"12944:8:27","nodeType":"YulFunctionCall","src":"12944:8:27"},{"name":"mask","nativeSrc":"12954:4:27","nodeType":"YulIdentifier","src":"12954:4:27"}],"functionName":{"name":"and","nativeSrc":"12940:3:27","nodeType":"YulIdentifier","src":"12940:3:27"},"nativeSrc":"12940:19:27","nodeType":"YulFunctionCall","src":"12940:19:27"}],"functionName":{"name":"and","nativeSrc":"12923:3:27","nodeType":"YulIdentifier","src":"12923:3:27"},"nativeSrc":"12923:37:27","nodeType":"YulFunctionCall","src":"12923:37:27"}],"functionName":{"name":"shr","nativeSrc":"12916:3:27","nodeType":"YulIdentifier","src":"12916:3:27"},"nativeSrc":"12916:45:27","nodeType":"YulFunctionCall","src":"12916:45:27"}],"functionName":{"name":"xor","nativeSrc":"12902:3:27","nodeType":"YulIdentifier","src":"12902:3:27"},"nativeSrc":"12902:60:27","nodeType":"YulFunctionCall","src":"12902:60:27"}],"functionName":{"name":"mstore","nativeSrc":"12892:6:27","nodeType":"YulIdentifier","src":"12892:6:27"},"nativeSrc":"12892:71:27","nodeType":"YulFunctionCall","src":"12892:71:27"},"nativeSrc":"12892:71:27","nodeType":"YulExpressionStatement","src":"12892:71:27"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":47166,"isOffset":false,"isSlot":false,"src":"12432:3:27","valueSize":1}],"id":47174,"nodeType":"InlineAssembly","src":"12317:656:27"}]},"documentation":{"id":47161,"nodeType":"StructuredDocumentation","src":"11875:261:27","text":"@dev Returns the hexadecimal representation of `value`.\n The output is prefixed with \"0x\", encoded using 2 hexadecimal digits per byte,\n and the alphabets are capitalized conditionally according to\n https://eips.ethereum.org/EIPS/eip-55"},"implemented":true,"kind":"function","modifiers":[],"name":"toHexStringChecksummed","nameLocation":"12150:22:27","parameters":{"id":47164,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47163,"mutability":"mutable","name":"value","nameLocation":"12181:5:27","nodeType":"VariableDeclaration","scope":47176,"src":"12173:13:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47162,"name":"address","nodeType":"ElementaryTypeName","src":"12173:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12172:15:27"},"returnParameters":{"id":47167,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47166,"mutability":"mutable","name":"str","nameLocation":"12225:3:27","nodeType":"VariableDeclaration","scope":47176,"src":"12211:17:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47165,"name":"string","nodeType":"ElementaryTypeName","src":"12211:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12210:19:27"},"scope":47666,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47192,"nodeType":"FunctionDefinition","src":"13139:436:27","nodes":[],"body":{"id":47191,"nodeType":"Block","src":"13217:358:27","nodes":[],"statements":[{"expression":{"id":47188,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47184,"name":"str","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47182,"src":"13227:3:27","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":47186,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47179,"src":"13253:5:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":47185,"name":"toHexStringNoPrefix","nodeType":"Identifier","overloadedDeclarations":[47102,47160,47202,47228],"referencedDeclaration":47202,"src":"13233:19:27","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure returns (string memory)"}},"id":47187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13233:26:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"13227:32:27","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":47189,"nodeType":"ExpressionStatement","src":"13227:32:27"},{"AST":{"nativeSrc":"13321:248:27","nodeType":"YulBlock","src":"13321:248:27","statements":[{"nativeSrc":"13335:35:27","nodeType":"YulVariableDeclaration","src":"13335:35:27","value":{"arguments":[{"arguments":[{"name":"str","nativeSrc":"13362:3:27","nodeType":"YulIdentifier","src":"13362:3:27"}],"functionName":{"name":"mload","nativeSrc":"13356:5:27","nodeType":"YulIdentifier","src":"13356:5:27"},"nativeSrc":"13356:10:27","nodeType":"YulFunctionCall","src":"13356:10:27"},{"kind":"number","nativeSrc":"13368:1:27","nodeType":"YulLiteral","src":"13368:1:27","type":"","value":"2"}],"functionName":{"name":"add","nativeSrc":"13352:3:27","nodeType":"YulIdentifier","src":"13352:3:27"},"nativeSrc":"13352:18:27","nodeType":"YulFunctionCall","src":"13352:18:27"},"variables":[{"name":"strLength","nativeSrc":"13339:9:27","nodeType":"YulTypedName","src":"13339:9:27","type":""}]},{"expression":{"arguments":[{"name":"str","nativeSrc":"13413:3:27","nodeType":"YulIdentifier","src":"13413:3:27"},{"kind":"number","nativeSrc":"13418:6:27","nodeType":"YulLiteral","src":"13418:6:27","type":"","value":"0x3078"}],"functionName":{"name":"mstore","nativeSrc":"13406:6:27","nodeType":"YulIdentifier","src":"13406:6:27"},"nativeSrc":"13406:19:27","nodeType":"YulFunctionCall","src":"13406:19:27"},"nativeSrc":"13406:19:27","nodeType":"YulExpressionStatement","src":"13406:19:27"},{"nativeSrc":"13464:18:27","nodeType":"YulAssignment","src":"13464:18:27","value":{"arguments":[{"name":"str","nativeSrc":"13475:3:27","nodeType":"YulIdentifier","src":"13475:3:27"},{"kind":"number","nativeSrc":"13480:1:27","nodeType":"YulLiteral","src":"13480:1:27","type":"","value":"2"}],"functionName":{"name":"sub","nativeSrc":"13471:3:27","nodeType":"YulIdentifier","src":"13471:3:27"},"nativeSrc":"13471:11:27","nodeType":"YulFunctionCall","src":"13471:11:27"},"variableNames":[{"name":"str","nativeSrc":"13464:3:27","nodeType":"YulIdentifier","src":"13464:3:27"}]},{"expression":{"arguments":[{"name":"str","nativeSrc":"13523:3:27","nodeType":"YulIdentifier","src":"13523:3:27"},{"name":"strLength","nativeSrc":"13528:9:27","nodeType":"YulIdentifier","src":"13528:9:27"}],"functionName":{"name":"mstore","nativeSrc":"13516:6:27","nodeType":"YulIdentifier","src":"13516:6:27"},"nativeSrc":"13516:22:27","nodeType":"YulFunctionCall","src":"13516:22:27"},"nativeSrc":"13516:22:27","nodeType":"YulExpressionStatement","src":"13516:22:27"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":47182,"isOffset":false,"isSlot":false,"src":"13362:3:27","valueSize":1},{"declaration":47182,"isOffset":false,"isSlot":false,"src":"13413:3:27","valueSize":1},{"declaration":47182,"isOffset":false,"isSlot":false,"src":"13464:3:27","valueSize":1},{"declaration":47182,"isOffset":false,"isSlot":false,"src":"13475:3:27","valueSize":1},{"declaration":47182,"isOffset":false,"isSlot":false,"src":"13523:3:27","valueSize":1}],"id":47190,"nodeType":"InlineAssembly","src":"13312:257:27"}]},"documentation":{"id":47177,"nodeType":"StructuredDocumentation","src":"12985:149:27","text":"@dev Returns the hexadecimal representation of `value`.\n The output is prefixed with \"0x\" and encoded using 2 hexadecimal digits per byte."},"implemented":true,"kind":"function","modifiers":[],"name":"toHexString","nameLocation":"13148:11:27","parameters":{"id":47180,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47179,"mutability":"mutable","name":"value","nameLocation":"13168:5:27","nodeType":"VariableDeclaration","scope":47192,"src":"13160:13:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47178,"name":"address","nodeType":"ElementaryTypeName","src":"13160:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13159:15:27"},"returnParameters":{"id":47183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47182,"mutability":"mutable","name":"str","nameLocation":"13212:3:27","nodeType":"VariableDeclaration","scope":47192,"src":"13198:17:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47181,"name":"string","nodeType":"ElementaryTypeName","src":"13198:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13197:19:27"},"scope":47666,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47202,"nodeType":"FunctionDefinition","src":"13712:1294:27","nodes":[],"body":{"id":47201,"nodeType":"Block","src":"13798:1208:27","nodes":[],"statements":[{"AST":{"nativeSrc":"13860:1140:27","nodeType":"YulBlock","src":"13860:1140:27","statements":[{"nativeSrc":"13874:18:27","nodeType":"YulAssignment","src":"13874:18:27","value":{"arguments":[{"kind":"number","nativeSrc":"13887:4:27","nodeType":"YulLiteral","src":"13887:4:27","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"13881:5:27","nodeType":"YulIdentifier","src":"13881:5:27"},"nativeSrc":"13881:11:27","nodeType":"YulFunctionCall","src":"13881:11:27"},"variableNames":[{"name":"str","nativeSrc":"13874:3:27","nodeType":"YulIdentifier","src":"13874:3:27"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"14199:4:27","nodeType":"YulLiteral","src":"14199:4:27","type":"","value":"0x40"},{"arguments":[{"name":"str","nativeSrc":"14209:3:27","nodeType":"YulIdentifier","src":"14209:3:27"},{"kind":"number","nativeSrc":"14214:4:27","nodeType":"YulLiteral","src":"14214:4:27","type":"","value":"0x80"}],"functionName":{"name":"add","nativeSrc":"14205:3:27","nodeType":"YulIdentifier","src":"14205:3:27"},"nativeSrc":"14205:14:27","nodeType":"YulFunctionCall","src":"14205:14:27"}],"functionName":{"name":"mstore","nativeSrc":"14192:6:27","nodeType":"YulIdentifier","src":"14192:6:27"},"nativeSrc":"14192:28:27","nodeType":"YulFunctionCall","src":"14192:28:27"},"nativeSrc":"14192:28:27","nodeType":"YulExpressionStatement","src":"14192:28:27"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"14299:4:27","nodeType":"YulLiteral","src":"14299:4:27","type":"","value":"0x0f"},{"kind":"number","nativeSrc":"14305:34:27","nodeType":"YulLiteral","src":"14305:34:27","type":"","value":"0x30313233343536373839616263646566"}],"functionName":{"name":"mstore","nativeSrc":"14292:6:27","nodeType":"YulIdentifier","src":"14292:6:27"},"nativeSrc":"14292:48:27","nodeType":"YulFunctionCall","src":"14292:48:27"},"nativeSrc":"14292:48:27","nodeType":"YulExpressionStatement","src":"14292:48:27"},{"nativeSrc":"14354:18:27","nodeType":"YulAssignment","src":"14354:18:27","value":{"arguments":[{"name":"str","nativeSrc":"14365:3:27","nodeType":"YulIdentifier","src":"14365:3:27"},{"kind":"number","nativeSrc":"14370:1:27","nodeType":"YulLiteral","src":"14370:1:27","type":"","value":"2"}],"functionName":{"name":"add","nativeSrc":"14361:3:27","nodeType":"YulIdentifier","src":"14361:3:27"},"nativeSrc":"14361:11:27","nodeType":"YulFunctionCall","src":"14361:11:27"},"variableNames":[{"name":"str","nativeSrc":"14354:3:27","nodeType":"YulIdentifier","src":"14354:3:27"}]},{"expression":{"arguments":[{"name":"str","nativeSrc":"14392:3:27","nodeType":"YulIdentifier","src":"14392:3:27"},{"kind":"number","nativeSrc":"14397:2:27","nodeType":"YulLiteral","src":"14397:2:27","type":"","value":"40"}],"functionName":{"name":"mstore","nativeSrc":"14385:6:27","nodeType":"YulIdentifier","src":"14385:6:27"},"nativeSrc":"14385:15:27","nodeType":"YulFunctionCall","src":"14385:15:27"},"nativeSrc":"14385:15:27","nodeType":"YulExpressionStatement","src":"14385:15:27"},{"nativeSrc":"14414:23:27","nodeType":"YulVariableDeclaration","src":"14414:23:27","value":{"arguments":[{"name":"str","nativeSrc":"14427:3:27","nodeType":"YulIdentifier","src":"14427:3:27"},{"kind":"number","nativeSrc":"14432:4:27","nodeType":"YulLiteral","src":"14432:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"14423:3:27","nodeType":"YulIdentifier","src":"14423:3:27"},"nativeSrc":"14423:14:27","nodeType":"YulFunctionCall","src":"14423:14:27"},"variables":[{"name":"o","nativeSrc":"14418:1:27","nodeType":"YulTypedName","src":"14418:1:27","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"o","nativeSrc":"14461:1:27","nodeType":"YulIdentifier","src":"14461:1:27"},{"kind":"number","nativeSrc":"14464:2:27","nodeType":"YulLiteral","src":"14464:2:27","type":"","value":"40"}],"functionName":{"name":"add","nativeSrc":"14457:3:27","nodeType":"YulIdentifier","src":"14457:3:27"},"nativeSrc":"14457:10:27","nodeType":"YulFunctionCall","src":"14457:10:27"},{"kind":"number","nativeSrc":"14469:1:27","nodeType":"YulLiteral","src":"14469:1:27","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"14450:6:27","nodeType":"YulIdentifier","src":"14450:6:27"},"nativeSrc":"14450:21:27","nodeType":"YulFunctionCall","src":"14450:21:27"},"nativeSrc":"14450:21:27","nodeType":"YulExpressionStatement","src":"14450:21:27"},{"nativeSrc":"14485:23:27","nodeType":"YulAssignment","src":"14485:23:27","value":{"arguments":[{"kind":"number","nativeSrc":"14498:2:27","nodeType":"YulLiteral","src":"14498:2:27","type":"","value":"96"},{"name":"value","nativeSrc":"14502:5:27","nodeType":"YulIdentifier","src":"14502:5:27"}],"functionName":{"name":"shl","nativeSrc":"14494:3:27","nodeType":"YulIdentifier","src":"14494:3:27"},"nativeSrc":"14494:14:27","nodeType":"YulFunctionCall","src":"14494:14:27"},"variableNames":[{"name":"value","nativeSrc":"14485:5:27","nodeType":"YulIdentifier","src":"14485:5:27"}]},{"body":{"nativeSrc":"14714:276:27","nodeType":"YulBlock","src":"14714:276:27","statements":[{"nativeSrc":"14732:26:27","nodeType":"YulVariableDeclaration","src":"14732:26:27","value":{"arguments":[{"name":"o","nativeSrc":"14745:1:27","nodeType":"YulIdentifier","src":"14745:1:27"},{"arguments":[{"name":"i","nativeSrc":"14752:1:27","nodeType":"YulIdentifier","src":"14752:1:27"},{"name":"i","nativeSrc":"14755:1:27","nodeType":"YulIdentifier","src":"14755:1:27"}],"functionName":{"name":"add","nativeSrc":"14748:3:27","nodeType":"YulIdentifier","src":"14748:3:27"},"nativeSrc":"14748:9:27","nodeType":"YulFunctionCall","src":"14748:9:27"}],"functionName":{"name":"add","nativeSrc":"14741:3:27","nodeType":"YulIdentifier","src":"14741:3:27"},"nativeSrc":"14741:17:27","nodeType":"YulFunctionCall","src":"14741:17:27"},"variables":[{"name":"p","nativeSrc":"14736:1:27","nodeType":"YulTypedName","src":"14736:1:27","type":""}]},{"nativeSrc":"14775:26:27","nodeType":"YulVariableDeclaration","src":"14775:26:27","value":{"arguments":[{"name":"i","nativeSrc":"14792:1:27","nodeType":"YulIdentifier","src":"14792:1:27"},{"name":"value","nativeSrc":"14795:5:27","nodeType":"YulIdentifier","src":"14795:5:27"}],"functionName":{"name":"byte","nativeSrc":"14787:4:27","nodeType":"YulIdentifier","src":"14787:4:27"},"nativeSrc":"14787:14:27","nodeType":"YulFunctionCall","src":"14787:14:27"},"variables":[{"name":"temp","nativeSrc":"14779:4:27","nodeType":"YulTypedName","src":"14779:4:27","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"p","nativeSrc":"14830:1:27","nodeType":"YulIdentifier","src":"14830:1:27"},{"kind":"number","nativeSrc":"14833:1:27","nodeType":"YulLiteral","src":"14833:1:27","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"14826:3:27","nodeType":"YulIdentifier","src":"14826:3:27"},"nativeSrc":"14826:9:27","nodeType":"YulFunctionCall","src":"14826:9:27"},{"arguments":[{"arguments":[{"name":"temp","nativeSrc":"14847:4:27","nodeType":"YulIdentifier","src":"14847:4:27"},{"kind":"number","nativeSrc":"14853:2:27","nodeType":"YulLiteral","src":"14853:2:27","type":"","value":"15"}],"functionName":{"name":"and","nativeSrc":"14843:3:27","nodeType":"YulIdentifier","src":"14843:3:27"},"nativeSrc":"14843:13:27","nodeType":"YulFunctionCall","src":"14843:13:27"}],"functionName":{"name":"mload","nativeSrc":"14837:5:27","nodeType":"YulIdentifier","src":"14837:5:27"},"nativeSrc":"14837:20:27","nodeType":"YulFunctionCall","src":"14837:20:27"}],"functionName":{"name":"mstore8","nativeSrc":"14818:7:27","nodeType":"YulIdentifier","src":"14818:7:27"},"nativeSrc":"14818:40:27","nodeType":"YulFunctionCall","src":"14818:40:27"},"nativeSrc":"14818:40:27","nodeType":"YulExpressionStatement","src":"14818:40:27"},{"expression":{"arguments":[{"name":"p","nativeSrc":"14883:1:27","nodeType":"YulIdentifier","src":"14883:1:27"},{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"14896:1:27","nodeType":"YulLiteral","src":"14896:1:27","type":"","value":"4"},{"name":"temp","nativeSrc":"14899:4:27","nodeType":"YulIdentifier","src":"14899:4:27"}],"functionName":{"name":"shr","nativeSrc":"14892:3:27","nodeType":"YulIdentifier","src":"14892:3:27"},"nativeSrc":"14892:12:27","nodeType":"YulFunctionCall","src":"14892:12:27"}],"functionName":{"name":"mload","nativeSrc":"14886:5:27","nodeType":"YulIdentifier","src":"14886:5:27"},"nativeSrc":"14886:19:27","nodeType":"YulFunctionCall","src":"14886:19:27"}],"functionName":{"name":"mstore8","nativeSrc":"14875:7:27","nodeType":"YulIdentifier","src":"14875:7:27"},"nativeSrc":"14875:31:27","nodeType":"YulFunctionCall","src":"14875:31:27"},"nativeSrc":"14875:31:27","nodeType":"YulExpressionStatement","src":"14875:31:27"},{"nativeSrc":"14923:14:27","nodeType":"YulAssignment","src":"14923:14:27","value":{"arguments":[{"name":"i","nativeSrc":"14932:1:27","nodeType":"YulIdentifier","src":"14932:1:27"},{"kind":"number","nativeSrc":"14935:1:27","nodeType":"YulLiteral","src":"14935:1:27","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"14928:3:27","nodeType":"YulIdentifier","src":"14928:3:27"},"nativeSrc":"14928:9:27","nodeType":"YulFunctionCall","src":"14928:9:27"},"variableNames":[{"name":"i","nativeSrc":"14923:1:27","nodeType":"YulIdentifier","src":"14923:1:27"}]},{"body":{"nativeSrc":"14967:9:27","nodeType":"YulBlock","src":"14967:9:27","statements":[{"nativeSrc":"14969:5:27","nodeType":"YulBreak","src":"14969:5:27"}]},"condition":{"arguments":[{"name":"i","nativeSrc":"14960:1:27","nodeType":"YulIdentifier","src":"14960:1:27"},{"kind":"number","nativeSrc":"14963:2:27","nodeType":"YulLiteral","src":"14963:2:27","type":"","value":"20"}],"functionName":{"name":"eq","nativeSrc":"14957:2:27","nodeType":"YulIdentifier","src":"14957:2:27"},"nativeSrc":"14957:9:27","nodeType":"YulFunctionCall","src":"14957:9:27"},"nativeSrc":"14954:22:27","nodeType":"YulIf","src":"14954:22:27"}]},"condition":{"kind":"number","nativeSrc":"14709:1:27","nodeType":"YulLiteral","src":"14709:1:27","type":"","value":"1"},"nativeSrc":"14690:300:27","nodeType":"YulForLoop","post":{"nativeSrc":"14711:2:27","nodeType":"YulBlock","src":"14711:2:27","statements":[]},"pre":{"nativeSrc":"14694:14:27","nodeType":"YulBlock","src":"14694:14:27","statements":[{"nativeSrc":"14696:10:27","nodeType":"YulVariableDeclaration","src":"14696:10:27","value":{"kind":"number","nativeSrc":"14705:1:27","nodeType":"YulLiteral","src":"14705:1:27","type":"","value":"0"},"variables":[{"name":"i","nativeSrc":"14700:1:27","nodeType":"YulTypedName","src":"14700:1:27","type":""}]}]},"src":"14690:300:27"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":47198,"isOffset":false,"isSlot":false,"src":"13874:3:27","valueSize":1},{"declaration":47198,"isOffset":false,"isSlot":false,"src":"14209:3:27","valueSize":1},{"declaration":47198,"isOffset":false,"isSlot":false,"src":"14354:3:27","valueSize":1},{"declaration":47198,"isOffset":false,"isSlot":false,"src":"14365:3:27","valueSize":1},{"declaration":47198,"isOffset":false,"isSlot":false,"src":"14392:3:27","valueSize":1},{"declaration":47198,"isOffset":false,"isSlot":false,"src":"14427:3:27","valueSize":1},{"declaration":47195,"isOffset":false,"isSlot":false,"src":"14485:5:27","valueSize":1},{"declaration":47195,"isOffset":false,"isSlot":false,"src":"14502:5:27","valueSize":1},{"declaration":47195,"isOffset":false,"isSlot":false,"src":"14795:5:27","valueSize":1}],"id":47200,"nodeType":"InlineAssembly","src":"13851:1149:27"}]},"documentation":{"id":47193,"nodeType":"StructuredDocumentation","src":"13581:126:27","text":"@dev Returns the hexadecimal representation of `value`.\n The output is encoded using 2 hexadecimal digits per byte."},"implemented":true,"kind":"function","modifiers":[],"name":"toHexStringNoPrefix","nameLocation":"13721:19:27","parameters":{"id":47196,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47195,"mutability":"mutable","name":"value","nameLocation":"13749:5:27","nodeType":"VariableDeclaration","scope":47202,"src":"13741:13:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47194,"name":"address","nodeType":"ElementaryTypeName","src":"13741:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13740:15:27"},"returnParameters":{"id":47199,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47198,"mutability":"mutable","name":"str","nameLocation":"13793:3:27","nodeType":"VariableDeclaration","scope":47202,"src":"13779:17:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47197,"name":"string","nodeType":"ElementaryTypeName","src":"13779:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13778:19:27"},"scope":47666,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47218,"nodeType":"FunctionDefinition","src":"15143:437:27","nodes":[],"body":{"id":47217,"nodeType":"Block","src":"15224:356:27","nodes":[],"statements":[{"expression":{"id":47214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47210,"name":"str","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47208,"src":"15234:3:27","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":47212,"name":"raw","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47205,"src":"15260:3:27","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":47211,"name":"toHexStringNoPrefix","nodeType":"Identifier","overloadedDeclarations":[47102,47160,47202,47228],"referencedDeclaration":47228,"src":"15240:19:27","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure returns (string memory)"}},"id":47213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15240:24:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"15234:30:27","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":47215,"nodeType":"ExpressionStatement","src":"15234:30:27"},{"AST":{"nativeSrc":"15326:248:27","nodeType":"YulBlock","src":"15326:248:27","statements":[{"nativeSrc":"15340:35:27","nodeType":"YulVariableDeclaration","src":"15340:35:27","value":{"arguments":[{"arguments":[{"name":"str","nativeSrc":"15367:3:27","nodeType":"YulIdentifier","src":"15367:3:27"}],"functionName":{"name":"mload","nativeSrc":"15361:5:27","nodeType":"YulIdentifier","src":"15361:5:27"},"nativeSrc":"15361:10:27","nodeType":"YulFunctionCall","src":"15361:10:27"},{"kind":"number","nativeSrc":"15373:1:27","nodeType":"YulLiteral","src":"15373:1:27","type":"","value":"2"}],"functionName":{"name":"add","nativeSrc":"15357:3:27","nodeType":"YulIdentifier","src":"15357:3:27"},"nativeSrc":"15357:18:27","nodeType":"YulFunctionCall","src":"15357:18:27"},"variables":[{"name":"strLength","nativeSrc":"15344:9:27","nodeType":"YulTypedName","src":"15344:9:27","type":""}]},{"expression":{"arguments":[{"name":"str","nativeSrc":"15418:3:27","nodeType":"YulIdentifier","src":"15418:3:27"},{"kind":"number","nativeSrc":"15423:6:27","nodeType":"YulLiteral","src":"15423:6:27","type":"","value":"0x3078"}],"functionName":{"name":"mstore","nativeSrc":"15411:6:27","nodeType":"YulIdentifier","src":"15411:6:27"},"nativeSrc":"15411:19:27","nodeType":"YulFunctionCall","src":"15411:19:27"},"nativeSrc":"15411:19:27","nodeType":"YulExpressionStatement","src":"15411:19:27"},{"nativeSrc":"15469:18:27","nodeType":"YulAssignment","src":"15469:18:27","value":{"arguments":[{"name":"str","nativeSrc":"15480:3:27","nodeType":"YulIdentifier","src":"15480:3:27"},{"kind":"number","nativeSrc":"15485:1:27","nodeType":"YulLiteral","src":"15485:1:27","type":"","value":"2"}],"functionName":{"name":"sub","nativeSrc":"15476:3:27","nodeType":"YulIdentifier","src":"15476:3:27"},"nativeSrc":"15476:11:27","nodeType":"YulFunctionCall","src":"15476:11:27"},"variableNames":[{"name":"str","nativeSrc":"15469:3:27","nodeType":"YulIdentifier","src":"15469:3:27"}]},{"expression":{"arguments":[{"name":"str","nativeSrc":"15528:3:27","nodeType":"YulIdentifier","src":"15528:3:27"},{"name":"strLength","nativeSrc":"15533:9:27","nodeType":"YulIdentifier","src":"15533:9:27"}],"functionName":{"name":"mstore","nativeSrc":"15521:6:27","nodeType":"YulIdentifier","src":"15521:6:27"},"nativeSrc":"15521:22:27","nodeType":"YulFunctionCall","src":"15521:22:27"},"nativeSrc":"15521:22:27","nodeType":"YulExpressionStatement","src":"15521:22:27"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":47208,"isOffset":false,"isSlot":false,"src":"15367:3:27","valueSize":1},{"declaration":47208,"isOffset":false,"isSlot":false,"src":"15418:3:27","valueSize":1},{"declaration":47208,"isOffset":false,"isSlot":false,"src":"15469:3:27","valueSize":1},{"declaration":47208,"isOffset":false,"isSlot":false,"src":"15480:3:27","valueSize":1},{"declaration":47208,"isOffset":false,"isSlot":false,"src":"15528:3:27","valueSize":1}],"id":47216,"nodeType":"InlineAssembly","src":"15317:257:27"}]},"documentation":{"id":47203,"nodeType":"StructuredDocumentation","src":"15012:126:27","text":"@dev Returns the hex encoded string from the raw bytes.\n The output is encoded using 2 hexadecimal digits per byte."},"implemented":true,"kind":"function","modifiers":[],"name":"toHexString","nameLocation":"15152:11:27","parameters":{"id":47206,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47205,"mutability":"mutable","name":"raw","nameLocation":"15177:3:27","nodeType":"VariableDeclaration","scope":47218,"src":"15164:16:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":47204,"name":"bytes","nodeType":"ElementaryTypeName","src":"15164:5:27","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"15163:18:27"},"returnParameters":{"id":47209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47208,"mutability":"mutable","name":"str","nameLocation":"15219:3:27","nodeType":"VariableDeclaration","scope":47218,"src":"15205:17:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47207,"name":"string","nodeType":"ElementaryTypeName","src":"15205:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15204:19:27"},"scope":47666,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47228,"nodeType":"FunctionDefinition","src":"15717:940:27","nodes":[],"body":{"id":47227,"nodeType":"Block","src":"15806:851:27","nodes":[],"statements":[{"AST":{"nativeSrc":"15868:783:27","nodeType":"YulBlock","src":"15868:783:27","statements":[{"nativeSrc":"15882:24:27","nodeType":"YulVariableDeclaration","src":"15882:24:27","value":{"arguments":[{"name":"raw","nativeSrc":"15902:3:27","nodeType":"YulIdentifier","src":"15902:3:27"}],"functionName":{"name":"mload","nativeSrc":"15896:5:27","nodeType":"YulIdentifier","src":"15896:5:27"},"nativeSrc":"15896:10:27","nodeType":"YulFunctionCall","src":"15896:10:27"},"variables":[{"name":"length","nativeSrc":"15886:6:27","nodeType":"YulTypedName","src":"15886:6:27","type":""}]},{"nativeSrc":"15919:26:27","nodeType":"YulAssignment","src":"15919:26:27","value":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"15936:4:27","nodeType":"YulLiteral","src":"15936:4:27","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"15930:5:27","nodeType":"YulIdentifier","src":"15930:5:27"},"nativeSrc":"15930:11:27","nodeType":"YulFunctionCall","src":"15930:11:27"},{"kind":"number","nativeSrc":"15943:1:27","nodeType":"YulLiteral","src":"15943:1:27","type":"","value":"2"}],"functionName":{"name":"add","nativeSrc":"15926:3:27","nodeType":"YulIdentifier","src":"15926:3:27"},"nativeSrc":"15926:19:27","nodeType":"YulFunctionCall","src":"15926:19:27"},"variableNames":[{"name":"str","nativeSrc":"15919:3:27","nodeType":"YulIdentifier","src":"15919:3:27"}]},{"expression":{"arguments":[{"name":"str","nativeSrc":"16006:3:27","nodeType":"YulIdentifier","src":"16006:3:27"},{"arguments":[{"name":"length","nativeSrc":"16015:6:27","nodeType":"YulIdentifier","src":"16015:6:27"},{"name":"length","nativeSrc":"16023:6:27","nodeType":"YulIdentifier","src":"16023:6:27"}],"functionName":{"name":"add","nativeSrc":"16011:3:27","nodeType":"YulIdentifier","src":"16011:3:27"},"nativeSrc":"16011:19:27","nodeType":"YulFunctionCall","src":"16011:19:27"}],"functionName":{"name":"mstore","nativeSrc":"15999:6:27","nodeType":"YulIdentifier","src":"15999:6:27"},"nativeSrc":"15999:32:27","nodeType":"YulFunctionCall","src":"15999:32:27"},"nativeSrc":"15999:32:27","nodeType":"YulExpressionStatement","src":"15999:32:27"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"16145:4:27","nodeType":"YulLiteral","src":"16145:4:27","type":"","value":"0x0f"},{"kind":"number","nativeSrc":"16151:34:27","nodeType":"YulLiteral","src":"16151:34:27","type":"","value":"0x30313233343536373839616263646566"}],"functionName":{"name":"mstore","nativeSrc":"16138:6:27","nodeType":"YulIdentifier","src":"16138:6:27"},"nativeSrc":"16138:48:27","nodeType":"YulFunctionCall","src":"16138:48:27"},"nativeSrc":"16138:48:27","nodeType":"YulExpressionStatement","src":"16138:48:27"},{"nativeSrc":"16200:23:27","nodeType":"YulVariableDeclaration","src":"16200:23:27","value":{"arguments":[{"name":"str","nativeSrc":"16213:3:27","nodeType":"YulIdentifier","src":"16213:3:27"},{"kind":"number","nativeSrc":"16218:4:27","nodeType":"YulLiteral","src":"16218:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"16209:3:27","nodeType":"YulIdentifier","src":"16209:3:27"},"nativeSrc":"16209:14:27","nodeType":"YulFunctionCall","src":"16209:14:27"},"variables":[{"name":"o","nativeSrc":"16204:1:27","nodeType":"YulTypedName","src":"16204:1:27","type":""}]},{"nativeSrc":"16236:27:27","nodeType":"YulVariableDeclaration","src":"16236:27:27","value":{"arguments":[{"name":"raw","nativeSrc":"16251:3:27","nodeType":"YulIdentifier","src":"16251:3:27"},{"name":"length","nativeSrc":"16256:6:27","nodeType":"YulIdentifier","src":"16256:6:27"}],"functionName":{"name":"add","nativeSrc":"16247:3:27","nodeType":"YulIdentifier","src":"16247:3:27"},"nativeSrc":"16247:16:27","nodeType":"YulFunctionCall","src":"16247:16:27"},"variables":[{"name":"end","nativeSrc":"16240:3:27","nodeType":"YulTypedName","src":"16240:3:27","type":""}]},{"body":{"nativeSrc":"16308:207:27","nodeType":"YulBlock","src":"16308:207:27","statements":[{"nativeSrc":"16326:18:27","nodeType":"YulAssignment","src":"16326:18:27","value":{"arguments":[{"name":"raw","nativeSrc":"16337:3:27","nodeType":"YulIdentifier","src":"16337:3:27"},{"kind":"number","nativeSrc":"16342:1:27","nodeType":"YulLiteral","src":"16342:1:27","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"16333:3:27","nodeType":"YulIdentifier","src":"16333:3:27"},"nativeSrc":"16333:11:27","nodeType":"YulFunctionCall","src":"16333:11:27"},"variableNames":[{"name":"raw","nativeSrc":"16326:3:27","nodeType":"YulIdentifier","src":"16326:3:27"}]},{"expression":{"arguments":[{"arguments":[{"name":"o","nativeSrc":"16373:1:27","nodeType":"YulIdentifier","src":"16373:1:27"},{"kind":"number","nativeSrc":"16376:1:27","nodeType":"YulLiteral","src":"16376:1:27","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"16369:3:27","nodeType":"YulIdentifier","src":"16369:3:27"},"nativeSrc":"16369:9:27","nodeType":"YulFunctionCall","src":"16369:9:27"},{"arguments":[{"arguments":[{"arguments":[{"name":"raw","nativeSrc":"16396:3:27","nodeType":"YulIdentifier","src":"16396:3:27"}],"functionName":{"name":"mload","nativeSrc":"16390:5:27","nodeType":"YulIdentifier","src":"16390:5:27"},"nativeSrc":"16390:10:27","nodeType":"YulFunctionCall","src":"16390:10:27"},{"kind":"number","nativeSrc":"16402:2:27","nodeType":"YulLiteral","src":"16402:2:27","type":"","value":"15"}],"functionName":{"name":"and","nativeSrc":"16386:3:27","nodeType":"YulIdentifier","src":"16386:3:27"},"nativeSrc":"16386:19:27","nodeType":"YulFunctionCall","src":"16386:19:27"}],"functionName":{"name":"mload","nativeSrc":"16380:5:27","nodeType":"YulIdentifier","src":"16380:5:27"},"nativeSrc":"16380:26:27","nodeType":"YulFunctionCall","src":"16380:26:27"}],"functionName":{"name":"mstore8","nativeSrc":"16361:7:27","nodeType":"YulIdentifier","src":"16361:7:27"},"nativeSrc":"16361:46:27","nodeType":"YulFunctionCall","src":"16361:46:27"},"nativeSrc":"16361:46:27","nodeType":"YulExpressionStatement","src":"16361:46:27"},{"expression":{"arguments":[{"name":"o","nativeSrc":"16432:1:27","nodeType":"YulIdentifier","src":"16432:1:27"},{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"16449:1:27","nodeType":"YulLiteral","src":"16449:1:27","type":"","value":"4"},{"arguments":[{"name":"raw","nativeSrc":"16458:3:27","nodeType":"YulIdentifier","src":"16458:3:27"}],"functionName":{"name":"mload","nativeSrc":"16452:5:27","nodeType":"YulIdentifier","src":"16452:5:27"},"nativeSrc":"16452:10:27","nodeType":"YulFunctionCall","src":"16452:10:27"}],"functionName":{"name":"shr","nativeSrc":"16445:3:27","nodeType":"YulIdentifier","src":"16445:3:27"},"nativeSrc":"16445:18:27","nodeType":"YulFunctionCall","src":"16445:18:27"},{"kind":"number","nativeSrc":"16465:2:27","nodeType":"YulLiteral","src":"16465:2:27","type":"","value":"15"}],"functionName":{"name":"and","nativeSrc":"16441:3:27","nodeType":"YulIdentifier","src":"16441:3:27"},"nativeSrc":"16441:27:27","nodeType":"YulFunctionCall","src":"16441:27:27"}],"functionName":{"name":"mload","nativeSrc":"16435:5:27","nodeType":"YulIdentifier","src":"16435:5:27"},"nativeSrc":"16435:34:27","nodeType":"YulFunctionCall","src":"16435:34:27"}],"functionName":{"name":"mstore8","nativeSrc":"16424:7:27","nodeType":"YulIdentifier","src":"16424:7:27"},"nativeSrc":"16424:46:27","nodeType":"YulFunctionCall","src":"16424:46:27"},"nativeSrc":"16424:46:27","nodeType":"YulExpressionStatement","src":"16424:46:27"},{"nativeSrc":"16487:14:27","nodeType":"YulAssignment","src":"16487:14:27","value":{"arguments":[{"name":"o","nativeSrc":"16496:1:27","nodeType":"YulIdentifier","src":"16496:1:27"},{"kind":"number","nativeSrc":"16499:1:27","nodeType":"YulLiteral","src":"16499:1:27","type":"","value":"2"}],"functionName":{"name":"add","nativeSrc":"16492:3:27","nodeType":"YulIdentifier","src":"16492:3:27"},"nativeSrc":"16492:9:27","nodeType":"YulFunctionCall","src":"16492:9:27"},"variableNames":[{"name":"o","nativeSrc":"16487:1:27","nodeType":"YulIdentifier","src":"16487:1:27"}]}]},"condition":{"arguments":[{"arguments":[{"name":"raw","nativeSrc":"16294:3:27","nodeType":"YulIdentifier","src":"16294:3:27"},{"name":"end","nativeSrc":"16299:3:27","nodeType":"YulIdentifier","src":"16299:3:27"}],"functionName":{"name":"eq","nativeSrc":"16291:2:27","nodeType":"YulIdentifier","src":"16291:2:27"},"nativeSrc":"16291:12:27","nodeType":"YulFunctionCall","src":"16291:12:27"}],"functionName":{"name":"iszero","nativeSrc":"16284:6:27","nodeType":"YulIdentifier","src":"16284:6:27"},"nativeSrc":"16284:20:27","nodeType":"YulFunctionCall","src":"16284:20:27"},"nativeSrc":"16277:238:27","nodeType":"YulForLoop","post":{"nativeSrc":"16305:2:27","nodeType":"YulBlock","src":"16305:2:27","statements":[]},"pre":{"nativeSrc":"16281:2:27","nodeType":"YulBlock","src":"16281:2:27","statements":[]},"src":"16277:238:27"},{"expression":{"arguments":[{"name":"o","nativeSrc":"16535:1:27","nodeType":"YulIdentifier","src":"16535:1:27"},{"kind":"number","nativeSrc":"16538:1:27","nodeType":"YulLiteral","src":"16538:1:27","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"16528:6:27","nodeType":"YulIdentifier","src":"16528:6:27"},"nativeSrc":"16528:12:27","nodeType":"YulFunctionCall","src":"16528:12:27"},"nativeSrc":"16528:12:27","nodeType":"YulExpressionStatement","src":"16528:12:27"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"16598:4:27","nodeType":"YulLiteral","src":"16598:4:27","type":"","value":"0x40"},{"arguments":[{"name":"o","nativeSrc":"16608:1:27","nodeType":"YulIdentifier","src":"16608:1:27"},{"kind":"number","nativeSrc":"16611:4:27","nodeType":"YulLiteral","src":"16611:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"16604:3:27","nodeType":"YulIdentifier","src":"16604:3:27"},"nativeSrc":"16604:12:27","nodeType":"YulFunctionCall","src":"16604:12:27"}],"functionName":{"name":"mstore","nativeSrc":"16591:6:27","nodeType":"YulIdentifier","src":"16591:6:27"},"nativeSrc":"16591:26:27","nodeType":"YulFunctionCall","src":"16591:26:27"},"nativeSrc":"16591:26:27","nodeType":"YulExpressionStatement","src":"16591:26:27"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":47221,"isOffset":false,"isSlot":false,"src":"15902:3:27","valueSize":1},{"declaration":47221,"isOffset":false,"isSlot":false,"src":"16251:3:27","valueSize":1},{"declaration":47221,"isOffset":false,"isSlot":false,"src":"16294:3:27","valueSize":1},{"declaration":47221,"isOffset":false,"isSlot":false,"src":"16326:3:27","valueSize":1},{"declaration":47221,"isOffset":false,"isSlot":false,"src":"16337:3:27","valueSize":1},{"declaration":47221,"isOffset":false,"isSlot":false,"src":"16396:3:27","valueSize":1},{"declaration":47221,"isOffset":false,"isSlot":false,"src":"16458:3:27","valueSize":1},{"declaration":47224,"isOffset":false,"isSlot":false,"src":"15919:3:27","valueSize":1},{"declaration":47224,"isOffset":false,"isSlot":false,"src":"16006:3:27","valueSize":1},{"declaration":47224,"isOffset":false,"isSlot":false,"src":"16213:3:27","valueSize":1}],"id":47226,"nodeType":"InlineAssembly","src":"15859:792:27"}]},"documentation":{"id":47219,"nodeType":"StructuredDocumentation","src":"15586:126:27","text":"@dev Returns the hex encoded string from the raw bytes.\n The output is encoded using 2 hexadecimal digits per byte."},"implemented":true,"kind":"function","modifiers":[],"name":"toHexStringNoPrefix","nameLocation":"15726:19:27","parameters":{"id":47222,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47221,"mutability":"mutable","name":"raw","nameLocation":"15759:3:27","nodeType":"VariableDeclaration","scope":47228,"src":"15746:16:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":47220,"name":"bytes","nodeType":"ElementaryTypeName","src":"15746:5:27","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"15745:18:27"},"returnParameters":{"id":47225,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47224,"mutability":"mutable","name":"str","nameLocation":"15801:3:27","nodeType":"VariableDeclaration","scope":47228,"src":"15787:17:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47223,"name":"string","nodeType":"ElementaryTypeName","src":"15787:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15786:19:27"},"scope":47666,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47238,"nodeType":"FunctionDefinition","src":"17011:627:27","nodes":[],"body":{"id":47237,"nodeType":"Block","src":"17086:552:27","nodes":[],"statements":[{"AST":{"nativeSrc":"17148:484:27","nodeType":"YulBlock","src":"17148:484:27","statements":[{"body":{"nativeSrc":"17174:448:27","nodeType":"YulBlock","src":"17174:448:27","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"17199:4:27","nodeType":"YulLiteral","src":"17199:4:27","type":"","value":"0x00"},{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"17213:1:27","nodeType":"YulLiteral","src":"17213:1:27","type":"","value":"0"}],"functionName":{"name":"not","nativeSrc":"17209:3:27","nodeType":"YulIdentifier","src":"17209:3:27"},"nativeSrc":"17209:6:27","nodeType":"YulFunctionCall","src":"17209:6:27"},{"kind":"number","nativeSrc":"17217:3:27","nodeType":"YulLiteral","src":"17217:3:27","type":"","value":"255"}],"functionName":{"name":"div","nativeSrc":"17205:3:27","nodeType":"YulIdentifier","src":"17205:3:27"},"nativeSrc":"17205:16:27","nodeType":"YulFunctionCall","src":"17205:16:27"}],"functionName":{"name":"mstore","nativeSrc":"17192:6:27","nodeType":"YulIdentifier","src":"17192:6:27"},"nativeSrc":"17192:30:27","nodeType":"YulFunctionCall","src":"17192:30:27"},"nativeSrc":"17192:30:27","nodeType":"YulExpressionStatement","src":"17192:30:27"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"17246:4:27","nodeType":"YulLiteral","src":"17246:4:27","type":"","value":"0x20"},{"kind":"number","nativeSrc":"17252:66:27","nodeType":"YulLiteral","src":"17252:66:27","type":"","value":"0x0202020202020202020202020202020202020202020202020303030304040506"}],"functionName":{"name":"mstore","nativeSrc":"17239:6:27","nodeType":"YulIdentifier","src":"17239:6:27"},"nativeSrc":"17239:80:27","nodeType":"YulFunctionCall","src":"17239:80:27"},"nativeSrc":"17239:80:27","nodeType":"YulExpressionStatement","src":"17239:80:27"},{"nativeSrc":"17336:21:27","nodeType":"YulVariableDeclaration","src":"17336:21:27","value":{"arguments":[{"name":"s","nativeSrc":"17349:1:27","nodeType":"YulIdentifier","src":"17349:1:27"},{"kind":"number","nativeSrc":"17352:4:27","nodeType":"YulLiteral","src":"17352:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"17345:3:27","nodeType":"YulIdentifier","src":"17345:3:27"},"nativeSrc":"17345:12:27","nodeType":"YulFunctionCall","src":"17345:12:27"},"variables":[{"name":"o","nativeSrc":"17340:1:27","nodeType":"YulTypedName","src":"17340:1:27","type":""}]},{"nativeSrc":"17374:27:27","nodeType":"YulVariableDeclaration","src":"17374:27:27","value":{"arguments":[{"name":"o","nativeSrc":"17389:1:27","nodeType":"YulIdentifier","src":"17389:1:27"},{"arguments":[{"name":"s","nativeSrc":"17398:1:27","nodeType":"YulIdentifier","src":"17398:1:27"}],"functionName":{"name":"mload","nativeSrc":"17392:5:27","nodeType":"YulIdentifier","src":"17392:5:27"},"nativeSrc":"17392:8:27","nodeType":"YulFunctionCall","src":"17392:8:27"}],"functionName":{"name":"add","nativeSrc":"17385:3:27","nodeType":"YulIdentifier","src":"17385:3:27"},"nativeSrc":"17385:16:27","nodeType":"YulFunctionCall","src":"17385:16:27"},"variables":[{"name":"end","nativeSrc":"17378:3:27","nodeType":"YulTypedName","src":"17378:3:27","type":""}]},{"body":{"nativeSrc":"17469:139:27","nodeType":"YulBlock","src":"17469:139:27","statements":[{"nativeSrc":"17491:47:27","nodeType":"YulAssignment","src":"17491:47:27","value":{"arguments":[{"name":"o","nativeSrc":"17500:1:27","nodeType":"YulIdentifier","src":"17500:1:27"},{"arguments":[{"kind":"number","nativeSrc":"17508:1:27","nodeType":"YulLiteral","src":"17508:1:27","type":"","value":"0"},{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"17521:3:27","nodeType":"YulLiteral","src":"17521:3:27","type":"","value":"250"},{"arguments":[{"name":"o","nativeSrc":"17532:1:27","nodeType":"YulIdentifier","src":"17532:1:27"}],"functionName":{"name":"mload","nativeSrc":"17526:5:27","nodeType":"YulIdentifier","src":"17526:5:27"},"nativeSrc":"17526:8:27","nodeType":"YulFunctionCall","src":"17526:8:27"}],"functionName":{"name":"shr","nativeSrc":"17517:3:27","nodeType":"YulIdentifier","src":"17517:3:27"},"nativeSrc":"17517:18:27","nodeType":"YulFunctionCall","src":"17517:18:27"}],"functionName":{"name":"mload","nativeSrc":"17511:5:27","nodeType":"YulIdentifier","src":"17511:5:27"},"nativeSrc":"17511:25:27","nodeType":"YulFunctionCall","src":"17511:25:27"}],"functionName":{"name":"byte","nativeSrc":"17503:4:27","nodeType":"YulIdentifier","src":"17503:4:27"},"nativeSrc":"17503:34:27","nodeType":"YulFunctionCall","src":"17503:34:27"}],"functionName":{"name":"add","nativeSrc":"17496:3:27","nodeType":"YulIdentifier","src":"17496:3:27"},"nativeSrc":"17496:42:27","nodeType":"YulFunctionCall","src":"17496:42:27"},"variableNames":[{"name":"o","nativeSrc":"17491:1:27","nodeType":"YulIdentifier","src":"17491:1:27"}]},{"body":{"nativeSrc":"17581:9:27","nodeType":"YulBlock","src":"17581:9:27","statements":[{"nativeSrc":"17583:5:27","nodeType":"YulBreak","src":"17583:5:27"}]},"condition":{"arguments":[{"arguments":[{"name":"o","nativeSrc":"17572:1:27","nodeType":"YulIdentifier","src":"17572:1:27"},{"name":"end","nativeSrc":"17575:3:27","nodeType":"YulIdentifier","src":"17575:3:27"}],"functionName":{"name":"lt","nativeSrc":"17569:2:27","nodeType":"YulIdentifier","src":"17569:2:27"},"nativeSrc":"17569:10:27","nodeType":"YulFunctionCall","src":"17569:10:27"}],"functionName":{"name":"iszero","nativeSrc":"17562:6:27","nodeType":"YulIdentifier","src":"17562:6:27"},"nativeSrc":"17562:18:27","nodeType":"YulFunctionCall","src":"17562:18:27"},"nativeSrc":"17559:31:27","nodeType":"YulIf","src":"17559:31:27"}]},"condition":{"kind":"number","nativeSrc":"17438:1:27","nodeType":"YulLiteral","src":"17438:1:27","type":"","value":"1"},"nativeSrc":"17418:190:27","nodeType":"YulForLoop","post":{"nativeSrc":"17440:28:27","nodeType":"YulBlock","src":"17440:28:27","statements":[{"nativeSrc":"17442:24:27","nodeType":"YulAssignment","src":"17442:24:27","value":{"arguments":[{"name":"result","nativeSrc":"17456:6:27","nodeType":"YulIdentifier","src":"17456:6:27"},{"kind":"number","nativeSrc":"17464:1:27","nodeType":"YulLiteral","src":"17464:1:27","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"17452:3:27","nodeType":"YulIdentifier","src":"17452:3:27"},"nativeSrc":"17452:14:27","nodeType":"YulFunctionCall","src":"17452:14:27"},"variableNames":[{"name":"result","nativeSrc":"17442:6:27","nodeType":"YulIdentifier","src":"17442:6:27"}]}]},"pre":{"nativeSrc":"17422:15:27","nodeType":"YulBlock","src":"17422:15:27","statements":[{"nativeSrc":"17424:11:27","nodeType":"YulAssignment","src":"17424:11:27","value":{"kind":"number","nativeSrc":"17434:1:27","nodeType":"YulLiteral","src":"17434:1:27","type":"","value":"1"},"variableNames":[{"name":"result","nativeSrc":"17424:6:27","nodeType":"YulIdentifier","src":"17424:6:27"}]}]},"src":"17418:190:27"}]},"condition":{"arguments":[{"name":"s","nativeSrc":"17171:1:27","nodeType":"YulIdentifier","src":"17171:1:27"}],"functionName":{"name":"mload","nativeSrc":"17165:5:27","nodeType":"YulIdentifier","src":"17165:5:27"},"nativeSrc":"17165:8:27","nodeType":"YulFunctionCall","src":"17165:8:27"},"nativeSrc":"17162:460:27","nodeType":"YulIf","src":"17162:460:27"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":47234,"isOffset":false,"isSlot":false,"src":"17424:6:27","valueSize":1},{"declaration":47234,"isOffset":false,"isSlot":false,"src":"17442:6:27","valueSize":1},{"declaration":47234,"isOffset":false,"isSlot":false,"src":"17456:6:27","valueSize":1},{"declaration":47231,"isOffset":false,"isSlot":false,"src":"17171:1:27","valueSize":1},{"declaration":47231,"isOffset":false,"isSlot":false,"src":"17349:1:27","valueSize":1},{"declaration":47231,"isOffset":false,"isSlot":false,"src":"17398:1:27","valueSize":1}],"id":47236,"nodeType":"InlineAssembly","src":"17139:493:27"}]},"documentation":{"id":47229,"nodeType":"StructuredDocumentation","src":"16946:60:27","text":"@dev Returns the number of UTF characters in the string."},"implemented":true,"kind":"function","modifiers":[],"name":"runeCount","nameLocation":"17020:9:27","parameters":{"id":47232,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47231,"mutability":"mutable","name":"s","nameLocation":"17044:1:27","nodeType":"VariableDeclaration","scope":47238,"src":"17030:15:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47230,"name":"string","nodeType":"ElementaryTypeName","src":"17030:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17029:17:27"},"returnParameters":{"id":47235,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47234,"mutability":"mutable","name":"result","nameLocation":"17078:6:27","nodeType":"VariableDeclaration","scope":47238,"src":"17070:14:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47233,"name":"uint256","nodeType":"ElementaryTypeName","src":"17070:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17069:16:27"},"scope":47666,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47248,"nodeType":"FunctionDefinition","src":"17757:739:27","nodes":[],"body":{"id":47247,"nodeType":"Block","src":"17831:665:27","nodes":[],"statements":[{"AST":{"nativeSrc":"17893:597:27","nodeType":"YulBlock","src":"17893:597:27","statements":[{"nativeSrc":"17907:36:27","nodeType":"YulVariableDeclaration","src":"17907:36:27","value":{"arguments":[{"kind":"number","nativeSrc":"17923:1:27","nodeType":"YulLiteral","src":"17923:1:27","type":"","value":"7"},{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"17934:1:27","nodeType":"YulLiteral","src":"17934:1:27","type":"","value":"0"}],"functionName":{"name":"not","nativeSrc":"17930:3:27","nodeType":"YulIdentifier","src":"17930:3:27"},"nativeSrc":"17930:6:27","nodeType":"YulFunctionCall","src":"17930:6:27"},{"kind":"number","nativeSrc":"17938:3:27","nodeType":"YulLiteral","src":"17938:3:27","type":"","value":"255"}],"functionName":{"name":"div","nativeSrc":"17926:3:27","nodeType":"YulIdentifier","src":"17926:3:27"},"nativeSrc":"17926:16:27","nodeType":"YulFunctionCall","src":"17926:16:27"}],"functionName":{"name":"shl","nativeSrc":"17919:3:27","nodeType":"YulIdentifier","src":"17919:3:27"},"nativeSrc":"17919:24:27","nodeType":"YulFunctionCall","src":"17919:24:27"},"variables":[{"name":"mask","nativeSrc":"17911:4:27","nodeType":"YulTypedName","src":"17911:4:27","type":""}]},{"nativeSrc":"17956:11:27","nodeType":"YulAssignment","src":"17956:11:27","value":{"kind":"number","nativeSrc":"17966:1:27","nodeType":"YulLiteral","src":"17966:1:27","type":"","value":"1"},"variableNames":[{"name":"result","nativeSrc":"17956:6:27","nodeType":"YulIdentifier","src":"17956:6:27"}]},{"nativeSrc":"17980:17:27","nodeType":"YulVariableDeclaration","src":"17980:17:27","value":{"arguments":[{"name":"s","nativeSrc":"17995:1:27","nodeType":"YulIdentifier","src":"17995:1:27"}],"functionName":{"name":"mload","nativeSrc":"17989:5:27","nodeType":"YulIdentifier","src":"17989:5:27"},"nativeSrc":"17989:8:27","nodeType":"YulFunctionCall","src":"17989:8:27"},"variables":[{"name":"n","nativeSrc":"17984:1:27","nodeType":"YulTypedName","src":"17984:1:27","type":""}]},{"body":{"nativeSrc":"18015:465:27","nodeType":"YulBlock","src":"18015:465:27","statements":[{"nativeSrc":"18033:21:27","nodeType":"YulVariableDeclaration","src":"18033:21:27","value":{"arguments":[{"name":"s","nativeSrc":"18046:1:27","nodeType":"YulIdentifier","src":"18046:1:27"},{"kind":"number","nativeSrc":"18049:4:27","nodeType":"YulLiteral","src":"18049:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"18042:3:27","nodeType":"YulIdentifier","src":"18042:3:27"},"nativeSrc":"18042:12:27","nodeType":"YulFunctionCall","src":"18042:12:27"},"variables":[{"name":"o","nativeSrc":"18037:1:27","nodeType":"YulTypedName","src":"18037:1:27","type":""}]},{"nativeSrc":"18071:20:27","nodeType":"YulVariableDeclaration","src":"18071:20:27","value":{"arguments":[{"name":"o","nativeSrc":"18086:1:27","nodeType":"YulIdentifier","src":"18086:1:27"},{"name":"n","nativeSrc":"18089:1:27","nodeType":"YulIdentifier","src":"18089:1:27"}],"functionName":{"name":"add","nativeSrc":"18082:3:27","nodeType":"YulIdentifier","src":"18082:3:27"},"nativeSrc":"18082:9:27","nodeType":"YulFunctionCall","src":"18082:9:27"},"variables":[{"name":"end","nativeSrc":"18075:3:27","nodeType":"YulTypedName","src":"18075:3:27","type":""}]},{"nativeSrc":"18108:22:27","nodeType":"YulVariableDeclaration","src":"18108:22:27","value":{"arguments":[{"name":"end","nativeSrc":"18126:3:27","nodeType":"YulIdentifier","src":"18126:3:27"}],"functionName":{"name":"mload","nativeSrc":"18120:5:27","nodeType":"YulIdentifier","src":"18120:5:27"},"nativeSrc":"18120:10:27","nodeType":"YulFunctionCall","src":"18120:10:27"},"variables":[{"name":"last","nativeSrc":"18112:4:27","nodeType":"YulTypedName","src":"18112:4:27","type":""}]},{"expression":{"arguments":[{"name":"end","nativeSrc":"18154:3:27","nodeType":"YulIdentifier","src":"18154:3:27"},{"kind":"number","nativeSrc":"18159:1:27","nodeType":"YulLiteral","src":"18159:1:27","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"18147:6:27","nodeType":"YulIdentifier","src":"18147:6:27"},"nativeSrc":"18147:14:27","nodeType":"YulFunctionCall","src":"18147:14:27"},"nativeSrc":"18147:14:27","nodeType":"YulExpressionStatement","src":"18147:14:27"},{"body":{"nativeSrc":"18190:242:27","nodeType":"YulBlock","src":"18190:242:27","statements":[{"body":{"nativeSrc":"18235:89:27","nodeType":"YulBlock","src":"18235:89:27","statements":[{"nativeSrc":"18261:11:27","nodeType":"YulAssignment","src":"18261:11:27","value":{"kind":"number","nativeSrc":"18271:1:27","nodeType":"YulLiteral","src":"18271:1:27","type":"","value":"0"},"variableNames":[{"name":"result","nativeSrc":"18261:6:27","nodeType":"YulIdentifier","src":"18261:6:27"}]},{"nativeSrc":"18297:5:27","nodeType":"YulBreak","src":"18297:5:27"}]},"condition":{"arguments":[{"name":"mask","nativeSrc":"18219:4:27","nodeType":"YulIdentifier","src":"18219:4:27"},{"arguments":[{"name":"o","nativeSrc":"18231:1:27","nodeType":"YulIdentifier","src":"18231:1:27"}],"functionName":{"name":"mload","nativeSrc":"18225:5:27","nodeType":"YulIdentifier","src":"18225:5:27"},"nativeSrc":"18225:8:27","nodeType":"YulFunctionCall","src":"18225:8:27"}],"functionName":{"name":"and","nativeSrc":"18215:3:27","nodeType":"YulIdentifier","src":"18215:3:27"},"nativeSrc":"18215:19:27","nodeType":"YulFunctionCall","src":"18215:19:27"},"nativeSrc":"18212:112:27","nodeType":"YulIf","src":"18212:112:27"},{"nativeSrc":"18345:17:27","nodeType":"YulAssignment","src":"18345:17:27","value":{"arguments":[{"name":"o","nativeSrc":"18354:1:27","nodeType":"YulIdentifier","src":"18354:1:27"},{"kind":"number","nativeSrc":"18357:4:27","nodeType":"YulLiteral","src":"18357:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"18350:3:27","nodeType":"YulIdentifier","src":"18350:3:27"},"nativeSrc":"18350:12:27","nodeType":"YulFunctionCall","src":"18350:12:27"},"variableNames":[{"name":"o","nativeSrc":"18345:1:27","nodeType":"YulIdentifier","src":"18345:1:27"}]},{"body":{"nativeSrc":"18405:9:27","nodeType":"YulBlock","src":"18405:9:27","statements":[{"nativeSrc":"18407:5:27","nodeType":"YulBreak","src":"18407:5:27"}]},"condition":{"arguments":[{"arguments":[{"name":"o","nativeSrc":"18396:1:27","nodeType":"YulIdentifier","src":"18396:1:27"},{"name":"end","nativeSrc":"18399:3:27","nodeType":"YulIdentifier","src":"18399:3:27"}],"functionName":{"name":"lt","nativeSrc":"18393:2:27","nodeType":"YulIdentifier","src":"18393:2:27"},"nativeSrc":"18393:10:27","nodeType":"YulFunctionCall","src":"18393:10:27"}],"functionName":{"name":"iszero","nativeSrc":"18386:6:27","nodeType":"YulIdentifier","src":"18386:6:27"},"nativeSrc":"18386:18:27","nodeType":"YulFunctionCall","src":"18386:18:27"},"nativeSrc":"18383:31:27","nodeType":"YulIf","src":"18383:31:27"}]},"condition":{"kind":"number","nativeSrc":"18185:1:27","nodeType":"YulLiteral","src":"18185:1:27","type":"","value":"1"},"nativeSrc":"18178:254:27","nodeType":"YulForLoop","post":{"nativeSrc":"18187:2:27","nodeType":"YulBlock","src":"18187:2:27","statements":[]},"pre":{"nativeSrc":"18182:2:27","nodeType":"YulBlock","src":"18182:2:27","statements":[]},"src":"18178:254:27"},{"expression":{"arguments":[{"name":"end","nativeSrc":"18456:3:27","nodeType":"YulIdentifier","src":"18456:3:27"},{"name":"last","nativeSrc":"18461:4:27","nodeType":"YulIdentifier","src":"18461:4:27"}],"functionName":{"name":"mstore","nativeSrc":"18449:6:27","nodeType":"YulIdentifier","src":"18449:6:27"},"nativeSrc":"18449:17:27","nodeType":"YulFunctionCall","src":"18449:17:27"},"nativeSrc":"18449:17:27","nodeType":"YulExpressionStatement","src":"18449:17:27"}]},"condition":{"name":"n","nativeSrc":"18013:1:27","nodeType":"YulIdentifier","src":"18013:1:27"},"nativeSrc":"18010:470:27","nodeType":"YulIf","src":"18010:470:27"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":47244,"isOffset":false,"isSlot":false,"src":"17956:6:27","valueSize":1},{"declaration":47244,"isOffset":false,"isSlot":false,"src":"18261:6:27","valueSize":1},{"declaration":47241,"isOffset":false,"isSlot":false,"src":"17995:1:27","valueSize":1},{"declaration":47241,"isOffset":false,"isSlot":false,"src":"18046:1:27","valueSize":1}],"id":47246,"nodeType":"InlineAssembly","src":"17884:606:27"}]},"documentation":{"id":47239,"nodeType":"StructuredDocumentation","src":"17644:108:27","text":"@dev Returns if this string is a 7-bit ASCII string.\n (i.e. all characters codes are in [0..127])"},"implemented":true,"kind":"function","modifiers":[],"name":"is7BitASCII","nameLocation":"17766:11:27","parameters":{"id":47242,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47241,"mutability":"mutable","name":"s","nameLocation":"17792:1:27","nodeType":"VariableDeclaration","scope":47248,"src":"17778:15:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47240,"name":"string","nodeType":"ElementaryTypeName","src":"17778:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17777:17:27"},"returnParameters":{"id":47245,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47244,"mutability":"mutable","name":"result","nameLocation":"17823:6:27","nodeType":"VariableDeclaration","scope":47248,"src":"17818:11:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47243,"name":"bool","nodeType":"ElementaryTypeName","src":"17818:4:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"17817:13:27"},"scope":47666,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47262,"nodeType":"FunctionDefinition","src":"19177:3338:27","nodes":[],"body":{"id":47261,"nodeType":"Block","src":"19339:3176:27","nodes":[],"statements":[{"AST":{"nativeSrc":"19401:3108:27","nodeType":"YulBlock","src":"19401:3108:27","statements":[{"nativeSrc":"19415:35:27","nodeType":"YulVariableDeclaration","src":"19415:35:27","value":{"arguments":[{"name":"subject","nativeSrc":"19442:7:27","nodeType":"YulIdentifier","src":"19442:7:27"}],"functionName":{"name":"mload","nativeSrc":"19436:5:27","nodeType":"YulIdentifier","src":"19436:5:27"},"nativeSrc":"19436:14:27","nodeType":"YulFunctionCall","src":"19436:14:27"},"variables":[{"name":"subjectLength","nativeSrc":"19419:13:27","nodeType":"YulTypedName","src":"19419:13:27","type":""}]},{"nativeSrc":"19463:33:27","nodeType":"YulVariableDeclaration","src":"19463:33:27","value":{"arguments":[{"name":"search","nativeSrc":"19489:6:27","nodeType":"YulIdentifier","src":"19489:6:27"}],"functionName":{"name":"mload","nativeSrc":"19483:5:27","nodeType":"YulIdentifier","src":"19483:5:27"},"nativeSrc":"19483:13:27","nodeType":"YulFunctionCall","src":"19483:13:27"},"variables":[{"name":"searchLength","nativeSrc":"19467:12:27","nodeType":"YulTypedName","src":"19467:12:27","type":""}]},{"nativeSrc":"19509:43:27","nodeType":"YulVariableDeclaration","src":"19509:43:27","value":{"arguments":[{"name":"replacement","nativeSrc":"19540:11:27","nodeType":"YulIdentifier","src":"19540:11:27"}],"functionName":{"name":"mload","nativeSrc":"19534:5:27","nodeType":"YulIdentifier","src":"19534:5:27"},"nativeSrc":"19534:18:27","nodeType":"YulFunctionCall","src":"19534:18:27"},"variables":[{"name":"replacementLength","nativeSrc":"19513:17:27","nodeType":"YulTypedName","src":"19513:17:27","type":""}]},{"nativeSrc":"19566:29:27","nodeType":"YulAssignment","src":"19566:29:27","value":{"arguments":[{"name":"subject","nativeSrc":"19581:7:27","nodeType":"YulIdentifier","src":"19581:7:27"},{"kind":"number","nativeSrc":"19590:4:27","nodeType":"YulLiteral","src":"19590:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"19577:3:27","nodeType":"YulIdentifier","src":"19577:3:27"},"nativeSrc":"19577:18:27","nodeType":"YulFunctionCall","src":"19577:18:27"},"variableNames":[{"name":"subject","nativeSrc":"19566:7:27","nodeType":"YulIdentifier","src":"19566:7:27"}]},{"nativeSrc":"19608:27:27","nodeType":"YulAssignment","src":"19608:27:27","value":{"arguments":[{"name":"search","nativeSrc":"19622:6:27","nodeType":"YulIdentifier","src":"19622:6:27"},{"kind":"number","nativeSrc":"19630:4:27","nodeType":"YulLiteral","src":"19630:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"19618:3:27","nodeType":"YulIdentifier","src":"19618:3:27"},"nativeSrc":"19618:17:27","nodeType":"YulFunctionCall","src":"19618:17:27"},"variableNames":[{"name":"search","nativeSrc":"19608:6:27","nodeType":"YulIdentifier","src":"19608:6:27"}]},{"nativeSrc":"19648:37:27","nodeType":"YulAssignment","src":"19648:37:27","value":{"arguments":[{"name":"replacement","nativeSrc":"19667:11:27","nodeType":"YulIdentifier","src":"19667:11:27"},{"kind":"number","nativeSrc":"19680:4:27","nodeType":"YulLiteral","src":"19680:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"19663:3:27","nodeType":"YulIdentifier","src":"19663:3:27"},"nativeSrc":"19663:22:27","nodeType":"YulFunctionCall","src":"19663:22:27"},"variableNames":[{"name":"replacement","nativeSrc":"19648:11:27","nodeType":"YulIdentifier","src":"19648:11:27"}]},{"nativeSrc":"19698:32:27","nodeType":"YulAssignment","src":"19698:32:27","value":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"19718:4:27","nodeType":"YulLiteral","src":"19718:4:27","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"19712:5:27","nodeType":"YulIdentifier","src":"19712:5:27"},"nativeSrc":"19712:11:27","nodeType":"YulFunctionCall","src":"19712:11:27"},{"kind":"number","nativeSrc":"19725:4:27","nodeType":"YulLiteral","src":"19725:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"19708:3:27","nodeType":"YulIdentifier","src":"19708:3:27"},"nativeSrc":"19708:22:27","nodeType":"YulFunctionCall","src":"19708:22:27"},"variableNames":[{"name":"result","nativeSrc":"19698:6:27","nodeType":"YulIdentifier","src":"19698:6:27"}]},{"nativeSrc":"19744:45:27","nodeType":"YulVariableDeclaration","src":"19744:45:27","value":{"arguments":[{"name":"subject","nativeSrc":"19766:7:27","nodeType":"YulIdentifier","src":"19766:7:27"},{"name":"subjectLength","nativeSrc":"19775:13:27","nodeType":"YulIdentifier","src":"19775:13:27"}],"functionName":{"name":"add","nativeSrc":"19762:3:27","nodeType":"YulIdentifier","src":"19762:3:27"},"nativeSrc":"19762:27:27","nodeType":"YulFunctionCall","src":"19762:27:27"},"variables":[{"name":"subjectEnd","nativeSrc":"19748:10:27","nodeType":"YulTypedName","src":"19748:10:27","type":""}]},{"body":{"nativeSrc":"19845:1923:27","nodeType":"YulBlock","src":"19845:1923:27","statements":[{"nativeSrc":"19863:61:27","nodeType":"YulVariableDeclaration","src":"19863:61:27","value":{"arguments":[{"arguments":[{"name":"subjectEnd","nativeSrc":"19895:10:27","nodeType":"YulIdentifier","src":"19895:10:27"},{"name":"searchLength","nativeSrc":"19907:12:27","nodeType":"YulIdentifier","src":"19907:12:27"}],"functionName":{"name":"sub","nativeSrc":"19891:3:27","nodeType":"YulIdentifier","src":"19891:3:27"},"nativeSrc":"19891:29:27","nodeType":"YulFunctionCall","src":"19891:29:27"},{"kind":"number","nativeSrc":"19922:1:27","nodeType":"YulLiteral","src":"19922:1:27","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"19887:3:27","nodeType":"YulIdentifier","src":"19887:3:27"},"nativeSrc":"19887:37:27","nodeType":"YulFunctionCall","src":"19887:37:27"},"variables":[{"name":"subjectSearchEnd","nativeSrc":"19867:16:27","nodeType":"YulTypedName","src":"19867:16:27","type":""}]},{"nativeSrc":"19941:10:27","nodeType":"YulVariableDeclaration","src":"19941:10:27","value":{"kind":"number","nativeSrc":"19950:1:27","nodeType":"YulLiteral","src":"19950:1:27","type":"","value":"0"},"variables":[{"name":"h","nativeSrc":"19945:1:27","nodeType":"YulTypedName","src":"19945:1:27","type":""}]},{"body":{"nativeSrc":"20002:40:27","nodeType":"YulBlock","src":"20002:40:27","statements":[{"nativeSrc":"20004:36:27","nodeType":"YulAssignment","src":"20004:36:27","value":{"arguments":[{"name":"search","nativeSrc":"20019:6:27","nodeType":"YulIdentifier","src":"20019:6:27"},{"name":"searchLength","nativeSrc":"20027:12:27","nodeType":"YulIdentifier","src":"20027:12:27"}],"functionName":{"name":"keccak256","nativeSrc":"20009:9:27","nodeType":"YulIdentifier","src":"20009:9:27"},"nativeSrc":"20009:31:27","nodeType":"YulFunctionCall","src":"20009:31:27"},"variableNames":[{"name":"h","nativeSrc":"20004:1:27","nodeType":"YulIdentifier","src":"20004:1:27"}]}]},"condition":{"arguments":[{"arguments":[{"name":"searchLength","nativeSrc":"19981:12:27","nodeType":"YulIdentifier","src":"19981:12:27"},{"kind":"number","nativeSrc":"19995:4:27","nodeType":"YulLiteral","src":"19995:4:27","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"19978:2:27","nodeType":"YulIdentifier","src":"19978:2:27"},"nativeSrc":"19978:22:27","nodeType":"YulFunctionCall","src":"19978:22:27"}],"functionName":{"name":"iszero","nativeSrc":"19971:6:27","nodeType":"YulIdentifier","src":"19971:6:27"},"nativeSrc":"19971:30:27","nodeType":"YulFunctionCall","src":"19971:30:27"},"nativeSrc":"19968:74:27","nodeType":"YulIf","src":"19968:74:27"},{"nativeSrc":"20059:51:27","nodeType":"YulVariableDeclaration","src":"20059:51:27","value":{"arguments":[{"kind":"number","nativeSrc":"20072:1:27","nodeType":"YulLiteral","src":"20072:1:27","type":"","value":"3"},{"arguments":[{"kind":"number","nativeSrc":"20079:4:27","nodeType":"YulLiteral","src":"20079:4:27","type":"","value":"0x20"},{"arguments":[{"name":"searchLength","nativeSrc":"20089:12:27","nodeType":"YulIdentifier","src":"20089:12:27"},{"kind":"number","nativeSrc":"20103:4:27","nodeType":"YulLiteral","src":"20103:4:27","type":"","value":"0x1f"}],"functionName":{"name":"and","nativeSrc":"20085:3:27","nodeType":"YulIdentifier","src":"20085:3:27"},"nativeSrc":"20085:23:27","nodeType":"YulFunctionCall","src":"20085:23:27"}],"functionName":{"name":"sub","nativeSrc":"20075:3:27","nodeType":"YulIdentifier","src":"20075:3:27"},"nativeSrc":"20075:34:27","nodeType":"YulFunctionCall","src":"20075:34:27"}],"functionName":{"name":"shl","nativeSrc":"20068:3:27","nodeType":"YulIdentifier","src":"20068:3:27"},"nativeSrc":"20068:42:27","nodeType":"YulFunctionCall","src":"20068:42:27"},"variables":[{"name":"m","nativeSrc":"20063:1:27","nodeType":"YulTypedName","src":"20063:1:27","type":""}]},{"nativeSrc":"20127:22:27","nodeType":"YulVariableDeclaration","src":"20127:22:27","value":{"arguments":[{"name":"search","nativeSrc":"20142:6:27","nodeType":"YulIdentifier","src":"20142:6:27"}],"functionName":{"name":"mload","nativeSrc":"20136:5:27","nodeType":"YulIdentifier","src":"20136:5:27"},"nativeSrc":"20136:13:27","nodeType":"YulFunctionCall","src":"20136:13:27"},"variables":[{"name":"s","nativeSrc":"20131:1:27","nodeType":"YulTypedName","src":"20131:1:27","type":""}]},{"body":{"nativeSrc":"20178:1576:27","nodeType":"YulBlock","src":"20178:1576:27","statements":[{"nativeSrc":"20200:23:27","nodeType":"YulVariableDeclaration","src":"20200:23:27","value":{"arguments":[{"name":"subject","nativeSrc":"20215:7:27","nodeType":"YulIdentifier","src":"20215:7:27"}],"functionName":{"name":"mload","nativeSrc":"20209:5:27","nodeType":"YulIdentifier","src":"20209:5:27"},"nativeSrc":"20209:14:27","nodeType":"YulFunctionCall","src":"20209:14:27"},"variables":[{"name":"t","nativeSrc":"20204:1:27","nodeType":"YulTypedName","src":"20204:1:27","type":""}]},{"body":{"nativeSrc":"20398:1137:27","nodeType":"YulBlock","src":"20398:1137:27","statements":[{"body":{"nativeSrc":"20429:428:27","nodeType":"YulBlock","src":"20429:428:27","statements":[{"body":{"nativeSrc":"20510:321:27","nodeType":"YulBlock","src":"20510:321:27","statements":[{"expression":{"arguments":[{"name":"result","nativeSrc":"20551:6:27","nodeType":"YulIdentifier","src":"20551:6:27"},{"name":"t","nativeSrc":"20559:1:27","nodeType":"YulIdentifier","src":"20559:1:27"}],"functionName":{"name":"mstore","nativeSrc":"20544:6:27","nodeType":"YulIdentifier","src":"20544:6:27"},"nativeSrc":"20544:17:27","nodeType":"YulFunctionCall","src":"20544:17:27"},"nativeSrc":"20544:17:27","nodeType":"YulExpressionStatement","src":"20544:17:27"},{"nativeSrc":"20594:24:27","nodeType":"YulAssignment","src":"20594:24:27","value":{"arguments":[{"name":"result","nativeSrc":"20608:6:27","nodeType":"YulIdentifier","src":"20608:6:27"},{"kind":"number","nativeSrc":"20616:1:27","nodeType":"YulLiteral","src":"20616:1:27","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"20604:3:27","nodeType":"YulIdentifier","src":"20604:3:27"},"nativeSrc":"20604:14:27","nodeType":"YulFunctionCall","src":"20604:14:27"},"variableNames":[{"name":"result","nativeSrc":"20594:6:27","nodeType":"YulIdentifier","src":"20594:6:27"}]},{"nativeSrc":"20651:26:27","nodeType":"YulAssignment","src":"20651:26:27","value":{"arguments":[{"name":"subject","nativeSrc":"20666:7:27","nodeType":"YulIdentifier","src":"20666:7:27"},{"kind":"number","nativeSrc":"20675:1:27","nodeType":"YulLiteral","src":"20675:1:27","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"20662:3:27","nodeType":"YulIdentifier","src":"20662:3:27"},"nativeSrc":"20662:15:27","nodeType":"YulFunctionCall","src":"20662:15:27"},"variableNames":[{"name":"subject","nativeSrc":"20651:7:27","nodeType":"YulIdentifier","src":"20651:7:27"}]},{"body":{"nativeSrc":"20751:9:27","nodeType":"YulBlock","src":"20751:9:27","statements":[{"nativeSrc":"20753:5:27","nodeType":"YulBreak","src":"20753:5:27"}]},"condition":{"arguments":[{"arguments":[{"name":"subject","nativeSrc":"20723:7:27","nodeType":"YulIdentifier","src":"20723:7:27"},{"name":"subjectSearchEnd","nativeSrc":"20732:16:27","nodeType":"YulIdentifier","src":"20732:16:27"}],"functionName":{"name":"lt","nativeSrc":"20720:2:27","nodeType":"YulIdentifier","src":"20720:2:27"},"nativeSrc":"20720:29:27","nodeType":"YulFunctionCall","src":"20720:29:27"}],"functionName":{"name":"iszero","nativeSrc":"20713:6:27","nodeType":"YulIdentifier","src":"20713:6:27"},"nativeSrc":"20713:37:27","nodeType":"YulFunctionCall","src":"20713:37:27"},"nativeSrc":"20710:50:27","nodeType":"YulIf","src":"20710:50:27"},{"nativeSrc":"20793:8:27","nodeType":"YulContinue","src":"20793:8:27"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"subject","nativeSrc":"20482:7:27","nodeType":"YulIdentifier","src":"20482:7:27"},{"name":"searchLength","nativeSrc":"20491:12:27","nodeType":"YulIdentifier","src":"20491:12:27"}],"functionName":{"name":"keccak256","nativeSrc":"20472:9:27","nodeType":"YulIdentifier","src":"20472:9:27"},"nativeSrc":"20472:32:27","nodeType":"YulFunctionCall","src":"20472:32:27"},{"name":"h","nativeSrc":"20506:1:27","nodeType":"YulIdentifier","src":"20506:1:27"}],"functionName":{"name":"eq","nativeSrc":"20469:2:27","nodeType":"YulIdentifier","src":"20469:2:27"},"nativeSrc":"20469:39:27","nodeType":"YulFunctionCall","src":"20469:39:27"}],"functionName":{"name":"iszero","nativeSrc":"20462:6:27","nodeType":"YulIdentifier","src":"20462:6:27"},"nativeSrc":"20462:47:27","nodeType":"YulFunctionCall","src":"20462:47:27"},"nativeSrc":"20459:372:27","nodeType":"YulIf","src":"20459:372:27"}]},"condition":{"name":"h","nativeSrc":"20427:1:27","nodeType":"YulIdentifier","src":"20427:1:27"},"nativeSrc":"20424:433:27","nodeType":"YulIf","src":"20424:433:27"},{"body":{"nativeSrc":"20976:226:27","nodeType":"YulBlock","src":"20976:226:27","statements":[{"expression":{"arguments":[{"arguments":[{"name":"result","nativeSrc":"21017:6:27","nodeType":"YulIdentifier","src":"21017:6:27"},{"name":"o","nativeSrc":"21025:1:27","nodeType":"YulIdentifier","src":"21025:1:27"}],"functionName":{"name":"add","nativeSrc":"21013:3:27","nodeType":"YulIdentifier","src":"21013:3:27"},"nativeSrc":"21013:14:27","nodeType":"YulFunctionCall","src":"21013:14:27"},{"arguments":[{"arguments":[{"name":"replacement","nativeSrc":"21039:11:27","nodeType":"YulIdentifier","src":"21039:11:27"},{"name":"o","nativeSrc":"21052:1:27","nodeType":"YulIdentifier","src":"21052:1:27"}],"functionName":{"name":"add","nativeSrc":"21035:3:27","nodeType":"YulIdentifier","src":"21035:3:27"},"nativeSrc":"21035:19:27","nodeType":"YulFunctionCall","src":"21035:19:27"}],"functionName":{"name":"mload","nativeSrc":"21029:5:27","nodeType":"YulIdentifier","src":"21029:5:27"},"nativeSrc":"21029:26:27","nodeType":"YulFunctionCall","src":"21029:26:27"}],"functionName":{"name":"mstore","nativeSrc":"21006:6:27","nodeType":"YulIdentifier","src":"21006:6:27"},"nativeSrc":"21006:50:27","nodeType":"YulFunctionCall","src":"21006:50:27"},"nativeSrc":"21006:50:27","nodeType":"YulExpressionStatement","src":"21006:50:27"},{"nativeSrc":"21085:17:27","nodeType":"YulAssignment","src":"21085:17:27","value":{"arguments":[{"name":"o","nativeSrc":"21094:1:27","nodeType":"YulIdentifier","src":"21094:1:27"},{"kind":"number","nativeSrc":"21097:4:27","nodeType":"YulLiteral","src":"21097:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"21090:3:27","nodeType":"YulIdentifier","src":"21090:3:27"},"nativeSrc":"21090:12:27","nodeType":"YulFunctionCall","src":"21090:12:27"},"variableNames":[{"name":"o","nativeSrc":"21085:1:27","nodeType":"YulIdentifier","src":"21085:1:27"}]},{"body":{"nativeSrc":"21167:9:27","nodeType":"YulBlock","src":"21167:9:27","statements":[{"nativeSrc":"21169:5:27","nodeType":"YulBreak","src":"21169:5:27"}]},"condition":{"arguments":[{"arguments":[{"name":"o","nativeSrc":"21144:1:27","nodeType":"YulIdentifier","src":"21144:1:27"},{"name":"replacementLength","nativeSrc":"21147:17:27","nodeType":"YulIdentifier","src":"21147:17:27"}],"functionName":{"name":"lt","nativeSrc":"21141:2:27","nodeType":"YulIdentifier","src":"21141:2:27"},"nativeSrc":"21141:24:27","nodeType":"YulFunctionCall","src":"21141:24:27"}],"functionName":{"name":"iszero","nativeSrc":"21134:6:27","nodeType":"YulIdentifier","src":"21134:6:27"},"nativeSrc":"21134:32:27","nodeType":"YulFunctionCall","src":"21134:32:27"},"nativeSrc":"21131:45:27","nodeType":"YulIf","src":"21131:45:27"}]},"condition":{"kind":"number","nativeSrc":"20971:1:27","nodeType":"YulLiteral","src":"20971:1:27","type":"","value":"1"},"nativeSrc":"20952:250:27","nodeType":"YulForLoop","post":{"nativeSrc":"20973:2:27","nodeType":"YulBlock","src":"20973:2:27","statements":[]},"pre":{"nativeSrc":"20956:14:27","nodeType":"YulBlock","src":"20956:14:27","statements":[{"nativeSrc":"20958:10:27","nodeType":"YulVariableDeclaration","src":"20958:10:27","value":{"kind":"number","nativeSrc":"20967:1:27","nodeType":"YulLiteral","src":"20967:1:27","type":"","value":"0"},"variables":[{"name":"o","nativeSrc":"20962:1:27","nodeType":"YulTypedName","src":"20962:1:27","type":""}]}]},"src":"20952:250:27"},{"nativeSrc":"21227:40:27","nodeType":"YulAssignment","src":"21227:40:27","value":{"arguments":[{"name":"result","nativeSrc":"21241:6:27","nodeType":"YulIdentifier","src":"21241:6:27"},{"name":"replacementLength","nativeSrc":"21249:17:27","nodeType":"YulIdentifier","src":"21249:17:27"}],"functionName":{"name":"add","nativeSrc":"21237:3:27","nodeType":"YulIdentifier","src":"21237:3:27"},"nativeSrc":"21237:30:27","nodeType":"YulFunctionCall","src":"21237:30:27"},"variableNames":[{"name":"result","nativeSrc":"21227:6:27","nodeType":"YulIdentifier","src":"21227:6:27"}]},{"nativeSrc":"21292:37:27","nodeType":"YulAssignment","src":"21292:37:27","value":{"arguments":[{"name":"subject","nativeSrc":"21307:7:27","nodeType":"YulIdentifier","src":"21307:7:27"},{"name":"searchLength","nativeSrc":"21316:12:27","nodeType":"YulIdentifier","src":"21316:12:27"}],"functionName":{"name":"add","nativeSrc":"21303:3:27","nodeType":"YulIdentifier","src":"21303:3:27"},"nativeSrc":"21303:26:27","nodeType":"YulFunctionCall","src":"21303:26:27"},"variableNames":[{"name":"subject","nativeSrc":"21292:7:27","nodeType":"YulIdentifier","src":"21292:7:27"}]},{"body":{"nativeSrc":"21370:143:27","nodeType":"YulBlock","src":"21370:143:27","statements":[{"body":{"nativeSrc":"21441:9:27","nodeType":"YulBlock","src":"21441:9:27","statements":[{"nativeSrc":"21443:5:27","nodeType":"YulBreak","src":"21443:5:27"}]},"condition":{"arguments":[{"arguments":[{"name":"subject","nativeSrc":"21413:7:27","nodeType":"YulIdentifier","src":"21413:7:27"},{"name":"subjectSearchEnd","nativeSrc":"21422:16:27","nodeType":"YulIdentifier","src":"21422:16:27"}],"functionName":{"name":"lt","nativeSrc":"21410:2:27","nodeType":"YulIdentifier","src":"21410:2:27"},"nativeSrc":"21410:29:27","nodeType":"YulFunctionCall","src":"21410:29:27"}],"functionName":{"name":"iszero","nativeSrc":"21403:6:27","nodeType":"YulIdentifier","src":"21403:6:27"},"nativeSrc":"21403:37:27","nodeType":"YulFunctionCall","src":"21403:37:27"},"nativeSrc":"21400:50:27","nodeType":"YulIf","src":"21400:50:27"},{"nativeSrc":"21479:8:27","nodeType":"YulContinue","src":"21479:8:27"}]},"condition":{"name":"searchLength","nativeSrc":"21357:12:27","nodeType":"YulIdentifier","src":"21357:12:27"},"nativeSrc":"21354:159:27","nodeType":"YulIf","src":"21354:159:27"}]},"condition":{"arguments":[{"arguments":[{"name":"m","nativeSrc":"20383:1:27","nodeType":"YulIdentifier","src":"20383:1:27"},{"arguments":[{"name":"t","nativeSrc":"20390:1:27","nodeType":"YulIdentifier","src":"20390:1:27"},{"name":"s","nativeSrc":"20393:1:27","nodeType":"YulIdentifier","src":"20393:1:27"}],"functionName":{"name":"xor","nativeSrc":"20386:3:27","nodeType":"YulIdentifier","src":"20386:3:27"},"nativeSrc":"20386:9:27","nodeType":"YulFunctionCall","src":"20386:9:27"}],"functionName":{"name":"shr","nativeSrc":"20379:3:27","nodeType":"YulIdentifier","src":"20379:3:27"},"nativeSrc":"20379:17:27","nodeType":"YulFunctionCall","src":"20379:17:27"}],"functionName":{"name":"iszero","nativeSrc":"20372:6:27","nodeType":"YulIdentifier","src":"20372:6:27"},"nativeSrc":"20372:25:27","nodeType":"YulFunctionCall","src":"20372:25:27"},"nativeSrc":"20369:1166:27","nodeType":"YulIf","src":"20369:1166:27"},{"expression":{"arguments":[{"name":"result","nativeSrc":"21563:6:27","nodeType":"YulIdentifier","src":"21563:6:27"},{"name":"t","nativeSrc":"21571:1:27","nodeType":"YulIdentifier","src":"21571:1:27"}],"functionName":{"name":"mstore","nativeSrc":"21556:6:27","nodeType":"YulIdentifier","src":"21556:6:27"},"nativeSrc":"21556:17:27","nodeType":"YulFunctionCall","src":"21556:17:27"},"nativeSrc":"21556:17:27","nodeType":"YulExpressionStatement","src":"21556:17:27"},{"nativeSrc":"21594:24:27","nodeType":"YulAssignment","src":"21594:24:27","value":{"arguments":[{"name":"result","nativeSrc":"21608:6:27","nodeType":"YulIdentifier","src":"21608:6:27"},{"kind":"number","nativeSrc":"21616:1:27","nodeType":"YulLiteral","src":"21616:1:27","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"21604:3:27","nodeType":"YulIdentifier","src":"21604:3:27"},"nativeSrc":"21604:14:27","nodeType":"YulFunctionCall","src":"21604:14:27"},"variableNames":[{"name":"result","nativeSrc":"21594:6:27","nodeType":"YulIdentifier","src":"21594:6:27"}]},{"nativeSrc":"21639:26:27","nodeType":"YulAssignment","src":"21639:26:27","value":{"arguments":[{"name":"subject","nativeSrc":"21654:7:27","nodeType":"YulIdentifier","src":"21654:7:27"},{"kind":"number","nativeSrc":"21663:1:27","nodeType":"YulLiteral","src":"21663:1:27","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"21650:3:27","nodeType":"YulIdentifier","src":"21650:3:27"},"nativeSrc":"21650:15:27","nodeType":"YulFunctionCall","src":"21650:15:27"},"variableNames":[{"name":"subject","nativeSrc":"21639:7:27","nodeType":"YulIdentifier","src":"21639:7:27"}]},{"body":{"nativeSrc":"21727:9:27","nodeType":"YulBlock","src":"21727:9:27","statements":[{"nativeSrc":"21729:5:27","nodeType":"YulBreak","src":"21729:5:27"}]},"condition":{"arguments":[{"arguments":[{"name":"subject","nativeSrc":"21699:7:27","nodeType":"YulIdentifier","src":"21699:7:27"},{"name":"subjectSearchEnd","nativeSrc":"21708:16:27","nodeType":"YulIdentifier","src":"21708:16:27"}],"functionName":{"name":"lt","nativeSrc":"21696:2:27","nodeType":"YulIdentifier","src":"21696:2:27"},"nativeSrc":"21696:29:27","nodeType":"YulFunctionCall","src":"21696:29:27"}],"functionName":{"name":"iszero","nativeSrc":"21689:6:27","nodeType":"YulIdentifier","src":"21689:6:27"},"nativeSrc":"21689:37:27","nodeType":"YulFunctionCall","src":"21689:37:27"},"nativeSrc":"21686:50:27","nodeType":"YulIf","src":"21686:50:27"}]},"condition":{"kind":"number","nativeSrc":"20173:1:27","nodeType":"YulLiteral","src":"20173:1:27","type":"","value":"1"},"nativeSrc":"20166:1588:27","nodeType":"YulForLoop","post":{"nativeSrc":"20175:2:27","nodeType":"YulBlock","src":"20175:2:27","statements":[]},"pre":{"nativeSrc":"20170:2:27","nodeType":"YulBlock","src":"20170:2:27","statements":[]},"src":"20166:1588:27"}]},"condition":{"arguments":[{"arguments":[{"name":"searchLength","nativeSrc":"19815:12:27","nodeType":"YulIdentifier","src":"19815:12:27"},{"name":"subjectLength","nativeSrc":"19829:13:27","nodeType":"YulIdentifier","src":"19829:13:27"}],"functionName":{"name":"gt","nativeSrc":"19812:2:27","nodeType":"YulIdentifier","src":"19812:2:27"},"nativeSrc":"19812:31:27","nodeType":"YulFunctionCall","src":"19812:31:27"}],"functionName":{"name":"iszero","nativeSrc":"19805:6:27","nodeType":"YulIdentifier","src":"19805:6:27"},"nativeSrc":"19805:39:27","nodeType":"YulFunctionCall","src":"19805:39:27"},"nativeSrc":"19802:1966:27","nodeType":"YulIf","src":"19802:1966:27"},{"nativeSrc":"21782:29:27","nodeType":"YulVariableDeclaration","src":"21782:29:27","value":{"name":"result","nativeSrc":"21805:6:27","nodeType":"YulIdentifier","src":"21805:6:27"},"variables":[{"name":"resultRemainder","nativeSrc":"21786:15:27","nodeType":"YulTypedName","src":"21786:15:27","type":""}]},{"nativeSrc":"21824:32:27","nodeType":"YulAssignment","src":"21824:32:27","value":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"21844:4:27","nodeType":"YulLiteral","src":"21844:4:27","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"21838:5:27","nodeType":"YulIdentifier","src":"21838:5:27"},"nativeSrc":"21838:11:27","nodeType":"YulFunctionCall","src":"21838:11:27"},{"kind":"number","nativeSrc":"21851:4:27","nodeType":"YulLiteral","src":"21851:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"21834:3:27","nodeType":"YulIdentifier","src":"21834:3:27"},"nativeSrc":"21834:22:27","nodeType":"YulFunctionCall","src":"21834:22:27"},"variableNames":[{"name":"result","nativeSrc":"21824:6:27","nodeType":"YulIdentifier","src":"21824:6:27"}]},{"nativeSrc":"21869:68:27","nodeType":"YulVariableDeclaration","src":"21869:68:27","value":{"arguments":[{"arguments":[{"name":"resultRemainder","nativeSrc":"21886:15:27","nodeType":"YulIdentifier","src":"21886:15:27"},{"name":"result","nativeSrc":"21903:6:27","nodeType":"YulIdentifier","src":"21903:6:27"}],"functionName":{"name":"sub","nativeSrc":"21882:3:27","nodeType":"YulIdentifier","src":"21882:3:27"},"nativeSrc":"21882:28:27","nodeType":"YulFunctionCall","src":"21882:28:27"},{"arguments":[{"name":"subjectEnd","nativeSrc":"21916:10:27","nodeType":"YulIdentifier","src":"21916:10:27"},{"name":"subject","nativeSrc":"21928:7:27","nodeType":"YulIdentifier","src":"21928:7:27"}],"functionName":{"name":"sub","nativeSrc":"21912:3:27","nodeType":"YulIdentifier","src":"21912:3:27"},"nativeSrc":"21912:24:27","nodeType":"YulFunctionCall","src":"21912:24:27"}],"functionName":{"name":"add","nativeSrc":"21878:3:27","nodeType":"YulIdentifier","src":"21878:3:27"},"nativeSrc":"21878:59:27","nodeType":"YulFunctionCall","src":"21878:59:27"},"variables":[{"name":"k","nativeSrc":"21873:1:27","nodeType":"YulTypedName","src":"21873:1:27","type":""}]},{"body":{"nativeSrc":"22047:179:27","nodeType":"YulBlock","src":"22047:179:27","statements":[{"expression":{"arguments":[{"name":"resultRemainder","nativeSrc":"22072:15:27","nodeType":"YulIdentifier","src":"22072:15:27"},{"arguments":[{"name":"subject","nativeSrc":"22095:7:27","nodeType":"YulIdentifier","src":"22095:7:27"}],"functionName":{"name":"mload","nativeSrc":"22089:5:27","nodeType":"YulIdentifier","src":"22089:5:27"},"nativeSrc":"22089:14:27","nodeType":"YulFunctionCall","src":"22089:14:27"}],"functionName":{"name":"mstore","nativeSrc":"22065:6:27","nodeType":"YulIdentifier","src":"22065:6:27"},"nativeSrc":"22065:39:27","nodeType":"YulFunctionCall","src":"22065:39:27"},"nativeSrc":"22065:39:27","nodeType":"YulExpressionStatement","src":"22065:39:27"},{"nativeSrc":"22121:45:27","nodeType":"YulAssignment","src":"22121:45:27","value":{"arguments":[{"name":"resultRemainder","nativeSrc":"22144:15:27","nodeType":"YulIdentifier","src":"22144:15:27"},{"kind":"number","nativeSrc":"22161:4:27","nodeType":"YulLiteral","src":"22161:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"22140:3:27","nodeType":"YulIdentifier","src":"22140:3:27"},"nativeSrc":"22140:26:27","nodeType":"YulFunctionCall","src":"22140:26:27"},"variableNames":[{"name":"resultRemainder","nativeSrc":"22121:15:27","nodeType":"YulIdentifier","src":"22121:15:27"}]},{"nativeSrc":"22183:29:27","nodeType":"YulAssignment","src":"22183:29:27","value":{"arguments":[{"name":"subject","nativeSrc":"22198:7:27","nodeType":"YulIdentifier","src":"22198:7:27"},{"kind":"number","nativeSrc":"22207:4:27","nodeType":"YulLiteral","src":"22207:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"22194:3:27","nodeType":"YulIdentifier","src":"22194:3:27"},"nativeSrc":"22194:18:27","nodeType":"YulFunctionCall","src":"22194:18:27"},"variableNames":[{"name":"subject","nativeSrc":"22183:7:27","nodeType":"YulIdentifier","src":"22183:7:27"}]}]},"condition":{"arguments":[{"name":"subject","nativeSrc":"22023:7:27","nodeType":"YulIdentifier","src":"22023:7:27"},{"name":"subjectEnd","nativeSrc":"22032:10:27","nodeType":"YulIdentifier","src":"22032:10:27"}],"functionName":{"name":"lt","nativeSrc":"22020:2:27","nodeType":"YulIdentifier","src":"22020:2:27"},"nativeSrc":"22020:23:27","nodeType":"YulFunctionCall","src":"22020:23:27"},"nativeSrc":"22013:213:27","nodeType":"YulForLoop","post":{"nativeSrc":"22044:2:27","nodeType":"YulBlock","src":"22044:2:27","statements":[]},"pre":{"nativeSrc":"22017:2:27","nodeType":"YulBlock","src":"22017:2:27","statements":[]},"src":"22013:213:27"},{"nativeSrc":"22239:27:27","nodeType":"YulAssignment","src":"22239:27:27","value":{"arguments":[{"name":"result","nativeSrc":"22253:6:27","nodeType":"YulIdentifier","src":"22253:6:27"},{"kind":"number","nativeSrc":"22261:4:27","nodeType":"YulLiteral","src":"22261:4:27","type":"","value":"0x20"}],"functionName":{"name":"sub","nativeSrc":"22249:3:27","nodeType":"YulIdentifier","src":"22249:3:27"},"nativeSrc":"22249:17:27","nodeType":"YulFunctionCall","src":"22249:17:27"},"variableNames":[{"name":"result","nativeSrc":"22239:6:27","nodeType":"YulIdentifier","src":"22239:6:27"}]},{"nativeSrc":"22279:37:27","nodeType":"YulVariableDeclaration","src":"22279:37:27","value":{"arguments":[{"arguments":[{"name":"result","nativeSrc":"22299:6:27","nodeType":"YulIdentifier","src":"22299:6:27"},{"kind":"number","nativeSrc":"22307:4:27","nodeType":"YulLiteral","src":"22307:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"22295:3:27","nodeType":"YulIdentifier","src":"22295:3:27"},"nativeSrc":"22295:17:27","nodeType":"YulFunctionCall","src":"22295:17:27"},{"name":"k","nativeSrc":"22314:1:27","nodeType":"YulIdentifier","src":"22314:1:27"}],"functionName":{"name":"add","nativeSrc":"22291:3:27","nodeType":"YulIdentifier","src":"22291:3:27"},"nativeSrc":"22291:25:27","nodeType":"YulFunctionCall","src":"22291:25:27"},"variables":[{"name":"last","nativeSrc":"22283:4:27","nodeType":"YulTypedName","src":"22283:4:27","type":""}]},{"expression":{"arguments":[{"name":"last","nativeSrc":"22374:4:27","nodeType":"YulIdentifier","src":"22374:4:27"},{"kind":"number","nativeSrc":"22380:1:27","nodeType":"YulLiteral","src":"22380:1:27","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"22367:6:27","nodeType":"YulIdentifier","src":"22367:6:27"},"nativeSrc":"22367:15:27","nodeType":"YulFunctionCall","src":"22367:15:27"},"nativeSrc":"22367:15:27","nodeType":"YulExpressionStatement","src":"22367:15:27"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"22402:4:27","nodeType":"YulLiteral","src":"22402:4:27","type":"","value":"0x40"},{"arguments":[{"name":"last","nativeSrc":"22412:4:27","nodeType":"YulIdentifier","src":"22412:4:27"},{"kind":"number","nativeSrc":"22418:4:27","nodeType":"YulLiteral","src":"22418:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"22408:3:27","nodeType":"YulIdentifier","src":"22408:3:27"},"nativeSrc":"22408:15:27","nodeType":"YulFunctionCall","src":"22408:15:27"}],"functionName":{"name":"mstore","nativeSrc":"22395:6:27","nodeType":"YulIdentifier","src":"22395:6:27"},"nativeSrc":"22395:29:27","nodeType":"YulFunctionCall","src":"22395:29:27"},"nativeSrc":"22395:29:27","nodeType":"YulExpressionStatement","src":"22395:29:27"},{"expression":{"arguments":[{"name":"result","nativeSrc":"22468:6:27","nodeType":"YulIdentifier","src":"22468:6:27"},{"name":"k","nativeSrc":"22476:1:27","nodeType":"YulIdentifier","src":"22476:1:27"}],"functionName":{"name":"mstore","nativeSrc":"22461:6:27","nodeType":"YulIdentifier","src":"22461:6:27"},"nativeSrc":"22461:17:27","nodeType":"YulFunctionCall","src":"22461:17:27"},"nativeSrc":"22461:17:27","nodeType":"YulExpressionStatement","src":"22461:17:27"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":47255,"isOffset":false,"isSlot":false,"src":"19540:11:27","valueSize":1},{"declaration":47255,"isOffset":false,"isSlot":false,"src":"19648:11:27","valueSize":1},{"declaration":47255,"isOffset":false,"isSlot":false,"src":"19667:11:27","valueSize":1},{"declaration":47255,"isOffset":false,"isSlot":false,"src":"21039:11:27","valueSize":1},{"declaration":47258,"isOffset":false,"isSlot":false,"src":"19698:6:27","valueSize":1},{"declaration":47258,"isOffset":false,"isSlot":false,"src":"20551:6:27","valueSize":1},{"declaration":47258,"isOffset":false,"isSlot":false,"src":"20594:6:27","valueSize":1},{"declaration":47258,"isOffset":false,"isSlot":false,"src":"20608:6:27","valueSize":1},{"declaration":47258,"isOffset":false,"isSlot":false,"src":"21017:6:27","valueSize":1},{"declaration":47258,"isOffset":false,"isSlot":false,"src":"21227:6:27","valueSize":1},{"declaration":47258,"isOffset":false,"isSlot":false,"src":"21241:6:27","valueSize":1},{"declaration":47258,"isOffset":false,"isSlot":false,"src":"21563:6:27","valueSize":1},{"declaration":47258,"isOffset":false,"isSlot":false,"src":"21594:6:27","valueSize":1},{"declaration":47258,"isOffset":false,"isSlot":false,"src":"21608:6:27","valueSize":1},{"declaration":47258,"isOffset":false,"isSlot":false,"src":"21805:6:27","valueSize":1},{"declaration":47258,"isOffset":false,"isSlot":false,"src":"21824:6:27","valueSize":1},{"declaration":47258,"isOffset":false,"isSlot":false,"src":"21903:6:27","valueSize":1},{"declaration":47258,"isOffset":false,"isSlot":false,"src":"22239:6:27","valueSize":1},{"declaration":47258,"isOffset":false,"isSlot":false,"src":"22253:6:27","valueSize":1},{"declaration":47258,"isOffset":false,"isSlot":false,"src":"22299:6:27","valueSize":1},{"declaration":47258,"isOffset":false,"isSlot":false,"src":"22468:6:27","valueSize":1},{"declaration":47253,"isOffset":false,"isSlot":false,"src":"19489:6:27","valueSize":1},{"declaration":47253,"isOffset":false,"isSlot":false,"src":"19608:6:27","valueSize":1},{"declaration":47253,"isOffset":false,"isSlot":false,"src":"19622:6:27","valueSize":1},{"declaration":47253,"isOffset":false,"isSlot":false,"src":"20019:6:27","valueSize":1},{"declaration":47253,"isOffset":false,"isSlot":false,"src":"20142:6:27","valueSize":1},{"declaration":47251,"isOffset":false,"isSlot":false,"src":"19442:7:27","valueSize":1},{"declaration":47251,"isOffset":false,"isSlot":false,"src":"19566:7:27","valueSize":1},{"declaration":47251,"isOffset":false,"isSlot":false,"src":"19581:7:27","valueSize":1},{"declaration":47251,"isOffset":false,"isSlot":false,"src":"19766:7:27","valueSize":1},{"declaration":47251,"isOffset":false,"isSlot":false,"src":"20215:7:27","valueSize":1},{"declaration":47251,"isOffset":false,"isSlot":false,"src":"20482:7:27","valueSize":1},{"declaration":47251,"isOffset":false,"isSlot":false,"src":"20651:7:27","valueSize":1},{"declaration":47251,"isOffset":false,"isSlot":false,"src":"20666:7:27","valueSize":1},{"declaration":47251,"isOffset":false,"isSlot":false,"src":"20723:7:27","valueSize":1},{"declaration":47251,"isOffset":false,"isSlot":false,"src":"21292:7:27","valueSize":1},{"declaration":47251,"isOffset":false,"isSlot":false,"src":"21307:7:27","valueSize":1},{"declaration":47251,"isOffset":false,"isSlot":false,"src":"21413:7:27","valueSize":1},{"declaration":47251,"isOffset":false,"isSlot":false,"src":"21639:7:27","valueSize":1},{"declaration":47251,"isOffset":false,"isSlot":false,"src":"21654:7:27","valueSize":1},{"declaration":47251,"isOffset":false,"isSlot":false,"src":"21699:7:27","valueSize":1},{"declaration":47251,"isOffset":false,"isSlot":false,"src":"21928:7:27","valueSize":1},{"declaration":47251,"isOffset":false,"isSlot":false,"src":"22023:7:27","valueSize":1},{"declaration":47251,"isOffset":false,"isSlot":false,"src":"22095:7:27","valueSize":1},{"declaration":47251,"isOffset":false,"isSlot":false,"src":"22183:7:27","valueSize":1},{"declaration":47251,"isOffset":false,"isSlot":false,"src":"22198:7:27","valueSize":1}],"id":47260,"nodeType":"InlineAssembly","src":"19392:3117:27"}]},"documentation":{"id":47249,"nodeType":"StructuredDocumentation","src":"19089:83:27","text":"@dev Returns `subject` all occurrences of `search` replaced with `replacement`."},"implemented":true,"kind":"function","modifiers":[],"name":"replace","nameLocation":"19186:7:27","parameters":{"id":47256,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47251,"mutability":"mutable","name":"subject","nameLocation":"19208:7:27","nodeType":"VariableDeclaration","scope":47262,"src":"19194:21:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47250,"name":"string","nodeType":"ElementaryTypeName","src":"19194:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47253,"mutability":"mutable","name":"search","nameLocation":"19231:6:27","nodeType":"VariableDeclaration","scope":47262,"src":"19217:20:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47252,"name":"string","nodeType":"ElementaryTypeName","src":"19217:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47255,"mutability":"mutable","name":"replacement","nameLocation":"19253:11:27","nodeType":"VariableDeclaration","scope":47262,"src":"19239:25:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47254,"name":"string","nodeType":"ElementaryTypeName","src":"19239:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19193:72:27"},"returnParameters":{"id":47259,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47258,"mutability":"mutable","name":"result","nameLocation":"19327:6:27","nodeType":"VariableDeclaration","scope":47262,"src":"19313:20:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47257,"name":"string","nodeType":"ElementaryTypeName","src":"19313:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19312:22:27"},"scope":47666,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47276,"nodeType":"FunctionDefinition","src":"22750:2065:27","nodes":[],"body":{"id":47275,"nodeType":"Block","src":"22893:1922:27","nodes":[],"statements":[{"AST":{"nativeSrc":"22955:1854:27","nodeType":"YulBlock","src":"22955:1854:27","statements":[{"body":{"nativeSrc":"23018:1781:27","nodeType":"YulBlock","src":"23018:1781:27","statements":[{"body":{"nativeSrc":"23061:237:27","nodeType":"YulBlock","src":"23061:237:27","statements":[{"body":{"nativeSrc":"23118:92:27","nodeType":"YulBlock","src":"23118:92:27","statements":[{"nativeSrc":"23144:14:27","nodeType":"YulAssignment","src":"23144:14:27","value":{"name":"from","nativeSrc":"23154:4:27","nodeType":"YulIdentifier","src":"23154:4:27"},"variableNames":[{"name":"result","nativeSrc":"23144:6:27","nodeType":"YulIdentifier","src":"23144:6:27"}]},{"nativeSrc":"23183:5:27","nodeType":"YulBreak","src":"23183:5:27"}]},"condition":{"arguments":[{"arguments":[{"name":"from","nativeSrc":"23096:4:27","nodeType":"YulIdentifier","src":"23096:4:27"},{"name":"subjectLength","nativeSrc":"23102:13:27","nodeType":"YulIdentifier","src":"23102:13:27"}],"functionName":{"name":"gt","nativeSrc":"23093:2:27","nodeType":"YulIdentifier","src":"23093:2:27"},"nativeSrc":"23093:23:27","nodeType":"YulFunctionCall","src":"23093:23:27"}],"functionName":{"name":"iszero","nativeSrc":"23086:6:27","nodeType":"YulIdentifier","src":"23086:6:27"},"nativeSrc":"23086:31:27","nodeType":"YulFunctionCall","src":"23086:31:27"},"nativeSrc":"23083:127:27","nodeType":"YulIf","src":"23083:127:27"},{"nativeSrc":"23231:23:27","nodeType":"YulAssignment","src":"23231:23:27","value":{"name":"subjectLength","nativeSrc":"23241:13:27","nodeType":"YulIdentifier","src":"23241:13:27"},"variableNames":[{"name":"result","nativeSrc":"23231:6:27","nodeType":"YulIdentifier","src":"23231:6:27"}]},{"nativeSrc":"23275:5:27","nodeType":"YulBreak","src":"23275:5:27"}]},"condition":{"arguments":[{"arguments":[{"name":"search","nativeSrc":"23052:6:27","nodeType":"YulIdentifier","src":"23052:6:27"}],"functionName":{"name":"mload","nativeSrc":"23046:5:27","nodeType":"YulIdentifier","src":"23046:5:27"},"nativeSrc":"23046:13:27","nodeType":"YulFunctionCall","src":"23046:13:27"}],"functionName":{"name":"iszero","nativeSrc":"23039:6:27","nodeType":"YulIdentifier","src":"23039:6:27"},"nativeSrc":"23039:21:27","nodeType":"YulFunctionCall","src":"23039:21:27"},"nativeSrc":"23036:262:27","nodeType":"YulIf","src":"23036:262:27"},{"nativeSrc":"23315:33:27","nodeType":"YulVariableDeclaration","src":"23315:33:27","value":{"arguments":[{"name":"search","nativeSrc":"23341:6:27","nodeType":"YulIdentifier","src":"23341:6:27"}],"functionName":{"name":"mload","nativeSrc":"23335:5:27","nodeType":"YulIdentifier","src":"23335:5:27"},"nativeSrc":"23335:13:27","nodeType":"YulFunctionCall","src":"23335:13:27"},"variables":[{"name":"searchLength","nativeSrc":"23319:12:27","nodeType":"YulTypedName","src":"23319:12:27","type":""}]},{"nativeSrc":"23365:38:27","nodeType":"YulVariableDeclaration","src":"23365:38:27","value":{"arguments":[{"name":"subject","nativeSrc":"23389:7:27","nodeType":"YulIdentifier","src":"23389:7:27"},{"kind":"number","nativeSrc":"23398:4:27","nodeType":"YulLiteral","src":"23398:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"23385:3:27","nodeType":"YulIdentifier","src":"23385:3:27"},"nativeSrc":"23385:18:27","nodeType":"YulFunctionCall","src":"23385:18:27"},"variables":[{"name":"subjectStart","nativeSrc":"23369:12:27","nodeType":"YulTypedName","src":"23369:12:27","type":""}]},{"nativeSrc":"23421:16:27","nodeType":"YulAssignment","src":"23421:16:27","value":{"arguments":[{"kind":"number","nativeSrc":"23435:1:27","nodeType":"YulLiteral","src":"23435:1:27","type":"","value":"0"}],"functionName":{"name":"not","nativeSrc":"23431:3:27","nodeType":"YulIdentifier","src":"23431:3:27"},"nativeSrc":"23431:6:27","nodeType":"YulFunctionCall","src":"23431:6:27"},"variableNames":[{"name":"result","nativeSrc":"23421:6:27","nodeType":"YulIdentifier","src":"23421:6:27"}]},{"nativeSrc":"23485:34:27","nodeType":"YulAssignment","src":"23485:34:27","value":{"arguments":[{"name":"subjectStart","nativeSrc":"23500:12:27","nodeType":"YulIdentifier","src":"23500:12:27"},{"name":"from","nativeSrc":"23514:4:27","nodeType":"YulIdentifier","src":"23514:4:27"}],"functionName":{"name":"add","nativeSrc":"23496:3:27","nodeType":"YulIdentifier","src":"23496:3:27"},"nativeSrc":"23496:23:27","nodeType":"YulFunctionCall","src":"23496:23:27"},"variableNames":[{"name":"subject","nativeSrc":"23485:7:27","nodeType":"YulIdentifier","src":"23485:7:27"}]},{"nativeSrc":"23536:70:27","nodeType":"YulVariableDeclaration","src":"23536:70:27","value":{"arguments":[{"arguments":[{"arguments":[{"name":"subjectStart","nativeSrc":"23559:12:27","nodeType":"YulIdentifier","src":"23559:12:27"},{"name":"subjectLength","nativeSrc":"23573:13:27","nodeType":"YulIdentifier","src":"23573:13:27"}],"functionName":{"name":"add","nativeSrc":"23555:3:27","nodeType":"YulIdentifier","src":"23555:3:27"},"nativeSrc":"23555:32:27","nodeType":"YulFunctionCall","src":"23555:32:27"},{"name":"searchLength","nativeSrc":"23589:12:27","nodeType":"YulIdentifier","src":"23589:12:27"}],"functionName":{"name":"sub","nativeSrc":"23551:3:27","nodeType":"YulIdentifier","src":"23551:3:27"},"nativeSrc":"23551:51:27","nodeType":"YulFunctionCall","src":"23551:51:27"},{"kind":"number","nativeSrc":"23604:1:27","nodeType":"YulLiteral","src":"23604:1:27","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"23547:3:27","nodeType":"YulIdentifier","src":"23547:3:27"},"nativeSrc":"23547:59:27","nodeType":"YulFunctionCall","src":"23547:59:27"},"variables":[{"name":"end","nativeSrc":"23540:3:27","nodeType":"YulTypedName","src":"23540:3:27","type":""}]},{"nativeSrc":"23624:51:27","nodeType":"YulVariableDeclaration","src":"23624:51:27","value":{"arguments":[{"kind":"number","nativeSrc":"23637:1:27","nodeType":"YulLiteral","src":"23637:1:27","type":"","value":"3"},{"arguments":[{"kind":"number","nativeSrc":"23644:4:27","nodeType":"YulLiteral","src":"23644:4:27","type":"","value":"0x20"},{"arguments":[{"name":"searchLength","nativeSrc":"23654:12:27","nodeType":"YulIdentifier","src":"23654:12:27"},{"kind":"number","nativeSrc":"23668:4:27","nodeType":"YulLiteral","src":"23668:4:27","type":"","value":"0x1f"}],"functionName":{"name":"and","nativeSrc":"23650:3:27","nodeType":"YulIdentifier","src":"23650:3:27"},"nativeSrc":"23650:23:27","nodeType":"YulFunctionCall","src":"23650:23:27"}],"functionName":{"name":"sub","nativeSrc":"23640:3:27","nodeType":"YulIdentifier","src":"23640:3:27"},"nativeSrc":"23640:34:27","nodeType":"YulFunctionCall","src":"23640:34:27"}],"functionName":{"name":"shl","nativeSrc":"23633:3:27","nodeType":"YulIdentifier","src":"23633:3:27"},"nativeSrc":"23633:42:27","nodeType":"YulFunctionCall","src":"23633:42:27"},"variables":[{"name":"m","nativeSrc":"23628:1:27","nodeType":"YulTypedName","src":"23628:1:27","type":""}]},{"nativeSrc":"23692:33:27","nodeType":"YulVariableDeclaration","src":"23692:33:27","value":{"arguments":[{"arguments":[{"name":"search","nativeSrc":"23711:6:27","nodeType":"YulIdentifier","src":"23711:6:27"},{"kind":"number","nativeSrc":"23719:4:27","nodeType":"YulLiteral","src":"23719:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"23707:3:27","nodeType":"YulIdentifier","src":"23707:3:27"},"nativeSrc":"23707:17:27","nodeType":"YulFunctionCall","src":"23707:17:27"}],"functionName":{"name":"mload","nativeSrc":"23701:5:27","nodeType":"YulIdentifier","src":"23701:5:27"},"nativeSrc":"23701:24:27","nodeType":"YulFunctionCall","src":"23701:24:27"},"variables":[{"name":"s","nativeSrc":"23696:1:27","nodeType":"YulTypedName","src":"23696:1:27","type":""}]},{"body":{"nativeSrc":"23801:9:27","nodeType":"YulBlock","src":"23801:9:27","statements":[{"nativeSrc":"23803:5:27","nodeType":"YulBreak","src":"23803:5:27"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"subject","nativeSrc":"23760:7:27","nodeType":"YulIdentifier","src":"23760:7:27"},{"name":"end","nativeSrc":"23769:3:27","nodeType":"YulIdentifier","src":"23769:3:27"}],"functionName":{"name":"lt","nativeSrc":"23757:2:27","nodeType":"YulIdentifier","src":"23757:2:27"},"nativeSrc":"23757:16:27","nodeType":"YulFunctionCall","src":"23757:16:27"},{"arguments":[{"name":"from","nativeSrc":"23778:4:27","nodeType":"YulIdentifier","src":"23778:4:27"},{"name":"subjectLength","nativeSrc":"23784:13:27","nodeType":"YulIdentifier","src":"23784:13:27"}],"functionName":{"name":"lt","nativeSrc":"23775:2:27","nodeType":"YulIdentifier","src":"23775:2:27"},"nativeSrc":"23775:23:27","nodeType":"YulFunctionCall","src":"23775:23:27"}],"functionName":{"name":"and","nativeSrc":"23753:3:27","nodeType":"YulIdentifier","src":"23753:3:27"},"nativeSrc":"23753:46:27","nodeType":"YulFunctionCall","src":"23753:46:27"}],"functionName":{"name":"iszero","nativeSrc":"23746:6:27","nodeType":"YulIdentifier","src":"23746:6:27"},"nativeSrc":"23746:54:27","nodeType":"YulFunctionCall","src":"23746:54:27"},"nativeSrc":"23743:67:27","nodeType":"YulIf","src":"23743:67:27"},{"body":{"nativeSrc":"23862:571:27","nodeType":"YulBlock","src":"23862:571:27","statements":[{"body":{"nativeSrc":"23949:440:27","nodeType":"YulBlock","src":"23949:440:27","statements":[{"body":{"nativeSrc":"24017:237:27","nodeType":"YulBlock","src":"24017:237:27","statements":[{"body":{"nativeSrc":"24090:138:27","nodeType":"YulBlock","src":"24090:138:27","statements":[{"nativeSrc":"24124:36:27","nodeType":"YulAssignment","src":"24124:36:27","value":{"arguments":[{"name":"subject","nativeSrc":"24138:7:27","nodeType":"YulIdentifier","src":"24138:7:27"},{"name":"subjectStart","nativeSrc":"24147:12:27","nodeType":"YulIdentifier","src":"24147:12:27"}],"functionName":{"name":"sub","nativeSrc":"24134:3:27","nodeType":"YulIdentifier","src":"24134:3:27"},"nativeSrc":"24134:26:27","nodeType":"YulFunctionCall","src":"24134:26:27"},"variableNames":[{"name":"result","nativeSrc":"24124:6:27","nodeType":"YulIdentifier","src":"24124:6:27"}]},{"nativeSrc":"24193:5:27","nodeType":"YulBreak","src":"24193:5:27"}]},"condition":{"arguments":[{"arguments":[{"name":"subject","nativeSrc":"24063:7:27","nodeType":"YulIdentifier","src":"24063:7:27"},{"name":"searchLength","nativeSrc":"24072:12:27","nodeType":"YulIdentifier","src":"24072:12:27"}],"functionName":{"name":"keccak256","nativeSrc":"24053:9:27","nodeType":"YulIdentifier","src":"24053:9:27"},"nativeSrc":"24053:32:27","nodeType":"YulFunctionCall","src":"24053:32:27"},{"name":"h","nativeSrc":"24087:1:27","nodeType":"YulIdentifier","src":"24087:1:27"}],"functionName":{"name":"eq","nativeSrc":"24050:2:27","nodeType":"YulIdentifier","src":"24050:2:27"},"nativeSrc":"24050:39:27","nodeType":"YulFunctionCall","src":"24050:39:27"},"nativeSrc":"24047:181:27","nodeType":"YulIf","src":"24047:181:27"}]},"condition":{"arguments":[{"arguments":[{"name":"m","nativeSrc":"23989:1:27","nodeType":"YulIdentifier","src":"23989:1:27"},{"arguments":[{"arguments":[{"name":"subject","nativeSrc":"24002:7:27","nodeType":"YulIdentifier","src":"24002:7:27"}],"functionName":{"name":"mload","nativeSrc":"23996:5:27","nodeType":"YulIdentifier","src":"23996:5:27"},"nativeSrc":"23996:14:27","nodeType":"YulFunctionCall","src":"23996:14:27"},{"name":"s","nativeSrc":"24012:1:27","nodeType":"YulIdentifier","src":"24012:1:27"}],"functionName":{"name":"xor","nativeSrc":"23992:3:27","nodeType":"YulIdentifier","src":"23992:3:27"},"nativeSrc":"23992:22:27","nodeType":"YulFunctionCall","src":"23992:22:27"}],"functionName":{"name":"shr","nativeSrc":"23985:3:27","nodeType":"YulIdentifier","src":"23985:3:27"},"nativeSrc":"23985:30:27","nodeType":"YulFunctionCall","src":"23985:30:27"}],"functionName":{"name":"iszero","nativeSrc":"23978:6:27","nodeType":"YulIdentifier","src":"23978:6:27"},"nativeSrc":"23978:38:27","nodeType":"YulFunctionCall","src":"23978:38:27"},"nativeSrc":"23975:279:27","nodeType":"YulIf","src":"23975:279:27"},{"nativeSrc":"24279:26:27","nodeType":"YulAssignment","src":"24279:26:27","value":{"arguments":[{"name":"subject","nativeSrc":"24294:7:27","nodeType":"YulIdentifier","src":"24294:7:27"},{"kind":"number","nativeSrc":"24303:1:27","nodeType":"YulLiteral","src":"24303:1:27","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"24290:3:27","nodeType":"YulIdentifier","src":"24290:3:27"},"nativeSrc":"24290:15:27","nodeType":"YulFunctionCall","src":"24290:15:27"},"variableNames":[{"name":"subject","nativeSrc":"24279:7:27","nodeType":"YulIdentifier","src":"24279:7:27"}]},{"body":{"nativeSrc":"24358:9:27","nodeType":"YulBlock","src":"24358:9:27","statements":[{"nativeSrc":"24360:5:27","nodeType":"YulBreak","src":"24360:5:27"}]},"condition":{"arguments":[{"arguments":[{"name":"subject","nativeSrc":"24343:7:27","nodeType":"YulIdentifier","src":"24343:7:27"},{"name":"end","nativeSrc":"24352:3:27","nodeType":"YulIdentifier","src":"24352:3:27"}],"functionName":{"name":"lt","nativeSrc":"24340:2:27","nodeType":"YulIdentifier","src":"24340:2:27"},"nativeSrc":"24340:16:27","nodeType":"YulFunctionCall","src":"24340:16:27"}],"functionName":{"name":"iszero","nativeSrc":"24333:6:27","nodeType":"YulIdentifier","src":"24333:6:27"},"nativeSrc":"24333:24:27","nodeType":"YulFunctionCall","src":"24333:24:27"},"nativeSrc":"24330:37:27","nodeType":"YulIf","src":"24330:37:27"}]},"condition":{"kind":"number","nativeSrc":"23944:1:27","nodeType":"YulLiteral","src":"23944:1:27","type":"","value":"1"},"nativeSrc":"23884:505:27","nodeType":"YulForLoop","post":{"nativeSrc":"23946:2:27","nodeType":"YulBlock","src":"23946:2:27","statements":[]},"pre":{"nativeSrc":"23888:55:27","nodeType":"YulBlock","src":"23888:55:27","statements":[{"nativeSrc":"23890:51:27","nodeType":"YulVariableDeclaration","src":"23890:51:27","value":{"arguments":[{"arguments":[{"name":"search","nativeSrc":"23913:6:27","nodeType":"YulIdentifier","src":"23913:6:27"},{"kind":"number","nativeSrc":"23921:4:27","nodeType":"YulLiteral","src":"23921:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"23909:3:27","nodeType":"YulIdentifier","src":"23909:3:27"},"nativeSrc":"23909:17:27","nodeType":"YulFunctionCall","src":"23909:17:27"},{"name":"searchLength","nativeSrc":"23928:12:27","nodeType":"YulIdentifier","src":"23928:12:27"}],"functionName":{"name":"keccak256","nativeSrc":"23899:9:27","nodeType":"YulIdentifier","src":"23899:9:27"},"nativeSrc":"23899:42:27","nodeType":"YulFunctionCall","src":"23899:42:27"},"variables":[{"name":"h","nativeSrc":"23894:1:27","nodeType":"YulTypedName","src":"23894:1:27","type":""}]}]},"src":"23884:505:27"},{"nativeSrc":"24410:5:27","nodeType":"YulBreak","src":"24410:5:27"}]},"condition":{"arguments":[{"arguments":[{"name":"searchLength","nativeSrc":"23841:12:27","nodeType":"YulIdentifier","src":"23841:12:27"},{"kind":"number","nativeSrc":"23855:4:27","nodeType":"YulLiteral","src":"23855:4:27","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"23838:2:27","nodeType":"YulIdentifier","src":"23838:2:27"},"nativeSrc":"23838:22:27","nodeType":"YulFunctionCall","src":"23838:22:27"}],"functionName":{"name":"iszero","nativeSrc":"23831:6:27","nodeType":"YulIdentifier","src":"23831:6:27"},"nativeSrc":"23831:30:27","nodeType":"YulFunctionCall","src":"23831:30:27"},"nativeSrc":"23828:605:27","nodeType":"YulIf","src":"23828:605:27"},{"body":{"nativeSrc":"24462:301:27","nodeType":"YulBlock","src":"24462:301:27","statements":[{"body":{"nativeSrc":"24526:114:27","nodeType":"YulBlock","src":"24526:114:27","statements":[{"nativeSrc":"24552:36:27","nodeType":"YulAssignment","src":"24552:36:27","value":{"arguments":[{"name":"subject","nativeSrc":"24566:7:27","nodeType":"YulIdentifier","src":"24566:7:27"},{"name":"subjectStart","nativeSrc":"24575:12:27","nodeType":"YulIdentifier","src":"24575:12:27"}],"functionName":{"name":"sub","nativeSrc":"24562:3:27","nodeType":"YulIdentifier","src":"24562:3:27"},"nativeSrc":"24562:26:27","nodeType":"YulFunctionCall","src":"24562:26:27"},"variableNames":[{"name":"result","nativeSrc":"24552:6:27","nodeType":"YulIdentifier","src":"24552:6:27"}]},{"nativeSrc":"24613:5:27","nodeType":"YulBreak","src":"24613:5:27"}]},"condition":{"arguments":[{"arguments":[{"name":"m","nativeSrc":"24498:1:27","nodeType":"YulIdentifier","src":"24498:1:27"},{"arguments":[{"arguments":[{"name":"subject","nativeSrc":"24511:7:27","nodeType":"YulIdentifier","src":"24511:7:27"}],"functionName":{"name":"mload","nativeSrc":"24505:5:27","nodeType":"YulIdentifier","src":"24505:5:27"},"nativeSrc":"24505:14:27","nodeType":"YulFunctionCall","src":"24505:14:27"},{"name":"s","nativeSrc":"24521:1:27","nodeType":"YulIdentifier","src":"24521:1:27"}],"functionName":{"name":"xor","nativeSrc":"24501:3:27","nodeType":"YulIdentifier","src":"24501:3:27"},"nativeSrc":"24501:22:27","nodeType":"YulFunctionCall","src":"24501:22:27"}],"functionName":{"name":"shr","nativeSrc":"24494:3:27","nodeType":"YulIdentifier","src":"24494:3:27"},"nativeSrc":"24494:30:27","nodeType":"YulFunctionCall","src":"24494:30:27"}],"functionName":{"name":"iszero","nativeSrc":"24487:6:27","nodeType":"YulIdentifier","src":"24487:6:27"},"nativeSrc":"24487:38:27","nodeType":"YulFunctionCall","src":"24487:38:27"},"nativeSrc":"24484:156:27","nodeType":"YulIf","src":"24484:156:27"},{"nativeSrc":"24661:26:27","nodeType":"YulAssignment","src":"24661:26:27","value":{"arguments":[{"name":"subject","nativeSrc":"24676:7:27","nodeType":"YulIdentifier","src":"24676:7:27"},{"kind":"number","nativeSrc":"24685:1:27","nodeType":"YulLiteral","src":"24685:1:27","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"24672:3:27","nodeType":"YulIdentifier","src":"24672:3:27"},"nativeSrc":"24672:15:27","nodeType":"YulFunctionCall","src":"24672:15:27"},"variableNames":[{"name":"subject","nativeSrc":"24661:7:27","nodeType":"YulIdentifier","src":"24661:7:27"}]},{"body":{"nativeSrc":"24736:9:27","nodeType":"YulBlock","src":"24736:9:27","statements":[{"nativeSrc":"24738:5:27","nodeType":"YulBreak","src":"24738:5:27"}]},"condition":{"arguments":[{"arguments":[{"name":"subject","nativeSrc":"24721:7:27","nodeType":"YulIdentifier","src":"24721:7:27"},{"name":"end","nativeSrc":"24730:3:27","nodeType":"YulIdentifier","src":"24730:3:27"}],"functionName":{"name":"lt","nativeSrc":"24718:2:27","nodeType":"YulIdentifier","src":"24718:2:27"},"nativeSrc":"24718:16:27","nodeType":"YulFunctionCall","src":"24718:16:27"}],"functionName":{"name":"iszero","nativeSrc":"24711:6:27","nodeType":"YulIdentifier","src":"24711:6:27"},"nativeSrc":"24711:24:27","nodeType":"YulFunctionCall","src":"24711:24:27"},"nativeSrc":"24708:37:27","nodeType":"YulIf","src":"24708:37:27"}]},"condition":{"kind":"number","nativeSrc":"24457:1:27","nodeType":"YulLiteral","src":"24457:1:27","type":"","value":"1"},"nativeSrc":"24450:313:27","nodeType":"YulForLoop","post":{"nativeSrc":"24459:2:27","nodeType":"YulBlock","src":"24459:2:27","statements":[]},"pre":{"nativeSrc":"24454:2:27","nodeType":"YulBlock","src":"24454:2:27","statements":[]},"src":"24450:313:27"},{"nativeSrc":"24780:5:27","nodeType":"YulBreak","src":"24780:5:27"}]},"condition":{"kind":"number","nativeSrc":"23013:1:27","nodeType":"YulLiteral","src":"23013:1:27","type":"","value":"1"},"nativeSrc":"22969:1830:27","nodeType":"YulForLoop","post":{"nativeSrc":"23015:2:27","nodeType":"YulBlock","src":"23015:2:27","statements":[]},"pre":{"nativeSrc":"22973:39:27","nodeType":"YulBlock","src":"22973:39:27","statements":[{"nativeSrc":"22975:35:27","nodeType":"YulVariableDeclaration","src":"22975:35:27","value":{"arguments":[{"name":"subject","nativeSrc":"23002:7:27","nodeType":"YulIdentifier","src":"23002:7:27"}],"functionName":{"name":"mload","nativeSrc":"22996:5:27","nodeType":"YulIdentifier","src":"22996:5:27"},"nativeSrc":"22996:14:27","nodeType":"YulFunctionCall","src":"22996:14:27"},"variables":[{"name":"subjectLength","nativeSrc":"22979:13:27","nodeType":"YulTypedName","src":"22979:13:27","type":""}]}]},"src":"22969:1830:27"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":47269,"isOffset":false,"isSlot":false,"src":"23096:4:27","valueSize":1},{"declaration":47269,"isOffset":false,"isSlot":false,"src":"23154:4:27","valueSize":1},{"declaration":47269,"isOffset":false,"isSlot":false,"src":"23514:4:27","valueSize":1},{"declaration":47269,"isOffset":false,"isSlot":false,"src":"23778:4:27","valueSize":1},{"declaration":47272,"isOffset":false,"isSlot":false,"src":"23144:6:27","valueSize":1},{"declaration":47272,"isOffset":false,"isSlot":false,"src":"23231:6:27","valueSize":1},{"declaration":47272,"isOffset":false,"isSlot":false,"src":"23421:6:27","valueSize":1},{"declaration":47272,"isOffset":false,"isSlot":false,"src":"24124:6:27","valueSize":1},{"declaration":47272,"isOffset":false,"isSlot":false,"src":"24552:6:27","valueSize":1},{"declaration":47267,"isOffset":false,"isSlot":false,"src":"23052:6:27","valueSize":1},{"declaration":47267,"isOffset":false,"isSlot":false,"src":"23341:6:27","valueSize":1},{"declaration":47267,"isOffset":false,"isSlot":false,"src":"23711:6:27","valueSize":1},{"declaration":47267,"isOffset":false,"isSlot":false,"src":"23913:6:27","valueSize":1},{"declaration":47265,"isOffset":false,"isSlot":false,"src":"23002:7:27","valueSize":1},{"declaration":47265,"isOffset":false,"isSlot":false,"src":"23389:7:27","valueSize":1},{"declaration":47265,"isOffset":false,"isSlot":false,"src":"23485:7:27","valueSize":1},{"declaration":47265,"isOffset":false,"isSlot":false,"src":"23760:7:27","valueSize":1},{"declaration":47265,"isOffset":false,"isSlot":false,"src":"24002:7:27","valueSize":1},{"declaration":47265,"isOffset":false,"isSlot":false,"src":"24063:7:27","valueSize":1},{"declaration":47265,"isOffset":false,"isSlot":false,"src":"24138:7:27","valueSize":1},{"declaration":47265,"isOffset":false,"isSlot":false,"src":"24279:7:27","valueSize":1},{"declaration":47265,"isOffset":false,"isSlot":false,"src":"24294:7:27","valueSize":1},{"declaration":47265,"isOffset":false,"isSlot":false,"src":"24343:7:27","valueSize":1},{"declaration":47265,"isOffset":false,"isSlot":false,"src":"24511:7:27","valueSize":1},{"declaration":47265,"isOffset":false,"isSlot":false,"src":"24566:7:27","valueSize":1},{"declaration":47265,"isOffset":false,"isSlot":false,"src":"24661:7:27","valueSize":1},{"declaration":47265,"isOffset":false,"isSlot":false,"src":"24676:7:27","valueSize":1},{"declaration":47265,"isOffset":false,"isSlot":false,"src":"24721:7:27","valueSize":1}],"id":47274,"nodeType":"InlineAssembly","src":"22946:1863:27"}]},"documentation":{"id":47263,"nodeType":"StructuredDocumentation","src":"22521:224:27","text":"@dev Returns the byte index of the first location of `search` in `subject`,\n searching from left to right, starting from `from`.\n Returns `NOT_FOUND` (i.e. `type(uint256).max`) if the `search` is not found."},"implemented":true,"kind":"function","modifiers":[],"name":"indexOf","nameLocation":"22759:7:27","parameters":{"id":47270,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47265,"mutability":"mutable","name":"subject","nameLocation":"22781:7:27","nodeType":"VariableDeclaration","scope":47276,"src":"22767:21:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47264,"name":"string","nodeType":"ElementaryTypeName","src":"22767:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47267,"mutability":"mutable","name":"search","nameLocation":"22804:6:27","nodeType":"VariableDeclaration","scope":47276,"src":"22790:20:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47266,"name":"string","nodeType":"ElementaryTypeName","src":"22790:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47269,"mutability":"mutable","name":"from","nameLocation":"22820:4:27","nodeType":"VariableDeclaration","scope":47276,"src":"22812:12:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47268,"name":"uint256","nodeType":"ElementaryTypeName","src":"22812:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22766:59:27"},"returnParameters":{"id":47273,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47272,"mutability":"mutable","name":"result","nameLocation":"22881:6:27","nodeType":"VariableDeclaration","scope":47276,"src":"22873:14:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47271,"name":"uint256","nodeType":"ElementaryTypeName","src":"22873:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22872:16:27"},"scope":47666,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47295,"nodeType":"FunctionDefinition","src":"25028:182:27","nodes":[],"body":{"id":47294,"nodeType":"Block","src":"25157:53:27","nodes":[],"statements":[{"expression":{"id":47292,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47286,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47284,"src":"25167:6:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":47288,"name":"subject","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47279,"src":"25184:7:27","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47289,"name":"search","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47281,"src":"25193:6:27","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"30","id":47290,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25201:1:27","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":47287,"name":"indexOf","nodeType":"Identifier","overloadedDeclarations":[47276,47295],"referencedDeclaration":47276,"src":"25176:7:27","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$returns$_t_uint256_$","typeString":"function (string memory,string memory,uint256) pure returns (uint256)"}},"id":47291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25176:27:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25167:36:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47293,"nodeType":"ExpressionStatement","src":"25167:36:27"}]},"documentation":{"id":47277,"nodeType":"StructuredDocumentation","src":"24821:202:27","text":"@dev Returns the byte index of the first location of `search` in `subject`,\n searching from left to right.\n Returns `NOT_FOUND` (i.e. `type(uint256).max`) if the `search` is not found."},"implemented":true,"kind":"function","modifiers":[],"name":"indexOf","nameLocation":"25037:7:27","parameters":{"id":47282,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47279,"mutability":"mutable","name":"subject","nameLocation":"25059:7:27","nodeType":"VariableDeclaration","scope":47295,"src":"25045:21:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47278,"name":"string","nodeType":"ElementaryTypeName","src":"25045:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47281,"mutability":"mutable","name":"search","nameLocation":"25082:6:27","nodeType":"VariableDeclaration","scope":47295,"src":"25068:20:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47280,"name":"string","nodeType":"ElementaryTypeName","src":"25068:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"25044:45:27"},"returnParameters":{"id":47285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47284,"mutability":"mutable","name":"result","nameLocation":"25145:6:27","nodeType":"VariableDeclaration","scope":47295,"src":"25137:14:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47283,"name":"uint256","nodeType":"ElementaryTypeName","src":"25137:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25136:16:27"},"scope":47666,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47309,"nodeType":"FunctionDefinition","src":"25445:1332:27","nodes":[],"body":{"id":47308,"nodeType":"Block","src":"25592:1185:27","nodes":[],"statements":[{"AST":{"nativeSrc":"25654:1117:27","nodeType":"YulBlock","src":"25654:1117:27","statements":[{"body":{"nativeSrc":"25680:1081:27","nodeType":"YulBlock","src":"25680:1081:27","statements":[{"nativeSrc":"25698:16:27","nodeType":"YulAssignment","src":"25698:16:27","value":{"arguments":[{"kind":"number","nativeSrc":"25712:1:27","nodeType":"YulLiteral","src":"25712:1:27","type":"","value":"0"}],"functionName":{"name":"not","nativeSrc":"25708:3:27","nodeType":"YulIdentifier","src":"25708:3:27"},"nativeSrc":"25708:6:27","nodeType":"YulFunctionCall","src":"25708:6:27"},"variableNames":[{"name":"result","nativeSrc":"25698:6:27","nodeType":"YulIdentifier","src":"25698:6:27"}]},{"nativeSrc":"25761:33:27","nodeType":"YulVariableDeclaration","src":"25761:33:27","value":{"arguments":[{"name":"search","nativeSrc":"25787:6:27","nodeType":"YulIdentifier","src":"25787:6:27"}],"functionName":{"name":"mload","nativeSrc":"25781:5:27","nodeType":"YulIdentifier","src":"25781:5:27"},"nativeSrc":"25781:13:27","nodeType":"YulFunctionCall","src":"25781:13:27"},"variables":[{"name":"searchLength","nativeSrc":"25765:12:27","nodeType":"YulTypedName","src":"25765:12:27","type":""}]},{"body":{"nativeSrc":"25847:9:27","nodeType":"YulBlock","src":"25847:9:27","statements":[{"nativeSrc":"25849:5:27","nodeType":"YulBreak","src":"25849:5:27"}]},"condition":{"arguments":[{"name":"searchLength","nativeSrc":"25817:12:27","nodeType":"YulIdentifier","src":"25817:12:27"},{"arguments":[{"name":"subject","nativeSrc":"25837:7:27","nodeType":"YulIdentifier","src":"25837:7:27"}],"functionName":{"name":"mload","nativeSrc":"25831:5:27","nodeType":"YulIdentifier","src":"25831:5:27"},"nativeSrc":"25831:14:27","nodeType":"YulFunctionCall","src":"25831:14:27"}],"functionName":{"name":"gt","nativeSrc":"25814:2:27","nodeType":"YulIdentifier","src":"25814:2:27"},"nativeSrc":"25814:32:27","nodeType":"YulFunctionCall","src":"25814:32:27"},"nativeSrc":"25811:45:27","nodeType":"YulIf","src":"25811:45:27"},{"nativeSrc":"25873:15:27","nodeType":"YulVariableDeclaration","src":"25873:15:27","value":{"name":"result","nativeSrc":"25882:6:27","nodeType":"YulIdentifier","src":"25882:6:27"},"variables":[{"name":"w","nativeSrc":"25877:1:27","nodeType":"YulTypedName","src":"25877:1:27","type":""}]},{"nativeSrc":"25906:48:27","nodeType":"YulVariableDeclaration","src":"25906:48:27","value":{"arguments":[{"arguments":[{"name":"subject","nativeSrc":"25931:7:27","nodeType":"YulIdentifier","src":"25931:7:27"}],"functionName":{"name":"mload","nativeSrc":"25925:5:27","nodeType":"YulIdentifier","src":"25925:5:27"},"nativeSrc":"25925:14:27","nodeType":"YulFunctionCall","src":"25925:14:27"},{"name":"searchLength","nativeSrc":"25941:12:27","nodeType":"YulIdentifier","src":"25941:12:27"}],"functionName":{"name":"sub","nativeSrc":"25921:3:27","nodeType":"YulIdentifier","src":"25921:3:27"},"nativeSrc":"25921:33:27","nodeType":"YulFunctionCall","src":"25921:33:27"},"variables":[{"name":"fromMax","nativeSrc":"25910:7:27","nodeType":"YulTypedName","src":"25910:7:27","type":""}]},{"body":{"nativeSrc":"26000:19:27","nodeType":"YulBlock","src":"26000:19:27","statements":[{"nativeSrc":"26002:15:27","nodeType":"YulAssignment","src":"26002:15:27","value":{"name":"fromMax","nativeSrc":"26010:7:27","nodeType":"YulIdentifier","src":"26010:7:27"},"variableNames":[{"name":"from","nativeSrc":"26002:4:27","nodeType":"YulIdentifier","src":"26002:4:27"}]}]},"condition":{"arguments":[{"arguments":[{"name":"fromMax","nativeSrc":"25984:7:27","nodeType":"YulIdentifier","src":"25984:7:27"},{"name":"from","nativeSrc":"25993:4:27","nodeType":"YulIdentifier","src":"25993:4:27"}],"functionName":{"name":"gt","nativeSrc":"25981:2:27","nodeType":"YulIdentifier","src":"25981:2:27"},"nativeSrc":"25981:17:27","nodeType":"YulFunctionCall","src":"25981:17:27"}],"functionName":{"name":"iszero","nativeSrc":"25974:6:27","nodeType":"YulIdentifier","src":"25974:6:27"},"nativeSrc":"25974:25:27","nodeType":"YulFunctionCall","src":"25974:25:27"},"nativeSrc":"25971:48:27","nodeType":"YulIf","src":"25971:48:27"},{"nativeSrc":"26037:37:27","nodeType":"YulVariableDeclaration","src":"26037:37:27","value":{"arguments":[{"arguments":[{"name":"subject","nativeSrc":"26056:7:27","nodeType":"YulIdentifier","src":"26056:7:27"},{"kind":"number","nativeSrc":"26065:4:27","nodeType":"YulLiteral","src":"26065:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"26052:3:27","nodeType":"YulIdentifier","src":"26052:3:27"},"nativeSrc":"26052:18:27","nodeType":"YulFunctionCall","src":"26052:18:27"},{"name":"w","nativeSrc":"26072:1:27","nodeType":"YulIdentifier","src":"26072:1:27"}],"functionName":{"name":"add","nativeSrc":"26048:3:27","nodeType":"YulIdentifier","src":"26048:3:27"},"nativeSrc":"26048:26:27","nodeType":"YulFunctionCall","src":"26048:26:27"},"variables":[{"name":"end","nativeSrc":"26041:3:27","nodeType":"YulTypedName","src":"26041:3:27","type":""}]},{"nativeSrc":"26091:40:27","nodeType":"YulAssignment","src":"26091:40:27","value":{"arguments":[{"arguments":[{"name":"subject","nativeSrc":"26110:7:27","nodeType":"YulIdentifier","src":"26110:7:27"},{"kind":"number","nativeSrc":"26119:4:27","nodeType":"YulLiteral","src":"26119:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"26106:3:27","nodeType":"YulIdentifier","src":"26106:3:27"},"nativeSrc":"26106:18:27","nodeType":"YulFunctionCall","src":"26106:18:27"},{"name":"from","nativeSrc":"26126:4:27","nodeType":"YulIdentifier","src":"26126:4:27"}],"functionName":{"name":"add","nativeSrc":"26102:3:27","nodeType":"YulIdentifier","src":"26102:3:27"},"nativeSrc":"26102:29:27","nodeType":"YulFunctionCall","src":"26102:29:27"},"variableNames":[{"name":"subject","nativeSrc":"26091:7:27","nodeType":"YulIdentifier","src":"26091:7:27"}]},{"body":{"nativeSrc":"26176:9:27","nodeType":"YulBlock","src":"26176:9:27","statements":[{"nativeSrc":"26178:5:27","nodeType":"YulBreak","src":"26178:5:27"}]},"condition":{"arguments":[{"arguments":[{"name":"subject","nativeSrc":"26161:7:27","nodeType":"YulIdentifier","src":"26161:7:27"},{"name":"end","nativeSrc":"26170:3:27","nodeType":"YulIdentifier","src":"26170:3:27"}],"functionName":{"name":"gt","nativeSrc":"26158:2:27","nodeType":"YulIdentifier","src":"26158:2:27"},"nativeSrc":"26158:16:27","nodeType":"YulFunctionCall","src":"26158:16:27"}],"functionName":{"name":"iszero","nativeSrc":"26151:6:27","nodeType":"YulIdentifier","src":"26151:6:27"},"nativeSrc":"26151:24:27","nodeType":"YulFunctionCall","src":"26151:24:27"},"nativeSrc":"26148:37:27","nodeType":"YulIf","src":"26148:37:27"},{"body":{"nativeSrc":"26402:323:27","nodeType":"YulBlock","src":"26402:323:27","statements":[{"body":{"nativeSrc":"26467:113:27","nodeType":"YulBlock","src":"26467:113:27","statements":[{"nativeSrc":"26493:35:27","nodeType":"YulAssignment","src":"26493:35:27","value":{"arguments":[{"name":"subject","nativeSrc":"26507:7:27","nodeType":"YulIdentifier","src":"26507:7:27"},{"arguments":[{"name":"end","nativeSrc":"26520:3:27","nodeType":"YulIdentifier","src":"26520:3:27"},{"kind":"number","nativeSrc":"26525:1:27","nodeType":"YulLiteral","src":"26525:1:27","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"26516:3:27","nodeType":"YulIdentifier","src":"26516:3:27"},"nativeSrc":"26516:11:27","nodeType":"YulFunctionCall","src":"26516:11:27"}],"functionName":{"name":"sub","nativeSrc":"26503:3:27","nodeType":"YulIdentifier","src":"26503:3:27"},"nativeSrc":"26503:25:27","nodeType":"YulFunctionCall","src":"26503:25:27"},"variableNames":[{"name":"result","nativeSrc":"26493:6:27","nodeType":"YulIdentifier","src":"26493:6:27"}]},{"nativeSrc":"26553:5:27","nodeType":"YulBreak","src":"26553:5:27"}]},"condition":{"arguments":[{"arguments":[{"name":"subject","nativeSrc":"26440:7:27","nodeType":"YulIdentifier","src":"26440:7:27"},{"name":"searchLength","nativeSrc":"26449:12:27","nodeType":"YulIdentifier","src":"26449:12:27"}],"functionName":{"name":"keccak256","nativeSrc":"26430:9:27","nodeType":"YulIdentifier","src":"26430:9:27"},"nativeSrc":"26430:32:27","nodeType":"YulFunctionCall","src":"26430:32:27"},{"name":"h","nativeSrc":"26464:1:27","nodeType":"YulIdentifier","src":"26464:1:27"}],"functionName":{"name":"eq","nativeSrc":"26427:2:27","nodeType":"YulIdentifier","src":"26427:2:27"},"nativeSrc":"26427:39:27","nodeType":"YulFunctionCall","src":"26427:39:27"},"nativeSrc":"26424:156:27","nodeType":"YulIf","src":"26424:156:27"},{"nativeSrc":"26601:26:27","nodeType":"YulAssignment","src":"26601:26:27","value":{"arguments":[{"name":"subject","nativeSrc":"26616:7:27","nodeType":"YulIdentifier","src":"26616:7:27"},{"name":"w","nativeSrc":"26625:1:27","nodeType":"YulIdentifier","src":"26625:1:27"}],"functionName":{"name":"add","nativeSrc":"26612:3:27","nodeType":"YulIdentifier","src":"26612:3:27"},"nativeSrc":"26612:15:27","nodeType":"YulFunctionCall","src":"26612:15:27"},"variableNames":[{"name":"subject","nativeSrc":"26601:7:27","nodeType":"YulIdentifier","src":"26601:7:27"}]},{"body":{"nativeSrc":"26698:9:27","nodeType":"YulBlock","src":"26698:9:27","statements":[{"nativeSrc":"26700:5:27","nodeType":"YulBreak","src":"26700:5:27"}]},"condition":{"arguments":[{"arguments":[{"name":"subject","nativeSrc":"26683:7:27","nodeType":"YulIdentifier","src":"26683:7:27"},{"name":"end","nativeSrc":"26692:3:27","nodeType":"YulIdentifier","src":"26692:3:27"}],"functionName":{"name":"gt","nativeSrc":"26680:2:27","nodeType":"YulIdentifier","src":"26680:2:27"},"nativeSrc":"26680:16:27","nodeType":"YulFunctionCall","src":"26680:16:27"}],"functionName":{"name":"iszero","nativeSrc":"26673:6:27","nodeType":"YulIdentifier","src":"26673:6:27"},"nativeSrc":"26673:24:27","nodeType":"YulFunctionCall","src":"26673:24:27"},"nativeSrc":"26670:37:27","nodeType":"YulIf","src":"26670:37:27"}]},"condition":{"kind":"number","nativeSrc":"26397:1:27","nodeType":"YulLiteral","src":"26397:1:27","type":"","value":"1"},"nativeSrc":"26337:388:27","nodeType":"YulForLoop","post":{"nativeSrc":"26399:2:27","nodeType":"YulBlock","src":"26399:2:27","statements":[]},"pre":{"nativeSrc":"26341:55:27","nodeType":"YulBlock","src":"26341:55:27","statements":[{"nativeSrc":"26343:51:27","nodeType":"YulVariableDeclaration","src":"26343:51:27","value":{"arguments":[{"arguments":[{"name":"search","nativeSrc":"26366:6:27","nodeType":"YulIdentifier","src":"26366:6:27"},{"kind":"number","nativeSrc":"26374:4:27","nodeType":"YulLiteral","src":"26374:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"26362:3:27","nodeType":"YulIdentifier","src":"26362:3:27"},"nativeSrc":"26362:17:27","nodeType":"YulFunctionCall","src":"26362:17:27"},{"name":"searchLength","nativeSrc":"26381:12:27","nodeType":"YulIdentifier","src":"26381:12:27"}],"functionName":{"name":"keccak256","nativeSrc":"26352:9:27","nodeType":"YulIdentifier","src":"26352:9:27"},"nativeSrc":"26352:42:27","nodeType":"YulFunctionCall","src":"26352:42:27"},"variables":[{"name":"h","nativeSrc":"26347:1:27","nodeType":"YulTypedName","src":"26347:1:27","type":""}]}]},"src":"26337:388:27"},{"nativeSrc":"26742:5:27","nodeType":"YulBreak","src":"26742:5:27"}]},"condition":{"kind":"number","nativeSrc":"25675:1:27","nodeType":"YulLiteral","src":"25675:1:27","type":"","value":"1"},"nativeSrc":"25668:1093:27","nodeType":"YulForLoop","post":{"nativeSrc":"25677:2:27","nodeType":"YulBlock","src":"25677:2:27","statements":[]},"pre":{"nativeSrc":"25672:2:27","nodeType":"YulBlock","src":"25672:2:27","statements":[]},"src":"25668:1093:27"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":47302,"isOffset":false,"isSlot":false,"src":"25993:4:27","valueSize":1},{"declaration":47302,"isOffset":false,"isSlot":false,"src":"26002:4:27","valueSize":1},{"declaration":47302,"isOffset":false,"isSlot":false,"src":"26126:4:27","valueSize":1},{"declaration":47305,"isOffset":false,"isSlot":false,"src":"25698:6:27","valueSize":1},{"declaration":47305,"isOffset":false,"isSlot":false,"src":"25882:6:27","valueSize":1},{"declaration":47305,"isOffset":false,"isSlot":false,"src":"26493:6:27","valueSize":1},{"declaration":47300,"isOffset":false,"isSlot":false,"src":"25787:6:27","valueSize":1},{"declaration":47300,"isOffset":false,"isSlot":false,"src":"26366:6:27","valueSize":1},{"declaration":47298,"isOffset":false,"isSlot":false,"src":"25837:7:27","valueSize":1},{"declaration":47298,"isOffset":false,"isSlot":false,"src":"25931:7:27","valueSize":1},{"declaration":47298,"isOffset":false,"isSlot":false,"src":"26056:7:27","valueSize":1},{"declaration":47298,"isOffset":false,"isSlot":false,"src":"26091:7:27","valueSize":1},{"declaration":47298,"isOffset":false,"isSlot":false,"src":"26110:7:27","valueSize":1},{"declaration":47298,"isOffset":false,"isSlot":false,"src":"26161:7:27","valueSize":1},{"declaration":47298,"isOffset":false,"isSlot":false,"src":"26440:7:27","valueSize":1},{"declaration":47298,"isOffset":false,"isSlot":false,"src":"26507:7:27","valueSize":1},{"declaration":47298,"isOffset":false,"isSlot":false,"src":"26601:7:27","valueSize":1},{"declaration":47298,"isOffset":false,"isSlot":false,"src":"26616:7:27","valueSize":1},{"declaration":47298,"isOffset":false,"isSlot":false,"src":"26683:7:27","valueSize":1}],"id":47307,"nodeType":"InlineAssembly","src":"25645:1126:27"}]},"documentation":{"id":47296,"nodeType":"StructuredDocumentation","src":"25216:224:27","text":"@dev Returns the byte index of the first location of `search` in `subject`,\n searching from right to left, starting from `from`.\n Returns `NOT_FOUND` (i.e. `type(uint256).max`) if the `search` is not found."},"implemented":true,"kind":"function","modifiers":[],"name":"lastIndexOf","nameLocation":"25454:11:27","parameters":{"id":47303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47298,"mutability":"mutable","name":"subject","nameLocation":"25480:7:27","nodeType":"VariableDeclaration","scope":47309,"src":"25466:21:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47297,"name":"string","nodeType":"ElementaryTypeName","src":"25466:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47300,"mutability":"mutable","name":"search","nameLocation":"25503:6:27","nodeType":"VariableDeclaration","scope":47309,"src":"25489:20:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47299,"name":"string","nodeType":"ElementaryTypeName","src":"25489:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47302,"mutability":"mutable","name":"from","nameLocation":"25519:4:27","nodeType":"VariableDeclaration","scope":47309,"src":"25511:12:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47301,"name":"uint256","nodeType":"ElementaryTypeName","src":"25511:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25465:59:27"},"returnParameters":{"id":47306,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47305,"mutability":"mutable","name":"result","nameLocation":"25580:6:27","nodeType":"VariableDeclaration","scope":47309,"src":"25572:14:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47304,"name":"uint256","nodeType":"ElementaryTypeName","src":"25572:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25571:16:27"},"scope":47666,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47335,"nodeType":"FunctionDefinition","src":"26990:208:27","nodes":[],"body":{"id":47334,"nodeType":"Block","src":"27123:75:27","nodes":[],"statements":[{"expression":{"id":47332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47319,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47317,"src":"27133:6:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":47321,"name":"subject","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47312,"src":"27154:7:27","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47322,"name":"search","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47314,"src":"27163:6:27","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"arguments":[{"arguments":[{"id":47328,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"27186:2:27","subExpression":{"hexValue":"31","id":47327,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27187:1:27","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_1_by_1","typeString":"int_const -1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_1_by_1","typeString":"int_const -1"}],"id":47326,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27179:6:27","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":47325,"name":"int256","nodeType":"ElementaryTypeName","src":"27179:6:27","typeDescriptions":{}}},"id":47329,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27179:10:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":47324,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27171:7:27","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":47323,"name":"uint256","nodeType":"ElementaryTypeName","src":"27171:7:27","typeDescriptions":{}}},"id":47330,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27171:19:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47320,"name":"lastIndexOf","nodeType":"Identifier","overloadedDeclarations":[47309,47335],"referencedDeclaration":47309,"src":"27142:11:27","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$returns$_t_uint256_$","typeString":"function (string memory,string memory,uint256) pure returns (uint256)"}},"id":47331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27142:49:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27133:58:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47333,"nodeType":"ExpressionStatement","src":"27133:58:27"}]},"documentation":{"id":47310,"nodeType":"StructuredDocumentation","src":"26783:202:27","text":"@dev Returns the byte index of the first location of `search` in `subject`,\n searching from right to left.\n Returns `NOT_FOUND` (i.e. `type(uint256).max`) if the `search` is not found."},"implemented":true,"kind":"function","modifiers":[],"name":"lastIndexOf","nameLocation":"26999:11:27","parameters":{"id":47315,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47312,"mutability":"mutable","name":"subject","nameLocation":"27025:7:27","nodeType":"VariableDeclaration","scope":47335,"src":"27011:21:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47311,"name":"string","nodeType":"ElementaryTypeName","src":"27011:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47314,"mutability":"mutable","name":"search","nameLocation":"27048:6:27","nodeType":"VariableDeclaration","scope":47335,"src":"27034:20:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47313,"name":"string","nodeType":"ElementaryTypeName","src":"27034:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27010:45:27"},"returnParameters":{"id":47318,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47317,"mutability":"mutable","name":"result","nameLocation":"27111:6:27","nodeType":"VariableDeclaration","scope":47335,"src":"27103:14:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47316,"name":"uint256","nodeType":"ElementaryTypeName","src":"27103:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27102:16:27"},"scope":47666,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47353,"nodeType":"FunctionDefinition","src":"27282:153:27","nodes":[],"body":{"id":47352,"nodeType":"Block","src":"27374:61:27","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47350,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":47346,"name":"subject","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47338,"src":"27399:7:27","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47347,"name":"search","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47340,"src":"27408:6:27","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":47345,"name":"indexOf","nodeType":"Identifier","overloadedDeclarations":[47276,47295],"referencedDeclaration":47295,"src":"27391:7:27","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory,string memory) pure returns (uint256)"}},"id":47348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27391:24:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":47349,"name":"NOT_FOUND","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47028,"src":"27419:9:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27391:37:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":47344,"id":47351,"nodeType":"Return","src":"27384:44:27"}]},"documentation":{"id":47336,"nodeType":"StructuredDocumentation","src":"27204:73:27","text":"@dev Returns true if `search` is found in `subject`, false otherwise."},"implemented":true,"kind":"function","modifiers":[],"name":"contains","nameLocation":"27291:8:27","parameters":{"id":47341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47338,"mutability":"mutable","name":"subject","nameLocation":"27314:7:27","nodeType":"VariableDeclaration","scope":47353,"src":"27300:21:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47337,"name":"string","nodeType":"ElementaryTypeName","src":"27300:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47340,"mutability":"mutable","name":"search","nameLocation":"27337:6:27","nodeType":"VariableDeclaration","scope":47353,"src":"27323:20:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47339,"name":"string","nodeType":"ElementaryTypeName","src":"27323:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27299:45:27"},"returnParameters":{"id":47344,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47343,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47353,"src":"27368:4:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47342,"name":"bool","nodeType":"ElementaryTypeName","src":"27368:4:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27367:6:27"},"scope":47666,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47365,"nodeType":"FunctionDefinition","src":"27502:628:27","nodes":[],"body":{"id":47364,"nodeType":"Block","src":"27631:499:27","nodes":[],"statements":[{"AST":{"nativeSrc":"27693:431:27","nodeType":"YulBlock","src":"27693:431:27","statements":[{"nativeSrc":"27707:33:27","nodeType":"YulVariableDeclaration","src":"27707:33:27","value":{"arguments":[{"name":"search","nativeSrc":"27733:6:27","nodeType":"YulIdentifier","src":"27733:6:27"}],"functionName":{"name":"mload","nativeSrc":"27727:5:27","nodeType":"YulIdentifier","src":"27727:5:27"},"nativeSrc":"27727:13:27","nodeType":"YulFunctionCall","src":"27727:13:27"},"variables":[{"name":"searchLength","nativeSrc":"27711:12:27","nodeType":"YulTypedName","src":"27711:12:27","type":""}]},{"nativeSrc":"27862:252:27","nodeType":"YulAssignment","src":"27862:252:27","value":{"arguments":[{"arguments":[{"arguments":[{"name":"searchLength","nativeSrc":"27903:12:27","nodeType":"YulIdentifier","src":"27903:12:27"},{"arguments":[{"name":"subject","nativeSrc":"27923:7:27","nodeType":"YulIdentifier","src":"27923:7:27"}],"functionName":{"name":"mload","nativeSrc":"27917:5:27","nodeType":"YulIdentifier","src":"27917:5:27"},"nativeSrc":"27917:14:27","nodeType":"YulFunctionCall","src":"27917:14:27"}],"functionName":{"name":"gt","nativeSrc":"27900:2:27","nodeType":"YulIdentifier","src":"27900:2:27"},"nativeSrc":"27900:32:27","nodeType":"YulFunctionCall","src":"27900:32:27"}],"functionName":{"name":"iszero","nativeSrc":"27893:6:27","nodeType":"YulIdentifier","src":"27893:6:27"},"nativeSrc":"27893:40:27","nodeType":"YulFunctionCall","src":"27893:40:27"},{"arguments":[{"arguments":[{"arguments":[{"name":"subject","nativeSrc":"27989:7:27","nodeType":"YulIdentifier","src":"27989:7:27"},{"kind":"number","nativeSrc":"27998:4:27","nodeType":"YulLiteral","src":"27998:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"27985:3:27","nodeType":"YulIdentifier","src":"27985:3:27"},"nativeSrc":"27985:18:27","nodeType":"YulFunctionCall","src":"27985:18:27"},{"name":"searchLength","nativeSrc":"28005:12:27","nodeType":"YulIdentifier","src":"28005:12:27"}],"functionName":{"name":"keccak256","nativeSrc":"27975:9:27","nodeType":"YulIdentifier","src":"27975:9:27"},"nativeSrc":"27975:43:27","nodeType":"YulFunctionCall","src":"27975:43:27"},{"arguments":[{"arguments":[{"name":"search","nativeSrc":"28054:6:27","nodeType":"YulIdentifier","src":"28054:6:27"},{"kind":"number","nativeSrc":"28062:4:27","nodeType":"YulLiteral","src":"28062:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"28050:3:27","nodeType":"YulIdentifier","src":"28050:3:27"},"nativeSrc":"28050:17:27","nodeType":"YulFunctionCall","src":"28050:17:27"},{"name":"searchLength","nativeSrc":"28069:12:27","nodeType":"YulIdentifier","src":"28069:12:27"}],"functionName":{"name":"keccak256","nativeSrc":"28040:9:27","nodeType":"YulIdentifier","src":"28040:9:27"},"nativeSrc":"28040:42:27","nodeType":"YulFunctionCall","src":"28040:42:27"}],"functionName":{"name":"eq","nativeSrc":"27951:2:27","nodeType":"YulIdentifier","src":"27951:2:27"},"nativeSrc":"27951:149:27","nodeType":"YulFunctionCall","src":"27951:149:27"}],"functionName":{"name":"and","nativeSrc":"27872:3:27","nodeType":"YulIdentifier","src":"27872:3:27"},"nativeSrc":"27872:242:27","nodeType":"YulFunctionCall","src":"27872:242:27"},"variableNames":[{"name":"result","nativeSrc":"27862:6:27","nodeType":"YulIdentifier","src":"27862:6:27"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":47361,"isOffset":false,"isSlot":false,"src":"27862:6:27","valueSize":1},{"declaration":47358,"isOffset":false,"isSlot":false,"src":"27733:6:27","valueSize":1},{"declaration":47358,"isOffset":false,"isSlot":false,"src":"28054:6:27","valueSize":1},{"declaration":47356,"isOffset":false,"isSlot":false,"src":"27923:7:27","valueSize":1},{"declaration":47356,"isOffset":false,"isSlot":false,"src":"27989:7:27","valueSize":1}],"id":47363,"nodeType":"InlineAssembly","src":"27684:440:27"}]},"documentation":{"id":47354,"nodeType":"StructuredDocumentation","src":"27441:56:27","text":"@dev Returns whether `subject` starts with `search`."},"implemented":true,"kind":"function","modifiers":[],"name":"startsWith","nameLocation":"27511:10:27","parameters":{"id":47359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47356,"mutability":"mutable","name":"subject","nameLocation":"27536:7:27","nodeType":"VariableDeclaration","scope":47365,"src":"27522:21:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47355,"name":"string","nodeType":"ElementaryTypeName","src":"27522:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47358,"mutability":"mutable","name":"search","nameLocation":"27559:6:27","nodeType":"VariableDeclaration","scope":47365,"src":"27545:20:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47357,"name":"string","nodeType":"ElementaryTypeName","src":"27545:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27521:45:27"},"returnParameters":{"id":47362,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47361,"mutability":"mutable","name":"result","nameLocation":"27619:6:27","nodeType":"VariableDeclaration","scope":47365,"src":"27614:11:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47360,"name":"bool","nodeType":"ElementaryTypeName","src":"27614:4:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27613:13:27"},"scope":47666,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47377,"nodeType":"FunctionDefinition","src":"28195:989:27","nodes":[],"body":{"id":47376,"nodeType":"Block","src":"28322:862:27","nodes":[],"statements":[{"AST":{"nativeSrc":"28384:794:27","nodeType":"YulBlock","src":"28384:794:27","statements":[{"nativeSrc":"28398:33:27","nodeType":"YulVariableDeclaration","src":"28398:33:27","value":{"arguments":[{"name":"search","nativeSrc":"28424:6:27","nodeType":"YulIdentifier","src":"28424:6:27"}],"functionName":{"name":"mload","nativeSrc":"28418:5:27","nodeType":"YulIdentifier","src":"28418:5:27"},"nativeSrc":"28418:13:27","nodeType":"YulFunctionCall","src":"28418:13:27"},"variables":[{"name":"searchLength","nativeSrc":"28402:12:27","nodeType":"YulTypedName","src":"28402:12:27","type":""}]},{"nativeSrc":"28444:35:27","nodeType":"YulVariableDeclaration","src":"28444:35:27","value":{"arguments":[{"name":"subject","nativeSrc":"28471:7:27","nodeType":"YulIdentifier","src":"28471:7:27"}],"functionName":{"name":"mload","nativeSrc":"28465:5:27","nodeType":"YulIdentifier","src":"28465:5:27"},"nativeSrc":"28465:14:27","nodeType":"YulFunctionCall","src":"28465:14:27"},"variables":[{"name":"subjectLength","nativeSrc":"28448:13:27","nodeType":"YulTypedName","src":"28448:13:27","type":""}]},{"nativeSrc":"28554:58:27","nodeType":"YulVariableDeclaration","src":"28554:58:27","value":{"arguments":[{"arguments":[{"name":"searchLength","nativeSrc":"28583:12:27","nodeType":"YulIdentifier","src":"28583:12:27"},{"name":"subjectLength","nativeSrc":"28597:13:27","nodeType":"YulIdentifier","src":"28597:13:27"}],"functionName":{"name":"gt","nativeSrc":"28580:2:27","nodeType":"YulIdentifier","src":"28580:2:27"},"nativeSrc":"28580:31:27","nodeType":"YulFunctionCall","src":"28580:31:27"}],"functionName":{"name":"iszero","nativeSrc":"28573:6:27","nodeType":"YulIdentifier","src":"28573:6:27"},"nativeSrc":"28573:39:27","nodeType":"YulFunctionCall","src":"28573:39:27"},"variables":[{"name":"withinRange","nativeSrc":"28558:11:27","nodeType":"YulTypedName","src":"28558:11:27","type":""}]},{"nativeSrc":"28734:434:27","nodeType":"YulAssignment","src":"28734:434:27","value":{"arguments":[{"name":"withinRange","nativeSrc":"28765:11:27","nodeType":"YulIdentifier","src":"28765:11:27"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"subject","nativeSrc":"28945:7:27","nodeType":"YulIdentifier","src":"28945:7:27"},{"kind":"number","nativeSrc":"28954:4:27","nodeType":"YulLiteral","src":"28954:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"28941:3:27","nodeType":"YulIdentifier","src":"28941:3:27"},"nativeSrc":"28941:18:27","nodeType":"YulFunctionCall","src":"28941:18:27"},{"arguments":[{"name":"withinRange","nativeSrc":"28965:11:27","nodeType":"YulIdentifier","src":"28965:11:27"},{"arguments":[{"name":"subjectLength","nativeSrc":"28982:13:27","nodeType":"YulIdentifier","src":"28982:13:27"},{"name":"searchLength","nativeSrc":"28997:12:27","nodeType":"YulIdentifier","src":"28997:12:27"}],"functionName":{"name":"sub","nativeSrc":"28978:3:27","nodeType":"YulIdentifier","src":"28978:3:27"},"nativeSrc":"28978:32:27","nodeType":"YulFunctionCall","src":"28978:32:27"}],"functionName":{"name":"mul","nativeSrc":"28961:3:27","nodeType":"YulIdentifier","src":"28961:3:27"},"nativeSrc":"28961:50:27","nodeType":"YulFunctionCall","src":"28961:50:27"}],"functionName":{"name":"add","nativeSrc":"28937:3:27","nodeType":"YulIdentifier","src":"28937:3:27"},"nativeSrc":"28937:75:27","nodeType":"YulFunctionCall","src":"28937:75:27"},{"name":"searchLength","nativeSrc":"29038:12:27","nodeType":"YulIdentifier","src":"29038:12:27"}],"functionName":{"name":"keccak256","nativeSrc":"28818:9:27","nodeType":"YulIdentifier","src":"28818:9:27"},"nativeSrc":"28818:254:27","nodeType":"YulFunctionCall","src":"28818:254:27"},{"arguments":[{"arguments":[{"name":"search","nativeSrc":"29108:6:27","nodeType":"YulIdentifier","src":"29108:6:27"},{"kind":"number","nativeSrc":"29116:4:27","nodeType":"YulLiteral","src":"29116:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"29104:3:27","nodeType":"YulIdentifier","src":"29104:3:27"},"nativeSrc":"29104:17:27","nodeType":"YulFunctionCall","src":"29104:17:27"},{"name":"searchLength","nativeSrc":"29123:12:27","nodeType":"YulIdentifier","src":"29123:12:27"}],"functionName":{"name":"keccak256","nativeSrc":"29094:9:27","nodeType":"YulIdentifier","src":"29094:9:27"},"nativeSrc":"29094:42:27","nodeType":"YulFunctionCall","src":"29094:42:27"}],"functionName":{"name":"eq","nativeSrc":"28794:2:27","nodeType":"YulIdentifier","src":"28794:2:27"},"nativeSrc":"28794:360:27","nodeType":"YulFunctionCall","src":"28794:360:27"}],"functionName":{"name":"and","nativeSrc":"28744:3:27","nodeType":"YulIdentifier","src":"28744:3:27"},"nativeSrc":"28744:424:27","nodeType":"YulFunctionCall","src":"28744:424:27"},"variableNames":[{"name":"result","nativeSrc":"28734:6:27","nodeType":"YulIdentifier","src":"28734:6:27"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":47373,"isOffset":false,"isSlot":false,"src":"28734:6:27","valueSize":1},{"declaration":47370,"isOffset":false,"isSlot":false,"src":"28424:6:27","valueSize":1},{"declaration":47370,"isOffset":false,"isSlot":false,"src":"29108:6:27","valueSize":1},{"declaration":47368,"isOffset":false,"isSlot":false,"src":"28471:7:27","valueSize":1},{"declaration":47368,"isOffset":false,"isSlot":false,"src":"28945:7:27","valueSize":1}],"id":47375,"nodeType":"InlineAssembly","src":"28375:803:27"}]},"documentation":{"id":47366,"nodeType":"StructuredDocumentation","src":"28136:54:27","text":"@dev Returns whether `subject` ends with `search`."},"implemented":true,"kind":"function","modifiers":[],"name":"endsWith","nameLocation":"28204:8:27","parameters":{"id":47371,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47368,"mutability":"mutable","name":"subject","nameLocation":"28227:7:27","nodeType":"VariableDeclaration","scope":47377,"src":"28213:21:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47367,"name":"string","nodeType":"ElementaryTypeName","src":"28213:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47370,"mutability":"mutable","name":"search","nameLocation":"28250:6:27","nodeType":"VariableDeclaration","scope":47377,"src":"28236:20:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47369,"name":"string","nodeType":"ElementaryTypeName","src":"28236:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"28212:45:27"},"returnParameters":{"id":47374,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47373,"mutability":"mutable","name":"result","nameLocation":"28310:6:27","nodeType":"VariableDeclaration","scope":47377,"src":"28305:11:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47372,"name":"bool","nodeType":"ElementaryTypeName","src":"28305:4:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28304:13:27"},"scope":47666,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47389,"nodeType":"FunctionDefinition","src":"29239:1282:27","nodes":[],"body":{"id":47388,"nodeType":"Block","src":"29366:1155:27","nodes":[],"statements":[{"AST":{"nativeSrc":"29428:1087:27","nodeType":"YulBlock","src":"29428:1087:27","statements":[{"nativeSrc":"29442:35:27","nodeType":"YulVariableDeclaration","src":"29442:35:27","value":{"arguments":[{"name":"subject","nativeSrc":"29469:7:27","nodeType":"YulIdentifier","src":"29469:7:27"}],"functionName":{"name":"mload","nativeSrc":"29463:5:27","nodeType":"YulIdentifier","src":"29463:5:27"},"nativeSrc":"29463:14:27","nodeType":"YulFunctionCall","src":"29463:14:27"},"variables":[{"name":"subjectLength","nativeSrc":"29446:13:27","nodeType":"YulTypedName","src":"29446:13:27","type":""}]},{"body":{"nativeSrc":"29542:963:27","nodeType":"YulBlock","src":"29542:963:27","statements":[{"nativeSrc":"29560:29:27","nodeType":"YulAssignment","src":"29560:29:27","value":{"arguments":[{"name":"subject","nativeSrc":"29575:7:27","nodeType":"YulIdentifier","src":"29575:7:27"},{"kind":"number","nativeSrc":"29584:4:27","nodeType":"YulLiteral","src":"29584:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"29571:3:27","nodeType":"YulIdentifier","src":"29571:3:27"},"nativeSrc":"29571:18:27","nodeType":"YulFunctionCall","src":"29571:18:27"},"variableNames":[{"name":"subject","nativeSrc":"29560:7:27","nodeType":"YulIdentifier","src":"29560:7:27"}]},{"nativeSrc":"29606:21:27","nodeType":"YulAssignment","src":"29606:21:27","value":{"arguments":[{"kind":"number","nativeSrc":"29622:4:27","nodeType":"YulLiteral","src":"29622:4:27","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"29616:5:27","nodeType":"YulIdentifier","src":"29616:5:27"},"nativeSrc":"29616:11:27","nodeType":"YulFunctionCall","src":"29616:11:27"},"variableNames":[{"name":"result","nativeSrc":"29606:6:27","nodeType":"YulIdentifier","src":"29606:6:27"}]},{"nativeSrc":"29644:31:27","nodeType":"YulVariableDeclaration","src":"29644:31:27","value":{"arguments":[{"name":"result","nativeSrc":"29662:6:27","nodeType":"YulIdentifier","src":"29662:6:27"},{"kind":"number","nativeSrc":"29670:4:27","nodeType":"YulLiteral","src":"29670:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"29658:3:27","nodeType":"YulIdentifier","src":"29658:3:27"},"nativeSrc":"29658:17:27","nodeType":"YulFunctionCall","src":"29658:17:27"},"variables":[{"name":"output","nativeSrc":"29648:6:27","nodeType":"YulTypedName","src":"29648:6:27","type":""}]},{"body":{"nativeSrc":"29704:475:27","nodeType":"YulBlock","src":"29704:475:27","statements":[{"body":{"nativeSrc":"29812:202:27","nodeType":"YulBlock","src":"29812:202:27","statements":[{"expression":{"arguments":[{"arguments":[{"name":"output","nativeSrc":"29849:6:27","nodeType":"YulIdentifier","src":"29849:6:27"},{"name":"o","nativeSrc":"29857:1:27","nodeType":"YulIdentifier","src":"29857:1:27"}],"functionName":{"name":"add","nativeSrc":"29845:3:27","nodeType":"YulIdentifier","src":"29845:3:27"},"nativeSrc":"29845:14:27","nodeType":"YulFunctionCall","src":"29845:14:27"},{"arguments":[{"arguments":[{"name":"subject","nativeSrc":"29871:7:27","nodeType":"YulIdentifier","src":"29871:7:27"},{"name":"o","nativeSrc":"29880:1:27","nodeType":"YulIdentifier","src":"29880:1:27"}],"functionName":{"name":"add","nativeSrc":"29867:3:27","nodeType":"YulIdentifier","src":"29867:3:27"},"nativeSrc":"29867:15:27","nodeType":"YulFunctionCall","src":"29867:15:27"}],"functionName":{"name":"mload","nativeSrc":"29861:5:27","nodeType":"YulIdentifier","src":"29861:5:27"},"nativeSrc":"29861:22:27","nodeType":"YulFunctionCall","src":"29861:22:27"}],"functionName":{"name":"mstore","nativeSrc":"29838:6:27","nodeType":"YulIdentifier","src":"29838:6:27"},"nativeSrc":"29838:46:27","nodeType":"YulFunctionCall","src":"29838:46:27"},"nativeSrc":"29838:46:27","nodeType":"YulExpressionStatement","src":"29838:46:27"},{"nativeSrc":"29909:17:27","nodeType":"YulAssignment","src":"29909:17:27","value":{"arguments":[{"name":"o","nativeSrc":"29918:1:27","nodeType":"YulIdentifier","src":"29918:1:27"},{"kind":"number","nativeSrc":"29921:4:27","nodeType":"YulLiteral","src":"29921:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"29914:3:27","nodeType":"YulIdentifier","src":"29914:3:27"},"nativeSrc":"29914:12:27","nodeType":"YulFunctionCall","src":"29914:12:27"},"variableNames":[{"name":"o","nativeSrc":"29909:1:27","nodeType":"YulIdentifier","src":"29909:1:27"}]},{"body":{"nativeSrc":"29983:9:27","nodeType":"YulBlock","src":"29983:9:27","statements":[{"nativeSrc":"29985:5:27","nodeType":"YulBreak","src":"29985:5:27"}]},"condition":{"arguments":[{"arguments":[{"name":"o","nativeSrc":"29964:1:27","nodeType":"YulIdentifier","src":"29964:1:27"},{"name":"subjectLength","nativeSrc":"29967:13:27","nodeType":"YulIdentifier","src":"29967:13:27"}],"functionName":{"name":"lt","nativeSrc":"29961:2:27","nodeType":"YulIdentifier","src":"29961:2:27"},"nativeSrc":"29961:20:27","nodeType":"YulFunctionCall","src":"29961:20:27"}],"functionName":{"name":"iszero","nativeSrc":"29954:6:27","nodeType":"YulIdentifier","src":"29954:6:27"},"nativeSrc":"29954:28:27","nodeType":"YulFunctionCall","src":"29954:28:27"},"nativeSrc":"29951:41:27","nodeType":"YulIf","src":"29951:41:27"}]},"condition":{"kind":"number","nativeSrc":"29807:1:27","nodeType":"YulLiteral","src":"29807:1:27","type":"","value":"1"},"nativeSrc":"29788:226:27","nodeType":"YulForLoop","post":{"nativeSrc":"29809:2:27","nodeType":"YulBlock","src":"29809:2:27","statements":[]},"pre":{"nativeSrc":"29792:14:27","nodeType":"YulBlock","src":"29792:14:27","statements":[{"nativeSrc":"29794:10:27","nodeType":"YulVariableDeclaration","src":"29794:10:27","value":{"kind":"number","nativeSrc":"29803:1:27","nodeType":"YulLiteral","src":"29803:1:27","type":"","value":"0"},"variables":[{"name":"o","nativeSrc":"29798:1:27","nodeType":"YulTypedName","src":"29798:1:27","type":""}]}]},"src":"29788:226:27"},{"nativeSrc":"30035:36:27","nodeType":"YulAssignment","src":"30035:36:27","value":{"arguments":[{"name":"output","nativeSrc":"30049:6:27","nodeType":"YulIdentifier","src":"30049:6:27"},{"name":"subjectLength","nativeSrc":"30057:13:27","nodeType":"YulIdentifier","src":"30057:13:27"}],"functionName":{"name":"add","nativeSrc":"30045:3:27","nodeType":"YulIdentifier","src":"30045:3:27"},"nativeSrc":"30045:26:27","nodeType":"YulFunctionCall","src":"30045:26:27"},"variableNames":[{"name":"output","nativeSrc":"30035:6:27","nodeType":"YulIdentifier","src":"30035:6:27"}]},{"nativeSrc":"30092:22:27","nodeType":"YulAssignment","src":"30092:22:27","value":{"arguments":[{"name":"times","nativeSrc":"30105:5:27","nodeType":"YulIdentifier","src":"30105:5:27"},{"kind":"number","nativeSrc":"30112:1:27","nodeType":"YulLiteral","src":"30112:1:27","type":"","value":"1"}],"functionName":{"name":"sub","nativeSrc":"30101:3:27","nodeType":"YulIdentifier","src":"30101:3:27"},"nativeSrc":"30101:13:27","nodeType":"YulFunctionCall","src":"30101:13:27"},"variableNames":[{"name":"times","nativeSrc":"30092:5:27","nodeType":"YulIdentifier","src":"30092:5:27"}]},{"body":{"nativeSrc":"30152:9:27","nodeType":"YulBlock","src":"30152:9:27","statements":[{"nativeSrc":"30154:5:27","nodeType":"YulBreak","src":"30154:5:27"}]},"condition":{"arguments":[{"name":"times","nativeSrc":"30145:5:27","nodeType":"YulIdentifier","src":"30145:5:27"}],"functionName":{"name":"iszero","nativeSrc":"30138:6:27","nodeType":"YulIdentifier","src":"30138:6:27"},"nativeSrc":"30138:13:27","nodeType":"YulFunctionCall","src":"30138:13:27"},"nativeSrc":"30135:26:27","nodeType":"YulIf","src":"30135:26:27"}]},"condition":{"kind":"number","nativeSrc":"29699:1:27","nodeType":"YulLiteral","src":"29699:1:27","type":"","value":"1"},"nativeSrc":"29692:487:27","nodeType":"YulForLoop","post":{"nativeSrc":"29701:2:27","nodeType":"YulBlock","src":"29701:2:27","statements":[]},"pre":{"nativeSrc":"29696:2:27","nodeType":"YulBlock","src":"29696:2:27","statements":[]},"src":"29692:487:27"},{"expression":{"arguments":[{"name":"output","nativeSrc":"30203:6:27","nodeType":"YulIdentifier","src":"30203:6:27"},{"kind":"number","nativeSrc":"30211:1:27","nodeType":"YulLiteral","src":"30211:1:27","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"30196:6:27","nodeType":"YulIdentifier","src":"30196:6:27"},"nativeSrc":"30196:17:27","nodeType":"YulFunctionCall","src":"30196:17:27"},"nativeSrc":"30196:17:27","nodeType":"YulExpressionStatement","src":"30196:17:27"},{"nativeSrc":"30268:50:27","nodeType":"YulVariableDeclaration","src":"30268:50:27","value":{"arguments":[{"name":"output","nativeSrc":"30292:6:27","nodeType":"YulIdentifier","src":"30292:6:27"},{"arguments":[{"name":"result","nativeSrc":"30304:6:27","nodeType":"YulIdentifier","src":"30304:6:27"},{"kind":"number","nativeSrc":"30312:4:27","nodeType":"YulLiteral","src":"30312:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"30300:3:27","nodeType":"YulIdentifier","src":"30300:3:27"},"nativeSrc":"30300:17:27","nodeType":"YulFunctionCall","src":"30300:17:27"}],"functionName":{"name":"sub","nativeSrc":"30288:3:27","nodeType":"YulIdentifier","src":"30288:3:27"},"nativeSrc":"30288:30:27","nodeType":"YulFunctionCall","src":"30288:30:27"},"variables":[{"name":"resultLength","nativeSrc":"30272:12:27","nodeType":"YulTypedName","src":"30272:12:27","type":""}]},{"expression":{"arguments":[{"name":"result","nativeSrc":"30342:6:27","nodeType":"YulIdentifier","src":"30342:6:27"},{"name":"resultLength","nativeSrc":"30350:12:27","nodeType":"YulIdentifier","src":"30350:12:27"}],"functionName":{"name":"mstore","nativeSrc":"30335:6:27","nodeType":"YulIdentifier","src":"30335:6:27"},"nativeSrc":"30335:28:27","nodeType":"YulFunctionCall","src":"30335:28:27"},"nativeSrc":"30335:28:27","nodeType":"YulExpressionStatement","src":"30335:28:27"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"30448:4:27","nodeType":"YulLiteral","src":"30448:4:27","type":"","value":"0x40"},{"arguments":[{"name":"result","nativeSrc":"30458:6:27","nodeType":"YulIdentifier","src":"30458:6:27"},{"arguments":[{"name":"resultLength","nativeSrc":"30470:12:27","nodeType":"YulIdentifier","src":"30470:12:27"},{"kind":"number","nativeSrc":"30484:4:27","nodeType":"YulLiteral","src":"30484:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"30466:3:27","nodeType":"YulIdentifier","src":"30466:3:27"},"nativeSrc":"30466:23:27","nodeType":"YulFunctionCall","src":"30466:23:27"}],"functionName":{"name":"add","nativeSrc":"30454:3:27","nodeType":"YulIdentifier","src":"30454:3:27"},"nativeSrc":"30454:36:27","nodeType":"YulFunctionCall","src":"30454:36:27"}],"functionName":{"name":"mstore","nativeSrc":"30441:6:27","nodeType":"YulIdentifier","src":"30441:6:27"},"nativeSrc":"30441:50:27","nodeType":"YulFunctionCall","src":"30441:50:27"},"nativeSrc":"30441:50:27","nodeType":"YulExpressionStatement","src":"30441:50:27"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"times","nativeSrc":"29510:5:27","nodeType":"YulIdentifier","src":"29510:5:27"}],"functionName":{"name":"iszero","nativeSrc":"29503:6:27","nodeType":"YulIdentifier","src":"29503:6:27"},"nativeSrc":"29503:13:27","nodeType":"YulFunctionCall","src":"29503:13:27"},{"arguments":[{"name":"subjectLength","nativeSrc":"29525:13:27","nodeType":"YulIdentifier","src":"29525:13:27"}],"functionName":{"name":"iszero","nativeSrc":"29518:6:27","nodeType":"YulIdentifier","src":"29518:6:27"},"nativeSrc":"29518:21:27","nodeType":"YulFunctionCall","src":"29518:21:27"}],"functionName":{"name":"or","nativeSrc":"29500:2:27","nodeType":"YulIdentifier","src":"29500:2:27"},"nativeSrc":"29500:40:27","nodeType":"YulFunctionCall","src":"29500:40:27"}],"functionName":{"name":"iszero","nativeSrc":"29493:6:27","nodeType":"YulIdentifier","src":"29493:6:27"},"nativeSrc":"29493:48:27","nodeType":"YulFunctionCall","src":"29493:48:27"},"nativeSrc":"29490:1015:27","nodeType":"YulIf","src":"29490:1015:27"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":47385,"isOffset":false,"isSlot":false,"src":"29606:6:27","valueSize":1},{"declaration":47385,"isOffset":false,"isSlot":false,"src":"29662:6:27","valueSize":1},{"declaration":47385,"isOffset":false,"isSlot":false,"src":"30304:6:27","valueSize":1},{"declaration":47385,"isOffset":false,"isSlot":false,"src":"30342:6:27","valueSize":1},{"declaration":47385,"isOffset":false,"isSlot":false,"src":"30458:6:27","valueSize":1},{"declaration":47380,"isOffset":false,"isSlot":false,"src":"29469:7:27","valueSize":1},{"declaration":47380,"isOffset":false,"isSlot":false,"src":"29560:7:27","valueSize":1},{"declaration":47380,"isOffset":false,"isSlot":false,"src":"29575:7:27","valueSize":1},{"declaration":47380,"isOffset":false,"isSlot":false,"src":"29871:7:27","valueSize":1},{"declaration":47382,"isOffset":false,"isSlot":false,"src":"29510:5:27","valueSize":1},{"declaration":47382,"isOffset":false,"isSlot":false,"src":"30092:5:27","valueSize":1},{"declaration":47382,"isOffset":false,"isSlot":false,"src":"30105:5:27","valueSize":1},{"declaration":47382,"isOffset":false,"isSlot":false,"src":"30145:5:27","valueSize":1}],"id":47387,"nodeType":"InlineAssembly","src":"29419:1096:27"}]},"documentation":{"id":47378,"nodeType":"StructuredDocumentation","src":"29190:44:27","text":"@dev Returns `subject` repeated `times`."},"implemented":true,"kind":"function","modifiers":[],"name":"repeat","nameLocation":"29248:6:27","parameters":{"id":47383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47380,"mutability":"mutable","name":"subject","nameLocation":"29269:7:27","nodeType":"VariableDeclaration","scope":47389,"src":"29255:21:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47379,"name":"string","nodeType":"ElementaryTypeName","src":"29255:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47382,"mutability":"mutable","name":"times","nameLocation":"29286:5:27","nodeType":"VariableDeclaration","scope":47389,"src":"29278:13:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47381,"name":"uint256","nodeType":"ElementaryTypeName","src":"29278:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29254:38:27"},"returnParameters":{"id":47386,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47385,"mutability":"mutable","name":"result","nameLocation":"29354:6:27","nodeType":"VariableDeclaration","scope":47389,"src":"29340:20:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47384,"name":"string","nodeType":"ElementaryTypeName","src":"29340:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"29339:22:27"},"scope":47666,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47403,"nodeType":"FunctionDefinition","src":"30654:1307:27","nodes":[],"body":{"id":47402,"nodeType":"Block","src":"30793:1168:27","nodes":[],"statements":[{"AST":{"nativeSrc":"30855:1100:27","nodeType":"YulBlock","src":"30855:1100:27","statements":[{"nativeSrc":"30869:35:27","nodeType":"YulVariableDeclaration","src":"30869:35:27","value":{"arguments":[{"name":"subject","nativeSrc":"30896:7:27","nodeType":"YulIdentifier","src":"30896:7:27"}],"functionName":{"name":"mload","nativeSrc":"30890:5:27","nodeType":"YulIdentifier","src":"30890:5:27"},"nativeSrc":"30890:14:27","nodeType":"YulFunctionCall","src":"30890:14:27"},"variables":[{"name":"subjectLength","nativeSrc":"30873:13:27","nodeType":"YulTypedName","src":"30873:13:27","type":""}]},{"body":{"nativeSrc":"30951:24:27","nodeType":"YulBlock","src":"30951:24:27","statements":[{"nativeSrc":"30953:20:27","nodeType":"YulAssignment","src":"30953:20:27","value":{"name":"subjectLength","nativeSrc":"30960:13:27","nodeType":"YulIdentifier","src":"30960:13:27"},"variableNames":[{"name":"end","nativeSrc":"30953:3:27","nodeType":"YulIdentifier","src":"30953:3:27"}]}]},"condition":{"arguments":[{"arguments":[{"name":"subjectLength","nativeSrc":"30930:13:27","nodeType":"YulIdentifier","src":"30930:13:27"},{"name":"end","nativeSrc":"30945:3:27","nodeType":"YulIdentifier","src":"30945:3:27"}],"functionName":{"name":"gt","nativeSrc":"30927:2:27","nodeType":"YulIdentifier","src":"30927:2:27"},"nativeSrc":"30927:22:27","nodeType":"YulFunctionCall","src":"30927:22:27"}],"functionName":{"name":"iszero","nativeSrc":"30920:6:27","nodeType":"YulIdentifier","src":"30920:6:27"},"nativeSrc":"30920:30:27","nodeType":"YulFunctionCall","src":"30920:30:27"},"nativeSrc":"30917:58:27","nodeType":"YulIf","src":"30917:58:27"},{"body":{"nativeSrc":"31024:26:27","nodeType":"YulBlock","src":"31024:26:27","statements":[{"nativeSrc":"31026:22:27","nodeType":"YulAssignment","src":"31026:22:27","value":{"name":"subjectLength","nativeSrc":"31035:13:27","nodeType":"YulIdentifier","src":"31035:13:27"},"variableNames":[{"name":"start","nativeSrc":"31026:5:27","nodeType":"YulIdentifier","src":"31026:5:27"}]}]},"condition":{"arguments":[{"arguments":[{"name":"subjectLength","nativeSrc":"31001:13:27","nodeType":"YulIdentifier","src":"31001:13:27"},{"name":"start","nativeSrc":"31016:5:27","nodeType":"YulIdentifier","src":"31016:5:27"}],"functionName":{"name":"gt","nativeSrc":"30998:2:27","nodeType":"YulIdentifier","src":"30998:2:27"},"nativeSrc":"30998:24:27","nodeType":"YulFunctionCall","src":"30998:24:27"}],"functionName":{"name":"iszero","nativeSrc":"30991:6:27","nodeType":"YulIdentifier","src":"30991:6:27"},"nativeSrc":"30991:32:27","nodeType":"YulFunctionCall","src":"30991:32:27"},"nativeSrc":"30988:62:27","nodeType":"YulIf","src":"30988:62:27"},{"body":{"nativeSrc":"31081:864:27","nodeType":"YulBlock","src":"31081:864:27","statements":[{"nativeSrc":"31099:21:27","nodeType":"YulAssignment","src":"31099:21:27","value":{"arguments":[{"kind":"number","nativeSrc":"31115:4:27","nodeType":"YulLiteral","src":"31115:4:27","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"31109:5:27","nodeType":"YulIdentifier","src":"31109:5:27"},"nativeSrc":"31109:11:27","nodeType":"YulFunctionCall","src":"31109:11:27"},"variableNames":[{"name":"result","nativeSrc":"31099:6:27","nodeType":"YulIdentifier","src":"31099:6:27"}]},{"nativeSrc":"31137:35:27","nodeType":"YulVariableDeclaration","src":"31137:35:27","value":{"arguments":[{"name":"end","nativeSrc":"31161:3:27","nodeType":"YulIdentifier","src":"31161:3:27"},{"name":"start","nativeSrc":"31166:5:27","nodeType":"YulIdentifier","src":"31166:5:27"}],"functionName":{"name":"sub","nativeSrc":"31157:3:27","nodeType":"YulIdentifier","src":"31157:3:27"},"nativeSrc":"31157:15:27","nodeType":"YulFunctionCall","src":"31157:15:27"},"variables":[{"name":"resultLength","nativeSrc":"31141:12:27","nodeType":"YulTypedName","src":"31141:12:27","type":""}]},{"expression":{"arguments":[{"name":"result","nativeSrc":"31196:6:27","nodeType":"YulIdentifier","src":"31196:6:27"},{"name":"resultLength","nativeSrc":"31204:12:27","nodeType":"YulIdentifier","src":"31204:12:27"}],"functionName":{"name":"mstore","nativeSrc":"31189:6:27","nodeType":"YulIdentifier","src":"31189:6:27"},"nativeSrc":"31189:28:27","nodeType":"YulFunctionCall","src":"31189:28:27"},"nativeSrc":"31189:28:27","nodeType":"YulExpressionStatement","src":"31189:28:27"},{"nativeSrc":"31234:30:27","nodeType":"YulAssignment","src":"31234:30:27","value":{"arguments":[{"name":"subject","nativeSrc":"31249:7:27","nodeType":"YulIdentifier","src":"31249:7:27"},{"name":"start","nativeSrc":"31258:5:27","nodeType":"YulIdentifier","src":"31258:5:27"}],"functionName":{"name":"add","nativeSrc":"31245:3:27","nodeType":"YulIdentifier","src":"31245:3:27"},"nativeSrc":"31245:19:27","nodeType":"YulFunctionCall","src":"31245:19:27"},"variableNames":[{"name":"subject","nativeSrc":"31234:7:27","nodeType":"YulIdentifier","src":"31234:7:27"}]},{"nativeSrc":"31281:18:27","nodeType":"YulVariableDeclaration","src":"31281:18:27","value":{"arguments":[{"kind":"number","nativeSrc":"31294:4:27","nodeType":"YulLiteral","src":"31294:4:27","type":"","value":"0x1f"}],"functionName":{"name":"not","nativeSrc":"31290:3:27","nodeType":"YulIdentifier","src":"31290:3:27"},"nativeSrc":"31290:9:27","nodeType":"YulFunctionCall","src":"31290:9:27"},"variables":[{"name":"w","nativeSrc":"31285:1:27","nodeType":"YulTypedName","src":"31285:1:27","type":""}]},{"body":{"nativeSrc":"31439:183:27","nodeType":"YulBlock","src":"31439:183:27","statements":[{"expression":{"arguments":[{"arguments":[{"name":"result","nativeSrc":"31472:6:27","nodeType":"YulIdentifier","src":"31472:6:27"},{"name":"o","nativeSrc":"31480:1:27","nodeType":"YulIdentifier","src":"31480:1:27"}],"functionName":{"name":"add","nativeSrc":"31468:3:27","nodeType":"YulIdentifier","src":"31468:3:27"},"nativeSrc":"31468:14:27","nodeType":"YulFunctionCall","src":"31468:14:27"},{"arguments":[{"arguments":[{"name":"subject","nativeSrc":"31494:7:27","nodeType":"YulIdentifier","src":"31494:7:27"},{"name":"o","nativeSrc":"31503:1:27","nodeType":"YulIdentifier","src":"31503:1:27"}],"functionName":{"name":"add","nativeSrc":"31490:3:27","nodeType":"YulIdentifier","src":"31490:3:27"},"nativeSrc":"31490:15:27","nodeType":"YulFunctionCall","src":"31490:15:27"}],"functionName":{"name":"mload","nativeSrc":"31484:5:27","nodeType":"YulIdentifier","src":"31484:5:27"},"nativeSrc":"31484:22:27","nodeType":"YulFunctionCall","src":"31484:22:27"}],"functionName":{"name":"mstore","nativeSrc":"31461:6:27","nodeType":"YulIdentifier","src":"31461:6:27"},"nativeSrc":"31461:46:27","nodeType":"YulFunctionCall","src":"31461:46:27"},"nativeSrc":"31461:46:27","nodeType":"YulExpressionStatement","src":"31461:46:27"},{"nativeSrc":"31528:14:27","nodeType":"YulAssignment","src":"31528:14:27","value":{"arguments":[{"name":"o","nativeSrc":"31537:1:27","nodeType":"YulIdentifier","src":"31537:1:27"},{"name":"w","nativeSrc":"31540:1:27","nodeType":"YulIdentifier","src":"31540:1:27"}],"functionName":{"name":"add","nativeSrc":"31533:3:27","nodeType":"YulIdentifier","src":"31533:3:27"},"nativeSrc":"31533:9:27","nodeType":"YulFunctionCall","src":"31533:9:27"},"variableNames":[{"name":"o","nativeSrc":"31528:1:27","nodeType":"YulIdentifier","src":"31528:1:27"}]},{"body":{"nativeSrc":"31595:9:27","nodeType":"YulBlock","src":"31595:9:27","statements":[{"nativeSrc":"31597:5:27","nodeType":"YulBreak","src":"31597:5:27"}]},"condition":{"arguments":[{"name":"o","nativeSrc":"31592:1:27","nodeType":"YulIdentifier","src":"31592:1:27"}],"functionName":{"name":"iszero","nativeSrc":"31585:6:27","nodeType":"YulIdentifier","src":"31585:6:27"},"nativeSrc":"31585:9:27","nodeType":"YulFunctionCall","src":"31585:9:27"},"nativeSrc":"31582:22:27","nodeType":"YulIf","src":"31582:22:27"}]},"condition":{"kind":"number","nativeSrc":"31434:1:27","nodeType":"YulLiteral","src":"31434:1:27","type":"","value":"1"},"nativeSrc":"31385:237:27","nodeType":"YulForLoop","post":{"nativeSrc":"31436:2:27","nodeType":"YulBlock","src":"31436:2:27","statements":[]},"pre":{"nativeSrc":"31389:44:27","nodeType":"YulBlock","src":"31389:44:27","statements":[{"nativeSrc":"31391:40:27","nodeType":"YulVariableDeclaration","src":"31391:40:27","value":{"arguments":[{"arguments":[{"name":"resultLength","nativeSrc":"31408:12:27","nodeType":"YulIdentifier","src":"31408:12:27"},{"kind":"number","nativeSrc":"31422:4:27","nodeType":"YulLiteral","src":"31422:4:27","type":"","value":"0x1f"}],"functionName":{"name":"add","nativeSrc":"31404:3:27","nodeType":"YulIdentifier","src":"31404:3:27"},"nativeSrc":"31404:23:27","nodeType":"YulFunctionCall","src":"31404:23:27"},{"name":"w","nativeSrc":"31429:1:27","nodeType":"YulIdentifier","src":"31429:1:27"}],"functionName":{"name":"and","nativeSrc":"31400:3:27","nodeType":"YulIdentifier","src":"31400:3:27"},"nativeSrc":"31400:31:27","nodeType":"YulFunctionCall","src":"31400:31:27"},"variables":[{"name":"o","nativeSrc":"31395:1:27","nodeType":"YulTypedName","src":"31395:1:27","type":""}]}]},"src":"31385:237:27"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"result","nativeSrc":"31708:6:27","nodeType":"YulIdentifier","src":"31708:6:27"},{"kind":"number","nativeSrc":"31716:4:27","nodeType":"YulLiteral","src":"31716:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"31704:3:27","nodeType":"YulIdentifier","src":"31704:3:27"},"nativeSrc":"31704:17:27","nodeType":"YulFunctionCall","src":"31704:17:27"},{"name":"resultLength","nativeSrc":"31723:12:27","nodeType":"YulIdentifier","src":"31723:12:27"}],"functionName":{"name":"add","nativeSrc":"31700:3:27","nodeType":"YulIdentifier","src":"31700:3:27"},"nativeSrc":"31700:36:27","nodeType":"YulFunctionCall","src":"31700:36:27"},{"kind":"number","nativeSrc":"31738:1:27","nodeType":"YulLiteral","src":"31738:1:27","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"31693:6:27","nodeType":"YulIdentifier","src":"31693:6:27"},"nativeSrc":"31693:47:27","nodeType":"YulFunctionCall","src":"31693:47:27"},"nativeSrc":"31693:47:27","nodeType":"YulExpressionStatement","src":"31693:47:27"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"31880:4:27","nodeType":"YulLiteral","src":"31880:4:27","type":"","value":"0x40"},{"arguments":[{"name":"result","nativeSrc":"31890:6:27","nodeType":"YulIdentifier","src":"31890:6:27"},{"arguments":[{"arguments":[{"name":"resultLength","nativeSrc":"31906:12:27","nodeType":"YulIdentifier","src":"31906:12:27"},{"kind":"number","nativeSrc":"31920:4:27","nodeType":"YulLiteral","src":"31920:4:27","type":"","value":"0x3f"}],"functionName":{"name":"add","nativeSrc":"31902:3:27","nodeType":"YulIdentifier","src":"31902:3:27"},"nativeSrc":"31902:23:27","nodeType":"YulFunctionCall","src":"31902:23:27"},{"name":"w","nativeSrc":"31927:1:27","nodeType":"YulIdentifier","src":"31927:1:27"}],"functionName":{"name":"and","nativeSrc":"31898:3:27","nodeType":"YulIdentifier","src":"31898:3:27"},"nativeSrc":"31898:31:27","nodeType":"YulFunctionCall","src":"31898:31:27"}],"functionName":{"name":"add","nativeSrc":"31886:3:27","nodeType":"YulIdentifier","src":"31886:3:27"},"nativeSrc":"31886:44:27","nodeType":"YulFunctionCall","src":"31886:44:27"}],"functionName":{"name":"mstore","nativeSrc":"31873:6:27","nodeType":"YulIdentifier","src":"31873:6:27"},"nativeSrc":"31873:58:27","nodeType":"YulFunctionCall","src":"31873:58:27"},"nativeSrc":"31873:58:27","nodeType":"YulExpressionStatement","src":"31873:58:27"}]},"condition":{"arguments":[{"name":"start","nativeSrc":"31069:5:27","nodeType":"YulIdentifier","src":"31069:5:27"},{"name":"end","nativeSrc":"31076:3:27","nodeType":"YulIdentifier","src":"31076:3:27"}],"functionName":{"name":"lt","nativeSrc":"31066:2:27","nodeType":"YulIdentifier","src":"31066:2:27"},"nativeSrc":"31066:14:27","nodeType":"YulFunctionCall","src":"31066:14:27"},"nativeSrc":"31063:882:27","nodeType":"YulIf","src":"31063:882:27"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":47396,"isOffset":false,"isSlot":false,"src":"30945:3:27","valueSize":1},{"declaration":47396,"isOffset":false,"isSlot":false,"src":"30953:3:27","valueSize":1},{"declaration":47396,"isOffset":false,"isSlot":false,"src":"31076:3:27","valueSize":1},{"declaration":47396,"isOffset":false,"isSlot":false,"src":"31161:3:27","valueSize":1},{"declaration":47399,"isOffset":false,"isSlot":false,"src":"31099:6:27","valueSize":1},{"declaration":47399,"isOffset":false,"isSlot":false,"src":"31196:6:27","valueSize":1},{"declaration":47399,"isOffset":false,"isSlot":false,"src":"31472:6:27","valueSize":1},{"declaration":47399,"isOffset":false,"isSlot":false,"src":"31708:6:27","valueSize":1},{"declaration":47399,"isOffset":false,"isSlot":false,"src":"31890:6:27","valueSize":1},{"declaration":47394,"isOffset":false,"isSlot":false,"src":"31016:5:27","valueSize":1},{"declaration":47394,"isOffset":false,"isSlot":false,"src":"31026:5:27","valueSize":1},{"declaration":47394,"isOffset":false,"isSlot":false,"src":"31069:5:27","valueSize":1},{"declaration":47394,"isOffset":false,"isSlot":false,"src":"31166:5:27","valueSize":1},{"declaration":47394,"isOffset":false,"isSlot":false,"src":"31258:5:27","valueSize":1},{"declaration":47392,"isOffset":false,"isSlot":false,"src":"30896:7:27","valueSize":1},{"declaration":47392,"isOffset":false,"isSlot":false,"src":"31234:7:27","valueSize":1},{"declaration":47392,"isOffset":false,"isSlot":false,"src":"31249:7:27","valueSize":1},{"declaration":47392,"isOffset":false,"isSlot":false,"src":"31494:7:27","valueSize":1}],"id":47401,"nodeType":"InlineAssembly","src":"30846:1109:27"}]},"documentation":{"id":47390,"nodeType":"StructuredDocumentation","src":"30527:122:27","text":"@dev Returns a copy of `subject` sliced from `start` to `end` (exclusive).\n `start` and `end` are byte offsets."},"implemented":true,"kind":"function","modifiers":[],"name":"slice","nameLocation":"30663:5:27","parameters":{"id":47397,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47392,"mutability":"mutable","name":"subject","nameLocation":"30683:7:27","nodeType":"VariableDeclaration","scope":47403,"src":"30669:21:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47391,"name":"string","nodeType":"ElementaryTypeName","src":"30669:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47394,"mutability":"mutable","name":"start","nameLocation":"30700:5:27","nodeType":"VariableDeclaration","scope":47403,"src":"30692:13:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47393,"name":"uint256","nodeType":"ElementaryTypeName","src":"30692:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47396,"mutability":"mutable","name":"end","nameLocation":"30715:3:27","nodeType":"VariableDeclaration","scope":47403,"src":"30707:11:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47395,"name":"uint256","nodeType":"ElementaryTypeName","src":"30707:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30668:51:27"},"returnParameters":{"id":47400,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47399,"mutability":"mutable","name":"result","nameLocation":"30781:6:27","nodeType":"VariableDeclaration","scope":47403,"src":"30767:20:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47398,"name":"string","nodeType":"ElementaryTypeName","src":"30767:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"30766:22:27"},"scope":47666,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47429,"nodeType":"FunctionDefinition","src":"32088:194:27","nodes":[],"body":{"id":47428,"nodeType":"Block","src":"32214:68:27","nodes":[],"statements":[{"expression":{"id":47426,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47413,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47411,"src":"32224:6:27","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":47415,"name":"subject","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47406,"src":"32239:7:27","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47416,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47408,"src":"32248:5:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"arguments":[{"id":47422,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"32270:2:27","subExpression":{"hexValue":"31","id":47421,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32271:1:27","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_1_by_1","typeString":"int_const -1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_1_by_1","typeString":"int_const -1"}],"id":47420,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32263:6:27","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":47419,"name":"int256","nodeType":"ElementaryTypeName","src":"32263:6:27","typeDescriptions":{}}},"id":47423,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32263:10:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":47418,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32255:7:27","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":47417,"name":"uint256","nodeType":"ElementaryTypeName","src":"32255:7:27","typeDescriptions":{}}},"id":47424,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32255:19:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47414,"name":"slice","nodeType":"Identifier","overloadedDeclarations":[47403,47429],"referencedDeclaration":47403,"src":"32233:5:27","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,uint256,uint256) pure returns (string memory)"}},"id":47425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32233:42:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"32224:51:27","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":47427,"nodeType":"ExpressionStatement","src":"32224:51:27"}]},"documentation":{"id":47404,"nodeType":"StructuredDocumentation","src":"31967:116:27","text":"@dev Returns a copy of `subject` sliced from `start` to the end of the string.\n `start` is a byte offset."},"implemented":true,"kind":"function","modifiers":[],"name":"slice","nameLocation":"32097:5:27","parameters":{"id":47409,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47406,"mutability":"mutable","name":"subject","nameLocation":"32117:7:27","nodeType":"VariableDeclaration","scope":47429,"src":"32103:21:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47405,"name":"string","nodeType":"ElementaryTypeName","src":"32103:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47408,"mutability":"mutable","name":"start","nameLocation":"32134:5:27","nodeType":"VariableDeclaration","scope":47429,"src":"32126:13:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47407,"name":"uint256","nodeType":"ElementaryTypeName","src":"32126:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32102:38:27"},"returnParameters":{"id":47412,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47411,"mutability":"mutable","name":"result","nameLocation":"32202:6:27","nodeType":"VariableDeclaration","scope":47429,"src":"32188:20:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47410,"name":"string","nodeType":"ElementaryTypeName","src":"32188:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32187:22:27"},"scope":47666,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47442,"nodeType":"FunctionDefinition","src":"32389:2575:27","nodes":[],"body":{"id":47441,"nodeType":"Block","src":"32529:2435:27","nodes":[],"statements":[{"AST":{"nativeSrc":"32591:2367:27","nodeType":"YulBlock","src":"32591:2367:27","statements":[{"nativeSrc":"32605:35:27","nodeType":"YulVariableDeclaration","src":"32605:35:27","value":{"arguments":[{"name":"subject","nativeSrc":"32632:7:27","nodeType":"YulIdentifier","src":"32632:7:27"}],"functionName":{"name":"mload","nativeSrc":"32626:5:27","nodeType":"YulIdentifier","src":"32626:5:27"},"nativeSrc":"32626:14:27","nodeType":"YulFunctionCall","src":"32626:14:27"},"variables":[{"name":"subjectLength","nativeSrc":"32609:13:27","nodeType":"YulTypedName","src":"32609:13:27","type":""}]},{"nativeSrc":"32653:33:27","nodeType":"YulVariableDeclaration","src":"32653:33:27","value":{"arguments":[{"name":"search","nativeSrc":"32679:6:27","nodeType":"YulIdentifier","src":"32679:6:27"}],"functionName":{"name":"mload","nativeSrc":"32673:5:27","nodeType":"YulIdentifier","src":"32673:5:27"},"nativeSrc":"32673:13:27","nodeType":"YulFunctionCall","src":"32673:13:27"},"variables":[{"name":"searchLength","nativeSrc":"32657:12:27","nodeType":"YulTypedName","src":"32657:12:27","type":""}]},{"body":{"nativeSrc":"32743:2205:27","nodeType":"YulBlock","src":"32743:2205:27","statements":[{"nativeSrc":"32761:29:27","nodeType":"YulAssignment","src":"32761:29:27","value":{"arguments":[{"name":"subject","nativeSrc":"32776:7:27","nodeType":"YulIdentifier","src":"32776:7:27"},{"kind":"number","nativeSrc":"32785:4:27","nodeType":"YulLiteral","src":"32785:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"32772:3:27","nodeType":"YulIdentifier","src":"32772:3:27"},"nativeSrc":"32772:18:27","nodeType":"YulFunctionCall","src":"32772:18:27"},"variableNames":[{"name":"subject","nativeSrc":"32761:7:27","nodeType":"YulIdentifier","src":"32761:7:27"}]},{"nativeSrc":"32807:27:27","nodeType":"YulAssignment","src":"32807:27:27","value":{"arguments":[{"name":"search","nativeSrc":"32821:6:27","nodeType":"YulIdentifier","src":"32821:6:27"},{"kind":"number","nativeSrc":"32829:4:27","nodeType":"YulLiteral","src":"32829:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"32817:3:27","nodeType":"YulIdentifier","src":"32817:3:27"},"nativeSrc":"32817:17:27","nodeType":"YulFunctionCall","src":"32817:17:27"},"variableNames":[{"name":"search","nativeSrc":"32807:6:27","nodeType":"YulIdentifier","src":"32807:6:27"}]},{"nativeSrc":"32851:32:27","nodeType":"YulAssignment","src":"32851:32:27","value":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"32871:4:27","nodeType":"YulLiteral","src":"32871:4:27","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"32865:5:27","nodeType":"YulIdentifier","src":"32865:5:27"},"nativeSrc":"32865:11:27","nodeType":"YulFunctionCall","src":"32865:11:27"},{"kind":"number","nativeSrc":"32878:4:27","nodeType":"YulLiteral","src":"32878:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"32861:3:27","nodeType":"YulIdentifier","src":"32861:3:27"},"nativeSrc":"32861:22:27","nodeType":"YulFunctionCall","src":"32861:22:27"},"variableNames":[{"name":"result","nativeSrc":"32851:6:27","nodeType":"YulIdentifier","src":"32851:6:27"}]},{"nativeSrc":"32901:27:27","nodeType":"YulVariableDeclaration","src":"32901:27:27","value":{"name":"subject","nativeSrc":"32921:7:27","nodeType":"YulIdentifier","src":"32921:7:27"},"variables":[{"name":"subjectStart","nativeSrc":"32905:12:27","nodeType":"YulTypedName","src":"32905:12:27","type":""}]},{"nativeSrc":"32945:78:27","nodeType":"YulVariableDeclaration","src":"32945:78:27","value":{"arguments":[{"arguments":[{"arguments":[{"name":"subject","nativeSrc":"32981:7:27","nodeType":"YulIdentifier","src":"32981:7:27"},{"name":"subjectLength","nativeSrc":"32990:13:27","nodeType":"YulIdentifier","src":"32990:13:27"}],"functionName":{"name":"add","nativeSrc":"32977:3:27","nodeType":"YulIdentifier","src":"32977:3:27"},"nativeSrc":"32977:27:27","nodeType":"YulFunctionCall","src":"32977:27:27"},{"name":"searchLength","nativeSrc":"33006:12:27","nodeType":"YulIdentifier","src":"33006:12:27"}],"functionName":{"name":"sub","nativeSrc":"32973:3:27","nodeType":"YulIdentifier","src":"32973:3:27"},"nativeSrc":"32973:46:27","nodeType":"YulFunctionCall","src":"32973:46:27"},{"kind":"number","nativeSrc":"33021:1:27","nodeType":"YulLiteral","src":"33021:1:27","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"32969:3:27","nodeType":"YulIdentifier","src":"32969:3:27"},"nativeSrc":"32969:54:27","nodeType":"YulFunctionCall","src":"32969:54:27"},"variables":[{"name":"subjectSearchEnd","nativeSrc":"32949:16:27","nodeType":"YulTypedName","src":"32949:16:27","type":""}]},{"nativeSrc":"33040:10:27","nodeType":"YulVariableDeclaration","src":"33040:10:27","value":{"kind":"number","nativeSrc":"33049:1:27","nodeType":"YulLiteral","src":"33049:1:27","type":"","value":"0"},"variables":[{"name":"h","nativeSrc":"33044:1:27","nodeType":"YulTypedName","src":"33044:1:27","type":""}]},{"body":{"nativeSrc":"33101:40:27","nodeType":"YulBlock","src":"33101:40:27","statements":[{"nativeSrc":"33103:36:27","nodeType":"YulAssignment","src":"33103:36:27","value":{"arguments":[{"name":"search","nativeSrc":"33118:6:27","nodeType":"YulIdentifier","src":"33118:6:27"},{"name":"searchLength","nativeSrc":"33126:12:27","nodeType":"YulIdentifier","src":"33126:12:27"}],"functionName":{"name":"keccak256","nativeSrc":"33108:9:27","nodeType":"YulIdentifier","src":"33108:9:27"},"nativeSrc":"33108:31:27","nodeType":"YulFunctionCall","src":"33108:31:27"},"variableNames":[{"name":"h","nativeSrc":"33103:1:27","nodeType":"YulIdentifier","src":"33103:1:27"}]}]},"condition":{"arguments":[{"arguments":[{"name":"searchLength","nativeSrc":"33080:12:27","nodeType":"YulIdentifier","src":"33080:12:27"},{"kind":"number","nativeSrc":"33094:4:27","nodeType":"YulLiteral","src":"33094:4:27","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"33077:2:27","nodeType":"YulIdentifier","src":"33077:2:27"},"nativeSrc":"33077:22:27","nodeType":"YulFunctionCall","src":"33077:22:27"}],"functionName":{"name":"iszero","nativeSrc":"33070:6:27","nodeType":"YulIdentifier","src":"33070:6:27"},"nativeSrc":"33070:30:27","nodeType":"YulFunctionCall","src":"33070:30:27"},"nativeSrc":"33067:74:27","nodeType":"YulIf","src":"33067:74:27"},{"nativeSrc":"33158:51:27","nodeType":"YulVariableDeclaration","src":"33158:51:27","value":{"arguments":[{"kind":"number","nativeSrc":"33171:1:27","nodeType":"YulLiteral","src":"33171:1:27","type":"","value":"3"},{"arguments":[{"kind":"number","nativeSrc":"33178:4:27","nodeType":"YulLiteral","src":"33178:4:27","type":"","value":"0x20"},{"arguments":[{"name":"searchLength","nativeSrc":"33188:12:27","nodeType":"YulIdentifier","src":"33188:12:27"},{"kind":"number","nativeSrc":"33202:4:27","nodeType":"YulLiteral","src":"33202:4:27","type":"","value":"0x1f"}],"functionName":{"name":"and","nativeSrc":"33184:3:27","nodeType":"YulIdentifier","src":"33184:3:27"},"nativeSrc":"33184:23:27","nodeType":"YulFunctionCall","src":"33184:23:27"}],"functionName":{"name":"sub","nativeSrc":"33174:3:27","nodeType":"YulIdentifier","src":"33174:3:27"},"nativeSrc":"33174:34:27","nodeType":"YulFunctionCall","src":"33174:34:27"}],"functionName":{"name":"shl","nativeSrc":"33167:3:27","nodeType":"YulIdentifier","src":"33167:3:27"},"nativeSrc":"33167:42:27","nodeType":"YulFunctionCall","src":"33167:42:27"},"variables":[{"name":"m","nativeSrc":"33162:1:27","nodeType":"YulTypedName","src":"33162:1:27","type":""}]},{"nativeSrc":"33226:22:27","nodeType":"YulVariableDeclaration","src":"33226:22:27","value":{"arguments":[{"name":"search","nativeSrc":"33241:6:27","nodeType":"YulIdentifier","src":"33241:6:27"}],"functionName":{"name":"mload","nativeSrc":"33235:5:27","nodeType":"YulIdentifier","src":"33235:5:27"},"nativeSrc":"33235:13:27","nodeType":"YulFunctionCall","src":"33235:13:27"},"variables":[{"name":"s","nativeSrc":"33230:1:27","nodeType":"YulTypedName","src":"33230:1:27","type":""}]},{"body":{"nativeSrc":"33277:1206:27","nodeType":"YulBlock","src":"33277:1206:27","statements":[{"nativeSrc":"33299:23:27","nodeType":"YulVariableDeclaration","src":"33299:23:27","value":{"arguments":[{"name":"subject","nativeSrc":"33314:7:27","nodeType":"YulIdentifier","src":"33314:7:27"}],"functionName":{"name":"mload","nativeSrc":"33308:5:27","nodeType":"YulIdentifier","src":"33308:5:27"},"nativeSrc":"33308:14:27","nodeType":"YulFunctionCall","src":"33308:14:27"},"variables":[{"name":"t","nativeSrc":"33303:1:27","nodeType":"YulTypedName","src":"33303:1:27","type":""}]},{"body":{"nativeSrc":"33497:850:27","nodeType":"YulBlock","src":"33497:850:27","statements":[{"body":{"nativeSrc":"33528:321:27","nodeType":"YulBlock","src":"33528:321:27","statements":[{"body":{"nativeSrc":"33609:214:27","nodeType":"YulBlock","src":"33609:214:27","statements":[{"nativeSrc":"33643:26:27","nodeType":"YulAssignment","src":"33643:26:27","value":{"arguments":[{"name":"subject","nativeSrc":"33658:7:27","nodeType":"YulIdentifier","src":"33658:7:27"},{"kind":"number","nativeSrc":"33667:1:27","nodeType":"YulLiteral","src":"33667:1:27","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"33654:3:27","nodeType":"YulIdentifier","src":"33654:3:27"},"nativeSrc":"33654:15:27","nodeType":"YulFunctionCall","src":"33654:15:27"},"variableNames":[{"name":"subject","nativeSrc":"33643:7:27","nodeType":"YulIdentifier","src":"33643:7:27"}]},{"body":{"nativeSrc":"33743:9:27","nodeType":"YulBlock","src":"33743:9:27","statements":[{"nativeSrc":"33745:5:27","nodeType":"YulBreak","src":"33745:5:27"}]},"condition":{"arguments":[{"arguments":[{"name":"subject","nativeSrc":"33715:7:27","nodeType":"YulIdentifier","src":"33715:7:27"},{"name":"subjectSearchEnd","nativeSrc":"33724:16:27","nodeType":"YulIdentifier","src":"33724:16:27"}],"functionName":{"name":"lt","nativeSrc":"33712:2:27","nodeType":"YulIdentifier","src":"33712:2:27"},"nativeSrc":"33712:29:27","nodeType":"YulFunctionCall","src":"33712:29:27"}],"functionName":{"name":"iszero","nativeSrc":"33705:6:27","nodeType":"YulIdentifier","src":"33705:6:27"},"nativeSrc":"33705:37:27","nodeType":"YulFunctionCall","src":"33705:37:27"},"nativeSrc":"33702:50:27","nodeType":"YulIf","src":"33702:50:27"},{"nativeSrc":"33785:8:27","nodeType":"YulContinue","src":"33785:8:27"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"subject","nativeSrc":"33581:7:27","nodeType":"YulIdentifier","src":"33581:7:27"},{"name":"searchLength","nativeSrc":"33590:12:27","nodeType":"YulIdentifier","src":"33590:12:27"}],"functionName":{"name":"keccak256","nativeSrc":"33571:9:27","nodeType":"YulIdentifier","src":"33571:9:27"},"nativeSrc":"33571:32:27","nodeType":"YulFunctionCall","src":"33571:32:27"},{"name":"h","nativeSrc":"33605:1:27","nodeType":"YulIdentifier","src":"33605:1:27"}],"functionName":{"name":"eq","nativeSrc":"33568:2:27","nodeType":"YulIdentifier","src":"33568:2:27"},"nativeSrc":"33568:39:27","nodeType":"YulFunctionCall","src":"33568:39:27"}],"functionName":{"name":"iszero","nativeSrc":"33561:6:27","nodeType":"YulIdentifier","src":"33561:6:27"},"nativeSrc":"33561:47:27","nodeType":"YulFunctionCall","src":"33561:47:27"},"nativeSrc":"33558:265:27","nodeType":"YulIf","src":"33558:265:27"}]},"condition":{"name":"h","nativeSrc":"33526:1:27","nodeType":"YulIdentifier","src":"33526:1:27"},"nativeSrc":"33523:326:27","nodeType":"YulIf","src":"33523:326:27"},{"expression":{"arguments":[{"name":"result","nativeSrc":"33928:6:27","nodeType":"YulIdentifier","src":"33928:6:27"},{"arguments":[{"name":"subject","nativeSrc":"33940:7:27","nodeType":"YulIdentifier","src":"33940:7:27"},{"name":"subjectStart","nativeSrc":"33949:12:27","nodeType":"YulIdentifier","src":"33949:12:27"}],"functionName":{"name":"sub","nativeSrc":"33936:3:27","nodeType":"YulIdentifier","src":"33936:3:27"},"nativeSrc":"33936:26:27","nodeType":"YulFunctionCall","src":"33936:26:27"}],"functionName":{"name":"mstore","nativeSrc":"33921:6:27","nodeType":"YulIdentifier","src":"33921:6:27"},"nativeSrc":"33921:42:27","nodeType":"YulFunctionCall","src":"33921:42:27"},"nativeSrc":"33921:42:27","nodeType":"YulExpressionStatement","src":"33921:42:27"},{"nativeSrc":"33988:27:27","nodeType":"YulAssignment","src":"33988:27:27","value":{"arguments":[{"name":"result","nativeSrc":"34002:6:27","nodeType":"YulIdentifier","src":"34002:6:27"},{"kind":"number","nativeSrc":"34010:4:27","nodeType":"YulLiteral","src":"34010:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"33998:3:27","nodeType":"YulIdentifier","src":"33998:3:27"},"nativeSrc":"33998:17:27","nodeType":"YulFunctionCall","src":"33998:17:27"},"variableNames":[{"name":"result","nativeSrc":"33988:6:27","nodeType":"YulIdentifier","src":"33988:6:27"}]},{"nativeSrc":"34104:37:27","nodeType":"YulAssignment","src":"34104:37:27","value":{"arguments":[{"name":"subject","nativeSrc":"34119:7:27","nodeType":"YulIdentifier","src":"34119:7:27"},{"name":"searchLength","nativeSrc":"34128:12:27","nodeType":"YulIdentifier","src":"34128:12:27"}],"functionName":{"name":"add","nativeSrc":"34115:3:27","nodeType":"YulIdentifier","src":"34115:3:27"},"nativeSrc":"34115:26:27","nodeType":"YulFunctionCall","src":"34115:26:27"},"variableNames":[{"name":"subject","nativeSrc":"34104:7:27","nodeType":"YulIdentifier","src":"34104:7:27"}]},{"body":{"nativeSrc":"34182:143:27","nodeType":"YulBlock","src":"34182:143:27","statements":[{"body":{"nativeSrc":"34253:9:27","nodeType":"YulBlock","src":"34253:9:27","statements":[{"nativeSrc":"34255:5:27","nodeType":"YulBreak","src":"34255:5:27"}]},"condition":{"arguments":[{"arguments":[{"name":"subject","nativeSrc":"34225:7:27","nodeType":"YulIdentifier","src":"34225:7:27"},{"name":"subjectSearchEnd","nativeSrc":"34234:16:27","nodeType":"YulIdentifier","src":"34234:16:27"}],"functionName":{"name":"lt","nativeSrc":"34222:2:27","nodeType":"YulIdentifier","src":"34222:2:27"},"nativeSrc":"34222:29:27","nodeType":"YulFunctionCall","src":"34222:29:27"}],"functionName":{"name":"iszero","nativeSrc":"34215:6:27","nodeType":"YulIdentifier","src":"34215:6:27"},"nativeSrc":"34215:37:27","nodeType":"YulFunctionCall","src":"34215:37:27"},"nativeSrc":"34212:50:27","nodeType":"YulIf","src":"34212:50:27"},{"nativeSrc":"34291:8:27","nodeType":"YulContinue","src":"34291:8:27"}]},"condition":{"name":"searchLength","nativeSrc":"34169:12:27","nodeType":"YulIdentifier","src":"34169:12:27"},"nativeSrc":"34166:159:27","nodeType":"YulIf","src":"34166:159:27"}]},"condition":{"arguments":[{"arguments":[{"name":"m","nativeSrc":"33482:1:27","nodeType":"YulIdentifier","src":"33482:1:27"},{"arguments":[{"name":"t","nativeSrc":"33489:1:27","nodeType":"YulIdentifier","src":"33489:1:27"},{"name":"s","nativeSrc":"33492:1:27","nodeType":"YulIdentifier","src":"33492:1:27"}],"functionName":{"name":"xor","nativeSrc":"33485:3:27","nodeType":"YulIdentifier","src":"33485:3:27"},"nativeSrc":"33485:9:27","nodeType":"YulFunctionCall","src":"33485:9:27"}],"functionName":{"name":"shr","nativeSrc":"33478:3:27","nodeType":"YulIdentifier","src":"33478:3:27"},"nativeSrc":"33478:17:27","nodeType":"YulFunctionCall","src":"33478:17:27"}],"functionName":{"name":"iszero","nativeSrc":"33471:6:27","nodeType":"YulIdentifier","src":"33471:6:27"},"nativeSrc":"33471:25:27","nodeType":"YulFunctionCall","src":"33471:25:27"},"nativeSrc":"33468:879:27","nodeType":"YulIf","src":"33468:879:27"},{"nativeSrc":"34368:26:27","nodeType":"YulAssignment","src":"34368:26:27","value":{"arguments":[{"name":"subject","nativeSrc":"34383:7:27","nodeType":"YulIdentifier","src":"34383:7:27"},{"kind":"number","nativeSrc":"34392:1:27","nodeType":"YulLiteral","src":"34392:1:27","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"34379:3:27","nodeType":"YulIdentifier","src":"34379:3:27"},"nativeSrc":"34379:15:27","nodeType":"YulFunctionCall","src":"34379:15:27"},"variableNames":[{"name":"subject","nativeSrc":"34368:7:27","nodeType":"YulIdentifier","src":"34368:7:27"}]},{"body":{"nativeSrc":"34456:9:27","nodeType":"YulBlock","src":"34456:9:27","statements":[{"nativeSrc":"34458:5:27","nodeType":"YulBreak","src":"34458:5:27"}]},"condition":{"arguments":[{"arguments":[{"name":"subject","nativeSrc":"34428:7:27","nodeType":"YulIdentifier","src":"34428:7:27"},{"name":"subjectSearchEnd","nativeSrc":"34437:16:27","nodeType":"YulIdentifier","src":"34437:16:27"}],"functionName":{"name":"lt","nativeSrc":"34425:2:27","nodeType":"YulIdentifier","src":"34425:2:27"},"nativeSrc":"34425:29:27","nodeType":"YulFunctionCall","src":"34425:29:27"}],"functionName":{"name":"iszero","nativeSrc":"34418:6:27","nodeType":"YulIdentifier","src":"34418:6:27"},"nativeSrc":"34418:37:27","nodeType":"YulFunctionCall","src":"34418:37:27"},"nativeSrc":"34415:50:27","nodeType":"YulIf","src":"34415:50:27"}]},"condition":{"kind":"number","nativeSrc":"33272:1:27","nodeType":"YulLiteral","src":"33272:1:27","type":"","value":"1"},"nativeSrc":"33265:1218:27","nodeType":"YulForLoop","post":{"nativeSrc":"33274:2:27","nodeType":"YulBlock","src":"33274:2:27","statements":[]},"pre":{"nativeSrc":"33269:2:27","nodeType":"YulBlock","src":"33269:2:27","statements":[]},"src":"33265:1218:27"},{"nativeSrc":"34500:23:27","nodeType":"YulVariableDeclaration","src":"34500:23:27","value":{"name":"result","nativeSrc":"34517:6:27","nodeType":"YulIdentifier","src":"34517:6:27"},"variables":[{"name":"resultEnd","nativeSrc":"34504:9:27","nodeType":"YulTypedName","src":"34504:9:27","type":""}]},{"nativeSrc":"34603:21:27","nodeType":"YulAssignment","src":"34603:21:27","value":{"arguments":[{"kind":"number","nativeSrc":"34619:4:27","nodeType":"YulLiteral","src":"34619:4:27","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"34613:5:27","nodeType":"YulIdentifier","src":"34613:5:27"},"nativeSrc":"34613:11:27","nodeType":"YulFunctionCall","src":"34613:11:27"},"variableNames":[{"name":"result","nativeSrc":"34603:6:27","nodeType":"YulIdentifier","src":"34603:6:27"}]},{"expression":{"arguments":[{"name":"result","nativeSrc":"34697:6:27","nodeType":"YulIdentifier","src":"34697:6:27"},{"arguments":[{"kind":"number","nativeSrc":"34709:1:27","nodeType":"YulLiteral","src":"34709:1:27","type":"","value":"5"},{"arguments":[{"name":"resultEnd","nativeSrc":"34716:9:27","nodeType":"YulIdentifier","src":"34716:9:27"},{"arguments":[{"name":"result","nativeSrc":"34731:6:27","nodeType":"YulIdentifier","src":"34731:6:27"},{"kind":"number","nativeSrc":"34739:4:27","nodeType":"YulLiteral","src":"34739:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"34727:3:27","nodeType":"YulIdentifier","src":"34727:3:27"},"nativeSrc":"34727:17:27","nodeType":"YulFunctionCall","src":"34727:17:27"}],"functionName":{"name":"sub","nativeSrc":"34712:3:27","nodeType":"YulIdentifier","src":"34712:3:27"},"nativeSrc":"34712:33:27","nodeType":"YulFunctionCall","src":"34712:33:27"}],"functionName":{"name":"shr","nativeSrc":"34705:3:27","nodeType":"YulIdentifier","src":"34705:3:27"},"nativeSrc":"34705:41:27","nodeType":"YulFunctionCall","src":"34705:41:27"}],"functionName":{"name":"mstore","nativeSrc":"34690:6:27","nodeType":"YulIdentifier","src":"34690:6:27"},"nativeSrc":"34690:57:27","nodeType":"YulFunctionCall","src":"34690:57:27"},"nativeSrc":"34690:57:27","nodeType":"YulExpressionStatement","src":"34690:57:27"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"34907:4:27","nodeType":"YulLiteral","src":"34907:4:27","type":"","value":"0x40"},{"arguments":[{"name":"resultEnd","nativeSrc":"34917:9:27","nodeType":"YulIdentifier","src":"34917:9:27"},{"kind":"number","nativeSrc":"34928:4:27","nodeType":"YulLiteral","src":"34928:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"34913:3:27","nodeType":"YulIdentifier","src":"34913:3:27"},"nativeSrc":"34913:20:27","nodeType":"YulFunctionCall","src":"34913:20:27"}],"functionName":{"name":"mstore","nativeSrc":"34900:6:27","nodeType":"YulIdentifier","src":"34900:6:27"},"nativeSrc":"34900:34:27","nodeType":"YulFunctionCall","src":"34900:34:27"},"nativeSrc":"34900:34:27","nodeType":"YulExpressionStatement","src":"34900:34:27"}]},"condition":{"arguments":[{"arguments":[{"name":"searchLength","nativeSrc":"32713:12:27","nodeType":"YulIdentifier","src":"32713:12:27"},{"name":"subjectLength","nativeSrc":"32727:13:27","nodeType":"YulIdentifier","src":"32727:13:27"}],"functionName":{"name":"gt","nativeSrc":"32710:2:27","nodeType":"YulIdentifier","src":"32710:2:27"},"nativeSrc":"32710:31:27","nodeType":"YulFunctionCall","src":"32710:31:27"}],"functionName":{"name":"iszero","nativeSrc":"32703:6:27","nodeType":"YulIdentifier","src":"32703:6:27"},"nativeSrc":"32703:39:27","nodeType":"YulFunctionCall","src":"32703:39:27"},"nativeSrc":"32700:2248:27","nodeType":"YulIf","src":"32700:2248:27"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":47438,"isOffset":false,"isSlot":false,"src":"32851:6:27","valueSize":1},{"declaration":47438,"isOffset":false,"isSlot":false,"src":"33928:6:27","valueSize":1},{"declaration":47438,"isOffset":false,"isSlot":false,"src":"33988:6:27","valueSize":1},{"declaration":47438,"isOffset":false,"isSlot":false,"src":"34002:6:27","valueSize":1},{"declaration":47438,"isOffset":false,"isSlot":false,"src":"34517:6:27","valueSize":1},{"declaration":47438,"isOffset":false,"isSlot":false,"src":"34603:6:27","valueSize":1},{"declaration":47438,"isOffset":false,"isSlot":false,"src":"34697:6:27","valueSize":1},{"declaration":47438,"isOffset":false,"isSlot":false,"src":"34731:6:27","valueSize":1},{"declaration":47434,"isOffset":false,"isSlot":false,"src":"32679:6:27","valueSize":1},{"declaration":47434,"isOffset":false,"isSlot":false,"src":"32807:6:27","valueSize":1},{"declaration":47434,"isOffset":false,"isSlot":false,"src":"32821:6:27","valueSize":1},{"declaration":47434,"isOffset":false,"isSlot":false,"src":"33118:6:27","valueSize":1},{"declaration":47434,"isOffset":false,"isSlot":false,"src":"33241:6:27","valueSize":1},{"declaration":47432,"isOffset":false,"isSlot":false,"src":"32632:7:27","valueSize":1},{"declaration":47432,"isOffset":false,"isSlot":false,"src":"32761:7:27","valueSize":1},{"declaration":47432,"isOffset":false,"isSlot":false,"src":"32776:7:27","valueSize":1},{"declaration":47432,"isOffset":false,"isSlot":false,"src":"32921:7:27","valueSize":1},{"declaration":47432,"isOffset":false,"isSlot":false,"src":"32981:7:27","valueSize":1},{"declaration":47432,"isOffset":false,"isSlot":false,"src":"33314:7:27","valueSize":1},{"declaration":47432,"isOffset":false,"isSlot":false,"src":"33581:7:27","valueSize":1},{"declaration":47432,"isOffset":false,"isSlot":false,"src":"33643:7:27","valueSize":1},{"declaration":47432,"isOffset":false,"isSlot":false,"src":"33658:7:27","valueSize":1},{"declaration":47432,"isOffset":false,"isSlot":false,"src":"33715:7:27","valueSize":1},{"declaration":47432,"isOffset":false,"isSlot":false,"src":"33940:7:27","valueSize":1},{"declaration":47432,"isOffset":false,"isSlot":false,"src":"34104:7:27","valueSize":1},{"declaration":47432,"isOffset":false,"isSlot":false,"src":"34119:7:27","valueSize":1},{"declaration":47432,"isOffset":false,"isSlot":false,"src":"34225:7:27","valueSize":1},{"declaration":47432,"isOffset":false,"isSlot":false,"src":"34368:7:27","valueSize":1},{"declaration":47432,"isOffset":false,"isSlot":false,"src":"34383:7:27","valueSize":1},{"declaration":47432,"isOffset":false,"isSlot":false,"src":"34428:7:27","valueSize":1}],"id":47440,"nodeType":"InlineAssembly","src":"32582:2376:27"}]},"documentation":{"id":47430,"nodeType":"StructuredDocumentation","src":"32288:96:27","text":"@dev Returns all the indices of `search` in `subject`.\n The indices are byte offsets."},"implemented":true,"kind":"function","modifiers":[],"name":"indicesOf","nameLocation":"32398:9:27","parameters":{"id":47435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47432,"mutability":"mutable","name":"subject","nameLocation":"32422:7:27","nodeType":"VariableDeclaration","scope":47442,"src":"32408:21:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47431,"name":"string","nodeType":"ElementaryTypeName","src":"32408:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47434,"mutability":"mutable","name":"search","nameLocation":"32445:6:27","nodeType":"VariableDeclaration","scope":47442,"src":"32431:20:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47433,"name":"string","nodeType":"ElementaryTypeName","src":"32431:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32407:45:27"},"returnParameters":{"id":47439,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47438,"mutability":"mutable","name":"result","nameLocation":"32517:6:27","nodeType":"VariableDeclaration","scope":47442,"src":"32500:23:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":47436,"name":"uint256","nodeType":"ElementaryTypeName","src":"32500:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47437,"nodeType":"ArrayTypeName","src":"32500:9:27","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"32499:25:27"},"scope":47666,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47465,"nodeType":"FunctionDefinition","src":"35068:2085:27","nodes":[],"body":{"id":47464,"nodeType":"Block","src":"35206:1947:27","nodes":[],"statements":[{"assignments":[47457],"declarations":[{"constant":false,"id":47457,"mutability":"mutable","name":"indices","nameLocation":"35233:7:27","nodeType":"VariableDeclaration","scope":47464,"src":"35216:24:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":47455,"name":"uint256","nodeType":"ElementaryTypeName","src":"35216:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47456,"nodeType":"ArrayTypeName","src":"35216:9:27","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":47462,"initialValue":{"arguments":[{"id":47459,"name":"subject","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47445,"src":"35253:7:27","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47460,"name":"delimiter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47447,"src":"35262:9:27","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":47458,"name":"indicesOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47442,"src":"35243:9:27","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (uint256[] memory)"}},"id":47461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35243:29:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"VariableDeclarationStatement","src":"35216:56:27"},{"AST":{"nativeSrc":"35334:1813:27","nodeType":"YulBlock","src":"35334:1813:27","statements":[{"nativeSrc":"35348:18:27","nodeType":"YulVariableDeclaration","src":"35348:18:27","value":{"arguments":[{"kind":"number","nativeSrc":"35361:4:27","nodeType":"YulLiteral","src":"35361:4:27","type":"","value":"0x1f"}],"functionName":{"name":"not","nativeSrc":"35357:3:27","nodeType":"YulIdentifier","src":"35357:3:27"},"nativeSrc":"35357:9:27","nodeType":"YulFunctionCall","src":"35357:9:27"},"variables":[{"name":"w","nativeSrc":"35352:1:27","nodeType":"YulTypedName","src":"35352:1:27","type":""}]},{"nativeSrc":"35379:34:27","nodeType":"YulVariableDeclaration","src":"35379:34:27","value":{"arguments":[{"name":"indices","nativeSrc":"35399:7:27","nodeType":"YulIdentifier","src":"35399:7:27"},{"kind":"number","nativeSrc":"35408:4:27","nodeType":"YulLiteral","src":"35408:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"35395:3:27","nodeType":"YulIdentifier","src":"35395:3:27"},"nativeSrc":"35395:18:27","nodeType":"YulFunctionCall","src":"35395:18:27"},"variables":[{"name":"indexPtr","nativeSrc":"35383:8:27","nodeType":"YulTypedName","src":"35383:8:27","type":""}]},{"nativeSrc":"35426:63:27","nodeType":"YulVariableDeclaration","src":"35426:63:27","value":{"arguments":[{"name":"indexPtr","nativeSrc":"35448:8:27","nodeType":"YulIdentifier","src":"35448:8:27"},{"arguments":[{"kind":"number","nativeSrc":"35462:1:27","nodeType":"YulLiteral","src":"35462:1:27","type":"","value":"5"},{"arguments":[{"arguments":[{"name":"indices","nativeSrc":"35475:7:27","nodeType":"YulIdentifier","src":"35475:7:27"}],"functionName":{"name":"mload","nativeSrc":"35469:5:27","nodeType":"YulIdentifier","src":"35469:5:27"},"nativeSrc":"35469:14:27","nodeType":"YulFunctionCall","src":"35469:14:27"},{"kind":"number","nativeSrc":"35485:1:27","nodeType":"YulLiteral","src":"35485:1:27","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"35465:3:27","nodeType":"YulIdentifier","src":"35465:3:27"},"nativeSrc":"35465:22:27","nodeType":"YulFunctionCall","src":"35465:22:27"}],"functionName":{"name":"shl","nativeSrc":"35458:3:27","nodeType":"YulIdentifier","src":"35458:3:27"},"nativeSrc":"35458:30:27","nodeType":"YulFunctionCall","src":"35458:30:27"}],"functionName":{"name":"add","nativeSrc":"35444:3:27","nodeType":"YulIdentifier","src":"35444:3:27"},"nativeSrc":"35444:45:27","nodeType":"YulFunctionCall","src":"35444:45:27"},"variables":[{"name":"indicesEnd","nativeSrc":"35430:10:27","nodeType":"YulTypedName","src":"35430:10:27","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"indicesEnd","nativeSrc":"35513:10:27","nodeType":"YulIdentifier","src":"35513:10:27"},{"name":"w","nativeSrc":"35525:1:27","nodeType":"YulIdentifier","src":"35525:1:27"}],"functionName":{"name":"add","nativeSrc":"35509:3:27","nodeType":"YulIdentifier","src":"35509:3:27"},"nativeSrc":"35509:18:27","nodeType":"YulFunctionCall","src":"35509:18:27"},{"arguments":[{"name":"subject","nativeSrc":"35535:7:27","nodeType":"YulIdentifier","src":"35535:7:27"}],"functionName":{"name":"mload","nativeSrc":"35529:5:27","nodeType":"YulIdentifier","src":"35529:5:27"},"nativeSrc":"35529:14:27","nodeType":"YulFunctionCall","src":"35529:14:27"}],"functionName":{"name":"mstore","nativeSrc":"35502:6:27","nodeType":"YulIdentifier","src":"35502:6:27"},"nativeSrc":"35502:42:27","nodeType":"YulFunctionCall","src":"35502:42:27"},"nativeSrc":"35502:42:27","nodeType":"YulExpressionStatement","src":"35502:42:27"},{"expression":{"arguments":[{"name":"indices","nativeSrc":"35564:7:27","nodeType":"YulIdentifier","src":"35564:7:27"},{"arguments":[{"arguments":[{"name":"indices","nativeSrc":"35583:7:27","nodeType":"YulIdentifier","src":"35583:7:27"}],"functionName":{"name":"mload","nativeSrc":"35577:5:27","nodeType":"YulIdentifier","src":"35577:5:27"},"nativeSrc":"35577:14:27","nodeType":"YulFunctionCall","src":"35577:14:27"},{"kind":"number","nativeSrc":"35593:1:27","nodeType":"YulLiteral","src":"35593:1:27","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"35573:3:27","nodeType":"YulIdentifier","src":"35573:3:27"},"nativeSrc":"35573:22:27","nodeType":"YulFunctionCall","src":"35573:22:27"}],"functionName":{"name":"mstore","nativeSrc":"35557:6:27","nodeType":"YulIdentifier","src":"35557:6:27"},"nativeSrc":"35557:39:27","nodeType":"YulFunctionCall","src":"35557:39:27"},"nativeSrc":"35557:39:27","nodeType":"YulExpressionStatement","src":"35557:39:27"},{"nativeSrc":"35609:18:27","nodeType":"YulVariableDeclaration","src":"35609:18:27","value":{"kind":"number","nativeSrc":"35626:1:27","nodeType":"YulLiteral","src":"35626:1:27","type":"","value":"0"},"variables":[{"name":"prevIndex","nativeSrc":"35613:9:27","nodeType":"YulTypedName","src":"35613:9:27","type":""}]},{"body":{"nativeSrc":"35652:1299:27","nodeType":"YulBlock","src":"35652:1299:27","statements":[{"nativeSrc":"35670:28:27","nodeType":"YulVariableDeclaration","src":"35670:28:27","value":{"arguments":[{"name":"indexPtr","nativeSrc":"35689:8:27","nodeType":"YulIdentifier","src":"35689:8:27"}],"functionName":{"name":"mload","nativeSrc":"35683:5:27","nodeType":"YulIdentifier","src":"35683:5:27"},"nativeSrc":"35683:15:27","nodeType":"YulFunctionCall","src":"35683:15:27"},"variables":[{"name":"index","nativeSrc":"35674:5:27","nodeType":"YulTypedName","src":"35674:5:27","type":""}]},{"expression":{"arguments":[{"name":"indexPtr","nativeSrc":"35722:8:27","nodeType":"YulIdentifier","src":"35722:8:27"},{"kind":"number","nativeSrc":"35732:4:27","nodeType":"YulLiteral","src":"35732:4:27","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"35715:6:27","nodeType":"YulIdentifier","src":"35715:6:27"},"nativeSrc":"35715:22:27","nodeType":"YulFunctionCall","src":"35715:22:27"},"nativeSrc":"35715:22:27","nodeType":"YulExpressionStatement","src":"35715:22:27"},{"body":{"nativeSrc":"35786:983:27","nodeType":"YulBlock","src":"35786:983:27","statements":[{"nativeSrc":"35808:26:27","nodeType":"YulVariableDeclaration","src":"35808:26:27","value":{"arguments":[{"kind":"number","nativeSrc":"35829:4:27","nodeType":"YulLiteral","src":"35829:4:27","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"35823:5:27","nodeType":"YulIdentifier","src":"35823:5:27"},"nativeSrc":"35823:11:27","nodeType":"YulFunctionCall","src":"35823:11:27"},"variables":[{"name":"element","nativeSrc":"35812:7:27","nodeType":"YulTypedName","src":"35812:7:27","type":""}]},{"nativeSrc":"35855:42:27","nodeType":"YulVariableDeclaration","src":"35855:42:27","value":{"arguments":[{"name":"index","nativeSrc":"35880:5:27","nodeType":"YulIdentifier","src":"35880:5:27"},{"name":"prevIndex","nativeSrc":"35887:9:27","nodeType":"YulIdentifier","src":"35887:9:27"}],"functionName":{"name":"sub","nativeSrc":"35876:3:27","nodeType":"YulIdentifier","src":"35876:3:27"},"nativeSrc":"35876:21:27","nodeType":"YulFunctionCall","src":"35876:21:27"},"variables":[{"name":"elementLength","nativeSrc":"35859:13:27","nodeType":"YulTypedName","src":"35859:13:27","type":""}]},{"expression":{"arguments":[{"name":"element","nativeSrc":"35925:7:27","nodeType":"YulIdentifier","src":"35925:7:27"},{"name":"elementLength","nativeSrc":"35934:13:27","nodeType":"YulIdentifier","src":"35934:13:27"}],"functionName":{"name":"mstore","nativeSrc":"35918:6:27","nodeType":"YulIdentifier","src":"35918:6:27"},"nativeSrc":"35918:30:27","nodeType":"YulFunctionCall","src":"35918:30:27"},"nativeSrc":"35918:30:27","nodeType":"YulExpressionStatement","src":"35918:30:27"},{"body":{"nativeSrc":"36097:216:27","nodeType":"YulBlock","src":"36097:216:27","statements":[{"expression":{"arguments":[{"arguments":[{"name":"element","nativeSrc":"36134:7:27","nodeType":"YulIdentifier","src":"36134:7:27"},{"name":"o","nativeSrc":"36143:1:27","nodeType":"YulIdentifier","src":"36143:1:27"}],"functionName":{"name":"add","nativeSrc":"36130:3:27","nodeType":"YulIdentifier","src":"36130:3:27"},"nativeSrc":"36130:15:27","nodeType":"YulFunctionCall","src":"36130:15:27"},{"arguments":[{"arguments":[{"arguments":[{"name":"subject","nativeSrc":"36161:7:27","nodeType":"YulIdentifier","src":"36161:7:27"},{"name":"prevIndex","nativeSrc":"36170:9:27","nodeType":"YulIdentifier","src":"36170:9:27"}],"functionName":{"name":"add","nativeSrc":"36157:3:27","nodeType":"YulIdentifier","src":"36157:3:27"},"nativeSrc":"36157:23:27","nodeType":"YulFunctionCall","src":"36157:23:27"},{"name":"o","nativeSrc":"36182:1:27","nodeType":"YulIdentifier","src":"36182:1:27"}],"functionName":{"name":"add","nativeSrc":"36153:3:27","nodeType":"YulIdentifier","src":"36153:3:27"},"nativeSrc":"36153:31:27","nodeType":"YulFunctionCall","src":"36153:31:27"}],"functionName":{"name":"mload","nativeSrc":"36147:5:27","nodeType":"YulIdentifier","src":"36147:5:27"},"nativeSrc":"36147:38:27","nodeType":"YulFunctionCall","src":"36147:38:27"}],"functionName":{"name":"mstore","nativeSrc":"36123:6:27","nodeType":"YulIdentifier","src":"36123:6:27"},"nativeSrc":"36123:63:27","nodeType":"YulFunctionCall","src":"36123:63:27"},"nativeSrc":"36123:63:27","nodeType":"YulExpressionStatement","src":"36123:63:27"},{"nativeSrc":"36211:14:27","nodeType":"YulAssignment","src":"36211:14:27","value":{"arguments":[{"name":"o","nativeSrc":"36220:1:27","nodeType":"YulIdentifier","src":"36220:1:27"},{"name":"w","nativeSrc":"36223:1:27","nodeType":"YulIdentifier","src":"36223:1:27"}],"functionName":{"name":"add","nativeSrc":"36216:3:27","nodeType":"YulIdentifier","src":"36216:3:27"},"nativeSrc":"36216:9:27","nodeType":"YulFunctionCall","src":"36216:9:27"},"variableNames":[{"name":"o","nativeSrc":"36211:1:27","nodeType":"YulIdentifier","src":"36211:1:27"}]},{"body":{"nativeSrc":"36282:9:27","nodeType":"YulBlock","src":"36282:9:27","statements":[{"nativeSrc":"36284:5:27","nodeType":"YulBreak","src":"36284:5:27"}]},"condition":{"arguments":[{"name":"o","nativeSrc":"36279:1:27","nodeType":"YulIdentifier","src":"36279:1:27"}],"functionName":{"name":"iszero","nativeSrc":"36272:6:27","nodeType":"YulIdentifier","src":"36272:6:27"},"nativeSrc":"36272:9:27","nodeType":"YulFunctionCall","src":"36272:9:27"},"nativeSrc":"36269:22:27","nodeType":"YulIf","src":"36269:22:27"}]},"condition":{"kind":"number","nativeSrc":"36092:1:27","nodeType":"YulLiteral","src":"36092:1:27","type":"","value":"1"},"nativeSrc":"36042:271:27","nodeType":"YulForLoop","post":{"nativeSrc":"36094:2:27","nodeType":"YulBlock","src":"36094:2:27","statements":[]},"pre":{"nativeSrc":"36046:45:27","nodeType":"YulBlock","src":"36046:45:27","statements":[{"nativeSrc":"36048:41:27","nodeType":"YulVariableDeclaration","src":"36048:41:27","value":{"arguments":[{"arguments":[{"name":"elementLength","nativeSrc":"36065:13:27","nodeType":"YulIdentifier","src":"36065:13:27"},{"kind":"number","nativeSrc":"36080:4:27","nodeType":"YulLiteral","src":"36080:4:27","type":"","value":"0x1f"}],"functionName":{"name":"add","nativeSrc":"36061:3:27","nodeType":"YulIdentifier","src":"36061:3:27"},"nativeSrc":"36061:24:27","nodeType":"YulFunctionCall","src":"36061:24:27"},{"name":"w","nativeSrc":"36087:1:27","nodeType":"YulIdentifier","src":"36087:1:27"}],"functionName":{"name":"and","nativeSrc":"36057:3:27","nodeType":"YulIdentifier","src":"36057:3:27"},"nativeSrc":"36057:32:27","nodeType":"YulFunctionCall","src":"36057:32:27"},"variables":[{"name":"o","nativeSrc":"36052:1:27","nodeType":"YulTypedName","src":"36052:1:27","type":""}]}]},"src":"36042:271:27"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"element","nativeSrc":"36407:7:27","nodeType":"YulIdentifier","src":"36407:7:27"},{"kind":"number","nativeSrc":"36416:4:27","nodeType":"YulLiteral","src":"36416:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"36403:3:27","nodeType":"YulIdentifier","src":"36403:3:27"},"nativeSrc":"36403:18:27","nodeType":"YulFunctionCall","src":"36403:18:27"},{"name":"elementLength","nativeSrc":"36423:13:27","nodeType":"YulIdentifier","src":"36423:13:27"}],"functionName":{"name":"add","nativeSrc":"36399:3:27","nodeType":"YulIdentifier","src":"36399:3:27"},"nativeSrc":"36399:38:27","nodeType":"YulFunctionCall","src":"36399:38:27"},{"kind":"number","nativeSrc":"36439:1:27","nodeType":"YulLiteral","src":"36439:1:27","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"36392:6:27","nodeType":"YulIdentifier","src":"36392:6:27"},"nativeSrc":"36392:49:27","nodeType":"YulFunctionCall","src":"36392:49:27"},"nativeSrc":"36392:49:27","nodeType":"YulExpressionStatement","src":"36392:49:27"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"36593:4:27","nodeType":"YulLiteral","src":"36593:4:27","type":"","value":"0x40"},{"arguments":[{"name":"element","nativeSrc":"36603:7:27","nodeType":"YulIdentifier","src":"36603:7:27"},{"arguments":[{"arguments":[{"name":"elementLength","nativeSrc":"36620:13:27","nodeType":"YulIdentifier","src":"36620:13:27"},{"kind":"number","nativeSrc":"36635:4:27","nodeType":"YulLiteral","src":"36635:4:27","type":"","value":"0x3f"}],"functionName":{"name":"add","nativeSrc":"36616:3:27","nodeType":"YulIdentifier","src":"36616:3:27"},"nativeSrc":"36616:24:27","nodeType":"YulFunctionCall","src":"36616:24:27"},{"name":"w","nativeSrc":"36642:1:27","nodeType":"YulIdentifier","src":"36642:1:27"}],"functionName":{"name":"and","nativeSrc":"36612:3:27","nodeType":"YulIdentifier","src":"36612:3:27"},"nativeSrc":"36612:32:27","nodeType":"YulFunctionCall","src":"36612:32:27"}],"functionName":{"name":"add","nativeSrc":"36599:3:27","nodeType":"YulIdentifier","src":"36599:3:27"},"nativeSrc":"36599:46:27","nodeType":"YulFunctionCall","src":"36599:46:27"}],"functionName":{"name":"mstore","nativeSrc":"36586:6:27","nodeType":"YulIdentifier","src":"36586:6:27"},"nativeSrc":"36586:60:27","nodeType":"YulFunctionCall","src":"36586:60:27"},"nativeSrc":"36586:60:27","nodeType":"YulExpressionStatement","src":"36586:60:27"},{"expression":{"arguments":[{"name":"indexPtr","nativeSrc":"36733:8:27","nodeType":"YulIdentifier","src":"36733:8:27"},{"name":"element","nativeSrc":"36743:7:27","nodeType":"YulIdentifier","src":"36743:7:27"}],"functionName":{"name":"mstore","nativeSrc":"36726:6:27","nodeType":"YulIdentifier","src":"36726:6:27"},"nativeSrc":"36726:25:27","nodeType":"YulFunctionCall","src":"36726:25:27"},"nativeSrc":"36726:25:27","nodeType":"YulExpressionStatement","src":"36726:25:27"}]},"condition":{"arguments":[{"arguments":[{"name":"index","nativeSrc":"35767:5:27","nodeType":"YulIdentifier","src":"35767:5:27"},{"name":"prevIndex","nativeSrc":"35774:9:27","nodeType":"YulIdentifier","src":"35774:9:27"}],"functionName":{"name":"eq","nativeSrc":"35764:2:27","nodeType":"YulIdentifier","src":"35764:2:27"},"nativeSrc":"35764:20:27","nodeType":"YulFunctionCall","src":"35764:20:27"}],"functionName":{"name":"iszero","nativeSrc":"35757:6:27","nodeType":"YulIdentifier","src":"35757:6:27"},"nativeSrc":"35757:28:27","nodeType":"YulFunctionCall","src":"35757:28:27"},"nativeSrc":"35754:1015:27","nodeType":"YulIf","src":"35754:1015:27"},{"nativeSrc":"36786:41:27","nodeType":"YulAssignment","src":"36786:41:27","value":{"arguments":[{"name":"index","nativeSrc":"36803:5:27","nodeType":"YulIdentifier","src":"36803:5:27"},{"arguments":[{"name":"delimiter","nativeSrc":"36816:9:27","nodeType":"YulIdentifier","src":"36816:9:27"}],"functionName":{"name":"mload","nativeSrc":"36810:5:27","nodeType":"YulIdentifier","src":"36810:5:27"},"nativeSrc":"36810:16:27","nodeType":"YulFunctionCall","src":"36810:16:27"}],"functionName":{"name":"add","nativeSrc":"36799:3:27","nodeType":"YulIdentifier","src":"36799:3:27"},"nativeSrc":"36799:28:27","nodeType":"YulFunctionCall","src":"36799:28:27"},"variableNames":[{"name":"prevIndex","nativeSrc":"36786:9:27","nodeType":"YulIdentifier","src":"36786:9:27"}]},{"nativeSrc":"36844:31:27","nodeType":"YulAssignment","src":"36844:31:27","value":{"arguments":[{"name":"indexPtr","nativeSrc":"36860:8:27","nodeType":"YulIdentifier","src":"36860:8:27"},{"kind":"number","nativeSrc":"36870:4:27","nodeType":"YulLiteral","src":"36870:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"36856:3:27","nodeType":"YulIdentifier","src":"36856:3:27"},"nativeSrc":"36856:19:27","nodeType":"YulFunctionCall","src":"36856:19:27"},"variableNames":[{"name":"indexPtr","nativeSrc":"36844:8:27","nodeType":"YulIdentifier","src":"36844:8:27"}]},{"body":{"nativeSrc":"36928:9:27","nodeType":"YulBlock","src":"36928:9:27","statements":[{"nativeSrc":"36930:5:27","nodeType":"YulBreak","src":"36930:5:27"}]},"condition":{"arguments":[{"arguments":[{"name":"indexPtr","nativeSrc":"36905:8:27","nodeType":"YulIdentifier","src":"36905:8:27"},{"name":"indicesEnd","nativeSrc":"36915:10:27","nodeType":"YulIdentifier","src":"36915:10:27"}],"functionName":{"name":"lt","nativeSrc":"36902:2:27","nodeType":"YulIdentifier","src":"36902:2:27"},"nativeSrc":"36902:24:27","nodeType":"YulFunctionCall","src":"36902:24:27"}],"functionName":{"name":"iszero","nativeSrc":"36895:6:27","nodeType":"YulIdentifier","src":"36895:6:27"},"nativeSrc":"36895:32:27","nodeType":"YulFunctionCall","src":"36895:32:27"},"nativeSrc":"36892:45:27","nodeType":"YulIf","src":"36892:45:27"}]},"condition":{"kind":"number","nativeSrc":"35647:1:27","nodeType":"YulLiteral","src":"35647:1:27","type":"","value":"1"},"nativeSrc":"35640:1311:27","nodeType":"YulForLoop","post":{"nativeSrc":"35649:2:27","nodeType":"YulBlock","src":"35649:2:27","statements":[]},"pre":{"nativeSrc":"35644:2:27","nodeType":"YulBlock","src":"35644:2:27","statements":[]},"src":"35640:1311:27"},{"nativeSrc":"36964:17:27","nodeType":"YulAssignment","src":"36964:17:27","value":{"name":"indices","nativeSrc":"36974:7:27","nodeType":"YulIdentifier","src":"36974:7:27"},"variableNames":[{"name":"result","nativeSrc":"36964:6:27","nodeType":"YulIdentifier","src":"36964:6:27"}]},{"body":{"nativeSrc":"37022:115:27","nodeType":"YulBlock","src":"37022:115:27","statements":[{"nativeSrc":"37040:28:27","nodeType":"YulAssignment","src":"37040:28:27","value":{"arguments":[{"name":"indices","nativeSrc":"37054:7:27","nodeType":"YulIdentifier","src":"37054:7:27"},{"kind":"number","nativeSrc":"37063:4:27","nodeType":"YulLiteral","src":"37063:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"37050:3:27","nodeType":"YulIdentifier","src":"37050:3:27"},"nativeSrc":"37050:18:27","nodeType":"YulFunctionCall","src":"37050:18:27"},"variableNames":[{"name":"result","nativeSrc":"37040:6:27","nodeType":"YulIdentifier","src":"37040:6:27"}]},{"expression":{"arguments":[{"name":"result","nativeSrc":"37092:6:27","nodeType":"YulIdentifier","src":"37092:6:27"},{"arguments":[{"arguments":[{"name":"indices","nativeSrc":"37110:7:27","nodeType":"YulIdentifier","src":"37110:7:27"}],"functionName":{"name":"mload","nativeSrc":"37104:5:27","nodeType":"YulIdentifier","src":"37104:5:27"},"nativeSrc":"37104:14:27","nodeType":"YulFunctionCall","src":"37104:14:27"},{"kind":"number","nativeSrc":"37120:1:27","nodeType":"YulLiteral","src":"37120:1:27","type":"","value":"2"}],"functionName":{"name":"sub","nativeSrc":"37100:3:27","nodeType":"YulIdentifier","src":"37100:3:27"},"nativeSrc":"37100:22:27","nodeType":"YulFunctionCall","src":"37100:22:27"}],"functionName":{"name":"mstore","nativeSrc":"37085:6:27","nodeType":"YulIdentifier","src":"37085:6:27"},"nativeSrc":"37085:38:27","nodeType":"YulFunctionCall","src":"37085:38:27"},"nativeSrc":"37085:38:27","nodeType":"YulExpressionStatement","src":"37085:38:27"}]},"condition":{"arguments":[{"arguments":[{"name":"delimiter","nativeSrc":"37010:9:27","nodeType":"YulIdentifier","src":"37010:9:27"}],"functionName":{"name":"mload","nativeSrc":"37004:5:27","nodeType":"YulIdentifier","src":"37004:5:27"},"nativeSrc":"37004:16:27","nodeType":"YulFunctionCall","src":"37004:16:27"}],"functionName":{"name":"iszero","nativeSrc":"36997:6:27","nodeType":"YulIdentifier","src":"36997:6:27"},"nativeSrc":"36997:24:27","nodeType":"YulFunctionCall","src":"36997:24:27"},"nativeSrc":"36994:143:27","nodeType":"YulIf","src":"36994:143:27"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":47447,"isOffset":false,"isSlot":false,"src":"36816:9:27","valueSize":1},{"declaration":47447,"isOffset":false,"isSlot":false,"src":"37010:9:27","valueSize":1},{"declaration":47457,"isOffset":false,"isSlot":false,"src":"35399:7:27","valueSize":1},{"declaration":47457,"isOffset":false,"isSlot":false,"src":"35475:7:27","valueSize":1},{"declaration":47457,"isOffset":false,"isSlot":false,"src":"35564:7:27","valueSize":1},{"declaration":47457,"isOffset":false,"isSlot":false,"src":"35583:7:27","valueSize":1},{"declaration":47457,"isOffset":false,"isSlot":false,"src":"36974:7:27","valueSize":1},{"declaration":47457,"isOffset":false,"isSlot":false,"src":"37054:7:27","valueSize":1},{"declaration":47457,"isOffset":false,"isSlot":false,"src":"37110:7:27","valueSize":1},{"declaration":47451,"isOffset":false,"isSlot":false,"src":"36964:6:27","valueSize":1},{"declaration":47451,"isOffset":false,"isSlot":false,"src":"37040:6:27","valueSize":1},{"declaration":47451,"isOffset":false,"isSlot":false,"src":"37092:6:27","valueSize":1},{"declaration":47445,"isOffset":false,"isSlot":false,"src":"35535:7:27","valueSize":1},{"declaration":47445,"isOffset":false,"isSlot":false,"src":"36161:7:27","valueSize":1}],"id":47463,"nodeType":"InlineAssembly","src":"35325:1822:27"}]},"documentation":{"id":47443,"nodeType":"StructuredDocumentation","src":"34970:93:27","text":"@dev Returns a arrays of strings based on the `delimiter` inside of the `subject` string."},"implemented":true,"kind":"function","modifiers":[],"name":"split","nameLocation":"35077:5:27","parameters":{"id":47448,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47445,"mutability":"mutable","name":"subject","nameLocation":"35097:7:27","nodeType":"VariableDeclaration","scope":47465,"src":"35083:21:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47444,"name":"string","nodeType":"ElementaryTypeName","src":"35083:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47447,"mutability":"mutable","name":"delimiter","nameLocation":"35120:9:27","nodeType":"VariableDeclaration","scope":47465,"src":"35106:23:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47446,"name":"string","nodeType":"ElementaryTypeName","src":"35106:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"35082:48:27"},"returnParameters":{"id":47452,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47451,"mutability":"mutable","name":"result","nameLocation":"35194:6:27","nodeType":"VariableDeclaration","scope":47465,"src":"35178:22:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":47449,"name":"string","nodeType":"ElementaryTypeName","src":"35178:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":47450,"nodeType":"ArrayTypeName","src":"35178:8:27","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"35177:24:27"},"scope":47666,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47477,"nodeType":"FunctionDefinition","src":"37304:1365:27","nodes":[],"body":{"id":47476,"nodeType":"Block","src":"37427:1242:27","nodes":[],"statements":[{"AST":{"nativeSrc":"37489:1174:27","nodeType":"YulBlock","src":"37489:1174:27","statements":[{"nativeSrc":"37503:18:27","nodeType":"YulVariableDeclaration","src":"37503:18:27","value":{"arguments":[{"kind":"number","nativeSrc":"37516:4:27","nodeType":"YulLiteral","src":"37516:4:27","type":"","value":"0x1f"}],"functionName":{"name":"not","nativeSrc":"37512:3:27","nodeType":"YulIdentifier","src":"37512:3:27"},"nativeSrc":"37512:9:27","nodeType":"YulFunctionCall","src":"37512:9:27"},"variables":[{"name":"w","nativeSrc":"37507:1:27","nodeType":"YulTypedName","src":"37507:1:27","type":""}]},{"nativeSrc":"37534:21:27","nodeType":"YulAssignment","src":"37534:21:27","value":{"arguments":[{"kind":"number","nativeSrc":"37550:4:27","nodeType":"YulLiteral","src":"37550:4:27","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"37544:5:27","nodeType":"YulIdentifier","src":"37544:5:27"},"nativeSrc":"37544:11:27","nodeType":"YulFunctionCall","src":"37544:11:27"},"variableNames":[{"name":"result","nativeSrc":"37534:6:27","nodeType":"YulIdentifier","src":"37534:6:27"}]},{"nativeSrc":"37568:23:27","nodeType":"YulVariableDeclaration","src":"37568:23:27","value":{"arguments":[{"name":"a","nativeSrc":"37589:1:27","nodeType":"YulIdentifier","src":"37589:1:27"}],"functionName":{"name":"mload","nativeSrc":"37583:5:27","nodeType":"YulIdentifier","src":"37583:5:27"},"nativeSrc":"37583:8:27","nodeType":"YulFunctionCall","src":"37583:8:27"},"variables":[{"name":"aLength","nativeSrc":"37572:7:27","nodeType":"YulTypedName","src":"37572:7:27","type":""}]},{"body":{"nativeSrc":"37708:161:27","nodeType":"YulBlock","src":"37708:161:27","statements":[{"expression":{"arguments":[{"arguments":[{"name":"result","nativeSrc":"37737:6:27","nodeType":"YulIdentifier","src":"37737:6:27"},{"name":"o","nativeSrc":"37745:1:27","nodeType":"YulIdentifier","src":"37745:1:27"}],"functionName":{"name":"add","nativeSrc":"37733:3:27","nodeType":"YulIdentifier","src":"37733:3:27"},"nativeSrc":"37733:14:27","nodeType":"YulFunctionCall","src":"37733:14:27"},{"arguments":[{"arguments":[{"name":"a","nativeSrc":"37759:1:27","nodeType":"YulIdentifier","src":"37759:1:27"},{"name":"o","nativeSrc":"37762:1:27","nodeType":"YulIdentifier","src":"37762:1:27"}],"functionName":{"name":"add","nativeSrc":"37755:3:27","nodeType":"YulIdentifier","src":"37755:3:27"},"nativeSrc":"37755:9:27","nodeType":"YulFunctionCall","src":"37755:9:27"}],"functionName":{"name":"mload","nativeSrc":"37749:5:27","nodeType":"YulIdentifier","src":"37749:5:27"},"nativeSrc":"37749:16:27","nodeType":"YulFunctionCall","src":"37749:16:27"}],"functionName":{"name":"mstore","nativeSrc":"37726:6:27","nodeType":"YulIdentifier","src":"37726:6:27"},"nativeSrc":"37726:40:27","nodeType":"YulFunctionCall","src":"37726:40:27"},"nativeSrc":"37726:40:27","nodeType":"YulExpressionStatement","src":"37726:40:27"},{"nativeSrc":"37783:14:27","nodeType":"YulAssignment","src":"37783:14:27","value":{"arguments":[{"name":"o","nativeSrc":"37792:1:27","nodeType":"YulIdentifier","src":"37792:1:27"},{"name":"w","nativeSrc":"37795:1:27","nodeType":"YulIdentifier","src":"37795:1:27"}],"functionName":{"name":"add","nativeSrc":"37788:3:27","nodeType":"YulIdentifier","src":"37788:3:27"},"nativeSrc":"37788:9:27","nodeType":"YulFunctionCall","src":"37788:9:27"},"variableNames":[{"name":"o","nativeSrc":"37783:1:27","nodeType":"YulIdentifier","src":"37783:1:27"}]},{"body":{"nativeSrc":"37846:9:27","nodeType":"YulBlock","src":"37846:9:27","statements":[{"nativeSrc":"37848:5:27","nodeType":"YulBreak","src":"37848:5:27"}]},"condition":{"arguments":[{"name":"o","nativeSrc":"37843:1:27","nodeType":"YulIdentifier","src":"37843:1:27"}],"functionName":{"name":"iszero","nativeSrc":"37836:6:27","nodeType":"YulIdentifier","src":"37836:6:27"},"nativeSrc":"37836:9:27","nodeType":"YulFunctionCall","src":"37836:9:27"},"nativeSrc":"37833:22:27","nodeType":"YulIf","src":"37833:22:27"}]},"condition":{"kind":"number","nativeSrc":"37703:1:27","nodeType":"YulLiteral","src":"37703:1:27","type":"","value":"1"},"nativeSrc":"37659:210:27","nodeType":"YulForLoop","post":{"nativeSrc":"37705:2:27","nodeType":"YulBlock","src":"37705:2:27","statements":[]},"pre":{"nativeSrc":"37663:39:27","nodeType":"YulBlock","src":"37663:39:27","statements":[{"nativeSrc":"37665:35:27","nodeType":"YulVariableDeclaration","src":"37665:35:27","value":{"arguments":[{"arguments":[{"name":"aLength","nativeSrc":"37682:7:27","nodeType":"YulIdentifier","src":"37682:7:27"},{"kind":"number","nativeSrc":"37691:4:27","nodeType":"YulLiteral","src":"37691:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"37678:3:27","nodeType":"YulIdentifier","src":"37678:3:27"},"nativeSrc":"37678:18:27","nodeType":"YulFunctionCall","src":"37678:18:27"},{"name":"w","nativeSrc":"37698:1:27","nodeType":"YulIdentifier","src":"37698:1:27"}],"functionName":{"name":"and","nativeSrc":"37674:3:27","nodeType":"YulIdentifier","src":"37674:3:27"},"nativeSrc":"37674:26:27","nodeType":"YulFunctionCall","src":"37674:26:27"},"variables":[{"name":"o","nativeSrc":"37669:1:27","nodeType":"YulTypedName","src":"37669:1:27","type":""}]}]},"src":"37659:210:27"},{"nativeSrc":"37882:23:27","nodeType":"YulVariableDeclaration","src":"37882:23:27","value":{"arguments":[{"name":"b","nativeSrc":"37903:1:27","nodeType":"YulIdentifier","src":"37903:1:27"}],"functionName":{"name":"mload","nativeSrc":"37897:5:27","nodeType":"YulIdentifier","src":"37897:5:27"},"nativeSrc":"37897:8:27","nodeType":"YulFunctionCall","src":"37897:8:27"},"variables":[{"name":"bLength","nativeSrc":"37886:7:27","nodeType":"YulTypedName","src":"37886:7:27","type":""}]},{"nativeSrc":"37918:34:27","nodeType":"YulVariableDeclaration","src":"37918:34:27","value":{"arguments":[{"name":"result","nativeSrc":"37936:6:27","nodeType":"YulIdentifier","src":"37936:6:27"},{"name":"aLength","nativeSrc":"37944:7:27","nodeType":"YulIdentifier","src":"37944:7:27"}],"functionName":{"name":"add","nativeSrc":"37932:3:27","nodeType":"YulIdentifier","src":"37932:3:27"},"nativeSrc":"37932:20:27","nodeType":"YulFunctionCall","src":"37932:20:27"},"variables":[{"name":"output","nativeSrc":"37922:6:27","nodeType":"YulTypedName","src":"37922:6:27","type":""}]},{"body":{"nativeSrc":"38069:161:27","nodeType":"YulBlock","src":"38069:161:27","statements":[{"expression":{"arguments":[{"arguments":[{"name":"output","nativeSrc":"38098:6:27","nodeType":"YulIdentifier","src":"38098:6:27"},{"name":"o","nativeSrc":"38106:1:27","nodeType":"YulIdentifier","src":"38106:1:27"}],"functionName":{"name":"add","nativeSrc":"38094:3:27","nodeType":"YulIdentifier","src":"38094:3:27"},"nativeSrc":"38094:14:27","nodeType":"YulFunctionCall","src":"38094:14:27"},{"arguments":[{"arguments":[{"name":"b","nativeSrc":"38120:1:27","nodeType":"YulIdentifier","src":"38120:1:27"},{"name":"o","nativeSrc":"38123:1:27","nodeType":"YulIdentifier","src":"38123:1:27"}],"functionName":{"name":"add","nativeSrc":"38116:3:27","nodeType":"YulIdentifier","src":"38116:3:27"},"nativeSrc":"38116:9:27","nodeType":"YulFunctionCall","src":"38116:9:27"}],"functionName":{"name":"mload","nativeSrc":"38110:5:27","nodeType":"YulIdentifier","src":"38110:5:27"},"nativeSrc":"38110:16:27","nodeType":"YulFunctionCall","src":"38110:16:27"}],"functionName":{"name":"mstore","nativeSrc":"38087:6:27","nodeType":"YulIdentifier","src":"38087:6:27"},"nativeSrc":"38087:40:27","nodeType":"YulFunctionCall","src":"38087:40:27"},"nativeSrc":"38087:40:27","nodeType":"YulExpressionStatement","src":"38087:40:27"},{"nativeSrc":"38144:14:27","nodeType":"YulAssignment","src":"38144:14:27","value":{"arguments":[{"name":"o","nativeSrc":"38153:1:27","nodeType":"YulIdentifier","src":"38153:1:27"},{"name":"w","nativeSrc":"38156:1:27","nodeType":"YulIdentifier","src":"38156:1:27"}],"functionName":{"name":"add","nativeSrc":"38149:3:27","nodeType":"YulIdentifier","src":"38149:3:27"},"nativeSrc":"38149:9:27","nodeType":"YulFunctionCall","src":"38149:9:27"},"variableNames":[{"name":"o","nativeSrc":"38144:1:27","nodeType":"YulIdentifier","src":"38144:1:27"}]},{"body":{"nativeSrc":"38207:9:27","nodeType":"YulBlock","src":"38207:9:27","statements":[{"nativeSrc":"38209:5:27","nodeType":"YulBreak","src":"38209:5:27"}]},"condition":{"arguments":[{"name":"o","nativeSrc":"38204:1:27","nodeType":"YulIdentifier","src":"38204:1:27"}],"functionName":{"name":"iszero","nativeSrc":"38197:6:27","nodeType":"YulIdentifier","src":"38197:6:27"},"nativeSrc":"38197:9:27","nodeType":"YulFunctionCall","src":"38197:9:27"},"nativeSrc":"38194:22:27","nodeType":"YulIf","src":"38194:22:27"}]},"condition":{"kind":"number","nativeSrc":"38064:1:27","nodeType":"YulLiteral","src":"38064:1:27","type":"","value":"1"},"nativeSrc":"38020:210:27","nodeType":"YulForLoop","post":{"nativeSrc":"38066:2:27","nodeType":"YulBlock","src":"38066:2:27","statements":[]},"pre":{"nativeSrc":"38024:39:27","nodeType":"YulBlock","src":"38024:39:27","statements":[{"nativeSrc":"38026:35:27","nodeType":"YulVariableDeclaration","src":"38026:35:27","value":{"arguments":[{"arguments":[{"name":"bLength","nativeSrc":"38043:7:27","nodeType":"YulIdentifier","src":"38043:7:27"},{"kind":"number","nativeSrc":"38052:4:27","nodeType":"YulLiteral","src":"38052:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"38039:3:27","nodeType":"YulIdentifier","src":"38039:3:27"},"nativeSrc":"38039:18:27","nodeType":"YulFunctionCall","src":"38039:18:27"},{"name":"w","nativeSrc":"38059:1:27","nodeType":"YulIdentifier","src":"38059:1:27"}],"functionName":{"name":"and","nativeSrc":"38035:3:27","nodeType":"YulIdentifier","src":"38035:3:27"},"nativeSrc":"38035:26:27","nodeType":"YulFunctionCall","src":"38035:26:27"},"variables":[{"name":"o","nativeSrc":"38030:1:27","nodeType":"YulTypedName","src":"38030:1:27","type":""}]}]},"src":"38020:210:27"},{"nativeSrc":"38243:40:27","nodeType":"YulVariableDeclaration","src":"38243:40:27","value":{"arguments":[{"name":"aLength","nativeSrc":"38266:7:27","nodeType":"YulIdentifier","src":"38266:7:27"},{"name":"bLength","nativeSrc":"38275:7:27","nodeType":"YulIdentifier","src":"38275:7:27"}],"functionName":{"name":"add","nativeSrc":"38262:3:27","nodeType":"YulIdentifier","src":"38262:3:27"},"nativeSrc":"38262:21:27","nodeType":"YulFunctionCall","src":"38262:21:27"},"variables":[{"name":"totalLength","nativeSrc":"38247:11:27","nodeType":"YulTypedName","src":"38247:11:27","type":""}]},{"nativeSrc":"38296:47:27","nodeType":"YulVariableDeclaration","src":"38296:47:27","value":{"arguments":[{"arguments":[{"name":"result","nativeSrc":"38316:6:27","nodeType":"YulIdentifier","src":"38316:6:27"},{"kind":"number","nativeSrc":"38324:4:27","nodeType":"YulLiteral","src":"38324:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"38312:3:27","nodeType":"YulIdentifier","src":"38312:3:27"},"nativeSrc":"38312:17:27","nodeType":"YulFunctionCall","src":"38312:17:27"},{"name":"totalLength","nativeSrc":"38331:11:27","nodeType":"YulIdentifier","src":"38331:11:27"}],"functionName":{"name":"add","nativeSrc":"38308:3:27","nodeType":"YulIdentifier","src":"38308:3:27"},"nativeSrc":"38308:35:27","nodeType":"YulFunctionCall","src":"38308:35:27"},"variables":[{"name":"last","nativeSrc":"38300:4:27","nodeType":"YulTypedName","src":"38300:4:27","type":""}]},{"expression":{"arguments":[{"name":"last","nativeSrc":"38413:4:27","nodeType":"YulIdentifier","src":"38413:4:27"},{"kind":"number","nativeSrc":"38419:1:27","nodeType":"YulLiteral","src":"38419:1:27","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"38406:6:27","nodeType":"YulIdentifier","src":"38406:6:27"},"nativeSrc":"38406:15:27","nodeType":"YulFunctionCall","src":"38406:15:27"},"nativeSrc":"38406:15:27","nodeType":"YulExpressionStatement","src":"38406:15:27"},{"expression":{"arguments":[{"name":"result","nativeSrc":"38475:6:27","nodeType":"YulIdentifier","src":"38475:6:27"},{"name":"totalLength","nativeSrc":"38483:11:27","nodeType":"YulIdentifier","src":"38483:11:27"}],"functionName":{"name":"mstore","nativeSrc":"38468:6:27","nodeType":"YulIdentifier","src":"38468:6:27"},"nativeSrc":"38468:27:27","nodeType":"YulFunctionCall","src":"38468:27:27"},"nativeSrc":"38468:27:27","nodeType":"YulExpressionStatement","src":"38468:27:27"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"38623:4:27","nodeType":"YulLiteral","src":"38623:4:27","type":"","value":"0x40"},{"arguments":[{"arguments":[{"name":"last","nativeSrc":"38637:4:27","nodeType":"YulIdentifier","src":"38637:4:27"},{"kind":"number","nativeSrc":"38643:4:27","nodeType":"YulLiteral","src":"38643:4:27","type":"","value":"0x1f"}],"functionName":{"name":"add","nativeSrc":"38633:3:27","nodeType":"YulIdentifier","src":"38633:3:27"},"nativeSrc":"38633:15:27","nodeType":"YulFunctionCall","src":"38633:15:27"},{"name":"w","nativeSrc":"38650:1:27","nodeType":"YulIdentifier","src":"38650:1:27"}],"functionName":{"name":"and","nativeSrc":"38629:3:27","nodeType":"YulIdentifier","src":"38629:3:27"},"nativeSrc":"38629:23:27","nodeType":"YulFunctionCall","src":"38629:23:27"}],"functionName":{"name":"mstore","nativeSrc":"38616:6:27","nodeType":"YulIdentifier","src":"38616:6:27"},"nativeSrc":"38616:37:27","nodeType":"YulFunctionCall","src":"38616:37:27"},"nativeSrc":"38616:37:27","nodeType":"YulExpressionStatement","src":"38616:37:27"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":47468,"isOffset":false,"isSlot":false,"src":"37589:1:27","valueSize":1},{"declaration":47468,"isOffset":false,"isSlot":false,"src":"37759:1:27","valueSize":1},{"declaration":47470,"isOffset":false,"isSlot":false,"src":"37903:1:27","valueSize":1},{"declaration":47470,"isOffset":false,"isSlot":false,"src":"38120:1:27","valueSize":1},{"declaration":47473,"isOffset":false,"isSlot":false,"src":"37534:6:27","valueSize":1},{"declaration":47473,"isOffset":false,"isSlot":false,"src":"37737:6:27","valueSize":1},{"declaration":47473,"isOffset":false,"isSlot":false,"src":"37936:6:27","valueSize":1},{"declaration":47473,"isOffset":false,"isSlot":false,"src":"38316:6:27","valueSize":1},{"declaration":47473,"isOffset":false,"isSlot":false,"src":"38475:6:27","valueSize":1}],"id":47475,"nodeType":"InlineAssembly","src":"37480:1183:27"}]},"documentation":{"id":47466,"nodeType":"StructuredDocumentation","src":"37159:140:27","text":"@dev Returns a concatenated string of `a` and `b`.\n Cheaper than `string.concat()` and does not de-align the free memory pointer."},"implemented":true,"kind":"function","modifiers":[],"name":"concat","nameLocation":"37313:6:27","parameters":{"id":47471,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47468,"mutability":"mutable","name":"a","nameLocation":"37334:1:27","nodeType":"VariableDeclaration","scope":47477,"src":"37320:15:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47467,"name":"string","nodeType":"ElementaryTypeName","src":"37320:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47470,"mutability":"mutable","name":"b","nameLocation":"37351:1:27","nodeType":"VariableDeclaration","scope":47477,"src":"37337:15:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47469,"name":"string","nodeType":"ElementaryTypeName","src":"37337:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"37319:34:27"},"returnParameters":{"id":47474,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47473,"mutability":"mutable","name":"result","nameLocation":"37415:6:27","nodeType":"VariableDeclaration","scope":47477,"src":"37401:20:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47472,"name":"string","nodeType":"ElementaryTypeName","src":"37401:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"37400:22:27"},"scope":47666,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47489,"nodeType":"FunctionDefinition","src":"38827:1059:27","nodes":[],"body":{"id":47488,"nodeType":"Block","src":"38953:933:27","nodes":[],"statements":[{"AST":{"nativeSrc":"39015:865:27","nodeType":"YulBlock","src":"39015:865:27","statements":[{"nativeSrc":"39029:28:27","nodeType":"YulVariableDeclaration","src":"39029:28:27","value":{"arguments":[{"name":"subject","nativeSrc":"39049:7:27","nodeType":"YulIdentifier","src":"39049:7:27"}],"functionName":{"name":"mload","nativeSrc":"39043:5:27","nodeType":"YulIdentifier","src":"39043:5:27"},"nativeSrc":"39043:14:27","nodeType":"YulFunctionCall","src":"39043:14:27"},"variables":[{"name":"length","nativeSrc":"39033:6:27","nodeType":"YulTypedName","src":"39033:6:27","type":""}]},{"body":{"nativeSrc":"39080:790:27","nodeType":"YulBlock","src":"39080:790:27","statements":[{"nativeSrc":"39098:32:27","nodeType":"YulAssignment","src":"39098:32:27","value":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"39118:4:27","nodeType":"YulLiteral","src":"39118:4:27","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"39112:5:27","nodeType":"YulIdentifier","src":"39112:5:27"},"nativeSrc":"39112:11:27","nodeType":"YulFunctionCall","src":"39112:11:27"},{"kind":"number","nativeSrc":"39125:4:27","nodeType":"YulLiteral","src":"39125:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"39108:3:27","nodeType":"YulIdentifier","src":"39108:3:27"},"nativeSrc":"39108:22:27","nodeType":"YulFunctionCall","src":"39108:22:27"},"variableNames":[{"name":"result","nativeSrc":"39098:6:27","nodeType":"YulIdentifier","src":"39098:6:27"}]},{"nativeSrc":"39147:26:27","nodeType":"YulAssignment","src":"39147:26:27","value":{"arguments":[{"name":"subject","nativeSrc":"39162:7:27","nodeType":"YulIdentifier","src":"39162:7:27"},{"kind":"number","nativeSrc":"39171:1:27","nodeType":"YulLiteral","src":"39171:1:27","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"39158:3:27","nodeType":"YulIdentifier","src":"39158:3:27"},"nativeSrc":"39158:15:27","nodeType":"YulFunctionCall","src":"39158:15:27"},"variableNames":[{"name":"subject","nativeSrc":"39147:7:27","nodeType":"YulIdentifier","src":"39147:7:27"}]},{"nativeSrc":"39190:53:27","nodeType":"YulVariableDeclaration","src":"39190:53:27","value":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"39211:2:27","nodeType":"YulLiteral","src":"39211:2:27","type":"","value":"70"},{"arguments":[{"kind":"number","nativeSrc":"39219:1:27","nodeType":"YulLiteral","src":"39219:1:27","type":"","value":"5"},{"name":"toUpper","nativeSrc":"39222:7:27","nodeType":"YulIdentifier","src":"39222:7:27"}],"functionName":{"name":"shl","nativeSrc":"39215:3:27","nodeType":"YulIdentifier","src":"39215:3:27"},"nativeSrc":"39215:15:27","nodeType":"YulFunctionCall","src":"39215:15:27"}],"functionName":{"name":"add","nativeSrc":"39207:3:27","nodeType":"YulIdentifier","src":"39207:3:27"},"nativeSrc":"39207:24:27","nodeType":"YulFunctionCall","src":"39207:24:27"},{"kind":"number","nativeSrc":"39233:9:27","nodeType":"YulLiteral","src":"39233:9:27","type":"","value":"0x3ffffff"}],"functionName":{"name":"shl","nativeSrc":"39203:3:27","nodeType":"YulIdentifier","src":"39203:3:27"},"nativeSrc":"39203:40:27","nodeType":"YulFunctionCall","src":"39203:40:27"},"variables":[{"name":"flags","nativeSrc":"39194:5:27","nodeType":"YulTypedName","src":"39194:5:27","type":""}]},{"nativeSrc":"39260:15:27","nodeType":"YulVariableDeclaration","src":"39260:15:27","value":{"arguments":[{"kind":"number","nativeSrc":"39273:1:27","nodeType":"YulLiteral","src":"39273:1:27","type":"","value":"0"}],"functionName":{"name":"not","nativeSrc":"39269:3:27","nodeType":"YulIdentifier","src":"39269:3:27"},"nativeSrc":"39269:6:27","nodeType":"YulFunctionCall","src":"39269:6:27"},"variables":[{"name":"w","nativeSrc":"39264:1:27","nodeType":"YulTypedName","src":"39264:1:27","type":""}]},{"body":{"nativeSrc":"39321:238:27","nodeType":"YulBlock","src":"39321:238:27","statements":[{"nativeSrc":"39343:14:27","nodeType":"YulAssignment","src":"39343:14:27","value":{"arguments":[{"name":"o","nativeSrc":"39352:1:27","nodeType":"YulIdentifier","src":"39352:1:27"},{"name":"w","nativeSrc":"39355:1:27","nodeType":"YulIdentifier","src":"39355:1:27"}],"functionName":{"name":"add","nativeSrc":"39348:3:27","nodeType":"YulIdentifier","src":"39348:3:27"},"nativeSrc":"39348:9:27","nodeType":"YulFunctionCall","src":"39348:9:27"},"variableNames":[{"name":"o","nativeSrc":"39343:1:27","nodeType":"YulIdentifier","src":"39343:1:27"}]},{"nativeSrc":"39378:42:27","nodeType":"YulVariableDeclaration","src":"39378:42:27","value":{"arguments":[{"kind":"number","nativeSrc":"39391:4:27","nodeType":"YulLiteral","src":"39391:4:27","type":"","value":"0xff"},{"arguments":[{"arguments":[{"name":"subject","nativeSrc":"39407:7:27","nodeType":"YulIdentifier","src":"39407:7:27"},{"name":"o","nativeSrc":"39416:1:27","nodeType":"YulIdentifier","src":"39416:1:27"}],"functionName":{"name":"add","nativeSrc":"39403:3:27","nodeType":"YulIdentifier","src":"39403:3:27"},"nativeSrc":"39403:15:27","nodeType":"YulFunctionCall","src":"39403:15:27"}],"functionName":{"name":"mload","nativeSrc":"39397:5:27","nodeType":"YulIdentifier","src":"39397:5:27"},"nativeSrc":"39397:22:27","nodeType":"YulFunctionCall","src":"39397:22:27"}],"functionName":{"name":"and","nativeSrc":"39387:3:27","nodeType":"YulIdentifier","src":"39387:3:27"},"nativeSrc":"39387:33:27","nodeType":"YulFunctionCall","src":"39387:33:27"},"variables":[{"name":"b","nativeSrc":"39382:1:27","nodeType":"YulTypedName","src":"39382:1:27","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"result","nativeSrc":"39453:6:27","nodeType":"YulIdentifier","src":"39453:6:27"},{"name":"o","nativeSrc":"39461:1:27","nodeType":"YulIdentifier","src":"39461:1:27"}],"functionName":{"name":"add","nativeSrc":"39449:3:27","nodeType":"YulIdentifier","src":"39449:3:27"},"nativeSrc":"39449:14:27","nodeType":"YulFunctionCall","src":"39449:14:27"},{"arguments":[{"name":"b","nativeSrc":"39469:1:27","nodeType":"YulIdentifier","src":"39469:1:27"},{"arguments":[{"arguments":[{"name":"b","nativeSrc":"39480:1:27","nodeType":"YulIdentifier","src":"39480:1:27"},{"name":"flags","nativeSrc":"39483:5:27","nodeType":"YulIdentifier","src":"39483:5:27"}],"functionName":{"name":"shr","nativeSrc":"39476:3:27","nodeType":"YulIdentifier","src":"39476:3:27"},"nativeSrc":"39476:13:27","nodeType":"YulFunctionCall","src":"39476:13:27"},{"kind":"number","nativeSrc":"39491:4:27","nodeType":"YulLiteral","src":"39491:4:27","type":"","value":"0x20"}],"functionName":{"name":"and","nativeSrc":"39472:3:27","nodeType":"YulIdentifier","src":"39472:3:27"},"nativeSrc":"39472:24:27","nodeType":"YulFunctionCall","src":"39472:24:27"}],"functionName":{"name":"xor","nativeSrc":"39465:3:27","nodeType":"YulIdentifier","src":"39465:3:27"},"nativeSrc":"39465:32:27","nodeType":"YulFunctionCall","src":"39465:32:27"}],"functionName":{"name":"mstore8","nativeSrc":"39441:7:27","nodeType":"YulIdentifier","src":"39441:7:27"},"nativeSrc":"39441:57:27","nodeType":"YulFunctionCall","src":"39441:57:27"},"nativeSrc":"39441:57:27","nodeType":"YulExpressionStatement","src":"39441:57:27"},{"body":{"nativeSrc":"39532:9:27","nodeType":"YulBlock","src":"39532:9:27","statements":[{"nativeSrc":"39534:5:27","nodeType":"YulBreak","src":"39534:5:27"}]},"condition":{"arguments":[{"name":"o","nativeSrc":"39529:1:27","nodeType":"YulIdentifier","src":"39529:1:27"}],"functionName":{"name":"iszero","nativeSrc":"39522:6:27","nodeType":"YulIdentifier","src":"39522:6:27"},"nativeSrc":"39522:9:27","nodeType":"YulFunctionCall","src":"39522:9:27"},"nativeSrc":"39519:22:27","nodeType":"YulIf","src":"39519:22:27"}]},"condition":{"kind":"number","nativeSrc":"39316:1:27","nodeType":"YulLiteral","src":"39316:1:27","type":"","value":"1"},"nativeSrc":"39292:267:27","nodeType":"YulForLoop","post":{"nativeSrc":"39318:2:27","nodeType":"YulBlock","src":"39318:2:27","statements":[]},"pre":{"nativeSrc":"39296:19:27","nodeType":"YulBlock","src":"39296:19:27","statements":[{"nativeSrc":"39298:15:27","nodeType":"YulVariableDeclaration","src":"39298:15:27","value":{"name":"length","nativeSrc":"39307:6:27","nodeType":"YulIdentifier","src":"39307:6:27"},"variables":[{"name":"o","nativeSrc":"39302:1:27","nodeType":"YulTypedName","src":"39302:1:27","type":""}]}]},"src":"39292:267:27"},{"nativeSrc":"39576:21:27","nodeType":"YulAssignment","src":"39576:21:27","value":{"arguments":[{"kind":"number","nativeSrc":"39592:4:27","nodeType":"YulLiteral","src":"39592:4:27","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"39586:5:27","nodeType":"YulIdentifier","src":"39586:5:27"},"nativeSrc":"39586:11:27","nodeType":"YulFunctionCall","src":"39586:11:27"},"variableNames":[{"name":"result","nativeSrc":"39576:6:27","nodeType":"YulIdentifier","src":"39576:6:27"}]},{"expression":{"arguments":[{"name":"result","nativeSrc":"39621:6:27","nodeType":"YulIdentifier","src":"39621:6:27"},{"name":"length","nativeSrc":"39629:6:27","nodeType":"YulIdentifier","src":"39629:6:27"}],"functionName":{"name":"mstore","nativeSrc":"39614:6:27","nodeType":"YulIdentifier","src":"39614:6:27"},"nativeSrc":"39614:22:27","nodeType":"YulFunctionCall","src":"39614:22:27"},"nativeSrc":"39614:22:27","nodeType":"YulExpressionStatement","src":"39614:22:27"},{"nativeSrc":"39674:42:27","nodeType":"YulVariableDeclaration","src":"39674:42:27","value":{"arguments":[{"arguments":[{"name":"result","nativeSrc":"39694:6:27","nodeType":"YulIdentifier","src":"39694:6:27"},{"kind":"number","nativeSrc":"39702:4:27","nodeType":"YulLiteral","src":"39702:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"39690:3:27","nodeType":"YulIdentifier","src":"39690:3:27"},"nativeSrc":"39690:17:27","nodeType":"YulFunctionCall","src":"39690:17:27"},{"name":"length","nativeSrc":"39709:6:27","nodeType":"YulIdentifier","src":"39709:6:27"}],"functionName":{"name":"add","nativeSrc":"39686:3:27","nodeType":"YulIdentifier","src":"39686:3:27"},"nativeSrc":"39686:30:27","nodeType":"YulFunctionCall","src":"39686:30:27"},"variables":[{"name":"last","nativeSrc":"39678:4:27","nodeType":"YulTypedName","src":"39678:4:27","type":""}]},{"expression":{"arguments":[{"name":"last","nativeSrc":"39740:4:27","nodeType":"YulIdentifier","src":"39740:4:27"},{"kind":"number","nativeSrc":"39746:1:27","nodeType":"YulLiteral","src":"39746:1:27","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"39733:6:27","nodeType":"YulIdentifier","src":"39733:6:27"},"nativeSrc":"39733:15:27","nodeType":"YulFunctionCall","src":"39733:15:27"},"nativeSrc":"39733:15:27","nodeType":"YulExpressionStatement","src":"39733:15:27"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"39810:4:27","nodeType":"YulLiteral","src":"39810:4:27","type":"","value":"0x40"},{"arguments":[{"name":"last","nativeSrc":"39820:4:27","nodeType":"YulIdentifier","src":"39820:4:27"},{"kind":"number","nativeSrc":"39826:4:27","nodeType":"YulLiteral","src":"39826:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"39816:3:27","nodeType":"YulIdentifier","src":"39816:3:27"},"nativeSrc":"39816:15:27","nodeType":"YulFunctionCall","src":"39816:15:27"}],"functionName":{"name":"mstore","nativeSrc":"39803:6:27","nodeType":"YulIdentifier","src":"39803:6:27"},"nativeSrc":"39803:29:27","nodeType":"YulFunctionCall","src":"39803:29:27"},"nativeSrc":"39803:29:27","nodeType":"YulExpressionStatement","src":"39803:29:27"}]},"condition":{"name":"length","nativeSrc":"39073:6:27","nodeType":"YulIdentifier","src":"39073:6:27"},"nativeSrc":"39070:800:27","nodeType":"YulIf","src":"39070:800:27"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":47485,"isOffset":false,"isSlot":false,"src":"39098:6:27","valueSize":1},{"declaration":47485,"isOffset":false,"isSlot":false,"src":"39453:6:27","valueSize":1},{"declaration":47485,"isOffset":false,"isSlot":false,"src":"39576:6:27","valueSize":1},{"declaration":47485,"isOffset":false,"isSlot":false,"src":"39621:6:27","valueSize":1},{"declaration":47485,"isOffset":false,"isSlot":false,"src":"39694:6:27","valueSize":1},{"declaration":47480,"isOffset":false,"isSlot":false,"src":"39049:7:27","valueSize":1},{"declaration":47480,"isOffset":false,"isSlot":false,"src":"39147:7:27","valueSize":1},{"declaration":47480,"isOffset":false,"isSlot":false,"src":"39162:7:27","valueSize":1},{"declaration":47480,"isOffset":false,"isSlot":false,"src":"39407:7:27","valueSize":1},{"declaration":47482,"isOffset":false,"isSlot":false,"src":"39222:7:27","valueSize":1}],"id":47487,"nodeType":"InlineAssembly","src":"39006:874:27"}]},"documentation":{"id":47478,"nodeType":"StructuredDocumentation","src":"38675:147:27","text":"@dev Returns a copy of the string in either lowercase or UPPERCASE.\n WARNING! This function is only compatible with 7-bit ASCII strings."},"implemented":true,"kind":"function","modifiers":[],"name":"toCase","nameLocation":"38836:6:27","parameters":{"id":47483,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47480,"mutability":"mutable","name":"subject","nameLocation":"38857:7:27","nodeType":"VariableDeclaration","scope":47489,"src":"38843:21:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47479,"name":"string","nodeType":"ElementaryTypeName","src":"38843:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47482,"mutability":"mutable","name":"toUpper","nameLocation":"38871:7:27","nodeType":"VariableDeclaration","scope":47489,"src":"38866:12:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47481,"name":"bool","nodeType":"ElementaryTypeName","src":"38866:4:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"38842:37:27"},"returnParameters":{"id":47486,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47485,"mutability":"mutable","name":"result","nameLocation":"38941:6:27","nodeType":"VariableDeclaration","scope":47489,"src":"38927:20:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47484,"name":"string","nodeType":"ElementaryTypeName","src":"38927:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"38926:22:27"},"scope":47666,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47499,"nodeType":"FunctionDefinition","src":"40019:458:27","nodes":[],"body":{"id":47498,"nodeType":"Block","src":"40100:377:27","nodes":[],"statements":[{"AST":{"nativeSrc":"40162:309:27","nodeType":"YulBlock","src":"40162:309:27","statements":[{"nativeSrc":"40176:21:27","nodeType":"YulAssignment","src":"40176:21:27","value":{"arguments":[{"kind":"number","nativeSrc":"40192:4:27","nodeType":"YulLiteral","src":"40192:4:27","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"40186:5:27","nodeType":"YulIdentifier","src":"40186:5:27"},"nativeSrc":"40186:11:27","nodeType":"YulFunctionCall","src":"40186:11:27"},"variableNames":[{"name":"result","nativeSrc":"40176:6:27","nodeType":"YulIdentifier","src":"40176:6:27"}]},{"nativeSrc":"40210:10:27","nodeType":"YulVariableDeclaration","src":"40210:10:27","value":{"kind":"number","nativeSrc":"40219:1:27","nodeType":"YulLiteral","src":"40219:1:27","type":"","value":"0"},"variables":[{"name":"n","nativeSrc":"40214:1:27","nodeType":"YulTypedName","src":"40214:1:27","type":""}]},{"body":{"nativeSrc":"40270:2:27","nodeType":"YulBlock","src":"40270:2:27","statements":[]},"condition":{"arguments":[{"name":"n","nativeSrc":"40245:1:27","nodeType":"YulIdentifier","src":"40245:1:27"},{"name":"s","nativeSrc":"40248:1:27","nodeType":"YulIdentifier","src":"40248:1:27"}],"functionName":{"name":"byte","nativeSrc":"40240:4:27","nodeType":"YulIdentifier","src":"40240:4:27"},"nativeSrc":"40240:10:27","nodeType":"YulFunctionCall","src":"40240:10:27"},"nativeSrc":"40233:39:27","nodeType":"YulForLoop","post":{"nativeSrc":"40251:18:27","nodeType":"YulBlock","src":"40251:18:27","statements":[{"nativeSrc":"40253:14:27","nodeType":"YulAssignment","src":"40253:14:27","value":{"arguments":[{"name":"n","nativeSrc":"40262:1:27","nodeType":"YulIdentifier","src":"40262:1:27"},{"kind":"number","nativeSrc":"40265:1:27","nodeType":"YulLiteral","src":"40265:1:27","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"40258:3:27","nodeType":"YulIdentifier","src":"40258:3:27"},"nativeSrc":"40258:9:27","nodeType":"YulFunctionCall","src":"40258:9:27"},"variableNames":[{"name":"n","nativeSrc":"40253:1:27","nodeType":"YulIdentifier","src":"40253:1:27"}]}]},"pre":{"nativeSrc":"40237:2:27","nodeType":"YulBlock","src":"40237:2:27","statements":[]},"src":"40233:39:27"},{"expression":{"arguments":[{"name":"result","nativeSrc":"40310:6:27","nodeType":"YulIdentifier","src":"40310:6:27"},{"name":"n","nativeSrc":"40318:1:27","nodeType":"YulIdentifier","src":"40318:1:27"}],"functionName":{"name":"mstore","nativeSrc":"40303:6:27","nodeType":"YulIdentifier","src":"40303:6:27"},"nativeSrc":"40303:17:27","nodeType":"YulFunctionCall","src":"40303:17:27"},"nativeSrc":"40303:17:27","nodeType":"YulExpressionStatement","src":"40303:17:27"},{"nativeSrc":"40333:26:27","nodeType":"YulVariableDeclaration","src":"40333:26:27","value":{"arguments":[{"name":"result","nativeSrc":"40346:6:27","nodeType":"YulIdentifier","src":"40346:6:27"},{"kind":"number","nativeSrc":"40354:4:27","nodeType":"YulLiteral","src":"40354:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"40342:3:27","nodeType":"YulIdentifier","src":"40342:3:27"},"nativeSrc":"40342:17:27","nodeType":"YulFunctionCall","src":"40342:17:27"},"variables":[{"name":"o","nativeSrc":"40337:1:27","nodeType":"YulTypedName","src":"40337:1:27","type":""}]},{"expression":{"arguments":[{"name":"o","nativeSrc":"40379:1:27","nodeType":"YulIdentifier","src":"40379:1:27"},{"name":"s","nativeSrc":"40382:1:27","nodeType":"YulIdentifier","src":"40382:1:27"}],"functionName":{"name":"mstore","nativeSrc":"40372:6:27","nodeType":"YulIdentifier","src":"40372:6:27"},"nativeSrc":"40372:12:27","nodeType":"YulFunctionCall","src":"40372:12:27"},"nativeSrc":"40372:12:27","nodeType":"YulExpressionStatement","src":"40372:12:27"},{"expression":{"arguments":[{"arguments":[{"name":"o","nativeSrc":"40408:1:27","nodeType":"YulIdentifier","src":"40408:1:27"},{"name":"n","nativeSrc":"40411:1:27","nodeType":"YulIdentifier","src":"40411:1:27"}],"functionName":{"name":"add","nativeSrc":"40404:3:27","nodeType":"YulIdentifier","src":"40404:3:27"},"nativeSrc":"40404:9:27","nodeType":"YulFunctionCall","src":"40404:9:27"},{"kind":"number","nativeSrc":"40415:1:27","nodeType":"YulLiteral","src":"40415:1:27","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"40397:6:27","nodeType":"YulIdentifier","src":"40397:6:27"},"nativeSrc":"40397:20:27","nodeType":"YulFunctionCall","src":"40397:20:27"},"nativeSrc":"40397:20:27","nodeType":"YulExpressionStatement","src":"40397:20:27"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"40437:4:27","nodeType":"YulLiteral","src":"40437:4:27","type":"","value":"0x40"},{"arguments":[{"name":"result","nativeSrc":"40447:6:27","nodeType":"YulIdentifier","src":"40447:6:27"},{"kind":"number","nativeSrc":"40455:4:27","nodeType":"YulLiteral","src":"40455:4:27","type":"","value":"0x40"}],"functionName":{"name":"add","nativeSrc":"40443:3:27","nodeType":"YulIdentifier","src":"40443:3:27"},"nativeSrc":"40443:17:27","nodeType":"YulFunctionCall","src":"40443:17:27"}],"functionName":{"name":"mstore","nativeSrc":"40430:6:27","nodeType":"YulIdentifier","src":"40430:6:27"},"nativeSrc":"40430:31:27","nodeType":"YulFunctionCall","src":"40430:31:27"},"nativeSrc":"40430:31:27","nodeType":"YulExpressionStatement","src":"40430:31:27"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":47495,"isOffset":false,"isSlot":false,"src":"40176:6:27","valueSize":1},{"declaration":47495,"isOffset":false,"isSlot":false,"src":"40310:6:27","valueSize":1},{"declaration":47495,"isOffset":false,"isSlot":false,"src":"40346:6:27","valueSize":1},{"declaration":47495,"isOffset":false,"isSlot":false,"src":"40447:6:27","valueSize":1},{"declaration":47492,"isOffset":false,"isSlot":false,"src":"40248:1:27","valueSize":1},{"declaration":47492,"isOffset":false,"isSlot":false,"src":"40382:1:27","valueSize":1}],"id":47497,"nodeType":"InlineAssembly","src":"40153:318:27"}]},"documentation":{"id":47490,"nodeType":"StructuredDocumentation","src":"39892:122:27","text":"@dev Returns a string from a small bytes32 string.\n `s` must be null-terminated, or behavior will be undefined."},"implemented":true,"kind":"function","modifiers":[],"name":"fromSmallString","nameLocation":"40028:15:27","parameters":{"id":47493,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47492,"mutability":"mutable","name":"s","nameLocation":"40052:1:27","nodeType":"VariableDeclaration","scope":47499,"src":"40044:9:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":47491,"name":"bytes32","nodeType":"ElementaryTypeName","src":"40044:7:27","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"40043:11:27"},"returnParameters":{"id":47496,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47495,"mutability":"mutable","name":"result","nameLocation":"40092:6:27","nodeType":"VariableDeclaration","scope":47499,"src":"40078:20:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47494,"name":"string","nodeType":"ElementaryTypeName","src":"40078:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"40077:22:27"},"scope":47666,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47509,"nodeType":"FunctionDefinition","src":"40573:339:27","nodes":[],"body":{"id":47508,"nodeType":"Block","src":"40653:259:27","nodes":[],"statements":[{"AST":{"nativeSrc":"40715:191:27","nodeType":"YulBlock","src":"40715:191:27","statements":[{"body":{"nativeSrc":"40781:2:27","nodeType":"YulBlock","src":"40781:2:27","statements":[]},"condition":{"arguments":[{"name":"result","nativeSrc":"40741:6:27","nodeType":"YulIdentifier","src":"40741:6:27"},{"name":"s","nativeSrc":"40749:1:27","nodeType":"YulIdentifier","src":"40749:1:27"}],"functionName":{"name":"byte","nativeSrc":"40736:4:27","nodeType":"YulIdentifier","src":"40736:4:27"},"nativeSrc":"40736:15:27","nodeType":"YulFunctionCall","src":"40736:15:27"},"nativeSrc":"40729:54:27","nodeType":"YulForLoop","post":{"nativeSrc":"40752:28:27","nodeType":"YulBlock","src":"40752:28:27","statements":[{"nativeSrc":"40754:24:27","nodeType":"YulAssignment","src":"40754:24:27","value":{"arguments":[{"name":"result","nativeSrc":"40768:6:27","nodeType":"YulIdentifier","src":"40768:6:27"},{"kind":"number","nativeSrc":"40776:1:27","nodeType":"YulLiteral","src":"40776:1:27","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"40764:3:27","nodeType":"YulIdentifier","src":"40764:3:27"},"nativeSrc":"40764:14:27","nodeType":"YulFunctionCall","src":"40764:14:27"},"variableNames":[{"name":"result","nativeSrc":"40754:6:27","nodeType":"YulIdentifier","src":"40754:6:27"}]}]},"pre":{"nativeSrc":"40733:2:27","nodeType":"YulBlock","src":"40733:2:27","statements":[]},"src":"40729:54:27"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"40821:4:27","nodeType":"YulLiteral","src":"40821:4:27","type":"","value":"0x00"},{"name":"s","nativeSrc":"40827:1:27","nodeType":"YulIdentifier","src":"40827:1:27"}],"functionName":{"name":"mstore","nativeSrc":"40814:6:27","nodeType":"YulIdentifier","src":"40814:6:27"},"nativeSrc":"40814:15:27","nodeType":"YulFunctionCall","src":"40814:15:27"},"nativeSrc":"40814:15:27","nodeType":"YulExpressionStatement","src":"40814:15:27"},{"expression":{"arguments":[{"name":"result","nativeSrc":"40849:6:27","nodeType":"YulIdentifier","src":"40849:6:27"},{"kind":"number","nativeSrc":"40857:4:27","nodeType":"YulLiteral","src":"40857:4:27","type":"","value":"0x00"}],"functionName":{"name":"mstore","nativeSrc":"40842:6:27","nodeType":"YulIdentifier","src":"40842:6:27"},"nativeSrc":"40842:20:27","nodeType":"YulFunctionCall","src":"40842:20:27"},"nativeSrc":"40842:20:27","nodeType":"YulExpressionStatement","src":"40842:20:27"},{"nativeSrc":"40875:21:27","nodeType":"YulAssignment","src":"40875:21:27","value":{"arguments":[{"kind":"number","nativeSrc":"40891:4:27","nodeType":"YulLiteral","src":"40891:4:27","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"40885:5:27","nodeType":"YulIdentifier","src":"40885:5:27"},"nativeSrc":"40885:11:27","nodeType":"YulFunctionCall","src":"40885:11:27"},"variableNames":[{"name":"result","nativeSrc":"40875:6:27","nodeType":"YulIdentifier","src":"40875:6:27"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":47505,"isOffset":false,"isSlot":false,"src":"40741:6:27","valueSize":1},{"declaration":47505,"isOffset":false,"isSlot":false,"src":"40754:6:27","valueSize":1},{"declaration":47505,"isOffset":false,"isSlot":false,"src":"40768:6:27","valueSize":1},{"declaration":47505,"isOffset":false,"isSlot":false,"src":"40849:6:27","valueSize":1},{"declaration":47505,"isOffset":false,"isSlot":false,"src":"40875:6:27","valueSize":1},{"declaration":47502,"isOffset":false,"isSlot":false,"src":"40749:1:27","valueSize":1},{"declaration":47502,"isOffset":false,"isSlot":false,"src":"40827:1:27","valueSize":1}],"id":47507,"nodeType":"InlineAssembly","src":"40706:200:27"}]},"documentation":{"id":47500,"nodeType":"StructuredDocumentation","src":"40483:85:27","text":"@dev Returns the small string, with all bytes after the first null byte zeroized."},"implemented":true,"kind":"function","modifiers":[],"name":"normalizeSmallString","nameLocation":"40582:20:27","parameters":{"id":47503,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47502,"mutability":"mutable","name":"s","nameLocation":"40611:1:27","nodeType":"VariableDeclaration","scope":47509,"src":"40603:9:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":47501,"name":"bytes32","nodeType":"ElementaryTypeName","src":"40603:7:27","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"40602:11:27"},"returnParameters":{"id":47506,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47505,"mutability":"mutable","name":"result","nameLocation":"40645:6:27","nodeType":"VariableDeclaration","scope":47509,"src":"40637:14:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":47504,"name":"bytes32","nodeType":"ElementaryTypeName","src":"40637:7:27","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"40636:16:27"},"scope":47666,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47519,"nodeType":"FunctionDefinition","src":"40996:422:27","nodes":[],"body":{"id":47518,"nodeType":"Block","src":"41075:343:27","nodes":[],"statements":[{"AST":{"nativeSrc":"41137:275:27","nodeType":"YulBlock","src":"41137:275:27","statements":[{"nativeSrc":"41151:18:27","nodeType":"YulAssignment","src":"41151:18:27","value":{"arguments":[{"name":"s","nativeSrc":"41167:1:27","nodeType":"YulIdentifier","src":"41167:1:27"}],"functionName":{"name":"mload","nativeSrc":"41161:5:27","nodeType":"YulIdentifier","src":"41161:5:27"},"nativeSrc":"41161:8:27","nodeType":"YulFunctionCall","src":"41161:8:27"},"variableNames":[{"name":"result","nativeSrc":"41151:6:27","nodeType":"YulIdentifier","src":"41151:6:27"}]},{"body":{"nativeSrc":"41208:120:27","nodeType":"YulBlock","src":"41208:120:27","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"41233:4:27","nodeType":"YulLiteral","src":"41233:4:27","type":"","value":"0x00"},{"kind":"number","nativeSrc":"41239:10:27","nodeType":"YulLiteral","src":"41239:10:27","type":"","value":"0xec92f9a3"}],"functionName":{"name":"mstore","nativeSrc":"41226:6:27","nodeType":"YulIdentifier","src":"41226:6:27"},"nativeSrc":"41226:24:27","nodeType":"YulFunctionCall","src":"41226:24:27"},"nativeSrc":"41226:24:27","nodeType":"YulExpressionStatement","src":"41226:24:27"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"41303:4:27","nodeType":"YulLiteral","src":"41303:4:27","type":"","value":"0x1c"},{"kind":"number","nativeSrc":"41309:4:27","nodeType":"YulLiteral","src":"41309:4:27","type":"","value":"0x04"}],"functionName":{"name":"revert","nativeSrc":"41296:6:27","nodeType":"YulIdentifier","src":"41296:6:27"},"nativeSrc":"41296:18:27","nodeType":"YulFunctionCall","src":"41296:18:27"},"nativeSrc":"41296:18:27","nodeType":"YulExpressionStatement","src":"41296:18:27"}]},"condition":{"arguments":[{"arguments":[{"name":"result","nativeSrc":"41195:6:27","nodeType":"YulIdentifier","src":"41195:6:27"},{"kind":"number","nativeSrc":"41203:2:27","nodeType":"YulLiteral","src":"41203:2:27","type":"","value":"33"}],"functionName":{"name":"lt","nativeSrc":"41192:2:27","nodeType":"YulIdentifier","src":"41192:2:27"},"nativeSrc":"41192:14:27","nodeType":"YulFunctionCall","src":"41192:14:27"}],"functionName":{"name":"iszero","nativeSrc":"41185:6:27","nodeType":"YulIdentifier","src":"41185:6:27"},"nativeSrc":"41185:22:27","nodeType":"YulFunctionCall","src":"41185:22:27"},"nativeSrc":"41182:146:27","nodeType":"YulIf","src":"41182:146:27"},{"nativeSrc":"41341:61:27","nodeType":"YulAssignment","src":"41341:61:27","value":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"41359:1:27","nodeType":"YulLiteral","src":"41359:1:27","type":"","value":"3"},{"arguments":[{"kind":"number","nativeSrc":"41366:2:27","nodeType":"YulLiteral","src":"41366:2:27","type":"","value":"32"},{"name":"result","nativeSrc":"41370:6:27","nodeType":"YulIdentifier","src":"41370:6:27"}],"functionName":{"name":"sub","nativeSrc":"41362:3:27","nodeType":"YulIdentifier","src":"41362:3:27"},"nativeSrc":"41362:15:27","nodeType":"YulFunctionCall","src":"41362:15:27"}],"functionName":{"name":"shl","nativeSrc":"41355:3:27","nodeType":"YulIdentifier","src":"41355:3:27"},"nativeSrc":"41355:23:27","nodeType":"YulFunctionCall","src":"41355:23:27"},{"arguments":[{"arguments":[{"name":"s","nativeSrc":"41390:1:27","nodeType":"YulIdentifier","src":"41390:1:27"},{"name":"result","nativeSrc":"41393:6:27","nodeType":"YulIdentifier","src":"41393:6:27"}],"functionName":{"name":"add","nativeSrc":"41386:3:27","nodeType":"YulIdentifier","src":"41386:3:27"},"nativeSrc":"41386:14:27","nodeType":"YulFunctionCall","src":"41386:14:27"}],"functionName":{"name":"mload","nativeSrc":"41380:5:27","nodeType":"YulIdentifier","src":"41380:5:27"},"nativeSrc":"41380:21:27","nodeType":"YulFunctionCall","src":"41380:21:27"}],"functionName":{"name":"shl","nativeSrc":"41351:3:27","nodeType":"YulIdentifier","src":"41351:3:27"},"nativeSrc":"41351:51:27","nodeType":"YulFunctionCall","src":"41351:51:27"},"variableNames":[{"name":"result","nativeSrc":"41341:6:27","nodeType":"YulIdentifier","src":"41341:6:27"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":47515,"isOffset":false,"isSlot":false,"src":"41151:6:27","valueSize":1},{"declaration":47515,"isOffset":false,"isSlot":false,"src":"41195:6:27","valueSize":1},{"declaration":47515,"isOffset":false,"isSlot":false,"src":"41341:6:27","valueSize":1},{"declaration":47515,"isOffset":false,"isSlot":false,"src":"41370:6:27","valueSize":1},{"declaration":47515,"isOffset":false,"isSlot":false,"src":"41393:6:27","valueSize":1},{"declaration":47512,"isOffset":false,"isSlot":false,"src":"41167:1:27","valueSize":1},{"declaration":47512,"isOffset":false,"isSlot":false,"src":"41390:1:27","valueSize":1}],"id":47517,"nodeType":"InlineAssembly","src":"41128:284:27"}]},"documentation":{"id":47510,"nodeType":"StructuredDocumentation","src":"40918:73:27","text":"@dev Returns the string as a normalized null-terminated small string."},"implemented":true,"kind":"function","modifiers":[],"name":"toSmallString","nameLocation":"41005:13:27","parameters":{"id":47513,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47512,"mutability":"mutable","name":"s","nameLocation":"41033:1:27","nodeType":"VariableDeclaration","scope":47519,"src":"41019:15:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47511,"name":"string","nodeType":"ElementaryTypeName","src":"41019:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41018:17:27"},"returnParameters":{"id":47516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47515,"mutability":"mutable","name":"result","nameLocation":"41067:6:27","nodeType":"VariableDeclaration","scope":47519,"src":"41059:14:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":47514,"name":"bytes32","nodeType":"ElementaryTypeName","src":"41059:7:27","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"41058:16:27"},"scope":47666,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47535,"nodeType":"FunctionDefinition","src":"41554:131:27","nodes":[],"body":{"id":47534,"nodeType":"Block","src":"41637:48:27","nodes":[],"statements":[{"expression":{"id":47532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47527,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47525,"src":"41647:6:27","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":47529,"name":"subject","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47522,"src":"41663:7:27","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"66616c7365","id":47530,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"41672:5:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":47528,"name":"toCase","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47489,"src":"41656:6:27","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,bool) pure returns (string memory)"}},"id":47531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41656:22:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"41647:31:27","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":47533,"nodeType":"ExpressionStatement","src":"41647:31:27"}]},"documentation":{"id":47520,"nodeType":"StructuredDocumentation","src":"41424:125:27","text":"@dev Returns a lowercased copy of the string.\n WARNING! This function is only compatible with 7-bit ASCII strings."},"implemented":true,"kind":"function","modifiers":[],"name":"lower","nameLocation":"41563:5:27","parameters":{"id":47523,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47522,"mutability":"mutable","name":"subject","nameLocation":"41583:7:27","nodeType":"VariableDeclaration","scope":47535,"src":"41569:21:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47521,"name":"string","nodeType":"ElementaryTypeName","src":"41569:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41568:23:27"},"returnParameters":{"id":47526,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47525,"mutability":"mutable","name":"result","nameLocation":"41629:6:27","nodeType":"VariableDeclaration","scope":47535,"src":"41615:20:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47524,"name":"string","nodeType":"ElementaryTypeName","src":"41615:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41614:22:27"},"scope":47666,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47551,"nodeType":"FunctionDefinition","src":"41822:130:27","nodes":[],"body":{"id":47550,"nodeType":"Block","src":"41905:47:27","nodes":[],"statements":[{"expression":{"id":47548,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47543,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47541,"src":"41915:6:27","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":47545,"name":"subject","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47538,"src":"41931:7:27","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"74727565","id":47546,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"41940:4:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":47544,"name":"toCase","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47489,"src":"41924:6:27","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,bool) pure returns (string memory)"}},"id":47547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41924:21:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"41915:30:27","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":47549,"nodeType":"ExpressionStatement","src":"41915:30:27"}]},"documentation":{"id":47536,"nodeType":"StructuredDocumentation","src":"41691:126:27","text":"@dev Returns an UPPERCASED copy of the string.\n WARNING! This function is only compatible with 7-bit ASCII strings."},"implemented":true,"kind":"function","modifiers":[],"name":"upper","nameLocation":"41831:5:27","parameters":{"id":47539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47538,"mutability":"mutable","name":"subject","nameLocation":"41851:7:27","nodeType":"VariableDeclaration","scope":47551,"src":"41837:21:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47537,"name":"string","nodeType":"ElementaryTypeName","src":"41837:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41836:23:27"},"returnParameters":{"id":47542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47541,"mutability":"mutable","name":"result","nameLocation":"41897:6:27","nodeType":"VariableDeclaration","scope":47551,"src":"41883:20:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47540,"name":"string","nodeType":"ElementaryTypeName","src":"41883:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41882:22:27"},"scope":47666,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47561,"nodeType":"FunctionDefinition","src":"42019:1454:27","nodes":[],"body":{"id":47560,"nodeType":"Block","src":"42101:1372:27","nodes":[],"statements":[{"AST":{"nativeSrc":"42163:1304:27","nodeType":"YulBlock","src":"42163:1304:27","statements":[{"nativeSrc":"42177:27:27","nodeType":"YulVariableDeclaration","src":"42177:27:27","value":{"arguments":[{"name":"s","nativeSrc":"42192:1:27","nodeType":"YulIdentifier","src":"42192:1:27"},{"arguments":[{"name":"s","nativeSrc":"42201:1:27","nodeType":"YulIdentifier","src":"42201:1:27"}],"functionName":{"name":"mload","nativeSrc":"42195:5:27","nodeType":"YulIdentifier","src":"42195:5:27"},"nativeSrc":"42195:8:27","nodeType":"YulFunctionCall","src":"42195:8:27"}],"functionName":{"name":"add","nativeSrc":"42188:3:27","nodeType":"YulIdentifier","src":"42188:3:27"},"nativeSrc":"42188:16:27","nodeType":"YulFunctionCall","src":"42188:16:27"},"variables":[{"name":"end","nativeSrc":"42181:3:27","nodeType":"YulTypedName","src":"42181:3:27","type":""}]},{"nativeSrc":"42217:32:27","nodeType":"YulAssignment","src":"42217:32:27","value":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"42237:4:27","nodeType":"YulLiteral","src":"42237:4:27","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"42231:5:27","nodeType":"YulIdentifier","src":"42231:5:27"},"nativeSrc":"42231:11:27","nodeType":"YulFunctionCall","src":"42231:11:27"},{"kind":"number","nativeSrc":"42244:4:27","nodeType":"YulLiteral","src":"42244:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"42227:3:27","nodeType":"YulIdentifier","src":"42227:3:27"},"nativeSrc":"42227:22:27","nodeType":"YulFunctionCall","src":"42227:22:27"},"variableNames":[{"name":"result","nativeSrc":"42217:6:27","nodeType":"YulIdentifier","src":"42217:6:27"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"42443:4:27","nodeType":"YulLiteral","src":"42443:4:27","type":"","value":"0x1f"},{"kind":"number","nativeSrc":"42449:8:27","nodeType":"YulLiteral","src":"42449:8:27","type":"","value":"0x900094"}],"functionName":{"name":"mstore","nativeSrc":"42436:6:27","nodeType":"YulIdentifier","src":"42436:6:27"},"nativeSrc":"42436:22:27","nodeType":"YulFunctionCall","src":"42436:22:27"},"nativeSrc":"42436:22:27","nodeType":"YulExpressionStatement","src":"42436:22:27"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"42478:4:27","nodeType":"YulLiteral","src":"42478:4:27","type":"","value":"0x08"},{"kind":"number","nativeSrc":"42484:14:27","nodeType":"YulLiteral","src":"42484:14:27","type":"","value":"0xc0000000a6ab"}],"functionName":{"name":"mstore","nativeSrc":"42471:6:27","nodeType":"YulIdentifier","src":"42471:6:27"},"nativeSrc":"42471:28:27","nodeType":"YulFunctionCall","src":"42471:28:27"},"nativeSrc":"42471:28:27","nodeType":"YulExpressionStatement","src":"42471:28:27"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"42591:4:27","nodeType":"YulLiteral","src":"42591:4:27","type":"","value":"0x00"},{"arguments":[{"kind":"number","nativeSrc":"42601:2:27","nodeType":"YulLiteral","src":"42601:2:27","type":"","value":"64"},{"kind":"number","nativeSrc":"42605:50:27","nodeType":"YulLiteral","src":"42605:50:27","type":"","value":"0x2671756f743b26616d703b262333393b266c743b2667743b"}],"functionName":{"name":"shl","nativeSrc":"42597:3:27","nodeType":"YulIdentifier","src":"42597:3:27"},"nativeSrc":"42597:59:27","nodeType":"YulFunctionCall","src":"42597:59:27"}],"functionName":{"name":"mstore","nativeSrc":"42584:6:27","nodeType":"YulIdentifier","src":"42584:6:27"},"nativeSrc":"42584:73:27","nodeType":"YulFunctionCall","src":"42584:73:27"},"nativeSrc":"42584:73:27","nodeType":"YulExpressionStatement","src":"42584:73:27"},{"body":{"nativeSrc":"42699:483:27","nodeType":"YulBlock","src":"42699:483:27","statements":[{"nativeSrc":"42717:14:27","nodeType":"YulAssignment","src":"42717:14:27","value":{"arguments":[{"name":"s","nativeSrc":"42726:1:27","nodeType":"YulIdentifier","src":"42726:1:27"},{"kind":"number","nativeSrc":"42729:1:27","nodeType":"YulLiteral","src":"42729:1:27","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"42722:3:27","nodeType":"YulIdentifier","src":"42722:3:27"},"nativeSrc":"42722:9:27","nodeType":"YulFunctionCall","src":"42722:9:27"},"variableNames":[{"name":"s","nativeSrc":"42717:1:27","nodeType":"YulIdentifier","src":"42717:1:27"}]},{"nativeSrc":"42748:28:27","nodeType":"YulVariableDeclaration","src":"42748:28:27","value":{"arguments":[{"arguments":[{"name":"s","nativeSrc":"42767:1:27","nodeType":"YulIdentifier","src":"42767:1:27"}],"functionName":{"name":"mload","nativeSrc":"42761:5:27","nodeType":"YulIdentifier","src":"42761:5:27"},"nativeSrc":"42761:8:27","nodeType":"YulFunctionCall","src":"42761:8:27"},{"kind":"number","nativeSrc":"42771:4:27","nodeType":"YulLiteral","src":"42771:4:27","type":"","value":"0xff"}],"functionName":{"name":"and","nativeSrc":"42757:3:27","nodeType":"YulIdentifier","src":"42757:3:27"},"nativeSrc":"42757:19:27","nodeType":"YulFunctionCall","src":"42757:19:27"},"variables":[{"name":"c","nativeSrc":"42752:1:27","nodeType":"YulTypedName","src":"42752:1:27","type":""}]},{"body":{"nativeSrc":"42891:132:27","nodeType":"YulBlock","src":"42891:132:27","statements":[{"expression":{"arguments":[{"name":"result","nativeSrc":"42921:6:27","nodeType":"YulIdentifier","src":"42921:6:27"},{"name":"c","nativeSrc":"42929:1:27","nodeType":"YulIdentifier","src":"42929:1:27"}],"functionName":{"name":"mstore8","nativeSrc":"42913:7:27","nodeType":"YulIdentifier","src":"42913:7:27"},"nativeSrc":"42913:18:27","nodeType":"YulFunctionCall","src":"42913:18:27"},"nativeSrc":"42913:18:27","nodeType":"YulExpressionStatement","src":"42913:18:27"},{"nativeSrc":"42952:24:27","nodeType":"YulAssignment","src":"42952:24:27","value":{"arguments":[{"name":"result","nativeSrc":"42966:6:27","nodeType":"YulIdentifier","src":"42966:6:27"},{"kind":"number","nativeSrc":"42974:1:27","nodeType":"YulLiteral","src":"42974:1:27","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"42962:3:27","nodeType":"YulIdentifier","src":"42962:3:27"},"nativeSrc":"42962:14:27","nodeType":"YulFunctionCall","src":"42962:14:27"},"variableNames":[{"name":"result","nativeSrc":"42952:6:27","nodeType":"YulIdentifier","src":"42952:6:27"}]},{"nativeSrc":"42997:8:27","nodeType":"YulContinue","src":"42997:8:27"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"c","nativeSrc":"42863:1:27","nodeType":"YulIdentifier","src":"42863:1:27"},{"kind":"number","nativeSrc":"42866:1:27","nodeType":"YulLiteral","src":"42866:1:27","type":"","value":"1"}],"functionName":{"name":"shl","nativeSrc":"42859:3:27","nodeType":"YulIdentifier","src":"42859:3:27"},"nativeSrc":"42859:9:27","nodeType":"YulFunctionCall","src":"42859:9:27"},{"kind":"number","nativeSrc":"42870:18:27","nodeType":"YulLiteral","src":"42870:18:27","type":"","value":"0x500000c400000000"}],"functionName":{"name":"and","nativeSrc":"42855:3:27","nodeType":"YulIdentifier","src":"42855:3:27"},"nativeSrc":"42855:34:27","nodeType":"YulFunctionCall","src":"42855:34:27"}],"functionName":{"name":"iszero","nativeSrc":"42848:6:27","nodeType":"YulIdentifier","src":"42848:6:27"},"nativeSrc":"42848:42:27","nodeType":"YulFunctionCall","src":"42848:42:27"},"nativeSrc":"42845:178:27","nodeType":"YulIf","src":"42845:178:27"},{"nativeSrc":"43040:27:27","nodeType":"YulVariableDeclaration","src":"43040:27:27","value":{"arguments":[{"kind":"number","nativeSrc":"43053:3:27","nodeType":"YulLiteral","src":"43053:3:27","type":"","value":"248"},{"arguments":[{"name":"c","nativeSrc":"43064:1:27","nodeType":"YulIdentifier","src":"43064:1:27"}],"functionName":{"name":"mload","nativeSrc":"43058:5:27","nodeType":"YulIdentifier","src":"43058:5:27"},"nativeSrc":"43058:8:27","nodeType":"YulFunctionCall","src":"43058:8:27"}],"functionName":{"name":"shr","nativeSrc":"43049:3:27","nodeType":"YulIdentifier","src":"43049:3:27"},"nativeSrc":"43049:18:27","nodeType":"YulFunctionCall","src":"43049:18:27"},"variables":[{"name":"t","nativeSrc":"43044:1:27","nodeType":"YulTypedName","src":"43044:1:27","type":""}]},{"expression":{"arguments":[{"name":"result","nativeSrc":"43091:6:27","nodeType":"YulIdentifier","src":"43091:6:27"},{"arguments":[{"arguments":[{"name":"t","nativeSrc":"43109:1:27","nodeType":"YulIdentifier","src":"43109:1:27"},{"kind":"number","nativeSrc":"43112:4:27","nodeType":"YulLiteral","src":"43112:4:27","type":"","value":"0x1f"}],"functionName":{"name":"and","nativeSrc":"43105:3:27","nodeType":"YulIdentifier","src":"43105:3:27"},"nativeSrc":"43105:12:27","nodeType":"YulFunctionCall","src":"43105:12:27"}],"functionName":{"name":"mload","nativeSrc":"43099:5:27","nodeType":"YulIdentifier","src":"43099:5:27"},"nativeSrc":"43099:19:27","nodeType":"YulFunctionCall","src":"43099:19:27"}],"functionName":{"name":"mstore","nativeSrc":"43084:6:27","nodeType":"YulIdentifier","src":"43084:6:27"},"nativeSrc":"43084:35:27","nodeType":"YulFunctionCall","src":"43084:35:27"},"nativeSrc":"43084:35:27","nodeType":"YulExpressionStatement","src":"43084:35:27"},{"nativeSrc":"43136:32:27","nodeType":"YulAssignment","src":"43136:32:27","value":{"arguments":[{"name":"result","nativeSrc":"43150:6:27","nodeType":"YulIdentifier","src":"43150:6:27"},{"arguments":[{"kind":"number","nativeSrc":"43162:1:27","nodeType":"YulLiteral","src":"43162:1:27","type":"","value":"5"},{"name":"t","nativeSrc":"43165:1:27","nodeType":"YulIdentifier","src":"43165:1:27"}],"functionName":{"name":"shr","nativeSrc":"43158:3:27","nodeType":"YulIdentifier","src":"43158:3:27"},"nativeSrc":"43158:9:27","nodeType":"YulFunctionCall","src":"43158:9:27"}],"functionName":{"name":"add","nativeSrc":"43146:3:27","nodeType":"YulIdentifier","src":"43146:3:27"},"nativeSrc":"43146:22:27","nodeType":"YulFunctionCall","src":"43146:22:27"},"variableNames":[{"name":"result","nativeSrc":"43136:6:27","nodeType":"YulIdentifier","src":"43136:6:27"}]}]},"condition":{"arguments":[{"arguments":[{"name":"s","nativeSrc":"42687:1:27","nodeType":"YulIdentifier","src":"42687:1:27"},{"name":"end","nativeSrc":"42690:3:27","nodeType":"YulIdentifier","src":"42690:3:27"}],"functionName":{"name":"eq","nativeSrc":"42684:2:27","nodeType":"YulIdentifier","src":"42684:2:27"},"nativeSrc":"42684:10:27","nodeType":"YulFunctionCall","src":"42684:10:27"}],"functionName":{"name":"iszero","nativeSrc":"42677:6:27","nodeType":"YulIdentifier","src":"42677:6:27"},"nativeSrc":"42677:18:27","nodeType":"YulFunctionCall","src":"42677:18:27"},"nativeSrc":"42670:512:27","nodeType":"YulForLoop","post":{"nativeSrc":"42696:2:27","nodeType":"YulBlock","src":"42696:2:27","statements":[]},"pre":{"nativeSrc":"42674:2:27","nodeType":"YulBlock","src":"42674:2:27","statements":[]},"src":"42670:512:27"},{"nativeSrc":"43195:18:27","nodeType":"YulVariableDeclaration","src":"43195:18:27","value":{"name":"result","nativeSrc":"43207:6:27","nodeType":"YulIdentifier","src":"43207:6:27"},"variables":[{"name":"last","nativeSrc":"43199:4:27","nodeType":"YulTypedName","src":"43199:4:27","type":""}]},{"expression":{"arguments":[{"name":"last","nativeSrc":"43233:4:27","nodeType":"YulIdentifier","src":"43233:4:27"},{"kind":"number","nativeSrc":"43239:1:27","nodeType":"YulLiteral","src":"43239:1:27","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"43226:6:27","nodeType":"YulIdentifier","src":"43226:6:27"},"nativeSrc":"43226:15:27","nodeType":"YulFunctionCall","src":"43226:15:27"},"nativeSrc":"43226:15:27","nodeType":"YulExpressionStatement","src":"43226:15:27"},{"nativeSrc":"43292:21:27","nodeType":"YulAssignment","src":"43292:21:27","value":{"arguments":[{"kind":"number","nativeSrc":"43308:4:27","nodeType":"YulLiteral","src":"43308:4:27","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"43302:5:27","nodeType":"YulIdentifier","src":"43302:5:27"},"nativeSrc":"43302:11:27","nodeType":"YulFunctionCall","src":"43302:11:27"},"variableNames":[{"name":"result","nativeSrc":"43292:6:27","nodeType":"YulIdentifier","src":"43292:6:27"}]},{"expression":{"arguments":[{"name":"result","nativeSrc":"43333:6:27","nodeType":"YulIdentifier","src":"43333:6:27"},{"arguments":[{"name":"last","nativeSrc":"43345:4:27","nodeType":"YulIdentifier","src":"43345:4:27"},{"arguments":[{"name":"result","nativeSrc":"43355:6:27","nodeType":"YulIdentifier","src":"43355:6:27"},{"kind":"number","nativeSrc":"43363:4:27","nodeType":"YulLiteral","src":"43363:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"43351:3:27","nodeType":"YulIdentifier","src":"43351:3:27"},"nativeSrc":"43351:17:27","nodeType":"YulFunctionCall","src":"43351:17:27"}],"functionName":{"name":"sub","nativeSrc":"43341:3:27","nodeType":"YulIdentifier","src":"43341:3:27"},"nativeSrc":"43341:28:27","nodeType":"YulFunctionCall","src":"43341:28:27"}],"functionName":{"name":"mstore","nativeSrc":"43326:6:27","nodeType":"YulIdentifier","src":"43326:6:27"},"nativeSrc":"43326:44:27","nodeType":"YulFunctionCall","src":"43326:44:27"},"nativeSrc":"43326:44:27","nodeType":"YulExpressionStatement","src":"43326:44:27"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"43411:4:27","nodeType":"YulLiteral","src":"43411:4:27","type":"","value":"0x40"},{"arguments":[{"name":"last","nativeSrc":"43421:4:27","nodeType":"YulIdentifier","src":"43421:4:27"},{"kind":"number","nativeSrc":"43427:4:27","nodeType":"YulLiteral","src":"43427:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"43417:3:27","nodeType":"YulIdentifier","src":"43417:3:27"},"nativeSrc":"43417:15:27","nodeType":"YulFunctionCall","src":"43417:15:27"}],"functionName":{"name":"mstore","nativeSrc":"43404:6:27","nodeType":"YulIdentifier","src":"43404:6:27"},"nativeSrc":"43404:29:27","nodeType":"YulFunctionCall","src":"43404:29:27"},"nativeSrc":"43404:29:27","nodeType":"YulExpressionStatement","src":"43404:29:27"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":47557,"isOffset":false,"isSlot":false,"src":"42217:6:27","valueSize":1},{"declaration":47557,"isOffset":false,"isSlot":false,"src":"42921:6:27","valueSize":1},{"declaration":47557,"isOffset":false,"isSlot":false,"src":"42952:6:27","valueSize":1},{"declaration":47557,"isOffset":false,"isSlot":false,"src":"42966:6:27","valueSize":1},{"declaration":47557,"isOffset":false,"isSlot":false,"src":"43091:6:27","valueSize":1},{"declaration":47557,"isOffset":false,"isSlot":false,"src":"43136:6:27","valueSize":1},{"declaration":47557,"isOffset":false,"isSlot":false,"src":"43150:6:27","valueSize":1},{"declaration":47557,"isOffset":false,"isSlot":false,"src":"43207:6:27","valueSize":1},{"declaration":47557,"isOffset":false,"isSlot":false,"src":"43292:6:27","valueSize":1},{"declaration":47557,"isOffset":false,"isSlot":false,"src":"43333:6:27","valueSize":1},{"declaration":47557,"isOffset":false,"isSlot":false,"src":"43355:6:27","valueSize":1},{"declaration":47554,"isOffset":false,"isSlot":false,"src":"42192:1:27","valueSize":1},{"declaration":47554,"isOffset":false,"isSlot":false,"src":"42201:1:27","valueSize":1},{"declaration":47554,"isOffset":false,"isSlot":false,"src":"42687:1:27","valueSize":1},{"declaration":47554,"isOffset":false,"isSlot":false,"src":"42717:1:27","valueSize":1},{"declaration":47554,"isOffset":false,"isSlot":false,"src":"42726:1:27","valueSize":1},{"declaration":47554,"isOffset":false,"isSlot":false,"src":"42767:1:27","valueSize":1}],"id":47559,"nodeType":"InlineAssembly","src":"42154:1313:27"}]},"documentation":{"id":47552,"nodeType":"StructuredDocumentation","src":"41958:56:27","text":"@dev Escapes the string to be used within HTML tags."},"implemented":true,"kind":"function","modifiers":[],"name":"escapeHTML","nameLocation":"42028:10:27","parameters":{"id":47555,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47554,"mutability":"mutable","name":"s","nameLocation":"42053:1:27","nodeType":"VariableDeclaration","scope":47561,"src":"42039:15:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47553,"name":"string","nodeType":"ElementaryTypeName","src":"42039:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"42038:17:27"},"returnParameters":{"id":47558,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47557,"mutability":"mutable","name":"result","nameLocation":"42093:6:27","nodeType":"VariableDeclaration","scope":47561,"src":"42079:20:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47556,"name":"string","nodeType":"ElementaryTypeName","src":"42079:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"42078:22:27"},"scope":47666,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47573,"nodeType":"FunctionDefinition","src":"43638:2391:27","nodes":[],"body":{"id":47572,"nodeType":"Block","src":"43770:2259:27","nodes":[],"statements":[{"AST":{"nativeSrc":"43832:2191:27","nodeType":"YulBlock","src":"43832:2191:27","statements":[{"nativeSrc":"43846:27:27","nodeType":"YulVariableDeclaration","src":"43846:27:27","value":{"arguments":[{"name":"s","nativeSrc":"43861:1:27","nodeType":"YulIdentifier","src":"43861:1:27"},{"arguments":[{"name":"s","nativeSrc":"43870:1:27","nodeType":"YulIdentifier","src":"43870:1:27"}],"functionName":{"name":"mload","nativeSrc":"43864:5:27","nodeType":"YulIdentifier","src":"43864:5:27"},"nativeSrc":"43864:8:27","nodeType":"YulFunctionCall","src":"43864:8:27"}],"functionName":{"name":"add","nativeSrc":"43857:3:27","nodeType":"YulIdentifier","src":"43857:3:27"},"nativeSrc":"43857:16:27","nodeType":"YulFunctionCall","src":"43857:16:27"},"variables":[{"name":"end","nativeSrc":"43850:3:27","nodeType":"YulTypedName","src":"43850:3:27","type":""}]},{"nativeSrc":"43886:32:27","nodeType":"YulAssignment","src":"43886:32:27","value":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"43906:4:27","nodeType":"YulLiteral","src":"43906:4:27","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"43900:5:27","nodeType":"YulIdentifier","src":"43900:5:27"},"nativeSrc":"43900:11:27","nodeType":"YulFunctionCall","src":"43900:11:27"},{"kind":"number","nativeSrc":"43913:4:27","nodeType":"YulLiteral","src":"43913:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"43896:3:27","nodeType":"YulIdentifier","src":"43896:3:27"},"nativeSrc":"43896:22:27","nodeType":"YulFunctionCall","src":"43896:22:27"},"variableNames":[{"name":"result","nativeSrc":"43886:6:27","nodeType":"YulIdentifier","src":"43886:6:27"}]},{"body":{"nativeSrc":"43950:92:27","nodeType":"YulBlock","src":"43950:92:27","statements":[{"expression":{"arguments":[{"name":"result","nativeSrc":"43976:6:27","nodeType":"YulIdentifier","src":"43976:6:27"},{"kind":"number","nativeSrc":"43984:2:27","nodeType":"YulLiteral","src":"43984:2:27","type":"","value":"34"}],"functionName":{"name":"mstore8","nativeSrc":"43968:7:27","nodeType":"YulIdentifier","src":"43968:7:27"},"nativeSrc":"43968:19:27","nodeType":"YulFunctionCall","src":"43968:19:27"},"nativeSrc":"43968:19:27","nodeType":"YulExpressionStatement","src":"43968:19:27"},{"nativeSrc":"44004:24:27","nodeType":"YulAssignment","src":"44004:24:27","value":{"arguments":[{"kind":"number","nativeSrc":"44018:1:27","nodeType":"YulLiteral","src":"44018:1:27","type":"","value":"1"},{"name":"result","nativeSrc":"44021:6:27","nodeType":"YulIdentifier","src":"44021:6:27"}],"functionName":{"name":"add","nativeSrc":"44014:3:27","nodeType":"YulIdentifier","src":"44014:3:27"},"nativeSrc":"44014:14:27","nodeType":"YulFunctionCall","src":"44014:14:27"},"variableNames":[{"name":"result","nativeSrc":"44004:6:27","nodeType":"YulIdentifier","src":"44004:6:27"}]}]},"condition":{"name":"addDoubleQuotes","nativeSrc":"43934:15:27","nodeType":"YulIdentifier","src":"43934:15:27"},"nativeSrc":"43931:111:27","nodeType":"YulIf","src":"43931:111:27"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"44289:4:27","nodeType":"YulLiteral","src":"44289:4:27","type":"","value":"0x15"},{"kind":"number","nativeSrc":"44295:58:27","nodeType":"YulLiteral","src":"44295:58:27","type":"","value":"0x5c75303030303031323334353637383961626364656662746e006672"}],"functionName":{"name":"mstore","nativeSrc":"44282:6:27","nodeType":"YulIdentifier","src":"44282:6:27"},"nativeSrc":"44282:72:27","nodeType":"YulFunctionCall","src":"44282:72:27"},"nativeSrc":"44282:72:27","nodeType":"YulExpressionStatement","src":"44282:72:27"},{"nativeSrc":"44419:39:27","nodeType":"YulVariableDeclaration","src":"44419:39:27","value":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"44435:4:27","nodeType":"YulLiteral","src":"44435:4:27","type":"","value":"0x22"},{"kind":"number","nativeSrc":"44441:1:27","nodeType":"YulLiteral","src":"44441:1:27","type":"","value":"1"}],"functionName":{"name":"shl","nativeSrc":"44431:3:27","nodeType":"YulIdentifier","src":"44431:3:27"},"nativeSrc":"44431:12:27","nodeType":"YulFunctionCall","src":"44431:12:27"},{"arguments":[{"kind":"number","nativeSrc":"44449:4:27","nodeType":"YulLiteral","src":"44449:4:27","type":"","value":"0x5c"},{"kind":"number","nativeSrc":"44455:1:27","nodeType":"YulLiteral","src":"44455:1:27","type":"","value":"1"}],"functionName":{"name":"shl","nativeSrc":"44445:3:27","nodeType":"YulIdentifier","src":"44445:3:27"},"nativeSrc":"44445:12:27","nodeType":"YulFunctionCall","src":"44445:12:27"}],"functionName":{"name":"or","nativeSrc":"44428:2:27","nodeType":"YulIdentifier","src":"44428:2:27"},"nativeSrc":"44428:30:27","nodeType":"YulFunctionCall","src":"44428:30:27"},"variables":[{"name":"e","nativeSrc":"44423:1:27","nodeType":"YulTypedName","src":"44423:1:27","type":""}]},{"body":{"nativeSrc":"44500:1114:27","nodeType":"YulBlock","src":"44500:1114:27","statements":[{"nativeSrc":"44518:14:27","nodeType":"YulAssignment","src":"44518:14:27","value":{"arguments":[{"name":"s","nativeSrc":"44527:1:27","nodeType":"YulIdentifier","src":"44527:1:27"},{"kind":"number","nativeSrc":"44530:1:27","nodeType":"YulLiteral","src":"44530:1:27","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"44523:3:27","nodeType":"YulIdentifier","src":"44523:3:27"},"nativeSrc":"44523:9:27","nodeType":"YulFunctionCall","src":"44523:9:27"},"variableNames":[{"name":"s","nativeSrc":"44518:1:27","nodeType":"YulIdentifier","src":"44518:1:27"}]},{"nativeSrc":"44549:28:27","nodeType":"YulVariableDeclaration","src":"44549:28:27","value":{"arguments":[{"arguments":[{"name":"s","nativeSrc":"44568:1:27","nodeType":"YulIdentifier","src":"44568:1:27"}],"functionName":{"name":"mload","nativeSrc":"44562:5:27","nodeType":"YulIdentifier","src":"44562:5:27"},"nativeSrc":"44562:8:27","nodeType":"YulFunctionCall","src":"44562:8:27"},{"kind":"number","nativeSrc":"44572:4:27","nodeType":"YulLiteral","src":"44572:4:27","type":"","value":"0xff"}],"functionName":{"name":"and","nativeSrc":"44558:3:27","nodeType":"YulIdentifier","src":"44558:3:27"},"nativeSrc":"44558:19:27","nodeType":"YulFunctionCall","src":"44558:19:27"},"variables":[{"name":"c","nativeSrc":"44553:1:27","nodeType":"YulTypedName","src":"44553:1:27","type":""}]},{"body":{"nativeSrc":"44617:438:27","nodeType":"YulBlock","src":"44617:438:27","statements":[{"body":{"nativeSrc":"44668:197:27","nodeType":"YulBlock","src":"44668:197:27","statements":[{"expression":{"arguments":[{"name":"result","nativeSrc":"44751:6:27","nodeType":"YulIdentifier","src":"44751:6:27"},{"name":"c","nativeSrc":"44759:1:27","nodeType":"YulIdentifier","src":"44759:1:27"}],"functionName":{"name":"mstore8","nativeSrc":"44743:7:27","nodeType":"YulIdentifier","src":"44743:7:27"},"nativeSrc":"44743:18:27","nodeType":"YulFunctionCall","src":"44743:18:27"},"nativeSrc":"44743:18:27","nodeType":"YulExpressionStatement","src":"44743:18:27"},{"nativeSrc":"44786:24:27","nodeType":"YulAssignment","src":"44786:24:27","value":{"arguments":[{"name":"result","nativeSrc":"44800:6:27","nodeType":"YulIdentifier","src":"44800:6:27"},{"kind":"number","nativeSrc":"44808:1:27","nodeType":"YulLiteral","src":"44808:1:27","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"44796:3:27","nodeType":"YulIdentifier","src":"44796:3:27"},"nativeSrc":"44796:14:27","nodeType":"YulFunctionCall","src":"44796:14:27"},"variableNames":[{"name":"result","nativeSrc":"44786:6:27","nodeType":"YulIdentifier","src":"44786:6:27"}]},{"nativeSrc":"44835:8:27","nodeType":"YulContinue","src":"44835:8:27"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"c","nativeSrc":"44657:1:27","nodeType":"YulIdentifier","src":"44657:1:27"},{"kind":"number","nativeSrc":"44660:1:27","nodeType":"YulLiteral","src":"44660:1:27","type":"","value":"1"}],"functionName":{"name":"shl","nativeSrc":"44653:3:27","nodeType":"YulIdentifier","src":"44653:3:27"},"nativeSrc":"44653:9:27","nodeType":"YulFunctionCall","src":"44653:9:27"},{"name":"e","nativeSrc":"44664:1:27","nodeType":"YulIdentifier","src":"44664:1:27"}],"functionName":{"name":"and","nativeSrc":"44649:3:27","nodeType":"YulIdentifier","src":"44649:3:27"},"nativeSrc":"44649:17:27","nodeType":"YulFunctionCall","src":"44649:17:27"}],"functionName":{"name":"iszero","nativeSrc":"44642:6:27","nodeType":"YulIdentifier","src":"44642:6:27"},"nativeSrc":"44642:25:27","nodeType":"YulFunctionCall","src":"44642:25:27"},"nativeSrc":"44639:226:27","nodeType":"YulIf","src":"44639:226:27"},{"expression":{"arguments":[{"name":"result","nativeSrc":"44894:6:27","nodeType":"YulIdentifier","src":"44894:6:27"},{"kind":"number","nativeSrc":"44902:4:27","nodeType":"YulLiteral","src":"44902:4:27","type":"","value":"0x5c"}],"functionName":{"name":"mstore8","nativeSrc":"44886:7:27","nodeType":"YulIdentifier","src":"44886:7:27"},"nativeSrc":"44886:21:27","nodeType":"YulFunctionCall","src":"44886:21:27"},"nativeSrc":"44886:21:27","nodeType":"YulExpressionStatement","src":"44886:21:27"},{"expression":{"arguments":[{"arguments":[{"name":"result","nativeSrc":"44949:6:27","nodeType":"YulIdentifier","src":"44949:6:27"},{"kind":"number","nativeSrc":"44957:1:27","nodeType":"YulLiteral","src":"44957:1:27","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"44945:3:27","nodeType":"YulIdentifier","src":"44945:3:27"},"nativeSrc":"44945:14:27","nodeType":"YulFunctionCall","src":"44945:14:27"},{"name":"c","nativeSrc":"44961:1:27","nodeType":"YulIdentifier","src":"44961:1:27"}],"functionName":{"name":"mstore8","nativeSrc":"44937:7:27","nodeType":"YulIdentifier","src":"44937:7:27"},"nativeSrc":"44937:26:27","nodeType":"YulFunctionCall","src":"44937:26:27"},"nativeSrc":"44937:26:27","nodeType":"YulExpressionStatement","src":"44937:26:27"},{"nativeSrc":"44984:24:27","nodeType":"YulAssignment","src":"44984:24:27","value":{"arguments":[{"name":"result","nativeSrc":"44998:6:27","nodeType":"YulIdentifier","src":"44998:6:27"},{"kind":"number","nativeSrc":"45006:1:27","nodeType":"YulLiteral","src":"45006:1:27","type":"","value":"2"}],"functionName":{"name":"add","nativeSrc":"44994:3:27","nodeType":"YulIdentifier","src":"44994:3:27"},"nativeSrc":"44994:14:27","nodeType":"YulFunctionCall","src":"44994:14:27"},"variableNames":[{"name":"result","nativeSrc":"44984:6:27","nodeType":"YulIdentifier","src":"44984:6:27"}]},{"nativeSrc":"45029:8:27","nodeType":"YulContinue","src":"45029:8:27"}]},"condition":{"arguments":[{"arguments":[{"name":"c","nativeSrc":"44607:1:27","nodeType":"YulIdentifier","src":"44607:1:27"},{"kind":"number","nativeSrc":"44610:4:27","nodeType":"YulLiteral","src":"44610:4:27","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"44604:2:27","nodeType":"YulIdentifier","src":"44604:2:27"},"nativeSrc":"44604:11:27","nodeType":"YulFunctionCall","src":"44604:11:27"}],"functionName":{"name":"iszero","nativeSrc":"44597:6:27","nodeType":"YulIdentifier","src":"44597:6:27"},"nativeSrc":"44597:19:27","nodeType":"YulFunctionCall","src":"44597:19:27"},"nativeSrc":"44594:461:27","nodeType":"YulIf","src":"44594:461:27"},{"body":{"nativeSrc":"45106:348:27","nodeType":"YulBlock","src":"45106:348:27","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"45196:4:27","nodeType":"YulLiteral","src":"45196:4:27","type":"","value":"0x1d"},{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"45212:1:27","nodeType":"YulLiteral","src":"45212:1:27","type":"","value":"4"},{"name":"c","nativeSrc":"45215:1:27","nodeType":"YulIdentifier","src":"45215:1:27"}],"functionName":{"name":"shr","nativeSrc":"45208:3:27","nodeType":"YulIdentifier","src":"45208:3:27"},"nativeSrc":"45208:9:27","nodeType":"YulFunctionCall","src":"45208:9:27"}],"functionName":{"name":"mload","nativeSrc":"45202:5:27","nodeType":"YulIdentifier","src":"45202:5:27"},"nativeSrc":"45202:16:27","nodeType":"YulFunctionCall","src":"45202:16:27"}],"functionName":{"name":"mstore8","nativeSrc":"45188:7:27","nodeType":"YulIdentifier","src":"45188:7:27"},"nativeSrc":"45188:31:27","nodeType":"YulFunctionCall","src":"45188:31:27"},"nativeSrc":"45188:31:27","nodeType":"YulExpressionStatement","src":"45188:31:27"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"45262:4:27","nodeType":"YulLiteral","src":"45262:4:27","type":"","value":"0x1e"},{"arguments":[{"arguments":[{"name":"c","nativeSrc":"45278:1:27","nodeType":"YulIdentifier","src":"45278:1:27"},{"kind":"number","nativeSrc":"45281:2:27","nodeType":"YulLiteral","src":"45281:2:27","type":"","value":"15"}],"functionName":{"name":"and","nativeSrc":"45274:3:27","nodeType":"YulIdentifier","src":"45274:3:27"},"nativeSrc":"45274:10:27","nodeType":"YulFunctionCall","src":"45274:10:27"}],"functionName":{"name":"mload","nativeSrc":"45268:5:27","nodeType":"YulIdentifier","src":"45268:5:27"},"nativeSrc":"45268:17:27","nodeType":"YulFunctionCall","src":"45268:17:27"}],"functionName":{"name":"mstore8","nativeSrc":"45254:7:27","nodeType":"YulIdentifier","src":"45254:7:27"},"nativeSrc":"45254:32:27","nodeType":"YulFunctionCall","src":"45254:32:27"},"nativeSrc":"45254:32:27","nodeType":"YulExpressionStatement","src":"45254:32:27"},{"expression":{"arguments":[{"name":"result","nativeSrc":"45328:6:27","nodeType":"YulIdentifier","src":"45328:6:27"},{"arguments":[{"kind":"number","nativeSrc":"45342:4:27","nodeType":"YulLiteral","src":"45342:4:27","type":"","value":"0x19"}],"functionName":{"name":"mload","nativeSrc":"45336:5:27","nodeType":"YulIdentifier","src":"45336:5:27"},"nativeSrc":"45336:11:27","nodeType":"YulFunctionCall","src":"45336:11:27"}],"functionName":{"name":"mstore","nativeSrc":"45321:6:27","nodeType":"YulIdentifier","src":"45321:6:27"},"nativeSrc":"45321:27:27","nodeType":"YulFunctionCall","src":"45321:27:27"},"nativeSrc":"45321:27:27","nodeType":"YulExpressionStatement","src":"45321:27:27"},{"nativeSrc":"45383:24:27","nodeType":"YulAssignment","src":"45383:24:27","value":{"arguments":[{"name":"result","nativeSrc":"45397:6:27","nodeType":"YulIdentifier","src":"45397:6:27"},{"kind":"number","nativeSrc":"45405:1:27","nodeType":"YulLiteral","src":"45405:1:27","type":"","value":"6"}],"functionName":{"name":"add","nativeSrc":"45393:3:27","nodeType":"YulIdentifier","src":"45393:3:27"},"nativeSrc":"45393:14:27","nodeType":"YulFunctionCall","src":"45393:14:27"},"variableNames":[{"name":"result","nativeSrc":"45383:6:27","nodeType":"YulIdentifier","src":"45383:6:27"}]},{"nativeSrc":"45428:8:27","nodeType":"YulContinue","src":"45428:8:27"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"c","nativeSrc":"45090:1:27","nodeType":"YulIdentifier","src":"45090:1:27"},{"kind":"number","nativeSrc":"45093:1:27","nodeType":"YulLiteral","src":"45093:1:27","type":"","value":"1"}],"functionName":{"name":"shl","nativeSrc":"45086:3:27","nodeType":"YulIdentifier","src":"45086:3:27"},"nativeSrc":"45086:9:27","nodeType":"YulFunctionCall","src":"45086:9:27"},{"kind":"number","nativeSrc":"45097:6:27","nodeType":"YulLiteral","src":"45097:6:27","type":"","value":"0x3700"}],"functionName":{"name":"and","nativeSrc":"45082:3:27","nodeType":"YulIdentifier","src":"45082:3:27"},"nativeSrc":"45082:22:27","nodeType":"YulFunctionCall","src":"45082:22:27"}],"functionName":{"name":"iszero","nativeSrc":"45075:6:27","nodeType":"YulIdentifier","src":"45075:6:27"},"nativeSrc":"45075:30:27","nodeType":"YulFunctionCall","src":"45075:30:27"},"nativeSrc":"45072:382:27","nodeType":"YulIf","src":"45072:382:27"},{"expression":{"arguments":[{"name":"result","nativeSrc":"45479:6:27","nodeType":"YulIdentifier","src":"45479:6:27"},{"kind":"number","nativeSrc":"45487:4:27","nodeType":"YulLiteral","src":"45487:4:27","type":"","value":"0x5c"}],"functionName":{"name":"mstore8","nativeSrc":"45471:7:27","nodeType":"YulIdentifier","src":"45471:7:27"},"nativeSrc":"45471:21:27","nodeType":"YulFunctionCall","src":"45471:21:27"},"nativeSrc":"45471:21:27","nodeType":"YulExpressionStatement","src":"45471:21:27"},{"expression":{"arguments":[{"arguments":[{"name":"result","nativeSrc":"45530:6:27","nodeType":"YulIdentifier","src":"45530:6:27"},{"kind":"number","nativeSrc":"45538:1:27","nodeType":"YulLiteral","src":"45538:1:27","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"45526:3:27","nodeType":"YulIdentifier","src":"45526:3:27"},"nativeSrc":"45526:14:27","nodeType":"YulFunctionCall","src":"45526:14:27"},{"arguments":[{"arguments":[{"name":"c","nativeSrc":"45552:1:27","nodeType":"YulIdentifier","src":"45552:1:27"},{"kind":"number","nativeSrc":"45555:1:27","nodeType":"YulLiteral","src":"45555:1:27","type":"","value":"8"}],"functionName":{"name":"add","nativeSrc":"45548:3:27","nodeType":"YulIdentifier","src":"45548:3:27"},"nativeSrc":"45548:9:27","nodeType":"YulFunctionCall","src":"45548:9:27"}],"functionName":{"name":"mload","nativeSrc":"45542:5:27","nodeType":"YulIdentifier","src":"45542:5:27"},"nativeSrc":"45542:16:27","nodeType":"YulFunctionCall","src":"45542:16:27"}],"functionName":{"name":"mstore8","nativeSrc":"45518:7:27","nodeType":"YulIdentifier","src":"45518:7:27"},"nativeSrc":"45518:41:27","nodeType":"YulFunctionCall","src":"45518:41:27"},"nativeSrc":"45518:41:27","nodeType":"YulExpressionStatement","src":"45518:41:27"},{"nativeSrc":"45576:24:27","nodeType":"YulAssignment","src":"45576:24:27","value":{"arguments":[{"name":"result","nativeSrc":"45590:6:27","nodeType":"YulIdentifier","src":"45590:6:27"},{"kind":"number","nativeSrc":"45598:1:27","nodeType":"YulLiteral","src":"45598:1:27","type":"","value":"2"}],"functionName":{"name":"add","nativeSrc":"45586:3:27","nodeType":"YulIdentifier","src":"45586:3:27"},"nativeSrc":"45586:14:27","nodeType":"YulFunctionCall","src":"45586:14:27"},"variableNames":[{"name":"result","nativeSrc":"45576:6:27","nodeType":"YulIdentifier","src":"45576:6:27"}]}]},"condition":{"arguments":[{"arguments":[{"name":"s","nativeSrc":"44488:1:27","nodeType":"YulIdentifier","src":"44488:1:27"},{"name":"end","nativeSrc":"44491:3:27","nodeType":"YulIdentifier","src":"44491:3:27"}],"functionName":{"name":"eq","nativeSrc":"44485:2:27","nodeType":"YulIdentifier","src":"44485:2:27"},"nativeSrc":"44485:10:27","nodeType":"YulFunctionCall","src":"44485:10:27"}],"functionName":{"name":"iszero","nativeSrc":"44478:6:27","nodeType":"YulIdentifier","src":"44478:6:27"},"nativeSrc":"44478:18:27","nodeType":"YulFunctionCall","src":"44478:18:27"},"nativeSrc":"44471:1143:27","nodeType":"YulForLoop","post":{"nativeSrc":"44497:2:27","nodeType":"YulBlock","src":"44497:2:27","statements":[]},"pre":{"nativeSrc":"44475:2:27","nodeType":"YulBlock","src":"44475:2:27","statements":[]},"src":"44471:1143:27"},{"body":{"nativeSrc":"45646:92:27","nodeType":"YulBlock","src":"45646:92:27","statements":[{"expression":{"arguments":[{"name":"result","nativeSrc":"45672:6:27","nodeType":"YulIdentifier","src":"45672:6:27"},{"kind":"number","nativeSrc":"45680:2:27","nodeType":"YulLiteral","src":"45680:2:27","type":"","value":"34"}],"functionName":{"name":"mstore8","nativeSrc":"45664:7:27","nodeType":"YulIdentifier","src":"45664:7:27"},"nativeSrc":"45664:19:27","nodeType":"YulFunctionCall","src":"45664:19:27"},"nativeSrc":"45664:19:27","nodeType":"YulExpressionStatement","src":"45664:19:27"},{"nativeSrc":"45700:24:27","nodeType":"YulAssignment","src":"45700:24:27","value":{"arguments":[{"kind":"number","nativeSrc":"45714:1:27","nodeType":"YulLiteral","src":"45714:1:27","type":"","value":"1"},{"name":"result","nativeSrc":"45717:6:27","nodeType":"YulIdentifier","src":"45717:6:27"}],"functionName":{"name":"add","nativeSrc":"45710:3:27","nodeType":"YulIdentifier","src":"45710:3:27"},"nativeSrc":"45710:14:27","nodeType":"YulFunctionCall","src":"45710:14:27"},"variableNames":[{"name":"result","nativeSrc":"45700:6:27","nodeType":"YulIdentifier","src":"45700:6:27"}]}]},"condition":{"name":"addDoubleQuotes","nativeSrc":"45630:15:27","nodeType":"YulIdentifier","src":"45630:15:27"},"nativeSrc":"45627:111:27","nodeType":"YulIf","src":"45627:111:27"},{"nativeSrc":"45751:18:27","nodeType":"YulVariableDeclaration","src":"45751:18:27","value":{"name":"result","nativeSrc":"45763:6:27","nodeType":"YulIdentifier","src":"45763:6:27"},"variables":[{"name":"last","nativeSrc":"45755:4:27","nodeType":"YulTypedName","src":"45755:4:27","type":""}]},{"expression":{"arguments":[{"name":"last","nativeSrc":"45789:4:27","nodeType":"YulIdentifier","src":"45789:4:27"},{"kind":"number","nativeSrc":"45795:1:27","nodeType":"YulLiteral","src":"45795:1:27","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"45782:6:27","nodeType":"YulIdentifier","src":"45782:6:27"},"nativeSrc":"45782:15:27","nodeType":"YulFunctionCall","src":"45782:15:27"},"nativeSrc":"45782:15:27","nodeType":"YulExpressionStatement","src":"45782:15:27"},{"nativeSrc":"45848:21:27","nodeType":"YulAssignment","src":"45848:21:27","value":{"arguments":[{"kind":"number","nativeSrc":"45864:4:27","nodeType":"YulLiteral","src":"45864:4:27","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"45858:5:27","nodeType":"YulIdentifier","src":"45858:5:27"},"nativeSrc":"45858:11:27","nodeType":"YulFunctionCall","src":"45858:11:27"},"variableNames":[{"name":"result","nativeSrc":"45848:6:27","nodeType":"YulIdentifier","src":"45848:6:27"}]},{"expression":{"arguments":[{"name":"result","nativeSrc":"45889:6:27","nodeType":"YulIdentifier","src":"45889:6:27"},{"arguments":[{"name":"last","nativeSrc":"45901:4:27","nodeType":"YulIdentifier","src":"45901:4:27"},{"arguments":[{"name":"result","nativeSrc":"45911:6:27","nodeType":"YulIdentifier","src":"45911:6:27"},{"kind":"number","nativeSrc":"45919:4:27","nodeType":"YulLiteral","src":"45919:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"45907:3:27","nodeType":"YulIdentifier","src":"45907:3:27"},"nativeSrc":"45907:17:27","nodeType":"YulFunctionCall","src":"45907:17:27"}],"functionName":{"name":"sub","nativeSrc":"45897:3:27","nodeType":"YulIdentifier","src":"45897:3:27"},"nativeSrc":"45897:28:27","nodeType":"YulFunctionCall","src":"45897:28:27"}],"functionName":{"name":"mstore","nativeSrc":"45882:6:27","nodeType":"YulIdentifier","src":"45882:6:27"},"nativeSrc":"45882:44:27","nodeType":"YulFunctionCall","src":"45882:44:27"},"nativeSrc":"45882:44:27","nodeType":"YulExpressionStatement","src":"45882:44:27"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"45967:4:27","nodeType":"YulLiteral","src":"45967:4:27","type":"","value":"0x40"},{"arguments":[{"name":"last","nativeSrc":"45977:4:27","nodeType":"YulIdentifier","src":"45977:4:27"},{"kind":"number","nativeSrc":"45983:4:27","nodeType":"YulLiteral","src":"45983:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"45973:3:27","nodeType":"YulIdentifier","src":"45973:3:27"},"nativeSrc":"45973:15:27","nodeType":"YulFunctionCall","src":"45973:15:27"}],"functionName":{"name":"mstore","nativeSrc":"45960:6:27","nodeType":"YulIdentifier","src":"45960:6:27"},"nativeSrc":"45960:29:27","nodeType":"YulFunctionCall","src":"45960:29:27"},"nativeSrc":"45960:29:27","nodeType":"YulExpressionStatement","src":"45960:29:27"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":47566,"isOffset":false,"isSlot":false,"src":"43934:15:27","valueSize":1},{"declaration":47566,"isOffset":false,"isSlot":false,"src":"45630:15:27","valueSize":1},{"declaration":47569,"isOffset":false,"isSlot":false,"src":"43886:6:27","valueSize":1},{"declaration":47569,"isOffset":false,"isSlot":false,"src":"43976:6:27","valueSize":1},{"declaration":47569,"isOffset":false,"isSlot":false,"src":"44004:6:27","valueSize":1},{"declaration":47569,"isOffset":false,"isSlot":false,"src":"44021:6:27","valueSize":1},{"declaration":47569,"isOffset":false,"isSlot":false,"src":"44751:6:27","valueSize":1},{"declaration":47569,"isOffset":false,"isSlot":false,"src":"44786:6:27","valueSize":1},{"declaration":47569,"isOffset":false,"isSlot":false,"src":"44800:6:27","valueSize":1},{"declaration":47569,"isOffset":false,"isSlot":false,"src":"44894:6:27","valueSize":1},{"declaration":47569,"isOffset":false,"isSlot":false,"src":"44949:6:27","valueSize":1},{"declaration":47569,"isOffset":false,"isSlot":false,"src":"44984:6:27","valueSize":1},{"declaration":47569,"isOffset":false,"isSlot":false,"src":"44998:6:27","valueSize":1},{"declaration":47569,"isOffset":false,"isSlot":false,"src":"45328:6:27","valueSize":1},{"declaration":47569,"isOffset":false,"isSlot":false,"src":"45383:6:27","valueSize":1},{"declaration":47569,"isOffset":false,"isSlot":false,"src":"45397:6:27","valueSize":1},{"declaration":47569,"isOffset":false,"isSlot":false,"src":"45479:6:27","valueSize":1},{"declaration":47569,"isOffset":false,"isSlot":false,"src":"45530:6:27","valueSize":1},{"declaration":47569,"isOffset":false,"isSlot":false,"src":"45576:6:27","valueSize":1},{"declaration":47569,"isOffset":false,"isSlot":false,"src":"45590:6:27","valueSize":1},{"declaration":47569,"isOffset":false,"isSlot":false,"src":"45672:6:27","valueSize":1},{"declaration":47569,"isOffset":false,"isSlot":false,"src":"45700:6:27","valueSize":1},{"declaration":47569,"isOffset":false,"isSlot":false,"src":"45717:6:27","valueSize":1},{"declaration":47569,"isOffset":false,"isSlot":false,"src":"45763:6:27","valueSize":1},{"declaration":47569,"isOffset":false,"isSlot":false,"src":"45848:6:27","valueSize":1},{"declaration":47569,"isOffset":false,"isSlot":false,"src":"45889:6:27","valueSize":1},{"declaration":47569,"isOffset":false,"isSlot":false,"src":"45911:6:27","valueSize":1},{"declaration":47564,"isOffset":false,"isSlot":false,"src":"43861:1:27","valueSize":1},{"declaration":47564,"isOffset":false,"isSlot":false,"src":"43870:1:27","valueSize":1},{"declaration":47564,"isOffset":false,"isSlot":false,"src":"44488:1:27","valueSize":1},{"declaration":47564,"isOffset":false,"isSlot":false,"src":"44518:1:27","valueSize":1},{"declaration":47564,"isOffset":false,"isSlot":false,"src":"44527:1:27","valueSize":1},{"declaration":47564,"isOffset":false,"isSlot":false,"src":"44568:1:27","valueSize":1}],"id":47571,"nodeType":"InlineAssembly","src":"43823:2200:27"}]},"documentation":{"id":47562,"nodeType":"StructuredDocumentation","src":"43479:154:27","text":"@dev Escapes the string to be used within double-quotes in a JSON.\n If `addDoubleQuotes` is true, the result will be enclosed in double-quotes."},"implemented":true,"kind":"function","modifiers":[],"name":"escapeJSON","nameLocation":"43647:10:27","parameters":{"id":47567,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47564,"mutability":"mutable","name":"s","nameLocation":"43672:1:27","nodeType":"VariableDeclaration","scope":47573,"src":"43658:15:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47563,"name":"string","nodeType":"ElementaryTypeName","src":"43658:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47566,"mutability":"mutable","name":"addDoubleQuotes","nameLocation":"43680:15:27","nodeType":"VariableDeclaration","scope":47573,"src":"43675:20:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47565,"name":"bool","nodeType":"ElementaryTypeName","src":"43675:4:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"43657:39:27"},"returnParameters":{"id":47570,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47569,"mutability":"mutable","name":"result","nameLocation":"43758:6:27","nodeType":"VariableDeclaration","scope":47573,"src":"43744:20:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47568,"name":"string","nodeType":"ElementaryTypeName","src":"43744:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"43743:22:27"},"scope":47666,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47589,"nodeType":"FunctionDefinition","src":"46110:128:27","nodes":[],"body":{"id":47588,"nodeType":"Block","src":"46192:46:27","nodes":[],"statements":[{"expression":{"id":47586,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47581,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47579,"src":"46202:6:27","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":47583,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47576,"src":"46222:1:27","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"66616c7365","id":47584,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"46225:5:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":47582,"name":"escapeJSON","nodeType":"Identifier","overloadedDeclarations":[47573,47589],"referencedDeclaration":47573,"src":"46211:10:27","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,bool) pure returns (string memory)"}},"id":47585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46211:20:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"46202:29:27","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":47587,"nodeType":"ExpressionStatement","src":"46202:29:27"}]},"documentation":{"id":47574,"nodeType":"StructuredDocumentation","src":"46035:70:27","text":"@dev Escapes the string to be used within double-quotes in a JSON."},"implemented":true,"kind":"function","modifiers":[],"name":"escapeJSON","nameLocation":"46119:10:27","parameters":{"id":47577,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47576,"mutability":"mutable","name":"s","nameLocation":"46144:1:27","nodeType":"VariableDeclaration","scope":47589,"src":"46130:15:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47575,"name":"string","nodeType":"ElementaryTypeName","src":"46130:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"46129:17:27"},"returnParameters":{"id":47580,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47579,"mutability":"mutable","name":"result","nameLocation":"46184:6:27","nodeType":"VariableDeclaration","scope":47589,"src":"46170:20:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47578,"name":"string","nodeType":"ElementaryTypeName","src":"46170:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"46169:22:27"},"scope":47666,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47601,"nodeType":"FunctionDefinition","src":"46289:256:27","nodes":[],"body":{"id":47600,"nodeType":"Block","src":"46371:174:27","nodes":[],"statements":[{"AST":{"nativeSrc":"46433:106:27","nodeType":"YulBlock","src":"46433:106:27","statements":[{"nativeSrc":"46447:82:27","nodeType":"YulAssignment","src":"46447:82:27","value":{"arguments":[{"arguments":[{"arguments":[{"name":"a","nativeSrc":"46474:1:27","nodeType":"YulIdentifier","src":"46474:1:27"},{"kind":"number","nativeSrc":"46477:4:27","nodeType":"YulLiteral","src":"46477:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"46470:3:27","nodeType":"YulIdentifier","src":"46470:3:27"},"nativeSrc":"46470:12:27","nodeType":"YulFunctionCall","src":"46470:12:27"},{"arguments":[{"name":"a","nativeSrc":"46490:1:27","nodeType":"YulIdentifier","src":"46490:1:27"}],"functionName":{"name":"mload","nativeSrc":"46484:5:27","nodeType":"YulIdentifier","src":"46484:5:27"},"nativeSrc":"46484:8:27","nodeType":"YulFunctionCall","src":"46484:8:27"}],"functionName":{"name":"keccak256","nativeSrc":"46460:9:27","nodeType":"YulIdentifier","src":"46460:9:27"},"nativeSrc":"46460:33:27","nodeType":"YulFunctionCall","src":"46460:33:27"},{"arguments":[{"arguments":[{"name":"b","nativeSrc":"46509:1:27","nodeType":"YulIdentifier","src":"46509:1:27"},{"kind":"number","nativeSrc":"46512:4:27","nodeType":"YulLiteral","src":"46512:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"46505:3:27","nodeType":"YulIdentifier","src":"46505:3:27"},"nativeSrc":"46505:12:27","nodeType":"YulFunctionCall","src":"46505:12:27"},{"arguments":[{"name":"b","nativeSrc":"46525:1:27","nodeType":"YulIdentifier","src":"46525:1:27"}],"functionName":{"name":"mload","nativeSrc":"46519:5:27","nodeType":"YulIdentifier","src":"46519:5:27"},"nativeSrc":"46519:8:27","nodeType":"YulFunctionCall","src":"46519:8:27"}],"functionName":{"name":"keccak256","nativeSrc":"46495:9:27","nodeType":"YulIdentifier","src":"46495:9:27"},"nativeSrc":"46495:33:27","nodeType":"YulFunctionCall","src":"46495:33:27"}],"functionName":{"name":"eq","nativeSrc":"46457:2:27","nodeType":"YulIdentifier","src":"46457:2:27"},"nativeSrc":"46457:72:27","nodeType":"YulFunctionCall","src":"46457:72:27"},"variableNames":[{"name":"result","nativeSrc":"46447:6:27","nodeType":"YulIdentifier","src":"46447:6:27"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":47592,"isOffset":false,"isSlot":false,"src":"46474:1:27","valueSize":1},{"declaration":47592,"isOffset":false,"isSlot":false,"src":"46490:1:27","valueSize":1},{"declaration":47594,"isOffset":false,"isSlot":false,"src":"46509:1:27","valueSize":1},{"declaration":47594,"isOffset":false,"isSlot":false,"src":"46525:1:27","valueSize":1},{"declaration":47597,"isOffset":false,"isSlot":false,"src":"46447:6:27","valueSize":1}],"id":47599,"nodeType":"InlineAssembly","src":"46424:115:27"}]},"documentation":{"id":47590,"nodeType":"StructuredDocumentation","src":"46244:40:27","text":"@dev Returns whether `a` equals `b`."},"implemented":true,"kind":"function","modifiers":[],"name":"eq","nameLocation":"46298:2:27","parameters":{"id":47595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47592,"mutability":"mutable","name":"a","nameLocation":"46315:1:27","nodeType":"VariableDeclaration","scope":47601,"src":"46301:15:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47591,"name":"string","nodeType":"ElementaryTypeName","src":"46301:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47594,"mutability":"mutable","name":"b","nameLocation":"46332:1:27","nodeType":"VariableDeclaration","scope":47601,"src":"46318:15:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47593,"name":"string","nodeType":"ElementaryTypeName","src":"46318:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"46300:34:27"},"returnParameters":{"id":47598,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47597,"mutability":"mutable","name":"result","nameLocation":"46363:6:27","nodeType":"VariableDeclaration","scope":47601,"src":"46358:11:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47596,"name":"bool","nodeType":"ElementaryTypeName","src":"46358:4:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"46357:13:27"},"scope":47666,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47613,"nodeType":"FunctionDefinition","src":"46641:851:27","nodes":[],"body":{"id":47612,"nodeType":"Block","src":"46718:774:27","nodes":[],"statements":[{"AST":{"nativeSrc":"46780:706:27","nodeType":"YulBlock","src":"46780:706:27","statements":[{"nativeSrc":"46872:46:27","nodeType":"YulVariableDeclaration","src":"46872:46:27","value":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"46889:1:27","nodeType":"YulLiteral","src":"46889:1:27","type":"","value":"7"},{"arguments":[{"arguments":[{"arguments":[{"name":"b","nativeSrc":"46907:1:27","nodeType":"YulIdentifier","src":"46907:1:27"}],"functionName":{"name":"iszero","nativeSrc":"46900:6:27","nodeType":"YulIdentifier","src":"46900:6:27"},"nativeSrc":"46900:9:27","nodeType":"YulFunctionCall","src":"46900:9:27"}],"functionName":{"name":"not","nativeSrc":"46896:3:27","nodeType":"YulIdentifier","src":"46896:3:27"},"nativeSrc":"46896:14:27","nodeType":"YulFunctionCall","src":"46896:14:27"},{"kind":"number","nativeSrc":"46912:3:27","nodeType":"YulLiteral","src":"46912:3:27","type":"","value":"255"}],"functionName":{"name":"div","nativeSrc":"46892:3:27","nodeType":"YulIdentifier","src":"46892:3:27"},"nativeSrc":"46892:24:27","nodeType":"YulFunctionCall","src":"46892:24:27"}],"functionName":{"name":"shl","nativeSrc":"46885:3:27","nodeType":"YulIdentifier","src":"46885:3:27"},"nativeSrc":"46885:32:27","nodeType":"YulFunctionCall","src":"46885:32:27"}],"functionName":{"name":"not","nativeSrc":"46881:3:27","nodeType":"YulIdentifier","src":"46881:3:27"},"nativeSrc":"46881:37:27","nodeType":"YulFunctionCall","src":"46881:37:27"},"variables":[{"name":"m","nativeSrc":"46876:1:27","nodeType":"YulTypedName","src":"46876:1:27","type":""}]},{"nativeSrc":"46948:45:27","nodeType":"YulVariableDeclaration","src":"46948:45:27","value":{"arguments":[{"arguments":[{"name":"m","nativeSrc":"46964:1:27","nodeType":"YulIdentifier","src":"46964:1:27"},{"arguments":[{"name":"b","nativeSrc":"46970:1:27","nodeType":"YulIdentifier","src":"46970:1:27"},{"arguments":[{"name":"m","nativeSrc":"46977:1:27","nodeType":"YulIdentifier","src":"46977:1:27"},{"arguments":[{"name":"b","nativeSrc":"46984:1:27","nodeType":"YulIdentifier","src":"46984:1:27"},{"name":"m","nativeSrc":"46987:1:27","nodeType":"YulIdentifier","src":"46987:1:27"}],"functionName":{"name":"and","nativeSrc":"46980:3:27","nodeType":"YulIdentifier","src":"46980:3:27"},"nativeSrc":"46980:9:27","nodeType":"YulFunctionCall","src":"46980:9:27"}],"functionName":{"name":"add","nativeSrc":"46973:3:27","nodeType":"YulIdentifier","src":"46973:3:27"},"nativeSrc":"46973:17:27","nodeType":"YulFunctionCall","src":"46973:17:27"}],"functionName":{"name":"or","nativeSrc":"46967:2:27","nodeType":"YulIdentifier","src":"46967:2:27"},"nativeSrc":"46967:24:27","nodeType":"YulFunctionCall","src":"46967:24:27"}],"functionName":{"name":"or","nativeSrc":"46961:2:27","nodeType":"YulIdentifier","src":"46961:2:27"},"nativeSrc":"46961:31:27","nodeType":"YulFunctionCall","src":"46961:31:27"}],"functionName":{"name":"not","nativeSrc":"46957:3:27","nodeType":"YulIdentifier","src":"46957:3:27"},"nativeSrc":"46957:36:27","nodeType":"YulFunctionCall","src":"46957:36:27"},"variables":[{"name":"x","nativeSrc":"46952:1:27","nodeType":"YulTypedName","src":"46952:1:27","type":""}]},{"nativeSrc":"47006:44:27","nodeType":"YulVariableDeclaration","src":"47006:44:27","value":{"arguments":[{"kind":"number","nativeSrc":"47019:1:27","nodeType":"YulLiteral","src":"47019:1:27","type":"","value":"7"},{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"47040:3:27","nodeType":"YulLiteral","src":"47040:3:27","type":"","value":"128"},{"name":"x","nativeSrc":"47045:1:27","nodeType":"YulIdentifier","src":"47045:1:27"}],"functionName":{"name":"shr","nativeSrc":"47036:3:27","nodeType":"YulIdentifier","src":"47036:3:27"},"nativeSrc":"47036:11:27","nodeType":"YulFunctionCall","src":"47036:11:27"}],"functionName":{"name":"iszero","nativeSrc":"47029:6:27","nodeType":"YulIdentifier","src":"47029:6:27"},"nativeSrc":"47029:19:27","nodeType":"YulFunctionCall","src":"47029:19:27"}],"functionName":{"name":"iszero","nativeSrc":"47022:6:27","nodeType":"YulIdentifier","src":"47022:6:27"},"nativeSrc":"47022:27:27","nodeType":"YulFunctionCall","src":"47022:27:27"}],"functionName":{"name":"shl","nativeSrc":"47015:3:27","nodeType":"YulIdentifier","src":"47015:3:27"},"nativeSrc":"47015:35:27","nodeType":"YulFunctionCall","src":"47015:35:27"},"variables":[{"name":"r","nativeSrc":"47010:1:27","nodeType":"YulTypedName","src":"47010:1:27","type":""}]},{"nativeSrc":"47063:54:27","nodeType":"YulAssignment","src":"47063:54:27","value":{"arguments":[{"name":"r","nativeSrc":"47071:1:27","nodeType":"YulIdentifier","src":"47071:1:27"},{"arguments":[{"kind":"number","nativeSrc":"47078:1:27","nodeType":"YulLiteral","src":"47078:1:27","type":"","value":"6"},{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"47099:2:27","nodeType":"YulLiteral","src":"47099:2:27","type":"","value":"64"},{"arguments":[{"name":"r","nativeSrc":"47107:1:27","nodeType":"YulIdentifier","src":"47107:1:27"},{"name":"x","nativeSrc":"47110:1:27","nodeType":"YulIdentifier","src":"47110:1:27"}],"functionName":{"name":"shr","nativeSrc":"47103:3:27","nodeType":"YulIdentifier","src":"47103:3:27"},"nativeSrc":"47103:9:27","nodeType":"YulFunctionCall","src":"47103:9:27"}],"functionName":{"name":"shr","nativeSrc":"47095:3:27","nodeType":"YulIdentifier","src":"47095:3:27"},"nativeSrc":"47095:18:27","nodeType":"YulFunctionCall","src":"47095:18:27"}],"functionName":{"name":"iszero","nativeSrc":"47088:6:27","nodeType":"YulIdentifier","src":"47088:6:27"},"nativeSrc":"47088:26:27","nodeType":"YulFunctionCall","src":"47088:26:27"}],"functionName":{"name":"iszero","nativeSrc":"47081:6:27","nodeType":"YulIdentifier","src":"47081:6:27"},"nativeSrc":"47081:34:27","nodeType":"YulFunctionCall","src":"47081:34:27"}],"functionName":{"name":"shl","nativeSrc":"47074:3:27","nodeType":"YulIdentifier","src":"47074:3:27"},"nativeSrc":"47074:42:27","nodeType":"YulFunctionCall","src":"47074:42:27"}],"functionName":{"name":"or","nativeSrc":"47068:2:27","nodeType":"YulIdentifier","src":"47068:2:27"},"nativeSrc":"47068:49:27","nodeType":"YulFunctionCall","src":"47068:49:27"},"variableNames":[{"name":"r","nativeSrc":"47063:1:27","nodeType":"YulIdentifier","src":"47063:1:27"}]},{"nativeSrc":"47130:45:27","nodeType":"YulAssignment","src":"47130:45:27","value":{"arguments":[{"name":"r","nativeSrc":"47138:1:27","nodeType":"YulIdentifier","src":"47138:1:27"},{"arguments":[{"kind":"number","nativeSrc":"47145:1:27","nodeType":"YulLiteral","src":"47145:1:27","type":"","value":"5"},{"arguments":[{"kind":"number","nativeSrc":"47151:10:27","nodeType":"YulLiteral","src":"47151:10:27","type":"","value":"0xffffffff"},{"arguments":[{"name":"r","nativeSrc":"47167:1:27","nodeType":"YulIdentifier","src":"47167:1:27"},{"name":"x","nativeSrc":"47170:1:27","nodeType":"YulIdentifier","src":"47170:1:27"}],"functionName":{"name":"shr","nativeSrc":"47163:3:27","nodeType":"YulIdentifier","src":"47163:3:27"},"nativeSrc":"47163:9:27","nodeType":"YulFunctionCall","src":"47163:9:27"}],"functionName":{"name":"lt","nativeSrc":"47148:2:27","nodeType":"YulIdentifier","src":"47148:2:27"},"nativeSrc":"47148:25:27","nodeType":"YulFunctionCall","src":"47148:25:27"}],"functionName":{"name":"shl","nativeSrc":"47141:3:27","nodeType":"YulIdentifier","src":"47141:3:27"},"nativeSrc":"47141:33:27","nodeType":"YulFunctionCall","src":"47141:33:27"}],"functionName":{"name":"or","nativeSrc":"47135:2:27","nodeType":"YulIdentifier","src":"47135:2:27"},"nativeSrc":"47135:40:27","nodeType":"YulFunctionCall","src":"47135:40:27"},"variableNames":[{"name":"r","nativeSrc":"47130:1:27","nodeType":"YulIdentifier","src":"47130:1:27"}]},{"nativeSrc":"47188:41:27","nodeType":"YulAssignment","src":"47188:41:27","value":{"arguments":[{"name":"r","nativeSrc":"47196:1:27","nodeType":"YulIdentifier","src":"47196:1:27"},{"arguments":[{"kind":"number","nativeSrc":"47203:1:27","nodeType":"YulLiteral","src":"47203:1:27","type":"","value":"4"},{"arguments":[{"kind":"number","nativeSrc":"47209:6:27","nodeType":"YulLiteral","src":"47209:6:27","type":"","value":"0xffff"},{"arguments":[{"name":"r","nativeSrc":"47221:1:27","nodeType":"YulIdentifier","src":"47221:1:27"},{"name":"x","nativeSrc":"47224:1:27","nodeType":"YulIdentifier","src":"47224:1:27"}],"functionName":{"name":"shr","nativeSrc":"47217:3:27","nodeType":"YulIdentifier","src":"47217:3:27"},"nativeSrc":"47217:9:27","nodeType":"YulFunctionCall","src":"47217:9:27"}],"functionName":{"name":"lt","nativeSrc":"47206:2:27","nodeType":"YulIdentifier","src":"47206:2:27"},"nativeSrc":"47206:21:27","nodeType":"YulFunctionCall","src":"47206:21:27"}],"functionName":{"name":"shl","nativeSrc":"47199:3:27","nodeType":"YulIdentifier","src":"47199:3:27"},"nativeSrc":"47199:29:27","nodeType":"YulFunctionCall","src":"47199:29:27"}],"functionName":{"name":"or","nativeSrc":"47193:2:27","nodeType":"YulIdentifier","src":"47193:2:27"},"nativeSrc":"47193:36:27","nodeType":"YulFunctionCall","src":"47193:36:27"},"variableNames":[{"name":"r","nativeSrc":"47188:1:27","nodeType":"YulIdentifier","src":"47188:1:27"}]},{"nativeSrc":"47242:39:27","nodeType":"YulAssignment","src":"47242:39:27","value":{"arguments":[{"name":"r","nativeSrc":"47250:1:27","nodeType":"YulIdentifier","src":"47250:1:27"},{"arguments":[{"kind":"number","nativeSrc":"47257:1:27","nodeType":"YulLiteral","src":"47257:1:27","type":"","value":"3"},{"arguments":[{"kind":"number","nativeSrc":"47263:4:27","nodeType":"YulLiteral","src":"47263:4:27","type":"","value":"0xff"},{"arguments":[{"name":"r","nativeSrc":"47273:1:27","nodeType":"YulIdentifier","src":"47273:1:27"},{"name":"x","nativeSrc":"47276:1:27","nodeType":"YulIdentifier","src":"47276:1:27"}],"functionName":{"name":"shr","nativeSrc":"47269:3:27","nodeType":"YulIdentifier","src":"47269:3:27"},"nativeSrc":"47269:9:27","nodeType":"YulFunctionCall","src":"47269:9:27"}],"functionName":{"name":"lt","nativeSrc":"47260:2:27","nodeType":"YulIdentifier","src":"47260:2:27"},"nativeSrc":"47260:19:27","nodeType":"YulFunctionCall","src":"47260:19:27"}],"functionName":{"name":"shl","nativeSrc":"47253:3:27","nodeType":"YulIdentifier","src":"47253:3:27"},"nativeSrc":"47253:27:27","nodeType":"YulFunctionCall","src":"47253:27:27"}],"functionName":{"name":"or","nativeSrc":"47247:2:27","nodeType":"YulIdentifier","src":"47247:2:27"},"nativeSrc":"47247:34:27","nodeType":"YulFunctionCall","src":"47247:34:27"},"variableNames":[{"name":"r","nativeSrc":"47242:1:27","nodeType":"YulIdentifier","src":"47242:1:27"}]},{"nativeSrc":"47337:139:27","nodeType":"YulAssignment","src":"47337:139:27","value":{"arguments":[{"arguments":[{"arguments":[{"name":"a","nativeSrc":"47359:1:27","nodeType":"YulIdentifier","src":"47359:1:27"}],"functionName":{"name":"mload","nativeSrc":"47353:5:27","nodeType":"YulIdentifier","src":"47353:5:27"},"nativeSrc":"47353:8:27","nodeType":"YulFunctionCall","src":"47353:8:27"},{"arguments":[{"arguments":[{"name":"x","nativeSrc":"47374:1:27","nodeType":"YulIdentifier","src":"47374:1:27"}],"functionName":{"name":"iszero","nativeSrc":"47367:6:27","nodeType":"YulIdentifier","src":"47367:6:27"},"nativeSrc":"47367:9:27","nodeType":"YulFunctionCall","src":"47367:9:27"},{"arguments":[{"kind":"number","nativeSrc":"47382:2:27","nodeType":"YulLiteral","src":"47382:2:27","type":"","value":"31"},{"arguments":[{"kind":"number","nativeSrc":"47390:1:27","nodeType":"YulLiteral","src":"47390:1:27","type":"","value":"3"},{"name":"r","nativeSrc":"47393:1:27","nodeType":"YulIdentifier","src":"47393:1:27"}],"functionName":{"name":"shr","nativeSrc":"47386:3:27","nodeType":"YulIdentifier","src":"47386:3:27"},"nativeSrc":"47386:9:27","nodeType":"YulFunctionCall","src":"47386:9:27"}],"functionName":{"name":"xor","nativeSrc":"47378:3:27","nodeType":"YulIdentifier","src":"47378:3:27"},"nativeSrc":"47378:18:27","nodeType":"YulFunctionCall","src":"47378:18:27"}],"functionName":{"name":"add","nativeSrc":"47363:3:27","nodeType":"YulIdentifier","src":"47363:3:27"},"nativeSrc":"47363:34:27","nodeType":"YulFunctionCall","src":"47363:34:27"}],"functionName":{"name":"eq","nativeSrc":"47350:2:27","nodeType":"YulIdentifier","src":"47350:2:27"},"nativeSrc":"47350:48:27","nodeType":"YulFunctionCall","src":"47350:48:27"},{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"47428:1:27","nodeType":"YulLiteral","src":"47428:1:27","type":"","value":"8"},{"name":"r","nativeSrc":"47431:1:27","nodeType":"YulIdentifier","src":"47431:1:27"}],"functionName":{"name":"add","nativeSrc":"47424:3:27","nodeType":"YulIdentifier","src":"47424:3:27"},"nativeSrc":"47424:9:27","nodeType":"YulFunctionCall","src":"47424:9:27"},{"name":"b","nativeSrc":"47435:1:27","nodeType":"YulIdentifier","src":"47435:1:27"}],"functionName":{"name":"shr","nativeSrc":"47420:3:27","nodeType":"YulIdentifier","src":"47420:3:27"},"nativeSrc":"47420:17:27","nodeType":"YulFunctionCall","src":"47420:17:27"},{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"47447:1:27","nodeType":"YulLiteral","src":"47447:1:27","type":"","value":"8"},{"name":"r","nativeSrc":"47450:1:27","nodeType":"YulIdentifier","src":"47450:1:27"}],"functionName":{"name":"add","nativeSrc":"47443:3:27","nodeType":"YulIdentifier","src":"47443:3:27"},"nativeSrc":"47443:9:27","nodeType":"YulFunctionCall","src":"47443:9:27"},{"arguments":[{"arguments":[{"name":"a","nativeSrc":"47464:1:27","nodeType":"YulIdentifier","src":"47464:1:27"},{"kind":"number","nativeSrc":"47467:4:27","nodeType":"YulLiteral","src":"47467:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"47460:3:27","nodeType":"YulIdentifier","src":"47460:3:27"},"nativeSrc":"47460:12:27","nodeType":"YulFunctionCall","src":"47460:12:27"}],"functionName":{"name":"mload","nativeSrc":"47454:5:27","nodeType":"YulIdentifier","src":"47454:5:27"},"nativeSrc":"47454:19:27","nodeType":"YulFunctionCall","src":"47454:19:27"}],"functionName":{"name":"shr","nativeSrc":"47439:3:27","nodeType":"YulIdentifier","src":"47439:3:27"},"nativeSrc":"47439:35:27","nodeType":"YulFunctionCall","src":"47439:35:27"}],"functionName":{"name":"xor","nativeSrc":"47416:3:27","nodeType":"YulIdentifier","src":"47416:3:27"},"nativeSrc":"47416:59:27","nodeType":"YulFunctionCall","src":"47416:59:27"}],"functionName":{"name":"gt","nativeSrc":"47347:2:27","nodeType":"YulIdentifier","src":"47347:2:27"},"nativeSrc":"47347:129:27","nodeType":"YulFunctionCall","src":"47347:129:27"},"variableNames":[{"name":"result","nativeSrc":"47337:6:27","nodeType":"YulIdentifier","src":"47337:6:27"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":47604,"isOffset":false,"isSlot":false,"src":"47359:1:27","valueSize":1},{"declaration":47604,"isOffset":false,"isSlot":false,"src":"47464:1:27","valueSize":1},{"declaration":47606,"isOffset":false,"isSlot":false,"src":"46907:1:27","valueSize":1},{"declaration":47606,"isOffset":false,"isSlot":false,"src":"46970:1:27","valueSize":1},{"declaration":47606,"isOffset":false,"isSlot":false,"src":"46984:1:27","valueSize":1},{"declaration":47606,"isOffset":false,"isSlot":false,"src":"47435:1:27","valueSize":1},{"declaration":47609,"isOffset":false,"isSlot":false,"src":"47337:6:27","valueSize":1}],"id":47611,"nodeType":"InlineAssembly","src":"46771:715:27"}]},"documentation":{"id":47602,"nodeType":"StructuredDocumentation","src":"46551:85:27","text":"@dev Returns whether `a` equals `b`, where `b` is a null-terminated small string."},"implemented":true,"kind":"function","modifiers":[],"name":"eqs","nameLocation":"46650:3:27","parameters":{"id":47607,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47604,"mutability":"mutable","name":"a","nameLocation":"46668:1:27","nodeType":"VariableDeclaration","scope":47613,"src":"46654:15:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47603,"name":"string","nodeType":"ElementaryTypeName","src":"46654:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47606,"mutability":"mutable","name":"b","nameLocation":"46679:1:27","nodeType":"VariableDeclaration","scope":47613,"src":"46671:9:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":47605,"name":"bytes32","nodeType":"ElementaryTypeName","src":"46671:7:27","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"46653:28:27"},"returnParameters":{"id":47610,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47609,"mutability":"mutable","name":"result","nameLocation":"46710:6:27","nodeType":"VariableDeclaration","scope":47613,"src":"46705:11:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47608,"name":"bool","nodeType":"ElementaryTypeName","src":"46705:4:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"46704:13:27"},"scope":47666,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47623,"nodeType":"FunctionDefinition","src":"47640:646:27","nodes":[],"body":{"id":47622,"nodeType":"Block","src":"47713:573:27","nodes":[],"statements":[{"AST":{"nativeSrc":"47775:505:27","nodeType":"YulBlock","src":"47775:505:27","statements":[{"nativeSrc":"47921:349:27","nodeType":"YulAssignment","src":"47921:349:27","value":{"arguments":[{"arguments":[{"arguments":[{"name":"a","nativeSrc":"48036:1:27","nodeType":"YulIdentifier","src":"48036:1:27"},{"kind":"number","nativeSrc":"48039:4:27","nodeType":"YulLiteral","src":"48039:4:27","type":"","value":"0x1f"}],"functionName":{"name":"add","nativeSrc":"48032:3:27","nodeType":"YulIdentifier","src":"48032:3:27"},"nativeSrc":"48032:12:27","nodeType":"YulFunctionCall","src":"48032:12:27"}],"functionName":{"name":"mload","nativeSrc":"48026:5:27","nodeType":"YulIdentifier","src":"48026:5:27"},"nativeSrc":"48026:19:27","nodeType":"YulFunctionCall","src":"48026:19:27"},{"arguments":[{"arguments":[{"arguments":[{"name":"a","nativeSrc":"48239:1:27","nodeType":"YulIdentifier","src":"48239:1:27"}],"functionName":{"name":"mload","nativeSrc":"48233:5:27","nodeType":"YulIdentifier","src":"48233:5:27"},"nativeSrc":"48233:8:27","nodeType":"YulFunctionCall","src":"48233:8:27"},{"kind":"number","nativeSrc":"48243:1:27","nodeType":"YulLiteral","src":"48243:1:27","type":"","value":"1"}],"functionName":{"name":"sub","nativeSrc":"48229:3:27","nodeType":"YulIdentifier","src":"48229:3:27"},"nativeSrc":"48229:16:27","nodeType":"YulFunctionCall","src":"48229:16:27"},{"kind":"number","nativeSrc":"48247:4:27","nodeType":"YulLiteral","src":"48247:4:27","type":"","value":"0x1f"}],"functionName":{"name":"lt","nativeSrc":"48226:2:27","nodeType":"YulIdentifier","src":"48226:2:27"},"nativeSrc":"48226:26:27","nodeType":"YulFunctionCall","src":"48226:26:27"}],"functionName":{"name":"mul","nativeSrc":"47947:3:27","nodeType":"YulIdentifier","src":"47947:3:27"},"nativeSrc":"47947:323:27","nodeType":"YulFunctionCall","src":"47947:323:27"},"variableNames":[{"name":"result","nativeSrc":"47921:6:27","nodeType":"YulIdentifier","src":"47921:6:27"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":47616,"isOffset":false,"isSlot":false,"src":"48036:1:27","valueSize":1},{"declaration":47616,"isOffset":false,"isSlot":false,"src":"48239:1:27","valueSize":1},{"declaration":47619,"isOffset":false,"isSlot":false,"src":"47921:6:27","valueSize":1}],"id":47621,"nodeType":"InlineAssembly","src":"47766:514:27"}]},"documentation":{"id":47614,"nodeType":"StructuredDocumentation","src":"47498:137:27","text":"@dev Packs a single string with its length into a single word.\n Returns `bytes32(0)` if the length is zero or greater than 31."},"implemented":true,"kind":"function","modifiers":[],"name":"packOne","nameLocation":"47649:7:27","parameters":{"id":47617,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47616,"mutability":"mutable","name":"a","nameLocation":"47671:1:27","nodeType":"VariableDeclaration","scope":47623,"src":"47657:15:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47615,"name":"string","nodeType":"ElementaryTypeName","src":"47657:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"47656:17:27"},"returnParameters":{"id":47620,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47619,"mutability":"mutable","name":"result","nameLocation":"47705:6:27","nodeType":"VariableDeclaration","scope":47623,"src":"47697:14:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":47618,"name":"bytes32","nodeType":"ElementaryTypeName","src":"47697:7:27","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"47696:16:27"},"scope":47666,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47633,"nodeType":"FunctionDefinition","src":"48493:609:27","nodes":[],"body":{"id":47632,"nodeType":"Block","src":"48573:529:27","nodes":[],"statements":[{"AST":{"nativeSrc":"48635:461:27","nodeType":"YulBlock","src":"48635:461:27","statements":[{"nativeSrc":"48694:21:27","nodeType":"YulAssignment","src":"48694:21:27","value":{"arguments":[{"kind":"number","nativeSrc":"48710:4:27","nodeType":"YulLiteral","src":"48710:4:27","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"48704:5:27","nodeType":"YulIdentifier","src":"48704:5:27"},"nativeSrc":"48704:11:27","nodeType":"YulFunctionCall","src":"48704:11:27"},"variableNames":[{"name":"result","nativeSrc":"48694:6:27","nodeType":"YulIdentifier","src":"48694:6:27"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"48804:4:27","nodeType":"YulLiteral","src":"48804:4:27","type":"","value":"0x40"},{"arguments":[{"name":"result","nativeSrc":"48814:6:27","nodeType":"YulIdentifier","src":"48814:6:27"},{"kind":"number","nativeSrc":"48822:4:27","nodeType":"YulLiteral","src":"48822:4:27","type":"","value":"0x40"}],"functionName":{"name":"add","nativeSrc":"48810:3:27","nodeType":"YulIdentifier","src":"48810:3:27"},"nativeSrc":"48810:17:27","nodeType":"YulFunctionCall","src":"48810:17:27"}],"functionName":{"name":"mstore","nativeSrc":"48797:6:27","nodeType":"YulIdentifier","src":"48797:6:27"},"nativeSrc":"48797:31:27","nodeType":"YulFunctionCall","src":"48797:31:27"},"nativeSrc":"48797:31:27","nodeType":"YulExpressionStatement","src":"48797:31:27"},{"expression":{"arguments":[{"name":"result","nativeSrc":"48888:6:27","nodeType":"YulIdentifier","src":"48888:6:27"},{"kind":"number","nativeSrc":"48896:1:27","nodeType":"YulLiteral","src":"48896:1:27","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"48881:6:27","nodeType":"YulIdentifier","src":"48881:6:27"},"nativeSrc":"48881:17:27","nodeType":"YulFunctionCall","src":"48881:17:27"},"nativeSrc":"48881:17:27","nodeType":"YulExpressionStatement","src":"48881:17:27"},{"expression":{"arguments":[{"arguments":[{"name":"result","nativeSrc":"48965:6:27","nodeType":"YulIdentifier","src":"48965:6:27"},{"kind":"number","nativeSrc":"48973:4:27","nodeType":"YulLiteral","src":"48973:4:27","type":"","value":"0x1f"}],"functionName":{"name":"add","nativeSrc":"48961:3:27","nodeType":"YulIdentifier","src":"48961:3:27"},"nativeSrc":"48961:17:27","nodeType":"YulFunctionCall","src":"48961:17:27"},{"name":"packed","nativeSrc":"48980:6:27","nodeType":"YulIdentifier","src":"48980:6:27"}],"functionName":{"name":"mstore","nativeSrc":"48954:6:27","nodeType":"YulIdentifier","src":"48954:6:27"},"nativeSrc":"48954:33:27","nodeType":"YulFunctionCall","src":"48954:33:27"},"nativeSrc":"48954:33:27","nodeType":"YulExpressionStatement","src":"48954:33:27"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"result","nativeSrc":"49053:6:27","nodeType":"YulIdentifier","src":"49053:6:27"},{"kind":"number","nativeSrc":"49061:4:27","nodeType":"YulLiteral","src":"49061:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"49049:3:27","nodeType":"YulIdentifier","src":"49049:3:27"},"nativeSrc":"49049:17:27","nodeType":"YulFunctionCall","src":"49049:17:27"},{"arguments":[{"name":"result","nativeSrc":"49074:6:27","nodeType":"YulIdentifier","src":"49074:6:27"}],"functionName":{"name":"mload","nativeSrc":"49068:5:27","nodeType":"YulIdentifier","src":"49068:5:27"},"nativeSrc":"49068:13:27","nodeType":"YulFunctionCall","src":"49068:13:27"}],"functionName":{"name":"add","nativeSrc":"49045:3:27","nodeType":"YulIdentifier","src":"49045:3:27"},"nativeSrc":"49045:37:27","nodeType":"YulFunctionCall","src":"49045:37:27"},{"kind":"number","nativeSrc":"49084:1:27","nodeType":"YulLiteral","src":"49084:1:27","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"49038:6:27","nodeType":"YulIdentifier","src":"49038:6:27"},"nativeSrc":"49038:48:27","nodeType":"YulFunctionCall","src":"49038:48:27"},"nativeSrc":"49038:48:27","nodeType":"YulExpressionStatement","src":"49038:48:27"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":47626,"isOffset":false,"isSlot":false,"src":"48980:6:27","valueSize":1},{"declaration":47629,"isOffset":false,"isSlot":false,"src":"48694:6:27","valueSize":1},{"declaration":47629,"isOffset":false,"isSlot":false,"src":"48814:6:27","valueSize":1},{"declaration":47629,"isOffset":false,"isSlot":false,"src":"48888:6:27","valueSize":1},{"declaration":47629,"isOffset":false,"isSlot":false,"src":"48965:6:27","valueSize":1},{"declaration":47629,"isOffset":false,"isSlot":false,"src":"49053:6:27","valueSize":1},{"declaration":47629,"isOffset":false,"isSlot":false,"src":"49074:6:27","valueSize":1}],"id":47631,"nodeType":"InlineAssembly","src":"48626:470:27"}]},"documentation":{"id":47624,"nodeType":"StructuredDocumentation","src":"48292:196:27","text":"@dev Unpacks a string packed using {packOne}.\n Returns the empty string if `packed` is `bytes32(0)`.\n If `packed` is not an output of {packOne}, the output behavior is undefined."},"implemented":true,"kind":"function","modifiers":[],"name":"unpackOne","nameLocation":"48502:9:27","parameters":{"id":47627,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47626,"mutability":"mutable","name":"packed","nameLocation":"48520:6:27","nodeType":"VariableDeclaration","scope":47633,"src":"48512:14:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":47625,"name":"bytes32","nodeType":"ElementaryTypeName","src":"48512:7:27","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"48511:16:27"},"returnParameters":{"id":47630,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47629,"mutability":"mutable","name":"result","nameLocation":"48565:6:27","nodeType":"VariableDeclaration","scope":47633,"src":"48551:20:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47628,"name":"string","nodeType":"ElementaryTypeName","src":"48551:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"48550:22:27"},"scope":47666,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47645,"nodeType":"FunctionDefinition","src":"49254:886:27","nodes":[],"body":{"id":47644,"nodeType":"Block","src":"49344:796:27","nodes":[],"statements":[{"AST":{"nativeSrc":"49406:728:27","nodeType":"YulBlock","src":"49406:728:27","statements":[{"nativeSrc":"49420:23:27","nodeType":"YulVariableDeclaration","src":"49420:23:27","value":{"arguments":[{"name":"a","nativeSrc":"49441:1:27","nodeType":"YulIdentifier","src":"49441:1:27"}],"functionName":{"name":"mload","nativeSrc":"49435:5:27","nodeType":"YulIdentifier","src":"49435:5:27"},"nativeSrc":"49435:8:27","nodeType":"YulFunctionCall","src":"49435:8:27"},"variables":[{"name":"aLength","nativeSrc":"49424:7:27","nodeType":"YulTypedName","src":"49424:7:27","type":""}]},{"nativeSrc":"49589:535:27","nodeType":"YulAssignment","src":"49589:535:27","value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"49745:1:27","nodeType":"YulLiteral","src":"49745:1:27","type":"","value":"3"},{"arguments":[{"kind":"number","nativeSrc":"49752:4:27","nodeType":"YulLiteral","src":"49752:4:27","type":"","value":"0x1f"},{"name":"aLength","nativeSrc":"49758:7:27","nodeType":"YulIdentifier","src":"49758:7:27"}],"functionName":{"name":"sub","nativeSrc":"49748:3:27","nodeType":"YulIdentifier","src":"49748:3:27"},"nativeSrc":"49748:18:27","nodeType":"YulFunctionCall","src":"49748:18:27"}],"functionName":{"name":"shl","nativeSrc":"49741:3:27","nodeType":"YulIdentifier","src":"49741:3:27"},"nativeSrc":"49741:26:27","nodeType":"YulFunctionCall","src":"49741:26:27"},{"arguments":[{"arguments":[{"name":"a","nativeSrc":"49779:1:27","nodeType":"YulIdentifier","src":"49779:1:27"},{"name":"aLength","nativeSrc":"49782:7:27","nodeType":"YulIdentifier","src":"49782:7:27"}],"functionName":{"name":"add","nativeSrc":"49775:3:27","nodeType":"YulIdentifier","src":"49775:3:27"},"nativeSrc":"49775:15:27","nodeType":"YulFunctionCall","src":"49775:15:27"}],"functionName":{"name":"mload","nativeSrc":"49769:5:27","nodeType":"YulIdentifier","src":"49769:5:27"},"nativeSrc":"49769:22:27","nodeType":"YulFunctionCall","src":"49769:22:27"}],"functionName":{"name":"shl","nativeSrc":"49737:3:27","nodeType":"YulIdentifier","src":"49737:3:27"},"nativeSrc":"49737:55:27","nodeType":"YulFunctionCall","src":"49737:55:27"},{"arguments":[{"arguments":[{"arguments":[{"name":"b","nativeSrc":"49832:1:27","nodeType":"YulIdentifier","src":"49832:1:27"},{"kind":"number","nativeSrc":"49835:4:27","nodeType":"YulLiteral","src":"49835:4:27","type":"","value":"0x1e"}],"functionName":{"name":"add","nativeSrc":"49828:3:27","nodeType":"YulIdentifier","src":"49828:3:27"},"nativeSrc":"49828:12:27","nodeType":"YulFunctionCall","src":"49828:12:27"},{"name":"aLength","nativeSrc":"49842:7:27","nodeType":"YulIdentifier","src":"49842:7:27"}],"functionName":{"name":"sub","nativeSrc":"49824:3:27","nodeType":"YulIdentifier","src":"49824:3:27"},"nativeSrc":"49824:26:27","nodeType":"YulFunctionCall","src":"49824:26:27"}],"functionName":{"name":"mload","nativeSrc":"49818:5:27","nodeType":"YulIdentifier","src":"49818:5:27"},"nativeSrc":"49818:33:27","nodeType":"YulFunctionCall","src":"49818:33:27"}],"functionName":{"name":"or","nativeSrc":"49709:2:27","nodeType":"YulIdentifier","src":"49709:2:27"},"nativeSrc":"49709:164:27","nodeType":"YulFunctionCall","src":"49709:164:27"},{"arguments":[{"arguments":[{"arguments":[{"name":"aLength","nativeSrc":"50077:7:27","nodeType":"YulIdentifier","src":"50077:7:27"},{"arguments":[{"name":"b","nativeSrc":"50092:1:27","nodeType":"YulIdentifier","src":"50092:1:27"}],"functionName":{"name":"mload","nativeSrc":"50086:5:27","nodeType":"YulIdentifier","src":"50086:5:27"},"nativeSrc":"50086:8:27","nodeType":"YulFunctionCall","src":"50086:8:27"}],"functionName":{"name":"add","nativeSrc":"50073:3:27","nodeType":"YulIdentifier","src":"50073:3:27"},"nativeSrc":"50073:22:27","nodeType":"YulFunctionCall","src":"50073:22:27"},{"kind":"number","nativeSrc":"50097:1:27","nodeType":"YulLiteral","src":"50097:1:27","type":"","value":"1"}],"functionName":{"name":"sub","nativeSrc":"50069:3:27","nodeType":"YulIdentifier","src":"50069:3:27"},"nativeSrc":"50069:30:27","nodeType":"YulFunctionCall","src":"50069:30:27"},{"kind":"number","nativeSrc":"50101:4:27","nodeType":"YulLiteral","src":"50101:4:27","type":"","value":"0x1e"}],"functionName":{"name":"lt","nativeSrc":"50066:2:27","nodeType":"YulIdentifier","src":"50066:2:27"},"nativeSrc":"50066:40:27","nodeType":"YulFunctionCall","src":"50066:40:27"}],"functionName":{"name":"mul","nativeSrc":"49615:3:27","nodeType":"YulIdentifier","src":"49615:3:27"},"nativeSrc":"49615:509:27","nodeType":"YulFunctionCall","src":"49615:509:27"},"variableNames":[{"name":"result","nativeSrc":"49589:6:27","nodeType":"YulIdentifier","src":"49589:6:27"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":47636,"isOffset":false,"isSlot":false,"src":"49441:1:27","valueSize":1},{"declaration":47636,"isOffset":false,"isSlot":false,"src":"49779:1:27","valueSize":1},{"declaration":47638,"isOffset":false,"isSlot":false,"src":"49832:1:27","valueSize":1},{"declaration":47638,"isOffset":false,"isSlot":false,"src":"50092:1:27","valueSize":1},{"declaration":47641,"isOffset":false,"isSlot":false,"src":"49589:6:27","valueSize":1}],"id":47643,"nodeType":"InlineAssembly","src":"49397:737:27"}]},"documentation":{"id":47634,"nodeType":"StructuredDocumentation","src":"49108:141:27","text":"@dev Packs two strings with their lengths into a single word.\n Returns `bytes32(0)` if combined length is zero or greater than 30."},"implemented":true,"kind":"function","modifiers":[],"name":"packTwo","nameLocation":"49263:7:27","parameters":{"id":47639,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47636,"mutability":"mutable","name":"a","nameLocation":"49285:1:27","nodeType":"VariableDeclaration","scope":47645,"src":"49271:15:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47635,"name":"string","nodeType":"ElementaryTypeName","src":"49271:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47638,"mutability":"mutable","name":"b","nameLocation":"49302:1:27","nodeType":"VariableDeclaration","scope":47645,"src":"49288:15:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47637,"name":"string","nodeType":"ElementaryTypeName","src":"49288:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"49270:34:27"},"returnParameters":{"id":47642,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47641,"mutability":"mutable","name":"result","nameLocation":"49336:6:27","nodeType":"VariableDeclaration","scope":47645,"src":"49328:14:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":47640,"name":"bytes32","nodeType":"ElementaryTypeName","src":"49328:7:27","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"49327:16:27"},"scope":47666,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47657,"nodeType":"FunctionDefinition","src":"50347:922:27","nodes":[],"body":{"id":47656,"nodeType":"Block","src":"50479:790:27","nodes":[],"statements":[{"AST":{"nativeSrc":"50541:722:27","nodeType":"YulBlock","src":"50541:722:27","statements":[{"nativeSrc":"50600:22:27","nodeType":"YulAssignment","src":"50600:22:27","value":{"arguments":[{"kind":"number","nativeSrc":"50617:4:27","nodeType":"YulLiteral","src":"50617:4:27","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"50611:5:27","nodeType":"YulIdentifier","src":"50611:5:27"},"nativeSrc":"50611:11:27","nodeType":"YulFunctionCall","src":"50611:11:27"},"variableNames":[{"name":"resultA","nativeSrc":"50600:7:27","nodeType":"YulIdentifier","src":"50600:7:27"}]},{"nativeSrc":"50635:29:27","nodeType":"YulAssignment","src":"50635:29:27","value":{"arguments":[{"name":"resultA","nativeSrc":"50650:7:27","nodeType":"YulIdentifier","src":"50650:7:27"},{"kind":"number","nativeSrc":"50659:4:27","nodeType":"YulLiteral","src":"50659:4:27","type":"","value":"0x40"}],"functionName":{"name":"add","nativeSrc":"50646:3:27","nodeType":"YulIdentifier","src":"50646:3:27"},"nativeSrc":"50646:18:27","nodeType":"YulFunctionCall","src":"50646:18:27"},"variableNames":[{"name":"resultB","nativeSrc":"50635:7:27","nodeType":"YulIdentifier","src":"50635:7:27"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"50783:4:27","nodeType":"YulLiteral","src":"50783:4:27","type":"","value":"0x40"},{"arguments":[{"name":"resultB","nativeSrc":"50793:7:27","nodeType":"YulIdentifier","src":"50793:7:27"},{"kind":"number","nativeSrc":"50802:4:27","nodeType":"YulLiteral","src":"50802:4:27","type":"","value":"0x40"}],"functionName":{"name":"add","nativeSrc":"50789:3:27","nodeType":"YulIdentifier","src":"50789:3:27"},"nativeSrc":"50789:18:27","nodeType":"YulFunctionCall","src":"50789:18:27"}],"functionName":{"name":"mstore","nativeSrc":"50776:6:27","nodeType":"YulIdentifier","src":"50776:6:27"},"nativeSrc":"50776:32:27","nodeType":"YulFunctionCall","src":"50776:32:27"},"nativeSrc":"50776:32:27","nodeType":"YulExpressionStatement","src":"50776:32:27"},{"expression":{"arguments":[{"name":"resultA","nativeSrc":"50869:7:27","nodeType":"YulIdentifier","src":"50869:7:27"},{"kind":"number","nativeSrc":"50878:1:27","nodeType":"YulLiteral","src":"50878:1:27","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"50862:6:27","nodeType":"YulIdentifier","src":"50862:6:27"},"nativeSrc":"50862:18:27","nodeType":"YulFunctionCall","src":"50862:18:27"},"nativeSrc":"50862:18:27","nodeType":"YulExpressionStatement","src":"50862:18:27"},{"expression":{"arguments":[{"name":"resultB","nativeSrc":"50900:7:27","nodeType":"YulIdentifier","src":"50900:7:27"},{"kind":"number","nativeSrc":"50909:1:27","nodeType":"YulLiteral","src":"50909:1:27","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"50893:6:27","nodeType":"YulIdentifier","src":"50893:6:27"},"nativeSrc":"50893:18:27","nodeType":"YulFunctionCall","src":"50893:18:27"},"nativeSrc":"50893:18:27","nodeType":"YulExpressionStatement","src":"50893:18:27"},{"expression":{"arguments":[{"arguments":[{"name":"resultA","nativeSrc":"50979:7:27","nodeType":"YulIdentifier","src":"50979:7:27"},{"kind":"number","nativeSrc":"50988:4:27","nodeType":"YulLiteral","src":"50988:4:27","type":"","value":"0x1f"}],"functionName":{"name":"add","nativeSrc":"50975:3:27","nodeType":"YulIdentifier","src":"50975:3:27"},"nativeSrc":"50975:18:27","nodeType":"YulFunctionCall","src":"50975:18:27"},{"name":"packed","nativeSrc":"50995:6:27","nodeType":"YulIdentifier","src":"50995:6:27"}],"functionName":{"name":"mstore","nativeSrc":"50968:6:27","nodeType":"YulIdentifier","src":"50968:6:27"},"nativeSrc":"50968:34:27","nodeType":"YulFunctionCall","src":"50968:34:27"},"nativeSrc":"50968:34:27","nodeType":"YulExpressionStatement","src":"50968:34:27"},{"expression":{"arguments":[{"arguments":[{"name":"resultB","nativeSrc":"51026:7:27","nodeType":"YulIdentifier","src":"51026:7:27"},{"kind":"number","nativeSrc":"51035:4:27","nodeType":"YulLiteral","src":"51035:4:27","type":"","value":"0x1f"}],"functionName":{"name":"add","nativeSrc":"51022:3:27","nodeType":"YulIdentifier","src":"51022:3:27"},"nativeSrc":"51022:18:27","nodeType":"YulFunctionCall","src":"51022:18:27"},{"arguments":[{"arguments":[{"arguments":[{"name":"resultA","nativeSrc":"51056:7:27","nodeType":"YulIdentifier","src":"51056:7:27"},{"kind":"number","nativeSrc":"51065:4:27","nodeType":"YulLiteral","src":"51065:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"51052:3:27","nodeType":"YulIdentifier","src":"51052:3:27"},"nativeSrc":"51052:18:27","nodeType":"YulFunctionCall","src":"51052:18:27"},{"arguments":[{"name":"resultA","nativeSrc":"51078:7:27","nodeType":"YulIdentifier","src":"51078:7:27"}],"functionName":{"name":"mload","nativeSrc":"51072:5:27","nodeType":"YulIdentifier","src":"51072:5:27"},"nativeSrc":"51072:14:27","nodeType":"YulFunctionCall","src":"51072:14:27"}],"functionName":{"name":"add","nativeSrc":"51048:3:27","nodeType":"YulIdentifier","src":"51048:3:27"},"nativeSrc":"51048:39:27","nodeType":"YulFunctionCall","src":"51048:39:27"}],"functionName":{"name":"mload","nativeSrc":"51042:5:27","nodeType":"YulIdentifier","src":"51042:5:27"},"nativeSrc":"51042:46:27","nodeType":"YulFunctionCall","src":"51042:46:27"}],"functionName":{"name":"mstore","nativeSrc":"51015:6:27","nodeType":"YulIdentifier","src":"51015:6:27"},"nativeSrc":"51015:74:27","nodeType":"YulFunctionCall","src":"51015:74:27"},"nativeSrc":"51015:74:27","nodeType":"YulExpressionStatement","src":"51015:74:27"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"resultA","nativeSrc":"51155:7:27","nodeType":"YulIdentifier","src":"51155:7:27"},{"kind":"number","nativeSrc":"51164:4:27","nodeType":"YulLiteral","src":"51164:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"51151:3:27","nodeType":"YulIdentifier","src":"51151:3:27"},"nativeSrc":"51151:18:27","nodeType":"YulFunctionCall","src":"51151:18:27"},{"arguments":[{"name":"resultA","nativeSrc":"51177:7:27","nodeType":"YulIdentifier","src":"51177:7:27"}],"functionName":{"name":"mload","nativeSrc":"51171:5:27","nodeType":"YulIdentifier","src":"51171:5:27"},"nativeSrc":"51171:14:27","nodeType":"YulFunctionCall","src":"51171:14:27"}],"functionName":{"name":"add","nativeSrc":"51147:3:27","nodeType":"YulIdentifier","src":"51147:3:27"},"nativeSrc":"51147:39:27","nodeType":"YulFunctionCall","src":"51147:39:27"},{"kind":"number","nativeSrc":"51188:1:27","nodeType":"YulLiteral","src":"51188:1:27","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"51140:6:27","nodeType":"YulIdentifier","src":"51140:6:27"},"nativeSrc":"51140:50:27","nodeType":"YulFunctionCall","src":"51140:50:27"},"nativeSrc":"51140:50:27","nodeType":"YulExpressionStatement","src":"51140:50:27"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"resultB","nativeSrc":"51218:7:27","nodeType":"YulIdentifier","src":"51218:7:27"},{"kind":"number","nativeSrc":"51227:4:27","nodeType":"YulLiteral","src":"51227:4:27","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"51214:3:27","nodeType":"YulIdentifier","src":"51214:3:27"},"nativeSrc":"51214:18:27","nodeType":"YulFunctionCall","src":"51214:18:27"},{"arguments":[{"name":"resultB","nativeSrc":"51240:7:27","nodeType":"YulIdentifier","src":"51240:7:27"}],"functionName":{"name":"mload","nativeSrc":"51234:5:27","nodeType":"YulIdentifier","src":"51234:5:27"},"nativeSrc":"51234:14:27","nodeType":"YulFunctionCall","src":"51234:14:27"}],"functionName":{"name":"add","nativeSrc":"51210:3:27","nodeType":"YulIdentifier","src":"51210:3:27"},"nativeSrc":"51210:39:27","nodeType":"YulFunctionCall","src":"51210:39:27"},{"kind":"number","nativeSrc":"51251:1:27","nodeType":"YulLiteral","src":"51251:1:27","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"51203:6:27","nodeType":"YulIdentifier","src":"51203:6:27"},"nativeSrc":"51203:50:27","nodeType":"YulFunctionCall","src":"51203:50:27"},"nativeSrc":"51203:50:27","nodeType":"YulExpressionStatement","src":"51203:50:27"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":47648,"isOffset":false,"isSlot":false,"src":"50995:6:27","valueSize":1},{"declaration":47651,"isOffset":false,"isSlot":false,"src":"50600:7:27","valueSize":1},{"declaration":47651,"isOffset":false,"isSlot":false,"src":"50650:7:27","valueSize":1},{"declaration":47651,"isOffset":false,"isSlot":false,"src":"50869:7:27","valueSize":1},{"declaration":47651,"isOffset":false,"isSlot":false,"src":"50979:7:27","valueSize":1},{"declaration":47651,"isOffset":false,"isSlot":false,"src":"51056:7:27","valueSize":1},{"declaration":47651,"isOffset":false,"isSlot":false,"src":"51078:7:27","valueSize":1},{"declaration":47651,"isOffset":false,"isSlot":false,"src":"51155:7:27","valueSize":1},{"declaration":47651,"isOffset":false,"isSlot":false,"src":"51177:7:27","valueSize":1},{"declaration":47653,"isOffset":false,"isSlot":false,"src":"50635:7:27","valueSize":1},{"declaration":47653,"isOffset":false,"isSlot":false,"src":"50793:7:27","valueSize":1},{"declaration":47653,"isOffset":false,"isSlot":false,"src":"50900:7:27","valueSize":1},{"declaration":47653,"isOffset":false,"isSlot":false,"src":"51026:7:27","valueSize":1},{"declaration":47653,"isOffset":false,"isSlot":false,"src":"51218:7:27","valueSize":1},{"declaration":47653,"isOffset":false,"isSlot":false,"src":"51240:7:27","valueSize":1}],"id":47655,"nodeType":"InlineAssembly","src":"50532:731:27"}]},"documentation":{"id":47646,"nodeType":"StructuredDocumentation","src":"50146:196:27","text":"@dev Unpacks strings packed using {packTwo}.\n Returns the empty strings if `packed` is `bytes32(0)`.\n If `packed` is not an output of {packTwo}, the output behavior is undefined."},"implemented":true,"kind":"function","modifiers":[],"name":"unpackTwo","nameLocation":"50356:9:27","parameters":{"id":47649,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47648,"mutability":"mutable","name":"packed","nameLocation":"50374:6:27","nodeType":"VariableDeclaration","scope":47657,"src":"50366:14:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":47647,"name":"bytes32","nodeType":"ElementaryTypeName","src":"50366:7:27","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"50365:16:27"},"returnParameters":{"id":47654,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47651,"mutability":"mutable","name":"resultA","nameLocation":"50443:7:27","nodeType":"VariableDeclaration","scope":47657,"src":"50429:21:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47650,"name":"string","nodeType":"ElementaryTypeName","src":"50429:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47653,"mutability":"mutable","name":"resultB","nameLocation":"50466:7:27","nodeType":"VariableDeclaration","scope":47657,"src":"50452:21:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47652,"name":"string","nodeType":"ElementaryTypeName","src":"50452:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"50428:46:27"},"scope":47666,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47665,"nodeType":"FunctionDefinition","src":"51326:602:27","nodes":[],"body":{"id":47664,"nodeType":"Block","src":"51379:549:27","nodes":[],"statements":[{"AST":{"nativeSrc":"51398:524:27","nodeType":"YulBlock","src":"51398:524:27","statements":[{"nativeSrc":"51490:28:27","nodeType":"YulVariableDeclaration","src":"51490:28:27","value":{"arguments":[{"name":"a","nativeSrc":"51510:1:27","nodeType":"YulIdentifier","src":"51510:1:27"},{"kind":"number","nativeSrc":"51513:4:27","nodeType":"YulLiteral","src":"51513:4:27","type":"","value":"0x20"}],"functionName":{"name":"sub","nativeSrc":"51506:3:27","nodeType":"YulIdentifier","src":"51506:3:27"},"nativeSrc":"51506:12:27","nodeType":"YulFunctionCall","src":"51506:12:27"},"variables":[{"name":"retStart","nativeSrc":"51494:8:27","nodeType":"YulTypedName","src":"51494:8:27","type":""}]},{"nativeSrc":"51531:34:27","nodeType":"YulVariableDeclaration","src":"51531:34:27","value":{"arguments":[{"arguments":[{"name":"a","nativeSrc":"51556:1:27","nodeType":"YulIdentifier","src":"51556:1:27"}],"functionName":{"name":"mload","nativeSrc":"51550:5:27","nodeType":"YulIdentifier","src":"51550:5:27"},"nativeSrc":"51550:8:27","nodeType":"YulFunctionCall","src":"51550:8:27"},{"kind":"number","nativeSrc":"51560:4:27","nodeType":"YulLiteral","src":"51560:4:27","type":"","value":"0x40"}],"functionName":{"name":"add","nativeSrc":"51546:3:27","nodeType":"YulIdentifier","src":"51546:3:27"},"nativeSrc":"51546:19:27","nodeType":"YulFunctionCall","src":"51546:19:27"},"variables":[{"name":"retSize","nativeSrc":"51535:7:27","nodeType":"YulTypedName","src":"51535:7:27","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"retStart","nativeSrc":"51719:8:27","nodeType":"YulIdentifier","src":"51719:8:27"},{"name":"retSize","nativeSrc":"51729:7:27","nodeType":"YulIdentifier","src":"51729:7:27"}],"functionName":{"name":"add","nativeSrc":"51715:3:27","nodeType":"YulIdentifier","src":"51715:3:27"},"nativeSrc":"51715:22:27","nodeType":"YulFunctionCall","src":"51715:22:27"},{"kind":"number","nativeSrc":"51739:1:27","nodeType":"YulLiteral","src":"51739:1:27","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"51708:6:27","nodeType":"YulIdentifier","src":"51708:6:27"},"nativeSrc":"51708:33:27","nodeType":"YulFunctionCall","src":"51708:33:27"},"nativeSrc":"51708:33:27","nodeType":"YulExpressionStatement","src":"51708:33:27"},{"expression":{"arguments":[{"name":"retStart","nativeSrc":"51801:8:27","nodeType":"YulIdentifier","src":"51801:8:27"},{"kind":"number","nativeSrc":"51811:4:27","nodeType":"YulLiteral","src":"51811:4:27","type":"","value":"0x20"}],"functionName":{"name":"mstore","nativeSrc":"51794:6:27","nodeType":"YulIdentifier","src":"51794:6:27"},"nativeSrc":"51794:22:27","nodeType":"YulFunctionCall","src":"51794:22:27"},"nativeSrc":"51794:22:27","nodeType":"YulExpressionStatement","src":"51794:22:27"},{"expression":{"arguments":[{"name":"retStart","nativeSrc":"51894:8:27","nodeType":"YulIdentifier","src":"51894:8:27"},{"name":"retSize","nativeSrc":"51904:7:27","nodeType":"YulIdentifier","src":"51904:7:27"}],"functionName":{"name":"return","nativeSrc":"51887:6:27","nodeType":"YulIdentifier","src":"51887:6:27"},"nativeSrc":"51887:25:27","nodeType":"YulFunctionCall","src":"51887:25:27"},"nativeSrc":"51887:25:27","nodeType":"YulExpressionStatement","src":"51887:25:27"}]},"evmVersion":"cancun","externalReferences":[{"declaration":47660,"isOffset":false,"isSlot":false,"src":"51510:1:27","valueSize":1},{"declaration":47660,"isOffset":false,"isSlot":false,"src":"51556:1:27","valueSize":1}],"id":47663,"nodeType":"InlineAssembly","src":"51389:533:27"}]},"documentation":{"id":47658,"nodeType":"StructuredDocumentation","src":"51275:46:27","text":"@dev Directly returns `a` without copying."},"implemented":true,"kind":"function","modifiers":[],"name":"directReturn","nameLocation":"51335:12:27","parameters":{"id":47661,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47660,"mutability":"mutable","name":"a","nameLocation":"51362:1:27","nodeType":"VariableDeclaration","scope":47665,"src":"51348:15:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47659,"name":"string","nodeType":"ElementaryTypeName","src":"51348:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"51347:17:27"},"returnParameters":{"id":47662,"nodeType":"ParameterList","parameters":[],"src":"51379:0:27"},"scope":47666,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"LibString","contractDependencies":[],"contractKind":"library","documentation":{"id":47014,"nodeType":"StructuredDocumentation","src":"57:586:27","text":"@notice Library for converting numbers into strings and other string operations.\n @author Solady (https://github.com/vectorized/solady/blob/main/src/utils/LibString.sol)\n @author Modified from Solmate (https://github.com/transmissions11/solmate/blob/main/src/utils/LibString.sol)\n Note:\n For performance and bytecode compactness, most of the string operations are restricted to\n byte strings (7-bit ASCII), except where otherwise specified.\n Usage of byte string operations on charsets with runes spanning two or more bytes\n can lead to undefined behavior."},"fullyImplemented":true,"linearizedBaseContracts":[47666],"name":"LibString","nameLocation":"651:9:27","scope":47667,"usedErrors":[47017,47020],"usedEvents":[]}],"license":"MIT"},"id":27}