Feature Tip: Add private address tag to any address under My Name Tag !
Overview
Max Total Supply
100,000 AEUR
Holders
66 (0.00%)
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
4,000.528875379 AEURValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
AEUR
Compiler Version
v0.4.24+commit.e67f0147
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-10-23 */ pragma solidity 0.4.24; /* Algoeuro By Hybridverse Labs */ contract Initializable { bool private initialized; bool private initializing; modifier initializer() { require(initializing || isConstructor() || !initialized, "Contract instance has already been initialized"); bool wasInitializing = initializing; initializing = true; initialized = true; _; initializing = wasInitializing; } function isConstructor() private view returns (bool) { uint256 cs; assembly { cs := extcodesize(address) } return cs == 0; } uint256[50] private ______gap; } contract Ownable is Initializable { address private _owner; uint256 private _ownershipLocked; event OwnershipLocked(address lockedOwner); event OwnershipRenounced(address indexed previousOwner); event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); function initialize(address sender) internal initializer { _owner = sender; _ownershipLocked = 0; } function owner() public view returns(address) { return _owner; } modifier onlyOwner() { require(isOwner()); _; } function isOwner() public view returns(bool) { return msg.sender == _owner; } function transferOwnership(address newOwner) public onlyOwner { _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal { require(_ownershipLocked == 0); require(newOwner != address(0)); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } // Set _ownershipLocked flag to lock contract owner forever function lockOwnership() public onlyOwner { require(_ownershipLocked == 0); emit OwnershipLocked(_owner); _ownershipLocked = 1; } uint256[50] private ______gap; } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address who) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); function transfer(address to, uint256 value) external returns (bool); function approve(address spender, uint256 value) external returns (bool); function transferFrom(address from, address to, uint256 value) external returns (bool); event Transfer( address indexed from, address indexed to, uint256 value ); event Approval( address indexed owner, address indexed spender, uint256 value ); } contract ERC20Detailed is Initializable, IERC20 { string private _name; string private _symbol; uint8 private _decimals; function initialize(string name, string symbol, uint8 decimals) internal initializer { _name = name; _symbol = symbol; _decimals = decimals; } function name() public view returns(string) { return _name; } function symbol() public view returns(string) { return _symbol; } function decimals() public view returns(uint8) { return _decimals; } uint256[50] private ______gap; } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } library SafeMathInt { int256 private constant MIN_INT256 = int256(1) << 255; int256 private constant MAX_INT256 = ~(int256(1) << 255); function mul(int256 a, int256 b) internal pure returns (int256) { int256 c = a * b; // Detect overflow when multiplying MIN_INT256 with -1 require(c != MIN_INT256 || (a & MIN_INT256) != (b & MIN_INT256)); require((b == 0) || (c / b == a)); return c; } function div(int256 a, int256 b) internal pure returns (int256) { // Prevent overflow when dividing MIN_INT256 by -1 require(b != -1 || a != MIN_INT256); // Solidity already throws when dividing by 0. return a / b; } function sub(int256 a, int256 b) internal pure returns (int256) { int256 c = a - b; require((b >= 0 && c <= a) || (b < 0 && c > a)); return c; } function add(int256 a, int256 b) internal pure returns (int256) { int256 c = a + b; require((b >= 0 && c >= a) || (b < 0 && c < a)); return c; } function abs(int256 a) internal pure returns (int256) { require(a != MIN_INT256); return a < 0 ? -a : a; } } contract AEUR is Ownable, ERC20Detailed { using SafeMath for uint256; using SafeMathInt for int256; struct Transaction { bool enabled; address destination; bytes data; } event TransactionFailed(address indexed destination, uint index, bytes data); // Stable ordering is not guaranteed. Transaction[] public transactions; event LogRebase(uint256 indexed epoch, uint256 totalSupply); modifier validRecipient(address to) { require(to != address(0x0)); require(to != address(this)); _; } uint256 private constant DECIMALS = 9; uint256 private constant MAX_UINT256 = ~uint256(0); uint256 private constant INITIAL_FRAGMENTS_SUPPLY = 30 * 10**5 * 10**DECIMALS; // TOTAL_GONS is a multiple of INITIAL_FRAGMENTS_SUPPLY so that _gonsPerFragment is an integer. // Use the highest value that fits in a uint256 for max granularity. uint256 private constant TOTAL_GONS = MAX_UINT256 - (MAX_UINT256 % INITIAL_FRAGMENTS_SUPPLY); // MAX_SUPPLY = maximum integer < (sqrt(4*TOTAL_GONS + 1) - 1) / 2 uint256 private constant MAX_SUPPLY = ~uint128(0); // (2^128) - 1 uint256 private _epoch; uint256 private _totalSupply; uint256 private _gonsPerFragment; mapping(address => uint256) private _gonBalances; // This is denominated in Fragments, because the gons-fragments conversion might change before // it's fully paid. mapping (address => mapping (address => uint256)) private _allowedFragments; /** * @dev Notifies Fragments contract about a new rebase cycle. * @param supplyDelta The number of new fragment tokens to add into circulation via expansion. * @return The total number of fragments after the supply adjustment. */ function rebase(int256 supplyDelta) external onlyOwner returns (uint256) { _epoch = _epoch.add(1); if (supplyDelta == 0) { emit LogRebase(_epoch, _totalSupply); return _totalSupply; } if (supplyDelta < 0) { _totalSupply = _totalSupply.sub(uint256(supplyDelta.abs())); } else { _totalSupply = _totalSupply.add(uint256(supplyDelta)); } if (_totalSupply > MAX_SUPPLY) { _totalSupply = MAX_SUPPLY; } _gonsPerFragment = TOTAL_GONS.div(_totalSupply); emit LogRebase(_epoch, _totalSupply); for (uint i = 0; i < transactions.length; i++) { Transaction storage t = transactions[i]; if (t.enabled) { bool result = externalCall(t.destination, t.data); if (!result) { emit TransactionFailed(t.destination, i, t.data); revert("Transaction Failed"); } } } return _totalSupply; } constructor() public { Ownable.initialize(msg.sender); ERC20Detailed.initialize("Algoeuro", "AEUR", uint8(DECIMALS)); _totalSupply = INITIAL_FRAGMENTS_SUPPLY; _gonBalances[msg.sender] = TOTAL_GONS; _gonsPerFragment = TOTAL_GONS.div(_totalSupply); emit Transfer(address(0x0), msg.sender, _totalSupply); } function totalSupply() public view returns (uint256) { return _totalSupply; } function balanceOf(address who) public view returns (uint256) { return _gonBalances[who].div(_gonsPerFragment); } function transfer(address to, uint256 value) public validRecipient(to) returns (bool) { uint256 merValue = value.mul(_gonsPerFragment); _gonBalances[msg.sender] = _gonBalances[msg.sender].sub(merValue); _gonBalances[to] = _gonBalances[to].add(merValue); emit Transfer(msg.sender, to, value); return true; } function allowance(address owner_, address spender) public view returns (uint256) { return _allowedFragments[owner_][spender]; } /** * @dev Transfer tokens from one address to another. * @param from The address you want to send tokens from. * @param to The address you want to transfer to. * @param value The amount of tokens to be transferred. */ function transferFrom(address from, address to, uint256 value) public validRecipient(to) returns (bool) { _allowedFragments[from][msg.sender] = _allowedFragments[from][msg.sender].sub(value); uint256 merValue = value.mul(_gonsPerFragment); _gonBalances[from] = _gonBalances[from].sub(merValue); _gonBalances[to] = _gonBalances[to].add(merValue); emit Transfer(from, to, value); return true; } /** * @dev Approve the passed address to spend the specified amount of tokens on behalf of * msg.sender. This method is included for ERC20 compatibility. * increaseAllowance and decreaseAllowance should be used instead. * Changing an allowance with this method brings the risk that someone may transfer both * the old and the new allowance - if they are both greater than zero - if a transfer * transaction is mined before the later approve() call is mined. * * @param spender The address which will spend the funds. * @param value The amount of tokens to be spent. */ function approve(address spender, uint256 value) public returns (bool) { _allowedFragments[msg.sender][spender] = value; emit Approval(msg.sender, spender, value); return true; } function increaseAllowance(address spender, uint256 addedValue) public returns (bool) { _allowedFragments[msg.sender][spender] = _allowedFragments[msg.sender][spender].add(addedValue); emit Approval(msg.sender, spender, _allowedFragments[msg.sender][spender]); return true; } /** * @dev Decrease the amount of tokens that an owner has allowed to a spender. * * @param spender The address which will spend the funds. * @param subtractedValue The amount of tokens to decrease the allowance by. */ function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) { uint256 oldValue = _allowedFragments[msg.sender][spender]; if (subtractedValue >= oldValue) { _allowedFragments[msg.sender][spender] = 0; } else { _allowedFragments[msg.sender][spender] = oldValue.sub(subtractedValue); } emit Approval(msg.sender, spender, _allowedFragments[msg.sender][spender]); return true; } function addTransaction(address destination, bytes data) external onlyOwner { transactions.push(Transaction({ enabled: true, destination: destination, data: data })); } function removeTransaction(uint index) external onlyOwner { require(index < transactions.length, "index out of bounds"); if (index < transactions.length - 1) { transactions[index] = transactions[transactions.length - 1]; } transactions.length--; } function setTransactionEnabled(uint index, bool enabled) external onlyOwner { require(index < transactions.length, "index must be in range of stored tx list"); transactions[index].enabled = enabled; } function transactionsSize() external view returns (uint256) { return transactions.length; } function externalCall(address destination, bytes data) internal returns (bool) { bool result; assembly { // solhint-disable-line no-inline-assembly // "Allocate" memory for output // (0x40 is where "free memory" pointer is stored by convention) let outputAddress := mload(0x40) // First 32 bytes are the padded length of data, so exclude that let dataAddress := add(data, 32) result := call( // 34710 is the value that solidity is currently emitting // It includes callGas (700) + callVeryLow (3, to pay for SUB) // + callValueTransferGas (9000) + callNewAccountGas // (25000, in case the destination address does not exist and needs creating) sub(gas, 34710), destination, 0, // transfer value in wei dataAddress, mload(data), // Size of the input, in bytes. Stored in position 0 of the array. outputAddress, 0 // Output is ignored, therefore the output size is zero ) } return result; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[],"name":"lockOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"supplyDelta","type":"int256"}],"name":"rebase","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"destination","type":"address"},{"name":"data","type":"bytes"}],"name":"addTransaction","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"index","type":"uint256"}],"name":"removeTransaction","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"index","type":"uint256"},{"name":"enabled","type":"bool"}],"name":"setTransactionEnabled","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"who","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"transactionsSize","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"transactions","outputs":[{"name":"enabled","type":"bool"},{"name":"destination","type":"address"},{"name":"data","type":"bytes"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"owner_","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"destination","type":"address"},{"indexed":false,"name":"index","type":"uint256"},{"indexed":false,"name":"data","type":"bytes"}],"name":"TransactionFailed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"epoch","type":"uint256"},{"indexed":false,"name":"totalSupply","type":"uint256"}],"name":"LogRebase","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"lockedOwner","type":"address"}],"name":"OwnershipLocked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"}],"name":"OwnershipRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Contract Creation Code
60806040523480156200001157600080fd5b506200003133620001e064010000000002620026f3176401000000009004565b620000bd6040805190810160405280600881526020017f416c676f6575726f0000000000000000000000000000000000000000000000008152506040805190810160405280600481526020017f41455552000000000000000000000000000000000000000000000000000000008152506009620003736401000000000262002872176401000000009004565b6009600a0a622dc6c002609e819055506009600a0a622dc6c002600019811515620000e457fe5b066000190360a060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200016c609e546009600a0a622dc6c0026000198115156200014a57fe5b06600019036200050c640100000000026200210d179091906401000000009004565b609f819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef609e546040518082815260200191505060405180910390a3620006f6565b60008060019054906101000a900460ff16806200021257506200021162000567640100000000026401000000009004565b5b806200022a57506000809054906101000a900460ff16155b1515620002c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b600060019054906101000a900460ff1690506001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff02191690831515021790555081603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600060348190555080600060016101000a81548160ff0219169083151502179055505050565b60008060019054906101000a900460ff1680620003a55750620003a462000567640100000000026401000000009004565b5b80620003bd57506000809054906101000a900460ff16155b151562000458576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b600060019054906101000a900460ff1690506001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055508360679080519060200190620004b792919062000647565b508260689080519060200190620004d092919062000647565b5081606960006101000a81548160ff021916908360ff16021790555080600060016101000a81548160ff02191690831515021790555050505050565b60006200055f83836040805190810160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062000578640100000000026401000000009004565b905092915050565b600080303b90506000811491505090565b60008060008411839015156200062c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620005f0578082015181840152602081019050620005d3565b50505050905090810190601f1680156200061e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5083858115156200063957fe5b049050809150509392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200068a57805160ff1916838001178555620006bb565b82800160010185558215620006bb579182015b82811115620006ba5782518255916020019190600101906200069d565b5b509050620006ca9190620006ce565b5090565b620006f391905b80821115620006ef576000816000905550600101620006d5565b5090565b90565b612ab080620007066000396000f30060806040526004361061011d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630577c02b1461012257806306fdde0314610139578063095ea7b3146101c95780630ab114f91461022e578063126e19be1461026f57806318160ddd146102ca57806323b872dd146102f5578063313ce5671461037a57806339509351146103ab57806346c3bd1f146104105780636e9dde991461043d57806370a08231146104765780638da5cb5b146104cd5780638f32d59b1461052457806391d4ec181461055357806395d89b411461057e5780639ace38c21461060e578063a457c2d7146106f2578063a9059cbb14610757578063dd62ed3e146107bc578063f2fde38b14610833575b600080fd5b34801561012e57600080fd5b50610137610876565b005b34801561014557600080fd5b5061014e610929565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561018e578082015181840152602081019050610173565b50505050905090810190601f1680156101bb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101d557600080fd5b50610214600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109cb565b604051808215151515815260200191505060405180910390f35b34801561023a57600080fd5b5061025960048036038101908080359060200190929190505050610abd565b6040518082815260200191505060405180910390f35b34801561027b57600080fd5b506102c8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001919091929391929390505050610edd565b005b3480156102d657600080fd5b506102df611010565b6040518082815260200191505060405180910390f35b34801561030157600080fd5b50610360600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061101a565b604051808215151515815260200191505060405180910390f35b34801561038657600080fd5b5061038f611357565b604051808260ff1660ff16815260200191505060405180910390f35b3480156103b757600080fd5b506103f6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061136e565b604051808215151515815260200191505060405180910390f35b34801561041c57600080fd5b5061043b6004803603810190808035906020019092919050505061156a565b005b34801561044957600080fd5b5061047460048036038101908080359060200190929190803515159060200190929190505050611724565b005b34801561048257600080fd5b506104b7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611815565b6040518082815260200191505060405180910390f35b3480156104d957600080fd5b506104e2611872565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561053057600080fd5b5061053961189c565b604051808215151515815260200191505060405180910390f35b34801561055f57600080fd5b506105686118f4565b6040518082815260200191505060405180910390f35b34801561058a57600080fd5b50610593611901565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105d35780820151818401526020810190506105b8565b50505050905090810190601f1680156106005780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561061a57600080fd5b50610639600480360381019080803590602001909291905050506119a3565b60405180841515151581526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b838110156106b557808201518184015260208101905061069a565b50505050905090810190601f1680156106e25780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b3480156106fe57600080fd5b5061073d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611aa1565b604051808215151515815260200191505060405180910390f35b34801561076357600080fd5b506107a2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611d33565b604051808215151515815260200191505060405180910390f35b3480156107c857600080fd5b5061081d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f60565b6040518082815260200191505060405180910390f35b34801561083f57600080fd5b50610874600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611fe7565b005b61087e61189c565b151561088957600080fd5b600060345414151561089a57600080fd5b7f88edfb4ea96673000ad101b18d1c7dbd727c5d92217c8d0b9966f2aaf77e93f4603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a16001603481905550565b606060678054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109c15780601f10610996576101008083540402835291602001916109c1565b820191906000526020600020905b8154815290600101906020018083116109a457829003601f168201915b5050505050905090565b60008160a160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600080600080610acb61189c565b1515610ad657600080fd5b610aec6001609d5461200690919063ffffffff16565b609d819055506000851415610b4157609d547f72725a3b1e5bd622d6bcd1339bb31279c351abe8f541ac7fd320f24e1b1641f2609e546040518082815260200191505060405180910390a2609e549350610ed5565b6000851215610b7257610b67610b5686612090565b609e546120c390919063ffffffff16565b609e81905550610b8e565b610b8785609e5461200690919063ffffffff16565b609e819055505b6000196fffffffffffffffffffffffffffffffff16609e541115610bc8576000196fffffffffffffffffffffffffffffffff16609e819055505b610bf7609e546009600a0a622dc6c002600019811515610be457fe5b066000190361210d90919063ffffffff16565b609f81905550609d547f72725a3b1e5bd622d6bcd1339bb31279c351abe8f541ac7fd320f24e1b1641f2609e546040518082815260200191505060405180910390a2600092505b609c80549050831015610ecf57609c83815481101515610c5a57fe5b906000526020600020906002020191508160000160009054906101000a900460ff1615610ec257610d4b8260000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d415780601f10610d1657610100808354040283529160200191610d41565b820191906000526020600020905b815481529060010190602001808311610d2457829003601f168201915b5050505050612157565b9050801515610ec1578160000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8091ecaaa54ebb82e02d36c2c336528e0fcb9b3430fc1291ac88295032b9c26384846001016040518083815260200180602001828103825283818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015610e445780601f10610e1957610100808354040283529160200191610e44565b820191906000526020600020905b815481529060010190602001808311610e2757829003601f168201915b5050935050505060405180910390a26040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e204661696c6564000000000000000000000000000081525060200191505060405180910390fd5b5b8280600101935050610c3e565b609e5493505b505050919050565b610ee561189c565b1515610ef057600080fd5b609c6060604051908101604052806001151581526020018573ffffffffffffffffffffffffffffffffffffffff16815260200184848080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050508152509080600181540180825580915050906001820390600052602060002090600202016000909192909190915060008201518160000160006101000a81548160ff02191690831515021790555060208201518160000160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010190805190602001906110079291906124e3565b50505050505050565b6000609e54905090565b60008083600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561105a57600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561109557600080fd5b6111248460a160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120c390919063ffffffff16565b60a160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506111b9609f548561217e90919063ffffffff16565b915061120d8260a060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120c390919063ffffffff16565b60a060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506112a28260a060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461200690919063ffffffff16565b60a060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a36001925050509392505050565b6000606960009054906101000a900460ff16905090565b60006113ff8260a160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461200690919063ffffffff16565b60a160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560a160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b61157261189c565b151561157d57600080fd5b609c80549050811015156115f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f696e646578206f7574206f6620626f756e64730000000000000000000000000081525060200191505060405180910390fd5b6001609c805490500381101561170b57609c6001609c805490500381548110151561162057fe5b9060005260206000209060020201609c8281548110151561163d57fe5b90600052602060002090600202016000820160009054906101000a900460ff168160000160006101000a81548160ff0219169083151502179055506000820160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160000160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018201816001019080546001816001161561010002031660029004611706929190612563565b509050505b609c80548091906001900361172091906125ea565b5050565b61172c61189c565b151561173757600080fd5b609c80549050821015156117d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001807f696e646578206d75737420626520696e2072616e6765206f662073746f72656481526020017f207478206c69737400000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b80609c838154811015156117e957fe5b906000526020600020906002020160000160006101000a81548160ff0219169083151502179055505050565b600061186b609f5460a060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461210d90919063ffffffff16565b9050919050565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b6000609c80549050905090565b606060688054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156119995780601f1061196e57610100808354040283529160200191611999565b820191906000526020600020905b81548152906001019060200180831161197c57829003601f168201915b5050505050905090565b609c818154811015156119b257fe5b90600052602060002090600202016000915090508060000160009054906101000a900460ff16908060000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611a975780601f10611a6c57610100808354040283529160200191611a97565b820191906000526020600020905b815481529060010190602001808311611a7a57829003601f168201915b5050505050905083565b60008060a160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083101515611bb357600060a160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c47565b611bc683826120c390919063ffffffff16565b60a160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560a160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008083600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611d7357600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611dae57600080fd5b611dc3609f548561217e90919063ffffffff16565b9150611e178260a060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120c390919063ffffffff16565b60a060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611eac8260a060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461200690919063ffffffff16565b60a060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a360019250505092915050565b600060a160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611fef61189c565b1515611ffa57600080fd5b6120038161224b565b50565b6000808284019050838110151515612086576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600060ff60019060020a0282141515156120a957600080fd5b600082126120b757816120bc565b816000035b9050919050565b600061210583836040805190810160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612358565b905092915050565b600061214f83836040805190810160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612419565b905092915050565b6000806040516020840160008286518360008a6187965a03f1925050508091505092915050565b60008060008414156121935760009150612244565b82840290508284828115156121a457fe5b04141515612240576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001807f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f81526020017f770000000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b8091505b5092915050565b600060345414151561225c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561229857600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000808484111583901515612408576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156123cd5780820151818401526020810190506123b2565b50505050905090810190601f1680156123fa5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b508385039050809150509392505050565b60008060008411839015156124c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561248e578082015181840152602081019050612473565b50505050905090810190601f1680156124bb5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5083858115156124d557fe5b049050809150509392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061252457805160ff1916838001178555612552565b82800160010185558215612552579182015b82811115612551578251825591602001919060010190612536565b5b50905061255f919061261c565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061259c57805485556125d9565b828001600101855582156125d957600052602060002091601f016020900482015b828111156125d85782548255916001019190600101906125bd565b5b5090506125e6919061261c565b5090565b815481835581811115612617576002028160020283600052602060002091820191016126169190612641565b5b505050565b61263e91905b8082111561263a576000816000905550600101612622565b5090565b90565b6126a891905b808211156126a457600080820160006101000a81549060ff02191690556000820160016101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905560018201600061269b91906126ab565b50600201612647565b5090565b90565b50805460018160011615610100020316600290046000825580601f106126d157506126f0565b601f0160209004906000526020600020908101906126ef919061261c565b5b50565b60008060019054906101000a900460ff168061271357506127126129f3565b5b8061272a57506000809054906101000a900460ff16155b15156127c4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b600060019054906101000a900460ff1690506001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff02191690831515021790555081603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600060348190555080600060016101000a81548160ff0219169083151502179055505050565b60008060019054906101000a900460ff168061289257506128916129f3565b5b806128a957506000809054906101000a900460ff16155b1515612943576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b600060019054906101000a900460ff1690506001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff02191690831515021790555083606790805190602001906129a0929190612a04565b5082606890805190602001906129b7929190612a04565b5081606960006101000a81548160ff021916908360ff16021790555080600060016101000a81548160ff02191690831515021790555050505050565b600080303b90506000811491505090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612a4557805160ff1916838001178555612a73565b82800160010185558215612a73579182015b82811115612a72578251825591602001919060010190612a57565b5b509050612a80919061261c565b50905600a165627a7a72305820b9154e5583810d770057125b3e22e10e70b03d437771300490bd8c449543c5310029
Deployed Bytecode
0x60806040526004361061011d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630577c02b1461012257806306fdde0314610139578063095ea7b3146101c95780630ab114f91461022e578063126e19be1461026f57806318160ddd146102ca57806323b872dd146102f5578063313ce5671461037a57806339509351146103ab57806346c3bd1f146104105780636e9dde991461043d57806370a08231146104765780638da5cb5b146104cd5780638f32d59b1461052457806391d4ec181461055357806395d89b411461057e5780639ace38c21461060e578063a457c2d7146106f2578063a9059cbb14610757578063dd62ed3e146107bc578063f2fde38b14610833575b600080fd5b34801561012e57600080fd5b50610137610876565b005b34801561014557600080fd5b5061014e610929565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561018e578082015181840152602081019050610173565b50505050905090810190601f1680156101bb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101d557600080fd5b50610214600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109cb565b604051808215151515815260200191505060405180910390f35b34801561023a57600080fd5b5061025960048036038101908080359060200190929190505050610abd565b6040518082815260200191505060405180910390f35b34801561027b57600080fd5b506102c8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001919091929391929390505050610edd565b005b3480156102d657600080fd5b506102df611010565b6040518082815260200191505060405180910390f35b34801561030157600080fd5b50610360600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061101a565b604051808215151515815260200191505060405180910390f35b34801561038657600080fd5b5061038f611357565b604051808260ff1660ff16815260200191505060405180910390f35b3480156103b757600080fd5b506103f6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061136e565b604051808215151515815260200191505060405180910390f35b34801561041c57600080fd5b5061043b6004803603810190808035906020019092919050505061156a565b005b34801561044957600080fd5b5061047460048036038101908080359060200190929190803515159060200190929190505050611724565b005b34801561048257600080fd5b506104b7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611815565b6040518082815260200191505060405180910390f35b3480156104d957600080fd5b506104e2611872565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561053057600080fd5b5061053961189c565b604051808215151515815260200191505060405180910390f35b34801561055f57600080fd5b506105686118f4565b6040518082815260200191505060405180910390f35b34801561058a57600080fd5b50610593611901565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105d35780820151818401526020810190506105b8565b50505050905090810190601f1680156106005780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561061a57600080fd5b50610639600480360381019080803590602001909291905050506119a3565b60405180841515151581526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b838110156106b557808201518184015260208101905061069a565b50505050905090810190601f1680156106e25780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b3480156106fe57600080fd5b5061073d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611aa1565b604051808215151515815260200191505060405180910390f35b34801561076357600080fd5b506107a2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611d33565b604051808215151515815260200191505060405180910390f35b3480156107c857600080fd5b5061081d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f60565b6040518082815260200191505060405180910390f35b34801561083f57600080fd5b50610874600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611fe7565b005b61087e61189c565b151561088957600080fd5b600060345414151561089a57600080fd5b7f88edfb4ea96673000ad101b18d1c7dbd727c5d92217c8d0b9966f2aaf77e93f4603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a16001603481905550565b606060678054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109c15780601f10610996576101008083540402835291602001916109c1565b820191906000526020600020905b8154815290600101906020018083116109a457829003601f168201915b5050505050905090565b60008160a160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600080600080610acb61189c565b1515610ad657600080fd5b610aec6001609d5461200690919063ffffffff16565b609d819055506000851415610b4157609d547f72725a3b1e5bd622d6bcd1339bb31279c351abe8f541ac7fd320f24e1b1641f2609e546040518082815260200191505060405180910390a2609e549350610ed5565b6000851215610b7257610b67610b5686612090565b609e546120c390919063ffffffff16565b609e81905550610b8e565b610b8785609e5461200690919063ffffffff16565b609e819055505b6000196fffffffffffffffffffffffffffffffff16609e541115610bc8576000196fffffffffffffffffffffffffffffffff16609e819055505b610bf7609e546009600a0a622dc6c002600019811515610be457fe5b066000190361210d90919063ffffffff16565b609f81905550609d547f72725a3b1e5bd622d6bcd1339bb31279c351abe8f541ac7fd320f24e1b1641f2609e546040518082815260200191505060405180910390a2600092505b609c80549050831015610ecf57609c83815481101515610c5a57fe5b906000526020600020906002020191508160000160009054906101000a900460ff1615610ec257610d4b8260000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d415780601f10610d1657610100808354040283529160200191610d41565b820191906000526020600020905b815481529060010190602001808311610d2457829003601f168201915b5050505050612157565b9050801515610ec1578160000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8091ecaaa54ebb82e02d36c2c336528e0fcb9b3430fc1291ac88295032b9c26384846001016040518083815260200180602001828103825283818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015610e445780601f10610e1957610100808354040283529160200191610e44565b820191906000526020600020905b815481529060010190602001808311610e2757829003601f168201915b5050935050505060405180910390a26040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e204661696c6564000000000000000000000000000081525060200191505060405180910390fd5b5b8280600101935050610c3e565b609e5493505b505050919050565b610ee561189c565b1515610ef057600080fd5b609c6060604051908101604052806001151581526020018573ffffffffffffffffffffffffffffffffffffffff16815260200184848080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050508152509080600181540180825580915050906001820390600052602060002090600202016000909192909190915060008201518160000160006101000a81548160ff02191690831515021790555060208201518160000160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010190805190602001906110079291906124e3565b50505050505050565b6000609e54905090565b60008083600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561105a57600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561109557600080fd5b6111248460a160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120c390919063ffffffff16565b60a160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506111b9609f548561217e90919063ffffffff16565b915061120d8260a060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120c390919063ffffffff16565b60a060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506112a28260a060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461200690919063ffffffff16565b60a060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a36001925050509392505050565b6000606960009054906101000a900460ff16905090565b60006113ff8260a160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461200690919063ffffffff16565b60a160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560a160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b61157261189c565b151561157d57600080fd5b609c80549050811015156115f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f696e646578206f7574206f6620626f756e64730000000000000000000000000081525060200191505060405180910390fd5b6001609c805490500381101561170b57609c6001609c805490500381548110151561162057fe5b9060005260206000209060020201609c8281548110151561163d57fe5b90600052602060002090600202016000820160009054906101000a900460ff168160000160006101000a81548160ff0219169083151502179055506000820160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160000160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018201816001019080546001816001161561010002031660029004611706929190612563565b509050505b609c80548091906001900361172091906125ea565b5050565b61172c61189c565b151561173757600080fd5b609c80549050821015156117d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001807f696e646578206d75737420626520696e2072616e6765206f662073746f72656481526020017f207478206c69737400000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b80609c838154811015156117e957fe5b906000526020600020906002020160000160006101000a81548160ff0219169083151502179055505050565b600061186b609f5460a060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461210d90919063ffffffff16565b9050919050565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b6000609c80549050905090565b606060688054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156119995780601f1061196e57610100808354040283529160200191611999565b820191906000526020600020905b81548152906001019060200180831161197c57829003601f168201915b5050505050905090565b609c818154811015156119b257fe5b90600052602060002090600202016000915090508060000160009054906101000a900460ff16908060000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611a975780601f10611a6c57610100808354040283529160200191611a97565b820191906000526020600020905b815481529060010190602001808311611a7a57829003601f168201915b5050505050905083565b60008060a160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083101515611bb357600060a160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c47565b611bc683826120c390919063ffffffff16565b60a160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560a160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008083600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611d7357600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611dae57600080fd5b611dc3609f548561217e90919063ffffffff16565b9150611e178260a060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120c390919063ffffffff16565b60a060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611eac8260a060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461200690919063ffffffff16565b60a060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a360019250505092915050565b600060a160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611fef61189c565b1515611ffa57600080fd5b6120038161224b565b50565b6000808284019050838110151515612086576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600060ff60019060020a0282141515156120a957600080fd5b600082126120b757816120bc565b816000035b9050919050565b600061210583836040805190810160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612358565b905092915050565b600061214f83836040805190810160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612419565b905092915050565b6000806040516020840160008286518360008a6187965a03f1925050508091505092915050565b60008060008414156121935760009150612244565b82840290508284828115156121a457fe5b04141515612240576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001807f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f81526020017f770000000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b8091505b5092915050565b600060345414151561225c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561229857600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000808484111583901515612408576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156123cd5780820151818401526020810190506123b2565b50505050905090810190601f1680156123fa5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b508385039050809150509392505050565b60008060008411839015156124c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561248e578082015181840152602081019050612473565b50505050905090810190601f1680156124bb5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5083858115156124d557fe5b049050809150509392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061252457805160ff1916838001178555612552565b82800160010185558215612552579182015b82811115612551578251825591602001919060010190612536565b5b50905061255f919061261c565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061259c57805485556125d9565b828001600101855582156125d957600052602060002091601f016020900482015b828111156125d85782548255916001019190600101906125bd565b5b5090506125e6919061261c565b5090565b815481835581811115612617576002028160020283600052602060002091820191016126169190612641565b5b505050565b61263e91905b8082111561263a576000816000905550600101612622565b5090565b90565b6126a891905b808211156126a457600080820160006101000a81549060ff02191690556000820160016101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905560018201600061269b91906126ab565b50600201612647565b5090565b90565b50805460018160011615610100020316600290046000825580601f106126d157506126f0565b601f0160209004906000526020600020908101906126ef919061261c565b5b50565b60008060019054906101000a900460ff168061271357506127126129f3565b5b8061272a57506000809054906101000a900460ff16155b15156127c4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b600060019054906101000a900460ff1690506001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff02191690831515021790555081603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600060348190555080600060016101000a81548160ff0219169083151502179055505050565b60008060019054906101000a900460ff168061289257506128916129f3565b5b806128a957506000809054906101000a900460ff16155b1515612943576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b600060019054906101000a900460ff1690506001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff02191690831515021790555083606790805190602001906129a0929190612a04565b5082606890805190602001906129b7929190612a04565b5081606960006101000a81548160ff021916908360ff16021790555080600060016101000a81548160ff02191690831515021790555050505050565b600080303b90506000811491505090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612a4557805160ff1916838001178555612a73565b82800160010185558215612a73579182015b82811115612a72578251825591602001919060010190612a57565b5b509050612a80919061261c565b50905600a165627a7a72305820b9154e5583810d770057125b3e22e10e70b03d437771300490bd8c449543c5310029
Deployed Bytecode Sourcemap
6046:9202:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1718:141;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1718:141:0;;;;;;2910:69;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2910:69:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;2910:69:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11641:233;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11641:233:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7878:1120;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7878:1120:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13008:253;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13008:253:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9378:123;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9378:123:0;;;;;;;;;;;;;;;;;;;;;;;10512:487;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10512:487:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3064:76;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3064:76:0;;;;;;;;;;;;;;;;;;;;;;;;;;;11882:343;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11882:343:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13269:328;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13269:328:0;;;;;;;;;;;;;;;;;;;;;;;;;;13605:246;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13605:246:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9509:159;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9509:159:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1093:72;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1093:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;1237:85;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1237:85:0;;;;;;;;;;;;;;;;;;;;;;;;;;;13859:137;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13859:137:0;;;;;;;;;;;;;;;;;;;;;;;2985:73;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2985:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;2985:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6400:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6400:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;6400:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12487:512;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12487:512:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9678:388;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9678:388:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10076:174;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10076:174:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1328:103;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1328:103:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;1718:141;1207:9;:7;:9::i;:::-;1199:18;;;;;;;;1792:1;1772:16;;:21;1764:30;;;;;;;;1803:23;1819:6;;;;;;;;;;;1803:23;;;;;;;;;;;;;;;;;;;;;;1852:1;1833:16;:20;;;;1718:141::o;2910:69::-;2946:6;2968:5;2961:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2910:69;:::o;11641:233::-;11724:4;11787:5;11746:17;:29;11764:10;11746:29;;;;;;;;;;;;;;;:38;11776:7;11746:38;;;;;;;;;;;;;;;:46;;;;11829:7;11808:36;;11817:10;11808:36;;;11838:5;11808:36;;;;;;;;;;;;;;;;;;11862:4;11855:11;;11641:233;;;;:::o;7878:1120::-;7969:7;8563:6;8620:21;8708:11;1207:9;:7;:9::i;:::-;1199:18;;;;;;;;8000:13;8011:1;8000:6;;:10;;:13;;;;:::i;:::-;7991:6;:22;;;;8047:1;8032:11;:16;8028:119;;;8080:6;;8070:31;8088:12;;8070:31;;;;;;;;;;;;;;;;;;8123:12;;8116:19;;;;8028:119;8177:1;8163:11;:15;8159:193;;;8210:44;8235:17;:11;:15;:17::i;:::-;8210:12;;:16;;:44;;;;:::i;:::-;8195:12;:59;;;;8159:193;;;8302:38;8327:11;8302:12;;:16;;:38;;;;:::i;:::-;8287:12;:53;;;;8159:193;7227:1;7218:11;8383:10;;8368:12;;:25;8364:83;;;7227:1;7218:11;8425:10;;8410:12;:25;;;;8364:83;8478:28;8493:12;;6687:1;6817:2;:12;6804:10;:25;6743:1;6734:11;7063:38;;;;;;;;6743:1;6734:11;7048:54;8478:14;;:28;;;;:::i;:::-;8459:16;:47;;;;8530:6;;8520:31;8538:12;;8520:31;;;;;;;;;;;;;;;;;;8572:1;8563:10;;8558:399;8579:12;:19;;;;8575:1;:23;8558:399;;;8644:12;8657:1;8644:15;;;;;;;;;;;;;;;;;;;;8620:39;;8678:1;:9;;;;;;;;;;;;8674:272;;;8722:35;8735:1;:13;;;;;;;;;;;;8750:1;:6;;8722:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:12;:35::i;:::-;8708:49;;8781:6;8780:7;8776:155;;;8835:1;:13;;;;;;;;;;;;8817:43;;;8850:1;8853;:6;;8817:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8883:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8776:155;8674:272;8600:3;;;;;;;8558:399;;;8978:12;;8971:19;;1224:1;7878:1120;;;;;;:::o;13008:253::-;1207:9;:7;:9::i;:::-;1199:18;;;;;;;;13118:12;13136:116;;;;;;;;;13172:4;13136:116;;;;;;13204:11;13136:116;;;;;;13236:4;;13136:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13118:135;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;13118:135:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;13008:253;;;:::o;9378:123::-;9449:7;9481:12;;9474:19;;9378:123;:::o;10512:487::-;10637:4;10756:16;10615:2;6579:3;6565:18;;:2;:18;;;;6557:27;;;;;;;;6617:4;6603:19;;:2;:19;;;;6595:28;;;;;;;;10697:46;10737:5;10697:17;:23;10715:4;10697:23;;;;;;;;;;;;;;;:35;10721:10;10697:35;;;;;;;;;;;;;;;;:39;;:46;;;;:::i;:::-;10659:17;:23;10677:4;10659:23;;;;;;;;;;;;;;;:35;10683:10;10659:35;;;;;;;;;;;;;;;:84;;;;10775:27;10785:16;;10775:5;:9;;:27;;;;:::i;:::-;10756:46;;10834:32;10857:8;10834:12;:18;10847:4;10834:18;;;;;;;;;;;;;;;;:22;;:32;;;;:::i;:::-;10813:12;:18;10826:4;10813:18;;;;;;;;;;;;;;;:53;;;;10896:30;10917:8;10896:12;:16;10909:2;10896:16;;;;;;;;;;;;;;;;:20;;:30;;;;:::i;:::-;10877:12;:16;10890:2;10877:16;;;;;;;;;;;;;;;:49;;;;10957:2;10942:25;;10951:4;10942:25;;;10961:5;10942:25;;;;;;;;;;;;;;;;;;10987:4;10980:11;;10512:487;;;;;;;:::o;3064:76::-;3104:5;3125:9;;;;;;;;;;;3118:16;;3064:76;:::o;11882:343::-;11980:4;12056:54;12099:10;12056:17;:29;12074:10;12056:29;;;;;;;;;;;;;;;:38;12086:7;12056:38;;;;;;;;;;;;;;;;:42;;:54;;;;:::i;:::-;12002:17;:29;12020:10;12002:29;;;;;;;;;;;;;;;:38;12032:7;12002:38;;;;;;;;;;;;;;;:108;;;;12147:7;12126:69;;12135:10;12126:69;;;12156:17;:29;12174:10;12156:29;;;;;;;;;;;;;;;:38;12186:7;12156:38;;;;;;;;;;;;;;;;12126:69;;;;;;;;;;;;;;;;;;12213:4;12206:11;;11882:343;;;;:::o;13269:328::-;1207:9;:7;:9::i;:::-;1199:18;;;;;;;;13377:12;:19;;;;13369:5;:27;13361:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13467:1;13445:12;:19;;;;:23;13437:5;:31;13433:123;;;13507:12;13542:1;13520:12;:19;;;;:23;13507:37;;;;;;;;;;;;;;;;;;;;13485:12;13498:5;13485:19;;;;;;;;;;;;;;;;;;;;:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;13433:123;13568:12;:21;;;;;;;;;;;;:::i;:::-;;13269:328;:::o;13605:246::-;1207:9;:7;:9::i;:::-;1199:18;;;;;;;;13731:12;:19;;;;13723:5;:27;13715:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13836:7;13806:12;13819:5;13806:19;;;;;;;;;;;;;;;;;;;;:27;;;:37;;;;;;;;;;;;;;;;;;13605:246;;:::o;9509:159::-;9589:7;9621:39;9643:16;;9621:12;:17;9634:3;9621:17;;;;;;;;;;;;;;;;:21;;:39;;;;:::i;:::-;9614:46;;9509:159;;;:::o;1093:72::-;1130:7;1153:6;;;;;;;;;;;1146:13;;1093:72;:::o;1237:85::-;1276:4;1310:6;;;;;;;;;;;1296:20;;:10;:20;;;1289:27;;1237:85;:::o;13859:137::-;13937:7;13969:12;:19;;;;13962:26;;13859:137;:::o;2985:73::-;3023:6;3045:7;3038:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2985:73;:::o;6400:33::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;12487:512::-;12590:4;12612:16;12631:17;:29;12649:10;12631:29;;;;;;;;;;;;;;;:38;12661:7;12631:38;;;;;;;;;;;;;;;;12612:57;;12703:8;12684:15;:27;;12680:205;;;12769:1;12728:17;:29;12746:10;12728:29;;;;;;;;;;;;;;;:38;12758:7;12728:38;;;;;;;;;;;;;;;:42;;;;12680:205;;;12844:29;12857:15;12844:8;:12;;:29;;;;:::i;:::-;12803:17;:29;12821:10;12803:29;;;;;;;;;;;;;;;:38;12833:7;12803:38;;;;;;;;;;;;;;;:70;;;;12680:205;12921:7;12900:69;;12909:10;12900:69;;;12930:17;:29;12948:10;12930:29;;;;;;;;;;;;;;;:38;12960:7;12930:38;;;;;;;;;;;;;;;;12900:69;;;;;;;;;;;;;;;;;;12987:4;12980:11;;12487:512;;;;;:::o;9678:388::-;9785:4;9807:16;9763:2;6579:3;6565:18;;:2;:18;;;;6557:27;;;;;;;;6617:4;6603:19;;:2;:19;;;;6595:28;;;;;;;;9826:27;9836:16;;9826:5;:9;;:27;;;;:::i;:::-;9807:46;;9891:38;9920:8;9891:12;:24;9904:10;9891:24;;;;;;;;;;;;;;;;:28;;:38;;;;:::i;:::-;9864:12;:24;9877:10;9864:24;;;;;;;;;;;;;;;:65;;;;9959:30;9980:8;9959:12;:16;9972:2;9959:16;;;;;;;;;;;;;;;;:20;;:30;;;;:::i;:::-;9940:12;:16;9953:2;9940:16;;;;;;;;;;;;;;;:49;;;;10026:2;10005:31;;10014:10;10005:31;;;10030:5;10005:31;;;;;;;;;;;;;;;;;;10054:4;10047:11;;9678:388;;;;;;:::o;10076:174::-;10176:7;10208:17;:25;10226:6;10208:25;;;;;;;;;;;;;;;:34;10234:7;10208:34;;;;;;;;;;;;;;;;10201:41;;10076:174;;;;:::o;1328:103::-;1207:9;:7;:9::i;:::-;1199:18;;;;;;;;1397:28;1416:8;1397:18;:28::i;:::-;1328:103;:::o;3209:181::-;3267:7;3287:9;3303:1;3299;:5;3287:17;;3328:1;3323;:6;;3315:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3381:1;3374:8;;3209:181;;;;;:::o;5878:161::-;5951:6;4729:3;4723:1;4716:16;;;;5983:1;:15;;5975:24;;;;;;;;6021:1;6017;:5;:14;;6030:1;6017:14;;;6026:1;6025:2;;6017:14;6010:21;;5878:161;;;:::o;3398:136::-;3456:7;3483:43;3487:1;3490;3483:43;;;;;;;;;;;;;;;;;;:3;:43::i;:::-;3476:50;;3398:136;;;;:::o;4000:132::-;4058:7;4085:39;4089:1;4092;4085:39;;;;;;;;;;;;;;;;;;:3;:39::i;:::-;4078:46;;4000:132;;;;:::o;14004:1241::-;14095:4;14117:11;14357:4;14351:11;14485:2;14479:4;14475:13;15130:1;15098:13;15006:4;15000:11;14970;14925:1;14895:11;14866:5;14861:3;14857:15;14514:689;14504:699;;14148:1066;;15231:6;15224:13;;14004:1241;;;;;:::o;3742:250::-;3800:7;3879:9;3829:1;3824;:6;3820:47;;;3854:1;3847:8;;;;3820:47;3895:1;3891;:5;3879:17;;3924:1;3919;3915;:5;;;;;;;;:10;3907:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3983:1;3976:8;;3742:250;;;;;;:::o;1437:210::-;1527:1;1507:16;;:21;1499:30;;;;;;;;1564:1;1544:22;;:8;:22;;;;1536:31;;;;;;;;1608:8;1579:38;;1600:6;;;;;;;;;;;1579:38;;;;;;;;;;;;1633:8;1624:6;;:17;;;;;;;;;;;;;;;;;;1437:210;:::o;3542:192::-;3628:7;3688:9;3661:1;3656;:6;;3664:12;3648:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;3648:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3704:1;3700;:5;3688:17;;3725:1;3718:8;;3542:192;;;;;;:::o;4140:191::-;4226:7;4285:9;4258:1;4254;:5;4261:12;4246:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;4246:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4301:1;4297;:5;;;;;;;;4285:17;;4322:1;4315:8;;4140:191;;;;;;:::o;6046:9202::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;978:109::-;325:20;218:12;;;;;;;;;;;:31;;;;234:15;:13;:15::i;:::-;218:31;:47;;;;254:11;;;;;;;;;;;253:12;218:47;210:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;348:12;;;;;;;;;;;325:35;;382:4;367:12;;:19;;;;;;;;;;;;;;;;;;407:4;393:11;;:18;;;;;;;;;;;;;;;;;;1051:6;1042;;:15;;;;;;;;;;;;;;;;;;1080:1;1061:16;:20;;;;445:15;430:12;;:30;;;;;;;;;;;;;;;;;;978:109;;:::o;2744:160::-;325:20;218:12;;;;;;;;;;;:31;;;;234:15;:13;:15::i;:::-;218:31;:47;;;;254:11;;;;;;;;;;;253:12;218:47;210:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;348:12;;;;;;;;;;;325:35;;382:4;367:12;;:19;;;;;;;;;;;;;;;;;;407:4;393:11;;:18;;;;;;;;;;;;;;;;;;2844:4;2836:5;:12;;;;;;;;;;;;:::i;:::-;;2865:6;2855:7;:16;;;;;;;;;;;;:::i;:::-;;2890:8;2878:9;;:20;;;;;;;;;;;;;;;;;;445:15;430:12;;:30;;;;;;;;;;;;;;;;;;2744:160;;;;:::o;472:142::-;519:4;532:10;578:7;566:20;560:26;;607:1;601:2;:7;594:14;;472:142;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o
Swarm Source
bzzr://b9154e5583810d770057125b3e22e10e70b03d437771300490bd8c449543c531
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.