More Info
Private Name Tags
ContractCreator
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
RadarRewarder
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-12-15 */ // File @boringcrypto/boring-solidity/contracts/interfaces/[email protected] // SPDX-License-Identifier: MIT pragma solidity 0.6.12; interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); // EIP 2612 function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) external; } // File @boringcrypto/boring-solidity/contracts/libraries/[email protected] pragma solidity 0.6.12; library BoringERC20 { function safeSymbol(IERC20 token) internal view returns(string memory) { (bool success, bytes memory data) = address(token).staticcall(abi.encodeWithSelector(0x95d89b41)); return success && data.length > 0 ? abi.decode(data, (string)) : "???"; } function safeName(IERC20 token) internal view returns(string memory) { (bool success, bytes memory data) = address(token).staticcall(abi.encodeWithSelector(0x06fdde03)); return success && data.length > 0 ? abi.decode(data, (string)) : "???"; } function safeDecimals(IERC20 token) internal view returns (uint8) { (bool success, bytes memory data) = address(token).staticcall(abi.encodeWithSelector(0x313ce567)); return success && data.length == 32 ? abi.decode(data, (uint8)) : 18; } function safeTransfer(IERC20 token, address to, uint256 amount) internal { (bool success, bytes memory data) = address(token).call(abi.encodeWithSelector(0xa9059cbb, to, amount)); require(success && (data.length == 0 || abi.decode(data, (bool))), "BoringERC20: Transfer failed"); } function safeTransferFrom(IERC20 token, address from, address to, uint256 amount) internal { (bool success, bytes memory data) = address(token).call(abi.encodeWithSelector(0x23b872dd, from, to, amount)); require(success && (data.length == 0 || abi.decode(data, (bool))), "BoringERC20: TransferFrom failed"); } } // File contracts/interfaces/IRewarder.sol pragma solidity 0.6.12; interface IRewarder { using BoringERC20 for IERC20; function onSushiReward(uint256 pid, address user, address recipient, uint256 sushiAmount, uint256 newLpAmount) external; function pendingTokens(uint256 pid, address user, uint256 sushiAmount) external view returns (IERC20[] memory, uint256[] memory); } // File @boringcrypto/boring-solidity/contracts/libraries/[email protected] pragma solidity 0.6.12; // a library for performing overflow-safe math, updated with awesomeness from of DappHub (https://github.com/dapphub/ds-math) library BoringMath { function add(uint256 a, uint256 b) internal pure returns (uint256 c) {require((c = a + b) >= b, "BoringMath: Add Overflow");} function sub(uint256 a, uint256 b) internal pure returns (uint256 c) {require((c = a - b) <= a, "BoringMath: Underflow");} function mul(uint256 a, uint256 b) internal pure returns (uint256 c) {require(b == 0 || (c = a * b)/b == a, "BoringMath: Mul Overflow");} function to128(uint256 a) internal pure returns (uint128 c) { require(a <= uint128(-1), "BoringMath: uint128 Overflow"); c = uint128(a); } function to64(uint256 a) internal pure returns (uint64 c) { require(a <= uint64(-1), "BoringMath: uint64 Overflow"); c = uint64(a); } function to32(uint256 a) internal pure returns (uint32 c) { require(a <= uint32(-1), "BoringMath: uint32 Overflow"); c = uint32(a); } } library BoringMath128 { function add(uint128 a, uint128 b) internal pure returns (uint128 c) {require((c = a + b) >= b, "BoringMath: Add Overflow");} function sub(uint128 a, uint128 b) internal pure returns (uint128 c) {require((c = a - b) <= a, "BoringMath: Underflow");} } library BoringMath64 { function add(uint64 a, uint64 b) internal pure returns (uint64 c) {require((c = a + b) >= b, "BoringMath: Add Overflow");} function sub(uint64 a, uint64 b) internal pure returns (uint64 c) {require((c = a - b) <= a, "BoringMath: Underflow");} } library BoringMath32 { function add(uint32 a, uint32 b) internal pure returns (uint32 c) {require((c = a + b) >= b, "BoringMath: Add Overflow");} function sub(uint32 a, uint32 b) internal pure returns (uint32 c) {require((c = a - b) <= a, "BoringMath: Underflow");} } // File @boringcrypto/boring-solidity/contracts/[email protected] // Audit on 5-Jan-2021 by Keno and BoringCrypto // P1 - P3: OK pragma solidity 0.6.12; // Source: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/access/Ownable.sol + Claimable.sol // Edited by BoringCrypto // T1 - T4: OK contract BoringOwnableData { // V1 - V5: OK address public owner; // V1 - V5: OK address public pendingOwner; } // T1 - T4: OK contract BoringOwnable is BoringOwnableData { // E1: OK event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () public { owner = msg.sender; emit OwnershipTransferred(address(0), msg.sender); } // F1 - F9: OK // C1 - C21: OK function transferOwnership(address newOwner, bool direct, bool renounce) public onlyOwner { if (direct) { // Checks require(newOwner != address(0) || renounce, "Ownable: zero address"); // Effects emit OwnershipTransferred(owner, newOwner); owner = newOwner; pendingOwner = address(0); } else { // Effects pendingOwner = newOwner; } } // F1 - F9: OK // C1 - C21: OK function claimOwnership() public { address _pendingOwner = pendingOwner; // Checks require(msg.sender == _pendingOwner, "Ownable: caller != pending owner"); // Effects emit OwnershipTransferred(owner, _pendingOwner); owner = _pendingOwner; pendingOwner = address(0); } // M1 - M5: OK // C1 - C21: OK modifier onlyOwner() { require(msg.sender == owner, "Ownable: caller is not the owner"); _; } } // File contracts/mocks/CloneRewarderTime.sol pragma solidity 0.6.12; pragma experimental ABIEncoderV2; interface IMasterChefV2 { function lpToken(uint256 pid) external view returns (IERC20 _lpToken); } /// @author @0xKeno contract RadarRewarder is IRewarder, BoringOwnable{ using BoringMath for uint256; using BoringMath128 for uint128; using BoringERC20 for IERC20; IERC20 public rewardToken; /// @notice Info of each Rewarder user. /// `amount` LP token amount the user has provided. /// `rewardDebt` The amount of Reward Token entitled to the user. struct UserInfo { uint256 amount; uint256 rewardDebt; uint256 unpaidRewards; } /// @notice Info of the rewarder pool struct PoolInfo { uint128 accToken1PerShare; uint64 lastRewardTime; } /// @notice Mapping to track the rewarder pool. mapping (uint256 => PoolInfo) public poolInfo; /// @notice Info of each user that stakes LP tokens. mapping (uint256 => mapping (address => UserInfo)) public userInfo; uint256 public rewardPerSecond; IERC20 public masterLpToken; uint256 private constant ACC_TOKEN_PRECISION = 1e12; address public immutable MASTERCHEF_V2; uint256 internal unlocked; modifier lock() { require(unlocked == 1, "LOCKED"); unlocked = 2; _; unlocked = 1; } event LogOnReward(address indexed user, uint256 indexed pid, uint256 amount, address indexed to); event LogUpdatePool(uint256 indexed pid, uint64 lastRewardTime, uint256 lpSupply, uint256 accToken1PerShare); event LogRewardPerSecond(uint256 rewardPerSecond); event LogInit(IERC20 indexed rewardToken, address owner, uint256 rewardPerSecond, IERC20 indexed masterLpToken); constructor (address _MASTERCHEF_V2) public { MASTERCHEF_V2 = _MASTERCHEF_V2; } /// @notice Serves as the constructor for clones, as clones can't have a regular constructor /// @dev `data` is abi encoded in the format: (IERC20 collateral, IERC20 asset, IOracle oracle, bytes oracleData) function init(bytes calldata data) public payable { require(rewardToken == IERC20(0), "Rewarder: already initialized"); (rewardToken, owner, rewardPerSecond, masterLpToken) = abi.decode(data, (IERC20, address, uint256, IERC20)); require(rewardToken != IERC20(0), "Rewarder: bad token"); unlocked = 1; emit LogInit(rewardToken, owner, rewardPerSecond, masterLpToken); } function onSushiReward (uint256 pid, address _user, address to, uint256, uint256 lpTokenAmount) onlyMCV2 lock override external { require(IMasterChefV2(MASTERCHEF_V2).lpToken(pid) == masterLpToken); PoolInfo memory pool = updatePool(pid); UserInfo storage user = userInfo[pid][_user]; uint256 pending; if (user.amount > 0) { pending = (user.amount.mul(pool.accToken1PerShare) / ACC_TOKEN_PRECISION).sub( user.rewardDebt ).add(user.unpaidRewards); uint256 balance = rewardToken.balanceOf(address(this)); if (pending > balance) { rewardToken.safeTransfer(to, balance); user.unpaidRewards = pending - balance; } else { rewardToken.safeTransfer(to, pending); user.unpaidRewards = 0; } } user.amount = lpTokenAmount; user.rewardDebt = lpTokenAmount.mul(pool.accToken1PerShare) / ACC_TOKEN_PRECISION; emit LogOnReward(_user, pid, pending - user.unpaidRewards, to); } function pendingTokens(uint256 pid, address user, uint256) override external view returns (IERC20[] memory rewardTokens, uint256[] memory rewardAmounts) { IERC20[] memory _rewardTokens = new IERC20[](1); _rewardTokens[0] = (rewardToken); uint256[] memory _rewardAmounts = new uint256[](1); _rewardAmounts[0] = pendingToken(pid, user); return (_rewardTokens, _rewardAmounts); } function rewardRates() external view returns (uint256[] memory) { uint256[] memory _rewardRates = new uint256[](1); _rewardRates[0] = rewardPerSecond; return (_rewardRates); } /// @notice Sets the sushi per second to be distributed. Can only be called by the owner. /// @param _rewardPerSecond The amount of Sushi to be distributed per second. function setRewardPerSecond(uint256 _rewardPerSecond) public onlyOwner { rewardPerSecond = _rewardPerSecond; emit LogRewardPerSecond(_rewardPerSecond); } /// @notice Allows owner to reclaim/withdraw any tokens (including reward tokens) held by this contract /// @param token Token to reclaim, use 0x00 for Ethereum /// @param amount Amount of tokens to reclaim /// @param to Receiver of the tokens, first of his name, rightful heir to the lost tokens, /// reightful owner of the extra tokens, and ether, protector of mistaken transfers, mother of token reclaimers, /// the Khaleesi of the Great Token Sea, the Unburnt, the Breaker of blockchains. function reclaimTokens(address token, uint256 amount, address payable to) public onlyOwner { if (token == address(0)) { to.transfer(amount); } else { IERC20(token).safeTransfer(to, amount); } } modifier onlyMCV2 { require( msg.sender == MASTERCHEF_V2, "Only MCV2 can call this function." ); _; } /// @notice View function to see pending Token /// @param _pid The index of the pool. See `poolInfo`. /// @param _user Address of user. /// @return pending SUSHI reward for a given user. function pendingToken(uint256 _pid, address _user) public view returns (uint256 pending) { PoolInfo memory pool = poolInfo[_pid]; UserInfo storage user = userInfo[_pid][_user]; uint256 accToken1PerShare = pool.accToken1PerShare; uint256 lpSupply = IMasterChefV2(MASTERCHEF_V2).lpToken(_pid).balanceOf(MASTERCHEF_V2); if (block.timestamp > pool.lastRewardTime && lpSupply != 0) { uint256 time = block.timestamp.sub(pool.lastRewardTime); uint256 sushiReward = time.mul(rewardPerSecond); accToken1PerShare = accToken1PerShare.add(sushiReward.mul(ACC_TOKEN_PRECISION) / lpSupply); } pending = (user.amount.mul(accToken1PerShare) / ACC_TOKEN_PRECISION).sub(user.rewardDebt).add(user.unpaidRewards); } /// @notice Update reward variables of the given pool. /// @param pid The index of the pool. See `poolInfo`. /// @return pool Returns the pool that was updated. function updatePool(uint256 pid) public returns (PoolInfo memory pool) { pool = poolInfo[pid]; if (block.timestamp > pool.lastRewardTime) { uint256 lpSupply = IMasterChefV2(MASTERCHEF_V2).lpToken(pid).balanceOf(MASTERCHEF_V2); if (lpSupply > 0) { uint256 time = block.timestamp.sub(pool.lastRewardTime); uint256 sushiReward = time.mul(rewardPerSecond); pool.accToken1PerShare = pool.accToken1PerShare.add((sushiReward.mul(ACC_TOKEN_PRECISION) / lpSupply).to128()); } pool.lastRewardTime = block.timestamp.to64(); poolInfo[pid] = pool; emit LogUpdatePool(pid, pool.lastRewardTime, lpSupply, pool.accToken1PerShare); } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_MASTERCHEF_V2","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"contract IERC20","name":"rewardToken","type":"address"},{"indexed":false,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"rewardPerSecond","type":"uint256"},{"indexed":true,"internalType":"contract IERC20","name":"masterLpToken","type":"address"}],"name":"LogInit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"uint256","name":"pid","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"LogOnReward","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"rewardPerSecond","type":"uint256"}],"name":"LogRewardPerSecond","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"pid","type":"uint256"},{"indexed":false,"internalType":"uint64","name":"lastRewardTime","type":"uint64"},{"indexed":false,"internalType":"uint256","name":"lpSupply","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"accToken1PerShare","type":"uint256"}],"name":"LogUpdatePool","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"},{"inputs":[],"name":"MASTERCHEF_V2","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"name":"init","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"masterLpToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"pid","type":"uint256"},{"internalType":"address","name":"_user","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"lpTokenAmount","type":"uint256"}],"name":"onSushiReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_pid","type":"uint256"},{"internalType":"address","name":"_user","type":"address"}],"name":"pendingToken","outputs":[{"internalType":"uint256","name":"pending","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"pid","type":"uint256"},{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"pendingTokens","outputs":[{"internalType":"contract IERC20[]","name":"rewardTokens","type":"address[]"},{"internalType":"uint256[]","name":"rewardAmounts","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"poolInfo","outputs":[{"internalType":"uint128","name":"accToken1PerShare","type":"uint128"},{"internalType":"uint64","name":"lastRewardTime","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address payable","name":"to","type":"address"}],"name":"reclaimTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rewardPerSecond","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardRates","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_rewardPerSecond","type":"uint256"}],"name":"setRewardPerSecond","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"},{"internalType":"bool","name":"direct","type":"bool"},{"internalType":"bool","name":"renounce","type":"bool"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"pid","type":"uint256"}],"name":"updatePool","outputs":[{"components":[{"internalType":"uint128","name":"accToken1PerShare","type":"uint128"},{"internalType":"uint64","name":"lastRewardTime","type":"uint64"}],"internalType":"struct RadarRewarder.PoolInfo","name":"pool","type":"tuple"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"name":"userInfo","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"rewardDebt","type":"uint256"},{"internalType":"uint256","name":"unpaidRewards","type":"uint256"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
60a060405234801561001057600080fd5b50604051611aa9380380611aa983398101604081905261002f91610083565b600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360601b6001600160601b0319166080526100b1565b600060208284031215610094578081fd5b81516001600160a01b03811681146100aa578182fd5b9392505050565b60805160601c6119bd6100ec600039806104f0528061058552806108d152806109665280610b2f5280610bc65280610c4852506119bd6000f3fe6080604052600436106101095760003560e01c80638da5cb5b11610095578063a88a5c1611610064578063a88a5c16146102b9578063c1ea3868146102db578063d63b3c49146102fb578063e30c397814610329578063f7c618c11461033e57610109565b80638da5cb5b1461024b5780638f10369a1461026057806393f1a40b14610275578063a8594dab146102a457610109565b80634e71e0c8116100dc5780634e71e0c8146101a757806351eb05a6146101bc5780635a894421146101e957806366da58151461020b5780638bf637421461022b57610109565b8063078dfbe71461010e5780631526fe271461013057806348e43af4146101675780634ddf47d414610194575b600080fd5b34801561011a57600080fd5b5061012e6101293660046112b2565b610353565b005b34801561013c57600080fd5b5061015061014b366004611430565b610442565b60405161015e9291906118f4565b60405180910390f35b34801561017357600080fd5b50610187610182366004611460565b610470565b60405161015e9190611917565b61012e6101a2366004611355565b6106e5565b3480156101b357600080fd5b5061012e6107dc565b3480156101c857600080fd5b506101dc6101d7366004611430565b610869565b60405161015e91906118ca565b3480156101f557600080fd5b506101fe610b2d565b60405161015e919061158a565b34801561021757600080fd5b5061012e610226366004611430565b610b51565b34801561023757600080fd5b5061012e61024636600461148f565b610bbb565b34801561025757600080fd5b506101fe610ebe565b34801561026c57600080fd5b50610187610ecd565b34801561028157600080fd5b50610295610290366004611460565b610ed3565b60405161015e93929190611920565b3480156102b057600080fd5b506101fe610eff565b3480156102c557600080fd5b506102ce610f0e565b60405161015e9190611617565b3480156102e757600080fd5b5061012e6102f63660046112fc565b610f53565b34801561030757600080fd5b5061031b6103163660046114e0565b610fdb565b60405161015e9291906115b7565b34801561033557600080fd5b506101fe611086565b34801561034a57600080fd5b506101fe611095565b6000546001600160a01b031633146103865760405162461bcd60e51b815260040161037d9061176e565b60405180910390fd5b8115610421576001600160a01b0383161515806103a05750805b6103bc5760405162461bcd60e51b815260040161037d906116d1565b600080546040516001600160a01b03808716939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0385166001600160a01b03199182161790915560018054909116905561043d565b600180546001600160a01b0319166001600160a01b0385161790555b505050565b6003602052600090815260409020546001600160801b03811690600160801b900467ffffffffffffffff1682565b600061047a61129b565b5060008381526003602090815260408083208151808301835290546001600160801b038082168352600160801b90910467ffffffffffffffff168285015287855260048085528386206001600160a01b0389811688529552838620835194516378ed5d1f60e01b815293969095949092169391927f0000000000000000000000000000000000000000000000000000000000000000909216916378ed5d1f91610525918b9101611917565b60206040518083038186803b15801561053d57600080fd5b505afa158015610551573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057591906113c2565b6001600160a01b03166370a082317f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b81526004016105c0919061158a565b60206040518083038186803b1580156105d857600080fd5b505afa1580156105ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106109190611448565b9050836020015167ffffffffffffffff164211801561062e57508015155b15610699576000610656856020015167ffffffffffffffff16426110a490919063ffffffff16565b9050600061066f600554836110cd90919063ffffffff16565b9050610694836106848364e8d4a510006110cd565b8161068b57fe5b86919004611104565b935050505b6106da83600201546106d4856001015464e8d4a510006106c68789600001546110cd90919063ffffffff16565b816106cd57fe5b04906110a4565b90611104565b979650505050505050565b6002546001600160a01b03161561070e5760405162461bcd60e51b815260040161037d90611866565b61071a818301836113de565b600680546001600160a01b03199081166001600160a01b0393841617909155600592909255600080548316938216939093179092556002805490911692821692909217918290551661077e5760405162461bcd60e51b815260040161037d9061189d565b60016007556006546002546000546005546040516001600160a01b0394851694938416937f4df6005d9c1e62d1d95592850d1c3256ee902631dd819a342f1756ab83489439936107d09391169161159e565b60405180910390a35050565b6001546001600160a01b03163381146108075760405162461bcd60e51b815260040161037d906117a3565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b61087161129b565b506000818152600360209081526040918290208251808401909352546001600160801b0381168352600160801b900467ffffffffffffffff16908201819052421115610b28576040516378ed5d1f60e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906378ed5d1f90610906908690600401611917565b60206040518083038186803b15801561091e57600080fd5b505afa158015610932573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095691906113c2565b6001600160a01b03166370a082317f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b81526004016109a1919061158a565b60206040518083038186803b1580156109b957600080fd5b505afa1580156109cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f19190611448565b90508015610a79576000610a1c836020015167ffffffffffffffff16426110a490919063ffffffff16565b90506000610a35600554836110cd90919063ffffffff16565b9050610a6b610a5a84610a4d8464e8d4a510006110cd565b81610a5457fe5b04611127565b85516001600160801b031690611154565b6001600160801b0316845250505b610a8242611183565b67ffffffffffffffff9081166020848101918252600086815260039091526040908190208551815493516fffffffffffffffffffffffffffffffff199094166001600160801b0382161767ffffffffffffffff60801b1916600160801b958516959095029490941790555185927f0fc9545022a542541ad085d091fb09a2ab36fee366a4576ab63714ea907ad35392610b1e9290918691611936565b60405180910390a2505b919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000546001600160a01b03163314610b7b5760405162461bcd60e51b815260040161037d9061176e565b60058190556040517fde89cb17ac7f58f94792b3e91e086ed85403819c24ceea882491f960ccb1a27890610bb0908390611917565b60405180910390a150565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c035760405162461bcd60e51b815260040161037d90611690565b600754600114610c255760405162461bcd60e51b815260040161037d9061180f565b60026007556006546040516378ed5d1f60e01b81526001600160a01b03918216917f000000000000000000000000000000000000000000000000000000000000000016906378ed5d1f90610c7d908990600401611917565b60206040518083038186803b158015610c9557600080fd5b505afa158015610ca9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ccd91906113c2565b6001600160a01b031614610ce057600080fd5b610ce861129b565b610cf186610869565b60008781526004602090815260408083206001600160a01b038a168452909152812080549293509115610e2d57610d5882600201546106d4846001015464e8d4a510006106c688600001516001600160801b031688600001546110cd90919063ffffffff16565b6002546040516370a0823160e01b81529192506000916001600160a01b03909116906370a0823190610d8e90309060040161158a565b60206040518083038186803b158015610da657600080fd5b505afa158015610dba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dde9190611448565b905080821115610e0c57600254610dff906001600160a01b031688836111ad565b8082036002840155610e2b565b600254610e23906001600160a01b031688846111ad565b600060028401555b505b838255825164e8d4a5100090610e4d9086906001600160801b03166110cd565b81610e5457fe5b048260010181905550856001600160a01b031688886001600160a01b03167f2ece88ca2bc08dd018db50e1d25a20bf1241e5fab1c396caa51f01a54bd2f75b85600201548503604051610ea79190611917565b60405180910390a450506001600755505050505050565b6000546001600160a01b031681565b60055481565b600460209081526000928352604080842090915290825290208054600182015460029092015490919083565b6006546001600160a01b031681565b6040805160018082528183019092526060918291906020808301908036833701905050905060055481600081518110610f4357fe5b6020908102919091010152905090565b6000546001600160a01b03163314610f7d5760405162461bcd60e51b815260040161037d9061176e565b6001600160a01b038316610fc7576040516001600160a01b0382169083156108fc029084906000818181858888f19350505050158015610fc1573d6000803e3d6000fd5b5061043d565b61043d6001600160a01b03841682846111ad565b6040805160018082528183019092526060918291829160208083019080368337505060025482519293506001600160a01b03169183915060009061101b57fe5b6001600160a01b0392909216602092830291909101909101526040805160018082528183019092526060918160200160208202803683370190505090506110628787610470565b8160008151811061106f57fe5b602090810291909101015290969095509350505050565b6001546001600160a01b031681565b6002546001600160a01b031681565b808203828111156110c75760405162461bcd60e51b815260040161037d9061162a565b92915050565b60008115806110e8575050808202828282816110e557fe5b04145b6110c75760405162461bcd60e51b815260040161037d9061182f565b818101818110156110c75760405162461bcd60e51b815260040161037d90611737565b60006001600160801b038211156111505760405162461bcd60e51b815260040161037d90611700565b5090565b8181016001600160801b0380831690821610156110c75760405162461bcd60e51b815260040161037d90611737565b600067ffffffffffffffff8211156111505760405162461bcd60e51b815260040161037d906117d8565b60006060846001600160a01b031663a9059cbb85856040516024016111d392919061159e565b6040516020818303038152906040529060e01b6020820180516001600160e01b03838183161783525050505060405161120c9190611551565b6000604051808303816000865af19150503d8060008114611249576040519150601f19603f3d011682016040523d82523d6000602084013e61124e565b606091505b50915091508180156112785750805115806112785750808060200190518101906112789190611332565b6112945760405162461bcd60e51b815260040161037d90611659565b5050505050565b604080518082019091526000808252602082015290565b6000806000606084860312156112c6578283fd5b83356112d181611961565b925060208401356112e181611979565b915060408401356112f181611979565b809150509250925092565b600080600060608486031215611310578283fd5b833561131b81611961565b92506020840135915060408401356112f181611961565b600060208284031215611343578081fd5b815161134e81611979565b9392505050565b60008060208385031215611367578182fd5b823567ffffffffffffffff8082111561137e578384fd5b818501915085601f830112611391578384fd5b81358181111561139f578485fd5b8660208285010111156113b0578485fd5b60209290920196919550909350505050565b6000602082840312156113d3578081fd5b815161134e81611961565b600080600080608085870312156113f3578081fd5b84356113fe81611961565b9350602085013561140e81611961565b925060408501359150606085013561142581611961565b939692955090935050565b600060208284031215611441578081fd5b5035919050565b600060208284031215611459578081fd5b5051919050565b60008060408385031215611472578182fd5b82359150602083013561148481611961565b809150509250929050565b600080600080600060a086880312156114a6578081fd5b8535945060208601356114b881611961565b935060408601356114c881611961565b94979396509394606081013594506080013592915050565b6000806000606084860312156114f4578283fd5b83359250602084013561150681611961565b929592945050506040919091013590565b6000815180845260208085019450808401835b838110156115465781518752958201959082019060010161152a565b509495945050505050565b60008251815b818110156115715760208186018101518583015201611557565b8181111561157f5782828501525b509190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b604080825283519082018190526000906020906060840190828701845b828110156115f95781516001600160a01b0316845292840192908401906001016115d4565b5050508381038285015261160d8186611517565b9695505050505050565b60006020825261134e6020830184611517565b602080825260159082015274426f72696e674d6174683a20556e646572666c6f7760581b604082015260600190565b6020808252601c908201527f426f72696e6745524332303a205472616e73666572206661696c656400000000604082015260600190565b60208082526021908201527f4f6e6c79204d4356322063616e2063616c6c20746869732066756e6374696f6e6040820152601760f91b606082015260800190565b6020808252601590820152744f776e61626c653a207a65726f206164647265737360581b604082015260600190565b6020808252601c908201527f426f72696e674d6174683a2075696e74313238204f766572666c6f7700000000604082015260600190565b60208082526018908201527f426f72696e674d6174683a20416464204f766572666c6f770000000000000000604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e6572604082015260600190565b6020808252601b908201527f426f72696e674d6174683a2075696e743634204f766572666c6f770000000000604082015260600190565b6020808252600690820152651313d0d2d15160d21b604082015260600190565b60208082526018908201527f426f72696e674d6174683a204d756c204f766572666c6f770000000000000000604082015260600190565b6020808252601d908201527f52657761726465723a20616c726561647920696e697469616c697a6564000000604082015260600190565b6020808252601390820152722932bbb0b93232b91d103130b2103a37b5b2b760691b604082015260600190565b81516001600160801b0316815260209182015167ffffffffffffffff169181019190915260400190565b6001600160801b0392909216825267ffffffffffffffff16602082015260400190565b90815260200190565b9283526020830191909152604082015260600190565b67ffffffffffffffff93909316835260208301919091526001600160801b0316604082015260600190565b6001600160a01b038116811461197657600080fd5b50565b801515811461197657600080fdfea2646970667358221220aab18048de309fc627f8669e94dc5a00b0737f0fbcc65fdc531dfebb8af0b0d264736f6c634300060c0033000000000000000000000000ef0881ec094552b2e128cf945ef17a6752b4ec5d
Deployed Bytecode
0x6080604052600436106101095760003560e01c80638da5cb5b11610095578063a88a5c1611610064578063a88a5c16146102b9578063c1ea3868146102db578063d63b3c49146102fb578063e30c397814610329578063f7c618c11461033e57610109565b80638da5cb5b1461024b5780638f10369a1461026057806393f1a40b14610275578063a8594dab146102a457610109565b80634e71e0c8116100dc5780634e71e0c8146101a757806351eb05a6146101bc5780635a894421146101e957806366da58151461020b5780638bf637421461022b57610109565b8063078dfbe71461010e5780631526fe271461013057806348e43af4146101675780634ddf47d414610194575b600080fd5b34801561011a57600080fd5b5061012e6101293660046112b2565b610353565b005b34801561013c57600080fd5b5061015061014b366004611430565b610442565b60405161015e9291906118f4565b60405180910390f35b34801561017357600080fd5b50610187610182366004611460565b610470565b60405161015e9190611917565b61012e6101a2366004611355565b6106e5565b3480156101b357600080fd5b5061012e6107dc565b3480156101c857600080fd5b506101dc6101d7366004611430565b610869565b60405161015e91906118ca565b3480156101f557600080fd5b506101fe610b2d565b60405161015e919061158a565b34801561021757600080fd5b5061012e610226366004611430565b610b51565b34801561023757600080fd5b5061012e61024636600461148f565b610bbb565b34801561025757600080fd5b506101fe610ebe565b34801561026c57600080fd5b50610187610ecd565b34801561028157600080fd5b50610295610290366004611460565b610ed3565b60405161015e93929190611920565b3480156102b057600080fd5b506101fe610eff565b3480156102c557600080fd5b506102ce610f0e565b60405161015e9190611617565b3480156102e757600080fd5b5061012e6102f63660046112fc565b610f53565b34801561030757600080fd5b5061031b6103163660046114e0565b610fdb565b60405161015e9291906115b7565b34801561033557600080fd5b506101fe611086565b34801561034a57600080fd5b506101fe611095565b6000546001600160a01b031633146103865760405162461bcd60e51b815260040161037d9061176e565b60405180910390fd5b8115610421576001600160a01b0383161515806103a05750805b6103bc5760405162461bcd60e51b815260040161037d906116d1565b600080546040516001600160a01b03808716939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0385166001600160a01b03199182161790915560018054909116905561043d565b600180546001600160a01b0319166001600160a01b0385161790555b505050565b6003602052600090815260409020546001600160801b03811690600160801b900467ffffffffffffffff1682565b600061047a61129b565b5060008381526003602090815260408083208151808301835290546001600160801b038082168352600160801b90910467ffffffffffffffff168285015287855260048085528386206001600160a01b0389811688529552838620835194516378ed5d1f60e01b815293969095949092169391927f000000000000000000000000ef0881ec094552b2e128cf945ef17a6752b4ec5d909216916378ed5d1f91610525918b9101611917565b60206040518083038186803b15801561053d57600080fd5b505afa158015610551573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057591906113c2565b6001600160a01b03166370a082317f000000000000000000000000ef0881ec094552b2e128cf945ef17a6752b4ec5d6040518263ffffffff1660e01b81526004016105c0919061158a565b60206040518083038186803b1580156105d857600080fd5b505afa1580156105ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106109190611448565b9050836020015167ffffffffffffffff164211801561062e57508015155b15610699576000610656856020015167ffffffffffffffff16426110a490919063ffffffff16565b9050600061066f600554836110cd90919063ffffffff16565b9050610694836106848364e8d4a510006110cd565b8161068b57fe5b86919004611104565b935050505b6106da83600201546106d4856001015464e8d4a510006106c68789600001546110cd90919063ffffffff16565b816106cd57fe5b04906110a4565b90611104565b979650505050505050565b6002546001600160a01b03161561070e5760405162461bcd60e51b815260040161037d90611866565b61071a818301836113de565b600680546001600160a01b03199081166001600160a01b0393841617909155600592909255600080548316938216939093179092556002805490911692821692909217918290551661077e5760405162461bcd60e51b815260040161037d9061189d565b60016007556006546002546000546005546040516001600160a01b0394851694938416937f4df6005d9c1e62d1d95592850d1c3256ee902631dd819a342f1756ab83489439936107d09391169161159e565b60405180910390a35050565b6001546001600160a01b03163381146108075760405162461bcd60e51b815260040161037d906117a3565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b61087161129b565b506000818152600360209081526040918290208251808401909352546001600160801b0381168352600160801b900467ffffffffffffffff16908201819052421115610b28576040516378ed5d1f60e01b81526000906001600160a01b037f000000000000000000000000ef0881ec094552b2e128cf945ef17a6752b4ec5d16906378ed5d1f90610906908690600401611917565b60206040518083038186803b15801561091e57600080fd5b505afa158015610932573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095691906113c2565b6001600160a01b03166370a082317f000000000000000000000000ef0881ec094552b2e128cf945ef17a6752b4ec5d6040518263ffffffff1660e01b81526004016109a1919061158a565b60206040518083038186803b1580156109b957600080fd5b505afa1580156109cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f19190611448565b90508015610a79576000610a1c836020015167ffffffffffffffff16426110a490919063ffffffff16565b90506000610a35600554836110cd90919063ffffffff16565b9050610a6b610a5a84610a4d8464e8d4a510006110cd565b81610a5457fe5b04611127565b85516001600160801b031690611154565b6001600160801b0316845250505b610a8242611183565b67ffffffffffffffff9081166020848101918252600086815260039091526040908190208551815493516fffffffffffffffffffffffffffffffff199094166001600160801b0382161767ffffffffffffffff60801b1916600160801b958516959095029490941790555185927f0fc9545022a542541ad085d091fb09a2ab36fee366a4576ab63714ea907ad35392610b1e9290918691611936565b60405180910390a2505b919050565b7f000000000000000000000000ef0881ec094552b2e128cf945ef17a6752b4ec5d81565b6000546001600160a01b03163314610b7b5760405162461bcd60e51b815260040161037d9061176e565b60058190556040517fde89cb17ac7f58f94792b3e91e086ed85403819c24ceea882491f960ccb1a27890610bb0908390611917565b60405180910390a150565b336001600160a01b037f000000000000000000000000ef0881ec094552b2e128cf945ef17a6752b4ec5d1614610c035760405162461bcd60e51b815260040161037d90611690565b600754600114610c255760405162461bcd60e51b815260040161037d9061180f565b60026007556006546040516378ed5d1f60e01b81526001600160a01b03918216917f000000000000000000000000ef0881ec094552b2e128cf945ef17a6752b4ec5d16906378ed5d1f90610c7d908990600401611917565b60206040518083038186803b158015610c9557600080fd5b505afa158015610ca9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ccd91906113c2565b6001600160a01b031614610ce057600080fd5b610ce861129b565b610cf186610869565b60008781526004602090815260408083206001600160a01b038a168452909152812080549293509115610e2d57610d5882600201546106d4846001015464e8d4a510006106c688600001516001600160801b031688600001546110cd90919063ffffffff16565b6002546040516370a0823160e01b81529192506000916001600160a01b03909116906370a0823190610d8e90309060040161158a565b60206040518083038186803b158015610da657600080fd5b505afa158015610dba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dde9190611448565b905080821115610e0c57600254610dff906001600160a01b031688836111ad565b8082036002840155610e2b565b600254610e23906001600160a01b031688846111ad565b600060028401555b505b838255825164e8d4a5100090610e4d9086906001600160801b03166110cd565b81610e5457fe5b048260010181905550856001600160a01b031688886001600160a01b03167f2ece88ca2bc08dd018db50e1d25a20bf1241e5fab1c396caa51f01a54bd2f75b85600201548503604051610ea79190611917565b60405180910390a450506001600755505050505050565b6000546001600160a01b031681565b60055481565b600460209081526000928352604080842090915290825290208054600182015460029092015490919083565b6006546001600160a01b031681565b6040805160018082528183019092526060918291906020808301908036833701905050905060055481600081518110610f4357fe5b6020908102919091010152905090565b6000546001600160a01b03163314610f7d5760405162461bcd60e51b815260040161037d9061176e565b6001600160a01b038316610fc7576040516001600160a01b0382169083156108fc029084906000818181858888f19350505050158015610fc1573d6000803e3d6000fd5b5061043d565b61043d6001600160a01b03841682846111ad565b6040805160018082528183019092526060918291829160208083019080368337505060025482519293506001600160a01b03169183915060009061101b57fe5b6001600160a01b0392909216602092830291909101909101526040805160018082528183019092526060918160200160208202803683370190505090506110628787610470565b8160008151811061106f57fe5b602090810291909101015290969095509350505050565b6001546001600160a01b031681565b6002546001600160a01b031681565b808203828111156110c75760405162461bcd60e51b815260040161037d9061162a565b92915050565b60008115806110e8575050808202828282816110e557fe5b04145b6110c75760405162461bcd60e51b815260040161037d9061182f565b818101818110156110c75760405162461bcd60e51b815260040161037d90611737565b60006001600160801b038211156111505760405162461bcd60e51b815260040161037d90611700565b5090565b8181016001600160801b0380831690821610156110c75760405162461bcd60e51b815260040161037d90611737565b600067ffffffffffffffff8211156111505760405162461bcd60e51b815260040161037d906117d8565b60006060846001600160a01b031663a9059cbb85856040516024016111d392919061159e565b6040516020818303038152906040529060e01b6020820180516001600160e01b03838183161783525050505060405161120c9190611551565b6000604051808303816000865af19150503d8060008114611249576040519150601f19603f3d011682016040523d82523d6000602084013e61124e565b606091505b50915091508180156112785750805115806112785750808060200190518101906112789190611332565b6112945760405162461bcd60e51b815260040161037d90611659565b5050505050565b604080518082019091526000808252602082015290565b6000806000606084860312156112c6578283fd5b83356112d181611961565b925060208401356112e181611979565b915060408401356112f181611979565b809150509250925092565b600080600060608486031215611310578283fd5b833561131b81611961565b92506020840135915060408401356112f181611961565b600060208284031215611343578081fd5b815161134e81611979565b9392505050565b60008060208385031215611367578182fd5b823567ffffffffffffffff8082111561137e578384fd5b818501915085601f830112611391578384fd5b81358181111561139f578485fd5b8660208285010111156113b0578485fd5b60209290920196919550909350505050565b6000602082840312156113d3578081fd5b815161134e81611961565b600080600080608085870312156113f3578081fd5b84356113fe81611961565b9350602085013561140e81611961565b925060408501359150606085013561142581611961565b939692955090935050565b600060208284031215611441578081fd5b5035919050565b600060208284031215611459578081fd5b5051919050565b60008060408385031215611472578182fd5b82359150602083013561148481611961565b809150509250929050565b600080600080600060a086880312156114a6578081fd5b8535945060208601356114b881611961565b935060408601356114c881611961565b94979396509394606081013594506080013592915050565b6000806000606084860312156114f4578283fd5b83359250602084013561150681611961565b929592945050506040919091013590565b6000815180845260208085019450808401835b838110156115465781518752958201959082019060010161152a565b509495945050505050565b60008251815b818110156115715760208186018101518583015201611557565b8181111561157f5782828501525b509190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b604080825283519082018190526000906020906060840190828701845b828110156115f95781516001600160a01b0316845292840192908401906001016115d4565b5050508381038285015261160d8186611517565b9695505050505050565b60006020825261134e6020830184611517565b602080825260159082015274426f72696e674d6174683a20556e646572666c6f7760581b604082015260600190565b6020808252601c908201527f426f72696e6745524332303a205472616e73666572206661696c656400000000604082015260600190565b60208082526021908201527f4f6e6c79204d4356322063616e2063616c6c20746869732066756e6374696f6e6040820152601760f91b606082015260800190565b6020808252601590820152744f776e61626c653a207a65726f206164647265737360581b604082015260600190565b6020808252601c908201527f426f72696e674d6174683a2075696e74313238204f766572666c6f7700000000604082015260600190565b60208082526018908201527f426f72696e674d6174683a20416464204f766572666c6f770000000000000000604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e6572604082015260600190565b6020808252601b908201527f426f72696e674d6174683a2075696e743634204f766572666c6f770000000000604082015260600190565b6020808252600690820152651313d0d2d15160d21b604082015260600190565b60208082526018908201527f426f72696e674d6174683a204d756c204f766572666c6f770000000000000000604082015260600190565b6020808252601d908201527f52657761726465723a20616c726561647920696e697469616c697a6564000000604082015260600190565b6020808252601390820152722932bbb0b93232b91d103130b2103a37b5b2b760691b604082015260600190565b81516001600160801b0316815260209182015167ffffffffffffffff169181019190915260400190565b6001600160801b0392909216825267ffffffffffffffff16602082015260400190565b90815260200190565b9283526020830191909152604082015260600190565b67ffffffffffffffff93909316835260208301919091526001600160801b0316604082015260600190565b6001600160a01b038116811461197657600080fd5b50565b801515811461197657600080fdfea2646970667358221220aab18048de309fc627f8669e94dc5a00b0737f0fbcc65fdc531dfebb8af0b0d264736f6c634300060c0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000ef0881ec094552b2e128cf945ef17a6752b4ec5d
-----Decoded View---------------
Arg [0] : _MASTERCHEF_V2 (address): 0xEF0881eC094552b2e128Cf945EF17a6752B4Ec5d
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000ef0881ec094552b2e128cf945ef17a6752b4ec5d
Deployed Bytecode Sourcemap
6900:7440:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5611:472;;;;;;;;;;-1:-1:-1;5611:472:0;;;;;:::i;:::-;;:::i;:::-;;7589:45;;;;;;;;;;-1:-1:-1;7589:45:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;12570:802;;;;;;;;;;-1:-1:-1;12570:802:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;8833:418::-;;;;;;:::i;:::-;;:::i;6132:348::-;;;;;;;;;;;;;:::i;13556:781::-;;;;;;;;;;-1:-1:-1;13556:781:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;7909:38::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;11230:176::-;;;;;;;;;;-1:-1:-1;11230:176:0;;;;;:::i;:::-;;:::i;9259:1136::-;;;;;;;;;;-1:-1:-1;9259:1136:0;;;;;:::i;:::-;;:::i;5187:20::-;;;;;;;;;;;;;:::i;7778:30::-;;;;;;;;;;;;;:::i;7703:66::-;;;;;;;;;;-1:-1:-1;7703:66:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;7815:27::-;;;;;;;;;;;;;:::i;10837:207::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;11937:251::-;;;;;;;;;;-1:-1:-1;11937:251:0;;;;;:::i;:::-;;:::i;10403:426::-;;;;;;;;;;-1:-1:-1;10403:426:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;5234:27::-;;;;;;;;;;;;;:::i;7068:25::-;;;;;;;;;;;;;:::i;5611:472::-;6583:5;;-1:-1:-1;;;;;6583:5:0;6569:10;:19;6561:64;;;;-1:-1:-1;;;6561:64:0;;;;;;;:::i;:::-;;;;;;;;;5716:6:::1;5712:364;;;-1:-1:-1::0;;;;;5770:22:0;::::1;::::0;::::1;::::0;:34:::1;;;5796:8;5770:34;5762:68;;;;-1:-1:-1::0;;;5762:68:0::1;;;;;;;:::i;:::-;5897:5;::::0;;5876:37:::1;::::0;-1:-1:-1;;;;;5876:37:0;;::::1;::::0;5897:5;::::1;::::0;5876:37:::1;::::0;::::1;5928:5;:16:::0;;-1:-1:-1;;;;;5928:16:0;::::1;-1:-1:-1::0;;;;;;5928:16:0;;::::1;;::::0;;;;5959:25;;;;::::1;::::0;;5712:364:::1;;;6041:12;:23:::0;;-1:-1:-1;;;;;;6041:23:0::1;-1:-1:-1::0;;;;;6041:23:0;::::1;;::::0;;5712:364:::1;5611:472:::0;;;:::o;7589:45::-;;;;;;;;;;;;-1:-1:-1;;;;;7589:45:0;;;-1:-1:-1;;;7589:45:0;;;;;:::o;12570:802::-;12642:15;12670:20;;:::i;:::-;-1:-1:-1;12693:14:0;;;;:8;:14;;;;;;;;12670:37;;;;;;;;;-1:-1:-1;;;;;12670:37:0;;;;;-1:-1:-1;;;12670:37:0;;;;;;;;;12742:14;;;:8;:14;;;;;;-1:-1:-1;;;;;12742:21:0;;;;;;;;;;12802:22;;12854:42;;-1:-1:-1;;;12854:42:0;;12670:37;;12742:21;;12774:50;;;;;12693:14;;12868:13;12854:36;;;;;;:42;;12693:14;;12854:42;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;12854:52:0;;12907:13;12854:67;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12835:86;;12954:4;:19;;;12936:37;;:15;:37;:54;;;;-1:-1:-1;12977:13:0;;;12936:54;12932:309;;;13007:12;13022:40;13042:4;:19;;;13022:40;;:15;:19;;:40;;;;:::i;:::-;13007:55;;13077:19;13099:25;13108:15;;13099:4;:8;;:25;;;;:::i;:::-;13077:47;-1:-1:-1;13159:70:0;13220:8;13181:36;13077:47;7896:4;13181:15;:36::i;:::-;:47;;;;;13159:17;;13181:47;;13159:21;:70::i;:::-;13139:90;;12932:309;;;13261:103;13345:4;:18;;;13261:79;13324:4;:15;;;7896:4;13262:34;13278:17;13262:4;:11;;;:15;;:34;;;;:::i;:::-;:56;;;;;;;13261:62;:79::i;:::-;:83;;:103::i;:::-;13251:113;12570:802;-1:-1:-1;;;;;;;12570:802:0:o;8833:418::-;8902:11;;-1:-1:-1;;;;;8902:11:0;:24;8894:66;;;;-1:-1:-1;;;8894:66:0;;;;;;;:::i;:::-;9026:52;;;;9037:4;9026:52;:::i;:::-;9009:13;8971:107;;-1:-1:-1;;;;;;8971:107:0;;;-1:-1:-1;;;;;8971:107:0;;;;;;;8992:15;8971:107;;;;-1:-1:-1;8971:107:0;;;;;;;;;;;;;;8972:11;8971:107;;;;;;;;;;;;;;;;9097:11;9089:56;;;;-1:-1:-1;;;9089:56:0;;;;;;;:::i;:::-;9167:1;9156:8;:12;9229:13;;9192:11;;9229:13;9205:5;9212:15;;9184:59;;-1:-1:-1;;;;;9229:13:0;;;;9192:11;;;;9184:59;;;;9205:5;;;9184:59;:::i;:::-;;;;;;;;8833:418;;:::o;6132:348::-;6200:12;;-1:-1:-1;;;;;6200:12:0;6260:10;:27;;6252:72;;;;-1:-1:-1;;;6252:72:0;;;;;;;:::i;:::-;6383:5;;;6362:42;;-1:-1:-1;;;;;6362:42:0;;;;6383:5;;;6362:42;;;6415:5;:21;;-1:-1:-1;;;;;6415:21:0;;;-1:-1:-1;;;;;;6415:21:0;;;;;;;6447:25;;;;;;;6132:348::o;13556:781::-;13605:20;;:::i;:::-;-1:-1:-1;13645:13:0;;;;:8;:13;;;;;;;;;13638:20;;;;;;;;;-1:-1:-1;;;;;13638:20:0;;;;-1:-1:-1;;;13638:20:0;;;;;;;;;;13673:15;:37;13669:661;;;13746:41;;-1:-1:-1;;;13746:41:0;;13727:16;;-1:-1:-1;;;;;13760:13:0;13746:36;;;;:41;;13783:3;;13746:41;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;13746:51:0;;13798:13;13746:66;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13727:85;-1:-1:-1;13833:12:0;;13829:303;;13866:12;13881:40;13901:4;:19;;;13881:40;;:15;:19;;:40;;;;:::i;:::-;13866:55;;13940:19;13962:25;13971:15;;13962:4;:8;;:25;;;;:::i;:::-;13940:47;-1:-1:-1;14031:85:0;14058:57;14098:8;14059:36;13940:47;7896:4;14059:15;:36::i;:::-;:47;;;;;;14058:55;:57::i;:::-;14031:22;;-1:-1:-1;;;;;14031:26:0;;;:85::i;:::-;-1:-1:-1;;;;;14006:110:0;;;-1:-1:-1;;13829:303:0;14168:22;:15;:20;:22::i;:::-;14146:44;;;;:19;;;;:44;;;14205:13;;;;:8;:13;;;;;;;;:20;;;;;;-1:-1:-1;;14205:20:0;;;-1:-1:-1;;;;;14205:20:0;;;-1:-1:-1;;;;14205:20:0;-1:-1:-1;;;14205:20:0;;;;;;;;;;;;;14245:73;14205:13;;14245:73;;;;14205:20;;14285:8;;14245:73;:::i;:::-;;;;;;;;13669:661;;13556:781;;;:::o;7909:38::-;;;:::o;11230:176::-;6583:5;;-1:-1:-1;;;;;6583:5:0;6569:10;:19;6561:64;;;;-1:-1:-1;;;6561:64:0;;;;;;;:::i;:::-;11312:15:::1;:34:::0;;;11362:36:::1;::::0;::::1;::::0;::::1;::::0;11330:16;;11362:36:::1;:::i;:::-;;;;;;;;11230:176:::0;:::o;9259:1136::-;12247:10;-1:-1:-1;;;;;12261:13:0;12247:27;;12225:110;;;;-1:-1:-1;;;12225:110:0;;;;;;;:::i;:::-;8023:8:::1;;8035:1;8023:13;8015:32;;;;-1:-1:-1::0;;;8015:32:0::1;;;;;;;:::i;:::-;8069:1;8058:8;:12:::0;9451:13:::2;::::0;9406:41:::2;::::0;-1:-1:-1;;;9406:41:0;;-1:-1:-1;;;;;9451:13:0;;::::2;::::0;9420::::2;9406:36;::::0;::::2;::::0;:41:::2;::::0;9443:3;;9406:41:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9406:58:0::2;;9398:67;;;::::0;::::2;;9478:20;;:::i;:::-;9501:15;9512:3;9501:10;:15::i;:::-;9527:21;9551:13:::0;;;:8:::2;:13;::::0;;;;;;;-1:-1:-1;;;;;9551:20:0;::::2;::::0;;;;;;;9612:11;;9478:38;;-1:-1:-1;9551:20:0;9612:15;9608:577:::2;;9671:148;9800:4;:18;;;9671:124;9761:4;:15;;;7896:4;9672:39;9688:4;:22;;;-1:-1:-1::0;;;;;9672:39:0::2;:4;:11;;;:15;;:39;;;;:::i;9671:148::-;9852:11;::::0;:36:::2;::::0;-1:-1:-1;;;9852:36:0;;9644:175;;-1:-1:-1;9834:15:0::2;::::0;-1:-1:-1;;;;;9852:11:0;;::::2;::::0;:21:::2;::::0;:36:::2;::::0;9882:4:::2;::::0;9852:36:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9834:54;;9917:7;9907;:17;9903:271;;;9945:11;::::0;:37:::2;::::0;-1:-1:-1;;;;;9945:11:0::2;9970:2:::0;9974:7;9945:24:::2;:37::i;:::-;10022:17:::0;;::::2;10001:18;::::0;::::2;:38:::0;9903:271:::2;;;10080:11;::::0;:37:::2;::::0;-1:-1:-1;;;;;10080:11:0::2;10105:2:::0;10109:7;10080:24:::2;:37::i;:::-;10157:1;10136:18;::::0;::::2;:22:::0;9903:271:::2;9608:577;;10195:27:::0;;;10269:22;;7896:4:::2;::::0;10251:41:::2;::::0;10209:13;;-1:-1:-1;;;;;10251:41:0::2;:17;:41::i;:::-;:63;;;;;;10233:4;:15;;:81;;;;10384:2;-1:-1:-1::0;;;;;10330:57:0::2;10349:3;10342:5;-1:-1:-1::0;;;;;10330:57:0::2;;10364:4;:18;;;10354:7;:28;10330:57;;;;;;:::i;:::-;;;;;;;;-1:-1:-1::0;;8104:1:0::1;8093:8;:12:::0;-1:-1:-1;;;;;;9259:1136:0:o;5187:20::-;;;-1:-1:-1;;;;;5187:20:0;;:::o;7778:30::-;;;;:::o;7703:66::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7815:27::-;;;-1:-1:-1;;;;;7815:27:0;;:::o;10837:207::-;10944:16;;;10958:1;10944:16;;;;;;;;;10883;;;;10944;;;;;;;;;;;;-1:-1:-1;10944:16:0;10912:48;;10989:15;;10971:12;10984:1;10971:15;;;;;;;;;;;;;;;;;:33;11023:12;-1:-1:-1;10837:207:0;:::o;11937:251::-;6583:5;;-1:-1:-1;;;;;6583:5:0;6569:10;:19;6561:64;;;;-1:-1:-1;;;6561:64:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12043:19:0;::::1;12039:142;;12079:19;::::0;-1:-1:-1;;;;;12079:11:0;::::1;::::0;:19;::::1;;;::::0;12091:6;;12079:19:::1;::::0;;;12091:6;12079:11;:19;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;12039:142;;;12131:38;-1:-1:-1::0;;;;;12131:26:0;::::1;12158:2:::0;12162:6;12131:26:::1;:38::i;10403:426::-:0;10599:15;;;10612:1;10599:15;;;;;;;;;10494:28;;;;;;10599:15;;;;;;;;;-1:-1:-1;;10645:11:0;;10625:16;;;;-1:-1:-1;;;;;;10645:11:0;;10625:16;;-1:-1:-1;10645:11:0;;10625:16;;;;-1:-1:-1;;;;;10625:32:0;;;;:16;;;;;;;;;;;:32;10702:16;;;10716:1;10702:16;;;;;;;;;10668:31;;10702:16;;;;;;;;;;;;-1:-1:-1;10702:16:0;10668:50;;10749:23;10762:3;10767:4;10749:12;:23::i;:::-;10729:14;10744:1;10729:17;;;;;;;;;;;;;;;;;:43;10791:13;;;;-1:-1:-1;10403:426:0;-1:-1:-1;;;;10403:426:0:o;5234:27::-;;;-1:-1:-1;;;;;5234:27:0;;:::o;7068:25::-;;;-1:-1:-1;;;;;7068:25:0;;:::o;3178:122::-;3261:5;;;3256:16;;;;3248:50;;;;-1:-1:-1;;;3248:50:0;;;;;;;:::i;:::-;3178:122;;;;:::o;3306:137::-;3364:9;3384:6;;;:28;;-1:-1:-1;;3399:5:0;;;3411:1;3406;3399:5;3406:1;3394:13;;;;;:18;3384:28;3376:65;;;;-1:-1:-1;;;3376:65:0;;;;;;;:::i;3047:125::-;3130:5;;;3125:16;;;;3117:53;;;;-1:-1:-1;;;3117:53:0;;;;;;;:::i;3449:161::-;3498:9;-1:-1:-1;;;;;3528:16:0;;;3520:57;;;;-1:-1:-1;;;3520:57:0;;;;;;;:::i;:::-;-1:-1:-1;3600:1:0;3449:161::o;3970:125::-;4053:5;;;-1:-1:-1;;;;;4048:16:0;;;;;;;;4040:53;;;;-1:-1:-1;;;4040:53:0;;;;;;;:::i;3616:156::-;3664:8;3693:15;;;;3685:55;;;;-1:-1:-1;;;3685:55:0;;;;;;;:::i;1734:304::-;1819:12;1833:17;1862:5;-1:-1:-1;;;;;1854:19:0;1897:10;1909:2;1913:6;1874:46;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1874:46:0;;;;;;;;;;;1854:67;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1818:103;;;;1940:7;:57;;;;-1:-1:-1;1952:11:0;;:16;;:44;;;1983:4;1972:24;;;;;;;;;;;;:::i;:::-;1932:98;;;;-1:-1:-1;;;1932:98:0;;;;;;;:::i;:::-;1734:304;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;:::o;1527:479::-;;;;1659:2;1647:9;1638:7;1634:23;1630:32;1627:2;;;-1:-1;;1665:12;1627:2;85:6;72:20;97:33;124:5;97:33;:::i;:::-;1717:63;-1:-1;1817:2;1853:22;;359:20;384:30;359:20;384:30;:::i;:::-;1825:60;-1:-1;1922:2;1958:22;;359:20;384:30;359:20;384:30;:::i;:::-;1930:60;;;;1621:385;;;;;:::o;2013:507::-;;;;2159:2;2147:9;2138:7;2134:23;2130:32;2127:2;;;-1:-1;;2165:12;2127:2;85:6;72:20;97:33;124:5;97:33;:::i;:::-;2217:63;-1:-1;2317:2;2356:22;;1316:20;;-1:-1;2425:2;2472:22;;217:20;242:41;217:20;242:41;:::i;2527:257::-;;2639:2;2627:9;2618:7;2614:23;2610:32;2607:2;;;-1:-1;;2645:12;2607:2;507:6;501:13;519:30;543:5;519:30;:::i;:::-;2697:71;2601:183;-1:-1;;;2601:183::o;2791:365::-;;;2914:2;2902:9;2893:7;2889:23;2885:32;2882:2;;;-1:-1;;2920:12;2882:2;2978:17;2965:31;3016:18;;3008:6;3005:30;3002:2;;;-1:-1;;3038:12;3002:2;3123:6;3112:9;3108:22;;;689:3;682:4;674:6;670:17;666:27;656:2;;-1:-1;;697:12;656:2;740:6;727:20;3016:18;759:6;756:30;753:2;;;-1:-1;;789:12;753:2;884:3;2914:2;864:17;825:6;850:32;;847:41;844:2;;;-1:-1;;891:12;844:2;2914;821:17;;;;;3058:82;;-1:-1;2876:280;;-1:-1;;;;2876:280::o;3163:289::-;;3291:2;3279:9;3270:7;3266:23;3262:32;3259:2;;;-1:-1;;3297:12;3259:2;1179:6;1173:13;1191:46;1231:5;1191:46;:::i;3459:685::-;;;;;3648:3;3636:9;3627:7;3623:23;3619:33;3616:2;;;-1:-1;;3655:12;3616:2;1012:6;999:20;1024:46;1064:5;1024:46;:::i;:::-;3707:76;-1:-1;3820:2;3867:22;;217:20;242:41;217:20;242:41;:::i;:::-;3828:71;-1:-1;3936:2;3975:22;;1316:20;;-1:-1;4044:2;4096:22;;999:20;1024:46;999:20;1024:46;:::i;:::-;3610:534;;;;-1:-1;3610:534;;-1:-1;;3610:534::o;4151:241::-;;4255:2;4243:9;4234:7;4230:23;4226:32;4223:2;;;-1:-1;;4261:12;4223:2;-1:-1;1316:20;;4217:175;-1:-1;4217:175::o;4399:263::-;;4514:2;4502:9;4493:7;4489:23;4485:32;4482:2;;;-1:-1;;4520:12;4482:2;-1:-1;1464:13;;4476:186;-1:-1;4476:186::o;4669:366::-;;;4790:2;4778:9;4769:7;4765:23;4761:32;4758:2;;;-1:-1;;4796:12;4758:2;1329:6;1316:20;4848:63;;4948:2;4991:9;4987:22;72:20;97:33;124:5;97:33;:::i;:::-;4956:63;;;;4752:283;;;;;:::o;5042:743::-;;;;;;5214:3;5202:9;5193:7;5189:23;5185:33;5182:2;;;-1:-1;;5221:12;5182:2;1329:6;1316:20;5273:63;;5373:2;5416:9;5412:22;72:20;97:33;124:5;97:33;:::i;:::-;5381:63;-1:-1;5481:2;5520:22;;72:20;97:33;72:20;97:33;:::i;:::-;5176:609;;;;-1:-1;5489:63;;5589:2;5628:22;;1316:20;;-1:-1;5697:3;5737:22;1316:20;;5176:609;-1:-1;;5176:609::o;5792:491::-;;;;5930:2;5918:9;5909:7;5905:23;5901:32;5898:2;;;-1:-1;;5936:12;5898:2;1329:6;1316:20;5988:63;;6088:2;6131:9;6127:22;72:20;97:33;124:5;97:33;:::i;:::-;5892:391;;6096:63;;-1:-1;;;6196:2;6235:22;;;;1316:20;;5892:391::o;7633:690::-;;7826:5;24646:12;25333:6;25328:3;25321:19;25370:4;;25365:3;25361:14;7838:93;;25370:4;8002:5;24329:14;-1:-1;8041:260;8066:6;8063:1;8060:13;8041:260;;;8127:13;;14376:37;;6652:14;;;;25061;;;;8088:1;8081:9;8041:260;;;-1:-1;8307:10;;7757:566;-1:-1;;;;;7757:566::o;14769:271::-;;8491:5;24646:12;-1:-1;27208:101;27222:6;27219:1;27216:13;27208:101;;;8635:4;27289:11;;;;;27283:18;27270:11;;;27263:39;27237:10;27208:101;;;27324:6;27321:1;27318:13;27315:2;;;-1:-1;27380:6;27375:3;27371:16;27364:27;27315:2;-1:-1;8666:16;;;;;14903:137;-1:-1;;14903:137::o;15047:222::-;-1:-1;;;;;26490:54;;;;6751:37;;15174:2;15159:18;;15145:124::o;15276:333::-;-1:-1;;;;;26490:54;;;;6751:37;;15595:2;15580:18;;14376:37;15431:2;15416:18;;15402:207::o;15616:655::-;15884:2;15898:47;;;24646:12;;15869:18;;;25321:19;;;15616:655;;25370:4;;25361:14;;;;24329;;;15616:655;7286:286;7311:6;7308:1;7305:13;7286:286;;;7372:13;;-1:-1;;;;;26490:54;8768:63;;6470:14;;;;25061;;;;3016:18;7326:9;7286:286;;;7290:14;;;16128:9;16122:4;16118:20;25370:4;16102:9;16098:18;16091:48;16153:108;16256:4;16247:6;16153:108;:::i;:::-;16145:116;15855:416;-1:-1;;;;;;15855:416::o;16278:370::-;;16455:2;16476:17;16469:47;16530:108;16455:2;16444:9;16440:18;16624:6;16530:108;:::i;16910:416::-;17110:2;17124:47;;;9227:2;17095:18;;;25321:19;-1:-1;;;25361:14;;;9243:44;9306:12;;;17081:245::o;17333:416::-;17533:2;17547:47;;;9557:2;17518:18;;;25321:19;9593:30;25361:14;;;9573:51;9643:12;;;17504:245::o;17756:416::-;17956:2;17970:47;;;9894:2;17941:18;;;25321:19;9930:34;25361:14;;;9910:55;-1:-1;;;9985:12;;;9978:25;10022:12;;;17927:245::o;18179:416::-;18379:2;18393:47;;;10273:2;18364:18;;;25321:19;-1:-1;;;25361:14;;;10289:44;10352:12;;;18350:245::o;18602:416::-;18802:2;18816:47;;;10603:2;18787:18;;;25321:19;10639:30;25361:14;;;10619:51;10689:12;;;18773:245::o;19025:416::-;19225:2;19239:47;;;10940:2;19210:18;;;25321:19;10976:26;25361:14;;;10956:47;11022:12;;;19196:245::o;19448:416::-;19648:2;19662:47;;;19633:18;;;25321:19;11309:34;25361:14;;;11289:55;11363:12;;;19619:245::o;19871:416::-;20071:2;20085:47;;;20056:18;;;25321:19;11650:34;25361:14;;;11630:55;11704:12;;;20042:245::o;20294:416::-;20494:2;20508:47;;;11955:2;20479:18;;;25321:19;11991:29;25361:14;;;11971:50;12040:12;;;20465:245::o;20717:416::-;20917:2;20931:47;;;12291:1;20902:18;;;25321:19;-1:-1;;;25361:14;;;12306:29;12354:12;;;20888:245::o;21140:416::-;21340:2;21354:47;;;12605:2;21325:18;;;25321:19;12641:26;25361:14;;;12621:47;12687:12;;;21311:245::o;21563:416::-;21763:2;21777:47;;;12938:2;21748:18;;;25321:19;12974:31;25361:14;;;12954:52;13025:12;;;21734:245::o;21986:416::-;22186:2;22200:47;;;13276:2;22171:18;;;25321:19;-1:-1;;;25361:14;;;13292:42;13353:12;;;22157:245::o;22409:322::-;13670:23;;-1:-1;;;;;26370:46;14013:37;;13851:4;13840:16;;;13834:23;26707:18;26696:30;13909:14;;;14604:36;;;;22586:2;22571:18;;22557:174::o;22738:329::-;-1:-1;;;;;26370:46;;;;14013:37;;26707:18;26696:30;23053:2;23038:18;;14604:36;22891:2;22876:18;;22862:205::o;23074:222::-;14376:37;;;23201:2;23186:18;;23172:124::o;23303:444::-;14376:37;;;23650:2;23635:18;;14376:37;;;;23733:2;23718:18;;14376:37;23486:2;23471:18;;23457:290::o;23754:440::-;26707:18;26696:30;;;;14604:36;;24097:2;24082:18;;14376:37;;;;-1:-1;;;;;26370:46;24180:2;24165:18;;14253:50;23935:2;23920:18;;23906:288::o;27412:117::-;-1:-1;;;;;26490:54;;27471:35;;27461:2;;27520:1;;27510:12;27461:2;27455:74;:::o;27676:111::-;27757:5;26171:13;26164:21;27735:5;27732:32;27722:2;;27778:1;;27768:12
Swarm Source
ipfs://aab18048de309fc627f8669e94dc5a00b0737f0fbcc65fdc531dfebb8af0b0d2
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $0.004689 | 51,583,799.9583 | $241,865.61 |
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.