Polygon Sponsored slots available. Book your slot here!
ERC-20
Payments
Overview
Max Total Supply
50,000,000,000 NXD
Holders
14,968 (0.00%)
Total Transfers
-
Market
Price
$0.00 @ 0.000000 POL
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
Contract Name:
NexnusDubai
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at polygonscan.com on 2022-01-14 */ // SPDX-License-Identifier: MIT pragma solidity 0.8.7; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); } /* * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with GSN meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ contract Context { // Empty internal constructor, to prevent people from mistakenly deploying // an instance of this contract, which should be used via inheritance. constructor () { } function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } function _msgData() internal view returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } /** * @dev Wrappers over Solidity's arithmetic operations with added overflow * checks. * * Arithmetic operations in Solidity wrap on overflow. This can easily result * in bugs, because programmers usually assume that an overflow raises an * error, which is the standard behavior in high level programming languages. * `SafeMath` restores this intuition by reverting the transaction when an * operation overflows. * * Using this library instead of the unchecked operations eliminates an entire * class of bugs, so it's recommended to use it always. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers. Reverts on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } /** * @dev Returns the integer division of two unsigned integers. Reverts with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { // Solidity only automatically asserts when dividing by 0 require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts with custom message when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ contract Ownable is Context { address private _owner; mapping (address => bool) private _operators; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); event UpdateOperator(address indexed operator, bool authorized); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } /** * @dev Returns the address of the current owner. */ function owner() public view returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public onlyOwner { _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). */ function _transferOwnership(address newOwner) internal { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } /** * @dev add / remove operators. * `operator`: operator address * `authorized`: authorized or not */ function updateOperator(address operator, bool authorized) public onlyOwner { require(operator != address(0), "Ownable: operator is the zero address"); emit UpdateOperator(operator, authorized); _operators[operator] = authorized; } /** * @dev Throws if called by any account other than the operators. */ modifier onlyOperator() { require(_operators[_msgSender()], "Ownable: caller is not the operator"); _; } } contract NexnusDubai is IERC20, Ownable{ using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => uint256) private _unlockTimes; mapping (address => mapping (address => uint256)) private _allowances; uint256 private _totalSupply; uint256 private _circulationSupply; uint8 public _decimals; string public _symbol; string public _name; constructor() { _name = "Nexus Dubai"; _symbol = "NXD"; _decimals = 18; _totalSupply = 50000000000 * (10 ** _decimals); _circulationSupply = 0; } /** * @dev Issue the token to the recipient address */ function issue(address recipient, uint256 amount) external onlyOwner { require(recipient != address(0), "ERC20: issue to the zero address"); _balances[recipient] = _balances[recipient].add(amount); _circulationSupply = _circulationSupply.add(amount); emit Issue(recipient); } event Issue(address indexed recipient); /** * @dev transfer token and lock wallet. * unlockTime: wallet will be unlocked after this time (unix time) * * Requirements: * * - `recipient` cannot be the zero address. * - the caller must have a balance of at least `amount`. */ function transferFreeze(address recipient, uint256 amount, uint256 unlockTime) external onlyOperator { _transfer(_msgSender(), recipient, amount); _unlockTimes[recipient] = unlockTime; emit WalletLocked(recipient, _unlockTimes[recipient]); } event WalletLocked(address indexed recipient, uint256 unlockTime); /** * @dev unlock wallet. * * Requirements: * * - `recipient` cannot be the zero address. */ function unlock(address recipient) external onlyOwner { require(recipient != address(0), "ERC20: recipient address is zero"); _unlockTimes[recipient] = 0; } /** * @dev lock wallet. * * Requirements: * * - `recipient` cannot be the zero address. */ function lock(address recipient) external onlyOwner { require(recipient != address(0), "ERC20: recipient address is zero"); _unlockTimes[recipient] = type(uint256).max; emit WalletLocked(recipient, _unlockTimes[recipient]); } /** * @dev Returns the wallet is locked or not */ function isLocked(address recipient) external view returns (bool){ if (_unlockTimes[recipient] <= block.timestamp) { return false; } else { return true; } } /** * @dev Returns the token owner. */ function getOwner() external view returns (address) { return owner(); } /** * @dev Returns the token decimals. */ function decimals() external view returns (uint8) { return _decimals; } /** * @dev Returns the token symbol. */ function symbol() external view returns (string memory) { return _symbol; } /** * @dev Returns the token name. */ function name() external view returns (string memory) { return _name; } /** * @dev See {ERC20-totalSupply}. */ function totalSupply() external override view returns (uint256) { return _totalSupply; } /** * @dev See circulation supply. */ function circulationSupply() external view returns (uint256) { return _circulationSupply; } /** * @dev See {ERC20-balanceOf}. */ function balanceOf(address account) external override view returns (uint256) { return _balances[account]; } /** * @dev See {ERC20-transfer}. * * Requirements: * * - `recipient` cannot be the zero address. * - the caller must have a balance of at least `amount`. */ function transfer(address recipient, uint256 amount) external override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } /** * @dev See {ERC20-allowance}. */ function allowance(address owner, address spender) external override view returns (uint256) { return _allowances[owner][spender]; } /** * @dev See {ERC20-approve}. * * Requirements: * * - `spender` cannot be the zero address. */ function approve(address spender, uint256 amount) external override returns (bool) { _approve(_msgSender(), spender, amount); return true; } /** * @dev See {ERC20-transferFrom}. * * Emits an {Approval} event indicating the updated allowance. This is not * required by the EIP. See the note at the beginning of {ERC20}; * * Requirements: * - `sender` and `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. * - the caller must have allowance for `sender`'s tokens of at least * `amount`. */ function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } /** * @dev Atomically increases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {ERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. */ function increaseAllowance(address spender, uint256 addedValue) public returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } /** * @dev Atomically decreases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {ERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. * - `spender` must have allowance for the caller of at least * `subtractedValue`. */ function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } /** * @dev Moves tokens `amount` from `sender` to `recipient`. * * This is internal function is equivalent to {transfer}, and can be used to * e.g. implement automatic token fees, slashing mechanisms, etc. * * Emits a {Transfer} event. * * Requirements: * * - `sender` cannot be the zero address. * - `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. */ function _transfer(address sender, address recipient, uint256 amount) internal { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); require(_unlockTimes[sender] <= block.timestamp, "ERC20: sender wallet is locked"); _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); } /** * @dev Sets `amount` as the allowance of `spender` over the `owner`s tokens. * * This is internal function is equivalent to `approve`, and can be used to * e.g. set automatic allowances for certain subsystems, etc. * * Emits an {Approval} event. * * Requirements: * * - `owner` cannot be the zero address. * - `spender` cannot be the zero address. */ function _approve(address owner, address spender, uint256 amount) internal { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"recipient","type":"address"}],"name":"Issue","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"authorized","type":"bool"}],"name":"UpdateOperator","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"uint256","name":"unlockTime","type":"uint256"}],"name":"WalletLocked","type":"event"},{"inputs":[],"name":"_decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"circulationSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"}],"name":"isLocked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"issue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"}],"name":"lock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"unlockTime","type":"uint256"}],"name":"transferFreeze","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"}],"name":"unlock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"authorized","type":"bool"}],"name":"updateOperator","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b50600062000024620001be60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506040518060400160405280600b81526020017f4e65787573204475626169000000000000000000000000000000000000000000815250600990805190602001906200010f929190620001c6565b506040518060400160405280600381526020017f4e58440000000000000000000000000000000000000000000000000000000000815250600890805190602001906200015d929190620001c6565b506012600760006101000a81548160ff021916908360ff160217905550600760009054906101000a900460ff16600a620001989190620002d1565b640ba43b7400620001aa91906200040e565b600581905550600060068190555062000527565b600033905090565b828054620001d49062000486565b90600052602060002090601f016020900481019282620001f8576000855562000244565b82601f106200021357805160ff191683800117855562000244565b8280016001018555821562000244579182015b828111156200024357825182559160200191906001019062000226565b5b50905062000253919062000257565b5090565b5b808211156200027257600081600090555060010162000258565b5090565b6000808291508390505b6001851115620002c857808604811115620002a0576200029f620004bc565b5b6001851615620002b05780820291505b8081029050620002c0856200051a565b945062000280565b94509492505050565b6000620002de826200046f565b9150620002eb8362000479565b92506200031a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000322565b905092915050565b60008262000334576001905062000407565b8162000344576000905062000407565b81600181146200035d576002811462000368576200039e565b600191505062000407565b60ff8411156200037d576200037c620004bc565b5b8360020a915084821115620003975762000396620004bc565b5b5062000407565b5060208310610133831016604e8410600b8410161715620003d85782820a905083811115620003d257620003d1620004bc565b5b62000407565b620003e7848484600162000276565b92509050818404811115620004015762000400620004bc565b5b81810290505b9392505050565b60006200041b826200046f565b915062000428836200046f565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620004645762000463620004bc565b5b828202905092915050565b6000819050919050565b600060ff82169050919050565b600060028204905060018216806200049f57607f821691505b60208210811415620004b657620004b5620004eb565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60008160011c9050919050565b6126b680620005376000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c8063893d20e8116100c3578063b09f12661161007c578063b09f1266146103ef578063d28d88521461040d578063dd62ed3e1461042b578063edb887a41461045b578063f2fde38b14610479578063f435f5a71461049557610158565b8063893d20e81461031957806389d8bff4146103375780638da5cb5b1461035357806395d89b4114610371578063a457c2d71461038f578063a9059cbb146103bf57610158565b806332424aa31161011557806332424aa31461023357806339509351146102515780634a4fbeec146102815780636d44a3b2146102b157806370a08231146102cd578063867904b4146102fd57610158565b806306fdde031461015d578063095ea7b31461017b57806318160ddd146101ab57806323b872dd146101c95780632f6c493c146101f9578063313ce56714610215575b600080fd5b6101656104b1565b6040516101729190611f26565b60405180910390f35b61019560048036038101906101909190611c44565b610543565b6040516101a29190611f0b565b60405180910390f35b6101b3610561565b6040516101c091906120c8565b60405180910390f35b6101e360048036038101906101de9190611bb1565b61056b565b6040516101f09190611f0b565b60405180910390f35b610213600480360381019061020e9190611b44565b610644565b005b61021d610791565b60405161022a91906120e3565b60405180910390f35b61023b6107a8565b60405161024891906120e3565b60405180910390f35b61026b60048036038101906102669190611c44565b6107bb565b6040516102789190611f0b565b60405180910390f35b61029b60048036038101906102969190611b44565b61086e565b6040516102a89190611f0b565b60405180910390f35b6102cb60048036038101906102c69190611c04565b6108c9565b005b6102e760048036038101906102e29190611b44565b610a77565b6040516102f491906120c8565b60405180910390f35b61031760048036038101906103129190611c44565b610ac0565b005b610321610cbc565b60405161032e9190611ef0565b60405180910390f35b610351600480360381019061034c9190611c84565b610ccb565b005b61035b610e46565b6040516103689190611ef0565b60405180910390f35b610379610e6f565b6040516103869190611f26565b60405180910390f35b6103a960048036038101906103a49190611c44565b610f01565b6040516103b69190611f0b565b60405180910390f35b6103d960048036038101906103d49190611c44565b610fce565b6040516103e69190611f0b565b60405180910390f35b6103f7610fec565b6040516104049190611f26565b60405180910390f35b61041561107a565b6040516104229190611f26565b60405180910390f35b61044560048036038101906104409190611b71565b611108565b60405161045291906120c8565b60405180910390f35b61046361118f565b60405161047091906120c8565b60405180910390f35b610493600480360381019061048e9190611b44565b611199565b005b6104af60048036038101906104aa9190611b44565b61123a565b005b6060600980546104c09061222c565b80601f01602080910402602001604051908101604052809291908181526020018280546104ec9061222c565b80156105395780601f1061050e57610100808354040283529160200191610539565b820191906000526020600020905b81548152906001019060200180831161051c57829003601f168201915b5050505050905090565b6000610557610550611433565b848461143b565b6001905092915050565b6000600554905090565b6000610578848484611606565b61063984610584611433565b6106348560405180606001604052806028815260200161263460289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105ea611433565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119169092919063ffffffff16565b61143b565b600190509392505050565b61064c611433565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106d090612048565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610749576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074090611fe8565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6000600760009054906101000a900460ff16905090565b600760009054906101000a900460ff1681565b60006108646107c8611433565b8461085f85600460006107d9611433565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461197a90919063ffffffff16565b61143b565b6001905092915050565b600042600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054116108bf57600090506108c4565b600190505b919050565b6108d1611433565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461095e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095590612048565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156109ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c590611f68565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff167f2ee52be9d342458b3d25e07faada7ff9bc06723b4aa24edb6321ac1316b8a9dd82604051610a149190611f0b565b60405180910390a280600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ac8611433565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4c90612048565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610bc5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bbc90612028565b60405180910390fd5b610c1781600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461197a90919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c6f8160065461197a90919063ffffffff16565b6006819055508173ffffffffffffffffffffffffffffffffffffffff167f669e17a9b53558235a553f4fb73c7d20b1c4f3266f247a8f7616295a28d5f34a60405160405180910390a25050565b6000610cc6610e46565b905090565b60016000610cd7611433565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610d5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d55906120a8565b60405180910390fd5b610d70610d69611433565b8484611606565b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167fe7c68d000e8eebecce24e642662a9f05da3a62829568918f8bd65d84936d737b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051610e3991906120c8565b60405180910390a2505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060088054610e7e9061222c565b80601f0160208091040260200160405190810160405280929190818152602001828054610eaa9061222c565b8015610ef75780601f10610ecc57610100808354040283529160200191610ef7565b820191906000526020600020905b815481529060010190602001808311610eda57829003601f168201915b5050505050905090565b6000610fc4610f0e611433565b84610fbf8560405180606001604052806025815260200161265c6025913960046000610f38611433565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119169092919063ffffffff16565b61143b565b6001905092915050565b6000610fe2610fdb611433565b8484611606565b6001905092915050565b60088054610ff99061222c565b80601f01602080910402602001604051908101604052809291908181526020018280546110259061222c565b80156110725780601f1061104757610100808354040283529160200191611072565b820191906000526020600020905b81548152906001019060200180831161105557829003601f168201915b505050505081565b600980546110879061222c565b80601f01602080910402602001604051908101604052809291908181526020018280546110b39061222c565b80156111005780601f106110d557610100808354040283529160200191611100565b820191906000526020600020905b8154815290600101906020018083116110e357829003601f168201915b505050505081565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600654905090565b6111a1611433565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461122e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122590612048565b60405180910390fd5b611237816119d8565b50565b611242611433565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c690612048565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561133f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133690611fe8565b60405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff167fe7c68d000e8eebecce24e642662a9f05da3a62829568918f8bd65d84936d737b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460405161142891906120c8565b60405180910390a250565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156114ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a290612088565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561151b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151290611fa8565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516115f991906120c8565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611676576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166d90612068565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156116e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116dd90611f48565b60405180910390fd5b42600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611768576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175f90612008565b60405180910390fd5b6117d48160405180606001604052806026815260200161260e60269139600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119169092919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061186981600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461197a90919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161190991906120c8565b60405180910390a3505050565b600083831115829061195e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119559190611f26565b60405180910390fd5b506000838561196d9190612170565b9050809150509392505050565b6000808284611989919061211a565b9050838110156119ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c590611fc8565b60405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611a48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3f90611f88565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600081359050611b14816125c8565b92915050565b600081359050611b29816125df565b92915050565b600081359050611b3e816125f6565b92915050565b600060208284031215611b5a57611b596122bc565b5b6000611b6884828501611b05565b91505092915050565b60008060408385031215611b8857611b876122bc565b5b6000611b9685828601611b05565b9250506020611ba785828601611b05565b9150509250929050565b600080600060608486031215611bca57611bc96122bc565b5b6000611bd886828701611b05565b9350506020611be986828701611b05565b9250506040611bfa86828701611b2f565b9150509250925092565b60008060408385031215611c1b57611c1a6122bc565b5b6000611c2985828601611b05565b9250506020611c3a85828601611b1a565b9150509250929050565b60008060408385031215611c5b57611c5a6122bc565b5b6000611c6985828601611b05565b9250506020611c7a85828601611b2f565b9150509250929050565b600080600060608486031215611c9d57611c9c6122bc565b5b6000611cab86828701611b05565b9350506020611cbc86828701611b2f565b9250506040611ccd86828701611b2f565b9150509250925092565b611ce0816121a4565b82525050565b611cef816121b6565b82525050565b6000611d00826120fe565b611d0a8185612109565b9350611d1a8185602086016121f9565b611d23816122c1565b840191505092915050565b6000611d3b602383612109565b9150611d46826122d2565b604082019050919050565b6000611d5e602583612109565b9150611d6982612321565b604082019050919050565b6000611d81602683612109565b9150611d8c82612370565b604082019050919050565b6000611da4602283612109565b9150611daf826123bf565b604082019050919050565b6000611dc7601b83612109565b9150611dd28261240e565b602082019050919050565b6000611dea602083612109565b9150611df582612437565b602082019050919050565b6000611e0d601e83612109565b9150611e1882612460565b602082019050919050565b6000611e30602083612109565b9150611e3b82612489565b602082019050919050565b6000611e53602083612109565b9150611e5e826124b2565b602082019050919050565b6000611e76602583612109565b9150611e81826124db565b604082019050919050565b6000611e99602483612109565b9150611ea48261252a565b604082019050919050565b6000611ebc602383612109565b9150611ec782612579565b604082019050919050565b611edb816121e2565b82525050565b611eea816121ec565b82525050565b6000602082019050611f056000830184611cd7565b92915050565b6000602082019050611f206000830184611ce6565b92915050565b60006020820190508181036000830152611f408184611cf5565b905092915050565b60006020820190508181036000830152611f6181611d2e565b9050919050565b60006020820190508181036000830152611f8181611d51565b9050919050565b60006020820190508181036000830152611fa181611d74565b9050919050565b60006020820190508181036000830152611fc181611d97565b9050919050565b60006020820190508181036000830152611fe181611dba565b9050919050565b6000602082019050818103600083015261200181611ddd565b9050919050565b6000602082019050818103600083015261202181611e00565b9050919050565b6000602082019050818103600083015261204181611e23565b9050919050565b6000602082019050818103600083015261206181611e46565b9050919050565b6000602082019050818103600083015261208181611e69565b9050919050565b600060208201905081810360008301526120a181611e8c565b9050919050565b600060208201905081810360008301526120c181611eaf565b9050919050565b60006020820190506120dd6000830184611ed2565b92915050565b60006020820190506120f86000830184611ee1565b92915050565b600081519050919050565b600082825260208201905092915050565b6000612125826121e2565b9150612130836121e2565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156121655761216461225e565b5b828201905092915050565b600061217b826121e2565b9150612186836121e2565b9250828210156121995761219861225e565b5b828203905092915050565b60006121af826121c2565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156122175780820151818401526020810190506121fc565b83811115612226576000848401525b50505050565b6000600282049050600182168061224457607f821691505b602082108114156122585761225761228d565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206f70657261746f7220697320746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f45524332303a20726563697069656e742061646472657373206973207a65726f600082015250565b7f45524332303a2073656e6465722077616c6c6574206973206c6f636b65640000600082015250565b7f45524332303a20697373756520746f20746865207a65726f2061646472657373600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f7065726160008201527f746f720000000000000000000000000000000000000000000000000000000000602082015250565b6125d1816121a4565b81146125dc57600080fd5b50565b6125e8816121b6565b81146125f357600080fd5b50565b6125ff816121e2565b811461260a57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220be341da73d24823db1d55e5b8039cae7047024ca4f6f5c99b46827e0c984d19a64736f6c63430008070033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101585760003560e01c8063893d20e8116100c3578063b09f12661161007c578063b09f1266146103ef578063d28d88521461040d578063dd62ed3e1461042b578063edb887a41461045b578063f2fde38b14610479578063f435f5a71461049557610158565b8063893d20e81461031957806389d8bff4146103375780638da5cb5b1461035357806395d89b4114610371578063a457c2d71461038f578063a9059cbb146103bf57610158565b806332424aa31161011557806332424aa31461023357806339509351146102515780634a4fbeec146102815780636d44a3b2146102b157806370a08231146102cd578063867904b4146102fd57610158565b806306fdde031461015d578063095ea7b31461017b57806318160ddd146101ab57806323b872dd146101c95780632f6c493c146101f9578063313ce56714610215575b600080fd5b6101656104b1565b6040516101729190611f26565b60405180910390f35b61019560048036038101906101909190611c44565b610543565b6040516101a29190611f0b565b60405180910390f35b6101b3610561565b6040516101c091906120c8565b60405180910390f35b6101e360048036038101906101de9190611bb1565b61056b565b6040516101f09190611f0b565b60405180910390f35b610213600480360381019061020e9190611b44565b610644565b005b61021d610791565b60405161022a91906120e3565b60405180910390f35b61023b6107a8565b60405161024891906120e3565b60405180910390f35b61026b60048036038101906102669190611c44565b6107bb565b6040516102789190611f0b565b60405180910390f35b61029b60048036038101906102969190611b44565b61086e565b6040516102a89190611f0b565b60405180910390f35b6102cb60048036038101906102c69190611c04565b6108c9565b005b6102e760048036038101906102e29190611b44565b610a77565b6040516102f491906120c8565b60405180910390f35b61031760048036038101906103129190611c44565b610ac0565b005b610321610cbc565b60405161032e9190611ef0565b60405180910390f35b610351600480360381019061034c9190611c84565b610ccb565b005b61035b610e46565b6040516103689190611ef0565b60405180910390f35b610379610e6f565b6040516103869190611f26565b60405180910390f35b6103a960048036038101906103a49190611c44565b610f01565b6040516103b69190611f0b565b60405180910390f35b6103d960048036038101906103d49190611c44565b610fce565b6040516103e69190611f0b565b60405180910390f35b6103f7610fec565b6040516104049190611f26565b60405180910390f35b61041561107a565b6040516104229190611f26565b60405180910390f35b61044560048036038101906104409190611b71565b611108565b60405161045291906120c8565b60405180910390f35b61046361118f565b60405161047091906120c8565b60405180910390f35b610493600480360381019061048e9190611b44565b611199565b005b6104af60048036038101906104aa9190611b44565b61123a565b005b6060600980546104c09061222c565b80601f01602080910402602001604051908101604052809291908181526020018280546104ec9061222c565b80156105395780601f1061050e57610100808354040283529160200191610539565b820191906000526020600020905b81548152906001019060200180831161051c57829003601f168201915b5050505050905090565b6000610557610550611433565b848461143b565b6001905092915050565b6000600554905090565b6000610578848484611606565b61063984610584611433565b6106348560405180606001604052806028815260200161263460289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105ea611433565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119169092919063ffffffff16565b61143b565b600190509392505050565b61064c611433565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106d090612048565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610749576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074090611fe8565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6000600760009054906101000a900460ff16905090565b600760009054906101000a900460ff1681565b60006108646107c8611433565b8461085f85600460006107d9611433565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461197a90919063ffffffff16565b61143b565b6001905092915050565b600042600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054116108bf57600090506108c4565b600190505b919050565b6108d1611433565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461095e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095590612048565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156109ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c590611f68565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff167f2ee52be9d342458b3d25e07faada7ff9bc06723b4aa24edb6321ac1316b8a9dd82604051610a149190611f0b565b60405180910390a280600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ac8611433565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4c90612048565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610bc5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bbc90612028565b60405180910390fd5b610c1781600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461197a90919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c6f8160065461197a90919063ffffffff16565b6006819055508173ffffffffffffffffffffffffffffffffffffffff167f669e17a9b53558235a553f4fb73c7d20b1c4f3266f247a8f7616295a28d5f34a60405160405180910390a25050565b6000610cc6610e46565b905090565b60016000610cd7611433565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610d5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d55906120a8565b60405180910390fd5b610d70610d69611433565b8484611606565b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167fe7c68d000e8eebecce24e642662a9f05da3a62829568918f8bd65d84936d737b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051610e3991906120c8565b60405180910390a2505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060088054610e7e9061222c565b80601f0160208091040260200160405190810160405280929190818152602001828054610eaa9061222c565b8015610ef75780601f10610ecc57610100808354040283529160200191610ef7565b820191906000526020600020905b815481529060010190602001808311610eda57829003601f168201915b5050505050905090565b6000610fc4610f0e611433565b84610fbf8560405180606001604052806025815260200161265c6025913960046000610f38611433565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119169092919063ffffffff16565b61143b565b6001905092915050565b6000610fe2610fdb611433565b8484611606565b6001905092915050565b60088054610ff99061222c565b80601f01602080910402602001604051908101604052809291908181526020018280546110259061222c565b80156110725780601f1061104757610100808354040283529160200191611072565b820191906000526020600020905b81548152906001019060200180831161105557829003601f168201915b505050505081565b600980546110879061222c565b80601f01602080910402602001604051908101604052809291908181526020018280546110b39061222c565b80156111005780601f106110d557610100808354040283529160200191611100565b820191906000526020600020905b8154815290600101906020018083116110e357829003601f168201915b505050505081565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600654905090565b6111a1611433565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461122e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122590612048565b60405180910390fd5b611237816119d8565b50565b611242611433565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c690612048565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561133f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133690611fe8565b60405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff167fe7c68d000e8eebecce24e642662a9f05da3a62829568918f8bd65d84936d737b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460405161142891906120c8565b60405180910390a250565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156114ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a290612088565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561151b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151290611fa8565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516115f991906120c8565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611676576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166d90612068565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156116e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116dd90611f48565b60405180910390fd5b42600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611768576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175f90612008565b60405180910390fd5b6117d48160405180606001604052806026815260200161260e60269139600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119169092919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061186981600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461197a90919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161190991906120c8565b60405180910390a3505050565b600083831115829061195e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119559190611f26565b60405180910390fd5b506000838561196d9190612170565b9050809150509392505050565b6000808284611989919061211a565b9050838110156119ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c590611fc8565b60405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611a48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3f90611f88565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600081359050611b14816125c8565b92915050565b600081359050611b29816125df565b92915050565b600081359050611b3e816125f6565b92915050565b600060208284031215611b5a57611b596122bc565b5b6000611b6884828501611b05565b91505092915050565b60008060408385031215611b8857611b876122bc565b5b6000611b9685828601611b05565b9250506020611ba785828601611b05565b9150509250929050565b600080600060608486031215611bca57611bc96122bc565b5b6000611bd886828701611b05565b9350506020611be986828701611b05565b9250506040611bfa86828701611b2f565b9150509250925092565b60008060408385031215611c1b57611c1a6122bc565b5b6000611c2985828601611b05565b9250506020611c3a85828601611b1a565b9150509250929050565b60008060408385031215611c5b57611c5a6122bc565b5b6000611c6985828601611b05565b9250506020611c7a85828601611b2f565b9150509250929050565b600080600060608486031215611c9d57611c9c6122bc565b5b6000611cab86828701611b05565b9350506020611cbc86828701611b2f565b9250506040611ccd86828701611b2f565b9150509250925092565b611ce0816121a4565b82525050565b611cef816121b6565b82525050565b6000611d00826120fe565b611d0a8185612109565b9350611d1a8185602086016121f9565b611d23816122c1565b840191505092915050565b6000611d3b602383612109565b9150611d46826122d2565b604082019050919050565b6000611d5e602583612109565b9150611d6982612321565b604082019050919050565b6000611d81602683612109565b9150611d8c82612370565b604082019050919050565b6000611da4602283612109565b9150611daf826123bf565b604082019050919050565b6000611dc7601b83612109565b9150611dd28261240e565b602082019050919050565b6000611dea602083612109565b9150611df582612437565b602082019050919050565b6000611e0d601e83612109565b9150611e1882612460565b602082019050919050565b6000611e30602083612109565b9150611e3b82612489565b602082019050919050565b6000611e53602083612109565b9150611e5e826124b2565b602082019050919050565b6000611e76602583612109565b9150611e81826124db565b604082019050919050565b6000611e99602483612109565b9150611ea48261252a565b604082019050919050565b6000611ebc602383612109565b9150611ec782612579565b604082019050919050565b611edb816121e2565b82525050565b611eea816121ec565b82525050565b6000602082019050611f056000830184611cd7565b92915050565b6000602082019050611f206000830184611ce6565b92915050565b60006020820190508181036000830152611f408184611cf5565b905092915050565b60006020820190508181036000830152611f6181611d2e565b9050919050565b60006020820190508181036000830152611f8181611d51565b9050919050565b60006020820190508181036000830152611fa181611d74565b9050919050565b60006020820190508181036000830152611fc181611d97565b9050919050565b60006020820190508181036000830152611fe181611dba565b9050919050565b6000602082019050818103600083015261200181611ddd565b9050919050565b6000602082019050818103600083015261202181611e00565b9050919050565b6000602082019050818103600083015261204181611e23565b9050919050565b6000602082019050818103600083015261206181611e46565b9050919050565b6000602082019050818103600083015261208181611e69565b9050919050565b600060208201905081810360008301526120a181611e8c565b9050919050565b600060208201905081810360008301526120c181611eaf565b9050919050565b60006020820190506120dd6000830184611ed2565b92915050565b60006020820190506120f86000830184611ee1565b92915050565b600081519050919050565b600082825260208201905092915050565b6000612125826121e2565b9150612130836121e2565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156121655761216461225e565b5b828201905092915050565b600061217b826121e2565b9150612186836121e2565b9250828210156121995761219861225e565b5b828203905092915050565b60006121af826121c2565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156122175780820151818401526020810190506121fc565b83811115612226576000848401525b50505050565b6000600282049050600182168061224457607f821691505b602082108114156122585761225761228d565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206f70657261746f7220697320746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f45524332303a20726563697069656e742061646472657373206973207a65726f600082015250565b7f45524332303a2073656e6465722077616c6c6574206973206c6f636b65640000600082015250565b7f45524332303a20697373756520746f20746865207a65726f2061646472657373600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f7065726160008201527f746f720000000000000000000000000000000000000000000000000000000000602082015250565b6125d1816121a4565b81146125dc57600080fd5b50565b6125e8816121b6565b81146125f357600080fd5b50565b6125ff816121e2565b811461260a57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220be341da73d24823db1d55e5b8039cae7047024ca4f6f5c99b46827e0c984d19a64736f6c63430008070033
Deployed Bytecode Sourcemap
11370:8165:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14366:79;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15596:153;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14501:96;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16194:301;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13109:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14094:79;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11704:22;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16877:200;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13712:188;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10902:251;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14805:115;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12028:308;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13956:79;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12654:259;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9946:73;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14230:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17549:251;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15114:159;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11731:21;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11757:19;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15327:139;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14652:99;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10358:103;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13402:243;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14366:79;14405:13;14434:5;14427:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14366:79;:::o;15596:153::-;15673:4;15686:39;15695:12;:10;:12::i;:::-;15709:7;15718:6;15686:8;:39::i;:::-;15739:4;15732:11;;15596:153;;;;:::o;14501:96::-;14556:7;14579:12;;14572:19;;14501:96;:::o;16194:301::-;16294:4;16307:36;16317:6;16325:9;16336:6;16307:9;:36::i;:::-;16350:121;16359:6;16367:12;:10;:12::i;:::-;16381:89;16419:6;16381:89;;;;;;;;;;;;;;;;;:11;:19;16393:6;16381:19;;;;;;;;;;;;;;;:33;16401:12;:10;:12::i;:::-;16381:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;16350:8;:121::i;:::-;16485:4;16478:11;;16194:301;;;;;:::o;13109:169::-;10150:12;:10;:12::i;:::-;10140:22;;:6;;;;;;;;;;:22;;;10132:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13199:1:::1;13178:23;;:9;:23;;;;13170:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13271:1;13245:12;:23;13258:9;13245:23;;;;;;;;;;;;;;;:27;;;;13109:169:::0;:::o;14094:79::-;14137:5;14158:9;;;;;;;;;;;14151:16;;14094:79;:::o;11704:22::-;;;;;;;;;;;;;:::o;16877:200::-;16957:4;16970:83;16979:12;:10;:12::i;:::-;16993:7;17002:50;17041:10;17002:11;:25;17014:12;:10;:12::i;:::-;17002:25;;;;;;;;;;;;;;;:34;17028:7;17002:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;16970:8;:83::i;:::-;17067:4;17060:11;;16877:200;;;;:::o;13712:188::-;13772:4;13815:15;13788:12;:23;13801:9;13788:23;;;;;;;;;;;;;;;;:42;13784:111;;13848:5;13841:12;;;;13784:111;13883:4;13876:11;;13712:188;;;;:::o;10902:251::-;10150:12;:10;:12::i;:::-;10140:22;;:6;;;;;;;;;;:22;;;10132:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11013:1:::1;10993:22;;:8;:22;;;;10985:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;11084:8;11069:36;;;11094:10;11069:36;;;;;;:::i;:::-;;;;;;;;11135:10;11112;:20;11123:8;11112:20;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;10902:251:::0;;:::o;14805:115::-;14873:7;14896:9;:18;14906:7;14896:18;;;;;;;;;;;;;;;;14889:25;;14805:115;;;:::o;12028:308::-;10150:12;:10;:12::i;:::-;10140:22;;:6;;;;;;;;;;:22;;;10132:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12135:1:::1;12114:23;;:9;:23;;;;12106:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12206:32;12231:6;12206:9;:20;12216:9;12206:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;12183:9;:20;12193:9;12183:20;;;;;;;;;;;;;;;:55;;;;12268:30;12291:6;12268:18;;:22;;:30;;;;:::i;:::-;12247:18;:51;;;;12320:9;12314:16;;;;;;;;;;;;12028:308:::0;;:::o;13956:79::-;13999:7;14022;:5;:7::i;:::-;14015:14;;13956:79;:::o;12654:259::-;11281:10;:24;11292:12;:10;:12::i;:::-;11281:24;;;;;;;;;;;;;;;;;;;;;;;;;11273:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;12762:42:::1;12772:12;:10;:12::i;:::-;12786:9;12797:6;12762:9;:42::i;:::-;12837:10;12811:12;:23;12824:9;12811:23;;;;;;;;;;;;;;;:36;;;;12872:9;12859:48;;;12883:12;:23;12896:9;12883:23;;;;;;;;;;;;;;;;12859:48;;;;;;:::i;:::-;;;;;;;;12654:259:::0;;;:::o;9946:73::-;9984:7;10007:6;;;;;;;;;;;10000:13;;9946:73;:::o;14230:83::-;14271:13;14300:7;14293:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14230:83;:::o;17549:251::-;17634:4;17647:129;17656:12;:10;:12::i;:::-;17670:7;17679:96;17718:15;17679:96;;;;;;;;;;;;;;;;;:11;:25;17691:12;:10;:12::i;:::-;17679:25;;;;;;;;;;;;;;;:34;17705:7;17679:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;17647:8;:129::i;:::-;17790:4;17783:11;;17549:251;;;;:::o;15114:159::-;15194:4;15207:42;15217:12;:10;:12::i;:::-;15231:9;15242:6;15207:9;:42::i;:::-;15263:4;15256:11;;15114:159;;;;:::o;11731:21::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;11757:19::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;15327:139::-;15410:7;15433:11;:18;15445:5;15433:18;;;;;;;;;;;;;;;:27;15452:7;15433:27;;;;;;;;;;;;;;;;15426:34;;15327:139;;;;:::o;14652:99::-;14704:7;14727:18;;14720:25;;14652:99;:::o;10358:103::-;10150:12;:10;:12::i;:::-;10140:22;;:6;;;;;;;;;;:22;;;10132:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10427:28:::1;10446:8;10427:18;:28::i;:::-;10358:103:::0;:::o;13402:243::-;10150:12;:10;:12::i;:::-;10140:22;;:6;;;;;;;;;;:22;;;10132:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13490:1:::1;13469:23;;:9;:23;;;;13461:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13562:17;13536:12;:23;13549:9;13536:23;;;;;;;;;;;;;;;:43;;;;13604:9;13591:48;;;13615:12;:23;13628:9;13615:23;;;;;;;;;;;;;;;;13591:48;;;;;;:::i;:::-;;;;;;;;13402:243:::0;:::o;3516:109::-;3569:15;3608:10;3593:26;;3516:109;:::o;19210:320::-;19317:1;19300:19;;:5;:19;;;;19292:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19394:1;19375:21;;:7;:21;;;;19367:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19474:6;19444:11;:18;19456:5;19444:18;;;;;;;;;;;;;;;:27;19463:7;19444:27;;;;;;;;;;;;;;;:36;;;;19508:7;19492:32;;19501:5;19492:32;;;19517:6;19492:32;;;;;;:::i;:::-;;;;;;;;19210:320;;;:::o;18260:538::-;18372:1;18354:20;;:6;:20;;;;18346:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;18452:1;18431:23;;:9;:23;;;;18423:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;18533:15;18509:12;:20;18522:6;18509:20;;;;;;;;;;;;;;;;:39;;18501:82;;;;;;;;;;;;:::i;:::-;;;;;;;;;18612:71;18634:6;18612:71;;;;;;;;;;;;;;;;;:9;:17;18622:6;18612:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;18592:9;:17;18602:6;18592:17;;;;;;;;;;;;;;;:91;;;;18713:32;18738:6;18713:9;:20;18723:9;18713:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;18690:9;:20;18700:9;18690:20;;;;;;;;;;;;;;;:55;;;;18774:9;18757:35;;18766:6;18757:35;;;18785:6;18757:35;;;;;;:::i;:::-;;;;;;;;18260:538;;;:::o;5494:178::-;5580:7;5609:1;5604;:6;;5612:12;5596:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;5632:9;5648:1;5644;:5;;;;:::i;:::-;5632:17;;5665:1;5658:8;;;5494:178;;;;;:::o;4667:167::-;4725:7;4741:9;4757:1;4753;:5;;;;:::i;:::-;4741:17;;4778:1;4773;:6;;4765:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;4827:1;4820:8;;;4667:167;;;;:::o;10559:215::-;10649:1;10629:22;;:8;:22;;;;10621:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;10735:8;10706:38;;10727:6;;;;;;;;;;10706:38;;;;;;;;;;;;10760:8;10751:6;;:17;;;;;;;;;;;;;;;;;;10559:215;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:133::-;195:5;233:6;220:20;211:29;;249:30;273:5;249:30;:::i;:::-;152:133;;;;:::o;291:139::-;337:5;375:6;362:20;353:29;;391:33;418:5;391:33;:::i;:::-;291:139;;;;:::o;436:329::-;495:6;544:2;532:9;523:7;519:23;515:32;512:119;;;550:79;;:::i;:::-;512:119;670:1;695:53;740:7;731:6;720:9;716:22;695:53;:::i;:::-;685:63;;641:117;436:329;;;;:::o;771:474::-;839:6;847;896:2;884:9;875:7;871:23;867:32;864:119;;;902:79;;:::i;:::-;864:119;1022:1;1047:53;1092:7;1083:6;1072:9;1068:22;1047:53;:::i;:::-;1037:63;;993:117;1149:2;1175:53;1220:7;1211:6;1200:9;1196:22;1175:53;:::i;:::-;1165:63;;1120:118;771:474;;;;;:::o;1251:619::-;1328:6;1336;1344;1393:2;1381:9;1372:7;1368:23;1364:32;1361:119;;;1399:79;;:::i;:::-;1361:119;1519:1;1544:53;1589:7;1580:6;1569:9;1565:22;1544:53;:::i;:::-;1534:63;;1490:117;1646:2;1672:53;1717:7;1708:6;1697:9;1693:22;1672:53;:::i;:::-;1662:63;;1617:118;1774:2;1800:53;1845:7;1836:6;1825:9;1821:22;1800:53;:::i;:::-;1790:63;;1745:118;1251:619;;;;;:::o;1876:468::-;1941:6;1949;1998:2;1986:9;1977:7;1973:23;1969:32;1966:119;;;2004:79;;:::i;:::-;1966:119;2124:1;2149:53;2194:7;2185:6;2174:9;2170:22;2149:53;:::i;:::-;2139:63;;2095:117;2251:2;2277:50;2319:7;2310:6;2299:9;2295:22;2277:50;:::i;:::-;2267:60;;2222:115;1876:468;;;;;:::o;2350:474::-;2418:6;2426;2475:2;2463:9;2454:7;2450:23;2446:32;2443:119;;;2481:79;;:::i;:::-;2443:119;2601:1;2626:53;2671:7;2662:6;2651:9;2647:22;2626:53;:::i;:::-;2616:63;;2572:117;2728:2;2754:53;2799:7;2790:6;2779:9;2775:22;2754:53;:::i;:::-;2744:63;;2699:118;2350:474;;;;;:::o;2830:619::-;2907:6;2915;2923;2972:2;2960:9;2951:7;2947:23;2943:32;2940:119;;;2978:79;;:::i;:::-;2940:119;3098:1;3123:53;3168:7;3159:6;3148:9;3144:22;3123:53;:::i;:::-;3113:63;;3069:117;3225:2;3251:53;3296:7;3287:6;3276:9;3272:22;3251:53;:::i;:::-;3241:63;;3196:118;3353:2;3379:53;3424:7;3415:6;3404:9;3400:22;3379:53;:::i;:::-;3369:63;;3324:118;2830:619;;;;;:::o;3455:118::-;3542:24;3560:5;3542:24;:::i;:::-;3537:3;3530:37;3455:118;;:::o;3579:109::-;3660:21;3675:5;3660:21;:::i;:::-;3655:3;3648:34;3579:109;;:::o;3694:364::-;3782:3;3810:39;3843:5;3810:39;:::i;:::-;3865:71;3929:6;3924:3;3865:71;:::i;:::-;3858:78;;3945:52;3990:6;3985:3;3978:4;3971:5;3967:16;3945:52;:::i;:::-;4022:29;4044:6;4022:29;:::i;:::-;4017:3;4013:39;4006:46;;3786:272;3694:364;;;;:::o;4064:366::-;4206:3;4227:67;4291:2;4286:3;4227:67;:::i;:::-;4220:74;;4303:93;4392:3;4303:93;:::i;:::-;4421:2;4416:3;4412:12;4405:19;;4064:366;;;:::o;4436:::-;4578:3;4599:67;4663:2;4658:3;4599:67;:::i;:::-;4592:74;;4675:93;4764:3;4675:93;:::i;:::-;4793:2;4788:3;4784:12;4777:19;;4436:366;;;:::o;4808:::-;4950:3;4971:67;5035:2;5030:3;4971:67;:::i;:::-;4964:74;;5047:93;5136:3;5047:93;:::i;:::-;5165:2;5160:3;5156:12;5149:19;;4808:366;;;:::o;5180:::-;5322:3;5343:67;5407:2;5402:3;5343:67;:::i;:::-;5336:74;;5419:93;5508:3;5419:93;:::i;:::-;5537:2;5532:3;5528:12;5521:19;;5180:366;;;:::o;5552:::-;5694:3;5715:67;5779:2;5774:3;5715:67;:::i;:::-;5708:74;;5791:93;5880:3;5791:93;:::i;:::-;5909:2;5904:3;5900:12;5893:19;;5552:366;;;:::o;5924:::-;6066:3;6087:67;6151:2;6146:3;6087:67;:::i;:::-;6080:74;;6163:93;6252:3;6163:93;:::i;:::-;6281:2;6276:3;6272:12;6265:19;;5924:366;;;:::o;6296:::-;6438:3;6459:67;6523:2;6518:3;6459:67;:::i;:::-;6452:74;;6535:93;6624:3;6535:93;:::i;:::-;6653:2;6648:3;6644:12;6637:19;;6296:366;;;:::o;6668:::-;6810:3;6831:67;6895:2;6890:3;6831:67;:::i;:::-;6824:74;;6907:93;6996:3;6907:93;:::i;:::-;7025:2;7020:3;7016:12;7009:19;;6668:366;;;:::o;7040:::-;7182:3;7203:67;7267:2;7262:3;7203:67;:::i;:::-;7196:74;;7279:93;7368:3;7279:93;:::i;:::-;7397:2;7392:3;7388:12;7381:19;;7040:366;;;:::o;7412:::-;7554:3;7575:67;7639:2;7634:3;7575:67;:::i;:::-;7568:74;;7651:93;7740:3;7651:93;:::i;:::-;7769:2;7764:3;7760:12;7753:19;;7412:366;;;:::o;7784:::-;7926:3;7947:67;8011:2;8006:3;7947:67;:::i;:::-;7940:74;;8023:93;8112:3;8023:93;:::i;:::-;8141:2;8136:3;8132:12;8125:19;;7784:366;;;:::o;8156:::-;8298:3;8319:67;8383:2;8378:3;8319:67;:::i;:::-;8312:74;;8395:93;8484:3;8395:93;:::i;:::-;8513:2;8508:3;8504:12;8497:19;;8156:366;;;:::o;8528:118::-;8615:24;8633:5;8615:24;:::i;:::-;8610:3;8603:37;8528:118;;:::o;8652:112::-;8735:22;8751:5;8735:22;:::i;:::-;8730:3;8723:35;8652:112;;:::o;8770:222::-;8863:4;8901:2;8890:9;8886:18;8878:26;;8914:71;8982:1;8971:9;8967:17;8958:6;8914:71;:::i;:::-;8770:222;;;;:::o;8998:210::-;9085:4;9123:2;9112:9;9108:18;9100:26;;9136:65;9198:1;9187:9;9183:17;9174:6;9136:65;:::i;:::-;8998:210;;;;:::o;9214:313::-;9327:4;9365:2;9354:9;9350:18;9342:26;;9414:9;9408:4;9404:20;9400:1;9389:9;9385:17;9378:47;9442:78;9515:4;9506:6;9442:78;:::i;:::-;9434:86;;9214:313;;;;:::o;9533:419::-;9699:4;9737:2;9726:9;9722:18;9714:26;;9786:9;9780:4;9776:20;9772:1;9761:9;9757:17;9750:47;9814:131;9940:4;9814:131;:::i;:::-;9806:139;;9533:419;;;:::o;9958:::-;10124:4;10162:2;10151:9;10147:18;10139:26;;10211:9;10205:4;10201:20;10197:1;10186:9;10182:17;10175:47;10239:131;10365:4;10239:131;:::i;:::-;10231:139;;9958:419;;;:::o;10383:::-;10549:4;10587:2;10576:9;10572:18;10564:26;;10636:9;10630:4;10626:20;10622:1;10611:9;10607:17;10600:47;10664:131;10790:4;10664:131;:::i;:::-;10656:139;;10383:419;;;:::o;10808:::-;10974:4;11012:2;11001:9;10997:18;10989:26;;11061:9;11055:4;11051:20;11047:1;11036:9;11032:17;11025:47;11089:131;11215:4;11089:131;:::i;:::-;11081:139;;10808:419;;;:::o;11233:::-;11399:4;11437:2;11426:9;11422:18;11414:26;;11486:9;11480:4;11476:20;11472:1;11461:9;11457:17;11450:47;11514:131;11640:4;11514:131;:::i;:::-;11506:139;;11233:419;;;:::o;11658:::-;11824:4;11862:2;11851:9;11847:18;11839:26;;11911:9;11905:4;11901:20;11897:1;11886:9;11882:17;11875:47;11939:131;12065:4;11939:131;:::i;:::-;11931:139;;11658:419;;;:::o;12083:::-;12249:4;12287:2;12276:9;12272:18;12264:26;;12336:9;12330:4;12326:20;12322:1;12311:9;12307:17;12300:47;12364:131;12490:4;12364:131;:::i;:::-;12356:139;;12083:419;;;:::o;12508:::-;12674:4;12712:2;12701:9;12697:18;12689:26;;12761:9;12755:4;12751:20;12747:1;12736:9;12732:17;12725:47;12789:131;12915:4;12789:131;:::i;:::-;12781:139;;12508:419;;;:::o;12933:::-;13099:4;13137:2;13126:9;13122:18;13114:26;;13186:9;13180:4;13176:20;13172:1;13161:9;13157:17;13150:47;13214:131;13340:4;13214:131;:::i;:::-;13206:139;;12933:419;;;:::o;13358:::-;13524:4;13562:2;13551:9;13547:18;13539:26;;13611:9;13605:4;13601:20;13597:1;13586:9;13582:17;13575:47;13639:131;13765:4;13639:131;:::i;:::-;13631:139;;13358:419;;;:::o;13783:::-;13949:4;13987:2;13976:9;13972:18;13964:26;;14036:9;14030:4;14026:20;14022:1;14011:9;14007:17;14000:47;14064:131;14190:4;14064:131;:::i;:::-;14056:139;;13783:419;;;:::o;14208:::-;14374:4;14412:2;14401:9;14397:18;14389:26;;14461:9;14455:4;14451:20;14447:1;14436:9;14432:17;14425:47;14489:131;14615:4;14489:131;:::i;:::-;14481:139;;14208:419;;;:::o;14633:222::-;14726:4;14764:2;14753:9;14749:18;14741:26;;14777:71;14845:1;14834:9;14830:17;14821:6;14777:71;:::i;:::-;14633:222;;;;:::o;14861:214::-;14950:4;14988:2;14977:9;14973:18;14965:26;;15001:67;15065:1;15054:9;15050:17;15041:6;15001:67;:::i;:::-;14861:214;;;;:::o;15162:99::-;15214:6;15248:5;15242:12;15232:22;;15162:99;;;:::o;15267:169::-;15351:11;15385:6;15380:3;15373:19;15425:4;15420:3;15416:14;15401:29;;15267:169;;;;:::o;15442:305::-;15482:3;15501:20;15519:1;15501:20;:::i;:::-;15496:25;;15535:20;15553:1;15535:20;:::i;:::-;15530:25;;15689:1;15621:66;15617:74;15614:1;15611:81;15608:107;;;15695:18;;:::i;:::-;15608:107;15739:1;15736;15732:9;15725:16;;15442:305;;;;:::o;15753:191::-;15793:4;15813:20;15831:1;15813:20;:::i;:::-;15808:25;;15847:20;15865:1;15847:20;:::i;:::-;15842:25;;15886:1;15883;15880:8;15877:34;;;15891:18;;:::i;:::-;15877:34;15936:1;15933;15929:9;15921:17;;15753:191;;;;:::o;15950:96::-;15987:7;16016:24;16034:5;16016:24;:::i;:::-;16005:35;;15950:96;;;:::o;16052:90::-;16086:7;16129:5;16122:13;16115:21;16104:32;;16052:90;;;:::o;16148:126::-;16185:7;16225:42;16218:5;16214:54;16203:65;;16148:126;;;:::o;16280:77::-;16317:7;16346:5;16335:16;;16280:77;;;:::o;16363:86::-;16398:7;16438:4;16431:5;16427:16;16416:27;;16363:86;;;:::o;16455:307::-;16523:1;16533:113;16547:6;16544:1;16541:13;16533:113;;;16632:1;16627:3;16623:11;16617:18;16613:1;16608:3;16604:11;16597:39;16569:2;16566:1;16562:10;16557:15;;16533:113;;;16664:6;16661:1;16658:13;16655:101;;;16744:1;16735:6;16730:3;16726:16;16719:27;16655:101;16504:258;16455:307;;;:::o;16768:320::-;16812:6;16849:1;16843:4;16839:12;16829:22;;16896:1;16890:4;16886:12;16917:18;16907:81;;16973:4;16965:6;16961:17;16951:27;;16907:81;17035:2;17027:6;17024:14;17004:18;17001:38;16998:84;;;17054:18;;:::i;:::-;16998:84;16819:269;16768:320;;;:::o;17094:180::-;17142:77;17139:1;17132:88;17239:4;17236:1;17229:15;17263:4;17260:1;17253:15;17280:180;17328:77;17325:1;17318:88;17425:4;17422:1;17415:15;17449:4;17446:1;17439:15;17589:117;17698:1;17695;17688:12;17712:102;17753:6;17804:2;17800:7;17795:2;17788:5;17784:14;17780:28;17770:38;;17712:102;;;:::o;17820:222::-;17960:34;17956:1;17948:6;17944:14;17937:58;18029:5;18024:2;18016:6;18012:15;18005:30;17820:222;:::o;18048:224::-;18188:34;18184:1;18176:6;18172:14;18165:58;18257:7;18252:2;18244:6;18240:15;18233:32;18048:224;:::o;18278:225::-;18418:34;18414:1;18406:6;18402:14;18395:58;18487:8;18482:2;18474:6;18470:15;18463:33;18278:225;:::o;18509:221::-;18649:34;18645:1;18637:6;18633:14;18626:58;18718:4;18713:2;18705:6;18701:15;18694:29;18509:221;:::o;18736:177::-;18876:29;18872:1;18864:6;18860:14;18853:53;18736:177;:::o;18919:182::-;19059:34;19055:1;19047:6;19043:14;19036:58;18919:182;:::o;19107:180::-;19247:32;19243:1;19235:6;19231:14;19224:56;19107:180;:::o;19293:182::-;19433:34;19429:1;19421:6;19417:14;19410:58;19293:182;:::o;19481:::-;19621:34;19617:1;19609:6;19605:14;19598:58;19481:182;:::o;19669:224::-;19809:34;19805:1;19797:6;19793:14;19786:58;19878:7;19873:2;19865:6;19861:15;19854:32;19669:224;:::o;19899:223::-;20039:34;20035:1;20027:6;20023:14;20016:58;20108:6;20103:2;20095:6;20091:15;20084:31;19899:223;:::o;20128:222::-;20268:34;20264:1;20256:6;20252:14;20245:58;20337:5;20332:2;20324:6;20320:15;20313:30;20128:222;:::o;20356:122::-;20429:24;20447:5;20429:24;:::i;:::-;20422:5;20419:35;20409:63;;20468:1;20465;20458:12;20409:63;20356:122;:::o;20484:116::-;20554:21;20569:5;20554:21;:::i;:::-;20547:5;20544:32;20534:60;;20590:1;20587;20580:12;20534:60;20484:116;:::o;20606:122::-;20679:24;20697:5;20679:24;:::i;:::-;20672:5;20669:35;20659:63;;20718:1;20715;20708:12;20659:63;20606:122;:::o
Swarm Source
ipfs://be341da73d24823db1d55e5b8039cae7047024ca4f6f5c99b46827e0c984d19a
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.