Overview
APE Balance
APE Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Multichain Info
Latest 7 from a total of 7 transactions
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Set Max Bet Amou... | 30856225 | 42 days ago | IN | 0 APE | 0.00325883 | ||||
| Set Max Bet Amou... | 30600223 | 46 days ago | IN | 0 APE | 0.00325883 | ||||
| Set Max Bet Amou... | 30599030 | 47 days ago | IN | 0 APE | 0.00325883 | ||||
| Set Max Bet Amou... | 29343836 | 56 days ago | IN | 0 APE | 0.00081501 | ||||
| Set Exp Manager | 23655729 | 128 days ago | IN | 0 APE | 0.00081999 | ||||
| Init | 23465789 | 133 days ago | IN | 0 APE | 0.43207409 | ||||
| Set Exp Manager | 23465772 | 133 days ago | IN | 0 APE | 0.00125468 |
View more zero value Internal Transactions in Advanced View mode
Cross-Chain Transactions
Contract Source Code (Solidity)
/**
*Submitted for verification at apescan.io on 2025-09-11
*/
//SPDX-License-Identifier: MIT
pragma solidity 0.8.28;
interface IGovernanceManager {
function RNG() external view returns (address);
function owner() external view returns (address);
function referralManager() external view returns (address);
function feeReceiver() external view returns (address);
function claimManager() external view returns (address);
function house() external view returns (address);
function isGame(address game) external view returns (bool);
function userInfoTracker() external view returns (address);
function canPlayForOthers(address addr) external view returns (bool);
function paused() external view returns (bool);
function isAdmin(address admin) external view returns (bool);
}
contract ApeOwnable {
// Governance Manager
IGovernanceManager public constant manager = IGovernanceManager(0x8632f22e5A921C751CFbBFF92F058A3b11E96b8a);
modifier onlyOwner() {
require(
msg.sender == manager.owner(),
'Only Owner'
);
_;
}
modifier onlyGame() {
require(
manager.isGame(msg.sender),
'UnAuthorized'
);
_;
}
modifier onlyRNG() {
require(
msg.sender == manager.RNG(),
'Only RNG Contract'
);
_;
}
modifier validatePlayer(address player) {
if (player != msg.sender) {
require(
manager.canPlayForOthers(msg.sender),
'UnAuthorized To Play For Others'
);
}
_;
}
modifier notPaused() {
require(
manager.paused() == false,
'All Games Paused'
);
_;
}
modifier onlyAdmin() {
require(
manager.isAdmin(msg.sender),
'UnAuthorized'
);
_;
}
}
interface IEXPManager {
function wagered(address user, uint256 amount) external;
function initWagered(address user, uint256 amount, address oldEXPManager) external;
}
interface IOldUserInfo {
function balanceOf(address user) external view returns (uint256);
function listAllUsers() external view returns (address[] memory);
function totalSupply() external view returns (uint256);
}
interface IUserInfoTracker {
function wagered(address user, uint256 amount, uint256 GAME_ID) external;
}
contract UserInfo is IUserInfoTracker, ApeOwnable {
// Name + Symbol for wallet support
string public constant name = "APE Wagered";
string public constant symbol = "wAPE";
// Game Data Structure
struct GameData {
uint256 totalWagered;
uint256 numGamesPlayed;
}
// User Info Structure
struct UserInfoStruct {
uint256 totalWagered;
mapping ( uint256 => GameData ) gameData;
}
// Mapping From User To Total WETH Wagered
mapping ( address => UserInfoStruct ) private userInfo;
// List Of All Unique Users
address[] public allUsers;
// Total Wagered
uint256 public totalWagered;
// EXP Manager
IEXPManager public expManager;
// Min / Max Bet Amounts
uint256 public minBetAmount = 0.1 ether;
uint256 public maxBetAmount = 2_000 ether;
// Transfer Event
event Transfer(address indexed from, address indexed to, uint256 value);
function init(IOldUserInfo oldUserInfo, address oldEXPManager) external onlyOwner {
require(allUsers.length == 0, "Already initialized");
// fetch all users
address[] memory users = oldUserInfo.listAllUsers();
// save these users and set total wagered
allUsers = users;
totalWagered = oldUserInfo.totalSupply();
// set user info for each user
for (uint i = 0; i < users.length;) {
uint256 totalWagered_ = oldUserInfo.balanceOf(users[i]);
userInfo[users[i]].totalWagered = totalWagered_;
expManager.initWagered(users[i], totalWagered_, oldEXPManager);
emit Transfer(address(0), users[i], totalWagered_);
unchecked { ++i; }
}
}
function setMinBetAmount(uint256 minBetAmount_) external onlyOwner {
minBetAmount = minBetAmount_;
}
function setMaxBetAmount(uint256 maxBetAmount_) external onlyOwner {
maxBetAmount = maxBetAmount_;
}
function setExpManager(address expManager_) external onlyOwner {
expManager = IEXPManager(expManager_);
}
function balanceOf(address user) external view returns (uint256) {
return userInfo[user].totalWagered;
}
function totalSupply() external view returns (uint256) {
return totalWagered;
}
function decimals() external pure returns (uint8) {
return 18;
}
function wagered(address user, uint256 amount, uint256 GAME_ID) external override onlyGame {
require(
amount >= minBetAmount,
"Amount is less than minimum bet amount"
);
if (maxBetAmount > 0) {
require(
amount <= maxBetAmount,
"Amount is greater than maximum bet amount"
);
}
// add to list if new user
if (userInfo[user].totalWagered == 0 && amount > 0) {
allUsers.push(user);
}
// increment total native Spent
unchecked {
// increment values by the amount of native spent
totalWagered += amount;
userInfo[user].totalWagered += amount;
userInfo[user].gameData[GAME_ID].totalWagered += amount;
// increment total wagers placed
++userInfo[user].gameData[GAME_ID].numGamesPlayed;
}
if (amount > 0) {
expManager.wagered(user, amount);
}
// emit events for tracking
emit Transfer(address(0), user, amount);
}
function listAllUsers() external view returns (address[] memory) {
return allUsers;
}
function numUsers() external view returns (uint256) {
return allUsers.length;
}
function getTotalWagered(address user) external view returns (uint256) {
return userInfo[user].totalWagered;
}
function getGameData(address user, uint256 GAME_ID) external view returns (uint256 _totalWagered, uint256 numGamesPlayed) {
return (userInfo[user].gameData[GAME_ID].totalWagered, userInfo[user].gameData[GAME_ID].numGamesPlayed);
}
function batchGameData(address user, uint256[] calldata GAME_IDs) external view returns (uint256[] memory _totalWagered, uint256[] memory numGamesPlayed) {
uint256 len = GAME_IDs.length;
_totalWagered = new uint256[](len);
numGamesPlayed = new uint256[](len);
for (uint i = 0; i < len;) {
_totalWagered[i] = userInfo[user].gameData[GAME_IDs[i]].totalWagered;
numGamesPlayed[i] = userInfo[user].gameData[GAME_IDs[i]].numGamesPlayed;
unchecked { ++i; }
}
}
function getListOfTotalWagered(address[] calldata users) external view returns (uint256[] memory) {
uint256 len = users.length;
uint256[] memory list = new uint256[](len);
for (uint i = 0; i < len;) {
list[i] = userInfo[users[i]].totalWagered;
unchecked { ++i; }
}
return list;
}
function getListOfTotalWageredPaginated(uint256 startIndex, uint256 endIndex) external view returns (uint256[] memory) {
if (endIndex > allUsers.length) {
endIndex = allUsers.length;
}
uint256[] memory list = new uint256[](endIndex - startIndex);
uint256 count;
for (uint256 i = startIndex; i < endIndex;) {
list[count] = userInfo[allUsers[i]].totalWagered;
unchecked { ++i; ++count; }
}
return list;
}
function paginateAllUsers(uint256 startIndex, uint256 endIndex) public view returns (address[] memory) {
if (endIndex > allUsers.length) {
endIndex = allUsers.length;
}
address[] memory list = new address[](endIndex - startIndex);
uint256 count;
for (uint256 i = startIndex; i < endIndex;) {
list[count] = allUsers[i];
unchecked { ++i; ++count; }
}
return list;
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"allUsers","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256[]","name":"GAME_IDs","type":"uint256[]"}],"name":"batchGameData","outputs":[{"internalType":"uint256[]","name":"_totalWagered","type":"uint256[]"},{"internalType":"uint256[]","name":"numGamesPlayed","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"expManager","outputs":[{"internalType":"contract IEXPManager","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"GAME_ID","type":"uint256"}],"name":"getGameData","outputs":[{"internalType":"uint256","name":"_totalWagered","type":"uint256"},{"internalType":"uint256","name":"numGamesPlayed","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"users","type":"address[]"}],"name":"getListOfTotalWagered","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"startIndex","type":"uint256"},{"internalType":"uint256","name":"endIndex","type":"uint256"}],"name":"getListOfTotalWageredPaginated","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getTotalWagered","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IOldUserInfo","name":"oldUserInfo","type":"address"},{"internalType":"address","name":"oldEXPManager","type":"address"}],"name":"init","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"listAllUsers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manager","outputs":[{"internalType":"contract IGovernanceManager","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxBetAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minBetAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"numUsers","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"startIndex","type":"uint256"},{"internalType":"uint256","name":"endIndex","type":"uint256"}],"name":"paginateAllUsers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"expManager_","type":"address"}],"name":"setExpManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxBetAmount_","type":"uint256"}],"name":"setMaxBetAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"minBetAmount_","type":"uint256"}],"name":"setMinBetAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalWagered","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"GAME_ID","type":"uint256"}],"name":"wagered","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
608060405267016345785d8a0000600455686c6b935b8bbd400000600555348015602857600080fd5b50611699806100386000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c806380538e27116100c3578063b5ee937b1161007c578063b5ee937b1461032d578063c51ddd5d14610340578063cab11d5d14610353578063eb3d9bea1461035c578063f09a40161461036f578063fa968eea1461038257600080fd5b806380538e271461029a578063832c205d146102bb5780638a14f12c146102db57806394ca5c9c146102e457806395d89b41146102f7578063a2bdedf41461031a57600080fd5b8063481c6a7511610115578063481c6a75146102035780635ad1df6a146102365780636c1885931461025f578063706025791461027457806370a08231146102365780637cfbc7a51461028757600080fd5b806306fdde031461015d5780630d7087e91461019d57806318160ddd146101b257806319a50f49146101c4578063313ce567146101cc578063328343ec146101db575b600080fd5b6101876040518060400160405280600b81526020016a1054114815d859d95c995960aa1b81525081565b60405161019491906111b6565b60405180910390f35b6101a561038b565b6040516101949190611204565b6002545b604051908152602001610194565b6001546101b6565b60405160128152602001610194565b6101ee6101e9366004611268565b6103ed565b60408051928352602083019190915201610194565b61021e738632f22e5a921c751cfbbff92f058a3b11e96b8a81565b6040516001600160a01b039091168152602001610194565b6101b6610244366004611294565b6001600160a01b031660009081526020819052604090205490565b61027261026d3660046112b8565b610421565b005b60035461021e906001600160a01b031681565b6102726102953660046112b8565b6104d5565b6102ad6102a8366004611316565b610580565b6040516101949291906113a7565b6102ce6102c93660046113d5565b610701565b60405161019491906113f7565b6101b660025481565b6102ce6102f236600461140a565b6107e2565b610187604051806040016040528060048152602001637741504560e01b81525081565b61021e6103283660046112b8565b6108b3565b6101a561033b3660046113d5565b6108dd565b61027261034e366004611294565b6109b3565b6101b660055481565b61027261036a36600461144c565b610a7b565b61027261037d366004611481565b610d63565b6101b660045481565b606060018054806020026020016040519081016040528092919081815260200182805480156103e357602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116103c5575b5050505050905090565b6001600160a01b038216600090815260208181526040808320848452600190810190925290912080549101545b9250929050565b738632f22e5a921c751cfbbff92f058a3b11e96b8a6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610473573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061049791906114ca565b6001600160a01b0316336001600160a01b0316146104d05760405162461bcd60e51b81526004016104c7906114e7565b60405180910390fd5b600455565b738632f22e5a921c751cfbbff92f058a3b11e96b8a6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610527573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054b91906114ca565b6001600160a01b0316336001600160a01b03161461057b5760405162461bcd60e51b81526004016104c7906114e7565b600555565b606080828067ffffffffffffffff81111561059d5761059d61150b565b6040519080825280602002602001820160405280156105c6578160200160208202803683370190505b5092508067ffffffffffffffff8111156105e2576105e261150b565b60405190808252806020026020018201604052801561060b578160200160208202803683370190505b50915060005b818110156106f7576001600160a01b03871660009081526020819052604081206001019087878481811061064757610647611521565b9050602002013581526020019081526020016000206000015484828151811061067257610672611521565b602002602001018181525050600080886001600160a01b03166001600160a01b0316815260200190815260200160002060010160008787848181106106b9576106b9611521565b905060200201358152602001908152602001600020600101548382815181106106e4576106e4611521565b6020908102919091010152600101610611565b5050935093915050565b6001546060908211156107145760015491505b60006107208484611537565b67ffffffffffffffff8111156107385761073861150b565b604051908082528060200260200182016040528015610761578160200160208202803683370190505b5090506000845b848110156107d6576000806001838154811061078657610786611521565b60009182526020808320909101546001600160a01b0316835282019290925260400190205483518490849081106107bf576107bf611521565b602090810291909101015260019182019101610768565b50909150505b92915050565b60608160008167ffffffffffffffff8111156108005761080061150b565b604051908082528060200260200182016040528015610829578160200160208202803683370190505b50905060005b828110156108aa5760008087878481811061084c5761084c611521565b90506020020160208101906108619190611294565b6001600160a01b03166001600160a01b031681526020019081526020016000206000015482828151811061089757610897611521565b602090810291909101015260010161082f565b50949350505050565b600181815481106108c357600080fd5b6000918252602090912001546001600160a01b0316905081565b6001546060908211156108f05760015491505b60006108fc8484611537565b67ffffffffffffffff8111156109145761091461150b565b60405190808252806020026020018201604052801561093d578160200160208202803683370190505b5090506000845b848110156107d6576001818154811061095f5761095f611521565b9060005260206000200160009054906101000a90046001600160a01b031683838151811061098f5761098f611521565b6001600160a01b039092166020928302919091019091015260019182019101610944565b738632f22e5a921c751cfbbff92f058a3b11e96b8a6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2991906114ca565b6001600160a01b0316336001600160a01b031614610a595760405162461bcd60e51b81526004016104c7906114e7565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b604051636313629760e11b8152336004820152738632f22e5a921c751cfbbff92f058a3b11e96b8a9063c626c52e90602401602060405180830381865afa158015610aca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aee9190611558565b610b295760405162461bcd60e51b815260206004820152600c60248201526b155b905d5d1a1bdc9a5e995960a21b60448201526064016104c7565b600454821015610b8a5760405162461bcd60e51b815260206004820152602660248201527f416d6f756e74206973206c657373207468616e206d696e696d756d2062657420604482015265185b5bdd5b9d60d21b60648201526084016104c7565b60055415610bf657600554821115610bf65760405162461bcd60e51b815260206004820152602960248201527f416d6f756e742069732067726561746572207468616e206d6178696d756d2062604482015268195d08185b5bdd5b9d60ba1b60648201526084016104c7565b6001600160a01b038316600090815260208190526040902054158015610c1c5750600082115b15610c6c576001805480820182556000919091527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0319166001600160a01b0385161790555b60028054830190556001600160a01b03831660009081526020818152604080832080548601815584845260019081019092529091208054840181558101805490910190558115610d1d576003546040516314838cad60e21b81526001600160a01b038581166004830152602482018590529091169063520e32b490604401600060405180830381600087803b158015610d0457600080fd5b505af1158015610d18573d6000803e3d6000fd5b505050505b6040518281526001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b738632f22e5a921c751cfbbff92f058a3b11e96b8a6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610db5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd991906114ca565b6001600160a01b0316336001600160a01b031614610e095760405162461bcd60e51b81526004016104c7906114e7565b60015415610e4f5760405162461bcd60e51b8152602060048201526013602482015272105b1c9958591e481a5b9a5d1a585b1a5e9959606a1b60448201526064016104c7565b6000826001600160a01b0316630d7087e96040518163ffffffff1660e01b8152600401600060405180830381865afa158015610e8f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610eb7919081019061157a565b8051909150610ecd90600190602084019061113c565b50826001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f30919061164a565b60025560005b8151811015611136576000846001600160a01b03166370a08231848481518110610f6257610f62611521565b60200260200101516040518263ffffffff1660e01b8152600401610f9591906001600160a01b0391909116815260200190565b602060405180830381865afa158015610fb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd6919061164a565b905080600080858581518110610fee57610fee611521565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060000181905550600360009054906101000a90046001600160a01b03166001600160a01b03166354f7de2784848151811061105357611053611521565b60209081029190910101516040516001600160e01b031960e084901b1681526001600160a01b039182166004820152602481018590529087166044820152606401600060405180830381600087803b1580156110ae57600080fd5b505af11580156110c2573d6000803e3d6000fd5b505050508282815181106110d8576110d8611521565b60200260200101516001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161112591815260200190565b60405180910390a350600101610f36565b50505050565b828054828255906000526020600020908101928215611191579160200282015b8281111561119157825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019061115c565b5061119d9291506111a1565b5090565b5b8082111561119d57600081556001016111a2565b602081526000825180602084015260005b818110156111e457602081860181015160408684010152016111c7565b506000604082850101526040601f19601f83011684010191505092915050565b602080825282518282018190526000918401906040840190835b818110156112455783516001600160a01b031683526020938401939092019160010161121e565b509095945050505050565b6001600160a01b038116811461126557600080fd5b50565b6000806040838503121561127b57600080fd5b823561128681611250565b946020939093013593505050565b6000602082840312156112a657600080fd5b81356112b181611250565b9392505050565b6000602082840312156112ca57600080fd5b5035919050565b60008083601f8401126112e357600080fd5b50813567ffffffffffffffff8111156112fb57600080fd5b6020830191508360208260051b850101111561041a57600080fd5b60008060006040848603121561132b57600080fd5b833561133681611250565b9250602084013567ffffffffffffffff81111561135257600080fd5b61135e868287016112d1565b9497909650939450505050565b600081518084526020840193506020830160005b8281101561139d57815186526020958601959091019060010161137f565b5093949350505050565b6040815260006113ba604083018561136b565b82810360208401526113cc818561136b565b95945050505050565b600080604083850312156113e857600080fd5b50508035926020909101359150565b6020815260006112b1602083018461136b565b6000806020838503121561141d57600080fd5b823567ffffffffffffffff81111561143457600080fd5b611440858286016112d1565b90969095509350505050565b60008060006060848603121561146157600080fd5b833561146c81611250565b95602085013595506040909401359392505050565b6000806040838503121561149457600080fd5b823561149f81611250565b915060208301356114af81611250565b809150509250929050565b80516114c581611250565b919050565b6000602082840312156114dc57600080fd5b81516112b181611250565b6020808252600a908201526927b7363c9027bbb732b960b11b604082015260600190565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b818103818111156107dc57634e487b7160e01b600052601160045260246000fd5b60006020828403121561156a57600080fd5b815180151581146112b157600080fd5b60006020828403121561158c57600080fd5b815167ffffffffffffffff8111156115a357600080fd5b8201601f810184136115b457600080fd5b805167ffffffffffffffff8111156115ce576115ce61150b565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156115fb576115fb61150b565b60405291825260208184018101929081018784111561161957600080fd5b6020850194505b8385101561163f57611631856114ba565b815260209485019401611620565b509695505050505050565b60006020828403121561165c57600080fd5b505191905056fea264697066735822122096570199b93b91b35b3dc7a67d101dca8ab66c9e983a027107642ebb6921d46064736f6c634300081c0033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101585760003560e01c806380538e27116100c3578063b5ee937b1161007c578063b5ee937b1461032d578063c51ddd5d14610340578063cab11d5d14610353578063eb3d9bea1461035c578063f09a40161461036f578063fa968eea1461038257600080fd5b806380538e271461029a578063832c205d146102bb5780638a14f12c146102db57806394ca5c9c146102e457806395d89b41146102f7578063a2bdedf41461031a57600080fd5b8063481c6a7511610115578063481c6a75146102035780635ad1df6a146102365780636c1885931461025f578063706025791461027457806370a08231146102365780637cfbc7a51461028757600080fd5b806306fdde031461015d5780630d7087e91461019d57806318160ddd146101b257806319a50f49146101c4578063313ce567146101cc578063328343ec146101db575b600080fd5b6101876040518060400160405280600b81526020016a1054114815d859d95c995960aa1b81525081565b60405161019491906111b6565b60405180910390f35b6101a561038b565b6040516101949190611204565b6002545b604051908152602001610194565b6001546101b6565b60405160128152602001610194565b6101ee6101e9366004611268565b6103ed565b60408051928352602083019190915201610194565b61021e738632f22e5a921c751cfbbff92f058a3b11e96b8a81565b6040516001600160a01b039091168152602001610194565b6101b6610244366004611294565b6001600160a01b031660009081526020819052604090205490565b61027261026d3660046112b8565b610421565b005b60035461021e906001600160a01b031681565b6102726102953660046112b8565b6104d5565b6102ad6102a8366004611316565b610580565b6040516101949291906113a7565b6102ce6102c93660046113d5565b610701565b60405161019491906113f7565b6101b660025481565b6102ce6102f236600461140a565b6107e2565b610187604051806040016040528060048152602001637741504560e01b81525081565b61021e6103283660046112b8565b6108b3565b6101a561033b3660046113d5565b6108dd565b61027261034e366004611294565b6109b3565b6101b660055481565b61027261036a36600461144c565b610a7b565b61027261037d366004611481565b610d63565b6101b660045481565b606060018054806020026020016040519081016040528092919081815260200182805480156103e357602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116103c5575b5050505050905090565b6001600160a01b038216600090815260208181526040808320848452600190810190925290912080549101545b9250929050565b738632f22e5a921c751cfbbff92f058a3b11e96b8a6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610473573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061049791906114ca565b6001600160a01b0316336001600160a01b0316146104d05760405162461bcd60e51b81526004016104c7906114e7565b60405180910390fd5b600455565b738632f22e5a921c751cfbbff92f058a3b11e96b8a6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610527573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054b91906114ca565b6001600160a01b0316336001600160a01b03161461057b5760405162461bcd60e51b81526004016104c7906114e7565b600555565b606080828067ffffffffffffffff81111561059d5761059d61150b565b6040519080825280602002602001820160405280156105c6578160200160208202803683370190505b5092508067ffffffffffffffff8111156105e2576105e261150b565b60405190808252806020026020018201604052801561060b578160200160208202803683370190505b50915060005b818110156106f7576001600160a01b03871660009081526020819052604081206001019087878481811061064757610647611521565b9050602002013581526020019081526020016000206000015484828151811061067257610672611521565b602002602001018181525050600080886001600160a01b03166001600160a01b0316815260200190815260200160002060010160008787848181106106b9576106b9611521565b905060200201358152602001908152602001600020600101548382815181106106e4576106e4611521565b6020908102919091010152600101610611565b5050935093915050565b6001546060908211156107145760015491505b60006107208484611537565b67ffffffffffffffff8111156107385761073861150b565b604051908082528060200260200182016040528015610761578160200160208202803683370190505b5090506000845b848110156107d6576000806001838154811061078657610786611521565b60009182526020808320909101546001600160a01b0316835282019290925260400190205483518490849081106107bf576107bf611521565b602090810291909101015260019182019101610768565b50909150505b92915050565b60608160008167ffffffffffffffff8111156108005761080061150b565b604051908082528060200260200182016040528015610829578160200160208202803683370190505b50905060005b828110156108aa5760008087878481811061084c5761084c611521565b90506020020160208101906108619190611294565b6001600160a01b03166001600160a01b031681526020019081526020016000206000015482828151811061089757610897611521565b602090810291909101015260010161082f565b50949350505050565b600181815481106108c357600080fd5b6000918252602090912001546001600160a01b0316905081565b6001546060908211156108f05760015491505b60006108fc8484611537565b67ffffffffffffffff8111156109145761091461150b565b60405190808252806020026020018201604052801561093d578160200160208202803683370190505b5090506000845b848110156107d6576001818154811061095f5761095f611521565b9060005260206000200160009054906101000a90046001600160a01b031683838151811061098f5761098f611521565b6001600160a01b039092166020928302919091019091015260019182019101610944565b738632f22e5a921c751cfbbff92f058a3b11e96b8a6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2991906114ca565b6001600160a01b0316336001600160a01b031614610a595760405162461bcd60e51b81526004016104c7906114e7565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b604051636313629760e11b8152336004820152738632f22e5a921c751cfbbff92f058a3b11e96b8a9063c626c52e90602401602060405180830381865afa158015610aca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aee9190611558565b610b295760405162461bcd60e51b815260206004820152600c60248201526b155b905d5d1a1bdc9a5e995960a21b60448201526064016104c7565b600454821015610b8a5760405162461bcd60e51b815260206004820152602660248201527f416d6f756e74206973206c657373207468616e206d696e696d756d2062657420604482015265185b5bdd5b9d60d21b60648201526084016104c7565b60055415610bf657600554821115610bf65760405162461bcd60e51b815260206004820152602960248201527f416d6f756e742069732067726561746572207468616e206d6178696d756d2062604482015268195d08185b5bdd5b9d60ba1b60648201526084016104c7565b6001600160a01b038316600090815260208190526040902054158015610c1c5750600082115b15610c6c576001805480820182556000919091527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0319166001600160a01b0385161790555b60028054830190556001600160a01b03831660009081526020818152604080832080548601815584845260019081019092529091208054840181558101805490910190558115610d1d576003546040516314838cad60e21b81526001600160a01b038581166004830152602482018590529091169063520e32b490604401600060405180830381600087803b158015610d0457600080fd5b505af1158015610d18573d6000803e3d6000fd5b505050505b6040518281526001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b738632f22e5a921c751cfbbff92f058a3b11e96b8a6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610db5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd991906114ca565b6001600160a01b0316336001600160a01b031614610e095760405162461bcd60e51b81526004016104c7906114e7565b60015415610e4f5760405162461bcd60e51b8152602060048201526013602482015272105b1c9958591e481a5b9a5d1a585b1a5e9959606a1b60448201526064016104c7565b6000826001600160a01b0316630d7087e96040518163ffffffff1660e01b8152600401600060405180830381865afa158015610e8f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610eb7919081019061157a565b8051909150610ecd90600190602084019061113c565b50826001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f30919061164a565b60025560005b8151811015611136576000846001600160a01b03166370a08231848481518110610f6257610f62611521565b60200260200101516040518263ffffffff1660e01b8152600401610f9591906001600160a01b0391909116815260200190565b602060405180830381865afa158015610fb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd6919061164a565b905080600080858581518110610fee57610fee611521565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060000181905550600360009054906101000a90046001600160a01b03166001600160a01b03166354f7de2784848151811061105357611053611521565b60209081029190910101516040516001600160e01b031960e084901b1681526001600160a01b039182166004820152602481018590529087166044820152606401600060405180830381600087803b1580156110ae57600080fd5b505af11580156110c2573d6000803e3d6000fd5b505050508282815181106110d8576110d8611521565b60200260200101516001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161112591815260200190565b60405180910390a350600101610f36565b50505050565b828054828255906000526020600020908101928215611191579160200282015b8281111561119157825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019061115c565b5061119d9291506111a1565b5090565b5b8082111561119d57600081556001016111a2565b602081526000825180602084015260005b818110156111e457602081860181015160408684010152016111c7565b506000604082850101526040601f19601f83011684010191505092915050565b602080825282518282018190526000918401906040840190835b818110156112455783516001600160a01b031683526020938401939092019160010161121e565b509095945050505050565b6001600160a01b038116811461126557600080fd5b50565b6000806040838503121561127b57600080fd5b823561128681611250565b946020939093013593505050565b6000602082840312156112a657600080fd5b81356112b181611250565b9392505050565b6000602082840312156112ca57600080fd5b5035919050565b60008083601f8401126112e357600080fd5b50813567ffffffffffffffff8111156112fb57600080fd5b6020830191508360208260051b850101111561041a57600080fd5b60008060006040848603121561132b57600080fd5b833561133681611250565b9250602084013567ffffffffffffffff81111561135257600080fd5b61135e868287016112d1565b9497909650939450505050565b600081518084526020840193506020830160005b8281101561139d57815186526020958601959091019060010161137f565b5093949350505050565b6040815260006113ba604083018561136b565b82810360208401526113cc818561136b565b95945050505050565b600080604083850312156113e857600080fd5b50508035926020909101359150565b6020815260006112b1602083018461136b565b6000806020838503121561141d57600080fd5b823567ffffffffffffffff81111561143457600080fd5b611440858286016112d1565b90969095509350505050565b60008060006060848603121561146157600080fd5b833561146c81611250565b95602085013595506040909401359392505050565b6000806040838503121561149457600080fd5b823561149f81611250565b915060208301356114af81611250565b809150509250929050565b80516114c581611250565b919050565b6000602082840312156114dc57600080fd5b81516112b181611250565b6020808252600a908201526927b7363c9027bbb732b960b11b604082015260600190565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b818103818111156107dc57634e487b7160e01b600052601160045260246000fd5b60006020828403121561156a57600080fd5b815180151581146112b157600080fd5b60006020828403121561158c57600080fd5b815167ffffffffffffffff8111156115a357600080fd5b8201601f810184136115b457600080fd5b805167ffffffffffffffff8111156115ce576115ce61150b565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156115fb576115fb61150b565b60405291825260208184018101929081018784111561161957600080fd5b6020850194505b8385101561163f57611631856114ba565b815260209485019401611620565b509695505050505050565b60006020828403121561165c57600080fd5b505191905056fea264697066735822122096570199b93b91b35b3dc7a67d101dca8ab66c9e983a027107642ebb6921d46064736f6c634300081c0033
Deployed Bytecode Sourcemap
2480:6131:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2580:43;;;;;;;;;;;;;;;-1:-1:-1;;;2580:43:0;;;;;;;;;;;;:::i;:::-;;;;;;;;6115:99;;;:::i;:::-;;;;;;;:::i;4763:93::-;4836:12;;4763:93;;;1334:25:1;;;1322:2;1307:18;4763:93:0;1188:177:1;6222:93:0;6292:8;:15;6222:93;;4864:78;;;4932:2;1512:36:1;;1500:2;1485:18;4864:78:0;1370:184:1;6455:244:0;;;;;;:::i;:::-;;:::i;:::-;;;;2241:25:1;;;2297:2;2282:18;;2275:34;;;;2214:18;6455:244:0;2067:248:1;828:107:0;;892:42;828:107;;;;;-1:-1:-1;;;;;2509:32:1;;;2491:51;;2479:2;2464:18;828:107:0;2320:228:1;6323:124:0;;;;;;:::i;:::-;-1:-1:-1;;;;;6412:14:0;6385:7;6412:14;;;;;;;;;;:27;;6323:124;4262:114;;;;;;:::i;:::-;;:::i;:::-;;3205:29;;;;;-1:-1:-1;;;;;3205:29:0;;;4388:114;;;;;;:::i;:::-;;:::i;6707:543::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;7621:509::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;3149:27::-;;;;;;7258:355;;;;;;:::i;:::-;;:::i;2630:38::-;;;;;;;;;;;;;;;-1:-1:-1;;;2630:38:0;;;;;3093:25;;;;;;:::i;:::-;;:::i;8138:470::-;;;;;;:::i;:::-;;:::i;4510:119::-;;;;;;:::i;:::-;;:::i;3319:41::-;;;;;;4950:1157;;;;;;:::i;:::-;;:::i;3472:782::-;;;;;;:::i;:::-;;:::i;3273:39::-;;;;;;6115:99;6162:16;6198:8;6191:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6191:15:0;;;;;;;;;;;;;;;;;;;;;;;6115:99;:::o;6455:244::-;-1:-1:-1;;;;;6596:14:0;;6530:21;6596:14;;;;;;;;;;;:32;;;:23;;;;:32;;;;;;:45;;6643:47;;;6455:244;;;;;;:::o;4262:114::-;892:42;-1:-1:-1;;;;;1012:13:0;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;998:29:0;:10;-1:-1:-1;;;;;998:29:0;;976:89;;;;-1:-1:-1;;;976:89:0;;;;;;;:::i;:::-;;;;;;;;;4340:12:::1;:28:::0;4262:114::o;4388:::-;892:42;-1:-1:-1;;;;;1012:13:0;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;998:29:0;:10;-1:-1:-1;;;;;998:29:0;;976:89;;;;-1:-1:-1;;;976:89:0;;;;;;;:::i;:::-;4466:12:::1;:28:::0;4388:114::o;6707:543::-;6796:30;;6886:8;;6928:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6928:18:0;;6912:34;;6988:3;6974:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6974:18:0;;6957:35;;7008:6;7003:240;7024:3;7020:1;:7;7003:240;;;-1:-1:-1;;;;;7064:14:0;;:8;:14;;;;;;;;;;:23;;;7088:8;;7097:1;7088:11;;;;;;;:::i;:::-;;;;;;;7064:36;;;;;;;;;;;:49;;;7045:13;7059:1;7045:16;;;;;;;;:::i;:::-;;;;;;:68;;;;;7148:8;:14;7157:4;-1:-1:-1;;;;;7148:14:0;-1:-1:-1;;;;;7148:14:0;;;;;;;;;;;;:23;;:36;7172:8;;7181:1;7172:11;;;;;;;:::i;:::-;;;;;;;7148:36;;;;;;;;;;;:51;;;7128:14;7143:1;7128:17;;;;;;;;:::i;:::-;;;;;;;;;;:71;7226:3;;7003:240;;;;6861:389;6707:543;;;;;;:::o;7621:509::-;7766:8;:15;7722:16;;7755:26;;7751:85;;;7809:8;:15;;-1:-1:-1;7751:85:0;7846:21;7884;7895:10;7884:8;:21;:::i;:::-;7870:36;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7870:36:0;-1:-1:-1;7846:60:0;-1:-1:-1;7917:13:0;7958:10;7941:160;7974:8;7970:1;:12;7941:160;;;8014:8;:21;8023:8;8032:1;8023:11;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;8023:11:0;8014:21;;;;;;;;;;;;:34;8000:11;;:4;;8005:5;;8000:11;;;;;;:::i;:::-;;;;;;;;;;:48;8075:3;8080:7;;;;8075:3;7941:160;;;-1:-1:-1;8118:4:0;;-1:-1:-1;;7621:509:0;;;;;:::o;7258:355::-;7338:16;7381:5;7367:11;7381:5;7428:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7428:18:0;;7404:42;;7462:6;7457:127;7478:3;7474:1;:7;7457:127;;;7509:8;:18;7518:5;;7524:1;7518:8;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7509:18:0;-1:-1:-1;;;;;7509:18:0;;;;;;;;;;;;:31;;;7499:4;7504:1;7499:7;;;;;;;;:::i;:::-;;;;;;;;;;:41;7567:3;;7457:127;;;-1:-1:-1;7601:4:0;7258:355;-1:-1:-1;;;;7258:355:0:o;3093:25::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3093:25:0;;-1:-1:-1;3093:25:0;:::o;8138:470::-;8267:8;:15;8223:16;;8256:26;;8252:85;;;8310:8;:15;;-1:-1:-1;8252:85:0;8347:21;8385;8396:10;8385:8;:21;:::i;:::-;8371:36;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8371:36:0;-1:-1:-1;8347:60:0;-1:-1:-1;8418:13:0;8459:10;8442:137;8475:8;8471:1;:12;8442:137;;;8515:8;8524:1;8515:11;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8515:11:0;8501:4;8506:5;8501:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;8501:25:0;;;:11;;;;;;;;;;;:25;8553:3;8558:7;;;;8553:3;8442:137;;4510:119;892:42;-1:-1:-1;;;;;1012:13:0;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;998:29:0;:10;-1:-1:-1;;;;;998:29:0;;976:89;;;;-1:-1:-1;;;976:89:0;;;;;;;:::i;:::-;4584:10:::1;:37:::0;;-1:-1:-1;;;;;;4584:37:0::1;-1:-1:-1::0;;;;;4584:37:0;;;::::1;::::0;;;::::1;::::0;;4510:119::o;4950:1157::-;1146:26;;-1:-1:-1;;;1146:26:0;;1161:10;1146:26;;;2491:51:1;892:42:0;;1146:14;;2464:18:1;;1146:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1124:88;;;;-1:-1:-1;;;1124:88:0;;8995:2:1;1124:88:0;;;8977:21:1;9034:2;9014:18;;;9007:30;-1:-1:-1;;;9053:18:1;;;9046:42;9105:18;;1124:88:0;8793:336:1;1124:88:0;5084:12:::1;;5074:6;:22;;5052:110;;;::::0;-1:-1:-1;;;5052:110:0;;9336:2:1;5052:110:0::1;::::0;::::1;9318:21:1::0;9375:2;9355:18;;;9348:30;9414:34;9394:18;;;9387:62;-1:-1:-1;;;9465:18:1;;;9458:36;9511:19;;5052:110:0::1;9134:402:1::0;5052:110:0::1;5177:12;::::0;:16;5173:174:::1;;5246:12;;5236:6;:22;;5210:125;;;::::0;-1:-1:-1;;;5210:125:0;;9743:2:1;5210:125:0::1;::::0;::::1;9725:21:1::0;9782:2;9762:18;;;9755:30;9821:34;9801:18;;;9794:62;-1:-1:-1;;;9872:18:1;;;9865:39;9921:19;;5210:125:0::1;9541:405:1::0;5210:125:0::1;-1:-1:-1::0;;;;;5399:14:0;::::1;:8;:14:::0;;;::::1;::::0;;;;;;:27;:32;:46;::::1;;;;5444:1;5435:6;:10;5399:46;5395:98;;;5462:8;:19:::0;;;;::::1;::::0;;-1:-1:-1;5462:19:0;;;;;::::1;::::0;;-1:-1:-1;;;;;;5462:19:0::1;-1:-1:-1::0;;;;;5462:19:0;::::1;;::::0;;5395:98:::1;5656:12;:22:::0;;;::::1;::::0;;-1:-1:-1;;;;;5693:14:0;::::1;-1:-1:-1::0;5693:14:0;;;::::1;::::0;;;;;;;:37;;;::::1;::::0;;5745:32;;;-1:-1:-1;5745:23:0;;::::1;:32:::0;;;;;;:55;;;::::1;::::0;;5865:47;::::1;5863:49:::0;;;;::::1;::::0;;5940:10;;5936:75:::1;;5967:10;::::0;:32:::1;::::0;-1:-1:-1;;;5967:32:0;;-1:-1:-1;;;;;10143:32:1;;;5967::0::1;::::0;::::1;10125:51:1::0;10192:18;;;10185:34;;;5967:10:0;;::::1;::::0;:18:::1;::::0;10098::1;;5967:32:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5936:75;6065:34;::::0;1334:25:1;;;-1:-1:-1;;;;;6065:34:0;::::1;::::0;6082:1:::1;::::0;6065:34:::1;::::0;1322:2:1;1307:18;6065:34:0::1;;;;;;;4950:1157:::0;;;:::o;3472:782::-;892:42;-1:-1:-1;;;;;1012:13:0;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;998:29:0;:10;-1:-1:-1;;;;;998:29:0;;976:89;;;;-1:-1:-1;;;976:89:0;;;;;;;:::i;:::-;3573:8:::1;:15:::0;:20;3565:52:::1;;;::::0;-1:-1:-1;;;3565:52:0;;10432:2:1;3565:52:0::1;::::0;::::1;10414:21:1::0;10471:2;10451:18;;;10444:30;-1:-1:-1;;;10490:18:1;;;10483:49;10549:18;;3565:52:0::1;10230:343:1::0;3565:52:0::1;3658:22;3683:11;-1:-1:-1::0;;;;;3683:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;3683:26:0::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;3773:16:::0;;3658:51;;-1:-1:-1;3773:16:0::1;::::0;:8:::1;::::0;:16:::1;::::0;::::1;::::0;::::1;:::i;:::-;;3815:11;-1:-1:-1::0;;;;;3815:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3800:12;:40:::0;3898:6:::1;3893:354;3914:5;:12;3910:1;:16;3893:354;;;3944:21;3968:11;-1:-1:-1::0;;;;;3968:21:0::1;;3990:5;3996:1;3990:8;;;;;;;;:::i;:::-;;;;;;;3968:31;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2509:32:1;;;;2491:51;;2479:2;2464:18;;2320:228;3968:31:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3944:55;;4048:13;4014:8;:18:::0;4023:5:::1;4029:1;4023:8;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;4014:18:0::1;-1:-1:-1::0;;;;;4014:18:0::1;;;;;;;;;;;;:31;;:47;;;;4076:10;;;;;;;;;-1:-1:-1::0;;;;;4076:10:0::1;-1:-1:-1::0;;;;;4076:22:0::1;;4099:5;4105:1;4099:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;4076:62:::1;::::0;-1:-1:-1;;;;;;4076:62:0::1;::::0;;;;;;-1:-1:-1;;;;;12127:32:1;;;4076:62:0::1;::::0;::::1;12109:51:1::0;12176:18;;;12169:34;;;12239:32;;;12219:18;;;12212:60;12082:18;;4076:62:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;4179:5;4185:1;4179:8;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;4158:45:0::1;4175:1;-1:-1:-1::0;;;;;4158:45:0::1;;4189:13;4158:45;;;;1334:25:1::0;;1322:2;1307:18;;1188:177;4158:45:0::1;;;;;;;;-1:-1:-1::0;4230:3:0::1;;3893:354;;;;3554:700;3472:782:::0;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:527:1;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;263:1;273:140;287:6;284:1;281:13;273:140;;;398:2;382:14;;;378:23;;372:30;367:2;348:17;;;344:26;337:66;302:10;273:140;;;277:3;462:1;457:2;448:6;437:9;433:22;429:31;422:42;532:2;525;521:7;516:2;508:6;504:15;500:29;489:9;485:45;481:54;473:62;;;14:527;;;;:::o;546:637::-;736:2;748:21;;;818:13;;721:18;;;840:22;;;688:4;;919:15;;;893:2;878:18;;;688:4;962:195;976:6;973:1;970:13;962:195;;;1041:13;;-1:-1:-1;;;;;1037:39:1;1025:52;;1106:2;1132:15;;;;1097:12;;;;1073:1;991:9;962:195;;;-1:-1:-1;1174:3:1;;546:637;-1:-1:-1;;;;;546:637:1:o;1559:131::-;-1:-1:-1;;;;;1634:31:1;;1624:42;;1614:70;;1680:1;1677;1670:12;1614:70;1559:131;:::o;1695:367::-;1763:6;1771;1824:2;1812:9;1803:7;1799:23;1795:32;1792:52;;;1840:1;1837;1830:12;1792:52;1879:9;1866:23;1898:31;1923:5;1898:31;:::i;:::-;1948:5;2026:2;2011:18;;;;1998:32;;-1:-1:-1;;;1695:367:1:o;2553:247::-;2612:6;2665:2;2653:9;2644:7;2640:23;2636:32;2633:52;;;2681:1;2678;2671:12;2633:52;2720:9;2707:23;2739:31;2764:5;2739:31;:::i;:::-;2789:5;2553:247;-1:-1:-1;;;2553:247:1:o;2805:226::-;2864:6;2917:2;2905:9;2896:7;2892:23;2888:32;2885:52;;;2933:1;2930;2923:12;2885:52;-1:-1:-1;2978:23:1;;2805:226;-1:-1:-1;2805:226:1:o;3263:367::-;3326:8;3336:6;3390:3;3383:4;3375:6;3371:17;3367:27;3357:55;;3408:1;3405;3398:12;3357:55;-1:-1:-1;3431:20:1;;3474:18;3463:30;;3460:50;;;3506:1;3503;3496:12;3460:50;3543:4;3535:6;3531:17;3519:29;;3603:3;3596:4;3586:6;3583:1;3579:14;3571:6;3567:27;3563:38;3560:47;3557:67;;;3620:1;3617;3610:12;3635:572;3730:6;3738;3746;3799:2;3787:9;3778:7;3774:23;3770:32;3767:52;;;3815:1;3812;3805:12;3767:52;3854:9;3841:23;3873:31;3898:5;3873:31;:::i;:::-;3923:5;-1:-1:-1;3979:2:1;3964:18;;3951:32;4006:18;3995:30;;3992:50;;;4038:1;4035;4028:12;3992:50;4077:70;4139:7;4130:6;4119:9;4115:22;4077:70;:::i;:::-;3635:572;;4166:8;;-1:-1:-1;4051:96:1;;-1:-1:-1;;;;3635:572:1:o;4212:420::-;4265:3;4303:5;4297:12;4330:6;4325:3;4318:19;4362:4;4357:3;4353:14;4346:21;;4401:4;4394:5;4390:16;4424:1;4434:173;4448:6;4445:1;4442:13;4434:173;;;4509:13;;4497:26;;4552:4;4543:14;;;;4580:17;;;;4470:1;4463:9;4434:173;;;-1:-1:-1;4623:3:1;;4212:420;-1:-1:-1;;;;4212:420:1:o;4637:465::-;4894:2;4883:9;4876:21;4857:4;4920:56;4972:2;4961:9;4957:18;4949:6;4920:56;:::i;:::-;5024:9;5016:6;5012:22;5007:2;4996:9;4992:18;4985:50;5052:44;5089:6;5081;5052:44;:::i;:::-;5044:52;4637:465;-1:-1:-1;;;;;4637:465:1:o;5107:346::-;5175:6;5183;5236:2;5224:9;5215:7;5211:23;5207:32;5204:52;;;5252:1;5249;5242:12;5204:52;-1:-1:-1;;5297:23:1;;;5417:2;5402:18;;;5389:32;;-1:-1:-1;5107:346:1:o;5458:261::-;5637:2;5626:9;5619:21;5600:4;5657:56;5709:2;5698:9;5694:18;5686:6;5657:56;:::i;5724:437::-;5810:6;5818;5871:2;5859:9;5850:7;5846:23;5842:32;5839:52;;;5887:1;5884;5877:12;5839:52;5927:9;5914:23;5960:18;5952:6;5949:30;5946:50;;;5992:1;5989;5982:12;5946:50;6031:70;6093:7;6084:6;6073:9;6069:22;6031:70;:::i;:::-;6120:8;;6005:96;;-1:-1:-1;5724:437:1;-1:-1:-1;;;;5724:437:1:o;6374:487::-;6451:6;6459;6467;6520:2;6508:9;6499:7;6495:23;6491:32;6488:52;;;6536:1;6533;6526:12;6488:52;6575:9;6562:23;6594:31;6619:5;6594:31;:::i;:::-;6644:5;6722:2;6707:18;;6694:32;;-1:-1:-1;6825:2:1;6810:18;;;6797:32;;6374:487;-1:-1:-1;;;6374:487:1:o;6866:408::-;6954:6;6962;7015:2;7003:9;6994:7;6990:23;6986:32;6983:52;;;7031:1;7028;7021:12;6983:52;7070:9;7057:23;7089:31;7114:5;7089:31;:::i;:::-;7139:5;-1:-1:-1;7196:2:1;7181:18;;7168:32;7209:33;7168:32;7209:33;:::i;:::-;7261:7;7251:17;;;6866:408;;;;;:::o;7279:138::-;7358:13;;7380:31;7358:13;7380:31;:::i;:::-;7279:138;;;:::o;7422:251::-;7492:6;7545:2;7533:9;7524:7;7520:23;7516:32;7513:52;;;7561:1;7558;7551:12;7513:52;7593:9;7587:16;7612:31;7637:5;7612:31;:::i;7678:334::-;7880:2;7862:21;;;7919:2;7899:18;;;7892:30;-1:-1:-1;;;7953:2:1;7938:18;;7931:40;8003:2;7988:18;;7678:334::o;8017:127::-;8078:10;8073:3;8069:20;8066:1;8059:31;8109:4;8106:1;8099:15;8133:4;8130:1;8123:15;8149:127;8210:10;8205:3;8201:20;8198:1;8191:31;8241:4;8238:1;8231:15;8265:4;8262:1;8255:15;8281:225;8348:9;;;8369:11;;;8366:134;;;8422:10;8417:3;8413:20;8410:1;8403:31;8457:4;8454:1;8447:15;8485:4;8482:1;8475:15;8511:277;8578:6;8631:2;8619:9;8610:7;8606:23;8602:32;8599:52;;;8647:1;8644;8637:12;8599:52;8679:9;8673:16;8732:5;8725:13;8718:21;8711:5;8708:32;8698:60;;8754:1;8751;8744:12;10578:1135;10673:6;10726:2;10714:9;10705:7;10701:23;10697:32;10694:52;;;10742:1;10739;10732:12;10694:52;10775:9;10769:16;10808:18;10800:6;10797:30;10794:50;;;10840:1;10837;10830:12;10794:50;10863:22;;10916:4;10908:13;;10904:27;-1:-1:-1;10894:55:1;;10945:1;10942;10935:12;10894:55;10978:2;10972:9;11004:18;10996:6;10993:30;10990:56;;;11026:18;;:::i;:::-;11072:6;11069:1;11065:14;11108:2;11102:9;11171:2;11167:7;11162:2;11158;11154:11;11150:25;11142:6;11138:38;11242:6;11230:10;11227:22;11206:18;11194:10;11191:34;11188:62;11185:88;;;11253:18;;:::i;:::-;11289:2;11282:22;11339;;;11389:2;11419:11;;;11415:20;;;11339:22;11377:15;;11447:19;;;11444:39;;;11479:1;11476;11469:12;11444:39;11511:2;11507;11503:11;11492:22;;11523:159;11539:6;11534:3;11531:15;11523:159;;;11605:34;11635:3;11605:34;:::i;:::-;11593:47;;11669:2;11556:12;;;;11660;11523:159;;;-1:-1:-1;11701:6:1;10578:1135;-1:-1:-1;;;;;;10578:1135:1:o;11718:184::-;11788:6;11841:2;11829:9;11820:7;11816:23;11812:32;11809:52;;;11857:1;11854;11847:12;11809:52;-1:-1:-1;11880:16:1;;11718:184;-1:-1:-1;11718:184:1:o
Swarm Source
ipfs://96570199b93b91b35b3dc7a67d101dca8ab66c9e983a027107642ebb6921d460
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.