@tokamak-network/thanos-contracts
Version:
1 lines • 177 kB
JSON
{"abi":[],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.15+commit.e14f2714\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Solady (https://github.com/vectorized/solady/blob/main/src/utils/Clone.sol)Adapted from clones with immutable args by zefram.eth, Saw-mon & Natalie (https://github.com/Saw-mon-and-Natalie/clones-with-immutable-args)\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Class with helper read functions for clone with immutable args.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/solady/src/utils/Clone.sol\":\"Clone\"},\"evmVersion\":\"london\",\"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/Clone.sol\":{\"keccak256\":\"0xb408dc90294bacd394e59c83619e7dc76f45c83ad6f8e923eb07d3a5bab89f22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3abeb55ad062c4b29b5b5edab6167de36615c51621ef71ef3ddfd9f6735a93b\",\"dweb:/ipfs/Qmboh4zX6ZgFVhetUhZGJ14kKXiaGeB9bW3Vseg2MLMGHW\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.15+commit.e14f2714"},"language":"Solidity","output":{"abi":[],"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/Clone.sol":"Clone"},"evmVersion":"london","libraries":{"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker":"0x4200000000000000000000000000000000000776"}},"sources":{"lib/solady/src/utils/Clone.sol":{"keccak256":"0xb408dc90294bacd394e59c83619e7dc76f45c83ad6f8e923eb07d3a5bab89f22","urls":["bzz-raw://c3abeb55ad062c4b29b5b5edab6167de36615c51621ef71ef3ddfd9f6735a93b","dweb:/ipfs/Qmboh4zX6ZgFVhetUhZGJ14kKXiaGeB9bW3Vseg2MLMGHW"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user","notice":"Class with helper read functions for clone with immutable args."},"devdoc":{"version":1,"kind":"dev","author":"Solady (https://github.com/vectorized/solady/blob/main/src/utils/Clone.sol)Adapted from clones with immutable args by zefram.eth, Saw-mon & Natalie (https://github.com/Saw-mon-and-Natalie/clones-with-immutable-args)"},"ast":{"absolutePath":"lib/solady/src/utils/Clone.sol","id":61485,"exportedSymbols":{"Clone":[61484]},"nodeType":"SourceUnit","src":"32:14573:102","nodes":[{"id":60898,"nodeType":"PragmaDirective","src":"32:23:102","nodes":[],"literals":["solidity","^","0.8",".4"]},{"id":61484,"nodeType":"ContractDefinition","src":"378:14226:102","nodes":[{"id":60912,"nodeType":"FunctionDefinition","src":"454:609:102","nodes":[],"body":{"id":60911,"nodeType":"Block","src":"519:544:102","nodes":[],"statements":[{"assignments":[60906],"declarations":[{"constant":false,"id":60906,"mutability":"mutable","name":"offset","nameLocation":"537:6:102","nodeType":"VariableDeclaration","scope":60911,"src":"529:14:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60905,"name":"uint256","nodeType":"ElementaryTypeName","src":"529:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":60909,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":60907,"name":"_getImmutableArgsOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61483,"src":"546:23:102","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":60908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"546:25:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"529:42:102"},{"AST":{"nodeType":"YulBlock","src":"633:424:102","statements":[{"nodeType":"YulAssignment","src":"647:18:102","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"660:4:102","type":"","value":"0x40"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"654:5:102"},"nodeType":"YulFunctionCall","src":"654:11:102"},"variableNames":[{"name":"arg","nodeType":"YulIdentifier","src":"647:3:102"}]},{"nodeType":"YulVariableDeclaration","src":"678:49:102","value":{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"696:12:102"},"nodeType":"YulFunctionCall","src":"696:14:102"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"716:1:102","type":"","value":"2"},{"name":"offset","nodeType":"YulIdentifier","src":"719:6:102"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"712:3:102"},"nodeType":"YulFunctionCall","src":"712:14:102"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"692:3:102"},"nodeType":"YulFunctionCall","src":"692:35:102"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"682:6:102","type":""}]},{"expression":{"arguments":[{"name":"arg","nodeType":"YulIdentifier","src":"783:3:102"},{"name":"length","nodeType":"YulIdentifier","src":"788:6:102"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"776:6:102"},"nodeType":"YulFunctionCall","src":"776:19:102"},"nodeType":"YulExpressionStatement","src":"776:19:102"},{"expression":{"arguments":[{"arguments":[{"name":"arg","nodeType":"YulIdentifier","src":"846:3:102"},{"kind":"number","nodeType":"YulLiteral","src":"851:4:102","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"842:3:102"},"nodeType":"YulFunctionCall","src":"842:14:102"},{"name":"offset","nodeType":"YulIdentifier","src":"858:6:102"},{"name":"length","nodeType":"YulIdentifier","src":"866:6:102"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"829:12:102"},"nodeType":"YulFunctionCall","src":"829:44:102"},"nodeType":"YulExpressionStatement","src":"829:44:102"},{"nodeType":"YulVariableDeclaration","src":"886:36:102","value":{"arguments":[{"arguments":[{"name":"arg","nodeType":"YulIdentifier","src":"903:3:102"},{"kind":"number","nodeType":"YulLiteral","src":"908:4:102","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"899:3:102"},"nodeType":"YulFunctionCall","src":"899:14:102"},{"name":"length","nodeType":"YulIdentifier","src":"915:6:102"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"895:3:102"},"nodeType":"YulFunctionCall","src":"895:27:102"},"variables":[{"name":"o","nodeType":"YulTypedName","src":"890:1:102","type":""}]},{"expression":{"arguments":[{"name":"o","nodeType":"YulIdentifier","src":"942:1:102"},{"kind":"number","nodeType":"YulLiteral","src":"945:1:102","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"935:6:102"},"nodeType":"YulFunctionCall","src":"935:12:102"},"nodeType":"YulExpressionStatement","src":"935:12:102"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1004:4:102","type":"","value":"0x40"},{"arguments":[{"name":"o","nodeType":"YulIdentifier","src":"1014:1:102"},{"kind":"number","nodeType":"YulLiteral","src":"1017:4:102","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1010:3:102"},"nodeType":"YulFunctionCall","src":"1010:12:102"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"997:6:102"},"nodeType":"YulFunctionCall","src":"997:26:102"},"nodeType":"YulExpressionStatement","src":"997:26:102"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":60903,"isOffset":false,"isSlot":false,"src":"647:3:102","valueSize":1},{"declaration":60903,"isOffset":false,"isSlot":false,"src":"783:3:102","valueSize":1},{"declaration":60903,"isOffset":false,"isSlot":false,"src":"846:3:102","valueSize":1},{"declaration":60903,"isOffset":false,"isSlot":false,"src":"903:3:102","valueSize":1},{"declaration":60906,"isOffset":false,"isSlot":false,"src":"719:6:102","valueSize":1},{"declaration":60906,"isOffset":false,"isSlot":false,"src":"858:6:102","valueSize":1}],"id":60910,"nodeType":"InlineAssembly","src":"624:433:102"}]},"documentation":{"id":60900,"nodeType":"StructuredDocumentation","src":"408:41:102","text":"@dev Reads all of the immutable args."},"implemented":true,"kind":"function","modifiers":[],"name":"_getArgBytes","nameLocation":"463:12:102","parameters":{"id":60901,"nodeType":"ParameterList","parameters":[],"src":"475:2:102"},"returnParameters":{"id":60904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60903,"mutability":"mutable","name":"arg","nameLocation":"514:3:102","nodeType":"VariableDeclaration","scope":60912,"src":"501:16:102","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":60902,"name":"bytes","nodeType":"ElementaryTypeName","src":"501:5:102","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"500:18:102"},"scope":61484,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":60929,"nodeType":"FunctionDefinition","src":"1122:588:102","nodes":[],"body":{"id":60928,"nodeType":"Block","src":"1248:462:102","nodes":[],"statements":[{"assignments":[60923],"declarations":[{"constant":false,"id":60923,"mutability":"mutable","name":"offset","nameLocation":"1266:6:102","nodeType":"VariableDeclaration","scope":60928,"src":"1258:14:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60922,"name":"uint256","nodeType":"ElementaryTypeName","src":"1258:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":60926,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":60924,"name":"_getImmutableArgsOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61483,"src":"1275:23:102","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":60925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1275:25:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1258:42:102"},{"AST":{"nodeType":"YulBlock","src":"1362:342:102","statements":[{"nodeType":"YulAssignment","src":"1376:18:102","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1389:4:102","type":"","value":"0x40"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1383:5:102"},"nodeType":"YulFunctionCall","src":"1383:11:102"},"variableNames":[{"name":"arg","nodeType":"YulIdentifier","src":"1376:3:102"}]},{"expression":{"arguments":[{"name":"arg","nodeType":"YulIdentifier","src":"1414:3:102"},{"name":"length","nodeType":"YulIdentifier","src":"1419:6:102"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1407:6:102"},"nodeType":"YulFunctionCall","src":"1407:19:102"},"nodeType":"YulExpressionStatement","src":"1407:19:102"},{"expression":{"arguments":[{"arguments":[{"name":"arg","nodeType":"YulIdentifier","src":"1477:3:102"},{"kind":"number","nodeType":"YulLiteral","src":"1482:4:102","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1473:3:102"},"nodeType":"YulFunctionCall","src":"1473:14:102"},{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1493:6:102"},{"name":"argOffset","nodeType":"YulIdentifier","src":"1501:9:102"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1489:3:102"},"nodeType":"YulFunctionCall","src":"1489:22:102"},{"name":"length","nodeType":"YulIdentifier","src":"1513:6:102"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"1460:12:102"},"nodeType":"YulFunctionCall","src":"1460:60:102"},"nodeType":"YulExpressionStatement","src":"1460:60:102"},{"nodeType":"YulVariableDeclaration","src":"1533:36:102","value":{"arguments":[{"arguments":[{"name":"arg","nodeType":"YulIdentifier","src":"1550:3:102"},{"kind":"number","nodeType":"YulLiteral","src":"1555:4:102","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1546:3:102"},"nodeType":"YulFunctionCall","src":"1546:14:102"},{"name":"length","nodeType":"YulIdentifier","src":"1562:6:102"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1542:3:102"},"nodeType":"YulFunctionCall","src":"1542:27:102"},"variables":[{"name":"o","nodeType":"YulTypedName","src":"1537:1:102","type":""}]},{"expression":{"arguments":[{"name":"o","nodeType":"YulIdentifier","src":"1589:1:102"},{"kind":"number","nodeType":"YulLiteral","src":"1592:1:102","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1582:6:102"},"nodeType":"YulFunctionCall","src":"1582:12:102"},"nodeType":"YulExpressionStatement","src":"1582:12:102"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1651:4:102","type":"","value":"0x40"},{"arguments":[{"name":"o","nodeType":"YulIdentifier","src":"1661:1:102"},{"kind":"number","nodeType":"YulLiteral","src":"1664:4:102","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1657:3:102"},"nodeType":"YulFunctionCall","src":"1657:12:102"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1644:6:102"},"nodeType":"YulFunctionCall","src":"1644:26:102"},"nodeType":"YulExpressionStatement","src":"1644:26:102"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":60920,"isOffset":false,"isSlot":false,"src":"1376:3:102","valueSize":1},{"declaration":60920,"isOffset":false,"isSlot":false,"src":"1414:3:102","valueSize":1},{"declaration":60920,"isOffset":false,"isSlot":false,"src":"1477:3:102","valueSize":1},{"declaration":60920,"isOffset":false,"isSlot":false,"src":"1550:3:102","valueSize":1},{"declaration":60915,"isOffset":false,"isSlot":false,"src":"1501:9:102","valueSize":1},{"declaration":60917,"isOffset":false,"isSlot":false,"src":"1419:6:102","valueSize":1},{"declaration":60917,"isOffset":false,"isSlot":false,"src":"1513:6:102","valueSize":1},{"declaration":60917,"isOffset":false,"isSlot":false,"src":"1562:6:102","valueSize":1},{"declaration":60923,"isOffset":false,"isSlot":false,"src":"1493:6:102","valueSize":1}],"id":60927,"nodeType":"InlineAssembly","src":"1353:351:102"}]},"documentation":{"id":60913,"nodeType":"StructuredDocumentation","src":"1069:48:102","text":"@dev Reads an immutable arg with type bytes."},"implemented":true,"kind":"function","modifiers":[],"name":"_getArgBytes","nameLocation":"1131:12:102","parameters":{"id":60918,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60915,"mutability":"mutable","name":"argOffset","nameLocation":"1152:9:102","nodeType":"VariableDeclaration","scope":60929,"src":"1144:17:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60914,"name":"uint256","nodeType":"ElementaryTypeName","src":"1144:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":60917,"mutability":"mutable","name":"length","nameLocation":"1171:6:102","nodeType":"VariableDeclaration","scope":60929,"src":"1163:14:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60916,"name":"uint256","nodeType":"ElementaryTypeName","src":"1163:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1143:35:102"},"returnParameters":{"id":60921,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60920,"mutability":"mutable","name":"arg","nameLocation":"1239:3:102","nodeType":"VariableDeclaration","scope":60929,"src":"1226:16:102","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":60919,"name":"bytes","nodeType":"ElementaryTypeName","src":"1226:5:102","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1225:18:102"},"scope":61484,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":60944,"nodeType":"FunctionDefinition","src":"1771:275:102","nodes":[],"body":{"id":60943,"nodeType":"Block","src":"1850:196:102","nodes":[],"statements":[{"assignments":[60938],"declarations":[{"constant":false,"id":60938,"mutability":"mutable","name":"offset","nameLocation":"1868:6:102","nodeType":"VariableDeclaration","scope":60943,"src":"1860:14:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60937,"name":"uint256","nodeType":"ElementaryTypeName","src":"1860:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":60941,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":60939,"name":"_getImmutableArgsOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61483,"src":"1877:23:102","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":60940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1877:25:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1860:42:102"},{"AST":{"nodeType":"YulBlock","src":"1964:76:102","statements":[{"nodeType":"YulAssignment","src":"1978:52:102","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1989:2:102","type":"","value":"96"},{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2010:6:102"},{"name":"argOffset","nodeType":"YulIdentifier","src":"2018:9:102"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2006:3:102"},"nodeType":"YulFunctionCall","src":"2006:22:102"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1993:12:102"},"nodeType":"YulFunctionCall","src":"1993:36:102"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"1985:3:102"},"nodeType":"YulFunctionCall","src":"1985:45:102"},"variableNames":[{"name":"arg","nodeType":"YulIdentifier","src":"1978:3:102"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":60935,"isOffset":false,"isSlot":false,"src":"1978:3:102","valueSize":1},{"declaration":60932,"isOffset":false,"isSlot":false,"src":"2018:9:102","valueSize":1},{"declaration":60938,"isOffset":false,"isSlot":false,"src":"2010:6:102","valueSize":1}],"id":60942,"nodeType":"InlineAssembly","src":"1955:85:102"}]},"documentation":{"id":60930,"nodeType":"StructuredDocumentation","src":"1716:50:102","text":"@dev Reads an immutable arg with type address."},"implemented":true,"kind":"function","modifiers":[],"name":"_getArgAddress","nameLocation":"1780:14:102","parameters":{"id":60933,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60932,"mutability":"mutable","name":"argOffset","nameLocation":"1803:9:102","nodeType":"VariableDeclaration","scope":60944,"src":"1795:17:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60931,"name":"uint256","nodeType":"ElementaryTypeName","src":"1795:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1794:19:102"},"returnParameters":{"id":60936,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60935,"mutability":"mutable","name":"arg","nameLocation":"1845:3:102","nodeType":"VariableDeclaration","scope":60944,"src":"1837:11:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":60934,"name":"address","nodeType":"ElementaryTypeName","src":"1837:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1836:13:102"},"scope":61484,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":60962,"nodeType":"FunctionDefinition","src":"2117:519:102","nodes":[],"body":{"id":60961,"nodeType":"Block","src":"2254:382:102","nodes":[],"statements":[{"assignments":[60956],"declarations":[{"constant":false,"id":60956,"mutability":"mutable","name":"offset","nameLocation":"2272:6:102","nodeType":"VariableDeclaration","scope":60961,"src":"2264:14:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60955,"name":"uint256","nodeType":"ElementaryTypeName","src":"2264:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":60959,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":60957,"name":"_getImmutableArgsOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61483,"src":"2281:23:102","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":60958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2281:25:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2264:42:102"},{"AST":{"nodeType":"YulBlock","src":"2368:262:102","statements":[{"nodeType":"YulAssignment","src":"2382:18:102","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2395:4:102","type":"","value":"0x40"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2389:5:102"},"nodeType":"YulFunctionCall","src":"2389:11:102"},"variableNames":[{"name":"arg","nodeType":"YulIdentifier","src":"2382:3:102"}]},{"expression":{"arguments":[{"name":"arg","nodeType":"YulIdentifier","src":"2420:3:102"},{"name":"length","nodeType":"YulIdentifier","src":"2425:6:102"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2413:6:102"},"nodeType":"YulFunctionCall","src":"2413:19:102"},"nodeType":"YulExpressionStatement","src":"2413:19:102"},{"expression":{"arguments":[{"arguments":[{"name":"arg","nodeType":"YulIdentifier","src":"2483:3:102"},{"kind":"number","nodeType":"YulLiteral","src":"2488:4:102","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2479:3:102"},"nodeType":"YulFunctionCall","src":"2479:14:102"},{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2499:6:102"},{"name":"argOffset","nodeType":"YulIdentifier","src":"2507:9:102"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2495:3:102"},"nodeType":"YulFunctionCall","src":"2495:22:102"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2523:1:102","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"2526:6:102"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2519:3:102"},"nodeType":"YulFunctionCall","src":"2519:14:102"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"2466:12:102"},"nodeType":"YulFunctionCall","src":"2466:68:102"},"nodeType":"YulExpressionStatement","src":"2466:68:102"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2554:4:102","type":"","value":"0x40"},{"arguments":[{"arguments":[{"name":"arg","nodeType":"YulIdentifier","src":"2568:3:102"},{"kind":"number","nodeType":"YulLiteral","src":"2573:4:102","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2564:3:102"},"nodeType":"YulFunctionCall","src":"2564:14:102"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2584:1:102","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"2587:6:102"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2580:3:102"},"nodeType":"YulFunctionCall","src":"2580:14:102"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2560:3:102"},"nodeType":"YulFunctionCall","src":"2560:35:102"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2547:6:102"},"nodeType":"YulFunctionCall","src":"2547:49:102"},"nodeType":"YulExpressionStatement","src":"2547:49:102"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":60953,"isOffset":false,"isSlot":false,"src":"2382:3:102","valueSize":1},{"declaration":60953,"isOffset":false,"isSlot":false,"src":"2420:3:102","valueSize":1},{"declaration":60953,"isOffset":false,"isSlot":false,"src":"2483:3:102","valueSize":1},{"declaration":60953,"isOffset":false,"isSlot":false,"src":"2568:3:102","valueSize":1},{"declaration":60947,"isOffset":false,"isSlot":false,"src":"2507:9:102","valueSize":1},{"declaration":60949,"isOffset":false,"isSlot":false,"src":"2425:6:102","valueSize":1},{"declaration":60949,"isOffset":false,"isSlot":false,"src":"2526:6:102","valueSize":1},{"declaration":60949,"isOffset":false,"isSlot":false,"src":"2587:6:102","valueSize":1},{"declaration":60956,"isOffset":false,"isSlot":false,"src":"2499:6:102","valueSize":1}],"id":60960,"nodeType":"InlineAssembly","src":"2359:271:102"}]},"documentation":{"id":60945,"nodeType":"StructuredDocumentation","src":"2052:60:102","text":"@dev Reads a uint256 array stored in the immutable args."},"implemented":true,"kind":"function","modifiers":[],"name":"_getArgUint256Array","nameLocation":"2126:19:102","parameters":{"id":60950,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60947,"mutability":"mutable","name":"argOffset","nameLocation":"2154:9:102","nodeType":"VariableDeclaration","scope":60962,"src":"2146:17:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60946,"name":"uint256","nodeType":"ElementaryTypeName","src":"2146:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":60949,"mutability":"mutable","name":"length","nameLocation":"2173:6:102","nodeType":"VariableDeclaration","scope":60962,"src":"2165:14:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60948,"name":"uint256","nodeType":"ElementaryTypeName","src":"2165:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2145:35:102"},"returnParameters":{"id":60954,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60953,"mutability":"mutable","name":"arg","nameLocation":"2245:3:102","nodeType":"VariableDeclaration","scope":60962,"src":"2228:20:102","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":60951,"name":"uint256","nodeType":"ElementaryTypeName","src":"2228:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":60952,"nodeType":"ArrayTypeName","src":"2228:9:102","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"2227:22:102"},"scope":61484,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":60980,"nodeType":"FunctionDefinition","src":"2707:519:102","nodes":[],"body":{"id":60979,"nodeType":"Block","src":"2844:382:102","nodes":[],"statements":[{"assignments":[60974],"declarations":[{"constant":false,"id":60974,"mutability":"mutable","name":"offset","nameLocation":"2862:6:102","nodeType":"VariableDeclaration","scope":60979,"src":"2854:14:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60973,"name":"uint256","nodeType":"ElementaryTypeName","src":"2854:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":60977,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":60975,"name":"_getImmutableArgsOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61483,"src":"2871:23:102","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":60976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2871:25:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2854:42:102"},{"AST":{"nodeType":"YulBlock","src":"2958:262:102","statements":[{"nodeType":"YulAssignment","src":"2972:18:102","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2985:4:102","type":"","value":"0x40"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2979:5:102"},"nodeType":"YulFunctionCall","src":"2979:11:102"},"variableNames":[{"name":"arg","nodeType":"YulIdentifier","src":"2972:3:102"}]},{"expression":{"arguments":[{"name":"arg","nodeType":"YulIdentifier","src":"3010:3:102"},{"name":"length","nodeType":"YulIdentifier","src":"3015:6:102"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3003:6:102"},"nodeType":"YulFunctionCall","src":"3003:19:102"},"nodeType":"YulExpressionStatement","src":"3003:19:102"},{"expression":{"arguments":[{"arguments":[{"name":"arg","nodeType":"YulIdentifier","src":"3073:3:102"},{"kind":"number","nodeType":"YulLiteral","src":"3078:4:102","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3069:3:102"},"nodeType":"YulFunctionCall","src":"3069:14:102"},{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3089:6:102"},{"name":"argOffset","nodeType":"YulIdentifier","src":"3097:9:102"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3085:3:102"},"nodeType":"YulFunctionCall","src":"3085:22:102"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3113:1:102","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"3116:6:102"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3109:3:102"},"nodeType":"YulFunctionCall","src":"3109:14:102"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"3056:12:102"},"nodeType":"YulFunctionCall","src":"3056:68:102"},"nodeType":"YulExpressionStatement","src":"3056:68:102"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3144:4:102","type":"","value":"0x40"},{"arguments":[{"arguments":[{"name":"arg","nodeType":"YulIdentifier","src":"3158:3:102"},{"kind":"number","nodeType":"YulLiteral","src":"3163:4:102","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3154:3:102"},"nodeType":"YulFunctionCall","src":"3154:14:102"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3174:1:102","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"3177:6:102"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3170:3:102"},"nodeType":"YulFunctionCall","src":"3170:14:102"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3150:3:102"},"nodeType":"YulFunctionCall","src":"3150:35:102"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3137:6:102"},"nodeType":"YulFunctionCall","src":"3137:49:102"},"nodeType":"YulExpressionStatement","src":"3137:49:102"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":60971,"isOffset":false,"isSlot":false,"src":"2972:3:102","valueSize":1},{"declaration":60971,"isOffset":false,"isSlot":false,"src":"3010:3:102","valueSize":1},{"declaration":60971,"isOffset":false,"isSlot":false,"src":"3073:3:102","valueSize":1},{"declaration":60971,"isOffset":false,"isSlot":false,"src":"3158:3:102","valueSize":1},{"declaration":60965,"isOffset":false,"isSlot":false,"src":"3097:9:102","valueSize":1},{"declaration":60967,"isOffset":false,"isSlot":false,"src":"3015:6:102","valueSize":1},{"declaration":60967,"isOffset":false,"isSlot":false,"src":"3116:6:102","valueSize":1},{"declaration":60967,"isOffset":false,"isSlot":false,"src":"3177:6:102","valueSize":1},{"declaration":60974,"isOffset":false,"isSlot":false,"src":"3089:6:102","valueSize":1}],"id":60978,"nodeType":"InlineAssembly","src":"2949:271:102"}]},"documentation":{"id":60963,"nodeType":"StructuredDocumentation","src":"2642:60:102","text":"@dev Reads a bytes32 array stored in the immutable args."},"implemented":true,"kind":"function","modifiers":[],"name":"_getArgBytes32Array","nameLocation":"2716:19:102","parameters":{"id":60968,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60965,"mutability":"mutable","name":"argOffset","nameLocation":"2744:9:102","nodeType":"VariableDeclaration","scope":60980,"src":"2736:17:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60964,"name":"uint256","nodeType":"ElementaryTypeName","src":"2736:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":60967,"mutability":"mutable","name":"length","nameLocation":"2763:6:102","nodeType":"VariableDeclaration","scope":60980,"src":"2755:14:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60966,"name":"uint256","nodeType":"ElementaryTypeName","src":"2755:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2735:35:102"},"returnParameters":{"id":60972,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60971,"mutability":"mutable","name":"arg","nameLocation":"2835:3:102","nodeType":"VariableDeclaration","scope":60980,"src":"2818:20:102","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":60969,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2818:7:102","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":60970,"nodeType":"ArrayTypeName","src":"2818:9:102","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"2817:22:102"},"scope":61484,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":60995,"nodeType":"FunctionDefinition","src":"3287:266:102","nodes":[],"body":{"id":60994,"nodeType":"Block","src":"3366:187:102","nodes":[],"statements":[{"assignments":[60989],"declarations":[{"constant":false,"id":60989,"mutability":"mutable","name":"offset","nameLocation":"3384:6:102","nodeType":"VariableDeclaration","scope":60994,"src":"3376:14:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60988,"name":"uint256","nodeType":"ElementaryTypeName","src":"3376:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":60992,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":60990,"name":"_getImmutableArgsOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61483,"src":"3393:23:102","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":60991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3393:25:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3376:42:102"},{"AST":{"nodeType":"YulBlock","src":"3480:67:102","statements":[{"nodeType":"YulAssignment","src":"3494:43:102","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3518:6:102"},{"name":"argOffset","nodeType":"YulIdentifier","src":"3526:9:102"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3514:3:102"},"nodeType":"YulFunctionCall","src":"3514:22:102"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3501:12:102"},"nodeType":"YulFunctionCall","src":"3501:36:102"},"variableNames":[{"name":"arg","nodeType":"YulIdentifier","src":"3494:3:102"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":60986,"isOffset":false,"isSlot":false,"src":"3494:3:102","valueSize":1},{"declaration":60983,"isOffset":false,"isSlot":false,"src":"3526:9:102","valueSize":1},{"declaration":60989,"isOffset":false,"isSlot":false,"src":"3518:6:102","valueSize":1}],"id":60993,"nodeType":"InlineAssembly","src":"3471:76:102"}]},"documentation":{"id":60981,"nodeType":"StructuredDocumentation","src":"3232:50:102","text":"@dev Reads an immutable arg with type bytes32."},"implemented":true,"kind":"function","modifiers":[],"name":"_getArgBytes32","nameLocation":"3296:14:102","parameters":{"id":60984,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60983,"mutability":"mutable","name":"argOffset","nameLocation":"3319:9:102","nodeType":"VariableDeclaration","scope":60995,"src":"3311:17:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60982,"name":"uint256","nodeType":"ElementaryTypeName","src":"3311:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3310:19:102"},"returnParameters":{"id":60987,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60986,"mutability":"mutable","name":"arg","nameLocation":"3361:3:102","nodeType":"VariableDeclaration","scope":60995,"src":"3353:11:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":60985,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3353:7:102","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3352:13:102"},"scope":61484,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":61010,"nodeType":"FunctionDefinition","src":"3614:266:102","nodes":[],"body":{"id":61009,"nodeType":"Block","src":"3693:187:102","nodes":[],"statements":[{"assignments":[61004],"declarations":[{"constant":false,"id":61004,"mutability":"mutable","name":"offset","nameLocation":"3711:6:102","nodeType":"VariableDeclaration","scope":61009,"src":"3703:14:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61003,"name":"uint256","nodeType":"ElementaryTypeName","src":"3703:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":61007,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":61005,"name":"_getImmutableArgsOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61483,"src":"3720:23:102","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":61006,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3720:25:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3703:42:102"},{"AST":{"nodeType":"YulBlock","src":"3807:67:102","statements":[{"nodeType":"YulAssignment","src":"3821:43:102","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3845:6:102"},{"name":"argOffset","nodeType":"YulIdentifier","src":"3853:9:102"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3841:3:102"},"nodeType":"YulFunctionCall","src":"3841:22:102"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3828:12:102"},"nodeType":"YulFunctionCall","src":"3828:36:102"},"variableNames":[{"name":"arg","nodeType":"YulIdentifier","src":"3821:3:102"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":61001,"isOffset":false,"isSlot":false,"src":"3821:3:102","valueSize":1},{"declaration":60998,"isOffset":false,"isSlot":false,"src":"3853:9:102","valueSize":1},{"declaration":61004,"isOffset":false,"isSlot":false,"src":"3845:6:102","valueSize":1}],"id":61008,"nodeType":"InlineAssembly","src":"3798:76:102"}]},"documentation":{"id":60996,"nodeType":"StructuredDocumentation","src":"3559:50:102","text":"@dev Reads an immutable arg with type uint256."},"implemented":true,"kind":"function","modifiers":[],"name":"_getArgUint256","nameLocation":"3623:14:102","parameters":{"id":60999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60998,"mutability":"mutable","name":"argOffset","nameLocation":"3646:9:102","nodeType":"VariableDeclaration","scope":61010,"src":"3638:17:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60997,"name":"uint256","nodeType":"ElementaryTypeName","src":"3638:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3637:19:102"},"returnParameters":{"id":61002,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61001,"mutability":"mutable","name":"arg","nameLocation":"3688:3:102","nodeType":"VariableDeclaration","scope":61010,"src":"3680:11:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61000,"name":"uint256","nodeType":"ElementaryTypeName","src":"3680:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3679:13:102"},"scope":61484,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":61025,"nodeType":"FunctionDefinition","src":"3941:274:102","nodes":[],"body":{"id":61024,"nodeType":"Block","src":"4020:195:102","nodes":[],"statements":[{"assignments":[61019],"declarations":[{"constant":false,"id":61019,"mutability":"mutable","name":"offset","nameLocation":"4038:6:102","nodeType":"VariableDeclaration","scope":61024,"src":"4030:14:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61018,"name":"uint256","nodeType":"ElementaryTypeName","src":"4030:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":61022,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":61020,"name":"_getImmutableArgsOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61483,"src":"4047:23:102","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":61021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4047:25:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4030:42:102"},{"AST":{"nodeType":"YulBlock","src":"4134:75:102","statements":[{"nodeType":"YulAssignment","src":"4148:51:102","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4159:1:102","type":"","value":"8"},{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4179:6:102"},{"name":"argOffset","nodeType":"YulIdentifier","src":"4187:9:102"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4175:3:102"},"nodeType":"YulFunctionCall","src":"4175:22:102"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4162:12:102"},"nodeType":"YulFunctionCall","src":"4162:36:102"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"4155:3:102"},"nodeType":"YulFunctionCall","src":"4155:44:102"},"variableNames":[{"name":"arg","nodeType":"YulIdentifier","src":"4148:3:102"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":61016,"isOffset":false,"isSlot":false,"src":"4148:3:102","valueSize":1},{"declaration":61013,"isOffset":false,"isSlot":false,"src":"4187:9:102","valueSize":1},{"declaration":61019,"isOffset":false,"isSlot":false,"src":"4179:6:102","valueSize":1}],"id":61023,"nodeType":"InlineAssembly","src":"4125:84:102"}]},"documentation":{"id":61011,"nodeType":"StructuredDocumentation","src":"3886:50:102","text":"@dev Reads an immutable arg with type uint248."},"implemented":true,"kind":"function","modifiers":[],"name":"_getArgUint248","nameLocation":"3950:14:102","parameters":{"id":61014,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61013,"mutability":"mutable","name":"argOffset","nameLocation":"3973:9:102","nodeType":"VariableDeclaration","scope":61025,"src":"3965:17:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61012,"name":"uint256","nodeType":"ElementaryTypeName","src":"3965:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3964:19:102"},"returnParameters":{"id":61017,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61016,"mutability":"mutable","name":"arg","nameLocation":"4015:3:102","nodeType":"VariableDeclaration","scope":61025,"src":"4007:11:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint248","typeString":"uint248"},"typeName":{