More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 26,650 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 329233948 | 4 secs ago | IN | 0 ETH | 0.00000295 | ||||
Transfer | 329233360 | 2 mins ago | IN | 0 ETH | 0.00000343 | ||||
Transfer | 329233310 | 2 mins ago | IN | 0 ETH | 0.00000346 | ||||
Transfer | 329233258 | 2 mins ago | IN | 0 ETH | 0.00000396 | ||||
Transfer | 329232687 | 5 mins ago | IN | 0 ETH | 0.00000323 | ||||
Transfer | 329232023 | 8 mins ago | IN | 0 ETH | 0.00000335 | ||||
Approve | 329231781 | 9 mins ago | IN | 0 ETH | 0.00000302 | ||||
Transfer | 329231429 | 10 mins ago | IN | 0 ETH | 0.00000422 | ||||
Transfer | 329230158 | 15 mins ago | IN | 0 ETH | 0.00000445 | ||||
Transfer | 329228888 | 21 mins ago | IN | 0 ETH | 0.00000227 | ||||
Transfer | 329227622 | 26 mins ago | IN | 0 ETH | 0.00000256 | ||||
Transfer | 329227046 | 28 mins ago | IN | 0 ETH | 0.00000261 | ||||
Transfer | 329226347 | 31 mins ago | IN | 0 ETH | 0.00000161 | ||||
Transfer | 329225090 | 36 mins ago | IN | 0 ETH | 0.00000161 | ||||
Transfer | 329223818 | 42 mins ago | IN | 0 ETH | 0.00000094 | ||||
Transfer | 329222560 | 47 mins ago | IN | 0 ETH | 0.00000154 | ||||
Transfer | 329221291 | 52 mins ago | IN | 0 ETH | 0.00000237 | ||||
Approve | 329220270 | 56 mins ago | IN | 0 ETH | 0.00000243 | ||||
Transfer | 329220016 | 57 mins ago | IN | 0 ETH | 0.00000227 | ||||
Approve | 329219978 | 57 mins ago | IN | 0 ETH | 0.00000243 | ||||
Transfer | 329219680 | 1 hrs ago | IN | 0 ETH | 0.00000231 | ||||
Transfer | 329219557 | 1 hrs ago | IN | 0 ETH | 0.00000231 | ||||
Transfer | 329219552 | 1 hrs ago | IN | 0 ETH | 0.00000231 | ||||
Transfer | 329219427 | 1 hr ago | IN | 0 ETH | 0.00000248 | ||||
Transfer | 329218747 | 1 hr ago | IN | 0 ETH | 0.00000211 |
Loading...
Loading
Contract Name:
MK
Compiler Version
v0.5.17+commit.d19bba13
Contract Source Code (Solidity)
/** *Submitted for verification at Arbiscan.io on 2025-03-07 */ pragma solidity ^0.5.17; interface IBEP20 { /** * @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 payable 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() internal {} function _msgSender() internal view returns (address payable) { return 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; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() internal { 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; } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function factory() external pure returns (address); function WETH() external pure returns (address); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function addLiquidity( address tokenA, address tokenB, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns ( uint256 amountA, uint256 amountB, uint256 liquidity ); function getAmountsOut(uint256 amountIn, address[] calldata path) external view returns (uint256[] memory amounts); } interface IUniswapV2Pair { function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns ( uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast ); function sync() external; } contract Wrap is Ownable { function withdraw(address ct, address to) public onlyOwner { IBEP20(ct).transfer(to, IBEP20(ct).balanceOf(address(this))); } } contract MK is Context, IBEP20, 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; address public _pairAddress; address public _deadAddress = 0x000000000000000000000000000000000000dEaD; address public wethAddress = 0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9; address public routerAddress = 0x4752ba5DBc23f44D87826276BF6Fd6b1C372aD24; address public receiveAddress; IUniswapV2Router02 public _uniswapV2Router; uint256 public _buyFeeRatio = 100; uint256 public _sellFeeRatio = 100; string public mode; mapping(address => bool) private _isExcluded; mapping(address => bool) private _isBlack; constructor() public { _name = "MK"; _symbol = "MK"; _decimals = 18; _totalSupply = 21000000 * (10**uint256(_decimals)); _balances[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _totalSupply); _isExcluded[address(this)]=true; _uniswapV2Router = IUniswapV2Router02(routerAddress); // wethAddress = _uniswapV2Router.WETH(); _pairAddress = IUniswapV2Factory(_uniswapV2Router.factory()).createPair( address(this), wethAddress ); } /** * @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) public 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 payable 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) public 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, "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 {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, "ERC20: 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 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 { bool takeFee; bool isSell; bool isBuy; bool isDel; bool isAdd; require(!_isBlack[sender], "transfer error"); if (recipient == _pairAddress || sender == _pairAddress) { if (recipient == _pairAddress) { isAdd = _isAddLiquidity(); if (!isAdd) { isSell = true; } } else if (sender == _pairAddress) { isDel = _isRemoveLiquidity(); if (!isDel) { isBuy = true; } } if (isAdd) { mode = "add"; } if (isDel) { mode = "del"; } if (isSell) { mode = "sell"; } if (isBuy) { mode = "buy"; } if ( (isSell || isBuy) && !_isExcluded[sender] && !_isExcluded[recipient] ) { takeFee = true; } } _tokenTransfer(sender, recipient, amount, takeFee); } /** @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), "ERC20: 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), "ERC20: burn from the zero address"); _balances[account] = _balances[account].sub( amount, "ERC20: 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), "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); } /** * @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, "ERC20: burn amount exceeds allowance" ) ); } function _isAddLiquidity() internal view returns (bool isAdd) { IUniswapV2Pair mainPair = IUniswapV2Pair(_pairAddress); (uint256 r0, uint256 r1, ) = mainPair.getReserves(); address tokenOther = wethAddress; uint256 r; if (tokenOther < address(this)) { r = r0; } else { r = r1; } uint256 bal = IBEP20(tokenOther).balanceOf(address(mainPair)); isAdd = bal > r; } function _isRemoveLiquidity() internal view returns (bool isRemove) { IUniswapV2Pair mainPair = IUniswapV2Pair(_pairAddress); (uint256 r0, uint256 r1, ) = mainPair.getReserves(); address tokenOther = wethAddress; uint256 r; if (tokenOther < address(this)) { r = r0; } else { r = r1; } uint256 bal = IBEP20(tokenOther).balanceOf(address(mainPair)); isRemove = r >= bal; } function _basicTransfer( address sender, address recipient, uint256 amount ) internal returns (bool) { _balances[sender] = _balances[sender].sub( amount, "ERC20: transfer amount exceeds balance" ); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function _takeTransfer( address sender, address recipient, uint256 amount ) private { _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); } function _tokenTransfer( address sender, address recipient, uint256 amount, bool takeFee ) private { _balances[sender] = _balances[sender].sub(amount); uint256 subAmount = amount; if (takeFee) { uint256 fee; if (sender == _pairAddress) { fee = amount.mul(_buyFeeRatio).div(100); } else if (recipient == _pairAddress) { fee=amount.mul(_sellFeeRatio).div(100); } if(fee>0){ _takeTransfer(sender, receiveAddress, fee); } subAmount = amount.sub(fee); } if (subAmount > 0) { _takeTransfer(sender, recipient, subAmount); } } function setBuyFeeRatio(uint256 ratio) public onlyOwner { _buyFeeRatio = ratio; } function setSellFeeRatio(uint256 ratio) public onlyOwner { _sellFeeRatio = ratio; } function setPairAddress(address addr) public onlyOwner { _pairAddress = addr; } function setWethAddress(address addr) public onlyOwner { wethAddress = addr; } function setRouterAddress(address addr) public onlyOwner { routerAddress = addr; } function setReceiveAddress(address addr) public onlyOwner { receiveAddress = addr; } function setExcluded(address[] calldata accounts, bool flag) external onlyOwner { for (uint256 i = 0; i < accounts.length; i++) { _isExcluded[accounts[i]] = flag; } } function setBlack(address[] calldata accounts, bool flag) external onlyOwner { for (uint256 i = 0; i < accounts.length; i++) { _isBlack[accounts[i]] = flag; } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"payable":false,"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"},{"constant":true,"inputs":[],"name":"_buyFeeRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_pairAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_sellFeeRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"mode","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"receiveAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"routerAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"flag","type":"bool"}],"name":"setBlack","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"ratio","type":"uint256"}],"name":"setBuyFeeRatio","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"flag","type":"bool"}],"name":"setExcluded","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"setPairAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"setReceiveAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"setRouterAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"ratio","type":"uint256"}],"name":"setSellFeeRatio","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"setWethAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"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"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"wethAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"}]
Contract Creation Code
608060405261dead600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073fd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550734752ba5dbc23f44d87826276bf6fd6b1c372ad24600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506064600d556064600e553480156200010857600080fd5b5060006200011b620005fa60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506040518060400160405280600281526020017f4d4b000000000000000000000000000000000000000000000000000000000000815250600690805190602001906200020692919062000602565b506040518060400160405280600281526020017f4d4b000000000000000000000000000000000000000000000000000000000000815250600590805190602001906200025492919062000602565b506012600460006101000a81548160ff021916908360ff160217905550600460009054906101000a900460ff1660ff16600a0a6301406f4002600381905550600354600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6003546040518082815260200191505060405180910390a36001601060003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200046557600080fd5b505afa1580156200047a573d6000803e3d6000fd5b505050506040513d60208110156200049157600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156200057757600080fd5b505af11580156200058c573d6000803e3d6000fd5b505050506040513d6020811015620005a357600080fd5b8101908080519060200190929190505050600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620006b1565b600033905090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200064557805160ff191683800117855562000676565b8280016001018555821562000676579182015b828111156200067557825182559160200191906001019062000658565b5b50905062000685919062000689565b5090565b620006ae91905b80821115620006aa57600081600090555060010162000690565b5090565b90565b6132f880620006c16000396000f3fe6080604052600436106101e35760003560e01c8063715018a611610102578063a457c2d711610095578063dd62ed3e11610064578063dd62ed3e14610c1c578063e3ac03f314610ca1578063f2fde38b14610cdc578063fffe42e914610d2d576101e3565b8063a457c2d714610a9b578063a9059cbb14610b0e578063a96e242314610b74578063c93eb86614610bc5576101e3565b80638e47b88c116100d15780638e47b88c1461095457806395d89b411461097f5780639da39df914610a0f578063a22d483214610a4a576101e3565b8063715018a6146108645780637ec502a41461087b578063893d20e8146108a65780638da5cb5b146108fd576101e3565b80633268cc561161017a5780634f0e0ef3116101495780634f0e0ef314610700578063583e0568146107575780635ec4b7a8146107ae57806370a08231146107ff576101e3565b80633268cc561461055357806339509351146105aa5780633d36cd331461061d57806341cb87fc146106af576101e3565b80631b355427116101b65780631b355427146103a857806323b872dd146103ff578063295a521214610492578063313ce56714610522576101e3565b806306fdde03146101e857806307c4357314610278578063095ea7b31461030a57806318160ddd1461037d575b600080fd5b3480156101f457600080fd5b506101fd610d84565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561023d578082015181840152602081019050610222565b50505050905090810190601f16801561026a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561028457600080fd5b506103086004803603604081101561029b57600080fd5b81019080803590602001906401000000008111156102b857600080fd5b8201836020820111156102ca57600080fd5b803590602001918460208302840111640100000000831117156102ec57600080fd5b9091929391929390803515159060200190929190505050610e26565b005b34801561031657600080fd5b506103636004803603604081101561032d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f92565b604051808215151515815260200191505060405180910390f35b34801561038957600080fd5b50610392610fb0565b6040518082815260200191505060405180910390f35b3480156103b457600080fd5b506103bd610fba565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561040b57600080fd5b506104786004803603606081101561042257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fe0565b604051808215151515815260200191505060405180910390f35b34801561049e57600080fd5b506104a76110b9565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104e75780820151818401526020810190506104cc565b50505050905090810190601f1680156105145780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561052e57600080fd5b50610537611157565b604051808260ff1660ff16815260200191505060405180910390f35b34801561055f57600080fd5b5061056861116e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105b657600080fd5b50610603600480360360408110156105cd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611194565b604051808215151515815260200191505060405180910390f35b34801561062957600080fd5b506106ad6004803603604081101561064057600080fd5b810190808035906020019064010000000081111561065d57600080fd5b82018360208201111561066f57600080fd5b8035906020019184602083028401116401000000008311171561069157600080fd5b9091929391929390803515159060200190929190505050611247565b005b3480156106bb57600080fd5b506106fe600480360360208110156106d257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113b3565b005b34801561070c57600080fd5b506107156114c0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561076357600080fd5b5061076c6114e6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107ba57600080fd5b506107fd600480360360208110156107d157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061150c565b005b34801561080b57600080fd5b5061084e6004803603602081101561082257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611619565b6040518082815260200191505060405180910390f35b34801561087057600080fd5b50610879611662565b005b34801561088757600080fd5b506108906117ea565b6040518082815260200191505060405180910390f35b3480156108b257600080fd5b506108bb6117f0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561090957600080fd5b506109126117ff565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561096057600080fd5b50610969611828565b6040518082815260200191505060405180910390f35b34801561098b57600080fd5b5061099461182e565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109d45780820151818401526020810190506109b9565b50505050905090810190601f168015610a015780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610a1b57600080fd5b50610a4860048036036020811015610a3257600080fd5b81019080803590602001909291905050506118d0565b005b348015610a5657600080fd5b50610a9960048036036020811015610a6d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119a3565b005b348015610aa757600080fd5b50610af460048036036040811015610abe57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611ab0565b604051808215151515815260200191505060405180910390f35b610b5a60048036036040811015610b2457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b7d565b604051808215151515815260200191505060405180910390f35b348015610b8057600080fd5b50610bc360048036036020811015610b9757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b9b565b005b348015610bd157600080fd5b50610bda611ca8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610c2857600080fd5b50610c8b60048036036040811015610c3f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611cce565b6040518082815260200191505060405180910390f35b348015610cad57600080fd5b50610cda60048036036020811015610cc457600080fd5b8101908080359060200190929190505050611d55565b005b348015610ce857600080fd5b50610d2b60048036036020811015610cff57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e28565b005b348015610d3957600080fd5b50610d42611efd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b606060068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e1c5780601f10610df157610100808354040283529160200191610e1c565b820191906000526020600020905b815481529060010190602001808311610dff57829003601f168201915b5050505050905090565b610e2e611f23565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610eef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60008090505b83839050811015610f8c578160106000868685818110610f1157fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080600101915050610ef5565b50505050565b6000610fa6610f9f611f23565b8484611f2b565b6001905092915050565b6000600354905090565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610fed848484612122565b6110ae84610ff9611f23565b6110a98560405180606001604052806028815260200161325360289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061105f611f23565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125959092919063ffffffff16565b611f2b565b600190509392505050565b600f8054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561114f5780601f106111245761010080835404028352916020019161114f565b820191906000526020600020905b81548152906001019060200180831161113257829003601f168201915b505050505081565b6000600460009054906101000a900460ff16905090565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061123d6111a1611f23565b8461123885600260006111b2611f23565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461265590919063ffffffff16565b611f2b565b6001905092915050565b61124f611f23565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611310576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60008090505b838390508110156113ad57816011600086868581811061133257fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080600101915050611316565b50505050565b6113bb611f23565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461147c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611514611f23565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61166a611f23565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461172b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600d5481565b60006117fa6117ff565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600e5481565b606060058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118c65780601f1061189b576101008083540402835291602001916118c6565b820191906000526020600020905b8154815290600101906020018083116118a957829003601f168201915b5050505050905090565b6118d8611f23565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611999576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600d8190555050565b6119ab611f23565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a6c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000611b73611abd611f23565b84611b6e8560405180606001604052806025815260200161329f6025913960026000611ae7611f23565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125959092919063ffffffff16565b611f2b565b6001905092915050565b6000611b91611b8a611f23565b8484612122565b6001905092915050565b611ba3611f23565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c64576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611d5d611f23565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611e1e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600e8190555050565b611e30611f23565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ef1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b611efa816126dd565b50565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611fb1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061327b6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612037576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806132106022913960400191505060405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b6000806000806000601160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156121ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f7472616e73666572206572726f7200000000000000000000000000000000000081525060200191505060405180910390fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614806122935750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16145b1561257f57600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161415612307576122f6612821565b90508061230257600193505b612373565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16141561237257612365612a39565b91508161237157600192505b5b5b80156123c6576040518060400160405280600381526020017f6164640000000000000000000000000000000000000000000000000000000000815250600f90805190602001906123c4929190613144565b505b8115612419576040518060400160405280600381526020017f64656c0000000000000000000000000000000000000000000000000000000000815250600f9080519060200190612417929190613144565b505b831561246c576040518060400160405280600481526020017f73656c6c00000000000000000000000000000000000000000000000000000000815250600f908051906020019061246a929190613144565b505b82156124bf576040518060400160405280600381526020017f6275790000000000000000000000000000000000000000000000000000000000815250600f90805190602001906124bd929190613144565b505b83806124c85750825b801561251e5750601060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156125745750601060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561257e57600194505b5b61258b88888888612c52565b5050505050505050565b6000838311158290612642576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156126075780820151818401526020810190506125ec565b50505050905090810190601f1680156126345780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000808284019050838110156126d3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612763576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806131ea6026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000808273ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561289257600080fd5b505afa1580156128a6573d6000803e3d6000fd5b505050506040513d60608110156128bc57600080fd5b81019080805190602001909291908051906020019092919080519060200190929190505050506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff1691506000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060003073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16101561296b5783905061296f565b8290505b60008273ffffffffffffffffffffffffffffffffffffffff166370a08231876040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156129ee57600080fd5b505afa158015612a02573d6000803e3d6000fd5b505050506040513d6020811015612a1857600080fd5b81019080805190602001909291905050509050818111965050505050505090565b600080600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000808273ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b158015612aaa57600080fd5b505afa158015612abe573d6000803e3d6000fd5b505050506040513d6060811015612ad457600080fd5b81019080805190602001909291908051906020019092919080519060200190929190505050506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff1691506000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060003073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161015612b8357839050612b87565b8290505b60008273ffffffffffffffffffffffffffffffffffffffff166370a08231876040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015612c0657600080fd5b505afa158015612c1a573d6000803e3d6000fd5b505050506040513d6020811015612c3057600080fd5b8101908080519060200190929190505050905080821015965050505050505090565b612ca482600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e6590919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008290508115612e49576000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415612d7957612d726064612d64600d5487612eaf90919063ffffffff16565b612f3590919063ffffffff16565b9050612dfb565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415612dfa57612df76064612de9600e5487612eaf90919063ffffffff16565b612f3590919063ffffffff16565b90505b5b6000811115612e3257612e3186600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683612f7f565b5b612e458185612e6590919063ffffffff16565b9150505b6000811115612e5e57612e5d858583612f7f565b5b5050505050565b6000612ea783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612595565b905092915050565b600080831415612ec25760009050612f2f565b6000828402905082848281612ed357fe5b0414612f2a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806132326021913960400191505060405180910390fd5b809150505b92915050565b6000612f7783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061307e565b905092915050565b612fd181600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461265590919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000808311829061312a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156130ef5780820151818401526020810190506130d4565b50505050905090810190601f16801561311c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161313657fe5b049050809150509392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061318557805160ff19168380011785556131b3565b828001600101855582156131b3579182015b828111156131b2578251825591602001919060010190613197565b5b5090506131c091906131c4565b5090565b6131e691905b808211156131e25760008160009055506001016131ca565b5090565b9056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a72315820bbc7520eac697640add761e3588740a29442dd0ebf234e5aecf4c6404b524ba764736f6c63430005110032
Deployed Bytecode
0x6080604052600436106101e35760003560e01c8063715018a611610102578063a457c2d711610095578063dd62ed3e11610064578063dd62ed3e14610c1c578063e3ac03f314610ca1578063f2fde38b14610cdc578063fffe42e914610d2d576101e3565b8063a457c2d714610a9b578063a9059cbb14610b0e578063a96e242314610b74578063c93eb86614610bc5576101e3565b80638e47b88c116100d15780638e47b88c1461095457806395d89b411461097f5780639da39df914610a0f578063a22d483214610a4a576101e3565b8063715018a6146108645780637ec502a41461087b578063893d20e8146108a65780638da5cb5b146108fd576101e3565b80633268cc561161017a5780634f0e0ef3116101495780634f0e0ef314610700578063583e0568146107575780635ec4b7a8146107ae57806370a08231146107ff576101e3565b80633268cc561461055357806339509351146105aa5780633d36cd331461061d57806341cb87fc146106af576101e3565b80631b355427116101b65780631b355427146103a857806323b872dd146103ff578063295a521214610492578063313ce56714610522576101e3565b806306fdde03146101e857806307c4357314610278578063095ea7b31461030a57806318160ddd1461037d575b600080fd5b3480156101f457600080fd5b506101fd610d84565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561023d578082015181840152602081019050610222565b50505050905090810190601f16801561026a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561028457600080fd5b506103086004803603604081101561029b57600080fd5b81019080803590602001906401000000008111156102b857600080fd5b8201836020820111156102ca57600080fd5b803590602001918460208302840111640100000000831117156102ec57600080fd5b9091929391929390803515159060200190929190505050610e26565b005b34801561031657600080fd5b506103636004803603604081101561032d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f92565b604051808215151515815260200191505060405180910390f35b34801561038957600080fd5b50610392610fb0565b6040518082815260200191505060405180910390f35b3480156103b457600080fd5b506103bd610fba565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561040b57600080fd5b506104786004803603606081101561042257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fe0565b604051808215151515815260200191505060405180910390f35b34801561049e57600080fd5b506104a76110b9565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104e75780820151818401526020810190506104cc565b50505050905090810190601f1680156105145780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561052e57600080fd5b50610537611157565b604051808260ff1660ff16815260200191505060405180910390f35b34801561055f57600080fd5b5061056861116e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105b657600080fd5b50610603600480360360408110156105cd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611194565b604051808215151515815260200191505060405180910390f35b34801561062957600080fd5b506106ad6004803603604081101561064057600080fd5b810190808035906020019064010000000081111561065d57600080fd5b82018360208201111561066f57600080fd5b8035906020019184602083028401116401000000008311171561069157600080fd5b9091929391929390803515159060200190929190505050611247565b005b3480156106bb57600080fd5b506106fe600480360360208110156106d257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113b3565b005b34801561070c57600080fd5b506107156114c0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561076357600080fd5b5061076c6114e6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107ba57600080fd5b506107fd600480360360208110156107d157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061150c565b005b34801561080b57600080fd5b5061084e6004803603602081101561082257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611619565b6040518082815260200191505060405180910390f35b34801561087057600080fd5b50610879611662565b005b34801561088757600080fd5b506108906117ea565b6040518082815260200191505060405180910390f35b3480156108b257600080fd5b506108bb6117f0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561090957600080fd5b506109126117ff565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561096057600080fd5b50610969611828565b6040518082815260200191505060405180910390f35b34801561098b57600080fd5b5061099461182e565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109d45780820151818401526020810190506109b9565b50505050905090810190601f168015610a015780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610a1b57600080fd5b50610a4860048036036020811015610a3257600080fd5b81019080803590602001909291905050506118d0565b005b348015610a5657600080fd5b50610a9960048036036020811015610a6d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119a3565b005b348015610aa757600080fd5b50610af460048036036040811015610abe57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611ab0565b604051808215151515815260200191505060405180910390f35b610b5a60048036036040811015610b2457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b7d565b604051808215151515815260200191505060405180910390f35b348015610b8057600080fd5b50610bc360048036036020811015610b9757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b9b565b005b348015610bd157600080fd5b50610bda611ca8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610c2857600080fd5b50610c8b60048036036040811015610c3f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611cce565b6040518082815260200191505060405180910390f35b348015610cad57600080fd5b50610cda60048036036020811015610cc457600080fd5b8101908080359060200190929190505050611d55565b005b348015610ce857600080fd5b50610d2b60048036036020811015610cff57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e28565b005b348015610d3957600080fd5b50610d42611efd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b606060068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e1c5780601f10610df157610100808354040283529160200191610e1c565b820191906000526020600020905b815481529060010190602001808311610dff57829003601f168201915b5050505050905090565b610e2e611f23565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610eef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60008090505b83839050811015610f8c578160106000868685818110610f1157fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080600101915050610ef5565b50505050565b6000610fa6610f9f611f23565b8484611f2b565b6001905092915050565b6000600354905090565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610fed848484612122565b6110ae84610ff9611f23565b6110a98560405180606001604052806028815260200161325360289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061105f611f23565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125959092919063ffffffff16565b611f2b565b600190509392505050565b600f8054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561114f5780601f106111245761010080835404028352916020019161114f565b820191906000526020600020905b81548152906001019060200180831161113257829003601f168201915b505050505081565b6000600460009054906101000a900460ff16905090565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061123d6111a1611f23565b8461123885600260006111b2611f23565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461265590919063ffffffff16565b611f2b565b6001905092915050565b61124f611f23565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611310576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60008090505b838390508110156113ad57816011600086868581811061133257fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080600101915050611316565b50505050565b6113bb611f23565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461147c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611514611f23565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61166a611f23565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461172b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600d5481565b60006117fa6117ff565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600e5481565b606060058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118c65780601f1061189b576101008083540402835291602001916118c6565b820191906000526020600020905b8154815290600101906020018083116118a957829003601f168201915b5050505050905090565b6118d8611f23565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611999576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600d8190555050565b6119ab611f23565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a6c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000611b73611abd611f23565b84611b6e8560405180606001604052806025815260200161329f6025913960026000611ae7611f23565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125959092919063ffffffff16565b611f2b565b6001905092915050565b6000611b91611b8a611f23565b8484612122565b6001905092915050565b611ba3611f23565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c64576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611d5d611f23565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611e1e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600e8190555050565b611e30611f23565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ef1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b611efa816126dd565b50565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611fb1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061327b6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612037576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806132106022913960400191505060405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b6000806000806000601160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156121ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f7472616e73666572206572726f7200000000000000000000000000000000000081525060200191505060405180910390fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614806122935750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16145b1561257f57600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161415612307576122f6612821565b90508061230257600193505b612373565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16141561237257612365612a39565b91508161237157600192505b5b5b80156123c6576040518060400160405280600381526020017f6164640000000000000000000000000000000000000000000000000000000000815250600f90805190602001906123c4929190613144565b505b8115612419576040518060400160405280600381526020017f64656c0000000000000000000000000000000000000000000000000000000000815250600f9080519060200190612417929190613144565b505b831561246c576040518060400160405280600481526020017f73656c6c00000000000000000000000000000000000000000000000000000000815250600f908051906020019061246a929190613144565b505b82156124bf576040518060400160405280600381526020017f6275790000000000000000000000000000000000000000000000000000000000815250600f90805190602001906124bd929190613144565b505b83806124c85750825b801561251e5750601060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156125745750601060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561257e57600194505b5b61258b88888888612c52565b5050505050505050565b6000838311158290612642576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156126075780820151818401526020810190506125ec565b50505050905090810190601f1680156126345780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000808284019050838110156126d3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612763576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806131ea6026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000808273ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561289257600080fd5b505afa1580156128a6573d6000803e3d6000fd5b505050506040513d60608110156128bc57600080fd5b81019080805190602001909291908051906020019092919080519060200190929190505050506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff1691506000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060003073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16101561296b5783905061296f565b8290505b60008273ffffffffffffffffffffffffffffffffffffffff166370a08231876040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156129ee57600080fd5b505afa158015612a02573d6000803e3d6000fd5b505050506040513d6020811015612a1857600080fd5b81019080805190602001909291905050509050818111965050505050505090565b600080600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000808273ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b158015612aaa57600080fd5b505afa158015612abe573d6000803e3d6000fd5b505050506040513d6060811015612ad457600080fd5b81019080805190602001909291908051906020019092919080519060200190929190505050506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff1691506000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060003073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161015612b8357839050612b87565b8290505b60008273ffffffffffffffffffffffffffffffffffffffff166370a08231876040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015612c0657600080fd5b505afa158015612c1a573d6000803e3d6000fd5b505050506040513d6020811015612c3057600080fd5b8101908080519060200190929190505050905080821015965050505050505090565b612ca482600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e6590919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008290508115612e49576000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415612d7957612d726064612d64600d5487612eaf90919063ffffffff16565b612f3590919063ffffffff16565b9050612dfb565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415612dfa57612df76064612de9600e5487612eaf90919063ffffffff16565b612f3590919063ffffffff16565b90505b5b6000811115612e3257612e3186600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683612f7f565b5b612e458185612e6590919063ffffffff16565b9150505b6000811115612e5e57612e5d858583612f7f565b5b5050505050565b6000612ea783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612595565b905092915050565b600080831415612ec25760009050612f2f565b6000828402905082848281612ed357fe5b0414612f2a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806132326021913960400191505060405180910390fd5b809150505b92915050565b6000612f7783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061307e565b905092915050565b612fd181600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461265590919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000808311829061312a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156130ef5780820151818401526020810190506130d4565b50505050905090810190601f16801561311c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161313657fe5b049050809150509392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061318557805160ff19168380011785556131b3565b828001600101855582156131b3579182015b828111156131b2578251825591602001919060010190613197565b5b5090506131c091906131c4565b5090565b6131e691905b808211156131e25760008160009055506001016131ca565b5090565b9056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a72315820bbc7520eac697640add761e3588740a29442dd0ebf234e5aecf4c6404b524ba764736f6c63430005110032
Deployed Bytecode Sourcemap
14482:14158:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16498:85;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16498:85:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;16498:85:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28181:225;;8:9:-1;5:2;;;30:1;27;20:12;5:2;28181:225:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;28181:225:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;28181:225:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;28181:225:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;28181:225:0;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;17700:152;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17700:152:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17700:152:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;16647:93;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16647:93:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14817:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14817:27:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;18323:439;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18323:439:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;18323:439:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;15264:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15264:18:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;15264:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16196:85;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16196:85:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;15010:73;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15010:73:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;19170:283;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19170:283:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19170:283:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;28414:219;;8:9:-1;5:2;;;30:1;27;20:12;5:2;28414:219:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;28414:219:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;28414:219:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;28414:219:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;28414:219:0;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;27953:96;;8:9:-1;5:2;;;30:1;27;20:12;5:2;27953:96:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;27953:96:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;14930:71;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14930:71:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;15130:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15130:42:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;28058:98;;8:9:-1;5:2;;;30:1;27;20:12;5:2;28058:98:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;28058:98:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;16802:110;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16802:110:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16802:110:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11413:140;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11413:140:0;;;:::i;:::-;;15181:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15181:33:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16044:85;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16044:85:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10771:79;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10771:79:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;15221:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15221:34:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16346:89;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16346:89:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;16346:89:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27542:95;;8:9:-1;5:2;;;30:1;27;20:12;5:2;27542:95:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;27542:95:0;;;;;;;;;;;;;;;;;:::i;:::-;;27752:93;;8:9:-1;5:2;;;30:1;27;20:12;5:2;27752:93:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;27752:93:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;19955:383;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19955:383:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19955:383:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;17124:200;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17124:200:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;27853:92;;8:9:-1;5:2;;;30:1;27;20:12;5:2;27853:92:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;27853:92:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;14851:72;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14851:72:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;17386:168;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17386:168:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17386:168:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;27645:97;;8:9:-1;5:2;;;30:1;27;20:12;5:2;27645:97:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;27645:97:0;;;;;;;;;;;;;;;;;:::i;:::-;;11708:109;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11708:109:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11708:109:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;15092:29;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15092:29:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;16498:85;16537:13;16570:5;16563:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16498:85;:::o;28181:225::-;10993:12;:10;:12::i;:::-;10983:22;;:6;;;;;;;;;;;:22;;;10975:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28300:9;28312:1;28300:13;;28295:104;28319:8;;:15;;28315:1;:19;28295:104;;;28383:4;28356:11;:24;28368:8;;28377:1;28368:11;;;;;;;;;;;;;;;28356:24;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;28336:3;;;;;;;28295:104;;;;28181:225;;;:::o;17700:152::-;17766:4;17783:39;17792:12;:10;:12::i;:::-;17806:7;17815:6;17783:8;:39::i;:::-;17840:4;17833:11;;17700:152;;;;:::o;16647:93::-;16693:7;16720:12;;16713:19;;16647:93;:::o;14817:27::-;;;;;;;;;;;;;:::o;18323:439::-;18448:4;18465:36;18475:6;18483:9;18494:6;18465:9;:36::i;:::-;18512:220;18535:6;18556:12;:10;:12::i;:::-;18583:138;18639:6;18583:138;;;;;;;;;;;;;;;;;:11;:19;18595:6;18583:19;;;;;;;;;;;;;;;:33;18603:12;:10;:12::i;:::-;18583:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;18512:8;:220::i;:::-;18750:4;18743:11;;18323:439;;;;;:::o;15264:18::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;16196:85::-;16239:5;16264:9;;;;;;;;;;;16257:16;;16196:85;:::o;15010:73::-;;;;;;;;;;;;;:::o;19170:283::-;19268:4;19290:133;19313:12;:10;:12::i;:::-;19340:7;19362:50;19401:10;19362:11;:25;19374:12;:10;:12::i;:::-;19362:25;;;;;;;;;;;;;;;:34;19388:7;19362:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;19290:8;:133::i;:::-;19441:4;19434:11;;19170:283;;;;:::o;28414:219::-;10993:12;:10;:12::i;:::-;10983:22;;:6;;;;;;;;;;;:22;;;10975:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28530:9;28542:1;28530:13;;28525:101;28549:8;;:15;;28545:1;:19;28525:101;;;28610:4;28586:8;:21;28595:8;;28604:1;28595:11;;;;;;;;;;;;;;;28586:21;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;28566:3;;;;;;;28525:101;;;;28414:219;;;:::o;27953:96::-;10993:12;:10;:12::i;:::-;10983:22;;:6;;;;;;;;;;;:22;;;10975:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28037:4;28021:13;;:20;;;;;;;;;;;;;;;;;;27953:96;:::o;14930:71::-;;;;;;;;;;;;;:::o;15130:42::-;;;;;;;;;;;;;:::o;28058:98::-;10993:12;:10;:12::i;:::-;10983:22;;:6;;;;;;;;;;;:22;;;10975:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28144:4;28127:14;;:21;;;;;;;;;;;;;;;;;;28058:98;:::o;16802:110::-;16859:7;16886:9;:18;16896:7;16886:18;;;;;;;;;;;;;;;;16879:25;;16802:110;;;:::o;11413:140::-;10993:12;:10;:12::i;:::-;10983:22;;:6;;;;;;;;;;;:22;;;10975:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11512:1;11475:40;;11496:6;;;;;;;;;;;11475:40;;;;;;;;;;;;11543:1;11526:6;;:19;;;;;;;;;;;;;;;;;;11413:140::o;15181:33::-;;;;:::o;16044:85::-;16087:7;16114;:5;:7::i;:::-;16107:14;;16044:85;:::o;10771:79::-;10809:7;10836:6;;;;;;;;;;;10829:13;;10771:79;:::o;15221:34::-;;;;:::o;16346:89::-;16387:13;16420:7;16413:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16346:89;:::o;27542:95::-;10993:12;:10;:12::i;:::-;10983:22;;:6;;;;;;;;;;;:22;;;10975:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27624:5;27609:12;:20;;;;27542:95;:::o;27752:93::-;10993:12;:10;:12::i;:::-;10983:22;;:6;;;;;;;;;;;:22;;;10975:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27833:4;27818:12;;:19;;;;;;;;;;;;;;;;;;27752:93;:::o;19955:383::-;20058:4;20080:228;20103:12;:10;:12::i;:::-;20130:7;20152:145;20209:15;20152:145;;;;;;;;;;;;;;;;;:11;:25;20164:12;:10;:12::i;:::-;20152:25;;;;;;;;;;;;;;;:34;20178:7;20152:34;;;;;;;;;;;;;;;;:38;;:145;;;;;:::i;:::-;20080:8;:228::i;:::-;20326:4;20319:11;;19955:383;;;;:::o;17124:200::-;17230:4;17252:42;17262:12;:10;:12::i;:::-;17276:9;17287:6;17252:9;:42::i;:::-;17312:4;17305:11;;17124:200;;;;:::o;27853:92::-;10993:12;:10;:12::i;:::-;10983:22;;:6;;;;;;;;;;;:22;;;10975:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27933:4;27919:11;;:18;;;;;;;;;;;;;;;;;;27853:92;:::o;14851:72::-;;;;;;;;;;;;;:::o;17386:168::-;17487:7;17519:11;:18;17531:5;17519:18;;;;;;;;;;;;;;;:27;17538:7;17519:27;;;;;;;;;;;;;;;;17512:34;;17386:168;;;;:::o;27645:97::-;10993:12;:10;:12::i;:::-;10983:22;;:6;;;;;;;;;;;:22;;;10975:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27729:5;27713:13;:21;;;;27645:97;:::o;11708:109::-;10993:12;:10;:12::i;:::-;10983:22;;:6;;;;;;;;;;;:22;;;10975:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11781:28;11800:8;11781:18;:28::i;:::-;11708:109;:::o;15092:29::-;;;;;;;;;;;;;:::o;3996:98::-;4041:15;4076:10;4069:17;;3996:98;:::o;24207:372::-;24352:1;24335:19;;:5;:19;;;;24327:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24433:1;24414:21;;:7;:21;;;;24406:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24517:6;24487:11;:18;24499:5;24487:18;;;;;;;;;;;;;;;:27;24506:7;24487:27;;;;;;;;;;;;;;;:36;;;;24555:7;24539:32;;24548:5;24539:32;;;24564:6;24539:32;;;;;;;;;;;;;;;;;;24207:372;;;:::o;21184:1277::-;21308:12;21331:11;21353:10;21374;21395;21425:8;:16;21434:6;21425:16;;;;;;;;;;;;;;;;;;;;;;;;;21424:17;21416:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21488:12;;;;;;;;;;;21475:25;;:9;:25;;;:51;;;;21514:12;;;;;;;;;;;21504:22;;:6;:22;;;21475:51;21471:920;;;21560:12;;;;;;;;;;;21547:25;;:9;:25;;;21543:359;;;21601:17;:15;:17::i;:::-;21593:25;;21642:5;21637:68;;21681:4;21672:13;;21637:68;21543:359;;;21740:12;;;;;;;;;;;21730:22;;:6;:22;;;21726:176;;;21781:20;:18;:20::i;:::-;21773:28;;21825:5;21820:67;;21863:4;21855:12;;21820:67;21726:176;21543:359;21920:5;21916:58;;;21946:12;;;;;;;;;;;;;;;;;:4;:12;;;;;;;;;;;;:::i;:::-;;21916:58;21992:5;21988:58;;;22018:12;;;;;;;;;;;;;;;;;:4;:12;;;;;;;;;;;;:::i;:::-;;21988:58;22064:6;22060:60;;;22091:13;;;;;;;;;;;;;;;;;:4;:13;;;;;;;;;;;;:::i;:::-;;22060:60;22138:5;22134:58;;;22164:12;;;;;;;;;;;;;;;;;:4;:12;;;;;;;;;;;;:::i;:::-;;22134:58;22229:6;:15;;;;22239:5;22229:15;22228:58;;;;;22267:11;:19;22279:6;22267:19;;;;;;;;;;;;;;;;;;;;;;;;;22266:20;22228:58;:85;;;;;22291:11;:22;22303:9;22291:22;;;;;;;;;;;;;;;;;;;;;;;;;22290:23;22228:85;22206:172;;;22358:4;22348:14;;22206:172;21471:920;22403:50;22418:6;22426:9;22437:6;22445:7;22403:14;:50::i;:::-;21184:1277;;;;;;;;:::o;6053:226::-;6173:7;6206:1;6201;:6;;6209:12;6193:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;6193:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6233:9;6249:1;6245;:5;6233:17;;6270:1;6263:8;;;6053:226;;;;;:::o;5166:181::-;5224:7;5244:9;5260:1;5256;:5;5244:17;;5285:1;5280;:6;;5272:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5338:1;5331:8;;;5166:181;;;;:::o;11923:266::-;12031:1;12011:22;;:8;:22;;;;11989:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12144:8;12115:38;;12136:6;;;;;;;;;;;12115:38;;;;;;;;;;;;12173:8;12164:6;;:17;;;;;;;;;;;;;;;;;;11923:266;:::o;25104:476::-;25154:10;25177:23;25218:12;;;;;;;;;;;25177:54;;25243:10;25255;25271:8;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;25271:22:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;25271:22:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;25271:22:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25242:51;;;;;;;;;25306:18;25327:11;;;;;;;;;;;25306:32;;25349:9;25394:4;25373:26;;:10;:26;;;25369:104;;;25420:2;25416:6;;25369:104;;;25459:2;25455:6;;25369:104;25485:11;25506:10;25499:28;;;25536:8;25499:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;25499:47:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;25499:47:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;25499:47:0;;;;;;;;;;;;;;;;25485:61;;25571:1;25565:3;:7;25557:15;;25104:476;;;;;;;:::o;25588:486::-;25641:13;25667:23;25708:12;;;;;;;;;;;25667:54;;25733:10;25745;25761:8;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;25761:22:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;25761:22:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;25761:22:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25732:51;;;;;;;;;25796:18;25817:11;;;;;;;;;;;25796:32;;25839:9;25884:4;25863:26;;:10;:26;;;25859:104;;;25910:2;25906:6;;25859:104;;;25949:2;25945:6;;25859:104;25975:11;25996:10;25989:28;;;26026:8;25989:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;25989:47:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;25989:47:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;25989:47:0;;;;;;;;;;;;;;;;25975:61;;26063:3;26058:1;:8;;26047:19;;25588:486;;;;;;;:::o;26758:774::-;26931:29;26953:6;26931:9;:17;26941:6;26931:17;;;;;;;;;;;;;;;;:21;;:29;;;;:::i;:::-;26911:9;:17;26921:6;26911:17;;;;;;;;;;;;;;;:49;;;;26971:17;26991:6;26971:26;;27012:7;27008:418;;;27036:11;27076:12;;;;;;;;;;;27066:22;;:6;:22;;;27062:211;;;27115:33;27144:3;27115:24;27126:12;;27115:6;:10;;:24;;;;:::i;:::-;:28;;:33;;;;:::i;:::-;27109:39;;27062:211;;;27187:12;;;;;;;;;;;27174:25;;:9;:25;;;27170:103;;;27223:34;27253:3;27223:25;27234:13;;27223:6;:10;;:25;;;;:::i;:::-;:29;;:34;;;;:::i;:::-;27219:38;;27170:103;27062:211;27294:1;27290:3;:5;27287:86;;;27314:42;27328:6;27336:14;;;;;;;;;;;27352:3;27314:13;:42::i;:::-;27287:86;27399:15;27410:3;27399:6;:10;;:15;;;;:::i;:::-;27387:27;;27008:418;;27452:1;27440:9;:13;27436:89;;;27470:43;27484:6;27492:9;27503;27470:13;:43::i;:::-;27436:89;26758:774;;;;;:::o;5622:136::-;5680:7;5707:43;5711:1;5714;5707:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;5700:50;;5622:136;;;;:::o;6530:471::-;6588:7;6838:1;6833;:6;6829:47;;;6863:1;6856:8;;;;6829:47;6888:9;6904:1;6900;:5;6888:17;;6933:1;6928;6924;:5;;;;;;:10;6916:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6992:1;6985:8;;;6530:471;;;;;:::o;7469:132::-;7527:7;7554:39;7558:1;7561;7554:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;7547:46;;7469:132;;;;:::o;26509:241::-;26659:32;26684:6;26659:9;:20;26669:9;26659:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;26636:9;:20;26646:9;26636:20;;;;;;;;;;;;;;;:55;;;;26724:9;26707:35;;26716:6;26707:35;;;26735:6;26707:35;;;;;;;;;;;;;;;;;;26509:241;;;:::o;8089:379::-;8209:7;8308:1;8304;:5;8311:12;8296:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;8296:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8335:9;8351:1;8347;:5;;;;;;8335:17;;8459:1;8452:8;;;8089:379;;;;;:::o;14482:14158::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o
Swarm Source
bzzr://bbc7520eac697640add761e3588740a29442dd0ebf234e5aecf4c6404b524ba7
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.