Polygon Sponsored slots available. Book your slot here!
ERC-20
Overview
Max Total Supply
10,000,001,000.000000000000001 AXS
Holders
28
Market
Price
$0.00 @ 0.000000 MATIC
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
41,884.759325300924045969 AXSValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
Contract Name:
AxieInfinity
Compiler Version
v0.8.13+commit.abaa5c0e
Contract Source Code (Solidity)
/** *Submitted for verification at polygonscan.com on 2022-04-03 */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.13; interface IERC2044 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the token decimals. */ function decimals() external view returns (uint8); /** * @dev Returns the token symbol. */ function symbol() external view returns (string memory); /** * @dev Returns the token name. */ function name() external view returns (string memory); /** * @dev Returns the bep token owner. */ function getOwner() external view returns (address); /** * @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); } abstract 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 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; } } 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; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @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 Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public 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; } } contract AxieInfinity is Context, IERC2044, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; uint256 private _totalSupply; uint8 private _decimals; string private _symbol; string private _name; constructor() { _name = 'DAxie Infinity'; _symbol = 'AXS'; _decimals = 18; _totalSupply = 10000000000 * 10 ** _decimals; _balances[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _totalSupply); } /** * @dev Returns the bep 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 {BEP20-totalSupply}. */ function totalSupply() external view returns (uint256) { return _totalSupply; } /** * @dev See {BEP20-balanceOf}. */ function balanceOf(address account) external view returns (uint256) { return _balances[account]; } /** * @dev See {BEP20-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 returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } /** * @dev See {BEP20-allowance}. */ function allowance(address owner, address spender) external view returns (uint256) { return _allowances[owner][spender]; } /** * @dev See {BEP20-approve}. * * Requirements: * * - `spender` cannot be the zero address. */ function approve(address spender, uint256 amount) external returns (bool) { _approve(_msgSender(), spender, amount); return true; } /** * @dev See {BEP20-transferFrom}. * * Emits an {Approval} event indicating the updated allowance. This is not * required by the EIP. See the note at the beginning of {BEP20}; * * 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 returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "BEP20: 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 {BEP20-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 {BEP20-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, "BEP20: decreased allowance below zero")); return true; } /** * @dev Creates `amount` tokens and assigns them to `msg.sender`, increasing * the total supply. * * Requirements * * - `msg.sender` must be the token owner */ function mint(uint256 amount) public onlyOwner returns (bool) { _mint(_msgSender(), amount); return true; } /** * @dev Destroys `amount` tokens from `account`, reducing the * total supply. * * Emits a {Transfer} event with `to` set to the zero address. * * Requirements * * - `account` cannot be the zero address. * - `account` must have at least `amount` tokens. */ function burn(address account, uint256 amount) public onlyOwner returns (bool) { _burn(account, amount); return true; } /** * @dev Destroys `amount` tokens from `account`.`amount` is then deducted * from the caller's allowance. * * See {_burn} and {_approve}. */ function burnFrom(address account, uint256 amount) public onlyOwner returns (bool) { _burnFrom(account, amount); 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), "BEP20: transfer from the zero address"); require(recipient != address(0), "BEP20: transfer to the zero address"); _balances[sender] = _balances[sender].sub(amount, "BEP20: transfer amount exceeds balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); } /** @dev Creates `amount` tokens and assigns them to `account`, increasing * the total supply. * * Emits a {Transfer} event with `from` set to the zero address. * * Requirements * * - `to` cannot be the zero address. */ function _mint(address account, uint256 amount) internal { require(account != address(0), "BEP20: mint to the zero address"); _totalSupply = _totalSupply.add(amount); _balances[account] = _balances[account].add(amount); emit Transfer(address(0), account, amount); } /** * @dev Destroys `amount` tokens from `account`, reducing the * total supply. * * Emits a {Transfer} event with `to` set to the zero address. * * Requirements * * - `account` cannot be the zero address. * - `account` must have at least `amount` tokens. */ function _burn(address account, uint256 amount) internal { require(account != address(0), "BEP20: burn from the zero address"); _balances[account] = _balances[account].sub(amount, "BEP20: burn amount exceeds balance"); _totalSupply = _totalSupply.sub(amount); emit Transfer(account, address(0), 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), "BEP20: approve from the zero address"); require(spender != address(0), "BEP20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } /** * @dev Destroys `amount` tokens from `account`.`amount` is then deducted * from the caller's allowance. * * See {_burn} and {_approve}. */ function _burnFrom(address account, uint256 amount) internal { _burn(account, amount); _approve(account, _msgSender(), _allowances[account][_msgSender()].sub(amount, "BEP20: burn amount exceeds allowance")); } }
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":"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"},{"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":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","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":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"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":"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"}]
Contract Creation Code
60806040523480156200001157600080fd5b506000620000246200026660201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506040518060400160405280600e81526020017f444178696520496e66696e697479000000000000000000000000000000000000815250600690805190602001906200010f9291906200026e565b506040518060400160405280600381526020017f4158530000000000000000000000000000000000000000000000000000000000815250600590805190602001906200015d9291906200026e565b506012600460006101000a81548160ff021916908360ff160217905550600460009054906101000a900460ff16600a620001989190620004b8565b6402540be400620001aa919062000509565b600381905550600354600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6003546040516200025891906200057b565b60405180910390a3620005fc565b600033905090565b8280546200027c90620005c7565b90600052602060002090601f016020900481019282620002a05760008555620002ec565b82601f10620002bb57805160ff1916838001178555620002ec565b82800160010185558215620002ec579182015b82811115620002eb578251825591602001919060010190620002ce565b5b509050620002fb9190620002ff565b5090565b5b808211156200031a57600081600090555060010162000300565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620003ac578086048111156200038457620003836200031e565b5b6001851615620003945780820291505b8081029050620003a4856200034d565b945062000364565b94509492505050565b600082620003c757600190506200049a565b81620003d757600090506200049a565b8160018114620003f05760028114620003fb5762000431565b60019150506200049a565b60ff84111562000410576200040f6200031e565b5b8360020a9150848211156200042a57620004296200031e565b5b506200049a565b5060208310610133831016604e8410600b84101617156200046b5782820a9050838111156200046557620004646200031e565b5b6200049a565b6200047a84848460016200035a565b925090508184048111156200049457620004936200031e565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620004c582620004a1565b9150620004d283620004ab565b9250620005017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620003b5565b905092915050565b60006200051682620004a1565b91506200052383620004a1565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156200055f576200055e6200031e565b5b828202905092915050565b6200057581620004a1565b82525050565b60006020820190506200059260008301846200056a565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620005e057607f821691505b602082108103620005f657620005f562000598565b5b50919050565b61213c806200060c6000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c8063893d20e8116100a2578063a0712d6811610071578063a0712d68146102f9578063a457c2d714610329578063a9059cbb14610359578063dd62ed3e14610389578063f2fde38b146103b957610116565b8063893d20e81461026f5780638da5cb5b1461028d57806395d89b41146102ab5780639dc29fac146102c957610116565b8063313ce567116100e9578063313ce567146101b757806339509351146101d557806370a0823114610205578063715018a61461023557806379cc67901461023f57610116565b806306fdde031461011b578063095ea7b31461013957806318160ddd1461016957806323b872dd14610187575b600080fd5b6101236103d5565b60405161013091906117db565b60405180910390f35b610153600480360381019061014e9190611896565b610467565b60405161016091906118f1565b60405180910390f35b610171610485565b60405161017e919061191b565b60405180910390f35b6101a1600480360381019061019c9190611936565b61048f565b6040516101ae91906118f1565b60405180910390f35b6101bf610568565b6040516101cc91906119a5565b60405180910390f35b6101ef60048036038101906101ea9190611896565b61057f565b6040516101fc91906118f1565b60405180910390f35b61021f600480360381019061021a91906119c0565b610632565b60405161022c919061191b565b60405180910390f35b61023d61067b565b005b61025960048036038101906102549190611896565b6107ce565b60405161026691906118f1565b60405180910390f35b610277610879565b60405161028491906119fc565b60405180910390f35b610295610888565b6040516102a291906119fc565b60405180910390f35b6102b36108b1565b6040516102c091906117db565b60405180910390f35b6102e360048036038101906102de9190611896565b610943565b6040516102f091906118f1565b60405180910390f35b610313600480360381019061030e9190611a17565b6109ee565b60405161032091906118f1565b60405180910390f35b610343600480360381019061033e9190611896565b610a9f565b60405161035091906118f1565b60405180910390f35b610373600480360381019061036e9190611896565b610b6c565b60405161038091906118f1565b60405180910390f35b6103a3600480360381019061039e9190611a44565b610b8a565b6040516103b0919061191b565b60405180910390f35b6103d360048036038101906103ce91906119c0565b610c11565b005b6060600680546103e490611ab3565b80601f016020809104026020016040519081016040528092919081815260200182805461041090611ab3565b801561045d5780601f106104325761010080835404028352916020019161045d565b820191906000526020600020905b81548152906001019060200180831161044057829003601f168201915b5050505050905090565b600061047b610474610cb2565b8484610cba565b6001905092915050565b6000600354905090565b600061049c848484610e83565b61055d846104a8610cb2565b6105588560405180606001604052806028815260200161204e60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061050e610cb2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461110f9092919063ffffffff16565b610cba565b600190509392505050565b6000600460009054906101000a900460ff16905090565b600061062861058c610cb2565b84610623856002600061059d610cb2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461117390919063ffffffff16565b610cba565b6001905092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610683610cb2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610710576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070790611b30565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60006107d8610cb2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610865576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085c90611b30565b60405180910390fd5b61086f83836111d1565b6001905092915050565b6000610883610888565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600580546108c090611ab3565b80601f01602080910402602001604051908101604052809291908181526020018280546108ec90611ab3565b80156109395780601f1061090e57610100808354040283529160200191610939565b820191906000526020600020905b81548152906001019060200180831161091c57829003601f168201915b5050505050905090565b600061094d610cb2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d190611b30565b60405180910390fd5b6109e483836112a0565b6001905092915050565b60006109f8610cb2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7c90611b30565b60405180910390fd5b610a96610a90610cb2565b83611443565b60019050919050565b6000610b62610aac610cb2565b84610b5d8560405180606001604052806025815260200161209c6025913960026000610ad6610cb2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461110f9092919063ffffffff16565b610cba565b6001905092915050565b6000610b80610b79610cb2565b8484610e83565b6001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610c19610cb2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ca6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9d90611b30565b60405180910390fd5b610caf816115cc565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2090611bc2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8f90611c54565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e76919061191b565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ef2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee990611ce6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5890611d78565b60405180910390fd5b610fcd8160405180606001604052806026815260200161207660269139600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461110f9092919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061106281600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461117390919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611102919061191b565b60405180910390a3505050565b6000838311158290611157576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114e91906117db565b60405180910390fd5b50600083856111669190611dc7565b9050809150509392505050565b60008082846111829190611dfb565b9050838110156111c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111be90611e9d565b60405180910390fd5b8091505092915050565b6111db82826112a0565b61129c826111e7610cb2565b611297846040518060600160405280602481526020016120e360249139600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061124d610cb2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461110f9092919063ffffffff16565b610cba565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361130f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130690611f2f565b60405180910390fd5b61137b816040518060600160405280602281526020016120c160229139600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461110f9092919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113d3816003546116f890919063ffffffff16565b600381905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611437919061191b565b60405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a990611f9b565b60405180910390fd5b6114c78160035461117390919063ffffffff16565b60038190555061151f81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461117390919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115c0919061191b565b60405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361163b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116329061202d565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600061173a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061110f565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561177c578082015181840152602081019050611761565b8381111561178b576000848401525b50505050565b6000601f19601f8301169050919050565b60006117ad82611742565b6117b7818561174d565b93506117c781856020860161175e565b6117d081611791565b840191505092915050565b600060208201905081810360008301526117f581846117a2565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061182d82611802565b9050919050565b61183d81611822565b811461184857600080fd5b50565b60008135905061185a81611834565b92915050565b6000819050919050565b61187381611860565b811461187e57600080fd5b50565b6000813590506118908161186a565b92915050565b600080604083850312156118ad576118ac6117fd565b5b60006118bb8582860161184b565b92505060206118cc85828601611881565b9150509250929050565b60008115159050919050565b6118eb816118d6565b82525050565b600060208201905061190660008301846118e2565b92915050565b61191581611860565b82525050565b6000602082019050611930600083018461190c565b92915050565b60008060006060848603121561194f5761194e6117fd565b5b600061195d8682870161184b565b935050602061196e8682870161184b565b925050604061197f86828701611881565b9150509250925092565b600060ff82169050919050565b61199f81611989565b82525050565b60006020820190506119ba6000830184611996565b92915050565b6000602082840312156119d6576119d56117fd565b5b60006119e48482850161184b565b91505092915050565b6119f681611822565b82525050565b6000602082019050611a1160008301846119ed565b92915050565b600060208284031215611a2d57611a2c6117fd565b5b6000611a3b84828501611881565b91505092915050565b60008060408385031215611a5b57611a5a6117fd565b5b6000611a698582860161184b565b9250506020611a7a8582860161184b565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611acb57607f821691505b602082108103611ade57611add611a84565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611b1a60208361174d565b9150611b2582611ae4565b602082019050919050565b60006020820190508181036000830152611b4981611b0d565b9050919050565b7f42455032303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611bac60248361174d565b9150611bb782611b50565b604082019050919050565b60006020820190508181036000830152611bdb81611b9f565b9050919050565b7f42455032303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611c3e60228361174d565b9150611c4982611be2565b604082019050919050565b60006020820190508181036000830152611c6d81611c31565b9050919050565b7f42455032303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611cd060258361174d565b9150611cdb82611c74565b604082019050919050565b60006020820190508181036000830152611cff81611cc3565b9050919050565b7f42455032303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611d6260238361174d565b9150611d6d82611d06565b604082019050919050565b60006020820190508181036000830152611d9181611d55565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611dd282611860565b9150611ddd83611860565b925082821015611df057611def611d98565b5b828203905092915050565b6000611e0682611860565b9150611e1183611860565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611e4657611e45611d98565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000611e87601b8361174d565b9150611e9282611e51565b602082019050919050565b60006020820190508181036000830152611eb681611e7a565b9050919050565b7f42455032303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000611f1960218361174d565b9150611f2482611ebd565b604082019050919050565b60006020820190508181036000830152611f4881611f0c565b9050919050565b7f42455032303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000611f85601f8361174d565b9150611f9082611f4f565b602082019050919050565b60006020820190508181036000830152611fb481611f78565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061201760268361174d565b915061202282611fbb565b604082019050919050565b600060208201905081810360008301526120468161200a565b905091905056fe42455032303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636542455032303a207472616e7366657220616d6f756e7420657863656564732062616c616e636542455032303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f42455032303a206275726e20616d6f756e7420657863656564732062616c616e636542455032303a206275726e20616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e6c88bc755ae76ce3f31f7b4cc28aa4b9b75c14c2aef16965daa04e053b9cea064736f6c634300080d0033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101165760003560e01c8063893d20e8116100a2578063a0712d6811610071578063a0712d68146102f9578063a457c2d714610329578063a9059cbb14610359578063dd62ed3e14610389578063f2fde38b146103b957610116565b8063893d20e81461026f5780638da5cb5b1461028d57806395d89b41146102ab5780639dc29fac146102c957610116565b8063313ce567116100e9578063313ce567146101b757806339509351146101d557806370a0823114610205578063715018a61461023557806379cc67901461023f57610116565b806306fdde031461011b578063095ea7b31461013957806318160ddd1461016957806323b872dd14610187575b600080fd5b6101236103d5565b60405161013091906117db565b60405180910390f35b610153600480360381019061014e9190611896565b610467565b60405161016091906118f1565b60405180910390f35b610171610485565b60405161017e919061191b565b60405180910390f35b6101a1600480360381019061019c9190611936565b61048f565b6040516101ae91906118f1565b60405180910390f35b6101bf610568565b6040516101cc91906119a5565b60405180910390f35b6101ef60048036038101906101ea9190611896565b61057f565b6040516101fc91906118f1565b60405180910390f35b61021f600480360381019061021a91906119c0565b610632565b60405161022c919061191b565b60405180910390f35b61023d61067b565b005b61025960048036038101906102549190611896565b6107ce565b60405161026691906118f1565b60405180910390f35b610277610879565b60405161028491906119fc565b60405180910390f35b610295610888565b6040516102a291906119fc565b60405180910390f35b6102b36108b1565b6040516102c091906117db565b60405180910390f35b6102e360048036038101906102de9190611896565b610943565b6040516102f091906118f1565b60405180910390f35b610313600480360381019061030e9190611a17565b6109ee565b60405161032091906118f1565b60405180910390f35b610343600480360381019061033e9190611896565b610a9f565b60405161035091906118f1565b60405180910390f35b610373600480360381019061036e9190611896565b610b6c565b60405161038091906118f1565b60405180910390f35b6103a3600480360381019061039e9190611a44565b610b8a565b6040516103b0919061191b565b60405180910390f35b6103d360048036038101906103ce91906119c0565b610c11565b005b6060600680546103e490611ab3565b80601f016020809104026020016040519081016040528092919081815260200182805461041090611ab3565b801561045d5780601f106104325761010080835404028352916020019161045d565b820191906000526020600020905b81548152906001019060200180831161044057829003601f168201915b5050505050905090565b600061047b610474610cb2565b8484610cba565b6001905092915050565b6000600354905090565b600061049c848484610e83565b61055d846104a8610cb2565b6105588560405180606001604052806028815260200161204e60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061050e610cb2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461110f9092919063ffffffff16565b610cba565b600190509392505050565b6000600460009054906101000a900460ff16905090565b600061062861058c610cb2565b84610623856002600061059d610cb2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461117390919063ffffffff16565b610cba565b6001905092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610683610cb2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610710576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070790611b30565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60006107d8610cb2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610865576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085c90611b30565b60405180910390fd5b61086f83836111d1565b6001905092915050565b6000610883610888565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600580546108c090611ab3565b80601f01602080910402602001604051908101604052809291908181526020018280546108ec90611ab3565b80156109395780601f1061090e57610100808354040283529160200191610939565b820191906000526020600020905b81548152906001019060200180831161091c57829003601f168201915b5050505050905090565b600061094d610cb2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d190611b30565b60405180910390fd5b6109e483836112a0565b6001905092915050565b60006109f8610cb2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7c90611b30565b60405180910390fd5b610a96610a90610cb2565b83611443565b60019050919050565b6000610b62610aac610cb2565b84610b5d8560405180606001604052806025815260200161209c6025913960026000610ad6610cb2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461110f9092919063ffffffff16565b610cba565b6001905092915050565b6000610b80610b79610cb2565b8484610e83565b6001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610c19610cb2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ca6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9d90611b30565b60405180910390fd5b610caf816115cc565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2090611bc2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8f90611c54565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e76919061191b565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ef2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee990611ce6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5890611d78565b60405180910390fd5b610fcd8160405180606001604052806026815260200161207660269139600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461110f9092919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061106281600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461117390919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611102919061191b565b60405180910390a3505050565b6000838311158290611157576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114e91906117db565b60405180910390fd5b50600083856111669190611dc7565b9050809150509392505050565b60008082846111829190611dfb565b9050838110156111c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111be90611e9d565b60405180910390fd5b8091505092915050565b6111db82826112a0565b61129c826111e7610cb2565b611297846040518060600160405280602481526020016120e360249139600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061124d610cb2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461110f9092919063ffffffff16565b610cba565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361130f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130690611f2f565b60405180910390fd5b61137b816040518060600160405280602281526020016120c160229139600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461110f9092919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113d3816003546116f890919063ffffffff16565b600381905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611437919061191b565b60405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a990611f9b565b60405180910390fd5b6114c78160035461117390919063ffffffff16565b60038190555061151f81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461117390919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115c0919061191b565b60405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361163b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116329061202d565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600061173a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061110f565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561177c578082015181840152602081019050611761565b8381111561178b576000848401525b50505050565b6000601f19601f8301169050919050565b60006117ad82611742565b6117b7818561174d565b93506117c781856020860161175e565b6117d081611791565b840191505092915050565b600060208201905081810360008301526117f581846117a2565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061182d82611802565b9050919050565b61183d81611822565b811461184857600080fd5b50565b60008135905061185a81611834565b92915050565b6000819050919050565b61187381611860565b811461187e57600080fd5b50565b6000813590506118908161186a565b92915050565b600080604083850312156118ad576118ac6117fd565b5b60006118bb8582860161184b565b92505060206118cc85828601611881565b9150509250929050565b60008115159050919050565b6118eb816118d6565b82525050565b600060208201905061190660008301846118e2565b92915050565b61191581611860565b82525050565b6000602082019050611930600083018461190c565b92915050565b60008060006060848603121561194f5761194e6117fd565b5b600061195d8682870161184b565b935050602061196e8682870161184b565b925050604061197f86828701611881565b9150509250925092565b600060ff82169050919050565b61199f81611989565b82525050565b60006020820190506119ba6000830184611996565b92915050565b6000602082840312156119d6576119d56117fd565b5b60006119e48482850161184b565b91505092915050565b6119f681611822565b82525050565b6000602082019050611a1160008301846119ed565b92915050565b600060208284031215611a2d57611a2c6117fd565b5b6000611a3b84828501611881565b91505092915050565b60008060408385031215611a5b57611a5a6117fd565b5b6000611a698582860161184b565b9250506020611a7a8582860161184b565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611acb57607f821691505b602082108103611ade57611add611a84565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611b1a60208361174d565b9150611b2582611ae4565b602082019050919050565b60006020820190508181036000830152611b4981611b0d565b9050919050565b7f42455032303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611bac60248361174d565b9150611bb782611b50565b604082019050919050565b60006020820190508181036000830152611bdb81611b9f565b9050919050565b7f42455032303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611c3e60228361174d565b9150611c4982611be2565b604082019050919050565b60006020820190508181036000830152611c6d81611c31565b9050919050565b7f42455032303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611cd060258361174d565b9150611cdb82611c74565b604082019050919050565b60006020820190508181036000830152611cff81611cc3565b9050919050565b7f42455032303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611d6260238361174d565b9150611d6d82611d06565b604082019050919050565b60006020820190508181036000830152611d9181611d55565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611dd282611860565b9150611ddd83611860565b925082821015611df057611def611d98565b5b828203905092915050565b6000611e0682611860565b9150611e1183611860565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611e4657611e45611d98565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000611e87601b8361174d565b9150611e9282611e51565b602082019050919050565b60006020820190508181036000830152611eb681611e7a565b9050919050565b7f42455032303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000611f1960218361174d565b9150611f2482611ebd565b604082019050919050565b60006020820190508181036000830152611f4881611f0c565b9050919050565b7f42455032303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000611f85601f8361174d565b9150611f9082611f4f565b602082019050919050565b60006020820190508181036000830152611fb481611f78565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061201760268361174d565b915061202282611fbb565b604082019050919050565b600060208201905081810360008301526120468161200a565b905091905056fe42455032303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636542455032303a207472616e7366657220616d6f756e7420657863656564732062616c616e636542455032303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f42455032303a206275726e20616d6f756e7420657863656564732062616c616e636542455032303a206275726e20616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e6c88bc755ae76ce3f31f7b4cc28aa4b9b75c14c2aef16965daa04e053b9cea064736f6c634300080d0033
Deployed Bytecode Sourcemap
10259:8577:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11311:79;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12351:144;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11446:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12940:292;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11039:79;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13614:200;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11587:106;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9561:130;;;:::i;:::-;;15469:140;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10901:79;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8959:73;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11175:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15165:132;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14737:120;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14286:251;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11887:150;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12091:130;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9836:103;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11311:79;11350:13;11379:5;11372:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11311:79;:::o;12351:144::-;12419:4;12432:39;12441:12;:10;:12::i;:::-;12455:7;12464:6;12432:8;:39::i;:::-;12485:4;12478:11;;12351:144;;;;:::o;11446:87::-;11492:7;11515:12;;11508:19;;11446:87;:::o;12940:292::-;13031:4;13044:36;13054:6;13062:9;13073:6;13044:9;:36::i;:::-;13087:121;13096:6;13104:12;:10;:12::i;:::-;13118:89;13156:6;13118:89;;;;;;;;;;;;;;;;;:11;:19;13130:6;13118:19;;;;;;;;;;;;;;;:33;13138:12;:10;:12::i;:::-;13118:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;13087:8;:121::i;:::-;13222:4;13215:11;;12940:292;;;;;:::o;11039:79::-;11082:5;11103:9;;;;;;;;;;;11096:16;;11039:79;:::o;13614:200::-;13694:4;13707:83;13716:12;:10;:12::i;:::-;13730:7;13739:50;13778:10;13739:11;:25;13751:12;:10;:12::i;:::-;13739:25;;;;;;;;;;;;;;;:34;13765:7;13739:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;13707:8;:83::i;:::-;13804:4;13797:11;;13614:200;;;;:::o;11587:106::-;11646:7;11669:9;:18;11679:7;11669:18;;;;;;;;;;;;;;;;11662:25;;11587:106;;;:::o;9561:130::-;9163:12;:10;:12::i;:::-;9153:22;;:6;;;;;;;;;;:22;;;9145:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9656:1:::1;9619:40;;9640:6;::::0;::::1;;;;;;;;9619:40;;;;;;;;;;;;9683:1;9666:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;9561:130::o:0;15469:140::-;15546:4;9163:12;:10;:12::i;:::-;9153:22;;:6;;;;;;;;;;:22;;;9145:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15559:26:::1;15569:7;15578:6;15559:9;:26::i;:::-;15599:4;15592:11;;15469:140:::0;;;;:::o;10901:79::-;10944:7;10967;:5;:7::i;:::-;10960:14;;10901:79;:::o;8959:73::-;8997:7;9020:6;;;;;;;;;;;9013:13;;8959:73;:::o;11175:83::-;11216:13;11245:7;11238:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11175:83;:::o;15165:132::-;15238:4;9163:12;:10;:12::i;:::-;9153:22;;:6;;;;;;;;;;:22;;;9145:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15251:22:::1;15257:7;15266:6;15251:5;:22::i;:::-;15287:4;15280:11;;15165:132:::0;;;;:::o;14737:120::-;14793:4;9163:12;:10;:12::i;:::-;9153:22;;:6;;;;;;;;;;:22;;;9145:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14806:27:::1;14812:12;:10;:12::i;:::-;14826:6;14806:5;:27::i;:::-;14847:4;14840:11;;14737:120:::0;;;:::o;14286:251::-;14371:4;14384:129;14393:12;:10;:12::i;:::-;14407:7;14416:96;14455:15;14416:96;;;;;;;;;;;;;;;;;:11;:25;14428:12;:10;:12::i;:::-;14416:25;;;;;;;;;;;;;;;:34;14442:7;14416:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;14384:8;:129::i;:::-;14527:4;14520:11;;14286:251;;;;:::o;11887:150::-;11958:4;11971:42;11981:12;:10;:12::i;:::-;11995:9;12006:6;11971:9;:42::i;:::-;12027:4;12020:11;;11887:150;;;;:::o;12091:130::-;12165:7;12188:11;:18;12200:5;12188:18;;;;;;;;;;;;;;;:27;12207:7;12188:27;;;;;;;;;;;;;;;;12181:34;;12091:130;;;;:::o;9836:103::-;9163:12;:10;:12::i;:::-;9153:22;;:6;;;;;;;;;;:22;;;9145:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9905:28:::1;9924:8;9905:18;:28::i;:::-;9836:103:::0;:::o;3233:101::-;3278:15;3317:10;3302:26;;3233:101;:::o;18119:320::-;18226:1;18209:19;;:5;:19;;;18201:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18303:1;18284:21;;:7;:21;;;18276:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18383:6;18353:11;:18;18365:5;18353:18;;;;;;;;;;;;;;;:27;18372:7;18353:27;;;;;;;;;;;;;;;:36;;;;18417:7;18401:32;;18410:5;18401:32;;;18426:6;18401:32;;;;;;:::i;:::-;;;;;;;;18119:320;;;:::o;16069:449::-;16181:1;16163:20;;:6;:20;;;16155:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;16261:1;16240:23;;:9;:23;;;16232:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;16332;16354:6;16332:71;;;;;;;;;;;;;;;;;:9;:17;16342:6;16332:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;16312:9;:17;16322:6;16312:17;;;;;;;;;;;;;;;:91;;;;16433:32;16458:6;16433:9;:20;16443:9;16433:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;16410:9;:20;16420:9;16410:20;;;;;;;;;;;;;;;:55;;;;16494:9;16477:35;;16486:6;16477:35;;;16505:6;16477:35;;;;;;:::i;:::-;;;;;;;;16069:449;;;:::o;4624:178::-;4710:7;4739:1;4734;:6;;4742:12;4726:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;4762:9;4778:1;4774;:5;;;;:::i;:::-;4762:17;;4795:1;4788:8;;;4624:178;;;;;:::o;3797:167::-;3855:7;3871:9;3887:1;3883;:5;;;;:::i;:::-;3871:17;;3908:1;3903;:6;;3895:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;3957:1;3950:8;;;3797:167;;;;:::o;18611:222::-;18679:22;18685:7;18694:6;18679:5;:22::i;:::-;18708:119;18717:7;18726:12;:10;:12::i;:::-;18740:86;18779:6;18740:86;;;;;;;;;;;;;;;;;:11;:20;18752:7;18740:20;;;;;;;;;;;;;;;:34;18761:12;:10;:12::i;:::-;18740:34;;;;;;;;;;;;;;;;:38;;:86;;;;;:::i;:::-;18708:8;:119::i;:::-;18611:222;;:::o;17377:330::-;17468:1;17449:21;;:7;:21;;;17441:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17538:68;17561:6;17538:68;;;;;;;;;;;;;;;;;:9;:18;17548:7;17538:18;;;;;;;;;;;;;;;;:22;;:68;;;;;:::i;:::-;17517:9;:18;17527:7;17517:18;;;;;;;;;;;;;;;:89;;;;17628:24;17645:6;17628:12;;:16;;:24;;;;:::i;:::-;17613:12;:39;;;;17690:1;17664:37;;17673:7;17664:37;;;17694:6;17664:37;;;;;;:::i;:::-;;;;;;;;17377:330;;:::o;16779:290::-;16870:1;16851:21;;:7;:21;;;16843:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;16932:24;16949:6;16932:12;;:16;;:24;;;;:::i;:::-;16917:12;:39;;;;16984:30;17007:6;16984:9;:18;16994:7;16984:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;16963:9;:18;16973:7;16963:18;;;;;;;;;;;;;;;:51;;;;17047:7;17026:37;;17043:1;17026:37;;;17056:6;17026:37;;;;;;:::i;:::-;;;;;;;;16779:290;;:::o;10037:215::-;10127:1;10107:22;;:8;:22;;;10099:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;10213:8;10184:38;;10205:6;;;;;;;;;;10184:38;;;;;;;;;;;;10238:8;10229:6;;:17;;;;;;;;;;;;;;;;;;10037:215;:::o;4219:130::-;4277:7;4300:43;4304:1;4307;4300:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;4293:50;;4219:130;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:118::-;3581:24;3599:5;3581:24;:::i;:::-;3576:3;3569:37;3494:118;;:::o;3618:222::-;3711:4;3749:2;3738:9;3734:18;3726:26;;3762:71;3830:1;3819:9;3815:17;3806:6;3762:71;:::i;:::-;3618:222;;;;:::o;3846:619::-;3923:6;3931;3939;3988:2;3976:9;3967:7;3963:23;3959:32;3956:119;;;3994:79;;:::i;:::-;3956:119;4114:1;4139:53;4184:7;4175:6;4164:9;4160:22;4139:53;:::i;:::-;4129:63;;4085:117;4241:2;4267:53;4312:7;4303:6;4292:9;4288:22;4267:53;:::i;:::-;4257:63;;4212:118;4369:2;4395:53;4440:7;4431:6;4420:9;4416:22;4395:53;:::i;:::-;4385:63;;4340:118;3846:619;;;;;:::o;4471:86::-;4506:7;4546:4;4539:5;4535:16;4524:27;;4471:86;;;:::o;4563:112::-;4646:22;4662:5;4646:22;:::i;:::-;4641:3;4634:35;4563:112;;:::o;4681:214::-;4770:4;4808:2;4797:9;4793:18;4785:26;;4821:67;4885:1;4874:9;4870:17;4861:6;4821:67;:::i;:::-;4681:214;;;;:::o;4901:329::-;4960:6;5009:2;4997:9;4988:7;4984:23;4980:32;4977:119;;;5015:79;;:::i;:::-;4977:119;5135:1;5160:53;5205:7;5196:6;5185:9;5181:22;5160:53;:::i;:::-;5150:63;;5106:117;4901:329;;;;:::o;5236:118::-;5323:24;5341:5;5323:24;:::i;:::-;5318:3;5311:37;5236:118;;:::o;5360:222::-;5453:4;5491:2;5480:9;5476:18;5468:26;;5504:71;5572:1;5561:9;5557:17;5548:6;5504:71;:::i;:::-;5360:222;;;;:::o;5588:329::-;5647:6;5696:2;5684:9;5675:7;5671:23;5667:32;5664:119;;;5702:79;;:::i;:::-;5664:119;5822:1;5847:53;5892:7;5883:6;5872:9;5868:22;5847:53;:::i;:::-;5837:63;;5793:117;5588:329;;;;:::o;5923:474::-;5991:6;5999;6048:2;6036:9;6027:7;6023:23;6019:32;6016:119;;;6054:79;;:::i;:::-;6016:119;6174:1;6199:53;6244:7;6235:6;6224:9;6220:22;6199:53;:::i;:::-;6189:63;;6145:117;6301:2;6327:53;6372:7;6363:6;6352:9;6348:22;6327:53;:::i;:::-;6317:63;;6272:118;5923:474;;;;;:::o;6403:180::-;6451:77;6448:1;6441:88;6548:4;6545:1;6538:15;6572:4;6569:1;6562:15;6589:320;6633:6;6670:1;6664:4;6660:12;6650:22;;6717:1;6711:4;6707:12;6738:18;6728:81;;6794:4;6786:6;6782:17;6772:27;;6728:81;6856:2;6848:6;6845:14;6825:18;6822:38;6819:84;;6875:18;;:::i;:::-;6819:84;6640:269;6589:320;;;:::o;6915:182::-;7055:34;7051:1;7043:6;7039:14;7032:58;6915:182;:::o;7103:366::-;7245:3;7266:67;7330:2;7325:3;7266:67;:::i;:::-;7259:74;;7342:93;7431:3;7342:93;:::i;:::-;7460:2;7455:3;7451:12;7444:19;;7103:366;;;:::o;7475:419::-;7641:4;7679:2;7668:9;7664:18;7656:26;;7728:9;7722:4;7718:20;7714:1;7703:9;7699:17;7692:47;7756:131;7882:4;7756:131;:::i;:::-;7748:139;;7475:419;;;:::o;7900:223::-;8040:34;8036:1;8028:6;8024:14;8017:58;8109:6;8104:2;8096:6;8092:15;8085:31;7900:223;:::o;8129:366::-;8271:3;8292:67;8356:2;8351:3;8292:67;:::i;:::-;8285:74;;8368:93;8457:3;8368:93;:::i;:::-;8486:2;8481:3;8477:12;8470:19;;8129:366;;;:::o;8501:419::-;8667:4;8705:2;8694:9;8690:18;8682:26;;8754:9;8748:4;8744:20;8740:1;8729:9;8725:17;8718:47;8782:131;8908:4;8782:131;:::i;:::-;8774:139;;8501:419;;;:::o;8926:221::-;9066:34;9062:1;9054:6;9050:14;9043:58;9135:4;9130:2;9122:6;9118:15;9111:29;8926:221;:::o;9153:366::-;9295:3;9316:67;9380:2;9375:3;9316:67;:::i;:::-;9309:74;;9392:93;9481:3;9392:93;:::i;:::-;9510:2;9505:3;9501:12;9494:19;;9153:366;;;:::o;9525:419::-;9691:4;9729:2;9718:9;9714:18;9706:26;;9778:9;9772:4;9768:20;9764:1;9753:9;9749:17;9742:47;9806:131;9932:4;9806:131;:::i;:::-;9798:139;;9525:419;;;:::o;9950:224::-;10090:34;10086:1;10078:6;10074:14;10067:58;10159:7;10154:2;10146:6;10142:15;10135:32;9950:224;:::o;10180:366::-;10322:3;10343:67;10407:2;10402:3;10343:67;:::i;:::-;10336:74;;10419:93;10508:3;10419:93;:::i;:::-;10537:2;10532:3;10528:12;10521:19;;10180:366;;;:::o;10552:419::-;10718:4;10756:2;10745:9;10741:18;10733:26;;10805:9;10799:4;10795:20;10791:1;10780:9;10776:17;10769:47;10833:131;10959:4;10833:131;:::i;:::-;10825:139;;10552:419;;;:::o;10977:222::-;11117:34;11113:1;11105:6;11101:14;11094:58;11186:5;11181:2;11173:6;11169:15;11162:30;10977:222;:::o;11205:366::-;11347:3;11368:67;11432:2;11427:3;11368:67;:::i;:::-;11361:74;;11444:93;11533:3;11444:93;:::i;:::-;11562:2;11557:3;11553:12;11546:19;;11205:366;;;:::o;11577:419::-;11743:4;11781:2;11770:9;11766:18;11758:26;;11830:9;11824:4;11820:20;11816:1;11805:9;11801:17;11794:47;11858:131;11984:4;11858:131;:::i;:::-;11850:139;;11577:419;;;:::o;12002:180::-;12050:77;12047:1;12040:88;12147:4;12144:1;12137:15;12171:4;12168:1;12161:15;12188:191;12228:4;12248:20;12266:1;12248:20;:::i;:::-;12243:25;;12282:20;12300:1;12282:20;:::i;:::-;12277:25;;12321:1;12318;12315:8;12312:34;;;12326:18;;:::i;:::-;12312:34;12371:1;12368;12364:9;12356:17;;12188:191;;;;:::o;12385:305::-;12425:3;12444:20;12462:1;12444:20;:::i;:::-;12439:25;;12478:20;12496:1;12478:20;:::i;:::-;12473:25;;12632:1;12564:66;12560:74;12557:1;12554:81;12551:107;;;12638:18;;:::i;:::-;12551:107;12682:1;12679;12675:9;12668:16;;12385:305;;;;:::o;12696:177::-;12836:29;12832:1;12824:6;12820:14;12813:53;12696:177;:::o;12879:366::-;13021:3;13042:67;13106:2;13101:3;13042:67;:::i;:::-;13035:74;;13118:93;13207:3;13118:93;:::i;:::-;13236:2;13231:3;13227:12;13220:19;;12879:366;;;:::o;13251:419::-;13417:4;13455:2;13444:9;13440:18;13432:26;;13504:9;13498:4;13494:20;13490:1;13479:9;13475:17;13468:47;13532:131;13658:4;13532:131;:::i;:::-;13524:139;;13251:419;;;:::o;13676:220::-;13816:34;13812:1;13804:6;13800:14;13793:58;13885:3;13880:2;13872:6;13868:15;13861:28;13676:220;:::o;13902:366::-;14044:3;14065:67;14129:2;14124:3;14065:67;:::i;:::-;14058:74;;14141:93;14230:3;14141:93;:::i;:::-;14259:2;14254:3;14250:12;14243:19;;13902:366;;;:::o;14274:419::-;14440:4;14478:2;14467:9;14463:18;14455:26;;14527:9;14521:4;14517:20;14513:1;14502:9;14498:17;14491:47;14555:131;14681:4;14555:131;:::i;:::-;14547:139;;14274:419;;;:::o;14699:181::-;14839:33;14835:1;14827:6;14823:14;14816:57;14699:181;:::o;14886:366::-;15028:3;15049:67;15113:2;15108:3;15049:67;:::i;:::-;15042:74;;15125:93;15214:3;15125:93;:::i;:::-;15243:2;15238:3;15234:12;15227:19;;14886:366;;;:::o;15258:419::-;15424:4;15462:2;15451:9;15447:18;15439:26;;15511:9;15505:4;15501:20;15497:1;15486:9;15482:17;15475:47;15539:131;15665:4;15539:131;:::i;:::-;15531:139;;15258:419;;;:::o;15683:225::-;15823:34;15819:1;15811:6;15807:14;15800:58;15892:8;15887:2;15879:6;15875:15;15868:33;15683:225;:::o;15914:366::-;16056:3;16077:67;16141:2;16136:3;16077:67;:::i;:::-;16070:74;;16153:93;16242:3;16153:93;:::i;:::-;16271:2;16266:3;16262:12;16255:19;;15914:366;;;:::o;16286:419::-;16452:4;16490:2;16479:9;16475:18;16467:26;;16539:9;16533:4;16529:20;16525:1;16514:9;16510:17;16503:47;16567:131;16693:4;16567:131;:::i;:::-;16559:139;;16286:419;;;:::o
Swarm Source
ipfs://e6c88bc755ae76ce3f31f7b4cc28aa4b9b75c14c2aef16965daa04e053b9cea0
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.