Created
November 27, 2021 00:35
-
-
Save ht55ght55/73bf31123d53ac423b1b7be83a4a4bfb to your computer and use it in GitHub Desktop.
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.8.7+commit.e28d00a7.js&optimize=false&runs=200&gist=
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: LGPL-3.0-only | |
pragma solidity >=0.7.0 <0.9.0; | |
/// @title Enum - Collection of enums | |
/// @author Richard Meissner - <[email protected]> | |
contract Enum { | |
enum Operation {Call, DelegateCall} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: LGPL-3.0-only | |
/// @title Module Interface - A contract that can pass messages to a Module Manager contract if enabled by that contract. | |
pragma solidity >=0.7.0 <0.9.0; | |
import "../interfaces/IAvatar.sol"; | |
import "../factory/FactoryFriendly.sol"; | |
import "../guard/Guardable.sol"; | |
abstract contract Module is FactoryFriendly, Guardable { | |
/// @dev Emitted each time the avatar is set. | |
event AvatarSet(address indexed previousAvatar, address indexed newAvatar); | |
/// @dev Emitted each time the Target is set. | |
event TargetSet(address indexed previousTarget, address indexed newTarget); | |
/// @dev Address that will ultimately execute function calls. | |
address public avatar; | |
/// @dev Address that this module will pass transactions to. | |
address public target; | |
/// @dev Sets the avatar to a new avatar (`newAvatar`). | |
/// @notice Can only be called by the current owner. | |
function setAvatar(address _avatar) public onlyOwner { | |
address previousAvatar = avatar; | |
avatar = _avatar; | |
emit AvatarSet(previousAvatar, _avatar); | |
} | |
/// @dev Sets the target to a new target (`newTarget`). | |
/// @notice Can only be called by the current owner. | |
function setTarget(address _target) public onlyOwner { | |
address previousTarget = target; | |
target = _target; | |
emit TargetSet(previousTarget, _target); | |
} | |
/// @dev Passes a transaction to be executed by the avatar. | |
/// @notice Can only be called by this contract. | |
/// @param to Destination address of module transaction. | |
/// @param value Ether value of module transaction. | |
/// @param data Data payload of module transaction. | |
/// @param operation Operation type of module transaction: 0 == call, 1 == delegate call. | |
function exec( | |
address to, | |
uint256 value, | |
bytes memory data, | |
Enum.Operation operation | |
) internal returns (bool success) { | |
/// check if a transactioon guard is enabled. | |
if (guard != address(0)) { | |
IGuard(guard).checkTransaction( | |
/// Transaction info used by module transactions | |
to, | |
value, | |
data, | |
operation, | |
/// Zero out the redundant transaction information only used for Safe multisig transctions | |
0, | |
0, | |
0, | |
address(0), | |
payable(0), | |
bytes("0x"), | |
address(0) | |
); | |
} | |
success = IAvatar(target).execTransactionFromModule( | |
to, | |
value, | |
data, | |
operation | |
); | |
if (guard != address(0)) { | |
IGuard(guard).checkAfterExecution(bytes32("0x"), success); | |
} | |
return success; | |
} | |
/// @dev Passes a transaction to be executed by the target and returns data. | |
/// @notice Can only be called by this contract. | |
/// @param to Destination address of module transaction. | |
/// @param value Ether value of module transaction. | |
/// @param data Data payload of module transaction. | |
/// @param operation Operation type of module transaction: 0 == call, 1 == delegate call. | |
function execAndReturnData( | |
address to, | |
uint256 value, | |
bytes memory data, | |
Enum.Operation operation | |
) internal returns (bool success, bytes memory returnData) { | |
/// check if a transactioon guard is enabled. | |
if (guard != address(0)) { | |
IGuard(guard).checkTransaction( | |
/// Transaction info used by module transactions | |
to, | |
value, | |
data, | |
operation, | |
/// Zero out the redundant transaction information only used for Safe multisig transctions | |
0, | |
0, | |
0, | |
address(0), | |
payable(0), | |
bytes("0x"), | |
address(0) | |
); | |
} | |
(success, returnData) = IAvatar(target) | |
.execTransactionFromModuleReturnData(to, value, data, operation); | |
if (guard != address(0)) { | |
IGuard(guard).checkAfterExecution(bytes32("0x"), success); | |
} | |
return (success, returnData); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: LGPL-3.0-only | |
/// @title Zodiac FactoryFriendly - A contract that allows other contracts to be initializable and pass bytes as arguments to define contract state | |
pragma solidity >=0.7.0 <0.9.0; | |
import "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol"; | |
abstract contract FactoryFriendly is OwnableUpgradeable { | |
function setUp(bytes memory initializeParams) public virtual; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: LGPL-3.0-only | |
pragma solidity >=0.7.0 <0.9.0; | |
import "@gnosis.pm/safe-contracts/contracts/common/Enum.sol"; | |
import "@openzeppelin/contracts/utils/introspection/IERC165.sol"; | |
import "../interfaces/IGuard.sol"; | |
abstract contract BaseGuard is IERC165 { | |
function supportsInterface(bytes4 interfaceId) | |
external | |
pure | |
override | |
returns (bool) | |
{ | |
return | |
interfaceId == type(IGuard).interfaceId || // 0xe6d7a83a | |
interfaceId == type(IERC165).interfaceId; // 0x01ffc9a7 | |
} | |
/// Module transactions only use the first four parameters: to, value, data, and operation. | |
/// Module.sol hardcodes the remaining parameters as 0 since they are not used for module transactions. | |
/// This interface is used to maintain compatibilty with Gnosis Safe transaction guards. | |
function checkTransaction( | |
address to, | |
uint256 value, | |
bytes memory data, | |
Enum.Operation operation, | |
uint256 safeTxGas, | |
uint256 baseGas, | |
uint256 gasPrice, | |
address gasToken, | |
address payable refundReceiver, | |
bytes memory signatures, | |
address msgSender | |
) external virtual; | |
function checkAfterExecution(bytes32 txHash, bool success) external virtual; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: LGPL-3.0-only | |
pragma solidity >=0.7.0 <0.9.0; | |
import "@gnosis.pm/safe-contracts/contracts/common/Enum.sol"; | |
import "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol"; | |
import "./BaseGuard.sol"; | |
/// @title Guardable - A contract that manages fallback calls made to this contract | |
contract Guardable is OwnableUpgradeable { | |
event ChangedGuard(address guard); | |
address public guard; | |
/// @dev Set a guard that checks transactions before execution | |
/// @param _guard The address of the guard to be used or the 0 address to disable the guard | |
function setGuard(address _guard) external onlyOwner { | |
if (_guard != address(0)) { | |
require( | |
BaseGuard(_guard).supportsInterface(type(IGuard).interfaceId), | |
"Guard does not implement IERC165" | |
); | |
} | |
guard = _guard; | |
emit ChangedGuard(guard); | |
} | |
function getGuard() external view returns (address _guard) { | |
return guard; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: LGPL-3.0-only | |
/// @title Zodiac Avatar - A contract that manages modules that can execute transactions via this contract. | |
pragma solidity >=0.7.0 <0.9.0; | |
import "@gnosis.pm/safe-contracts/contracts/common/Enum.sol"; | |
interface IAvatar { | |
/// @dev Enables a module on the avatar. | |
/// @notice Can only be called by the avatar. | |
/// @notice Modules should be stored as a linked list. | |
/// @notice Must emit EnabledModule(address module) if successful. | |
/// @param module Module to be enabled. | |
function enableModule(address module) external; | |
/// @dev Disables a module on the avatar. | |
/// @notice Can only be called by the avatar. | |
/// @notice Must emit DisabledModule(address module) if successful. | |
/// @param prevModule Address that pointed to the module to be removed in the linked list | |
/// @param module Module to be removed. | |
function disableModule(address prevModule, address module) external; | |
/// @dev Allows a Module to execute a transaction. | |
/// @notice Can only be called by an enabled module. | |
/// @notice Must emit ExecutionFromModuleSuccess(address module) if successful. | |
/// @notice Must emit ExecutionFromModuleFailure(address module) if unsuccessful. | |
/// @param to Destination address of module transaction. | |
/// @param value Ether value of module transaction. | |
/// @param data Data payload of module transaction. | |
/// @param operation Operation type of module transaction: 0 == call, 1 == delegate call. | |
function execTransactionFromModule( | |
address to, | |
uint256 value, | |
bytes memory data, | |
Enum.Operation operation | |
) external returns (bool success); | |
/// @dev Allows a Module to execute a transaction and return data | |
/// @notice Can only be called by an enabled module. | |
/// @notice Must emit ExecutionFromModuleSuccess(address module) if successful. | |
/// @notice Must emit ExecutionFromModuleFailure(address module) if unsuccessful. | |
/// @param to Destination address of module transaction. | |
/// @param value Ether value of module transaction. | |
/// @param data Data payload of module transaction. | |
/// @param operation Operation type of module transaction: 0 == call, 1 == delegate call. | |
function execTransactionFromModuleReturnData( | |
address to, | |
uint256 value, | |
bytes memory data, | |
Enum.Operation operation | |
) external returns (bool success, bytes memory returnData); | |
/// @dev Returns if an module is enabled | |
/// @return True if the module is enabled | |
function isModuleEnabled(address module) external view returns (bool); | |
/// @dev Returns array of modules. | |
/// @param start Start of the page. | |
/// @param pageSize Maximum number of modules that should be returned. | |
/// @return array Array of modules. | |
/// @return next Start of the next page. | |
function getModulesPaginated(address start, uint256 pageSize) | |
external | |
view | |
returns (address[] memory array, address next); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: LGPL-3.0-only | |
pragma solidity >=0.7.0 <0.9.0; | |
import "@gnosis.pm/safe-contracts/contracts/common/Enum.sol"; | |
interface IGuard { | |
function checkTransaction( | |
address to, | |
uint256 value, | |
bytes memory data, | |
Enum.Operation operation, | |
uint256 safeTxGas, | |
uint256 baseGas, | |
uint256 gasPrice, | |
address gasToken, | |
address payable refundReceiver, | |
bytes memory signatures, | |
address msgSender | |
) external; | |
function checkAfterExecution(bytes32 txHash, bool success) external; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: MIT | |
// OpenZeppelin Contracts v4.4.0 (access/Ownable.sol) | |
pragma solidity ^0.8.0; | |
import "../utils/ContextUpgradeable.sol"; | |
import "../proxy/utils/Initializable.sol"; | |
/** | |
* @dev Contract module which provides a basic access control mechanism, where | |
* there is an account (an owner) that can be granted exclusive access to | |
* specific functions. | |
* | |
* By default, the owner account will be the one that deploys the contract. This | |
* can later be changed with {transferOwnership}. | |
* | |
* This module is used through inheritance. It will make available the modifier | |
* `onlyOwner`, which can be applied to your functions to restrict their use to | |
* the owner. | |
*/ | |
abstract contract OwnableUpgradeable is Initializable, ContextUpgradeable { | |
address private _owner; | |
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); | |
/** | |
* @dev Initializes the contract setting the deployer as the initial owner. | |
*/ | |
function __Ownable_init() internal initializer { | |
__Context_init_unchained(); | |
__Ownable_init_unchained(); | |
} | |
function __Ownable_init_unchained() internal initializer { | |
_transferOwnership(_msgSender()); | |
} | |
/** | |
* @dev Returns the address of the current owner. | |
*/ | |
function owner() public view virtual returns (address) { | |
return _owner; | |
} | |
/** | |
* @dev Throws if called by any account other than the owner. | |
*/ | |
modifier onlyOwner() { | |
require(owner() == _msgSender(), "Ownable: caller is not the owner"); | |
_; | |
} | |
/** | |
* @dev Leaves the contract without owner. It will not be possible to call | |
* `onlyOwner` functions anymore. Can only be called by the current owner. | |
* | |
* NOTE: Renouncing ownership will leave the contract without an owner, | |
* thereby removing any functionality that is only available to the owner. | |
*/ | |
function renounceOwnership() public virtual onlyOwner { | |
_transferOwnership(address(0)); | |
} | |
/** | |
* @dev Transfers ownership of the contract to a new account (`newOwner`). | |
* Can only be called by the current owner. | |
*/ | |
function transferOwnership(address newOwner) public virtual onlyOwner { | |
require(newOwner != address(0), "Ownable: new owner is the zero address"); | |
_transferOwnership(newOwner); | |
} | |
/** | |
* @dev Transfers ownership of the contract to a new account (`newOwner`). | |
* Internal function without access restriction. | |
*/ | |
function _transferOwnership(address newOwner) internal virtual { | |
address oldOwner = _owner; | |
_owner = newOwner; | |
emit OwnershipTransferred(oldOwner, newOwner); | |
} | |
uint256[49] private __gap; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: MIT | |
// OpenZeppelin Contracts v4.4.0 (proxy/utils/Initializable.sol) | |
pragma solidity ^0.8.0; | |
/** | |
* @dev This is a base contract to aid in writing upgradeable contracts, or any kind of contract that will be deployed | |
* behind a proxy. Since a proxied contract can't have a constructor, it's common to move constructor logic to an | |
* external initializer function, usually called `initialize`. It then becomes necessary to protect this initializer | |
* function so it can only be called once. The {initializer} modifier provided by this contract will have this effect. | |
* | |
* TIP: To avoid leaving the proxy in an uninitialized state, the initializer function should be called as early as | |
* possible by providing the encoded function call as the `_data` argument to {ERC1967Proxy-constructor}. | |
* | |
* CAUTION: When used with inheritance, manual care must be taken to not invoke a parent initializer twice, or to ensure | |
* that all initializers are idempotent. This is not verified automatically as constructors are by Solidity. | |
* | |
* [CAUTION] | |
* ==== | |
* Avoid leaving a contract uninitialized. | |
* | |
* An uninitialized contract can be taken over by an attacker. This applies to both a proxy and its implementation | |
* contract, which may impact the proxy. To initialize the implementation contract, you can either invoke the | |
* initializer manually, or you can include a constructor to automatically mark it as initialized when it is deployed: | |
* | |
* [.hljs-theme-light.nopadding] | |
* ``` | |
* /// @custom:oz-upgrades-unsafe-allow constructor | |
* constructor() initializer {} | |
* ``` | |
* ==== | |
*/ | |
abstract contract Initializable { | |
/** | |
* @dev Indicates that the contract has been initialized. | |
*/ | |
bool private _initialized; | |
/** | |
* @dev Indicates that the contract is in the process of being initialized. | |
*/ | |
bool private _initializing; | |
/** | |
* @dev Modifier to protect an initializer function from being invoked twice. | |
*/ | |
modifier initializer() { | |
require(_initializing || !_initialized, "Initializable: contract is already initialized"); | |
bool isTopLevelCall = !_initializing; | |
if (isTopLevelCall) { | |
_initializing = true; | |
_initialized = true; | |
} | |
_; | |
if (isTopLevelCall) { | |
_initializing = false; | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: MIT | |
// OpenZeppelin Contracts v4.4.0 (utils/Context.sol) | |
pragma solidity ^0.8.0; | |
import "../proxy/utils/Initializable.sol"; | |
/** | |
* @dev Provides information about the current execution context, including the | |
* sender of the transaction and its data. While these are generally available | |
* via msg.sender and msg.data, they should not be accessed in such a direct | |
* manner, since when dealing with meta-transactions the account sending and | |
* paying for execution may not be the actual sender (as far as an application | |
* is concerned). | |
* | |
* This contract is only required for intermediate, library-like contracts. | |
*/ | |
abstract contract ContextUpgradeable is Initializable { | |
function __Context_init() internal initializer { | |
__Context_init_unchained(); | |
} | |
function __Context_init_unchained() internal initializer { | |
} | |
function _msgSender() internal view virtual returns (address) { | |
return msg.sender; | |
} | |
function _msgData() internal view virtual returns (bytes calldata) { | |
return msg.data; | |
} | |
uint256[50] private __gap; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: MIT | |
// OpenZeppelin Contracts v4.4.0 (access/Ownable.sol) | |
pragma solidity ^0.8.0; | |
import "../utils/Context.sol"; | |
/** | |
* @dev Contract module which provides a basic access control mechanism, where | |
* there is an account (an owner) that can be granted exclusive access to | |
* specific functions. | |
* | |
* By default, the owner account will be the one that deploys the contract. This | |
* can later be changed with {transferOwnership}. | |
* | |
* This module is used through inheritance. It will make available the modifier | |
* `onlyOwner`, which can be applied to your functions to restrict their use to | |
* the owner. | |
*/ | |
abstract contract Ownable is Context { | |
address private _owner; | |
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); | |
/** | |
* @dev Initializes the contract setting the deployer as the initial owner. | |
*/ | |
constructor() { | |
_transferOwnership(_msgSender()); | |
} | |
/** | |
* @dev Returns the address of the current owner. | |
*/ | |
function owner() public view virtual returns (address) { | |
return _owner; | |
} | |
/** | |
* @dev Throws if called by any account other than the owner. | |
*/ | |
modifier onlyOwner() { | |
require(owner() == _msgSender(), "Ownable: caller is not the owner"); | |
_; | |
} | |
/** | |
* @dev Leaves the contract without owner. It will not be possible to call | |
* `onlyOwner` functions anymore. Can only be called by the current owner. | |
* | |
* NOTE: Renouncing ownership will leave the contract without an owner, | |
* thereby removing any functionality that is only available to the owner. | |
*/ | |
function renounceOwnership() public virtual onlyOwner { | |
_transferOwnership(address(0)); | |
} | |
/** | |
* @dev Transfers ownership of the contract to a new account (`newOwner`). | |
* Can only be called by the current owner. | |
*/ | |
function transferOwnership(address newOwner) public virtual onlyOwner { | |
require(newOwner != address(0), "Ownable: new owner is the zero address"); | |
_transferOwnership(newOwner); | |
} | |
/** | |
* @dev Transfers ownership of the contract to a new account (`newOwner`). | |
* Internal function without access restriction. | |
*/ | |
function _transferOwnership(address newOwner) internal virtual { | |
address oldOwner = _owner; | |
_owner = newOwner; | |
emit OwnershipTransferred(oldOwner, newOwner); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: MIT | |
// OpenZeppelin Contracts v4.4.0 (utils/Context.sol) | |
pragma solidity ^0.8.0; | |
/** | |
* @dev Provides information about the current execution context, including the | |
* sender of the transaction and its data. While these are generally available | |
* via msg.sender and msg.data, they should not be accessed in such a direct | |
* manner, since when dealing with meta-transactions the account sending and | |
* paying for execution may not be the actual sender (as far as an application | |
* is concerned). | |
* | |
* This contract is only required for intermediate, library-like contracts. | |
*/ | |
abstract contract Context { | |
function _msgSender() internal view virtual returns (address) { | |
return msg.sender; | |
} | |
function _msgData() internal view virtual returns (bytes calldata) { | |
return msg.data; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: MIT | |
// OpenZeppelin Contracts v4.4.0 (utils/introspection/IERC165.sol) | |
pragma solidity ^0.8.0; | |
/** | |
* @dev Interface of the ERC165 standard, as defined in the | |
* https://eips.ethereum.org/EIPS/eip-165[EIP]. | |
* | |
* Implementers can declare support of contract interfaces, which can then be | |
* queried by others ({ERC165Checker}). | |
* | |
* For an implementation, see {ERC165}. | |
*/ | |
interface IERC165 { | |
/** | |
* @dev Returns true if this contract implements the interface defined by | |
* `interfaceId`. See the corresponding | |
* https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] | |
* to learn more about how these ids are created. | |
* | |
* This function call must use less than 30 000 gas. | |
*/ | |
function supportsInterface(bytes4 interfaceId) external view returns (bool); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"deploy": { | |
"VM:-": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"main:1": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"ropsten:3": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"rinkeby:4": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"kovan:42": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"görli:5": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"Custom": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
} | |
}, | |
"data": { | |
"bytecode": { | |
"functionDebugData": {}, | |
"generatedSources": [], | |
"linkReferences": {}, | |
"object": "608060405234801561001057600080fd5b50610718806100206000396000f3fe6080604052600436106100435760003560e01c80630565bb671461004f578063468721a714610078578063610b5925146100b5578063b86d5298146100de5761004a565b3661004a57005b600080fd5b34801561005b57600080fd5b506100766004803603810190610071919061045e565b610109565b005b34801561008457600080fd5b5061009f600480360381019061009a91906104d2565b610195565b6040516100ac91906105d1565b60405180910390f35b3480156100c157600080fd5b506100dc60048036038101906100d79190610431565b610320565b005b3480156100ea57600080fd5b506100f3610363565b60405161010091906105b6565b60405180910390f35b600060608573ffffffffffffffffffffffffffffffffffffffff1685858560405161013592919061059d565b60006040518083038185875af1925050503d8060008114610172576040519150601f19603f3d011682016040523d82523d6000602084013e610177565b606091505b5080925081935050508161018d57805160208201fd5b505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461022857336040517f4a0bfec100000000000000000000000000000000000000000000000000000000815260040161021f91906105b6565b60405180910390fd5b60018260ff1614156102a6578573ffffffffffffffffffffffffffffffffffffffff16848460405161025b92919061059d565b600060405180830381855af49150503d8060008114610296576040519150601f19603f3d011682016040523d82523d6000602084013e61029b565b606091505b505080915050610317565b8573ffffffffffffffffffffffffffffffffffffffff168585856040516102ce92919061059d565b60006040518083038185875af1925050503d806000811461030b576040519150601f19603f3d011682016040523d82523d6000602084013e610310565b606091505b5050809150505b95945050505050565b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008135905061039681610686565b92915050565b6000813590506103ab8161069d565b92915050565b60008083601f8401126103c7576103c6610672565b5b8235905067ffffffffffffffff8111156103e4576103e361066d565b5b602083019150836001820283011115610400576103ff610677565b5b9250929050565b600081359050610416816106b4565b92915050565b60008135905061042b816106cb565b92915050565b60006020828403121561044757610446610681565b5b600061045584828501610387565b91505092915050565b6000806000806060858703121561047857610477610681565b5b60006104868782880161039c565b945050602061049787828801610407565b935050604085013567ffffffffffffffff8111156104b8576104b761067c565b5b6104c4878288016103b1565b925092505092959194509250565b6000806000806000608086880312156104ee576104ed610681565b5b60006104fc8882890161039c565b955050602061050d88828901610407565b945050604086013567ffffffffffffffff81111561052e5761052d61067c565b5b61053a888289016103b1565b9350935050606061054d8882890161041c565b9150509295509295909350565b610563816105f7565b82525050565b6105728161061b565b82525050565b600061058483856105ec565b935061059183858461065e565b82840190509392505050565b60006105aa828486610578565b91508190509392505050565b60006020820190506105cb600083018461055a565b92915050565b60006020820190506105e66000830184610569565b92915050565b600081905092915050565b600061060282610627565b9050919050565b600061061482610627565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b82818337600083830152505050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b61068f816105f7565b811461069a57600080fd5b50565b6106a681610609565b81146106b157600080fd5b50565b6106bd81610647565b81146106c857600080fd5b50565b6106d481610651565b81146106df57600080fd5b5056fea2646970667358221220c25a3cd4af208a5beef3471445891878de7f9049b89c81d229b8f65eb69a31f964736f6c63430008070033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x718 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x43 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x565BB67 EQ PUSH2 0x4F JUMPI DUP1 PUSH4 0x468721A7 EQ PUSH2 0x78 JUMPI DUP1 PUSH4 0x610B5925 EQ PUSH2 0xB5 JUMPI DUP1 PUSH4 0xB86D5298 EQ PUSH2 0xDE JUMPI PUSH2 0x4A JUMP JUMPDEST CALLDATASIZE PUSH2 0x4A JUMPI STOP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x76 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x71 SWAP2 SWAP1 PUSH2 0x45E JUMP JUMPDEST PUSH2 0x109 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x84 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x9F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x9A SWAP2 SWAP1 PUSH2 0x4D2 JUMP JUMPDEST PUSH2 0x195 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xAC SWAP2 SWAP1 PUSH2 0x5D1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDC PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xD7 SWAP2 SWAP1 PUSH2 0x431 JUMP JUMPDEST PUSH2 0x320 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xEA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF3 PUSH2 0x363 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x100 SWAP2 SWAP1 PUSH2 0x5B6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP6 DUP6 DUP6 PUSH1 0x40 MLOAD PUSH2 0x135 SWAP3 SWAP2 SWAP1 PUSH2 0x59D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x172 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x177 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP DUP1 SWAP3 POP DUP2 SWAP4 POP POP POP DUP2 PUSH2 0x18D JUMPI DUP1 MLOAD PUSH1 0x20 DUP3 ADD REVERT JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x228 JUMPI CALLER PUSH1 0x40 MLOAD PUSH32 0x4A0BFEC100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x21F SWAP2 SWAP1 PUSH2 0x5B6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 DUP3 PUSH1 0xFF AND EQ ISZERO PUSH2 0x2A6 JUMPI DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x25B SWAP3 SWAP2 SWAP1 PUSH2 0x59D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x296 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x29B JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP DUP1 SWAP2 POP POP PUSH2 0x317 JUMP JUMPDEST DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP6 DUP6 DUP6 PUSH1 0x40 MLOAD PUSH2 0x2CE SWAP3 SWAP2 SWAP1 PUSH2 0x59D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x30B JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x310 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP DUP1 SWAP2 POP POP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x396 DUP2 PUSH2 0x686 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x3AB DUP2 PUSH2 0x69D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x3C7 JUMPI PUSH2 0x3C6 PUSH2 0x672 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3E4 JUMPI PUSH2 0x3E3 PUSH2 0x66D JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x1 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x400 JUMPI PUSH2 0x3FF PUSH2 0x677 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x416 DUP2 PUSH2 0x6B4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x42B DUP2 PUSH2 0x6CB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x447 JUMPI PUSH2 0x446 PUSH2 0x681 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x455 DUP5 DUP3 DUP6 ADD PUSH2 0x387 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x60 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x478 JUMPI PUSH2 0x477 PUSH2 0x681 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x486 DUP8 DUP3 DUP9 ADD PUSH2 0x39C JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0x497 DUP8 DUP3 DUP9 ADD PUSH2 0x407 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4B8 JUMPI PUSH2 0x4B7 PUSH2 0x67C JUMP JUMPDEST JUMPDEST PUSH2 0x4C4 DUP8 DUP3 DUP9 ADD PUSH2 0x3B1 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x80 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x4EE JUMPI PUSH2 0x4ED PUSH2 0x681 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x4FC DUP9 DUP3 DUP10 ADD PUSH2 0x39C JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH2 0x50D DUP9 DUP3 DUP10 ADD PUSH2 0x407 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x52E JUMPI PUSH2 0x52D PUSH2 0x67C JUMP JUMPDEST JUMPDEST PUSH2 0x53A DUP9 DUP3 DUP10 ADD PUSH2 0x3B1 JUMP JUMPDEST SWAP4 POP SWAP4 POP POP PUSH1 0x60 PUSH2 0x54D DUP9 DUP3 DUP10 ADD PUSH2 0x41C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH2 0x563 DUP2 PUSH2 0x5F7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x572 DUP2 PUSH2 0x61B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x584 DUP4 DUP6 PUSH2 0x5EC JUMP JUMPDEST SWAP4 POP PUSH2 0x591 DUP4 DUP6 DUP5 PUSH2 0x65E JUMP JUMPDEST DUP3 DUP5 ADD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5AA DUP3 DUP5 DUP7 PUSH2 0x578 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x5CB PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x55A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x5E6 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x569 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x602 DUP3 PUSH2 0x627 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x614 DUP3 PUSH2 0x627 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x68F DUP2 PUSH2 0x5F7 JUMP JUMPDEST DUP2 EQ PUSH2 0x69A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x6A6 DUP2 PUSH2 0x609 JUMP JUMPDEST DUP2 EQ PUSH2 0x6B1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x6BD DUP2 PUSH2 0x647 JUMP JUMPDEST DUP2 EQ PUSH2 0x6C8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x6D4 DUP2 PUSH2 0x651 JUMP JUMPDEST DUP2 EQ PUSH2 0x6DF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC2 GAS EXTCODECOPY 0xD4 0xAF KECCAK256 DUP11 JUMPDEST 0xEE RETURN SELFBALANCE EQ GASLIMIT DUP10 XOR PUSH25 0xDE7F9049B89C81D229B8F65EB69A31F964736F6C6343000807 STOP CALLER ", | |
"sourceMap": "68:968:0:-:0;;;;;;;;;;;;;;;;;;;" | |
}, | |
"deployedBytecode": { | |
"functionDebugData": { | |
"@_11": { | |
"entryPoint": null, | |
"id": 11, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@enableModule_21": { | |
"entryPoint": 800, | |
"id": 21, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"@execTransactionFromModule_99": { | |
"entryPoint": 405, | |
"id": 99, | |
"parameterSlots": 5, | |
"returnSlots": 1 | |
}, | |
"@exec_53": { | |
"entryPoint": 265, | |
"id": 53, | |
"parameterSlots": 4, | |
"returnSlots": 0 | |
}, | |
"@module_3": { | |
"entryPoint": 867, | |
"id": 3, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"abi_decode_t_address": { | |
"entryPoint": 903, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_address_payable": { | |
"entryPoint": 924, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_bytes_calldata_ptr": { | |
"entryPoint": 945, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 2 | |
}, | |
"abi_decode_t_uint256": { | |
"entryPoint": 1031, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_uint8": { | |
"entryPoint": 1052, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_tuple_t_address": { | |
"entryPoint": 1073, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_tuple_t_address_payablet_uint256t_bytes_calldata_ptr": { | |
"entryPoint": 1118, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 4 | |
}, | |
"abi_decode_tuple_t_address_payablet_uint256t_bytes_calldata_ptrt_uint8": { | |
"entryPoint": 1234, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 5 | |
}, | |
"abi_encode_t_address_to_t_address_fromStack": { | |
"entryPoint": 1370, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_bool_to_t_bool_fromStack": { | |
"entryPoint": 1385, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack": { | |
"entryPoint": 1400, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_packed_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed": { | |
"entryPoint": 1437, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { | |
"entryPoint": 1462, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": { | |
"entryPoint": 1489, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"allocate_unbounded": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack": { | |
"entryPoint": 1516, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_address": { | |
"entryPoint": 1527, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_address_payable": { | |
"entryPoint": 1545, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_bool": { | |
"entryPoint": 1563, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_uint160": { | |
"entryPoint": 1575, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_uint256": { | |
"entryPoint": 1607, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_uint8": { | |
"entryPoint": 1617, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"copy_calldata_to_memory": { | |
"entryPoint": 1630, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 0 | |
}, | |
"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490": { | |
"entryPoint": 1645, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { | |
"entryPoint": 1650, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef": { | |
"entryPoint": 1655, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { | |
"entryPoint": 1660, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { | |
"entryPoint": 1665, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_address": { | |
"entryPoint": 1670, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_address_payable": { | |
"entryPoint": 1693, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_uint256": { | |
"entryPoint": 1716, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_uint8": { | |
"entryPoint": 1739, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
} | |
}, | |
"generatedSources": [ | |
{ | |
"ast": { | |
"nodeType": "YulBlock", | |
"src": "0:6792:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "59:87:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "69:29:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "91:6:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "78:12:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "78:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "69:5:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "134:5:1" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "107:26:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "107:33:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "107:33:1" | |
} | |
] | |
}, | |
"name": "abi_decode_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "37:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "45:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "53:5:1", | |
"type": "" | |
} | |
], | |
"src": "7:139:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "212:95:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "222:29:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "244:6:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "231:12:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "231:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "222:5:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "295:5:1" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_address_payable", | |
"nodeType": "YulIdentifier", | |
"src": "260:34:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "260:41:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "260:41:1" | |
} | |
] | |
}, | |
"name": "abi_decode_t_address_payable", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "190:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "198:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "206:5:1", | |
"type": "" | |
} | |
], | |
"src": "152:155:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "400:478:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "449:83:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", | |
"nodeType": "YulIdentifier", | |
"src": "451:77:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "451:79:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "451:79:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "428:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "436:4:1", | |
"type": "", | |
"value": "0x1f" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "424:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "424:17:1" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "443:3:1" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "420:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "420:27:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "413:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "413:35:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "410:122:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "541:30:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "564:6:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "551:12:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "551:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "541:6:1" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "614:83:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", | |
"nodeType": "YulIdentifier", | |
"src": "616:77:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "616:79:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "616:79:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "586:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "594:18:1", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "583:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "583:30:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "580:117:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "706:29:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "722:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "730:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "718:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "718:17:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "arrayPos", | |
"nodeType": "YulIdentifier", | |
"src": "706:8:1" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "789:83:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", | |
"nodeType": "YulIdentifier", | |
"src": "791:77:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "791:79:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "791:79:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "arrayPos", | |
"nodeType": "YulIdentifier", | |
"src": "754:8:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "768:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "776:4:1", | |
"type": "", | |
"value": "0x01" | |
} | |
], | |
"functionName": { | |
"name": "mul", | |
"nodeType": "YulIdentifier", | |
"src": "764:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "764:17:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "750:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "750:32:1" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "784:3:1" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "747:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "747:41:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "744:128:1" | |
} | |
] | |
}, | |
"name": "abi_decode_t_bytes_calldata_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "367:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "375:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "arrayPos", | |
"nodeType": "YulTypedName", | |
"src": "383:8:1", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "393:6:1", | |
"type": "" | |
} | |
], | |
"src": "326:552:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "936:87:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "946:29:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "968:6:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "955:12:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "955:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "946:5:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1011:5:1" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "984:26:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "984:33:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "984:33:1" | |
} | |
] | |
}, | |
"name": "abi_decode_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "914:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "922:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "930:5:1", | |
"type": "" | |
} | |
], | |
"src": "884:139:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1079:85:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1089:29:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1111:6:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "1098:12:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1098:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1089:5:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1152:5:1" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_uint8", | |
"nodeType": "YulIdentifier", | |
"src": "1127:24:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1127:31:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1127:31:1" | |
} | |
] | |
}, | |
"name": "abi_decode_t_uint8", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "1057:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "1065:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "1073:5:1", | |
"type": "" | |
} | |
], | |
"src": "1029:135:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1236:263:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1282:83:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "1284:77:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1284:79:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1284:79:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1257:7:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1266:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "1253:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1253:23:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1278:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "1249:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1249:32:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "1246:119:1" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "1375:117:1", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "1390:15:1", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1404:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "1394:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1419:63:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1454:9:1" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1465:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1450:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1450:22:1" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1474:7:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "1429:20:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1429:53:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "1419:6:1" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "1206:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "1217:7:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "1229:6:1", | |
"type": "" | |
} | |
], | |
"src": "1170:329:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1632:706:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1678:83:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "1680:77:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1680:79:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1680:79:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1653:7:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1662:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "1649:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1649:23:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1674:2:1", | |
"type": "", | |
"value": "96" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "1645:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1645:32:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "1642:119:1" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "1771:125:1", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "1786:15:1", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1800:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "1790:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1815:71:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1858:9:1" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1869:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1854:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1854:22:1" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1878:7:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_address_payable", | |
"nodeType": "YulIdentifier", | |
"src": "1825:28:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1825:61:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "1815:6:1" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "1906:118:1", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "1921:16:1", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1935:2:1", | |
"type": "", | |
"value": "32" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "1925:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1951:63:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1986:9:1" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1997:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1982:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1982:22:1" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2006:7:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "1961:20:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1961:53:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "1951:6:1" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "2034:297:1", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2049:46:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2080:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2091:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2076:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2076:18:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "2063:12:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2063:32:1" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "2053:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2142:83:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
"nodeType": "YulIdentifier", | |
"src": "2144:77:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2144:79:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2144:79:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2114:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2122:18:1", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "2111:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2111:30:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "2108:117:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2239:82:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2293:9:1" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2304:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2289:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2289:22:1" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2313:7:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_bytes_calldata_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "2257:31:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2257:64:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value2", | |
"nodeType": "YulIdentifier", | |
"src": "2239:6:1" | |
}, | |
{ | |
"name": "value3", | |
"nodeType": "YulIdentifier", | |
"src": "2247:6:1" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_address_payablet_uint256t_bytes_calldata_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "1578:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "1589:7:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "1601:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "1609:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value2", | |
"nodeType": "YulTypedName", | |
"src": "1617:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value3", | |
"nodeType": "YulTypedName", | |
"src": "1625:6:1", | |
"type": "" | |
} | |
], | |
"src": "1505:833:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2486:833:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2533:83:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "2535:77:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2535:79:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2535:79:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2507:7:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2516:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "2503:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2503:23:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2528:3:1", | |
"type": "", | |
"value": "128" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "2499:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2499:33:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "2496:120:1" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "2626:125:1", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2641:15:1", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2655:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "2645:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2670:71:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2713:9:1" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2724:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2709:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2709:22:1" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2733:7:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_address_payable", | |
"nodeType": "YulIdentifier", | |
"src": "2680:28:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2680:61:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "2670:6:1" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "2761:118:1", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2776:16:1", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2790:2:1", | |
"type": "", | |
"value": "32" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "2780:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2806:63:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2841:9:1" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2852:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2837:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2837:22:1" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2861:7:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "2816:20:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2816:53:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "2806:6:1" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "2889:297:1", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2904:46:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2935:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2946:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2931:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2931:18:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "2918:12:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2918:32:1" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "2908:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2997:83:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
"nodeType": "YulIdentifier", | |
"src": "2999:77:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2999:79:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2999:79:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2969:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2977:18:1", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "2966:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2966:30:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "2963:117:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3094:82:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "3148:9:1" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "3159:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3144:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3144:22:1" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "3168:7:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_bytes_calldata_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "3112:31:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3112:64:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value2", | |
"nodeType": "YulIdentifier", | |
"src": "3094:6:1" | |
}, | |
{ | |
"name": "value3", | |
"nodeType": "YulIdentifier", | |
"src": "3102:6:1" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "3196:116:1", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "3211:16:1", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3225:2:1", | |
"type": "", | |
"value": "96" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "3215:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3241:61:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "3274:9:1" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "3285:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3270:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3270:22:1" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "3294:7:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint8", | |
"nodeType": "YulIdentifier", | |
"src": "3251:18:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3251:51:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value4", | |
"nodeType": "YulIdentifier", | |
"src": "3241:6:1" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_address_payablet_uint256t_bytes_calldata_ptrt_uint8", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "2424:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "2435:7:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "2447:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "2455:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value2", | |
"nodeType": "YulTypedName", | |
"src": "2463:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value3", | |
"nodeType": "YulTypedName", | |
"src": "2471:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value4", | |
"nodeType": "YulTypedName", | |
"src": "2479:6:1", | |
"type": "" | |
} | |
], | |
"src": "2344:975:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3390:53:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3407:3:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3430:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "3412:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3412:24:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "3400:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3400:37:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3400:37:1" | |
} | |
] | |
}, | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "3378:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "3385:3:1", | |
"type": "" | |
} | |
], | |
"src": "3325:118:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3508:50:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3525:3:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3545:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_bool", | |
"nodeType": "YulIdentifier", | |
"src": "3530:14:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3530:21:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "3518:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3518:34:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3518:34:1" | |
} | |
] | |
}, | |
"name": "abi_encode_t_bool_to_t_bool_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "3496:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "3503:3:1", | |
"type": "" | |
} | |
], | |
"src": "3449:109:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3704:196:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3714:95:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3797:3:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "3802:6:1" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "3721:75:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3721:88:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3714:3:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "start", | |
"nodeType": "YulIdentifier", | |
"src": "3843:5:1" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3850:3:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "3855:6:1" | |
} | |
], | |
"functionName": { | |
"name": "copy_calldata_to_memory", | |
"nodeType": "YulIdentifier", | |
"src": "3819:23:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3819:43:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3819:43:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3871:23:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3882:3:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "3887:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3878:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3878:16:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "3871:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "start", | |
"nodeType": "YulTypedName", | |
"src": "3677:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "3684:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "3692:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "3700:3:1", | |
"type": "" | |
} | |
], | |
"src": "3586:314:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4050:147:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4061:110:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "4150:6:1" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "4158:6:1" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4167:3:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "4068:81:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4068:103:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4061:3:1" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4181:10:1", | |
"value": { | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4188:3:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "4181:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_packed_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "4021:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "4027:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "4035:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "4046:3:1", | |
"type": "" | |
} | |
], | |
"src": "3906:291:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4301:124:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4311:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "4323:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4334:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4319:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4319:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "4311:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "4391:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "4404:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4415:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4400:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4400:17:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "4347:43:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4347:71:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4347:71:1" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "4273:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "4285:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "4296:4:1", | |
"type": "" | |
} | |
], | |
"src": "4203:222:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4523:118:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4533:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "4545:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4556:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4541:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4541:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "4533:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "4607:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "4620:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4631:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4616:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4616:17:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bool_to_t_bool_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "4569:37:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4569:65:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4569:65:1" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "4495:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "4507:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "4518:4:1", | |
"type": "" | |
} | |
], | |
"src": "4431:210:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4687:35:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4697:19:1", | |
"value": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4713:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "4707:5:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4707:9:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "4697:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "allocate_unbounded", | |
"nodeType": "YulFunctionDefinition", | |
"returnVariables": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "4680:6:1", | |
"type": "" | |
} | |
], | |
"src": "4647:75:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4841:34:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4851:18:1", | |
"value": { | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4866:3:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulIdentifier", | |
"src": "4851:11:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "4813:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "4818:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulTypedName", | |
"src": "4829:11:1", | |
"type": "" | |
} | |
], | |
"src": "4728:147:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4926:51:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4936:35:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4965:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulIdentifier", | |
"src": "4947:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4947:24:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "4936:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "4908:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "4918:7:1", | |
"type": "" | |
} | |
], | |
"src": "4881:96:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5036:51:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5046:35:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "5075:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulIdentifier", | |
"src": "5057:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5057:24:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "5046:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_address_payable", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "5018:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "5028:7:1", | |
"type": "" | |
} | |
], | |
"src": "4983:104:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5135:48:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5145:32:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "5170:5:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "5163:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5163:13:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "5156:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5156:21:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "5145:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_bool", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "5117:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "5127:7:1", | |
"type": "" | |
} | |
], | |
"src": "5093:90:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5234:81:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5244:65:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "5259:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5266:42:1", | |
"type": "", | |
"value": "0xffffffffffffffffffffffffffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "5255:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5255:54:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "5244:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "5216:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "5226:7:1", | |
"type": "" | |
} | |
], | |
"src": "5189:126:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5366:32:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5376:16:1", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "5387:5:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "5376:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "5348:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "5358:7:1", | |
"type": "" | |
} | |
], | |
"src": "5321:77:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5447:43:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5457:27:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "5472:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5479:4:1", | |
"type": "", | |
"value": "0xff" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "5468:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5468:16:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "5457:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint8", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "5429:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "5439:7:1", | |
"type": "" | |
} | |
], | |
"src": "5404:86:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5547:103:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "5570:3:1" | |
}, | |
{ | |
"name": "src", | |
"nodeType": "YulIdentifier", | |
"src": "5575:3:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "5580:6:1" | |
} | |
], | |
"functionName": { | |
"name": "calldatacopy", | |
"nodeType": "YulIdentifier", | |
"src": "5557:12:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5557:30:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5557:30:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "5628:3:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "5633:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5624:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5624:16:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5642:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "5617:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5617:27:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5617:27:1" | |
} | |
] | |
}, | |
"name": "copy_calldata_to_memory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "src", | |
"nodeType": "YulTypedName", | |
"src": "5529:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "dst", | |
"nodeType": "YulTypedName", | |
"src": "5534:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "5539:6:1", | |
"type": "" | |
} | |
], | |
"src": "5496:154:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5745:28:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5762:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5765:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "5755:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5755:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5755:12:1" | |
} | |
] | |
}, | |
"name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", | |
"nodeType": "YulFunctionDefinition", | |
"src": "5656:117:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5868:28:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5885:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5888:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "5878:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5878:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5878:12:1" | |
} | |
] | |
}, | |
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", | |
"nodeType": "YulFunctionDefinition", | |
"src": "5779:117:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5991:28:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6008:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6011:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "6001:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6001:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "6001:12:1" | |
} | |
] | |
}, | |
"name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", | |
"nodeType": "YulFunctionDefinition", | |
"src": "5902:117:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6114:28:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6131:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6134:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "6124:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6124:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "6124:12:1" | |
} | |
] | |
}, | |
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
"nodeType": "YulFunctionDefinition", | |
"src": "6025:117:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6237:28:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6254:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6257:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "6247:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6247:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "6247:12:1" | |
} | |
] | |
}, | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulFunctionDefinition", | |
"src": "6148:117:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6314:79:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6371:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6380:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6383:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "6373:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6373:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "6373:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "6337:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "6362:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "6344:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6344:24:1" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "6334:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6334:35:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "6327:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6327:43:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "6324:63:1" | |
} | |
] | |
}, | |
"name": "validator_revert_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "6307:5:1", | |
"type": "" | |
} | |
], | |
"src": "6271:122:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6450:87:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6515:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6524:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6527:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "6517:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6517:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "6517:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "6473:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "6506:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_address_payable", | |
"nodeType": "YulIdentifier", | |
"src": "6480:25:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6480:32:1" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "6470:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6470:43:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "6463:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6463:51:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "6460:71:1" | |
} | |
] | |
}, | |
"name": "validator_revert_t_address_payable", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "6443:5:1", | |
"type": "" | |
} | |
], | |
"src": "6399:138:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6586:79:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6643:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6652:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6655:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "6645:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6645:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "6645:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "6609:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "6634:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "6616:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6616:24:1" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "6606:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6606:35:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "6599:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6599:43:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "6596:63:1" | |
} | |
] | |
}, | |
"name": "validator_revert_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "6579:5:1", | |
"type": "" | |
} | |
], | |
"src": "6543:122:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6712:77:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6767:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6776:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6779:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "6769:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6769:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "6769:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "6735:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "6758:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint8", | |
"nodeType": "YulIdentifier", | |
"src": "6742:15:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6742:22:1" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "6732:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6732:33:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "6725:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6725:41:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "6722:61:1" | |
} | |
] | |
}, | |
"name": "validator_revert_t_uint8", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "6705:5:1", | |
"type": "" | |
} | |
], | |
"src": "6671:118:1" | |
} | |
] | |
}, | |
"contents": "{\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_t_address_payable(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address_payable(value)\n }\n\n // bytes\n function abi_decode_t_bytes_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x01)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_t_uint8(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint8(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_address_payablet_uint256t_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address_payable(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value2, value3 := abi_decode_t_bytes_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_address_payablet_uint256t_bytes_calldata_ptrt_uint8(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n if slt(sub(dataEnd, headStart), 128) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address_payable(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value2, value3 := abi_decode_t_bytes_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value4 := abi_decode_t_uint8(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n // bytes -> bytes\n function abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(start, length, pos) -> end {\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n\n copy_calldata_to_memory(start, pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_tuple_packed_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value1, value0) -> end {\n\n pos := abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value0, value1, pos)\n\n end := pos\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_address_payable(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\n }\n\n function copy_calldata_to_memory(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\n mstore(add(dst, length), 0)\n }\n\n function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n revert(0, 0)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_address_payable(value) {\n if iszero(eq(value, cleanup_t_address_payable(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_uint8(value) {\n if iszero(eq(value, cleanup_t_uint8(value))) { revert(0, 0) }\n }\n\n}\n", | |
"id": 1, | |
"language": "Yul", | |
"name": "#utility.yul" | |
} | |
], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "6080604052600436106100435760003560e01c80630565bb671461004f578063468721a714610078578063610b5925146100b5578063b86d5298146100de5761004a565b3661004a57005b600080fd5b34801561005b57600080fd5b506100766004803603810190610071919061045e565b610109565b005b34801561008457600080fd5b5061009f600480360381019061009a91906104d2565b610195565b6040516100ac91906105d1565b60405180910390f35b3480156100c157600080fd5b506100dc60048036038101906100d79190610431565b610320565b005b3480156100ea57600080fd5b506100f3610363565b60405161010091906105b6565b60405180910390f35b600060608573ffffffffffffffffffffffffffffffffffffffff1685858560405161013592919061059d565b60006040518083038185875af1925050503d8060008114610172576040519150601f19603f3d011682016040523d82523d6000602084013e610177565b606091505b5080925081935050508161018d57805160208201fd5b505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461022857336040517f4a0bfec100000000000000000000000000000000000000000000000000000000815260040161021f91906105b6565b60405180910390fd5b60018260ff1614156102a6578573ffffffffffffffffffffffffffffffffffffffff16848460405161025b92919061059d565b600060405180830381855af49150503d8060008114610296576040519150601f19603f3d011682016040523d82523d6000602084013e61029b565b606091505b505080915050610317565b8573ffffffffffffffffffffffffffffffffffffffff168585856040516102ce92919061059d565b60006040518083038185875af1925050503d806000811461030b576040519150601f19603f3d011682016040523d82523d6000602084013e610310565b606091505b5050809150505b95945050505050565b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008135905061039681610686565b92915050565b6000813590506103ab8161069d565b92915050565b60008083601f8401126103c7576103c6610672565b5b8235905067ffffffffffffffff8111156103e4576103e361066d565b5b602083019150836001820283011115610400576103ff610677565b5b9250929050565b600081359050610416816106b4565b92915050565b60008135905061042b816106cb565b92915050565b60006020828403121561044757610446610681565b5b600061045584828501610387565b91505092915050565b6000806000806060858703121561047857610477610681565b5b60006104868782880161039c565b945050602061049787828801610407565b935050604085013567ffffffffffffffff8111156104b8576104b761067c565b5b6104c4878288016103b1565b925092505092959194509250565b6000806000806000608086880312156104ee576104ed610681565b5b60006104fc8882890161039c565b955050602061050d88828901610407565b945050604086013567ffffffffffffffff81111561052e5761052d61067c565b5b61053a888289016103b1565b9350935050606061054d8882890161041c565b9150509295509295909350565b610563816105f7565b82525050565b6105728161061b565b82525050565b600061058483856105ec565b935061059183858461065e565b82840190509392505050565b60006105aa828486610578565b91508190509392505050565b60006020820190506105cb600083018461055a565b92915050565b60006020820190506105e66000830184610569565b92915050565b600081905092915050565b600061060282610627565b9050919050565b600061061482610627565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b82818337600083830152505050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b61068f816105f7565b811461069a57600080fd5b50565b6106a681610609565b81146106b157600080fd5b50565b6106bd81610647565b81146106c857600080fd5b50565b6106d481610651565b81146106df57600080fd5b5056fea2646970667358221220c25a3cd4af208a5beef3471445891878de7f9049b89c81d229b8f65eb69a31f964736f6c63430008070033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x43 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x565BB67 EQ PUSH2 0x4F JUMPI DUP1 PUSH4 0x468721A7 EQ PUSH2 0x78 JUMPI DUP1 PUSH4 0x610B5925 EQ PUSH2 0xB5 JUMPI DUP1 PUSH4 0xB86D5298 EQ PUSH2 0xDE JUMPI PUSH2 0x4A JUMP JUMPDEST CALLDATASIZE PUSH2 0x4A JUMPI STOP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x76 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x71 SWAP2 SWAP1 PUSH2 0x45E JUMP JUMPDEST PUSH2 0x109 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x84 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x9F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x9A SWAP2 SWAP1 PUSH2 0x4D2 JUMP JUMPDEST PUSH2 0x195 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xAC SWAP2 SWAP1 PUSH2 0x5D1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDC PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xD7 SWAP2 SWAP1 PUSH2 0x431 JUMP JUMPDEST PUSH2 0x320 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xEA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF3 PUSH2 0x363 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x100 SWAP2 SWAP1 PUSH2 0x5B6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP6 DUP6 DUP6 PUSH1 0x40 MLOAD PUSH2 0x135 SWAP3 SWAP2 SWAP1 PUSH2 0x59D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x172 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x177 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP DUP1 SWAP3 POP DUP2 SWAP4 POP POP POP DUP2 PUSH2 0x18D JUMPI DUP1 MLOAD PUSH1 0x20 DUP3 ADD REVERT JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x228 JUMPI CALLER PUSH1 0x40 MLOAD PUSH32 0x4A0BFEC100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x21F SWAP2 SWAP1 PUSH2 0x5B6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 DUP3 PUSH1 0xFF AND EQ ISZERO PUSH2 0x2A6 JUMPI DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x25B SWAP3 SWAP2 SWAP1 PUSH2 0x59D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x296 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x29B JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP DUP1 SWAP2 POP POP PUSH2 0x317 JUMP JUMPDEST DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP6 DUP6 DUP6 PUSH1 0x40 MLOAD PUSH2 0x2CE SWAP3 SWAP2 SWAP1 PUSH2 0x59D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x30B JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x310 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP DUP1 SWAP2 POP POP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x396 DUP2 PUSH2 0x686 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x3AB DUP2 PUSH2 0x69D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x3C7 JUMPI PUSH2 0x3C6 PUSH2 0x672 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3E4 JUMPI PUSH2 0x3E3 PUSH2 0x66D JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x1 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x400 JUMPI PUSH2 0x3FF PUSH2 0x677 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x416 DUP2 PUSH2 0x6B4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x42B DUP2 PUSH2 0x6CB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x447 JUMPI PUSH2 0x446 PUSH2 0x681 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x455 DUP5 DUP3 DUP6 ADD PUSH2 0x387 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x60 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x478 JUMPI PUSH2 0x477 PUSH2 0x681 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x486 DUP8 DUP3 DUP9 ADD PUSH2 0x39C JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0x497 DUP8 DUP3 DUP9 ADD PUSH2 0x407 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4B8 JUMPI PUSH2 0x4B7 PUSH2 0x67C JUMP JUMPDEST JUMPDEST PUSH2 0x4C4 DUP8 DUP3 DUP9 ADD PUSH2 0x3B1 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x80 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x4EE JUMPI PUSH2 0x4ED PUSH2 0x681 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x4FC DUP9 DUP3 DUP10 ADD PUSH2 0x39C JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH2 0x50D DUP9 DUP3 DUP10 ADD PUSH2 0x407 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x52E JUMPI PUSH2 0x52D PUSH2 0x67C JUMP JUMPDEST JUMPDEST PUSH2 0x53A DUP9 DUP3 DUP10 ADD PUSH2 0x3B1 JUMP JUMPDEST SWAP4 POP SWAP4 POP POP PUSH1 0x60 PUSH2 0x54D DUP9 DUP3 DUP10 ADD PUSH2 0x41C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH2 0x563 DUP2 PUSH2 0x5F7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x572 DUP2 PUSH2 0x61B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x584 DUP4 DUP6 PUSH2 0x5EC JUMP JUMPDEST SWAP4 POP PUSH2 0x591 DUP4 DUP6 DUP5 PUSH2 0x65E JUMP JUMPDEST DUP3 DUP5 ADD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5AA DUP3 DUP5 DUP7 PUSH2 0x578 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x5CB PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x55A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x5E6 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x569 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x602 DUP3 PUSH2 0x627 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x614 DUP3 PUSH2 0x627 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x68F DUP2 PUSH2 0x5F7 JUMP JUMPDEST DUP2 EQ PUSH2 0x69A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x6A6 DUP2 PUSH2 0x609 JUMP JUMPDEST DUP2 EQ PUSH2 0x6B1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x6BD DUP2 PUSH2 0x647 JUMP JUMPDEST DUP2 EQ PUSH2 0x6C8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x6D4 DUP2 PUSH2 0x651 JUMP JUMPDEST DUP2 EQ PUSH2 0x6DF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC2 GAS EXTCODECOPY 0xD4 0xAF KECCAK256 DUP11 JUMPDEST 0xEE RETURN SELFBALANCE EQ GASLIMIT DUP10 XOR PUSH25 0xDE7F9049B89C81D229B8F65EB69A31F964736F6C6343000807 STOP CALLER ", | |
"sourceMap": "68:968:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;295:359;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;660:374;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;208:81;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;92:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;295:359;414:12;436:21;489:2;:7;;504:5;511:4;;489:27;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;467:49;;;;;;;;531:7;526:122;;615:8;609:15;602:4;592:8;588:19;581:44;526:122;404:250;;295:359;;;;:::o;660:374::-;824:12;866:6;;;;;;;;;;;852:20;;:10;:20;;;848:58;;895:10;881:25;;;;;;;;;;;:::i;:::-;;;;;;;;848:58;933:1;920:9;:14;;;916:111;;;950:2;:15;;966:4;;950:21;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;936:35;;;;;916:111;;;1000:2;:7;;1015:5;1022:4;;1000:27;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;986:41;;;;;916:111;660:374;;;;;;;:::o;208:81::-;275:7;266:6;;:16;;;;;;;;;;;;;;;;;;208:81;:::o;92:21::-;;;;;;;;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:155::-;206:5;244:6;231:20;222:29;;260:41;295:5;260:41;:::i;:::-;152:155;;;;:::o;326:552::-;383:8;393:6;443:3;436:4;428:6;424:17;420:27;410:122;;451:79;;:::i;:::-;410:122;564:6;551:20;541:30;;594:18;586:6;583:30;580:117;;;616:79;;:::i;:::-;580:117;730:4;722:6;718:17;706:29;;784:3;776:4;768:6;764:17;754:8;750:32;747:41;744:128;;;791:79;;:::i;:::-;744:128;326:552;;;;;:::o;884:139::-;930:5;968:6;955:20;946:29;;984:33;1011:5;984:33;:::i;:::-;884:139;;;;:::o;1029:135::-;1073:5;1111:6;1098:20;1089:29;;1127:31;1152:5;1127:31;:::i;:::-;1029:135;;;;:::o;1170:329::-;1229:6;1278:2;1266:9;1257:7;1253:23;1249:32;1246:119;;;1284:79;;:::i;:::-;1246:119;1404:1;1429:53;1474:7;1465:6;1454:9;1450:22;1429:53;:::i;:::-;1419:63;;1375:117;1170:329;;;;:::o;1505:833::-;1601:6;1609;1617;1625;1674:2;1662:9;1653:7;1649:23;1645:32;1642:119;;;1680:79;;:::i;:::-;1642:119;1800:1;1825:61;1878:7;1869:6;1858:9;1854:22;1825:61;:::i;:::-;1815:71;;1771:125;1935:2;1961:53;2006:7;1997:6;1986:9;1982:22;1961:53;:::i;:::-;1951:63;;1906:118;2091:2;2080:9;2076:18;2063:32;2122:18;2114:6;2111:30;2108:117;;;2144:79;;:::i;:::-;2108:117;2257:64;2313:7;2304:6;2293:9;2289:22;2257:64;:::i;:::-;2239:82;;;;2034:297;1505:833;;;;;;;:::o;2344:975::-;2447:6;2455;2463;2471;2479;2528:3;2516:9;2507:7;2503:23;2499:33;2496:120;;;2535:79;;:::i;:::-;2496:120;2655:1;2680:61;2733:7;2724:6;2713:9;2709:22;2680:61;:::i;:::-;2670:71;;2626:125;2790:2;2816:53;2861:7;2852:6;2841:9;2837:22;2816:53;:::i;:::-;2806:63;;2761:118;2946:2;2935:9;2931:18;2918:32;2977:18;2969:6;2966:30;2963:117;;;2999:79;;:::i;:::-;2963:117;3112:64;3168:7;3159:6;3148:9;3144:22;3112:64;:::i;:::-;3094:82;;;;2889:297;3225:2;3251:51;3294:7;3285:6;3274:9;3270:22;3251:51;:::i;:::-;3241:61;;3196:116;2344:975;;;;;;;;:::o;3325:118::-;3412:24;3430:5;3412:24;:::i;:::-;3407:3;3400:37;3325:118;;:::o;3449:109::-;3530:21;3545:5;3530:21;:::i;:::-;3525:3;3518:34;3449:109;;:::o;3586:314::-;3700:3;3721:88;3802:6;3797:3;3721:88;:::i;:::-;3714:95;;3819:43;3855:6;3850:3;3843:5;3819:43;:::i;:::-;3887:6;3882:3;3878:16;3871:23;;3586:314;;;;;:::o;3906:291::-;4046:3;4068:103;4167:3;4158:6;4150;4068:103;:::i;:::-;4061:110;;4188:3;4181:10;;3906:291;;;;;:::o;4203:222::-;4296:4;4334:2;4323:9;4319:18;4311:26;;4347:71;4415:1;4404:9;4400:17;4391:6;4347:71;:::i;:::-;4203:222;;;;:::o;4431:210::-;4518:4;4556:2;4545:9;4541:18;4533:26;;4569:65;4631:1;4620:9;4616:17;4607:6;4569:65;:::i;:::-;4431:210;;;;:::o;4728:147::-;4829:11;4866:3;4851:18;;4728:147;;;;:::o;4881:96::-;4918:7;4947:24;4965:5;4947:24;:::i;:::-;4936:35;;4881:96;;;:::o;4983:104::-;5028:7;5057:24;5075:5;5057:24;:::i;:::-;5046:35;;4983:104;;;:::o;5093:90::-;5127:7;5170:5;5163:13;5156:21;5145:32;;5093:90;;;:::o;5189:126::-;5226:7;5266:42;5259:5;5255:54;5244:65;;5189:126;;;:::o;5321:77::-;5358:7;5387:5;5376:16;;5321:77;;;:::o;5404:86::-;5439:7;5479:4;5472:5;5468:16;5457:27;;5404:86;;;:::o;5496:154::-;5580:6;5575:3;5570;5557:30;5642:1;5633:6;5628:3;5624:16;5617:27;5496:154;;;:::o;5656:117::-;5765:1;5762;5755:12;5779:117;5888:1;5885;5878:12;5902:117;6011:1;6008;6001:12;6025:117;6134:1;6131;6124:12;6148:117;6257:1;6254;6247:12;6271:122;6344:24;6362:5;6344:24;:::i;:::-;6337:5;6334:35;6324:63;;6383:1;6380;6373:12;6324:63;6271:122;:::o;6399:138::-;6480:32;6506:5;6480:32;:::i;:::-;6473:5;6470:43;6460:71;;6527:1;6524;6517:12;6460:71;6399:138;:::o;6543:122::-;6616:24;6634:5;6616:24;:::i;:::-;6609:5;6606:35;6596:63;;6655:1;6652;6645:12;6596:63;6543:122;:::o;6671:118::-;6742:22;6758:5;6742:22;:::i;:::-;6735:5;6732:33;6722:61;;6779:1;6776;6769:12;6722:61;6671:118;:::o" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "363200", | |
"executionCost": "399", | |
"totalCost": "363599" | |
}, | |
"external": { | |
"enableModule(address)": "24744", | |
"exec(address,uint256,bytes)": "infinite", | |
"execTransactionFromModule(address,uint256,bytes,uint8)": "infinite", | |
"module()": "2555" | |
} | |
}, | |
"methodIdentifiers": { | |
"enableModule(address)": "610b5925", | |
"exec(address,uint256,bytes)": "0565bb67", | |
"execTransactionFromModule(address,uint256,bytes,uint8)": "468721a7", | |
"module()": "b86d5298" | |
} | |
}, | |
"abi": [ | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "unacceptedAddress", | |
"type": "address" | |
} | |
], | |
"name": "NotAuthorized", | |
"type": "error" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "_module", | |
"type": "address" | |
} | |
], | |
"name": "enableModule", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address payable", | |
"name": "to", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "value", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "bytes", | |
"name": "data", | |
"type": "bytes" | |
} | |
], | |
"name": "exec", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address payable", | |
"name": "to", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "value", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "bytes", | |
"name": "data", | |
"type": "bytes" | |
}, | |
{ | |
"internalType": "uint8", | |
"name": "operation", | |
"type": "uint8" | |
} | |
], | |
"name": "execTransactionFromModule", | |
"outputs": [ | |
{ | |
"internalType": "bool", | |
"name": "success", | |
"type": "bool" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "module", | |
"outputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"stateMutability": "payable", | |
"type": "receive" | |
} | |
] | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"compiler": { | |
"version": "0.8.7+commit.e28d00a7" | |
}, | |
"language": "Solidity", | |
"output": { | |
"abi": [ | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "unacceptedAddress", | |
"type": "address" | |
} | |
], | |
"name": "NotAuthorized", | |
"type": "error" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "_module", | |
"type": "address" | |
} | |
], | |
"name": "enableModule", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address payable", | |
"name": "to", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "value", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "bytes", | |
"name": "data", | |
"type": "bytes" | |
} | |
], | |
"name": "exec", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address payable", | |
"name": "to", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "value", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "bytes", | |
"name": "data", | |
"type": "bytes" | |
}, | |
{ | |
"internalType": "uint8", | |
"name": "operation", | |
"type": "uint8" | |
} | |
], | |
"name": "execTransactionFromModule", | |
"outputs": [ | |
{ | |
"internalType": "bool", | |
"name": "success", | |
"type": "bool" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "module", | |
"outputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"stateMutability": "payable", | |
"type": "receive" | |
} | |
], | |
"devdoc": { | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
}, | |
"settings": { | |
"compilationTarget": { | |
"gist-105ae8f09c34406997d217ee4dc0f63a/MockSafe.sol": "MockSafe" | |
}, | |
"evmVersion": "london", | |
"libraries": {}, | |
"metadata": { | |
"bytecodeHash": "ipfs" | |
}, | |
"optimizer": { | |
"enabled": false, | |
"runs": 200 | |
}, | |
"remappings": [] | |
}, | |
"sources": { | |
"gist-105ae8f09c34406997d217ee4dc0f63a/MockSafe.sol": { | |
"keccak256": "0xd562fdb45dd4a168e51d7424fe47f3f17222ecdf79a64874ca250c3f9c97da4f", | |
"license": "LGPL-3.0-only", | |
"urls": [ | |
"bzz-raw://699b58dd659aff483eb18396b34ac5a600df7d50f9c6f8fac7cbd04663273d06", | |
"dweb:/ipfs/QmVB647nox67f2VmVrzV2cuBF5hcmNM39Pt33eTSMnDP8P" | |
] | |
} | |
}, | |
"version": 1 | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"deploy": { | |
"VM:-": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"main:1": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"ropsten:3": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"rinkeby:4": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"kovan:42": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"görli:5": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"Custom": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
} | |
}, | |
"data": { | |
"bytecode": { | |
"functionDebugData": { | |
"@_937": { | |
"entryPoint": null, | |
"id": 937, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"@__Context_init_unchained_696": { | |
"entryPoint": 1502, | |
"id": 696, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@__Ownable_init_533": { | |
"entryPoint": 287, | |
"id": 533, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@__Ownable_init_unchained_544": { | |
"entryPoint": 1725, | |
"id": 544, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@_msgSender_705": { | |
"entryPoint": 1980, | |
"id": 705, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"@_transferOwnership_624": { | |
"entryPoint": 2030, | |
"id": 624, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"@owner_553": { | |
"entryPoint": 1988, | |
"id": 553, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"@setAvatar_57": { | |
"entryPoint": 542, | |
"id": 57, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"@setTarget_79": { | |
"entryPoint": 883, | |
"id": 79, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"@setUp_978": { | |
"entryPoint": 121, | |
"id": 978, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"@transferOwnership_604": { | |
"entryPoint": 1224, | |
"id": 604, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"abi_decode_t_address_fromMemory": { | |
"entryPoint": 2228, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_address_payable_fromMemory": { | |
"entryPoint": 2251, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_tuple_t_address_payablet_address_payable_fromMemory": { | |
"entryPoint": 2274, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 2 | |
}, | |
"abi_decode_tuple_t_addresst_address_fromMemory": { | |
"entryPoint": 2345, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 2 | |
}, | |
"abi_encode_t_address_to_t_address_fromStack": { | |
"entryPoint": 2416, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 2433, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_stringliteral_7a2a4e26842155ea933fe6eb6e3137eb5a296dcdf55721c552be7b4c3cc23759_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 2472, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 2511, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed": { | |
"entryPoint": 2550, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 2595, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_7a2a4e26842155ea933fe6eb6e3137eb5a296dcdf55721c552be7b4c3cc23759__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 2629, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 2663, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"allocate_unbounded": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { | |
"entryPoint": 2697, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_address": { | |
"entryPoint": 2714, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_address_payable": { | |
"entryPoint": 2734, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_uint160": { | |
"entryPoint": 2754, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { | |
"entryPoint": 2786, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe": { | |
"entryPoint": 2791, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"store_literal_in_memory_7a2a4e26842155ea933fe6eb6e3137eb5a296dcdf55721c552be7b4c3cc23759": { | |
"entryPoint": 2870, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe": { | |
"entryPoint": 2949, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_address": { | |
"entryPoint": 2990, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_address_payable": { | |
"entryPoint": 3016, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
} | |
}, | |
"generatedSources": [ | |
{ | |
"ast": { | |
"nodeType": "YulBlock", | |
"src": "0:6005:15", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "70:80:15", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "80:22:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "95:6:15" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "89:5:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "89:13:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "80:5:15" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "138:5:15" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "111:26:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "111:33:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "111:33:15" | |
} | |
] | |
}, | |
"name": "abi_decode_t_address_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "48:6:15", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "56:3:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "64:5:15", | |
"type": "" | |
} | |
], | |
"src": "7:143:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "227:88:15", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "237:22:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "252:6:15" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "246:5:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "246:13:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "237:5:15" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "303:5:15" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_address_payable", | |
"nodeType": "YulIdentifier", | |
"src": "268:34:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "268:41:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "268:41:15" | |
} | |
] | |
}, | |
"name": "abi_decode_t_address_payable_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "205:6:15", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "213:3:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "221:5:15", | |
"type": "" | |
} | |
], | |
"src": "156:159:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "431:429:15", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "477:83:15", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "479:77:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "479:79:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "479:79:15" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "452:7:15" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "461:9:15" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "448:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "448:23:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "473:2:15", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "444:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "444:32:15" | |
}, | |
"nodeType": "YulIf", | |
"src": "441:119:15" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "570:136:15", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "585:15:15", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "599:1:15", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "589:6:15", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "614:82:15", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "668:9:15" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "679:6:15" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "664:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "664:22:15" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "688:7:15" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_address_payable_fromMemory", | |
"nodeType": "YulIdentifier", | |
"src": "624:39:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "624:72:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "614:6:15" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "716:137:15", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "731:16:15", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "745:2:15", | |
"type": "", | |
"value": "32" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "735:6:15", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "761:82:15", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "815:9:15" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "826:6:15" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "811:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "811:22:15" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "835:7:15" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_address_payable_fromMemory", | |
"nodeType": "YulIdentifier", | |
"src": "771:39:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "771:72:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "761:6:15" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_address_payablet_address_payable_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "393:9:15", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "404:7:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "416:6:15", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "424:6:15", | |
"type": "" | |
} | |
], | |
"src": "321:539:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "960:413:15", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1006:83:15", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "1008:77:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1008:79:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1008:79:15" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "981:7:15" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "990:9:15" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "977:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "977:23:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1002:2:15", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "973:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "973:32:15" | |
}, | |
"nodeType": "YulIf", | |
"src": "970:119:15" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "1099:128:15", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "1114:15:15", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1128:1:15", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "1118:6:15", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1143:74:15", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1189:9:15" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1200:6:15" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1185:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1185:22:15" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1209:7:15" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_address_fromMemory", | |
"nodeType": "YulIdentifier", | |
"src": "1153:31:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1153:64:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "1143:6:15" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "1237:129:15", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "1252:16:15", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1266:2:15", | |
"type": "", | |
"value": "32" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "1256:6:15", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1282:74:15", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1328:9:15" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1339:6:15" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1324:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1324:22:15" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1348:7:15" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_address_fromMemory", | |
"nodeType": "YulIdentifier", | |
"src": "1292:31:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1292:64:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "1282:6:15" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_addresst_address_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "922:9:15", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "933:7:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "945:6:15", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "953:6:15", | |
"type": "" | |
} | |
], | |
"src": "866:507:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1444:53:15", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1461:3:15" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1484:5:15" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "1466:17:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1466:24:15" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1454:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1454:37:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1454:37:15" | |
} | |
] | |
}, | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "1432:5:15", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "1439:3:15", | |
"type": "" | |
} | |
], | |
"src": "1379:118:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1649:220:15", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1659:74:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1725:3:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1730:2:15", | |
"type": "", | |
"value": "38" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "1666:58:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1666:67:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1659:3:15" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1831:3:15" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", | |
"nodeType": "YulIdentifier", | |
"src": "1742:88:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1742:93:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1742:93:15" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1844:19:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1855:3:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1860:2:15", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1851:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1851:12:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "1844:3:15" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "1637:3:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "1645:3:15", | |
"type": "" | |
} | |
], | |
"src": "1503:366:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2021:220:15", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2031:74:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "2097:3:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2102:2:15", | |
"type": "", | |
"value": "46" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "2038:58:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2038:67:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "2031:3:15" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "2203:3:15" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_7a2a4e26842155ea933fe6eb6e3137eb5a296dcdf55721c552be7b4c3cc23759", | |
"nodeType": "YulIdentifier", | |
"src": "2114:88:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2114:93:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2114:93:15" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2216:19:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "2227:3:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2232:2:15", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2223:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2223:12:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "2216:3:15" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_7a2a4e26842155ea933fe6eb6e3137eb5a296dcdf55721c552be7b4c3cc23759_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "2009:3:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "2017:3:15", | |
"type": "" | |
} | |
], | |
"src": "1875:366:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2393:220:15", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2403:74:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "2469:3:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2474:2:15", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "2410:58:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2410:67:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "2403:3:15" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "2575:3:15" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", | |
"nodeType": "YulIdentifier", | |
"src": "2486:88:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2486:93:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2486:93:15" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2588:19:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "2599:3:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2604:2:15", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2595:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2595:12:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "2588:3:15" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "2381:3:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "2389:3:15", | |
"type": "" | |
} | |
], | |
"src": "2247:366:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2745:206:15", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2755:26:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2767:9:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2778:2:15", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2763:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2763:18:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "2755:4:15" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "2835:6:15" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2848:9:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2859:1:15", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2844:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2844:17:15" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "2791:43:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2791:71:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2791:71:15" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "2916:6:15" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2929:9:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2940:2:15", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2925:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2925:18:15" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "2872:43:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2872:72:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2872:72:15" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "2709:9:15", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "2721:6:15", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "2729:6:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "2740:4:15", | |
"type": "" | |
} | |
], | |
"src": "2619:332:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3128:248:15", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3138:26:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "3150:9:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3161:2:15", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3146:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3146:18:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "3138:4:15" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "3185:9:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3196:1:15", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3181:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3181:17:15" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "3204:4:15" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "3210:9:15" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "3200:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3200:20:15" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "3174:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3174:47:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3174:47:15" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3230:139:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "3364:4:15" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "3238:124:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3238:131:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "3230:4:15" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "3108:9:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "3123:4:15", | |
"type": "" | |
} | |
], | |
"src": "2957:419:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3553:248:15", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3563:26:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "3575:9:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3586:2:15", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3571:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3571:18:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "3563:4:15" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "3610:9:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3621:1:15", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3606:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3606:17:15" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "3629:4:15" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "3635:9:15" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "3625:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3625:20:15" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "3599:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3599:47:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3599:47:15" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3655:139:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "3789:4:15" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_7a2a4e26842155ea933fe6eb6e3137eb5a296dcdf55721c552be7b4c3cc23759_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "3663:124:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3663:131:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "3655:4:15" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_7a2a4e26842155ea933fe6eb6e3137eb5a296dcdf55721c552be7b4c3cc23759__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "3533:9:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "3548:4:15", | |
"type": "" | |
} | |
], | |
"src": "3382:419:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3978:248:15", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3988:26:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "4000:9:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4011:2:15", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3996:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3996:18:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "3988:4:15" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "4035:9:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4046:1:15", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4031:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4031:17:15" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "4054:4:15" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "4060:9:15" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "4050:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4050:20:15" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "4024:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4024:47:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4024:47:15" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4080:139:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "4214:4:15" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "4088:124:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4088:131:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "4080:4:15" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "3958:9:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "3973:4:15", | |
"type": "" | |
} | |
], | |
"src": "3807:419:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4272:35:15", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4282:19:15", | |
"value": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4298:2:15", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "4292:5:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4292:9:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "4282:6:15" | |
} | |
] | |
} | |
] | |
}, | |
"name": "allocate_unbounded", | |
"nodeType": "YulFunctionDefinition", | |
"returnVariables": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "4265:6:15", | |
"type": "" | |
} | |
], | |
"src": "4232:75:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4409:73:15", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4426:3:15" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "4431:6:15" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "4419:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4419:19:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4419:19:15" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4447:29:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4466:3:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4471:4:15", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4462:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4462:14:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulIdentifier", | |
"src": "4447:11:15" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "4381:3:15", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "4386:6:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulTypedName", | |
"src": "4397:11:15", | |
"type": "" | |
} | |
], | |
"src": "4313:169:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4533:51:15", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4543:35:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4572:5:15" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulIdentifier", | |
"src": "4554:17:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4554:24:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "4543:7:15" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "4515:5:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "4525:7:15", | |
"type": "" | |
} | |
], | |
"src": "4488:96:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4643:51:15", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4653:35:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4682:5:15" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulIdentifier", | |
"src": "4664:17:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4664:24:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "4653:7:15" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_address_payable", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "4625:5:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "4635:7:15", | |
"type": "" | |
} | |
], | |
"src": "4590:104:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4745:81:15", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4755:65:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4770:5:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4777:42:15", | |
"type": "", | |
"value": "0xffffffffffffffffffffffffffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "4766:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4766:54:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "4755:7:15" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "4727:5:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "4737:7:15", | |
"type": "" | |
} | |
], | |
"src": "4700:126:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4921:28:15", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4938:1:15", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4941:1:15", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "4931:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4931:12:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4931:12:15" | |
} | |
] | |
}, | |
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
"nodeType": "YulFunctionDefinition", | |
"src": "4832:117:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5044:28:15", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5061:1:15", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5064:1:15", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "5054:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5054:12:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5054:12:15" | |
} | |
] | |
}, | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulFunctionDefinition", | |
"src": "4955:117:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5184:119:15", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "5206:6:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5214:1:15", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5202:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5202:14:15" | |
}, | |
{ | |
"hexValue": "4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "5218:34:15", | |
"type": "", | |
"value": "Ownable: new owner is the zero a" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "5195:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5195:58:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5195:58:15" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "5274:6:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5282:2:15", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5270:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5270:15:15" | |
}, | |
{ | |
"hexValue": "646472657373", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "5287:8:15", | |
"type": "", | |
"value": "ddress" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "5263:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5263:33:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5263:33:15" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "5176:6:15", | |
"type": "" | |
} | |
], | |
"src": "5078:225:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5415:127:15", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "5437:6:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5445:1:15", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5433:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5433:14:15" | |
}, | |
{ | |
"hexValue": "496e697469616c697a61626c653a20636f6e747261637420697320616c726561", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "5449:34:15", | |
"type": "", | |
"value": "Initializable: contract is alrea" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "5426:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5426:58:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5426:58:15" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "5505:6:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5513:2:15", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5501:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5501:15:15" | |
}, | |
{ | |
"hexValue": "647920696e697469616c697a6564", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "5518:16:15", | |
"type": "", | |
"value": "dy initialized" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "5494:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5494:41:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5494:41:15" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_7a2a4e26842155ea933fe6eb6e3137eb5a296dcdf55721c552be7b4c3cc23759", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "5407:6:15", | |
"type": "" | |
} | |
], | |
"src": "5309:233:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5654:76:15", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "5676:6:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5684:1:15", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5672:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5672:14:15" | |
}, | |
{ | |
"hexValue": "4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "5688:34:15", | |
"type": "", | |
"value": "Ownable: caller is not the owner" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "5665:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5665:58:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5665:58:15" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "5646:6:15", | |
"type": "" | |
} | |
], | |
"src": "5548:182:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5779:79:15", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5836:16:15", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5845:1:15", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5848:1:15", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "5838:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5838:12:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5838:12:15" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "5802:5:15" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "5827:5:15" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "5809:17:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5809:24:15" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "5799:2:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5799:35:15" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "5792:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5792:43:15" | |
}, | |
"nodeType": "YulIf", | |
"src": "5789:63:15" | |
} | |
] | |
}, | |
"name": "validator_revert_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "5772:5:15", | |
"type": "" | |
} | |
], | |
"src": "5736:122:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5915:87:15", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5980:16:15", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5989:1:15", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5992:1:15", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "5982:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5982:12:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5982:12:15" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "5938:5:15" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "5971:5:15" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_address_payable", | |
"nodeType": "YulIdentifier", | |
"src": "5945:25:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5945:32:15" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "5935:2:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5935:43:15" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "5928:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5928:51:15" | |
}, | |
"nodeType": "YulIf", | |
"src": "5925:71:15" | |
} | |
] | |
}, | |
"name": "validator_revert_t_address_payable", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "5908:5:15", | |
"type": "" | |
} | |
], | |
"src": "5864:138:15" | |
} | |
] | |
}, | |
"contents": "{\n\n function abi_decode_t_address_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_t_address_payable_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address_payable(value)\n }\n\n function abi_decode_tuple_t_address_payablet_address_payable_fromMemory(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address_payable_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address_payable_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_address_fromMemory(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 38)\n store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_7a2a4e26842155ea933fe6eb6e3137eb5a296dcdf55721c552be7b4c3cc23759_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 46)\n store_literal_in_memory_7a2a4e26842155ea933fe6eb6e3137eb5a296dcdf55721c552be7b4c3cc23759(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n }\n\n function abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_7a2a4e26842155ea933fe6eb6e3137eb5a296dcdf55721c552be7b4c3cc23759__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_7a2a4e26842155ea933fe6eb6e3137eb5a296dcdf55721c552be7b4c3cc23759_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_address_payable(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe(memPtr) {\n\n mstore(add(memPtr, 0), \"Ownable: new owner is the zero a\")\n\n mstore(add(memPtr, 32), \"ddress\")\n\n }\n\n function store_literal_in_memory_7a2a4e26842155ea933fe6eb6e3137eb5a296dcdf55721c552be7b4c3cc23759(memPtr) {\n\n mstore(add(memPtr, 0), \"Initializable: contract is alrea\")\n\n mstore(add(memPtr, 32), \"dy initialized\")\n\n }\n\n function store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe(memPtr) {\n\n mstore(add(memPtr, 0), \"Ownable: caller is not the owner\")\n\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_address_payable(value) {\n if iszero(eq(value, cleanup_t_address_payable(value))) { revert(0, 0) }\n }\n\n}\n", | |
"id": 15, | |
"language": "Yul", | |
"name": "#utility.yul" | |
} | |
], | |
"linkReferences": {}, | |
"object": "60806040523480156200001157600080fd5b506040516200255238038062002552833981810160405281019062000037919062000929565b600082826040516020016200004e929190620009f6565b604051602081830303815290604052905062000070816200007960201b60201c565b50505062000be2565b620000896200011f60201b60201c565b60008082806020019051810190620000a29190620008e2565b9150915080606860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620000f8826200021e60201b60201c565b62000109826200037360201b60201c565b6200011a82620004c860201b60201c565b505050565b600060019054906101000a900460ff168062000146575060008054906101000a900460ff16155b62000188576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200017f9062000a45565b60405180910390fd5b60008060019054906101000a900460ff161590508015620001d9576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b620001e9620005de60201b60201c565b620001f9620006bd60201b60201c565b80156200021b5760008060016101000a81548160ff0219169083151502179055505b50565b6200022e620007bc60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1662000254620007c460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614620002ad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002a49062000a67565b60405180910390fd5b6000606660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081606660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f52ae88b092de36f87fb43fe794eb1381023b9c1bce563a871154022c63dce34260405160405180910390a35050565b62000383620007bc60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620003a9620007c460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462000402576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003f99062000a67565b60405180910390fd5b6000606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081606760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f90cc2f570a6eb594b1580ea3e41247d2d73a55281889e86bd4ec2fc29c7e62d660405160405180910390a35050565b620004d8620007bc60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620004fe620007c460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462000557576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200054e9062000a67565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415620005ca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005c19062000a23565b60405180910390fd5b620005db81620007ee60201b60201c565b50565b600060019054906101000a900460ff168062000605575060008054906101000a900460ff16155b62000647576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200063e9062000a45565b60405180910390fd5b60008060019054906101000a900460ff16159050801562000698576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b8015620006ba5760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff1680620006e4575060008054906101000a900460ff16155b62000726576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200071d9062000a45565b60405180910390fd5b60008060019054906101000a900460ff16159050801562000777576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b620007976200078b620007bc60201b60201c565b620007ee60201b60201c565b8015620007b95760008060016101000a81548160ff0219169083151502179055505b50565b600033905090565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081519050620008c58162000bae565b92915050565b600081519050620008dc8162000bc8565b92915050565b60008060408385031215620008fc57620008fb62000ae2565b5b60006200090c85828601620008cb565b92505060206200091f85828601620008cb565b9150509250929050565b6000806040838503121562000943576200094262000ae2565b5b60006200095385828601620008b4565b92505060206200096685828601620008b4565b9150509250929050565b6200097b8162000a9a565b82525050565b60006200099060268362000a89565b91506200099d8262000ae7565b604082019050919050565b6000620009b7602e8362000a89565b9150620009c48262000b36565b604082019050919050565b6000620009de60208362000a89565b9150620009eb8262000b85565b602082019050919050565b600060408201905062000a0d600083018562000970565b62000a1c602083018462000970565b9392505050565b6000602082019050818103600083015262000a3e8162000981565b9050919050565b6000602082019050818103600083015262000a6081620009a8565b9050919050565b6000602082019050818103600083015262000a8281620009cf565b9050919050565b600082825260208201905092915050565b600062000aa78262000ac2565b9050919050565b600062000abb8262000ac2565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600080fd5b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b62000bb98162000a9a565b811462000bc557600080fd5b50565b62000bd38162000aae565b811462000bdf57600080fd5b50565b6119608062000bf26000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80637eca482f1161008c578063c910638911610066578063c9106389146101b4578063d4b83992146101d2578063e19a9dd9146101f0578063f2fde38b1461020c576100cf565b80637eca482f1461015c5780638da5cb5b1461017a578063a4f9edbf14610198576100cf565b8063086cfca8146100d45780630a007972146100f05780635aef7de6146100fa578063715018a614610118578063776d1a01146101225780637ceab3b11461013e575b600080fd5b6100ee60048036038101906100e99190611161565b610228565b005b6100f861036a565b005b6101026103dc565b60405161010f91906113b3565b60405180910390f35b610120610402565b005b61013c60048036038101906101379190611161565b61048a565b005b6101466105cc565b60405161015391906113b3565b60405180910390f35b6101646105f2565b60405161017191906113b3565b60405180910390f35b610182610618565b60405161018f91906113b3565b60405180910390f35b6101b260048036038101906101ad91906111fb565b610642565b005b6101bc6106c6565b6040516101c991906113b3565b60405180910390f35b6101da6106f0565b6040516101e791906113b3565b60405180910390f35b61020a60048036038101906102059190611161565b610716565b005b61022660048036038101906102219190611161565b61094c565b005b610230610a44565b73ffffffffffffffffffffffffffffffffffffffff1661024e610618565b73ffffffffffffffffffffffffffffffffffffffff16146102a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161029b90611557565b60405180910390fd5b6000606660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081606660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f52ae88b092de36f87fb43fe794eb1381023b9c1bce563a871154022c63dce34260405160405180910390a35050565b6103d9606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660007f0a007972426143e69eb25ec52e11623d5004b9a09c2e6920771b14a2f7068f8a6040516020016103c39190611398565b6040516020818303038152906040526000610a4c565b50565b606660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61040a610a44565b73ffffffffffffffffffffffffffffffffffffffff16610428610618565b73ffffffffffffffffffffffffffffffffffffffff161461047e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047590611557565b60405180910390fd5b6104886000610d41565b565b610492610a44565b73ffffffffffffffffffffffffffffffffffffffff166104b0610618565b73ffffffffffffffffffffffffffffffffffffffff1614610506576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104fd90611557565b60405180910390fd5b6000606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081606760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f90cc2f570a6eb594b1580ea3e41247d2d73a55281889e86bd4ec2fc29c7e62d660405160405180910390a35050565b606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61064a610e07565b60008082806020019051810190610661919061118e565b9150915080606860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506106af82610228565b6106b88261048a565b6106c18261094c565b505050565b6000606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61071e610a44565b73ffffffffffffffffffffffffffffffffffffffff1661073c610618565b73ffffffffffffffffffffffffffffffffffffffff1614610792576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078990611557565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146108af578073ffffffffffffffffffffffffffffffffffffffff166301ffc9a77fe6d7a83a000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040161081f91906114fc565b60206040518083038186803b15801561083757600080fd5b505afa15801561084b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086f91906111ce565b6108ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a590611577565b60405180910390fd5b5b80606560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa2606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405161094191906113b3565b60405180910390a150565b610954610a44565b73ffffffffffffffffffffffffffffffffffffffff16610972610618565b73ffffffffffffffffffffffffffffffffffffffff16146109c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bf90611557565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610a38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2f90611517565b60405180910390fd5b610a4181610d41565b50565b600033905090565b60008073ffffffffffffffffffffffffffffffffffffffff16606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b7e57606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166375f0bb528686868660008060008060006040518060400160405280600281526020017f307800000000000000000000000000000000000000000000000000000000000081525060006040518c63ffffffff1660e01b8152600401610b4b9b9a9998979695949392919061141a565b600060405180830381600087803b158015610b6557600080fd5b505af1158015610b79573d6000803e3d6000fd5b505050505b606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663468721a7868686866040518563ffffffff1660e01b8152600401610bdf94939291906113ce565b602060405180830381600087803b158015610bf957600080fd5b505af1158015610c0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3191906111ce565b9050600073ffffffffffffffffffffffffffffffffffffffff16606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d3957606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663932713687f3078000000000000000000000000000000000000000000000000000000000000836040518363ffffffff1660e01b8152600401610d069291906114d3565b600060405180830381600087803b158015610d2057600080fd5b505af1158015610d34573d6000803e3d6000fd5b505050505b949350505050565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600060019054906101000a900460ff1680610e2d575060008054906101000a900460ff16155b610e6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6390611537565b60405180910390fd5b60008060019054906101000a900460ff161590508015610ebc576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b610ec4610ef0565b610ecc610fc9565b8015610eed5760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff1680610f16575060008054906101000a900460ff16155b610f55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4c90611537565b60405180910390fd5b60008060019054906101000a900460ff161590508015610fa5576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b8015610fc65760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff1680610fef575060008054906101000a900460ff16155b61102e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102590611537565b60405180910390fd5b60008060019054906101000a900460ff16159050801561107e576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b61108e611089610a44565b610d41565b80156110af5760008060016101000a81548160ff0219169083151502179055505b50565b60006110c56110c0846115bc565b611597565b9050828152602081018484840111156110e1576110e06117c1565b5b6110ec8482856116e1565b509392505050565b600081359050611103816118e5565b92915050565b600081519050611118816118fc565b92915050565b60008151905061112d81611913565b92915050565b600082601f830112611148576111476117bc565b5b81356111588482602086016110b2565b91505092915050565b600060208284031215611177576111766117cb565b5b6000611185848285016110f4565b91505092915050565b600080604083850312156111a5576111a46117cb565b5b60006111b385828601611109565b92505060206111c485828601611109565b9150509250929050565b6000602082840312156111e4576111e36117cb565b5b60006111f28482850161111e565b91505092915050565b600060208284031215611211576112106117cb565b5b600082013567ffffffffffffffff81111561122f5761122e6117c6565b5b61123b84828501611133565b91505092915050565b61124d8161162c565b82525050565b61125c8161161a565b82525050565b61126b8161163e565b82525050565b61127a8161164a565b82525050565b61128981611654565b82525050565b6112a061129b82611654565b611754565b82525050565b60006112b1826115ed565b6112bb81856115f8565b93506112cb8185602086016116f0565b6112d4816117d0565b840191505092915050565b6112e8816116bd565b82525050565b6112f7816116cf565b82525050565b600061130a602683611609565b9150611315826117e1565b604082019050919050565b600061132d602e83611609565b915061133882611830565b604082019050919050565b6000611350602083611609565b915061135b8261187f565b602082019050919050565b6000611373602083611609565b915061137e826118a8565b602082019050919050565b611392816116b3565b82525050565b60006113a4828461128f565b60048201915081905092915050565b60006020820190506113c86000830184611253565b92915050565b60006080820190506113e36000830187611253565b6113f06020830186611389565b818103604083015261140281856112a6565b905061141160608301846112df565b95945050505050565b600061016082019050611430600083018e611253565b61143d602083018d611389565b818103604083015261144f818c6112a6565b905061145e606083018b6112df565b61146b608083018a6112ee565b61147860a08301896112ee565b61148560c08301886112ee565b61149260e0830187611253565b6114a0610100830186611244565b8181036101208301526114b381856112a6565b90506114c3610140830184611253565b9c9b505050505050505050505050565b60006040820190506114e86000830185611271565b6114f56020830184611262565b9392505050565b60006020820190506115116000830184611280565b92915050565b60006020820190508181036000830152611530816112fd565b9050919050565b6000602082019050818103600083015261155081611320565b9050919050565b6000602082019050818103600083015261157081611343565b9050919050565b6000602082019050818103600083015261159081611366565b9050919050565b60006115a16115b2565b90506115ad8282611723565b919050565b6000604051905090565b600067ffffffffffffffff8211156115d7576115d661178d565b5b6115e0826117d0565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061162582611693565b9050919050565b600061163782611693565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600081905061168e826118d1565b919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006116c882611680565b9050919050565b60006116da826116b3565b9050919050565b82818337600083830152505050565b60005b8381101561170e5780820151818401526020810190506116f3565b8381111561171d576000848401525b50505050565b61172c826117d0565b810181811067ffffffffffffffff8211171561174b5761174a61178d565b5b80604052505050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f477561726420646f6573206e6f7420696d706c656d656e742049455243313635600082015250565b600281106118e2576118e161175e565b5b50565b6118ee8161161a565b81146118f957600080fd5b50565b6119058161162c565b811461191057600080fd5b50565b61191c8161163e565b811461192757600080fd5b5056fea2646970667358221220ca39844ed409a2caef17a391a16b500e56c8d23a4b509b4e69bb193a5fe82e4164736f6c63430008070033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x2552 CODESIZE SUB DUP1 PUSH3 0x2552 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x37 SWAP2 SWAP1 PUSH3 0x929 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH3 0x4E SWAP3 SWAP2 SWAP1 PUSH3 0x9F6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 POP PUSH3 0x70 DUP2 PUSH3 0x79 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST POP POP POP PUSH3 0xBE2 JUMP JUMPDEST PUSH3 0x89 PUSH3 0x11F PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH3 0xA2 SWAP2 SWAP1 PUSH3 0x8E2 JUMP JUMPDEST SWAP2 POP SWAP2 POP DUP1 PUSH1 0x68 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH3 0xF8 DUP3 PUSH3 0x21E PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x109 DUP3 PUSH3 0x373 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x11A DUP3 PUSH3 0x4C8 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP1 PUSH3 0x146 JUMPI POP PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO JUMPDEST PUSH3 0x188 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x17F SWAP1 PUSH3 0xA45 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO SWAP1 POP DUP1 ISZERO PUSH3 0x1D9 JUMPI PUSH1 0x1 PUSH1 0x0 PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP JUMPDEST PUSH3 0x1E9 PUSH3 0x5DE PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x1F9 PUSH3 0x6BD PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST DUP1 ISZERO PUSH3 0x21B JUMPI PUSH1 0x0 DUP1 PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP JUMPDEST POP JUMP JUMPDEST PUSH3 0x22E PUSH3 0x7BC PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH3 0x254 PUSH3 0x7C4 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH3 0x2AD JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x2A4 SWAP1 PUSH3 0xA67 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x66 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x66 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x52AE88B092DE36F87FB43FE794EB1381023B9C1BCE563A871154022C63DCE342 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH3 0x383 PUSH3 0x7BC PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH3 0x3A9 PUSH3 0x7C4 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH3 0x402 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x3F9 SWAP1 PUSH3 0xA67 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x67 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x67 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x90CC2F570A6EB594B1580EA3E41247D2D73A55281889E86BD4EC2FC29C7E62D6 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH3 0x4D8 PUSH3 0x7BC PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH3 0x4FE PUSH3 0x7C4 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH3 0x557 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x54E SWAP1 PUSH3 0xA67 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH3 0x5CA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x5C1 SWAP1 PUSH3 0xA23 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH3 0x5DB DUP2 PUSH3 0x7EE PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP1 PUSH3 0x605 JUMPI POP PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO JUMPDEST PUSH3 0x647 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x63E SWAP1 PUSH3 0xA45 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO SWAP1 POP DUP1 ISZERO PUSH3 0x698 JUMPI PUSH1 0x1 PUSH1 0x0 PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP JUMPDEST DUP1 ISZERO PUSH3 0x6BA JUMPI PUSH1 0x0 DUP1 PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP1 PUSH3 0x6E4 JUMPI POP PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO JUMPDEST PUSH3 0x726 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x71D SWAP1 PUSH3 0xA45 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO SWAP1 POP DUP1 ISZERO PUSH3 0x777 JUMPI PUSH1 0x1 PUSH1 0x0 PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP JUMPDEST PUSH3 0x797 PUSH3 0x78B PUSH3 0x7BC PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x7EE PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST DUP1 ISZERO PUSH3 0x7B9 JUMPI PUSH1 0x0 DUP1 PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x33 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x33 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x33 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x8C5 DUP2 PUSH3 0xBAE JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x8DC DUP2 PUSH3 0xBC8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH3 0x8FC JUMPI PUSH3 0x8FB PUSH3 0xAE2 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH3 0x90C DUP6 DUP3 DUP7 ADD PUSH3 0x8CB JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH3 0x91F DUP6 DUP3 DUP7 ADD PUSH3 0x8CB JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH3 0x943 JUMPI PUSH3 0x942 PUSH3 0xAE2 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH3 0x953 DUP6 DUP3 DUP7 ADD PUSH3 0x8B4 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH3 0x966 DUP6 DUP3 DUP7 ADD PUSH3 0x8B4 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH3 0x97B DUP2 PUSH3 0xA9A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x990 PUSH1 0x26 DUP4 PUSH3 0xA89 JUMP JUMPDEST SWAP2 POP PUSH3 0x99D DUP3 PUSH3 0xAE7 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x9B7 PUSH1 0x2E DUP4 PUSH3 0xA89 JUMP JUMPDEST SWAP2 POP PUSH3 0x9C4 DUP3 PUSH3 0xB36 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x9DE PUSH1 0x20 DUP4 PUSH3 0xA89 JUMP JUMPDEST SWAP2 POP PUSH3 0x9EB DUP3 PUSH3 0xB85 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH3 0xA0D PUSH1 0x0 DUP4 ADD DUP6 PUSH3 0x970 JUMP JUMPDEST PUSH3 0xA1C PUSH1 0x20 DUP4 ADD DUP5 PUSH3 0x970 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0xA3E DUP2 PUSH3 0x981 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0xA60 DUP2 PUSH3 0x9A8 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0xA82 DUP2 PUSH3 0x9CF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xAA7 DUP3 PUSH3 0xAC2 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xABB DUP3 PUSH3 0xAC2 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6464726573730000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x496E697469616C697A61626C653A20636F6E747261637420697320616C726561 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x647920696E697469616C697A6564000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH3 0xBB9 DUP2 PUSH3 0xA9A JUMP JUMPDEST DUP2 EQ PUSH3 0xBC5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH3 0xBD3 DUP2 PUSH3 0xAAE JUMP JUMPDEST DUP2 EQ PUSH3 0xBDF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x1960 DUP1 PUSH3 0xBF2 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xCF JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x7ECA482F GT PUSH2 0x8C JUMPI DUP1 PUSH4 0xC9106389 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xC9106389 EQ PUSH2 0x1B4 JUMPI DUP1 PUSH4 0xD4B83992 EQ PUSH2 0x1D2 JUMPI DUP1 PUSH4 0xE19A9DD9 EQ PUSH2 0x1F0 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x20C JUMPI PUSH2 0xCF JUMP JUMPDEST DUP1 PUSH4 0x7ECA482F EQ PUSH2 0x15C JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x17A JUMPI DUP1 PUSH4 0xA4F9EDBF EQ PUSH2 0x198 JUMPI PUSH2 0xCF JUMP JUMPDEST DUP1 PUSH4 0x86CFCA8 EQ PUSH2 0xD4 JUMPI DUP1 PUSH4 0xA007972 EQ PUSH2 0xF0 JUMPI DUP1 PUSH4 0x5AEF7DE6 EQ PUSH2 0xFA JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x118 JUMPI DUP1 PUSH4 0x776D1A01 EQ PUSH2 0x122 JUMPI DUP1 PUSH4 0x7CEAB3B1 EQ PUSH2 0x13E JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xEE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xE9 SWAP2 SWAP1 PUSH2 0x1161 JUMP JUMPDEST PUSH2 0x228 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xF8 PUSH2 0x36A JUMP JUMPDEST STOP JUMPDEST PUSH2 0x102 PUSH2 0x3DC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x10F SWAP2 SWAP1 PUSH2 0x13B3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x120 PUSH2 0x402 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x13C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x137 SWAP2 SWAP1 PUSH2 0x1161 JUMP JUMPDEST PUSH2 0x48A JUMP JUMPDEST STOP JUMPDEST PUSH2 0x146 PUSH2 0x5CC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x153 SWAP2 SWAP1 PUSH2 0x13B3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x164 PUSH2 0x5F2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x171 SWAP2 SWAP1 PUSH2 0x13B3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x182 PUSH2 0x618 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x18F SWAP2 SWAP1 PUSH2 0x13B3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1B2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1AD SWAP2 SWAP1 PUSH2 0x11FB JUMP JUMPDEST PUSH2 0x642 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1BC PUSH2 0x6C6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1C9 SWAP2 SWAP1 PUSH2 0x13B3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1DA PUSH2 0x6F0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E7 SWAP2 SWAP1 PUSH2 0x13B3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x20A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x205 SWAP2 SWAP1 PUSH2 0x1161 JUMP JUMPDEST PUSH2 0x716 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x226 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x221 SWAP2 SWAP1 PUSH2 0x1161 JUMP JUMPDEST PUSH2 0x94C JUMP JUMPDEST STOP JUMPDEST PUSH2 0x230 PUSH2 0xA44 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x24E PUSH2 0x618 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x2A4 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x29B SWAP1 PUSH2 0x1557 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x66 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x66 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x52AE88B092DE36F87FB43FE794EB1381023B9C1BCE563A871154022C63DCE342 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH2 0x3D9 PUSH1 0x68 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 PUSH32 0xA007972426143E69EB25EC52E11623D5004B9A09C2E6920771B14A2F7068F8A PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x3C3 SWAP2 SWAP1 PUSH2 0x1398 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH1 0x0 PUSH2 0xA4C JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x66 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH2 0x40A PUSH2 0xA44 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x428 PUSH2 0x618 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x47E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x475 SWAP1 PUSH2 0x1557 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x488 PUSH1 0x0 PUSH2 0xD41 JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x492 PUSH2 0xA44 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x4B0 PUSH2 0x618 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x506 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4FD SWAP1 PUSH2 0x1557 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x67 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x67 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x90CC2F570A6EB594B1580EA3E41247D2D73A55281889E86BD4EC2FC29C7E62D6 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x65 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x68 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x33 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x64A PUSH2 0xE07 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x661 SWAP2 SWAP1 PUSH2 0x118E JUMP JUMPDEST SWAP2 POP SWAP2 POP DUP1 PUSH1 0x68 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0x6AF DUP3 PUSH2 0x228 JUMP JUMPDEST PUSH2 0x6B8 DUP3 PUSH2 0x48A JUMP JUMPDEST PUSH2 0x6C1 DUP3 PUSH2 0x94C JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x65 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x67 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH2 0x71E PUSH2 0xA44 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x73C PUSH2 0x618 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x792 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x789 SWAP1 PUSH2 0x1557 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x8AF JUMPI DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x1FFC9A7 PUSH32 0xE6D7A83A00000000000000000000000000000000000000000000000000000000 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x81F SWAP2 SWAP1 PUSH2 0x14FC JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x837 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x84B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x86F SWAP2 SWAP1 PUSH2 0x11CE JUMP JUMPDEST PUSH2 0x8AE JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8A5 SWAP1 PUSH2 0x1577 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMPDEST DUP1 PUSH1 0x65 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH32 0x1151116914515BC0891FF9047A6CB32CF902546F83066499BCF8BA33D2353FA2 PUSH1 0x65 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x40 MLOAD PUSH2 0x941 SWAP2 SWAP1 PUSH2 0x13B3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH2 0x954 PUSH2 0xA44 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x972 PUSH2 0x618 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x9C8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x9BF SWAP1 PUSH2 0x1557 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0xA38 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA2F SWAP1 PUSH2 0x1517 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xA41 DUP2 PUSH2 0xD41 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x65 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xB7E JUMPI PUSH1 0x65 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x75F0BB52 DUP7 DUP7 DUP7 DUP7 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x2 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x3078000000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x0 PUSH1 0x40 MLOAD DUP13 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xB4B SWAP12 SWAP11 SWAP10 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x141A JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xB65 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xB79 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMPDEST PUSH1 0x67 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x468721A7 DUP7 DUP7 DUP7 DUP7 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xBDF SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x13CE JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xBF9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xC0D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xC31 SWAP2 SWAP1 PUSH2 0x11CE JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x65 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xD39 JUMPI PUSH1 0x65 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x93271368 PUSH32 0x3078000000000000000000000000000000000000000000000000000000000000 DUP4 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD06 SWAP3 SWAP2 SWAP1 PUSH2 0x14D3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xD20 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xD34 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x33 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x33 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP1 PUSH2 0xE2D JUMPI POP PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO JUMPDEST PUSH2 0xE6C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xE63 SWAP1 PUSH2 0x1537 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO SWAP1 POP DUP1 ISZERO PUSH2 0xEBC JUMPI PUSH1 0x1 PUSH1 0x0 PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP JUMPDEST PUSH2 0xEC4 PUSH2 0xEF0 JUMP JUMPDEST PUSH2 0xECC PUSH2 0xFC9 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xEED JUMPI PUSH1 0x0 DUP1 PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP1 PUSH2 0xF16 JUMPI POP PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO JUMPDEST PUSH2 0xF55 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF4C SWAP1 PUSH2 0x1537 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO SWAP1 POP DUP1 ISZERO PUSH2 0xFA5 JUMPI PUSH1 0x1 PUSH1 0x0 PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP JUMPDEST DUP1 ISZERO PUSH2 0xFC6 JUMPI PUSH1 0x0 DUP1 PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP1 PUSH2 0xFEF JUMPI POP PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO JUMPDEST PUSH2 0x102E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1025 SWAP1 PUSH2 0x1537 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO SWAP1 POP DUP1 ISZERO PUSH2 0x107E JUMPI PUSH1 0x1 PUSH1 0x0 PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP JUMPDEST PUSH2 0x108E PUSH2 0x1089 PUSH2 0xA44 JUMP JUMPDEST PUSH2 0xD41 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x10AF JUMPI PUSH1 0x0 DUP1 PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x10C5 PUSH2 0x10C0 DUP5 PUSH2 0x15BC JUMP JUMPDEST PUSH2 0x1597 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x10E1 JUMPI PUSH2 0x10E0 PUSH2 0x17C1 JUMP JUMPDEST JUMPDEST PUSH2 0x10EC DUP5 DUP3 DUP6 PUSH2 0x16E1 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1103 DUP2 PUSH2 0x18E5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1118 DUP2 PUSH2 0x18FC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x112D DUP2 PUSH2 0x1913 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1148 JUMPI PUSH2 0x1147 PUSH2 0x17BC JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1158 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x10B2 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1177 JUMPI PUSH2 0x1176 PUSH2 0x17CB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1185 DUP5 DUP3 DUP6 ADD PUSH2 0x10F4 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x11A5 JUMPI PUSH2 0x11A4 PUSH2 0x17CB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x11B3 DUP6 DUP3 DUP7 ADD PUSH2 0x1109 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x11C4 DUP6 DUP3 DUP7 ADD PUSH2 0x1109 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x11E4 JUMPI PUSH2 0x11E3 PUSH2 0x17CB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x11F2 DUP5 DUP3 DUP6 ADD PUSH2 0x111E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1211 JUMPI PUSH2 0x1210 PUSH2 0x17CB JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x122F JUMPI PUSH2 0x122E PUSH2 0x17C6 JUMP JUMPDEST JUMPDEST PUSH2 0x123B DUP5 DUP3 DUP6 ADD PUSH2 0x1133 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x124D DUP2 PUSH2 0x162C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x125C DUP2 PUSH2 0x161A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x126B DUP2 PUSH2 0x163E JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x127A DUP2 PUSH2 0x164A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x1289 DUP2 PUSH2 0x1654 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x12A0 PUSH2 0x129B DUP3 PUSH2 0x1654 JUMP JUMPDEST PUSH2 0x1754 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x12B1 DUP3 PUSH2 0x15ED JUMP JUMPDEST PUSH2 0x12BB DUP2 DUP6 PUSH2 0x15F8 JUMP JUMPDEST SWAP4 POP PUSH2 0x12CB DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x16F0 JUMP JUMPDEST PUSH2 0x12D4 DUP2 PUSH2 0x17D0 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x12E8 DUP2 PUSH2 0x16BD JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x12F7 DUP2 PUSH2 0x16CF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x130A PUSH1 0x26 DUP4 PUSH2 0x1609 JUMP JUMPDEST SWAP2 POP PUSH2 0x1315 DUP3 PUSH2 0x17E1 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x132D PUSH1 0x2E DUP4 PUSH2 0x1609 JUMP JUMPDEST SWAP2 POP PUSH2 0x1338 DUP3 PUSH2 0x1830 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1350 PUSH1 0x20 DUP4 PUSH2 0x1609 JUMP JUMPDEST SWAP2 POP PUSH2 0x135B DUP3 PUSH2 0x187F JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1373 PUSH1 0x20 DUP4 PUSH2 0x1609 JUMP JUMPDEST SWAP2 POP PUSH2 0x137E DUP3 PUSH2 0x18A8 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1392 DUP2 PUSH2 0x16B3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13A4 DUP3 DUP5 PUSH2 0x128F JUMP JUMPDEST PUSH1 0x4 DUP3 ADD SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x13C8 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1253 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x13E3 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1253 JUMP JUMPDEST PUSH2 0x13F0 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x1389 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x1402 DUP2 DUP6 PUSH2 0x12A6 JUMP JUMPDEST SWAP1 POP PUSH2 0x1411 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x12DF JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x160 DUP3 ADD SWAP1 POP PUSH2 0x1430 PUSH1 0x0 DUP4 ADD DUP15 PUSH2 0x1253 JUMP JUMPDEST PUSH2 0x143D PUSH1 0x20 DUP4 ADD DUP14 PUSH2 0x1389 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x144F DUP2 DUP13 PUSH2 0x12A6 JUMP JUMPDEST SWAP1 POP PUSH2 0x145E PUSH1 0x60 DUP4 ADD DUP12 PUSH2 0x12DF JUMP JUMPDEST PUSH2 0x146B PUSH1 0x80 DUP4 ADD DUP11 PUSH2 0x12EE JUMP JUMPDEST PUSH2 0x1478 PUSH1 0xA0 DUP4 ADD DUP10 PUSH2 0x12EE JUMP JUMPDEST PUSH2 0x1485 PUSH1 0xC0 DUP4 ADD DUP9 PUSH2 0x12EE JUMP JUMPDEST PUSH2 0x1492 PUSH1 0xE0 DUP4 ADD DUP8 PUSH2 0x1253 JUMP JUMPDEST PUSH2 0x14A0 PUSH2 0x100 DUP4 ADD DUP7 PUSH2 0x1244 JUMP JUMPDEST DUP2 DUP2 SUB PUSH2 0x120 DUP4 ADD MSTORE PUSH2 0x14B3 DUP2 DUP6 PUSH2 0x12A6 JUMP JUMPDEST SWAP1 POP PUSH2 0x14C3 PUSH2 0x140 DUP4 ADD DUP5 PUSH2 0x1253 JUMP JUMPDEST SWAP13 SWAP12 POP POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x14E8 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x1271 JUMP JUMPDEST PUSH2 0x14F5 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1262 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1511 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1280 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1530 DUP2 PUSH2 0x12FD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1550 DUP2 PUSH2 0x1320 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1570 DUP2 PUSH2 0x1343 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1590 DUP2 PUSH2 0x1366 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15A1 PUSH2 0x15B2 JUMP JUMPDEST SWAP1 POP PUSH2 0x15AD DUP3 DUP3 PUSH2 0x1723 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x15D7 JUMPI PUSH2 0x15D6 PUSH2 0x178D JUMP JUMPDEST JUMPDEST PUSH2 0x15E0 DUP3 PUSH2 0x17D0 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1625 DUP3 PUSH2 0x1693 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1637 DUP3 PUSH2 0x1693 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0x168E DUP3 PUSH2 0x18D1 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x16C8 DUP3 PUSH2 0x1680 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x16DA DUP3 PUSH2 0x16B3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x170E JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x16F3 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x171D JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0x172C DUP3 PUSH2 0x17D0 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x174B JUMPI PUSH2 0x174A PUSH2 0x178D JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6464726573730000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x496E697469616C697A61626C653A20636F6E747261637420697320616C726561 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x647920696E697469616C697A6564000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x477561726420646F6573206E6F7420696D706C656D656E742049455243313635 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x2 DUP2 LT PUSH2 0x18E2 JUMPI PUSH2 0x18E1 PUSH2 0x175E JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH2 0x18EE DUP2 PUSH2 0x161A JUMP JUMPDEST DUP2 EQ PUSH2 0x18F9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x1905 DUP2 PUSH2 0x162C JUMP JUMPDEST DUP2 EQ PUSH2 0x1910 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x191C DUP2 PUSH2 0x163E JUMP JUMPDEST DUP2 EQ PUSH2 0x1927 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xCA CODECOPY DUP5 0x4E 0xD4 MULMOD LOG2 0xCA 0xEF OR LOG3 SWAP2 LOG1 PUSH12 0x500E56C8D23A4B509B4E69BB NOT GASPRICE 0x5F 0xE8 0x2E COINBASE PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ", | |
"sourceMap": "146:826:14:-:0;;;397:144;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;448:29;491:6;499:7;480:27;;;;;;;;;:::i;:::-;;;;;;;;;;;;;448:59;;513:23;519:16;513:5;;;:23;;:::i;:::-;442:99;397:144;;146:826;;691:279;759:16;:14;;;:16;;:::i;:::-;782:14;798:15;828:16;817:48;;;;;;;;;;;;:::i;:::-;781:84;;;;881:7;872:6;;:16;;;;;;;;;;;;;;;;;;894:17;904:6;894:9;;;:17;;:::i;:::-;917;927:6;917:9;;;:17;;:::i;:::-;940:25;958:6;940:17;;;:25;;:::i;:::-;753:217;;691:279;:::o;988:126:7:-;2030:13:8;;;;;;;;;;;:30;;;;2048:12;;;;;;;;;;2047:13;2030:30;2022:89;;;;;;;;;;;;:::i;:::-;;;;;;;;;2122:19;2145:13;;;;;;;;;;;2144:14;2122:36;;2172:14;2168:98;;;2218:4;2202:13;;:20;;;;;;;;;;;;;;;;;;2251:4;2236:12;;:19;;;;;;;;;;;;;;;;;;2168:98;1045:26:7::1;:24;;;:26;;:::i;:::-;1081;:24;;;:26;;:::i;:::-;2292:14:8::0;2288:66;;;2338:5;2322:13;;:21;;;;;;;;;;;;;;;;;;2288:66;2012:348;988:126:7:o;934:176:1:-;1525:12:7;:10;;;:12;;:::i;:::-;1514:23;;:7;:5;;;:7;;:::i;:::-;:23;;;1506:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;997:22:1::1;1022:6;;;;;;;;;;;997:31;;1047:7;1038:6;;:16;;;;;;;;;;;;;;;;;;1095:7;1069:34;;1079:14;1069:34;;;;;;;;;;;;987:123;934:176:::0;:::o;1233:::-;1525:12:7;:10;;;:12;;:::i;:::-;1514:23;;:7;:5;;;:7;;:::i;:::-;:23;;;1506:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1296:22:1::1;1321:6;;;;;;;;;;;1296:31;;1346:7;1337:6;;:16;;;;;;;;;;;;;;;;;;1394:7;1368:34;;1378:14;1368:34;;;;;;;;;;;;1286:123;1233:176:::0;:::o;2184:198:7:-;1525:12;:10;;;:12;;:::i;:::-;1514:23;;:7;:5;;;:7;;:::i;:::-;:23;;;1506:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2292:1:::1;2272:22;;:8;:22;;;;2264:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2347:28;2366:8;2347:18;;;:28;;:::i;:::-;2184:198:::0;:::o;807:64:9:-;2030:13:8;;;;;;;;;;;:30;;;;2048:12;;;;;;;;;;2047:13;2030:30;2022:89;;;;;;;;;;;;:::i;:::-;;;;;;;;;2122:19;2145:13;;;;;;;;;;;2144:14;2122:36;;2172:14;2168:98;;;2218:4;2202:13;;:20;;;;;;;;;;;;;;;;;;2251:4;2236:12;;:19;;;;;;;;;;;;;;;;;;2168:98;2292:14;2288:66;;;2338:5;2322:13;;:21;;;;;;;;;;;;;;;;;;2288:66;2012:348;807:64:9:o;1120:106:7:-;2030:13:8;;;;;;;;;;;:30;;;;2048:12;;;;;;;;;;2047:13;2030:30;2022:89;;;;;;;;;;;;:::i;:::-;;;;;;;;;2122:19;2145:13;;;;;;;;;;;2144:14;2122:36;;2172:14;2168:98;;;2218:4;2202:13;;:20;;;;;;;;;;;;;;;;;;2251:4;2236:12;;:19;;;;;;;;;;;;;;;;;;2168:98;1187:32:7::1;1206:12;:10;;;:12;;:::i;:::-;1187:18;;;:32;;:::i;:::-;2292:14:8::0;2288:66;;;2338:5;2322:13;;:21;;;;;;;;;;;;;;;;;;2288:66;2012:348;1120:106:7:o;876:96:9:-;929:7;955:10;948:17;;876:96;:::o;1302:85:7:-;1348:7;1374:6;;;;;;;;;;;1367:13;;1302:85;:::o;2536:187::-;2609:16;2628:6;;;;;;;;;;;2609:25;;2653:8;2644:6;;:17;;;;;;;;;;;;;;;;;;2707:8;2676:40;;2697:8;2676:40;;;;;;;;;;;;2599:124;2536:187;:::o;7:143:15:-;64:5;95:6;89:13;80:22;;111:33;138:5;111:33;:::i;:::-;7:143;;;;:::o;156:159::-;221:5;252:6;246:13;237:22;;268:41;303:5;268:41;:::i;:::-;156:159;;;;:::o;321:539::-;416:6;424;473:2;461:9;452:7;448:23;444:32;441:119;;;479:79;;:::i;:::-;441:119;599:1;624:72;688:7;679:6;668:9;664:22;624:72;:::i;:::-;614:82;;570:136;745:2;771:72;835:7;826:6;815:9;811:22;771:72;:::i;:::-;761:82;;716:137;321:539;;;;;:::o;866:507::-;945:6;953;1002:2;990:9;981:7;977:23;973:32;970:119;;;1008:79;;:::i;:::-;970:119;1128:1;1153:64;1209:7;1200:6;1189:9;1185:22;1153:64;:::i;:::-;1143:74;;1099:128;1266:2;1292:64;1348:7;1339:6;1328:9;1324:22;1292:64;:::i;:::-;1282:74;;1237:129;866:507;;;;;:::o;1379:118::-;1466:24;1484:5;1466:24;:::i;:::-;1461:3;1454:37;1379:118;;:::o;1503:366::-;1645:3;1666:67;1730:2;1725:3;1666:67;:::i;:::-;1659:74;;1742:93;1831:3;1742:93;:::i;:::-;1860:2;1855:3;1851:12;1844:19;;1503:366;;;:::o;1875:::-;2017:3;2038:67;2102:2;2097:3;2038:67;:::i;:::-;2031:74;;2114:93;2203:3;2114:93;:::i;:::-;2232:2;2227:3;2223:12;2216:19;;1875:366;;;:::o;2247:::-;2389:3;2410:67;2474:2;2469:3;2410:67;:::i;:::-;2403:74;;2486:93;2575:3;2486:93;:::i;:::-;2604:2;2599:3;2595:12;2588:19;;2247:366;;;:::o;2619:332::-;2740:4;2778:2;2767:9;2763:18;2755:26;;2791:71;2859:1;2848:9;2844:17;2835:6;2791:71;:::i;:::-;2872:72;2940:2;2929:9;2925:18;2916:6;2872:72;:::i;:::-;2619:332;;;;;:::o;2957:419::-;3123:4;3161:2;3150:9;3146:18;3138:26;;3210:9;3204:4;3200:20;3196:1;3185:9;3181:17;3174:47;3238:131;3364:4;3238:131;:::i;:::-;3230:139;;2957:419;;;:::o;3382:::-;3548:4;3586:2;3575:9;3571:18;3563:26;;3635:9;3629:4;3625:20;3621:1;3610:9;3606:17;3599:47;3663:131;3789:4;3663:131;:::i;:::-;3655:139;;3382:419;;;:::o;3807:::-;3973:4;4011:2;4000:9;3996:18;3988:26;;4060:9;4054:4;4050:20;4046:1;4035:9;4031:17;4024:47;4088:131;4214:4;4088:131;:::i;:::-;4080:139;;3807:419;;;:::o;4313:169::-;4397:11;4431:6;4426:3;4419:19;4471:4;4466:3;4462:14;4447:29;;4313:169;;;;:::o;4488:96::-;4525:7;4554:24;4572:5;4554:24;:::i;:::-;4543:35;;4488:96;;;:::o;4590:104::-;4635:7;4664:24;4682:5;4664:24;:::i;:::-;4653:35;;4590:104;;;:::o;4700:126::-;4737:7;4777:42;4770:5;4766:54;4755:65;;4700:126;;;:::o;4955:117::-;5064:1;5061;5054:12;5078:225;5218:34;5214:1;5206:6;5202:14;5195:58;5287:8;5282:2;5274:6;5270:15;5263:33;5078:225;:::o;5309:233::-;5449:34;5445:1;5437:6;5433:14;5426:58;5518:16;5513:2;5505:6;5501:15;5494:41;5309:233;:::o;5548:182::-;5688:34;5684:1;5676:6;5672:14;5665:58;5548:182;:::o;5736:122::-;5809:24;5827:5;5809:24;:::i;:::-;5802:5;5799:35;5789:63;;5848:1;5845;5838:12;5789:63;5736:122;:::o;5864:138::-;5945:32;5971:5;5945:32;:::i;:::-;5938:5;5935:43;5925:71;;5992:1;5989;5982:12;5925:71;5864:138;:::o;146:826:14:-;;;;;;;" | |
}, | |
"deployedBytecode": { | |
"functionDebugData": { | |
"@__Context_init_unchained_696": { | |
"entryPoint": 3824, | |
"id": 696, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@__Ownable_init_533": { | |
"entryPoint": 3591, | |
"id": 533, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@__Ownable_init_unchained_544": { | |
"entryPoint": 4041, | |
"id": 544, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@_msgSender_705": { | |
"entryPoint": 2628, | |
"id": 705, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"@_transferOwnership_624": { | |
"entryPoint": 3393, | |
"id": 624, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"@avatar_32": { | |
"entryPoint": 988, | |
"id": 32, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@button_896": { | |
"entryPoint": 1522, | |
"id": 896, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@exec_165": { | |
"entryPoint": 2636, | |
"id": 165, | |
"parameterSlots": 4, | |
"returnSlots": 1 | |
}, | |
"@getGuard_394": { | |
"entryPoint": 1734, | |
"id": 394, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"@guard_348": { | |
"entryPoint": 1484, | |
"id": 348, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@owner_553": { | |
"entryPoint": 1560, | |
"id": 553, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"@pushButton_917": { | |
"entryPoint": 874, | |
"id": 917, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@renounceOwnership_581": { | |
"entryPoint": 1026, | |
"id": 581, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@setAvatar_57": { | |
"entryPoint": 552, | |
"id": 57, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"@setGuard_386": { | |
"entryPoint": 1814, | |
"id": 386, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"@setTarget_79": { | |
"entryPoint": 1162, | |
"id": 79, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"@setUp_978": { | |
"entryPoint": 1602, | |
"id": 978, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"@target_35": { | |
"entryPoint": 1776, | |
"id": 35, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@transferOwnership_604": { | |
"entryPoint": 2380, | |
"id": 604, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"abi_decode_available_length_t_bytes_memory_ptr": { | |
"entryPoint": 4274, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_address": { | |
"entryPoint": 4340, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_address_payable_fromMemory": { | |
"entryPoint": 4361, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_bool_fromMemory": { | |
"entryPoint": 4382, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_bytes_memory_ptr": { | |
"entryPoint": 4403, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_tuple_t_address": { | |
"entryPoint": 4449, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_tuple_t_address_payablet_address_payable_fromMemory": { | |
"entryPoint": 4494, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 2 | |
}, | |
"abi_decode_tuple_t_bool_fromMemory": { | |
"entryPoint": 4558, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_tuple_t_bytes_memory_ptr": { | |
"entryPoint": 4603, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_address_payable_to_t_address_payable_fromStack": { | |
"entryPoint": 4676, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_address_to_t_address_fromStack": { | |
"entryPoint": 4691, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_bool_to_t_bool_fromStack": { | |
"entryPoint": 4706, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_bytes32_to_t_bytes32_fromStack": { | |
"entryPoint": 4721, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_bytes4_to_t_bytes4_fromStack": { | |
"entryPoint": 4736, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_bytes4_to_t_bytes4_nonPadded_inplace_fromStack": { | |
"entryPoint": 4751, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack": { | |
"entryPoint": 4774, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_enum$_Operation_$5_to_t_uint8_fromStack": { | |
"entryPoint": 4831, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_rational_0_by_1_to_t_uint256_fromStack": { | |
"entryPoint": 4846, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 4861, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_stringliteral_7a2a4e26842155ea933fe6eb6e3137eb5a296dcdf55721c552be7b4c3cc23759_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 4896, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 4931, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_stringliteral_bd88896f993cb65ec88137fa375122d7638d9d4318afb802f2757e7adb7629c0_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 4966, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_uint256_to_t_uint256_fromStack": { | |
"entryPoint": 5001, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_tuple_packed_t_bytes4__to_t_bytes4__nonPadded_inplace_fromStack_reversed": { | |
"entryPoint": 5016, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { | |
"entryPoint": 5043, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_address_t_uint256_t_bytes_memory_ptr_t_enum$_Operation_$5__to_t_address_t_uint256_t_bytes_memory_ptr_t_uint8__fromStack_reversed": { | |
"entryPoint": 5070, | |
"id": null, | |
"parameterSlots": 5, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_address_t_uint256_t_bytes_memory_ptr_t_enum$_Operation_$5_t_rational_0_by_1_t_rational_0_by_1_t_rational_0_by_1_t_address_t_address_payable_t_bytes_memory_ptr_t_address__to_t_address_t_uint256_t_bytes_memory_ptr_t_uint8_t_uint256_t_uint256_t_uint256_t_address_t_address_payable_t_bytes_memory_ptr_t_address__fromStack_reversed": { | |
"entryPoint": 5146, | |
"id": null, | |
"parameterSlots": 12, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_bytes32_t_bool__to_t_bytes32_t_bool__fromStack_reversed": { | |
"entryPoint": 5331, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed": { | |
"entryPoint": 5372, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 5399, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_7a2a4e26842155ea933fe6eb6e3137eb5a296dcdf55721c552be7b4c3cc23759__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 5431, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 5463, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_bd88896f993cb65ec88137fa375122d7638d9d4318afb802f2757e7adb7629c0__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 5495, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"allocate_memory": { | |
"entryPoint": 5527, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"allocate_unbounded": { | |
"entryPoint": 5554, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"array_allocation_size_t_bytes_memory_ptr": { | |
"entryPoint": 5564, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"array_length_t_bytes_memory_ptr": { | |
"entryPoint": 5613, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack": { | |
"entryPoint": 5624, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { | |
"entryPoint": 5641, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_address": { | |
"entryPoint": 5658, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_address_payable": { | |
"entryPoint": 5676, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_bool": { | |
"entryPoint": 5694, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_bytes32": { | |
"entryPoint": 5706, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_bytes4": { | |
"entryPoint": 5716, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_enum$_Operation_$5": { | |
"entryPoint": 5760, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_uint160": { | |
"entryPoint": 5779, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_uint256": { | |
"entryPoint": 5811, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"convert_t_enum$_Operation_$5_to_t_uint8": { | |
"entryPoint": 5821, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"convert_t_rational_0_by_1_to_t_uint256": { | |
"entryPoint": 5839, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"copy_calldata_to_memory": { | |
"entryPoint": 5857, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 0 | |
}, | |
"copy_memory_to_memory": { | |
"entryPoint": 5872, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 0 | |
}, | |
"finalize_allocation": { | |
"entryPoint": 5923, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"leftAlign_t_bytes4": { | |
"entryPoint": 5972, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"panic_error_0x21": { | |
"entryPoint": 5982, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"panic_error_0x41": { | |
"entryPoint": 6029, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { | |
"entryPoint": 6076, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": { | |
"entryPoint": 6081, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { | |
"entryPoint": 6086, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { | |
"entryPoint": 6091, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"round_up_to_mul_of_32": { | |
"entryPoint": 6096, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe": { | |
"entryPoint": 6113, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"store_literal_in_memory_7a2a4e26842155ea933fe6eb6e3137eb5a296dcdf55721c552be7b4c3cc23759": { | |
"entryPoint": 6192, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe": { | |
"entryPoint": 6271, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"store_literal_in_memory_bd88896f993cb65ec88137fa375122d7638d9d4318afb802f2757e7adb7629c0": { | |
"entryPoint": 6312, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"validator_assert_t_enum$_Operation_$5": { | |
"entryPoint": 6353, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_address": { | |
"entryPoint": 6373, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_address_payable": { | |
"entryPoint": 6396, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_bool": { | |
"entryPoint": 6419, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
} | |
}, | |
"generatedSources": [ | |
{ | |
"ast": { | |
"nodeType": "YulBlock", | |
"src": "0:16386:15", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "90:327:15", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "100:74:15", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "166:6:15" | |
} | |
], | |
"functionName": { | |
"name": "array_allocation_size_t_bytes_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "125:40:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "125:48:15" | |
} | |
], | |
"functionName": { | |
"name": "allocate_memory", | |
"nodeType": "YulIdentifier", | |
"src": "109:15:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "109:65:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "array", | |
"nodeType": "YulIdentifier", | |
"src": "100:5:15" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "array", | |
"nodeType": "YulIdentifier", | |
"src": "190:5:15" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "197:6:15" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "183:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "183:21:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "183:21:15" | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "213:27:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "array", | |
"nodeType": "YulIdentifier", | |
"src": "228:5:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "235:4:15", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "224:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "224:16:15" | |
}, | |
"variables": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulTypedName", | |
"src": "217:3:15", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "278:83:15", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", | |
"nodeType": "YulIdentifier", | |
"src": "280:77:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "280:79:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "280:79:15" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "src", | |
"nodeType": "YulIdentifier", | |
"src": "259:3:15" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "264:6:15" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "255:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "255:16:15" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "273:3:15" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "252:2:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "252:25:15" | |
}, | |
"nodeType": "YulIf", | |
"src": "249:112:15" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "src", | |
"nodeType": "YulIdentifier", | |
"src": "394:3:15" | |
}, | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "399:3:15" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "404:6:15" | |
} | |
], | |
"functionName": { | |
"name": "copy_calldata_to_memory", | |
"nodeType": "YulIdentifier", | |
"src": "370:23:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "370:41:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "370:41:15" | |
} | |
] | |
}, | |
"name": "abi_decode_available_length_t_bytes_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "src", | |
"nodeType": "YulTypedName", | |
"src": "63:3:15", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "68:6:15", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "76:3:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "array", | |
"nodeType": "YulTypedName", | |
"src": "84:5:15", | |
"type": "" | |
} | |
], | |
"src": "7:410:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "475:87:15", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "485:29:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "507:6:15" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "494:12:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "494:20:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "485:5:15" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "550:5:15" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "523:26:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "523:33:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "523:33:15" | |
} | |
] | |
}, | |
"name": "abi_decode_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "453:6:15", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "461:3:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "469:5:15", | |
"type": "" | |
} | |
], | |
"src": "423:139:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "639:88:15", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "649:22:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "664:6:15" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "658:5:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "658:13:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "649:5:15" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "715:5:15" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_address_payable", | |
"nodeType": "YulIdentifier", | |
"src": "680:34:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "680:41:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "680:41:15" | |
} | |
] | |
}, | |
"name": "abi_decode_t_address_payable_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "617:6:15", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "625:3:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "633:5:15", | |
"type": "" | |
} | |
], | |
"src": "568:159:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "793:77:15", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "803:22:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "818:6:15" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "812:5:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "812:13:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "803:5:15" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "858:5:15" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_bool", | |
"nodeType": "YulIdentifier", | |
"src": "834:23:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "834:30:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "834:30:15" | |
} | |
] | |
}, | |
"name": "abi_decode_t_bool_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "771:6:15", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "779:3:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "787:5:15", | |
"type": "" | |
} | |
], | |
"src": "733:137:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "950:277:15", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "999:83:15", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", | |
"nodeType": "YulIdentifier", | |
"src": "1001:77:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1001:79:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1001:79:15" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "978:6:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "986:4:15", | |
"type": "", | |
"value": "0x1f" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "974:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "974:17:15" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "993:3:15" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "970:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "970:27:15" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "963:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "963:35:15" | |
}, | |
"nodeType": "YulIf", | |
"src": "960:122:15" | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "1091:34:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1118:6:15" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "1105:12:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1105:20:15" | |
}, | |
"variables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "1095:6:15", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1134:87:15", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1194:6:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1202:4:15", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1190:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1190:17:15" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "1209:6:15" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "1217:3:15" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_available_length_t_bytes_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "1143:46:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1143:78:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "array", | |
"nodeType": "YulIdentifier", | |
"src": "1134:5:15" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_t_bytes_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "928:6:15", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "936:3:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "array", | |
"nodeType": "YulTypedName", | |
"src": "944:5:15", | |
"type": "" | |
} | |
], | |
"src": "889:338:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1299:263:15", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1345:83:15", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "1347:77:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1347:79:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1347:79:15" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1320:7:15" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1329:9:15" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "1316:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1316:23:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1341:2:15", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "1312:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1312:32:15" | |
}, | |
"nodeType": "YulIf", | |
"src": "1309:119:15" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "1438:117:15", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "1453:15:15", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1467:1:15", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "1457:6:15", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1482:63:15", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1517:9:15" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1528:6:15" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1513:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1513:22:15" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1537:7:15" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "1492:20:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1492:53:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "1482:6:15" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "1269:9:15", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "1280:7:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "1292:6:15", | |
"type": "" | |
} | |
], | |
"src": "1233:329:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1678:429:15", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1724:83:15", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "1726:77:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1726:79:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1726:79:15" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1699:7:15" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1708:9:15" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "1695:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1695:23:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1720:2:15", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "1691:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1691:32:15" | |
}, | |
"nodeType": "YulIf", | |
"src": "1688:119:15" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "1817:136:15", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "1832:15:15", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1846:1:15", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "1836:6:15", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1861:82:15", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1915:9:15" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1926:6:15" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1911:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1911:22:15" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1935:7:15" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_address_payable_fromMemory", | |
"nodeType": "YulIdentifier", | |
"src": "1871:39:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1871:72:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "1861:6:15" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "1963:137:15", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "1978:16:15", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1992:2:15", | |
"type": "", | |
"value": "32" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "1982:6:15", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2008:82:15", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2062:9:15" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2073:6:15" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2058:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2058:22:15" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2082:7:15" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_address_payable_fromMemory", | |
"nodeType": "YulIdentifier", | |
"src": "2018:39:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2018:72:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "2008:6:15" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_address_payablet_address_payable_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "1640:9:15", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "1651:7:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "1663:6:15", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "1671:6:15", | |
"type": "" | |
} | |
], | |
"src": "1568:539:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2187:271:15", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2233:83:15", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "2235:77:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2235:79:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2235:79:15" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2208:7:15" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2217:9:15" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "2204:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2204:23:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2229:2:15", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "2200:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2200:32:15" | |
}, | |
"nodeType": "YulIf", | |
"src": "2197:119:15" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "2326:125:15", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2341:15:15", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2355:1:15", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "2345:6:15", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2370:71:15", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2413:9:15" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2424:6:15" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2409:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2409:22:15" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2433:7:15" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_bool_fromMemory", | |
"nodeType": "YulIdentifier", | |
"src": "2380:28:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2380:61:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "2370:6:15" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_bool_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "2157:9:15", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "2168:7:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "2180:6:15", | |
"type": "" | |
} | |
], | |
"src": "2113:345:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2539:432:15", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2585:83:15", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "2587:77:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2587:79:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2587:79:15" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2560:7:15" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2569:9:15" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "2556:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2556:23:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2581:2:15", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "2552:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2552:32:15" | |
}, | |
"nodeType": "YulIf", | |
"src": "2549:119:15" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "2678:286:15", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2693:45:15", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2724:9:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2735:1:15", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2720:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2720:17:15" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "2707:12:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2707:31:15" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "2697:6:15", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2785:83:15", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
"nodeType": "YulIdentifier", | |
"src": "2787:77:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2787:79:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2787:79:15" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2757:6:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2765:18:15", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "2754:2:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2754:30:15" | |
}, | |
"nodeType": "YulIf", | |
"src": "2751:117:15" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2882:72:15", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2926:9:15" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2937:6:15" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2922:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2922:22:15" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2946:7:15" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_bytes_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "2892:29:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2892:62:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "2882:6:15" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_bytes_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "2509:9:15", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "2520:7:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "2532:6:15", | |
"type": "" | |
} | |
], | |
"src": "2464:507:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3058:61:15", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3075:3:15" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3106:5:15" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_address_payable", | |
"nodeType": "YulIdentifier", | |
"src": "3080:25:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3080:32:15" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "3068:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3068:45:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3068:45:15" | |
} | |
] | |
}, | |
"name": "abi_encode_t_address_payable_to_t_address_payable_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "3046:5:15", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "3053:3:15", | |
"type": "" | |
} | |
], | |
"src": "2977:142:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3190:53:15", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3207:3:15" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3230:5:15" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "3212:17:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3212:24:15" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "3200:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3200:37:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3200:37:15" | |
} | |
] | |
}, | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "3178:5:15", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "3185:3:15", | |
"type": "" | |
} | |
], | |
"src": "3125:118:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3308:50:15", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3325:3:15" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3345:5:15" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_bool", | |
"nodeType": "YulIdentifier", | |
"src": "3330:14:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3330:21:15" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "3318:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3318:34:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3318:34:15" | |
} | |
] | |
}, | |
"name": "abi_encode_t_bool_to_t_bool_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "3296:5:15", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "3303:3:15", | |
"type": "" | |
} | |
], | |
"src": "3249:109:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3429:53:15", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3446:3:15" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3469:5:15" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_bytes32", | |
"nodeType": "YulIdentifier", | |
"src": "3451:17:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3451:24:15" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "3439:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3439:37:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3439:37:15" | |
} | |
] | |
}, | |
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "3417:5:15", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "3424:3:15", | |
"type": "" | |
} | |
], | |
"src": "3364:118:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3551:52:15", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3568:3:15" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3590:5:15" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_bytes4", | |
"nodeType": "YulIdentifier", | |
"src": "3573:16:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3573:23:15" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "3561:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3561:36:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3561:36:15" | |
} | |
] | |
}, | |
"name": "abi_encode_t_bytes4_to_t_bytes4_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "3539:5:15", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "3546:3:15", | |
"type": "" | |
} | |
], | |
"src": "3488:115:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3690:72:15", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3707:3:15" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3748:5:15" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_bytes4", | |
"nodeType": "YulIdentifier", | |
"src": "3731:16:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3731:23:15" | |
} | |
], | |
"functionName": { | |
"name": "leftAlign_t_bytes4", | |
"nodeType": "YulIdentifier", | |
"src": "3712:18:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3712:43:15" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "3700:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3700:56:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3700:56:15" | |
} | |
] | |
}, | |
"name": "abi_encode_t_bytes4_to_t_bytes4_nonPadded_inplace_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "3678:5:15", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "3685:3:15", | |
"type": "" | |
} | |
], | |
"src": "3609:153:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3858:270:15", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "3868:52:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3914:5:15" | |
} | |
], | |
"functionName": { | |
"name": "array_length_t_bytes_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "3882:31:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3882:38:15" | |
}, | |
"variables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "3872:6:15", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3929:77:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3994:3:15" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "3999:6:15" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "3936:57:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3936:70:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3929:3:15" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4041:5:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4048:4:15", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4037:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4037:16:15" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4055:3:15" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "4060:6:15" | |
} | |
], | |
"functionName": { | |
"name": "copy_memory_to_memory", | |
"nodeType": "YulIdentifier", | |
"src": "4015:21:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4015:52:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4015:52:15" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4076:46:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4087:3:15" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "4114:6:15" | |
} | |
], | |
"functionName": { | |
"name": "round_up_to_mul_of_32", | |
"nodeType": "YulIdentifier", | |
"src": "4092:21:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4092:29:15" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4083:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4083:39:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "4076:3:15" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "3839:5:15", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "3846:3:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "3854:3:15", | |
"type": "" | |
} | |
], | |
"src": "3768:360:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4208:75:15", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4225:3:15" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4270:5:15" | |
} | |
], | |
"functionName": { | |
"name": "convert_t_enum$_Operation_$5_to_t_uint8", | |
"nodeType": "YulIdentifier", | |
"src": "4230:39:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4230:46:15" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "4218:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4218:59:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4218:59:15" | |
} | |
] | |
}, | |
"name": "abi_encode_t_enum$_Operation_$5_to_t_uint8_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "4196:5:15", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "4203:3:15", | |
"type": "" | |
} | |
], | |
"src": "4134:149:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4362:74:15", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4379:3:15" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4423:5:15" | |
} | |
], | |
"functionName": { | |
"name": "convert_t_rational_0_by_1_to_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "4384:38:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4384:45:15" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "4372:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4372:58:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4372:58:15" | |
} | |
] | |
}, | |
"name": "abi_encode_t_rational_0_by_1_to_t_uint256_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "4350:5:15", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "4357:3:15", | |
"type": "" | |
} | |
], | |
"src": "4289:147:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4588:220:15", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4598:74:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4664:3:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4669:2:15", | |
"type": "", | |
"value": "38" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "4605:58:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4605:67:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4598:3:15" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4770:3:15" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", | |
"nodeType": "YulIdentifier", | |
"src": "4681:88:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4681:93:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4681:93:15" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4783:19:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4794:3:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4799:2:15", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4790:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4790:12:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "4783:3:15" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "4576:3:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "4584:3:15", | |
"type": "" | |
} | |
], | |
"src": "4442:366:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4960:220:15", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4970:74:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5036:3:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5041:2:15", | |
"type": "", | |
"value": "46" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "4977:58:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4977:67:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4970:3:15" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5142:3:15" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_7a2a4e26842155ea933fe6eb6e3137eb5a296dcdf55721c552be7b4c3cc23759", | |
"nodeType": "YulIdentifier", | |
"src": "5053:88:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5053:93:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5053:93:15" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5155:19:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5166:3:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5171:2:15", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5162:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5162:12:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "5155:3:15" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_7a2a4e26842155ea933fe6eb6e3137eb5a296dcdf55721c552be7b4c3cc23759_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "4948:3:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "4956:3:15", | |
"type": "" | |
} | |
], | |
"src": "4814:366:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5332:220:15", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5342:74:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5408:3:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5413:2:15", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "5349:58:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5349:67:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5342:3:15" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5514:3:15" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", | |
"nodeType": "YulIdentifier", | |
"src": "5425:88:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5425:93:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5425:93:15" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5527:19:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5538:3:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5543:2:15", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5534:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5534:12:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "5527:3:15" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "5320:3:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "5328:3:15", | |
"type": "" | |
} | |
], | |
"src": "5186:366:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5704:220:15", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5714:74:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5780:3:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5785:2:15", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "5721:58:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5721:67:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5714:3:15" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5886:3:15" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_bd88896f993cb65ec88137fa375122d7638d9d4318afb802f2757e7adb7629c0", | |
"nodeType": "YulIdentifier", | |
"src": "5797:88:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5797:93:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5797:93:15" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5899:19:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5910:3:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5915:2:15", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5906:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5906:12:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "5899:3:15" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_bd88896f993cb65ec88137fa375122d7638d9d4318afb802f2757e7adb7629c0_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "5692:3:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "5700:3:15", | |
"type": "" | |
} | |
], | |
"src": "5558:366:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5995:53:15", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6012:3:15" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "6035:5:15" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "6017:17:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6017:24:15" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "6005:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6005:37:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "6005:37:15" | |
} | |
] | |
}, | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "5983:5:15", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "5990:3:15", | |
"type": "" | |
} | |
], | |
"src": "5930:118:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6168:137:15", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "6239:6:15" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6248:3:15" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bytes4_to_t_bytes4_nonPadded_inplace_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "6179:59:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6179:73:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "6179:73:15" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6261:18:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6272:3:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6277:1:15", | |
"type": "", | |
"value": "4" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "6268:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6268:11:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6261:3:15" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6289:10:15", | |
"value": { | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6296:3:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "6289:3:15" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_packed_t_bytes4__to_t_bytes4__nonPadded_inplace_fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "6147:3:15", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "6153:6:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "6164:3:15", | |
"type": "" | |
} | |
], | |
"src": "6054:251:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6409:124:15", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6419:26:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "6431:9:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6442:2:15", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "6427:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6427:18:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "6419:4:15" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "6499:6:15" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "6512:9:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6523:1:15", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "6508:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6508:17:15" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "6455:43:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6455:71:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "6455:71:15" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "6381:9:15", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "6393:6:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "6404:4:15", | |
"type": "" | |
} | |
], | |
"src": "6311:222:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6748:449:15", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6758:27:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "6770:9:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6781:3:15", | |
"type": "", | |
"value": "128" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "6766:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6766:19:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "6758:4:15" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "6839:6:15" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "6852:9:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6863:1:15", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "6848:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6848:17:15" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "6795:43:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6795:71:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "6795:71:15" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "6920:6:15" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "6933:9:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6944:2:15", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "6929:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6929:18:15" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "6876:43:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6876:72:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "6876:72:15" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "6969:9:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6980:2:15", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "6965:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6965:18:15" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "6989:4:15" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "6995:9:15" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "6985:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6985:20:15" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "6958:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6958:48:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "6958:48:15" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7015:84:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value2", | |
"nodeType": "YulIdentifier", | |
"src": "7085:6:15" | |
}, | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "7094:4:15" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "7023:61:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7023:76:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "7015:4:15" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value3", | |
"nodeType": "YulIdentifier", | |
"src": "7162:6:15" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "7175:9:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7186:2:15", | |
"type": "", | |
"value": "96" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "7171:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7171:18:15" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_enum$_Operation_$5_to_t_uint8_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "7109:52:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7109:81:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "7109:81:15" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_address_t_uint256_t_bytes_memory_ptr_t_enum$_Operation_$5__to_t_address_t_uint256_t_bytes_memory_ptr_t_uint8__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "6696:9:15", | |
"type": "" | |
}, | |
{ | |
"name": "value3", | |
"nodeType": "YulTypedName", | |
"src": "6708:6:15", | |
"type": "" | |
}, | |
{ | |
"name": "value2", | |
"nodeType": "YulTypedName", | |
"src": "6716:6:15", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "6724:6:15", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "6732:6:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "6743:4:15", | |
"type": "" | |
} | |
], | |
"src": "6539:658:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "7667:1140:15", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7677:27:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "7689:9:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7700:3:15", | |
"type": "", | |
"value": "352" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "7685:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7685:19:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "7677:4:15" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "7758:6:15" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "7771:9:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7782:1:15", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "7767:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7767:17:15" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "7714:43:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7714:71:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "7714:71:15" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "7839:6:15" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "7852:9:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7863:2:15", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "7848:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7848:18:15" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "7795:43:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7795:72:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "7795:72:15" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "7888:9:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7899:2:15", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "7884:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7884:18:15" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "7908:4:15" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "7914:9:15" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "7904:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7904:20:15" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "7877:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7877:48:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "7877:48:15" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7934:84:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value2", | |
"nodeType": "YulIdentifier", | |
"src": "8004:6:15" | |
}, | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "8013:4:15" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "7942:61:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7942:76:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "7934:4:15" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value3", | |
"nodeType": "YulIdentifier", | |
"src": "8081:6:15" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "8094:9:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8105:2:15", | |
"type": "", | |
"value": "96" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "8090:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8090:18:15" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_enum$_Operation_$5_to_t_uint8_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "8028:52:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8028:81:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "8028:81:15" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value4", | |
"nodeType": "YulIdentifier", | |
"src": "8171:6:15" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "8184:9:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8195:3:15", | |
"type": "", | |
"value": "128" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "8180:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8180:19:15" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_rational_0_by_1_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "8119:51:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8119:81:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "8119:81:15" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value5", | |
"nodeType": "YulIdentifier", | |
"src": "8262:6:15" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "8275:9:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8286:3:15", | |
"type": "", | |
"value": "160" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "8271:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8271:19:15" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_rational_0_by_1_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "8210:51:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8210:81:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "8210:81:15" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value6", | |
"nodeType": "YulIdentifier", | |
"src": "8353:6:15" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "8366:9:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8377:3:15", | |
"type": "", | |
"value": "192" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "8362:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8362:19:15" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_rational_0_by_1_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "8301:51:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8301:81:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "8301:81:15" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value7", | |
"nodeType": "YulIdentifier", | |
"src": "8436:6:15" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "8449:9:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8460:3:15", | |
"type": "", | |
"value": "224" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "8445:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8445:19:15" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "8392:43:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8392:73:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "8392:73:15" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value8", | |
"nodeType": "YulIdentifier", | |
"src": "8535:6:15" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "8548:9:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8559:3:15", | |
"type": "", | |
"value": "256" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "8544:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8544:19:15" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_address_payable_to_t_address_payable_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "8475:59:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8475:89:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "8475:89:15" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "8585:9:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8596:3:15", | |
"type": "", | |
"value": "288" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "8581:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8581:19:15" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "8606:4:15" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "8612:9:15" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "8602:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8602:20:15" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "8574:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8574:49:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "8574:49:15" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "8632:84:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value9", | |
"nodeType": "YulIdentifier", | |
"src": "8702:6:15" | |
}, | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "8711:4:15" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "8640:61:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8640:76:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "8632:4:15" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value10", | |
"nodeType": "YulIdentifier", | |
"src": "8770:7:15" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "8784:9:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8795:3:15", | |
"type": "", | |
"value": "320" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "8780:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8780:19:15" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "8726:43:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8726:74:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "8726:74:15" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_address_t_uint256_t_bytes_memory_ptr_t_enum$_Operation_$5_t_rational_0_by_1_t_rational_0_by_1_t_rational_0_by_1_t_address_t_address_payable_t_bytes_memory_ptr_t_address__to_t_address_t_uint256_t_bytes_memory_ptr_t_uint8_t_uint256_t_uint256_t_uint256_t_address_t_address_payable_t_bytes_memory_ptr_t_address__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "7558:9:15", | |
"type": "" | |
}, | |
{ | |
"name": "value10", | |
"nodeType": "YulTypedName", | |
"src": "7570:7:15", | |
"type": "" | |
}, | |
{ | |
"name": "value9", | |
"nodeType": "YulTypedName", | |
"src": "7579:6:15", | |
"type": "" | |
}, | |
{ | |
"name": "value8", | |
"nodeType": "YulTypedName", | |
"src": "7587:6:15", | |
"type": "" | |
}, | |
{ | |
"name": "value7", | |
"nodeType": "YulTypedName", | |
"src": "7595:6:15", | |
"type": "" | |
}, | |
{ | |
"name": "value6", | |
"nodeType": "YulTypedName", | |
"src": "7603:6:15", | |
"type": "" | |
}, | |
{ | |
"name": "value5", | |
"nodeType": "YulTypedName", | |
"src": "7611:6:15", | |
"type": "" | |
}, | |
{ | |
"name": "value4", | |
"nodeType": "YulTypedName", | |
"src": "7619:6:15", | |
"type": "" | |
}, | |
{ | |
"name": "value3", | |
"nodeType": "YulTypedName", | |
"src": "7627:6:15", | |
"type": "" | |
}, | |
{ | |
"name": "value2", | |
"nodeType": "YulTypedName", | |
"src": "7635:6:15", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "7643:6:15", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "7651:6:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "7662:4:15", | |
"type": "" | |
} | |
], | |
"src": "7203:1604:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "8933:200:15", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "8943:26:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "8955:9:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8966:2:15", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "8951:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8951:18:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "8943:4:15" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "9023:6:15" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "9036:9:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9047:1:15", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9032:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9032:17:15" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "8979:43:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8979:71:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "8979:71:15" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "9098:6:15" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "9111:9:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9122:2:15", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9107:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9107:18:15" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bool_to_t_bool_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "9060:37:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9060:66:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "9060:66:15" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_bytes32_t_bool__to_t_bytes32_t_bool__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "8897:9:15", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "8909:6:15", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "8917:6:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "8928:4:15", | |
"type": "" | |
} | |
], | |
"src": "8813:320:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "9235:122:15", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "9245:26:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "9257:9:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9268:2:15", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9253:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9253:18:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "9245:4:15" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "9323:6:15" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "9336:9:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9347:1:15", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9332:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9332:17:15" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bytes4_to_t_bytes4_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "9281:41:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9281:69:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "9281:69:15" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "9207:9:15", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "9219:6:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "9230:4:15", | |
"type": "" | |
} | |
], | |
"src": "9139:218:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "9534:248:15", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "9544:26:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "9556:9:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9567:2:15", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9552:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9552:18:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "9544:4:15" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "9591:9:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9602:1:15", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9587:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9587:17:15" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "9610:4:15" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "9616:9:15" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "9606:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9606:20:15" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "9580:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9580:47:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "9580:47:15" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "9636:139:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "9770:4:15" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "9644:124:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9644:131:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "9636:4:15" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "9514:9:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "9529:4:15", | |
"type": "" | |
} | |
], | |
"src": "9363:419:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "9959:248:15", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "9969:26:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "9981:9:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9992:2:15", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9977:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9977:18:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "9969:4:15" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "10016:9:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10027:1:15", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "10012:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10012:17:15" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "10035:4:15" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "10041:9:15" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "10031:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10031:20:15" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "10005:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10005:47:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "10005:47:15" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "10061:139:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "10195:4:15" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_7a2a4e26842155ea933fe6eb6e3137eb5a296dcdf55721c552be7b4c3cc23759_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "10069:124:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10069:131:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "10061:4:15" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_7a2a4e26842155ea933fe6eb6e3137eb5a296dcdf55721c552be7b4c3cc23759__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "9939:9:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "9954:4:15", | |
"type": "" | |
} | |
], | |
"src": "9788:419:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "10384:248:15", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "10394:26:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "10406:9:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10417:2:15", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "10402:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10402:18:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "10394:4:15" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "10441:9:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10452:1:15", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "10437:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10437:17:15" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "10460:4:15" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "10466:9:15" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "10456:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10456:20:15" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "10430:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10430:47:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "10430:47:15" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "10486:139:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "10620:4:15" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "10494:124:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10494:131:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "10486:4:15" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "10364:9:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "10379:4:15", | |
"type": "" | |
} | |
], | |
"src": "10213:419:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "10809:248:15", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "10819:26:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "10831:9:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10842:2:15", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "10827:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10827:18:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "10819:4:15" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "10866:9:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10877:1:15", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "10862:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10862:17:15" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "10885:4:15" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "10891:9:15" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "10881:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10881:20:15" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "10855:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10855:47:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "10855:47:15" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "10911:139:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "11045:4:15" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_bd88896f993cb65ec88137fa375122d7638d9d4318afb802f2757e7adb7629c0_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "10919:124:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10919:131:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "10911:4:15" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_bd88896f993cb65ec88137fa375122d7638d9d4318afb802f2757e7adb7629c0__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "10789:9:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "10804:4:15", | |
"type": "" | |
} | |
], | |
"src": "10638:419:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "11104:88:15", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "11114:30:15", | |
"value": { | |
"arguments": [], | |
"functionName": { | |
"name": "allocate_unbounded", | |
"nodeType": "YulIdentifier", | |
"src": "11124:18:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11124:20:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "11114:6:15" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "11173:6:15" | |
}, | |
{ | |
"name": "size", | |
"nodeType": "YulIdentifier", | |
"src": "11181:4:15" | |
} | |
], | |
"functionName": { | |
"name": "finalize_allocation", | |
"nodeType": "YulIdentifier", | |
"src": "11153:19:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11153:33:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "11153:33:15" | |
} | |
] | |
}, | |
"name": "allocate_memory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "size", | |
"nodeType": "YulTypedName", | |
"src": "11088:4:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "11097:6:15", | |
"type": "" | |
} | |
], | |
"src": "11063:129:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "11238:35:15", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "11248:19:15", | |
"value": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11264:2:15", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "11258:5:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11258:9:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "11248:6:15" | |
} | |
] | |
} | |
] | |
}, | |
"name": "allocate_unbounded", | |
"nodeType": "YulFunctionDefinition", | |
"returnVariables": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "11231:6:15", | |
"type": "" | |
} | |
], | |
"src": "11198:75:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "11345:241:15", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "11450:22:15", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x41", | |
"nodeType": "YulIdentifier", | |
"src": "11452:16:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11452:18:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "11452:18:15" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "11422:6:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11430:18:15", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "11419:2:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11419:30:15" | |
}, | |
"nodeType": "YulIf", | |
"src": "11416:56:15" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "11482:37:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "11512:6:15" | |
} | |
], | |
"functionName": { | |
"name": "round_up_to_mul_of_32", | |
"nodeType": "YulIdentifier", | |
"src": "11490:21:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11490:29:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "size", | |
"nodeType": "YulIdentifier", | |
"src": "11482:4:15" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "11556:23:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "size", | |
"nodeType": "YulIdentifier", | |
"src": "11568:4:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11574:4:15", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "11564:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11564:15:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "size", | |
"nodeType": "YulIdentifier", | |
"src": "11556:4:15" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_allocation_size_t_bytes_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "11329:6:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "size", | |
"nodeType": "YulTypedName", | |
"src": "11340:4:15", | |
"type": "" | |
} | |
], | |
"src": "11279:307:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "11650:40:15", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "11661:22:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "11677:5:15" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "11671:5:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11671:12:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "11661:6:15" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_length_t_bytes_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "11633:5:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "11643:6:15", | |
"type": "" | |
} | |
], | |
"src": "11592:98:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "11791:73:15", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "11808:3:15" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "11813:6:15" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "11801:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11801:19:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "11801:19:15" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "11829:29:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "11848:3:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11853:4:15", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "11844:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11844:14:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulIdentifier", | |
"src": "11829:11:15" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "11763:3:15", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "11768:6:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulTypedName", | |
"src": "11779:11:15", | |
"type": "" | |
} | |
], | |
"src": "11696:168:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "11966:73:15", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "11983:3:15" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "11988:6:15" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "11976:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11976:19:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "11976:19:15" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "12004:29:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "12023:3:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "12028:4:15", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "12019:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12019:14:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulIdentifier", | |
"src": "12004:11:15" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "11938:3:15", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "11943:6:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulTypedName", | |
"src": "11954:11:15", | |
"type": "" | |
} | |
], | |
"src": "11870:169:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "12090:51:15", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "12100:35:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "12129:5:15" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulIdentifier", | |
"src": "12111:17:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12111:24:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "12100:7:15" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "12072:5:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "12082:7:15", | |
"type": "" | |
} | |
], | |
"src": "12045:96:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "12200:51:15", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "12210:35:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "12239:5:15" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulIdentifier", | |
"src": "12221:17:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12221:24:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "12210:7:15" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_address_payable", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "12182:5:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "12192:7:15", | |
"type": "" | |
} | |
], | |
"src": "12147:104:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "12299:48:15", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "12309:32:15", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "12334:5:15" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "12327:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12327:13:15" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "12320:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12320:21:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "12309:7:15" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_bool", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "12281:5:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "12291:7:15", | |
"type": "" | |
} | |
], | |
"src": "12257:90:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "12398:32:15", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "12408:16:15", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "12419:5:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "12408:7:15" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_bytes32", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "12380:5:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "12390:7:15", | |
"type": "" | |
} | |
], | |
"src": "12353:77:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "12480:105:15", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "12490:89:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "12505:5:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "12512:66:15", | |
"type": "", | |
"value": "0xffffffff00000000000000000000000000000000000000000000000000000000" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "12501:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12501:78:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "12490:7:15" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_bytes4", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "12462:5:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "12472:7:15", | |
"type": "" | |
} | |
], | |
"src": "12436:149:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "12647:77:15", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "12657:16:15", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "12668:5:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "12657:7:15" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "12712:5:15" | |
} | |
], | |
"functionName": { | |
"name": "validator_assert_t_enum$_Operation_$5", | |
"nodeType": "YulIdentifier", | |
"src": "12674:37:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12674:44:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "12674:44:15" | |
} | |
] | |
}, | |
"name": "cleanup_t_enum$_Operation_$5", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "12629:5:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "12639:7:15", | |
"type": "" | |
} | |
], | |
"src": "12591:133:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "12775:81:15", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "12785:65:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "12800:5:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "12807:42:15", | |
"type": "", | |
"value": "0xffffffffffffffffffffffffffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "12796:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12796:54:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "12785:7:15" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "12757:5:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "12767:7:15", | |
"type": "" | |
} | |
], | |
"src": "12730:126:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "12907:32:15", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "12917:16:15", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "12928:5:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "12917:7:15" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "12889:5:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "12899:7:15", | |
"type": "" | |
} | |
], | |
"src": "12862:77:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "13014:64:15", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "13024:48:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "13066:5:15" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_enum$_Operation_$5", | |
"nodeType": "YulIdentifier", | |
"src": "13037:28:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13037:35:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "converted", | |
"nodeType": "YulIdentifier", | |
"src": "13024:9:15" | |
} | |
] | |
} | |
] | |
}, | |
"name": "convert_t_enum$_Operation_$5_to_t_uint8", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "12994:5:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "converted", | |
"nodeType": "YulTypedName", | |
"src": "13004:9:15", | |
"type": "" | |
} | |
], | |
"src": "12945:133:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "13152:53:15", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "13162:37:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "13193:5:15" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "13175:17:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13175:24:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "converted", | |
"nodeType": "YulIdentifier", | |
"src": "13162:9:15" | |
} | |
] | |
} | |
] | |
}, | |
"name": "convert_t_rational_0_by_1_to_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "13132:5:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "converted", | |
"nodeType": "YulTypedName", | |
"src": "13142:9:15", | |
"type": "" | |
} | |
], | |
"src": "13084:121:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "13262:103:15", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "13285:3:15" | |
}, | |
{ | |
"name": "src", | |
"nodeType": "YulIdentifier", | |
"src": "13290:3:15" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "13295:6:15" | |
} | |
], | |
"functionName": { | |
"name": "calldatacopy", | |
"nodeType": "YulIdentifier", | |
"src": "13272:12:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13272:30:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "13272:30:15" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "13343:3:15" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "13348:6:15" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "13339:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13339:16:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "13357:1:15", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "13332:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13332:27:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "13332:27:15" | |
} | |
] | |
}, | |
"name": "copy_calldata_to_memory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "src", | |
"nodeType": "YulTypedName", | |
"src": "13244:3:15", | |
"type": "" | |
}, | |
{ | |
"name": "dst", | |
"nodeType": "YulTypedName", | |
"src": "13249:3:15", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "13254:6:15", | |
"type": "" | |
} | |
], | |
"src": "13211:154:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "13420:258:15", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "13430:10:15", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "13439:1:15", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "i", | |
"nodeType": "YulTypedName", | |
"src": "13434:1:15", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "13499:63:15", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "13524:3:15" | |
}, | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "13529:1:15" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "13520:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13520:11:15" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "src", | |
"nodeType": "YulIdentifier", | |
"src": "13543:3:15" | |
}, | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "13548:1:15" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "13539:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13539:11:15" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "13533:5:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13533:18:15" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "13513:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13513:39:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "13513:39:15" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "13460:1:15" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "13463:6:15" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nodeType": "YulIdentifier", | |
"src": "13457:2:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13457:13:15" | |
}, | |
"nodeType": "YulForLoop", | |
"post": { | |
"nodeType": "YulBlock", | |
"src": "13471:19:15", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "13473:15:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "13482:1:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "13485:2:15", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "13478:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13478:10:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "13473:1:15" | |
} | |
] | |
} | |
] | |
}, | |
"pre": { | |
"nodeType": "YulBlock", | |
"src": "13453:3:15", | |
"statements": [] | |
}, | |
"src": "13449:113:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "13596:76:15", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "13646:3:15" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "13651:6:15" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "13642:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13642:16:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "13660:1:15", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "13635:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13635:27:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "13635:27:15" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "13577:1:15" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "13580:6:15" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "13574:2:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13574:13:15" | |
}, | |
"nodeType": "YulIf", | |
"src": "13571:101:15" | |
} | |
] | |
}, | |
"name": "copy_memory_to_memory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "src", | |
"nodeType": "YulTypedName", | |
"src": "13402:3:15", | |
"type": "" | |
}, | |
{ | |
"name": "dst", | |
"nodeType": "YulTypedName", | |
"src": "13407:3:15", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "13412:6:15", | |
"type": "" | |
} | |
], | |
"src": "13371:307:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "13727:238:15", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "13737:58:15", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "13759:6:15" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "size", | |
"nodeType": "YulIdentifier", | |
"src": "13789:4:15" | |
} | |
], | |
"functionName": { | |
"name": "round_up_to_mul_of_32", | |
"nodeType": "YulIdentifier", | |
"src": "13767:21:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13767:27:15" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "13755:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13755:40:15" | |
}, | |
"variables": [ | |
{ | |
"name": "newFreePtr", | |
"nodeType": "YulTypedName", | |
"src": "13741:10:15", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "13906:22:15", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x41", | |
"nodeType": "YulIdentifier", | |
"src": "13908:16:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13908:18:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "13908:18:15" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "newFreePtr", | |
"nodeType": "YulIdentifier", | |
"src": "13849:10:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "13861:18:15", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "13846:2:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13846:34:15" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "newFreePtr", | |
"nodeType": "YulIdentifier", | |
"src": "13885:10:15" | |
}, | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "13897:6:15" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nodeType": "YulIdentifier", | |
"src": "13882:2:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13882:22:15" | |
} | |
], | |
"functionName": { | |
"name": "or", | |
"nodeType": "YulIdentifier", | |
"src": "13843:2:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13843:62:15" | |
}, | |
"nodeType": "YulIf", | |
"src": "13840:88:15" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "13944:2:15", | |
"type": "", | |
"value": "64" | |
}, | |
{ | |
"name": "newFreePtr", | |
"nodeType": "YulIdentifier", | |
"src": "13948:10:15" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "13937:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13937:22:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "13937:22:15" | |
} | |
] | |
}, | |
"name": "finalize_allocation", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "13713:6:15", | |
"type": "" | |
}, | |
{ | |
"name": "size", | |
"nodeType": "YulTypedName", | |
"src": "13721:4:15", | |
"type": "" | |
} | |
], | |
"src": "13684:281:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "14017:32:15", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "14027:16:15", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "14038:5:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "aligned", | |
"nodeType": "YulIdentifier", | |
"src": "14027:7:15" | |
} | |
] | |
} | |
] | |
}, | |
"name": "leftAlign_t_bytes4", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "13999:5:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "aligned", | |
"nodeType": "YulTypedName", | |
"src": "14009:7:15", | |
"type": "" | |
} | |
], | |
"src": "13971:78:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "14083:152:15", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14100:1:15", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14103:77:15", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "14093:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14093:88:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "14093:88:15" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14197:1:15", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14200:4:15", | |
"type": "", | |
"value": "0x21" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "14190:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14190:15:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "14190:15:15" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14221:1:15", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14224:4:15", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "14214:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14214:15:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "14214:15:15" | |
} | |
] | |
}, | |
"name": "panic_error_0x21", | |
"nodeType": "YulFunctionDefinition", | |
"src": "14055:180:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "14269:152:15", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14286:1:15", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14289:77:15", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "14279:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14279:88:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "14279:88:15" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14383:1:15", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14386:4:15", | |
"type": "", | |
"value": "0x41" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "14376:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14376:15:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "14376:15:15" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14407:1:15", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14410:4:15", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "14400:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14400:15:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "14400:15:15" | |
} | |
] | |
}, | |
"name": "panic_error_0x41", | |
"nodeType": "YulFunctionDefinition", | |
"src": "14241:180:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "14516:28:15", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14533:1:15", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14536:1:15", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "14526:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14526:12:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "14526:12:15" | |
} | |
] | |
}, | |
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", | |
"nodeType": "YulFunctionDefinition", | |
"src": "14427:117:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "14639:28:15", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14656:1:15", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14659:1:15", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "14649:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14649:12:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "14649:12:15" | |
} | |
] | |
}, | |
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", | |
"nodeType": "YulFunctionDefinition", | |
"src": "14550:117:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "14762:28:15", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14779:1:15", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14782:1:15", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "14772:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14772:12:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "14772:12:15" | |
} | |
] | |
}, | |
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
"nodeType": "YulFunctionDefinition", | |
"src": "14673:117:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "14885:28:15", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14902:1:15", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14905:1:15", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "14895:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14895:12:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "14895:12:15" | |
} | |
] | |
}, | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulFunctionDefinition", | |
"src": "14796:117:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "14967:54:15", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "14977:38:15", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "14995:5:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15002:2:15", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "14991:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14991:14:15" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15011:2:15", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "not", | |
"nodeType": "YulIdentifier", | |
"src": "15007:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15007:7:15" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "14987:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14987:28:15" | |
}, | |
"variableNames": [ | |
{ | |
"name": "result", | |
"nodeType": "YulIdentifier", | |
"src": "14977:6:15" | |
} | |
] | |
} | |
] | |
}, | |
"name": "round_up_to_mul_of_32", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "14950:5:15", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "result", | |
"nodeType": "YulTypedName", | |
"src": "14960:6:15", | |
"type": "" | |
} | |
], | |
"src": "14919:102:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "15133:119:15", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "15155:6:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15163:1:15", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "15151:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15151:14:15" | |
}, | |
{ | |
"hexValue": "4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "15167:34:15", | |
"type": "", | |
"value": "Ownable: new owner is the zero a" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "15144:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15144:58:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "15144:58:15" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "15223:6:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15231:2:15", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "15219:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15219:15:15" | |
}, | |
{ | |
"hexValue": "646472657373", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "15236:8:15", | |
"type": "", | |
"value": "ddress" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "15212:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15212:33:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "15212:33:15" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "15125:6:15", | |
"type": "" | |
} | |
], | |
"src": "15027:225:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "15364:127:15", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "15386:6:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15394:1:15", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "15382:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15382:14:15" | |
}, | |
{ | |
"hexValue": "496e697469616c697a61626c653a20636f6e747261637420697320616c726561", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "15398:34:15", | |
"type": "", | |
"value": "Initializable: contract is alrea" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "15375:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15375:58:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "15375:58:15" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "15454:6:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15462:2:15", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "15450:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15450:15:15" | |
}, | |
{ | |
"hexValue": "647920696e697469616c697a6564", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "15467:16:15", | |
"type": "", | |
"value": "dy initialized" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "15443:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15443:41:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "15443:41:15" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_7a2a4e26842155ea933fe6eb6e3137eb5a296dcdf55721c552be7b4c3cc23759", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "15356:6:15", | |
"type": "" | |
} | |
], | |
"src": "15258:233:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "15603:76:15", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "15625:6:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15633:1:15", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "15621:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15621:14:15" | |
}, | |
{ | |
"hexValue": "4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "15637:34:15", | |
"type": "", | |
"value": "Ownable: caller is not the owner" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "15614:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15614:58:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "15614:58:15" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "15595:6:15", | |
"type": "" | |
} | |
], | |
"src": "15497:182:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "15791:76:15", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "15813:6:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15821:1:15", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "15809:3:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15809:14:15" | |
}, | |
{ | |
"hexValue": "477561726420646f6573206e6f7420696d706c656d656e742049455243313635", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "15825:34:15", | |
"type": "", | |
"value": "Guard does not implement IERC165" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "15802:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15802:58:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "15802:58:15" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_bd88896f993cb65ec88137fa375122d7638d9d4318afb802f2757e7adb7629c0", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "15783:6:15", | |
"type": "" | |
} | |
], | |
"src": "15685:182:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "15927:62:15", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "15961:22:15", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x21", | |
"nodeType": "YulIdentifier", | |
"src": "15963:16:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15963:18:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "15963:18:15" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "15950:5:15" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15957:1:15", | |
"type": "", | |
"value": "2" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nodeType": "YulIdentifier", | |
"src": "15947:2:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15947:12:15" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "15940:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15940:20:15" | |
}, | |
"nodeType": "YulIf", | |
"src": "15937:46:15" | |
} | |
] | |
}, | |
"name": "validator_assert_t_enum$_Operation_$5", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "15920:5:15", | |
"type": "" | |
} | |
], | |
"src": "15873:116:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "16038:79:15", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "16095:16:15", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "16104:1:15", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "16107:1:15", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "16097:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16097:12:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "16097:12:15" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "16061:5:15" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "16086:5:15" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "16068:17:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16068:24:15" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "16058:2:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16058:35:15" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "16051:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16051:43:15" | |
}, | |
"nodeType": "YulIf", | |
"src": "16048:63:15" | |
} | |
] | |
}, | |
"name": "validator_revert_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "16031:5:15", | |
"type": "" | |
} | |
], | |
"src": "15995:122:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "16174:87:15", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "16239:16:15", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "16248:1:15", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "16251:1:15", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "16241:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16241:12:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "16241:12:15" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "16197:5:15" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "16230:5:15" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_address_payable", | |
"nodeType": "YulIdentifier", | |
"src": "16204:25:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16204:32:15" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "16194:2:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16194:43:15" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "16187:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16187:51:15" | |
}, | |
"nodeType": "YulIf", | |
"src": "16184:71:15" | |
} | |
] | |
}, | |
"name": "validator_revert_t_address_payable", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "16167:5:15", | |
"type": "" | |
} | |
], | |
"src": "16123:138:15" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "16307:76:15", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "16361:16:15", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "16370:1:15", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "16373:1:15", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "16363:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16363:12:15" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "16363:12:15" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "16330:5:15" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "16352:5:15" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_bool", | |
"nodeType": "YulIdentifier", | |
"src": "16337:14:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16337:21:15" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "16327:2:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16327:32:15" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "16320:6:15" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16320:40:15" | |
}, | |
"nodeType": "YulIf", | |
"src": "16317:60:15" | |
} | |
] | |
}, | |
"name": "validator_revert_t_bool", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "16300:5:15", | |
"type": "" | |
} | |
], | |
"src": "16267:116:15" | |
} | |
] | |
}, | |
"contents": "{\n\n function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory(src, dst, length)\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_t_address_payable_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address_payable(value)\n }\n\n function abi_decode_t_bool_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bool(value)\n }\n\n // bytes\n function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_address_payablet_address_payable_fromMemory(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address_payable_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address_payable_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bool_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_bytes_memory_ptr(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_payable_to_t_address_payable_fromStack(value, pos) {\n mstore(pos, cleanup_t_address_payable(value))\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function abi_encode_t_bytes4_to_t_bytes4_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes4(value))\n }\n\n function abi_encode_t_bytes4_to_t_bytes4_nonPadded_inplace_fromStack(value, pos) {\n mstore(pos, leftAlign_t_bytes4(cleanup_t_bytes4(value)))\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_enum$_Operation_$5_to_t_uint8_fromStack(value, pos) {\n mstore(pos, convert_t_enum$_Operation_$5_to_t_uint8(value))\n }\n\n function abi_encode_t_rational_0_by_1_to_t_uint256_fromStack(value, pos) {\n mstore(pos, convert_t_rational_0_by_1_to_t_uint256(value))\n }\n\n function abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 38)\n store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_7a2a4e26842155ea933fe6eb6e3137eb5a296dcdf55721c552be7b4c3cc23759_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 46)\n store_literal_in_memory_7a2a4e26842155ea933fe6eb6e3137eb5a296dcdf55721c552be7b4c3cc23759(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_bd88896f993cb65ec88137fa375122d7638d9d4318afb802f2757e7adb7629c0_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_bd88896f993cb65ec88137fa375122d7638d9d4318afb802f2757e7adb7629c0(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_packed_t_bytes4__to_t_bytes4__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n abi_encode_t_bytes4_to_t_bytes4_nonPadded_inplace_fromStack(value0, pos)\n pos := add(pos, 4)\n\n end := pos\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_address_t_uint256_t_bytes_memory_ptr_t_enum$_Operation_$5__to_t_address_t_uint256_t_bytes_memory_ptr_t_uint8__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value2, tail)\n\n abi_encode_t_enum$_Operation_$5_to_t_uint8_fromStack(value3, add(headStart, 96))\n\n }\n\n function abi_encode_tuple_t_address_t_uint256_t_bytes_memory_ptr_t_enum$_Operation_$5_t_rational_0_by_1_t_rational_0_by_1_t_rational_0_by_1_t_address_t_address_payable_t_bytes_memory_ptr_t_address__to_t_address_t_uint256_t_bytes_memory_ptr_t_uint8_t_uint256_t_uint256_t_uint256_t_address_t_address_payable_t_bytes_memory_ptr_t_address__fromStack_reversed(headStart , value10, value9, value8, value7, value6, value5, value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 352)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value2, tail)\n\n abi_encode_t_enum$_Operation_$5_to_t_uint8_fromStack(value3, add(headStart, 96))\n\n abi_encode_t_rational_0_by_1_to_t_uint256_fromStack(value4, add(headStart, 128))\n\n abi_encode_t_rational_0_by_1_to_t_uint256_fromStack(value5, add(headStart, 160))\n\n abi_encode_t_rational_0_by_1_to_t_uint256_fromStack(value6, add(headStart, 192))\n\n abi_encode_t_address_to_t_address_fromStack(value7, add(headStart, 224))\n\n abi_encode_t_address_payable_to_t_address_payable_fromStack(value8, add(headStart, 256))\n\n mstore(add(headStart, 288), sub(tail, headStart))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value9, tail)\n\n abi_encode_t_address_to_t_address_fromStack(value10, add(headStart, 320))\n\n }\n\n function abi_encode_tuple_t_bytes32_t_bool__to_t_bytes32_t_bool__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_bool_to_t_bool_fromStack(value1, add(headStart, 32))\n\n }\n\n function abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes4_to_t_bytes4_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_7a2a4e26842155ea933fe6eb6e3137eb5a296dcdf55721c552be7b4c3cc23759__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_7a2a4e26842155ea933fe6eb6e3137eb5a296dcdf55721c552be7b4c3cc23759_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_bd88896f993cb65ec88137fa375122d7638d9d4318afb802f2757e7adb7629c0__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_bd88896f993cb65ec88137fa375122d7638d9d4318afb802f2757e7adb7629c0_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function array_length_t_bytes_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_address_payable(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function cleanup_t_bytes4(value) -> cleaned {\n cleaned := and(value, 0xffffffff00000000000000000000000000000000000000000000000000000000)\n }\n\n function cleanup_t_enum$_Operation_$5(value) -> cleaned {\n cleaned := value validator_assert_t_enum$_Operation_$5(value)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function convert_t_enum$_Operation_$5_to_t_uint8(value) -> converted {\n converted := cleanup_t_enum$_Operation_$5(value)\n }\n\n function convert_t_rational_0_by_1_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(value)\n }\n\n function copy_calldata_to_memory(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\n mstore(add(dst, length), 0)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function leftAlign_t_bytes4(value) -> aligned {\n aligned := value\n }\n\n function panic_error_0x21() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe(memPtr) {\n\n mstore(add(memPtr, 0), \"Ownable: new owner is the zero a\")\n\n mstore(add(memPtr, 32), \"ddress\")\n\n }\n\n function store_literal_in_memory_7a2a4e26842155ea933fe6eb6e3137eb5a296dcdf55721c552be7b4c3cc23759(memPtr) {\n\n mstore(add(memPtr, 0), \"Initializable: contract is alrea\")\n\n mstore(add(memPtr, 32), \"dy initialized\")\n\n }\n\n function store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe(memPtr) {\n\n mstore(add(memPtr, 0), \"Ownable: caller is not the owner\")\n\n }\n\n function store_literal_in_memory_bd88896f993cb65ec88137fa375122d7638d9d4318afb802f2757e7adb7629c0(memPtr) {\n\n mstore(add(memPtr, 0), \"Guard does not implement IERC165\")\n\n }\n\n function validator_assert_t_enum$_Operation_$5(value) {\n if iszero(lt(value, 2)) { panic_error_0x21() }\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_address_payable(value) {\n if iszero(eq(value, cleanup_t_address_payable(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n }\n\n}\n", | |
"id": 15, | |
"language": "Yul", | |
"name": "#utility.yul" | |
} | |
], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "608060405234801561001057600080fd5b50600436106100cf5760003560e01c80637eca482f1161008c578063c910638911610066578063c9106389146101b4578063d4b83992146101d2578063e19a9dd9146101f0578063f2fde38b1461020c576100cf565b80637eca482f1461015c5780638da5cb5b1461017a578063a4f9edbf14610198576100cf565b8063086cfca8146100d45780630a007972146100f05780635aef7de6146100fa578063715018a614610118578063776d1a01146101225780637ceab3b11461013e575b600080fd5b6100ee60048036038101906100e99190611161565b610228565b005b6100f861036a565b005b6101026103dc565b60405161010f91906113b3565b60405180910390f35b610120610402565b005b61013c60048036038101906101379190611161565b61048a565b005b6101466105cc565b60405161015391906113b3565b60405180910390f35b6101646105f2565b60405161017191906113b3565b60405180910390f35b610182610618565b60405161018f91906113b3565b60405180910390f35b6101b260048036038101906101ad91906111fb565b610642565b005b6101bc6106c6565b6040516101c991906113b3565b60405180910390f35b6101da6106f0565b6040516101e791906113b3565b60405180910390f35b61020a60048036038101906102059190611161565b610716565b005b61022660048036038101906102219190611161565b61094c565b005b610230610a44565b73ffffffffffffffffffffffffffffffffffffffff1661024e610618565b73ffffffffffffffffffffffffffffffffffffffff16146102a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161029b90611557565b60405180910390fd5b6000606660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081606660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f52ae88b092de36f87fb43fe794eb1381023b9c1bce563a871154022c63dce34260405160405180910390a35050565b6103d9606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660007f0a007972426143e69eb25ec52e11623d5004b9a09c2e6920771b14a2f7068f8a6040516020016103c39190611398565b6040516020818303038152906040526000610a4c565b50565b606660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61040a610a44565b73ffffffffffffffffffffffffffffffffffffffff16610428610618565b73ffffffffffffffffffffffffffffffffffffffff161461047e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047590611557565b60405180910390fd5b6104886000610d41565b565b610492610a44565b73ffffffffffffffffffffffffffffffffffffffff166104b0610618565b73ffffffffffffffffffffffffffffffffffffffff1614610506576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104fd90611557565b60405180910390fd5b6000606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081606760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f90cc2f570a6eb594b1580ea3e41247d2d73a55281889e86bd4ec2fc29c7e62d660405160405180910390a35050565b606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61064a610e07565b60008082806020019051810190610661919061118e565b9150915080606860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506106af82610228565b6106b88261048a565b6106c18261094c565b505050565b6000606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61071e610a44565b73ffffffffffffffffffffffffffffffffffffffff1661073c610618565b73ffffffffffffffffffffffffffffffffffffffff1614610792576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078990611557565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146108af578073ffffffffffffffffffffffffffffffffffffffff166301ffc9a77fe6d7a83a000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040161081f91906114fc565b60206040518083038186803b15801561083757600080fd5b505afa15801561084b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086f91906111ce565b6108ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a590611577565b60405180910390fd5b5b80606560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa2606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405161094191906113b3565b60405180910390a150565b610954610a44565b73ffffffffffffffffffffffffffffffffffffffff16610972610618565b73ffffffffffffffffffffffffffffffffffffffff16146109c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bf90611557565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610a38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2f90611517565b60405180910390fd5b610a4181610d41565b50565b600033905090565b60008073ffffffffffffffffffffffffffffffffffffffff16606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b7e57606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166375f0bb528686868660008060008060006040518060400160405280600281526020017f307800000000000000000000000000000000000000000000000000000000000081525060006040518c63ffffffff1660e01b8152600401610b4b9b9a9998979695949392919061141a565b600060405180830381600087803b158015610b6557600080fd5b505af1158015610b79573d6000803e3d6000fd5b505050505b606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663468721a7868686866040518563ffffffff1660e01b8152600401610bdf94939291906113ce565b602060405180830381600087803b158015610bf957600080fd5b505af1158015610c0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3191906111ce565b9050600073ffffffffffffffffffffffffffffffffffffffff16606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d3957606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663932713687f3078000000000000000000000000000000000000000000000000000000000000836040518363ffffffff1660e01b8152600401610d069291906114d3565b600060405180830381600087803b158015610d2057600080fd5b505af1158015610d34573d6000803e3d6000fd5b505050505b949350505050565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600060019054906101000a900460ff1680610e2d575060008054906101000a900460ff16155b610e6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6390611537565b60405180910390fd5b60008060019054906101000a900460ff161590508015610ebc576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b610ec4610ef0565b610ecc610fc9565b8015610eed5760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff1680610f16575060008054906101000a900460ff16155b610f55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4c90611537565b60405180910390fd5b60008060019054906101000a900460ff161590508015610fa5576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b8015610fc65760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff1680610fef575060008054906101000a900460ff16155b61102e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102590611537565b60405180910390fd5b60008060019054906101000a900460ff16159050801561107e576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b61108e611089610a44565b610d41565b80156110af5760008060016101000a81548160ff0219169083151502179055505b50565b60006110c56110c0846115bc565b611597565b9050828152602081018484840111156110e1576110e06117c1565b5b6110ec8482856116e1565b509392505050565b600081359050611103816118e5565b92915050565b600081519050611118816118fc565b92915050565b60008151905061112d81611913565b92915050565b600082601f830112611148576111476117bc565b5b81356111588482602086016110b2565b91505092915050565b600060208284031215611177576111766117cb565b5b6000611185848285016110f4565b91505092915050565b600080604083850312156111a5576111a46117cb565b5b60006111b385828601611109565b92505060206111c485828601611109565b9150509250929050565b6000602082840312156111e4576111e36117cb565b5b60006111f28482850161111e565b91505092915050565b600060208284031215611211576112106117cb565b5b600082013567ffffffffffffffff81111561122f5761122e6117c6565b5b61123b84828501611133565b91505092915050565b61124d8161162c565b82525050565b61125c8161161a565b82525050565b61126b8161163e565b82525050565b61127a8161164a565b82525050565b61128981611654565b82525050565b6112a061129b82611654565b611754565b82525050565b60006112b1826115ed565b6112bb81856115f8565b93506112cb8185602086016116f0565b6112d4816117d0565b840191505092915050565b6112e8816116bd565b82525050565b6112f7816116cf565b82525050565b600061130a602683611609565b9150611315826117e1565b604082019050919050565b600061132d602e83611609565b915061133882611830565b604082019050919050565b6000611350602083611609565b915061135b8261187f565b602082019050919050565b6000611373602083611609565b915061137e826118a8565b602082019050919050565b611392816116b3565b82525050565b60006113a4828461128f565b60048201915081905092915050565b60006020820190506113c86000830184611253565b92915050565b60006080820190506113e36000830187611253565b6113f06020830186611389565b818103604083015261140281856112a6565b905061141160608301846112df565b95945050505050565b600061016082019050611430600083018e611253565b61143d602083018d611389565b818103604083015261144f818c6112a6565b905061145e606083018b6112df565b61146b608083018a6112ee565b61147860a08301896112ee565b61148560c08301886112ee565b61149260e0830187611253565b6114a0610100830186611244565b8181036101208301526114b381856112a6565b90506114c3610140830184611253565b9c9b505050505050505050505050565b60006040820190506114e86000830185611271565b6114f56020830184611262565b9392505050565b60006020820190506115116000830184611280565b92915050565b60006020820190508181036000830152611530816112fd565b9050919050565b6000602082019050818103600083015261155081611320565b9050919050565b6000602082019050818103600083015261157081611343565b9050919050565b6000602082019050818103600083015261159081611366565b9050919050565b60006115a16115b2565b90506115ad8282611723565b919050565b6000604051905090565b600067ffffffffffffffff8211156115d7576115d661178d565b5b6115e0826117d0565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061162582611693565b9050919050565b600061163782611693565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600081905061168e826118d1565b919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006116c882611680565b9050919050565b60006116da826116b3565b9050919050565b82818337600083830152505050565b60005b8381101561170e5780820151818401526020810190506116f3565b8381111561171d576000848401525b50505050565b61172c826117d0565b810181811067ffffffffffffffff8211171561174b5761174a61178d565b5b80604052505050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f477561726420646f6573206e6f7420696d706c656d656e742049455243313635600082015250565b600281106118e2576118e161175e565b5b50565b6118ee8161161a565b81146118f957600080fd5b50565b6119058161162c565b811461191057600080fd5b50565b61191c8161163e565b811461192757600080fd5b5056fea2646970667358221220ca39844ed409a2caef17a391a16b500e56c8d23a4b509b4e69bb193a5fe82e4164736f6c63430008070033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xCF JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x7ECA482F GT PUSH2 0x8C JUMPI DUP1 PUSH4 0xC9106389 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xC9106389 EQ PUSH2 0x1B4 JUMPI DUP1 PUSH4 0xD4B83992 EQ PUSH2 0x1D2 JUMPI DUP1 PUSH4 0xE19A9DD9 EQ PUSH2 0x1F0 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x20C JUMPI PUSH2 0xCF JUMP JUMPDEST DUP1 PUSH4 0x7ECA482F EQ PUSH2 0x15C JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x17A JUMPI DUP1 PUSH4 0xA4F9EDBF EQ PUSH2 0x198 JUMPI PUSH2 0xCF JUMP JUMPDEST DUP1 PUSH4 0x86CFCA8 EQ PUSH2 0xD4 JUMPI DUP1 PUSH4 0xA007972 EQ PUSH2 0xF0 JUMPI DUP1 PUSH4 0x5AEF7DE6 EQ PUSH2 0xFA JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x118 JUMPI DUP1 PUSH4 0x776D1A01 EQ PUSH2 0x122 JUMPI DUP1 PUSH4 0x7CEAB3B1 EQ PUSH2 0x13E JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xEE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xE9 SWAP2 SWAP1 PUSH2 0x1161 JUMP JUMPDEST PUSH2 0x228 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xF8 PUSH2 0x36A JUMP JUMPDEST STOP JUMPDEST PUSH2 0x102 PUSH2 0x3DC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x10F SWAP2 SWAP1 PUSH2 0x13B3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x120 PUSH2 0x402 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x13C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x137 SWAP2 SWAP1 PUSH2 0x1161 JUMP JUMPDEST PUSH2 0x48A JUMP JUMPDEST STOP JUMPDEST PUSH2 0x146 PUSH2 0x5CC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x153 SWAP2 SWAP1 PUSH2 0x13B3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x164 PUSH2 0x5F2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x171 SWAP2 SWAP1 PUSH2 0x13B3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x182 PUSH2 0x618 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x18F SWAP2 SWAP1 PUSH2 0x13B3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1B2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1AD SWAP2 SWAP1 PUSH2 0x11FB JUMP JUMPDEST PUSH2 0x642 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1BC PUSH2 0x6C6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1C9 SWAP2 SWAP1 PUSH2 0x13B3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1DA PUSH2 0x6F0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E7 SWAP2 SWAP1 PUSH2 0x13B3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x20A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x205 SWAP2 SWAP1 PUSH2 0x1161 JUMP JUMPDEST PUSH2 0x716 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x226 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x221 SWAP2 SWAP1 PUSH2 0x1161 JUMP JUMPDEST PUSH2 0x94C JUMP JUMPDEST STOP JUMPDEST PUSH2 0x230 PUSH2 0xA44 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x24E PUSH2 0x618 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x2A4 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x29B SWAP1 PUSH2 0x1557 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x66 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x66 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x52AE88B092DE36F87FB43FE794EB1381023B9C1BCE563A871154022C63DCE342 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH2 0x3D9 PUSH1 0x68 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 PUSH32 0xA007972426143E69EB25EC52E11623D5004B9A09C2E6920771B14A2F7068F8A PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x3C3 SWAP2 SWAP1 PUSH2 0x1398 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH1 0x0 PUSH2 0xA4C JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x66 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH2 0x40A PUSH2 0xA44 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x428 PUSH2 0x618 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x47E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x475 SWAP1 PUSH2 0x1557 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x488 PUSH1 0x0 PUSH2 0xD41 JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x492 PUSH2 0xA44 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x4B0 PUSH2 0x618 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x506 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4FD SWAP1 PUSH2 0x1557 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x67 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x67 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x90CC2F570A6EB594B1580EA3E41247D2D73A55281889E86BD4EC2FC29C7E62D6 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x65 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x68 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x33 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x64A PUSH2 0xE07 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x661 SWAP2 SWAP1 PUSH2 0x118E JUMP JUMPDEST SWAP2 POP SWAP2 POP DUP1 PUSH1 0x68 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0x6AF DUP3 PUSH2 0x228 JUMP JUMPDEST PUSH2 0x6B8 DUP3 PUSH2 0x48A JUMP JUMPDEST PUSH2 0x6C1 DUP3 PUSH2 0x94C JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x65 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x67 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH2 0x71E PUSH2 0xA44 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x73C PUSH2 0x618 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x792 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x789 SWAP1 PUSH2 0x1557 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x8AF JUMPI DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x1FFC9A7 PUSH32 0xE6D7A83A00000000000000000000000000000000000000000000000000000000 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x81F SWAP2 SWAP1 PUSH2 0x14FC JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x837 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x84B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x86F SWAP2 SWAP1 PUSH2 0x11CE JUMP JUMPDEST PUSH2 0x8AE JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8A5 SWAP1 PUSH2 0x1577 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMPDEST DUP1 PUSH1 0x65 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH32 0x1151116914515BC0891FF9047A6CB32CF902546F83066499BCF8BA33D2353FA2 PUSH1 0x65 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x40 MLOAD PUSH2 0x941 SWAP2 SWAP1 PUSH2 0x13B3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH2 0x954 PUSH2 0xA44 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x972 PUSH2 0x618 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x9C8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x9BF SWAP1 PUSH2 0x1557 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0xA38 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA2F SWAP1 PUSH2 0x1517 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xA41 DUP2 PUSH2 0xD41 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x65 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xB7E JUMPI PUSH1 0x65 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x75F0BB52 DUP7 DUP7 DUP7 DUP7 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x2 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x3078000000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x0 PUSH1 0x40 MLOAD DUP13 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xB4B SWAP12 SWAP11 SWAP10 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x141A JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xB65 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xB79 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMPDEST PUSH1 0x67 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x468721A7 DUP7 DUP7 DUP7 DUP7 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xBDF SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x13CE JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xBF9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xC0D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xC31 SWAP2 SWAP1 PUSH2 0x11CE JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x65 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xD39 JUMPI PUSH1 0x65 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x93271368 PUSH32 0x3078000000000000000000000000000000000000000000000000000000000000 DUP4 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD06 SWAP3 SWAP2 SWAP1 PUSH2 0x14D3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xD20 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xD34 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x33 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x33 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP1 PUSH2 0xE2D JUMPI POP PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO JUMPDEST PUSH2 0xE6C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xE63 SWAP1 PUSH2 0x1537 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO SWAP1 POP DUP1 ISZERO PUSH2 0xEBC JUMPI PUSH1 0x1 PUSH1 0x0 PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP JUMPDEST PUSH2 0xEC4 PUSH2 0xEF0 JUMP JUMPDEST PUSH2 0xECC PUSH2 0xFC9 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xEED JUMPI PUSH1 0x0 DUP1 PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP1 PUSH2 0xF16 JUMPI POP PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO JUMPDEST PUSH2 0xF55 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF4C SWAP1 PUSH2 0x1537 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO SWAP1 POP DUP1 ISZERO PUSH2 0xFA5 JUMPI PUSH1 0x1 PUSH1 0x0 PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP JUMPDEST DUP1 ISZERO PUSH2 0xFC6 JUMPI PUSH1 0x0 DUP1 PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP1 PUSH2 0xFEF JUMPI POP PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO JUMPDEST PUSH2 0x102E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1025 SWAP1 PUSH2 0x1537 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO SWAP1 POP DUP1 ISZERO PUSH2 0x107E JUMPI PUSH1 0x1 PUSH1 0x0 PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP JUMPDEST PUSH2 0x108E PUSH2 0x1089 PUSH2 0xA44 JUMP JUMPDEST PUSH2 0xD41 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x10AF JUMPI PUSH1 0x0 DUP1 PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x10C5 PUSH2 0x10C0 DUP5 PUSH2 0x15BC JUMP JUMPDEST PUSH2 0x1597 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x10E1 JUMPI PUSH2 0x10E0 PUSH2 0x17C1 JUMP JUMPDEST JUMPDEST PUSH2 0x10EC DUP5 DUP3 DUP6 PUSH2 0x16E1 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1103 DUP2 PUSH2 0x18E5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1118 DUP2 PUSH2 0x18FC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x112D DUP2 PUSH2 0x1913 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1148 JUMPI PUSH2 0x1147 PUSH2 0x17BC JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1158 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x10B2 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1177 JUMPI PUSH2 0x1176 PUSH2 0x17CB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1185 DUP5 DUP3 DUP6 ADD PUSH2 0x10F4 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x11A5 JUMPI PUSH2 0x11A4 PUSH2 0x17CB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x11B3 DUP6 DUP3 DUP7 ADD PUSH2 0x1109 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x11C4 DUP6 DUP3 DUP7 ADD PUSH2 0x1109 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x11E4 JUMPI PUSH2 0x11E3 PUSH2 0x17CB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x11F2 DUP5 DUP3 DUP6 ADD PUSH2 0x111E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1211 JUMPI PUSH2 0x1210 PUSH2 0x17CB JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x122F JUMPI PUSH2 0x122E PUSH2 0x17C6 JUMP JUMPDEST JUMPDEST PUSH2 0x123B DUP5 DUP3 DUP6 ADD PUSH2 0x1133 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x124D DUP2 PUSH2 0x162C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x125C DUP2 PUSH2 0x161A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x126B DUP2 PUSH2 0x163E JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x127A DUP2 PUSH2 0x164A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x1289 DUP2 PUSH2 0x1654 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x12A0 PUSH2 0x129B DUP3 PUSH2 0x1654 JUMP JUMPDEST PUSH2 0x1754 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x12B1 DUP3 PUSH2 0x15ED JUMP JUMPDEST PUSH2 0x12BB DUP2 DUP6 PUSH2 0x15F8 JUMP JUMPDEST SWAP4 POP PUSH2 0x12CB DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x16F0 JUMP JUMPDEST PUSH2 0x12D4 DUP2 PUSH2 0x17D0 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x12E8 DUP2 PUSH2 0x16BD JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x12F7 DUP2 PUSH2 0x16CF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x130A PUSH1 0x26 DUP4 PUSH2 0x1609 JUMP JUMPDEST SWAP2 POP PUSH2 0x1315 DUP3 PUSH2 0x17E1 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x132D PUSH1 0x2E DUP4 PUSH2 0x1609 JUMP JUMPDEST SWAP2 POP PUSH2 0x1338 DUP3 PUSH2 0x1830 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1350 PUSH1 0x20 DUP4 PUSH2 0x1609 JUMP JUMPDEST SWAP2 POP PUSH2 0x135B DUP3 PUSH2 0x187F JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1373 PUSH1 0x20 DUP4 PUSH2 0x1609 JUMP JUMPDEST SWAP2 POP PUSH2 0x137E DUP3 PUSH2 0x18A8 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1392 DUP2 PUSH2 0x16B3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13A4 DUP3 DUP5 PUSH2 0x128F JUMP JUMPDEST PUSH1 0x4 DUP3 ADD SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x13C8 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1253 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x13E3 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1253 JUMP JUMPDEST PUSH2 0x13F0 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x1389 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x1402 DUP2 DUP6 PUSH2 0x12A6 JUMP JUMPDEST SWAP1 POP PUSH2 0x1411 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x12DF JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x160 DUP3 ADD SWAP1 POP PUSH2 0x1430 PUSH1 0x0 DUP4 ADD DUP15 PUSH2 0x1253 JUMP JUMPDEST PUSH2 0x143D PUSH1 0x20 DUP4 ADD DUP14 PUSH2 0x1389 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x144F DUP2 DUP13 PUSH2 0x12A6 JUMP JUMPDEST SWAP1 POP PUSH2 0x145E PUSH1 0x60 DUP4 ADD DUP12 PUSH2 0x12DF JUMP JUMPDEST PUSH2 0x146B PUSH1 0x80 DUP4 ADD DUP11 PUSH2 0x12EE JUMP JUMPDEST PUSH2 0x1478 PUSH1 0xA0 DUP4 ADD DUP10 PUSH2 0x12EE JUMP JUMPDEST PUSH2 0x1485 PUSH1 0xC0 DUP4 ADD DUP9 PUSH2 0x12EE JUMP JUMPDEST PUSH2 0x1492 PUSH1 0xE0 DUP4 ADD DUP8 PUSH2 0x1253 JUMP JUMPDEST PUSH2 0x14A0 PUSH2 0x100 DUP4 ADD DUP7 PUSH2 0x1244 JUMP JUMPDEST DUP2 DUP2 SUB PUSH2 0x120 DUP4 ADD MSTORE PUSH2 0x14B3 DUP2 DUP6 PUSH2 0x12A6 JUMP JUMPDEST SWAP1 POP PUSH2 0x14C3 PUSH2 0x140 DUP4 ADD DUP5 PUSH2 0x1253 JUMP JUMPDEST SWAP13 SWAP12 POP POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x14E8 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x1271 JUMP JUMPDEST PUSH2 0x14F5 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1262 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1511 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1280 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1530 DUP2 PUSH2 0x12FD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1550 DUP2 PUSH2 0x1320 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1570 DUP2 PUSH2 0x1343 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1590 DUP2 PUSH2 0x1366 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15A1 PUSH2 0x15B2 JUMP JUMPDEST SWAP1 POP PUSH2 0x15AD DUP3 DUP3 PUSH2 0x1723 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x15D7 JUMPI PUSH2 0x15D6 PUSH2 0x178D JUMP JUMPDEST JUMPDEST PUSH2 0x15E0 DUP3 PUSH2 0x17D0 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1625 DUP3 PUSH2 0x1693 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1637 DUP3 PUSH2 0x1693 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0x168E DUP3 PUSH2 0x18D1 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x16C8 DUP3 PUSH2 0x1680 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x16DA DUP3 PUSH2 0x16B3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x170E JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x16F3 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x171D JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0x172C DUP3 PUSH2 0x17D0 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x174B JUMPI PUSH2 0x174A PUSH2 0x178D JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6464726573730000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x496E697469616C697A61626C653A20636F6E747261637420697320616C726561 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x647920696E697469616C697A6564000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x477561726420646F6573206E6F7420696D706C656D656E742049455243313635 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x2 DUP2 LT PUSH2 0x18E2 JUMPI PUSH2 0x18E1 PUSH2 0x175E JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH2 0x18EE DUP2 PUSH2 0x161A JUMP JUMPDEST DUP2 EQ PUSH2 0x18F9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x1905 DUP2 PUSH2 0x162C JUMP JUMPDEST DUP2 EQ PUSH2 0x1910 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x191C DUP2 PUSH2 0x163E JUMP JUMPDEST DUP2 EQ PUSH2 0x1927 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xCA CODECOPY DUP5 0x4E 0xD4 MULMOD LOG2 0xCA 0xEF OR LOG3 SWAP2 LOG1 PUSH12 0x500E56C8D23A4B509B4E69BB NOT GASPRICE 0x5F 0xE8 0x2E COINBASE PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ", | |
"sourceMap": "146:826:14:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;934:176:1;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;232:161:14;;;:::i;:::-;;697:21:1;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1934:101:7;;;:::i;:::-;;1233:176:1;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;411:20:4;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;206:21:14;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1302:85:7;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;691:279:14;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;937:88:4;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;789:21:1;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;601:330:4;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2184:198:7;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;934:176:1;1525:12:7;:10;:12::i;:::-;1514:23;;:7;:5;:7::i;:::-;:23;;;1506:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;997:22:1::1;1022:6;;;;;;;;;;;997:31;;1047:7;1038:6;;:16;;;;;;;;;;;;;;;;;;1095:7;1069:34;;1079:14;1069:34;;;;;;;;;;;;987:123;934:176:::0;:::o;232:161:14:-;269:119;281:6;;;;;;;;;;;295:1;328:25;304:51;;;;;;;;:::i;:::-;;;;;;;;;;;;;363:19;269:4;:119::i;:::-;;232:161::o;697:21:1:-;;;;;;;;;;;;;:::o;1934:101:7:-;1525:12;:10;:12::i;:::-;1514:23;;:7;:5;:7::i;:::-;:23;;;1506:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1998:30:::1;2025:1;1998:18;:30::i;:::-;1934:101::o:0;1233:176:1:-;1525:12:7;:10;:12::i;:::-;1514:23;;:7;:5;:7::i;:::-;:23;;;1506:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1296:22:1::1;1321:6;;;;;;;;;;;1296:31;;1346:7;1337:6;;:16;;;;;;;;;;;;;;;;;;1394:7;1368:34;;1378:14;1368:34;;;;;;;;;;;;1286:123;1233:176:::0;:::o;411:20:4:-;;;;;;;;;;;;;:::o;206:21:14:-;;;;;;;;;;;;;:::o;1302:85:7:-;1348:7;1374:6;;;;;;;;;;;1367:13;;1302:85;:::o;691:279:14:-;759:16;:14;:16::i;:::-;782:14;798:15;828:16;817:48;;;;;;;;;;;;:::i;:::-;781:84;;;;881:7;872:6;;:16;;;;;;;;;;;;;;;;;;894:17;904:6;894:9;:17::i;:::-;917;927:6;917:9;:17::i;:::-;940:25;958:6;940:17;:25::i;:::-;753:217;;691:279;:::o;937:88:4:-;980:14;1013:5;;;;;;;;;;;1006:12;;937:88;:::o;789:21:1:-;;;;;;;;;;;;;:::o;601:330:4:-;1525:12:7;:10;:12::i;:::-;1514:23;;:7;:5;:7::i;:::-;:23;;;1506:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;686:1:4::1;668:20;;:6;:20;;;664:203;;739:6;729:35;;;765:24;729:61;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;704:152;;;;;;;;;;;;:::i;:::-;;;;;;;;;664:203;884:6;876:5;;:14;;;;;;;;;;;;;;;;;;905:19;918:5;;;;;;;;;;;905:19;;;;;;:::i;:::-;;;;;;;;601:330:::0;:::o;2184:198:7:-;1525:12;:10;:12::i;:::-;1514:23;;:7;:5;:7::i;:::-;:23;;;1506:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2292:1:::1;2272:22;;:8;:22;;;;2264:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2347:28;2366:8;2347:18;:28::i;:::-;2184:198:::0;:::o;876:96:9:-;929:7;955:10;948:17;;876:96;:::o;1799:1041:1:-;1941:12;2040:1;2023:19;;:5;;;;;;;;;;;:19;;;2019:528;;2065:5;;;;;;;;;;;2058:30;;;2171:2;2191:5;2214:4;2236:9;2370:1;2389;2408;2435;2463;2483:11;;;;;;;;;;;;;;;;;2520:1;2058:478;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2019:528;2574:6;;;;;;;;;;;2566:41;;;2621:2;2637:5;2656:4;2674:9;2566:127;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2556:137;;2724:1;2707:19;;:5;;;;;;;;;;;:19;;;2703:107;;2749:5;;;;;;;;;;;2742:33;;;2776:13;2791:7;2742:57;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2703:107;1799:1041;;;;;;:::o;2536:187:7:-;2609:16;2628:6;;;;;;;;;;;2609:25;;2653:8;2644:6;;:17;;;;;;;;;;;;;;;;;;2707:8;2676:40;;2697:8;2676:40;;;;;;;;;;;;2599:124;2536:187;:::o;988:126::-;2030:13:8;;;;;;;;;;;:30;;;;2048:12;;;;;;;;;;2047:13;2030:30;2022:89;;;;;;;;;;;;:::i;:::-;;;;;;;;;2122:19;2145:13;;;;;;;;;;;2144:14;2122:36;;2172:14;2168:98;;;2218:4;2202:13;;:20;;;;;;;;;;;;;;;;;;2251:4;2236:12;;:19;;;;;;;;;;;;;;;;;;2168:98;1045:26:7::1;:24;:26::i;:::-;1081;:24;:26::i;:::-;2292:14:8::0;2288:66;;;2338:5;2322:13;;:21;;;;;;;;;;;;;;;;;;2288:66;2012:348;988:126:7:o;807:64:9:-;2030:13:8;;;;;;;;;;;:30;;;;2048:12;;;;;;;;;;2047:13;2030:30;2022:89;;;;;;;;;;;;:::i;:::-;;;;;;;;;2122:19;2145:13;;;;;;;;;;;2144:14;2122:36;;2172:14;2168:98;;;2218:4;2202:13;;:20;;;;;;;;;;;;;;;;;;2251:4;2236:12;;:19;;;;;;;;;;;;;;;;;;2168:98;2292:14;2288:66;;;2338:5;2322:13;;:21;;;;;;;;;;;;;;;;;;2288:66;2012:348;807:64:9:o;1120:106:7:-;2030:13:8;;;;;;;;;;;:30;;;;2048:12;;;;;;;;;;2047:13;2030:30;2022:89;;;;;;;;;;;;:::i;:::-;;;;;;;;;2122:19;2145:13;;;;;;;;;;;2144:14;2122:36;;2172:14;2168:98;;;2218:4;2202:13;;:20;;;;;;;;;;;;;;;;;;2251:4;2236:12;;:19;;;;;;;;;;;;;;;;;;2168:98;1187:32:7::1;1206:12;:10;:12::i;:::-;1187:18;:32::i;:::-;2292:14:8::0;2288:66;;;2338:5;2322:13;;:21;;;;;;;;;;;;;;;;;;2288:66;2012:348;1120:106:7:o;7:410:15:-;84:5;109:65;125:48;166:6;125:48;:::i;:::-;109:65;:::i;:::-;100:74;;197:6;190:5;183:21;235:4;228:5;224:16;273:3;264:6;259:3;255:16;252:25;249:112;;;280:79;;:::i;:::-;249:112;370:41;404:6;399:3;394;370:41;:::i;:::-;90:327;7:410;;;;;:::o;423:139::-;469:5;507:6;494:20;485:29;;523:33;550:5;523:33;:::i;:::-;423:139;;;;:::o;568:159::-;633:5;664:6;658:13;649:22;;680:41;715:5;680:41;:::i;:::-;568:159;;;;:::o;733:137::-;787:5;818:6;812:13;803:22;;834:30;858:5;834:30;:::i;:::-;733:137;;;;:::o;889:338::-;944:5;993:3;986:4;978:6;974:17;970:27;960:122;;1001:79;;:::i;:::-;960:122;1118:6;1105:20;1143:78;1217:3;1209:6;1202:4;1194:6;1190:17;1143:78;:::i;:::-;1134:87;;950:277;889:338;;;;:::o;1233:329::-;1292:6;1341:2;1329:9;1320:7;1316:23;1312:32;1309:119;;;1347:79;;:::i;:::-;1309:119;1467:1;1492:53;1537:7;1528:6;1517:9;1513:22;1492:53;:::i;:::-;1482:63;;1438:117;1233:329;;;;:::o;1568:539::-;1663:6;1671;1720:2;1708:9;1699:7;1695:23;1691:32;1688:119;;;1726:79;;:::i;:::-;1688:119;1846:1;1871:72;1935:7;1926:6;1915:9;1911:22;1871:72;:::i;:::-;1861:82;;1817:136;1992:2;2018:72;2082:7;2073:6;2062:9;2058:22;2018:72;:::i;:::-;2008:82;;1963:137;1568:539;;;;;:::o;2113:345::-;2180:6;2229:2;2217:9;2208:7;2204:23;2200:32;2197:119;;;2235:79;;:::i;:::-;2197:119;2355:1;2380:61;2433:7;2424:6;2413:9;2409:22;2380:61;:::i;:::-;2370:71;;2326:125;2113:345;;;;:::o;2464:507::-;2532:6;2581:2;2569:9;2560:7;2556:23;2552:32;2549:119;;;2587:79;;:::i;:::-;2549:119;2735:1;2724:9;2720:17;2707:31;2765:18;2757:6;2754:30;2751:117;;;2787:79;;:::i;:::-;2751:117;2892:62;2946:7;2937:6;2926:9;2922:22;2892:62;:::i;:::-;2882:72;;2678:286;2464:507;;;;:::o;2977:142::-;3080:32;3106:5;3080:32;:::i;:::-;3075:3;3068:45;2977:142;;:::o;3125:118::-;3212:24;3230:5;3212:24;:::i;:::-;3207:3;3200:37;3125:118;;:::o;3249:109::-;3330:21;3345:5;3330:21;:::i;:::-;3325:3;3318:34;3249:109;;:::o;3364:118::-;3451:24;3469:5;3451:24;:::i;:::-;3446:3;3439:37;3364:118;;:::o;3488:115::-;3573:23;3590:5;3573:23;:::i;:::-;3568:3;3561:36;3488:115;;:::o;3609:153::-;3712:43;3731:23;3748:5;3731:23;:::i;:::-;3712:43;:::i;:::-;3707:3;3700:56;3609:153;;:::o;3768:360::-;3854:3;3882:38;3914:5;3882:38;:::i;:::-;3936:70;3999:6;3994:3;3936:70;:::i;:::-;3929:77;;4015:52;4060:6;4055:3;4048:4;4041:5;4037:16;4015:52;:::i;:::-;4092:29;4114:6;4092:29;:::i;:::-;4087:3;4083:39;4076:46;;3858:270;3768:360;;;;:::o;4134:149::-;4230:46;4270:5;4230:46;:::i;:::-;4225:3;4218:59;4134:149;;:::o;4289:147::-;4384:45;4423:5;4384:45;:::i;:::-;4379:3;4372:58;4289:147;;:::o;4442:366::-;4584:3;4605:67;4669:2;4664:3;4605:67;:::i;:::-;4598:74;;4681:93;4770:3;4681:93;:::i;:::-;4799:2;4794:3;4790:12;4783:19;;4442:366;;;:::o;4814:::-;4956:3;4977:67;5041:2;5036:3;4977:67;:::i;:::-;4970:74;;5053:93;5142:3;5053:93;:::i;:::-;5171:2;5166:3;5162:12;5155:19;;4814:366;;;:::o;5186:::-;5328:3;5349:67;5413:2;5408:3;5349:67;:::i;:::-;5342:74;;5425:93;5514:3;5425:93;:::i;:::-;5543:2;5538:3;5534:12;5527:19;;5186:366;;;:::o;5558:::-;5700:3;5721:67;5785:2;5780:3;5721:67;:::i;:::-;5714:74;;5797:93;5886:3;5797:93;:::i;:::-;5915:2;5910:3;5906:12;5899:19;;5558:366;;;:::o;5930:118::-;6017:24;6035:5;6017:24;:::i;:::-;6012:3;6005:37;5930:118;;:::o;6054:251::-;6164:3;6179:73;6248:3;6239:6;6179:73;:::i;:::-;6277:1;6272:3;6268:11;6261:18;;6296:3;6289:10;;6054:251;;;;:::o;6311:222::-;6404:4;6442:2;6431:9;6427:18;6419:26;;6455:71;6523:1;6512:9;6508:17;6499:6;6455:71;:::i;:::-;6311:222;;;;:::o;6539:658::-;6743:4;6781:3;6770:9;6766:19;6758:27;;6795:71;6863:1;6852:9;6848:17;6839:6;6795:71;:::i;:::-;6876:72;6944:2;6933:9;6929:18;6920:6;6876:72;:::i;:::-;6995:9;6989:4;6985:20;6980:2;6969:9;6965:18;6958:48;7023:76;7094:4;7085:6;7023:76;:::i;:::-;7015:84;;7109:81;7186:2;7175:9;7171:18;7162:6;7109:81;:::i;:::-;6539:658;;;;;;;:::o;7203:1604::-;7662:4;7700:3;7689:9;7685:19;7677:27;;7714:71;7782:1;7771:9;7767:17;7758:6;7714:71;:::i;:::-;7795:72;7863:2;7852:9;7848:18;7839:6;7795:72;:::i;:::-;7914:9;7908:4;7904:20;7899:2;7888:9;7884:18;7877:48;7942:76;8013:4;8004:6;7942:76;:::i;:::-;7934:84;;8028:81;8105:2;8094:9;8090:18;8081:6;8028:81;:::i;:::-;8119;8195:3;8184:9;8180:19;8171:6;8119:81;:::i;:::-;8210;8286:3;8275:9;8271:19;8262:6;8210:81;:::i;:::-;8301;8377:3;8366:9;8362:19;8353:6;8301:81;:::i;:::-;8392:73;8460:3;8449:9;8445:19;8436:6;8392:73;:::i;:::-;8475:89;8559:3;8548:9;8544:19;8535:6;8475:89;:::i;:::-;8612:9;8606:4;8602:20;8596:3;8585:9;8581:19;8574:49;8640:76;8711:4;8702:6;8640:76;:::i;:::-;8632:84;;8726:74;8795:3;8784:9;8780:19;8770:7;8726:74;:::i;:::-;7203:1604;;;;;;;;;;;;;;:::o;8813:320::-;8928:4;8966:2;8955:9;8951:18;8943:26;;8979:71;9047:1;9036:9;9032:17;9023:6;8979:71;:::i;:::-;9060:66;9122:2;9111:9;9107:18;9098:6;9060:66;:::i;:::-;8813:320;;;;;:::o;9139:218::-;9230:4;9268:2;9257:9;9253:18;9245:26;;9281:69;9347:1;9336:9;9332:17;9323:6;9281:69;:::i;:::-;9139:218;;;;:::o;9363:419::-;9529:4;9567:2;9556:9;9552:18;9544:26;;9616:9;9610:4;9606:20;9602:1;9591:9;9587:17;9580:47;9644:131;9770:4;9644:131;:::i;:::-;9636:139;;9363:419;;;:::o;9788:::-;9954:4;9992:2;9981:9;9977:18;9969:26;;10041:9;10035:4;10031:20;10027:1;10016:9;10012:17;10005:47;10069:131;10195:4;10069:131;:::i;:::-;10061:139;;9788:419;;;:::o;10213:::-;10379:4;10417:2;10406:9;10402:18;10394:26;;10466:9;10460:4;10456:20;10452:1;10441:9;10437:17;10430:47;10494:131;10620:4;10494:131;:::i;:::-;10486:139;;10213:419;;;:::o;10638:::-;10804:4;10842:2;10831:9;10827:18;10819:26;;10891:9;10885:4;10881:20;10877:1;10866:9;10862:17;10855:47;10919:131;11045:4;10919:131;:::i;:::-;10911:139;;10638:419;;;:::o;11063:129::-;11097:6;11124:20;;:::i;:::-;11114:30;;11153:33;11181:4;11173:6;11153:33;:::i;:::-;11063:129;;;:::o;11198:75::-;11231:6;11264:2;11258:9;11248:19;;11198:75;:::o;11279:307::-;11340:4;11430:18;11422:6;11419:30;11416:56;;;11452:18;;:::i;:::-;11416:56;11490:29;11512:6;11490:29;:::i;:::-;11482:37;;11574:4;11568;11564:15;11556:23;;11279:307;;;:::o;11592:98::-;11643:6;11677:5;11671:12;11661:22;;11592:98;;;:::o;11696:168::-;11779:11;11813:6;11808:3;11801:19;11853:4;11848:3;11844:14;11829:29;;11696:168;;;;:::o;11870:169::-;11954:11;11988:6;11983:3;11976:19;12028:4;12023:3;12019:14;12004:29;;11870:169;;;;:::o;12045:96::-;12082:7;12111:24;12129:5;12111:24;:::i;:::-;12100:35;;12045:96;;;:::o;12147:104::-;12192:7;12221:24;12239:5;12221:24;:::i;:::-;12210:35;;12147:104;;;:::o;12257:90::-;12291:7;12334:5;12327:13;12320:21;12309:32;;12257:90;;;:::o;12353:77::-;12390:7;12419:5;12408:16;;12353:77;;;:::o;12436:149::-;12472:7;12512:66;12505:5;12501:78;12490:89;;12436:149;;;:::o;12591:133::-;12639:7;12668:5;12657:16;;12674:44;12712:5;12674:44;:::i;:::-;12591:133;;;:::o;12730:126::-;12767:7;12807:42;12800:5;12796:54;12785:65;;12730:126;;;:::o;12862:77::-;12899:7;12928:5;12917:16;;12862:77;;;:::o;12945:133::-;13004:9;13037:35;13066:5;13037:35;:::i;:::-;13024:48;;12945:133;;;:::o;13084:121::-;13142:9;13175:24;13193:5;13175:24;:::i;:::-;13162:37;;13084:121;;;:::o;13211:154::-;13295:6;13290:3;13285;13272:30;13357:1;13348:6;13343:3;13339:16;13332:27;13211:154;;;:::o;13371:307::-;13439:1;13449:113;13463:6;13460:1;13457:13;13449:113;;;13548:1;13543:3;13539:11;13533:18;13529:1;13524:3;13520:11;13513:39;13485:2;13482:1;13478:10;13473:15;;13449:113;;;13580:6;13577:1;13574:13;13571:101;;;13660:1;13651:6;13646:3;13642:16;13635:27;13571:101;13420:258;13371:307;;;:::o;13684:281::-;13767:27;13789:4;13767:27;:::i;:::-;13759:6;13755:40;13897:6;13885:10;13882:22;13861:18;13849:10;13846:34;13843:62;13840:88;;;13908:18;;:::i;:::-;13840:88;13948:10;13944:2;13937:22;13727:238;13684:281;;:::o;13971:78::-;14009:7;14038:5;14027:16;;13971:78;;;:::o;14055:180::-;14103:77;14100:1;14093:88;14200:4;14197:1;14190:15;14224:4;14221:1;14214:15;14241:180;14289:77;14286:1;14279:88;14386:4;14383:1;14376:15;14410:4;14407:1;14400:15;14427:117;14536:1;14533;14526:12;14550:117;14659:1;14656;14649:12;14673:117;14782:1;14779;14772:12;14796:117;14905:1;14902;14895:12;14919:102;14960:6;15011:2;15007:7;15002:2;14995:5;14991:14;14987:28;14977:38;;14919:102;;;:::o;15027:225::-;15167:34;15163:1;15155:6;15151:14;15144:58;15236:8;15231:2;15223:6;15219:15;15212:33;15027:225;:::o;15258:233::-;15398:34;15394:1;15386:6;15382:14;15375:58;15467:16;15462:2;15454:6;15450:15;15443:41;15258:233;:::o;15497:182::-;15637:34;15633:1;15625:6;15621:14;15614:58;15497:182;:::o;15685:::-;15825:34;15821:1;15813:6;15809:14;15802:58;15685:182;:::o;15873:116::-;15957:1;15950:5;15947:12;15937:46;;15963:18;;:::i;:::-;15937:46;15873:116;:::o;15995:122::-;16068:24;16086:5;16068:24;:::i;:::-;16061:5;16058:35;16048:63;;16107:1;16104;16097:12;16048:63;15995:122;:::o;16123:138::-;16204:32;16230:5;16204:32;:::i;:::-;16197:5;16194:43;16184:71;;16251:1;16248;16241:12;16184:71;16123:138;:::o;16267:116::-;16337:21;16352:5;16337:21;:::i;:::-;16330:5;16327:32;16317:60;;16373:1;16370;16363:12;16317:60;16267:116;:::o" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "1299200", | |
"executionCost": "infinite", | |
"totalCost": "infinite" | |
}, | |
"external": { | |
"avatar()": "2559", | |
"button()": "2537", | |
"getGuard()": "2544", | |
"guard()": "2625", | |
"owner()": "2567", | |
"pushButton()": "infinite", | |
"renounceOwnership()": "30441", | |
"setAvatar(address)": "30657", | |
"setGuard(address)": "infinite", | |
"setTarget(address)": "30745", | |
"setUp(bytes)": "infinite", | |
"target()": "2558", | |
"transferOwnership(address)": "30811" | |
} | |
}, | |
"methodIdentifiers": { | |
"avatar()": "5aef7de6", | |
"button()": "7eca482f", | |
"getGuard()": "c9106389", | |
"guard()": "7ceab3b1", | |
"owner()": "8da5cb5b", | |
"pushButton()": "0a007972", | |
"renounceOwnership()": "715018a6", | |
"setAvatar(address)": "086cfca8", | |
"setGuard(address)": "e19a9dd9", | |
"setTarget(address)": "776d1a01", | |
"setUp(bytes)": "a4f9edbf", | |
"target()": "d4b83992", | |
"transferOwnership(address)": "f2fde38b" | |
} | |
}, | |
"abi": [ | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "_owner", | |
"type": "address" | |
}, | |
{ | |
"internalType": "address", | |
"name": "_button", | |
"type": "address" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "constructor" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "previousAvatar", | |
"type": "address" | |
}, | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "newAvatar", | |
"type": "address" | |
} | |
], | |
"name": "AvatarSet", | |
"type": "event" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": false, | |
"internalType": "address", | |
"name": "guard", | |
"type": "address" | |
} | |
], | |
"name": "ChangedGuard", | |
"type": "event" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "previousOwner", | |
"type": "address" | |
}, | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "newOwner", | |
"type": "address" | |
} | |
], | |
"name": "OwnershipTransferred", | |
"type": "event" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "previousTarget", | |
"type": "address" | |
}, | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "newTarget", | |
"type": "address" | |
} | |
], | |
"name": "TargetSet", | |
"type": "event" | |
}, | |
{ | |
"inputs": [], | |
"name": "avatar", | |
"outputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "button", | |
"outputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "getGuard", | |
"outputs": [ | |
{ | |
"internalType": "address", | |
"name": "_guard", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "guard", | |
"outputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "owner", | |
"outputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "pushButton", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "renounceOwnership", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "_avatar", | |
"type": "address" | |
} | |
], | |
"name": "setAvatar", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "_guard", | |
"type": "address" | |
} | |
], | |
"name": "setGuard", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "_target", | |
"type": "address" | |
} | |
], | |
"name": "setTarget", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "bytes", | |
"name": "initializeParams", | |
"type": "bytes" | |
} | |
], | |
"name": "setUp", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "target", | |
"outputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "newOwner", | |
"type": "address" | |
} | |
], | |
"name": "transferOwnership", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
} | |
] | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"compiler": { | |
"version": "0.8.7+commit.e28d00a7" | |
}, | |
"language": "Solidity", | |
"output": { | |
"abi": [ | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "_owner", | |
"type": "address" | |
}, | |
{ | |
"internalType": "address", | |
"name": "_button", | |
"type": "address" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "constructor" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "previousAvatar", | |
"type": "address" | |
}, | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "newAvatar", | |
"type": "address" | |
} | |
], | |
"name": "AvatarSet", | |
"type": "event" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": false, | |
"internalType": "address", | |
"name": "guard", | |
"type": "address" | |
} | |
], | |
"name": "ChangedGuard", | |
"type": "event" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "previousOwner", | |
"type": "address" | |
}, | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "newOwner", | |
"type": "address" | |
} | |
], | |
"name": "OwnershipTransferred", | |
"type": "event" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "previousTarget", | |
"type": "address" | |
}, | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "newTarget", | |
"type": "address" | |
} | |
], | |
"name": "TargetSet", | |
"type": "event" | |
}, | |
{ | |
"inputs": [], | |
"name": "avatar", | |
"outputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "button", | |
"outputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "getGuard", | |
"outputs": [ | |
{ | |
"internalType": "address", | |
"name": "_guard", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "guard", | |
"outputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "owner", | |
"outputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "pushButton", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "renounceOwnership", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "_avatar", | |
"type": "address" | |
} | |
], | |
"name": "setAvatar", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "_guard", | |
"type": "address" | |
} | |
], | |
"name": "setGuard", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "_target", | |
"type": "address" | |
} | |
], | |
"name": "setTarget", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "bytes", | |
"name": "initializeParams", | |
"type": "bytes" | |
} | |
], | |
"name": "setUp", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "target", | |
"outputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "newOwner", | |
"type": "address" | |
} | |
], | |
"name": "transferOwnership", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
} | |
], | |
"devdoc": { | |
"kind": "dev", | |
"methods": { | |
"owner()": { | |
"details": "Returns the address of the current owner." | |
}, | |
"renounceOwnership()": { | |
"details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner." | |
}, | |
"setAvatar(address)": { | |
"details": "Sets the avatar to a new avatar (`newAvatar`)." | |
}, | |
"setGuard(address)": { | |
"details": "Set a guard that checks transactions before execution", | |
"params": { | |
"_guard": "The address of the guard to be used or the 0 address to disable the guard" | |
} | |
}, | |
"setTarget(address)": { | |
"details": "Sets the target to a new target (`newTarget`)." | |
}, | |
"setUp(bytes)": { | |
"details": "Initialize function, will be triggered when a new proxy is deployed", | |
"params": { | |
"initializeParams": "Parameters of initialization encoded" | |
} | |
}, | |
"transferOwnership(address)": { | |
"details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." | |
} | |
}, | |
"version": 1 | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": { | |
"button()": { | |
"notice": "insert your code here" | |
}, | |
"setAvatar(address)": { | |
"notice": "Can only be called by the current owner." | |
}, | |
"setTarget(address)": { | |
"notice": "Can only be called by the current owner." | |
} | |
}, | |
"version": 1 | |
} | |
}, | |
"settings": { | |
"compilationTarget": { | |
"gist-105ae8f09c34406997d217ee4dc0f63a/MyModule.sol": "MyModule" | |
}, | |
"evmVersion": "london", | |
"libraries": {}, | |
"metadata": { | |
"bytecodeHash": "ipfs" | |
}, | |
"optimizer": { | |
"enabled": false, | |
"runs": 200 | |
}, | |
"remappings": [] | |
}, | |
"sources": { | |
"@gnosis.pm/safe-contracts/contracts/common/Enum.sol": { | |
"keccak256": "0x473e45b1a5cc47be494b0e123c9127f0c11c1e0992a321ae5a644c0bfdb2c14f", | |
"license": "LGPL-3.0-only", | |
"urls": [ | |
"bzz-raw://948e6d5a8bd7377f7795b6e28584eab9be5c0a8db240bf5e606744a175238c3d", | |
"dweb:/ipfs/QmQQaUmQfpuejV41jbxKSTgEBYYCcVTjCsDMgf2htgz6ej" | |
] | |
}, | |
"@gnosis.pm/zodiac/contracts/core/Module.sol": { | |
"keccak256": "0x28b92df890643da4ee4469b2f3c9c03a9c62ce7e7420d22daa8e6d05dc9a912a", | |
"license": "LGPL-3.0-only", | |
"urls": [ | |
"bzz-raw://0c04c3a987cc72978bd047b8811951917bcf2f743451bf72b9b6d4ec31c3d2de", | |
"dweb:/ipfs/QmSqbCWQ84FBiVwgaXcH9J6mx8MUiYbVmhupLSKRBCW7Gv" | |
] | |
}, | |
"@gnosis.pm/zodiac/contracts/factory/FactoryFriendly.sol": { | |
"keccak256": "0x96e61585b7340a901a54eb4c157ce28b630bff3d9d4597dfaac692128ea458c4", | |
"license": "LGPL-3.0-only", | |
"urls": [ | |
"bzz-raw://26252f06a8f31d7fe771b50fde9a6338133750bf05f7fc421dfa70c1df25ed7b", | |
"dweb:/ipfs/QmQrZ4Zgvi3andou57Be9qpMmZatMx88rMxp3DPwUaFPsR" | |
] | |
}, | |
"@gnosis.pm/zodiac/contracts/guard/BaseGuard.sol": { | |
"keccak256": "0x46e33d288999a9f75da42ead460b459bbce3b7a8bc928486c9e2fc7f8f126bd3", | |
"license": "LGPL-3.0-only", | |
"urls": [ | |
"bzz-raw://fa2c493cc77074cb92a259af5cc5d086fa10d3056eb4103ebccbc797446046da", | |
"dweb:/ipfs/Qmd9TtEoCe9TU42oNdR9ZoDU1YMhtDPKZSaa92XpysLUBs" | |
] | |
}, | |
"@gnosis.pm/zodiac/contracts/guard/Guardable.sol": { | |
"keccak256": "0xe0e61fad057180f55aa3563873ccc3d2a177445f6b004d248ed64b26a71fee80", | |
"license": "LGPL-3.0-only", | |
"urls": [ | |
"bzz-raw://ef73cd26bb16260a5ff657ee19f86e40eca4eafe67af2423e10439caf22f9e46", | |
"dweb:/ipfs/QmaJ1rFumJN3fG2VCMR7hAfwZyX2rqLtDFvGgiy1DtYNQ4" | |
] | |
}, | |
"@gnosis.pm/zodiac/contracts/interfaces/IAvatar.sol": { | |
"keccak256": "0xe3246f35870e915066fdb86571248a63cf6900d4985fcdbcdaf2544d7461790b", | |
"license": "LGPL-3.0-only", | |
"urls": [ | |
"bzz-raw://c80fd6be0e901d135ccad59e465a43fb3178a5613bf549d7b0dd659e0a172290", | |
"dweb:/ipfs/QmPUYqbeB4idTU4LaXsXQXyeVidrA5YF1PGT3s9wegiu9a" | |
] | |
}, | |
"@gnosis.pm/zodiac/contracts/interfaces/IGuard.sol": { | |
"keccak256": "0xd0d855accbc5fba81c67ab22cdbb03325a8a4d7f6b7e981d1ff0fec3178e464d", | |
"license": "LGPL-3.0-only", | |
"urls": [ | |
"bzz-raw://4b51c586b33cc97caebe85472855bbb4c56a4e387b14cde2c8110b12ace7ba6b", | |
"dweb:/ipfs/QmYtVdNKa5D2A4cEdTg9cYwrDio7TdNKtbAHc86x33W5wt" | |
] | |
}, | |
"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol": { | |
"keccak256": "0xd0fc241d70f27a08c43c0c9e5a15d2661a643d8db46c219b2322bef8a34bbdd7", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://272fdc13ea6d62470f1009a1adf0d28b67be2c75415e9f24eee38164dd69fb04", | |
"dweb:/ipfs/QmfZDcxQEFdAi1AwMTHozZJrwFoUCEZnbcJcRhqmahuTBR" | |
] | |
}, | |
"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol": { | |
"keccak256": "0x6287586f5e4a103c89d4dda41406136cdf283cc625bd1ebfdf1468aae5bfe449", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://30e2e913292e86a9bce50d51882b23ef57ae4c811003ec96cf39b1781f68b202", | |
"dweb:/ipfs/QmUXqjyiAHbEMJ4zLfaduWYuVwp1HozqVhtChe9VfdpjoV" | |
] | |
}, | |
"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol": { | |
"keccak256": "0x0c34de2f75ee9ab06bf9151824be575885d0a9b460c292476a260578fb5a4e1c", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://2125524ea896700181f25ee543d35a980b9477eaf13fd1878ae24be5dcc3ba75", | |
"dweb:/ipfs/QmXw9DTW1t1UiTZanfESSJ6jm2xVSQpsdsdKnBTYeBnwqh" | |
] | |
}, | |
"@openzeppelin/contracts/access/Ownable.sol": { | |
"keccak256": "0xa1b27b3f44ff825974e5268e8f63ad3b03add5b464880d860fbb8cae043e17f7", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://ad0fb4425453220f15bdb8c4e009052839804bb725797b6d8c02ee2271bc3c23", | |
"dweb:/ipfs/QmPtjdMxzEifPUEUa6cKX1yfTWjaZV6QtdwMdN6bEL9FBM" | |
] | |
}, | |
"@openzeppelin/contracts/utils/Context.sol": { | |
"keccak256": "0x7736c187e6f1358c1ea9350a2a21aa8528dec1c2f43b374a9067465a3a51f5d3", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://4fd625dca17657403af518cc6c8ab5c54c58898cf6e912ca2e1b0f3194ad0405", | |
"dweb:/ipfs/QmQVv7YeeKmaS11bg7YDTeeGDk6i7sV8LMMfohaLM4SiRu" | |
] | |
}, | |
"@openzeppelin/contracts/utils/introspection/IERC165.sol": { | |
"keccak256": "0x6aa521718bf139b44ce56f194f6aea1d590cacef995b5a84703fb1579fa49be9", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://100f8d367b5e94eb9cb991914f1de133cf272654c0708faa893bbc17a5b35b93", | |
"dweb:/ipfs/QmZeBojmgXq821dL1TJKFb58B1FogM9jL3u7hXQ8hTEBKT" | |
] | |
}, | |
"gist-105ae8f09c34406997d217ee4dc0f63a/Button.sol": { | |
"keccak256": "0x0eb55651ce57628877e668174a98b51f955128c25378978a7be2ed5a48f3e3d5", | |
"license": "LGPL-3.0-only", | |
"urls": [ | |
"bzz-raw://c254fb4c90a9c8cbcb4cc84aa87607a30a114f0507e957419ef1515c92cdd734", | |
"dweb:/ipfs/QmQLeusC3FDkx9ycWfRXfMRF2FXTqbqqQQKqUHLsUuqy9N" | |
] | |
}, | |
"gist-105ae8f09c34406997d217ee4dc0f63a/MyModule.sol": { | |
"keccak256": "0x93c63ba3fd9db94a3140ec4471393a415abd4ab8364db614fdbb288aaaddf30f", | |
"license": "LGPL-3.0-only", | |
"urls": [ | |
"bzz-raw://d5cab131e036d8a4bf8715c17904e390edd8ea525764ebd1263a92c058c2fe46", | |
"dweb:/ipfs/QmVGm7YE1YsmtVc4uxeNehGWcLuVYXFmajNz37QMSuAojq" | |
] | |
} | |
}, | |
"version": 1 | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: LGPL-3.0-only | |
pragma solidity >=0.8.0; | |
contract MockSafe { | |
address public module; | |
error NotAuthorized(address unacceptedAddress); | |
receive() external payable {} | |
function enableModule(address _module) external { | |
module = _module; | |
} | |
function exec( | |
address payable to, | |
uint256 value, | |
bytes calldata data | |
) external { | |
bool success; | |
bytes memory response; | |
(success, response) = to.call{value: value}(data); | |
if (!success) { | |
assembly { | |
revert(add(response, 0x20), mload(response)) | |
} | |
} | |
} | |
function execTransactionFromModule( | |
address payable to, | |
uint256 value, | |
bytes calldata data, | |
uint8 operation | |
) external returns (bool success) { | |
if (msg.sender != module) revert NotAuthorized(msg.sender); | |
if (operation == 1) (success, ) = to.delegatecall(data); | |
else (success, ) = to.call{value: value}(data); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: LGPL-3.0-only | |
pragma solidity ^0.8.6; | |
import "@gnosis.pm/zodiac/contracts/core/Module.sol"; | |
import "./Button.sol"; | |
contract MyModule is Module { | |
/// insert your code here | |
address public button; | |
function pushButton() external { | |
exec( | |
button, | |
0, | |
abi.encodePacked(bytes4(keccak256("pushButton()"))), | |
Enum.Operation.Call | |
); | |
} | |
constructor(address _owner, address _button) { | |
bytes memory initializeParams = abi.encode(_owner, _button); | |
setUp(initializeParams); | |
} | |
/// @dev Initialize function, will be triggered when a new proxy is deployed | |
/// @param initializeParams Parameters of initialization encoded | |
function setUp(bytes memory initializeParams) public override { | |
__Ownable_init(); | |
(address _owner, address _button) = abi.decode(initializeParams, (address, address)); | |
button = _button; | |
setAvatar(_owner); | |
setTarget(_owner); | |
transferOwnership(_owner); | |
} | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment