ERC-20
Overview
Max Total Supply
100,000,000 BULL
Holders
140
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
213,736.146502094 BULLValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
BULL
Compiler Version
v0.8.18+commit.87f61d96
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: Unlicensed /* ████ ██▓▓██ ██▓▓▓▓██ ████████ ██▓▓██ ██▒▒▒▒▒▒▒▒██████ ██▒▒██ ████████▒▒████▒▒▒▒▒▒▒▒░░████ ██▒▒██ ██████░░░░░░▒▒██▒▒██▒▒▒▒▒▒▒▒▒▒▒▒▒▒██████ ██░░██ ██▓▓░░░░░░░░▒▒▒▒████▒▒██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒████████ ██▒▒██ ██░░░░▓▓██████████▒▒██▒▒██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██████▓▓████████ ██▒▒██ ██░░████ ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██████████ ██▒▒██ ████ ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ██▒▒██ ██▒▒██▒▒▒▒▒▒▒▒██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██▒▒██ ██▒▒██▒▒▒▒▒▒██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ██▒▒▒▒▒▒▒▒▒▒██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ██▒▒▒▒▒▒▒▒██ ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██▒▒▒▒▒▒▒▒▒▒██ ██░░▒▒▒▒▒▒██ ██▒▒▒▒▒▒██▒▒▒▒▒▒▒▒▒▒██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██▒▒▒▒▒▒▒▒▒▒██ ██░░░░░░▒▒██ ██▒▒▒▒██▒▒▒▒▒▒▒▒▒▒██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██▒▒▒▒▒▒▒▒▒▒██ ██░░░░▒▒██ ██▒▒▒▒██▒▒▒▒▒▒▒▒▒▒▒▒██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██▒▒▒▒▒▒▒▒▒▒██ ██████ ██▒▒▒▒██▒▒▒▒▒▒▒▒▒▒██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██▒▒▒▒▒▒▒▒██ ██▒▒▒▒██▒▒▒▒▒▒▒▒▒▒██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██████▒▒▒▒▒▒▒▒▒▒██ ████▒▒██▒▒▒▒▒▒▒▒▒▒██▒▒▒▒▒▒▒▒▒▒▒▒██████ ██▒▒██▒▒▒▒▒▒░░██ ▓▓▓▓██████▒▒▒▒▒▒▒▒██▒▒▒▒▒▒██████ ██▒▒▒▒██▒▒▒▒░░▒▒██ ██▒▒▒▒▒▒██▒▒▒▒▒▒▒▒████████ ██▒▒▒▒████▒▒▒▒██ ██▒▒▒▒▒▒██▒▒▒▒▒▒▒▒██ ██▒▒▒▒██ ██▒▒▒▒██ ██▒▒▒▒▒▒██▒▒▒▒▒▒▒▒██ ██▒▒██ ██▒▒▒▒██ ██▒▒▒▒████▒▒▒▒▒▒██ ██▒▒██ ██▒▒▒▒██ ██▒▒▒▒██ ██▒▒▒▒██ ██▒▒██ ██▒▒██ ██▒▒▒▒██ ██▒▒▒▒██ ██▒▒▒▒████▒▒▒▒██ ██████ ██████ ██████ ██████ $BULL is saving you, time to go brrr Telegram: https://t.me/BullisBack_ETH Website: https://www.gobrrr.xyz/ */ pragma solidity ^0.8.9; library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } interface ERC20 { function totalSupply() external view returns (uint256); function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address _owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } abstract contract Ownable { address internal _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = msg.sender; _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == msg.sender, "!owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "new is 0"); 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 addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract BULL is ERC20, Ownable { using SafeMath for uint256; string private _name = unicode"BULL"; string private _symbol = unicode"BULL"; uint8 constant _decimals = 9; uint256 _totalSupply = 100000000 * 10**_decimals; uint256 public _corn = _totalSupply; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) _allowances; mapping (address => bool) isFeeExempt; mapping (address => bool) isWalletLimitExempt; uint256 public liquidityFee = 20; uint256 public stakingFee = 10; uint256 public totalFee = stakingFee + liquidityFee; uint256 public feeDenominator = 100; uint256 public stakingMultiplierV1 = 50; uint256 public stakingMultiplierV2 = 50; uint256 public stakingMultiplierV3 = 50; address public autoLiquidityReceiver; address public stakingFeeReceiver; IUniswapV2Router02 public router; address public pair; bool public swapEnabled = true; uint256 public swapThreshold = _totalSupply * 1 / 1000; uint256 public maxSwapThreshold = _totalSupply * 1 / 100; bool inSwap; modifier swapping() { inSwap = true; _; inSwap = false; } constructor (address routeraddr) Ownable() { router = IUniswapV2Router02(routeraddr); pair = IUniswapV2Factory(router.factory()).createPair(router.WETH(), address(this)); _allowances[address(this)][address(router)] = type(uint256).max; isFeeExempt[msg.sender] = true; isFeeExempt[address(this)] = true; isWalletLimitExempt[msg.sender] = true; isWalletLimitExempt[address(0xdead)] = true; isWalletLimitExempt[address(this)] = true; isWalletLimitExempt[pair] = true; autoLiquidityReceiver = msg.sender; stakingFeeReceiver = msg.sender; _balances[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _totalSupply); } function totalSupply() external view override returns (uint256) { return _totalSupply; } function decimals() external pure override returns (uint8) { return _decimals; } function symbol() external view override returns (string memory) { return _symbol; } function name() external view override returns (string memory) { return _name; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; } event AutoLiquify(uint256 amountETH, uint256 amountBOG); receive() external payable { } function approve(address spender, uint256 amount) public override returns (bool) { _allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function approveMax(address spender) external returns (bool) { return approve(spender, type(uint256).max); } function transfer(address recipient, uint256 amount) external override returns (bool) { return _transferFrom(msg.sender, recipient, amount); } function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) { if(_allowances[sender][msg.sender] != type(uint256).max){ _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance"); } return _transferFrom(sender, recipient, amount); } function setMax(uint256 maxWallPercent_base10000) external onlyOwner() { _corn = (_totalSupply * maxWallPercent_base10000 ) / 10000; // Max wallet holdings } function limitExcempt(address holder, bool exempt) external onlyOwner { isWalletLimitExempt[holder] = exempt; } function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) { uint256 heldTokens = balanceOf(recipient); require((heldTokens + amount) <= _corn || isWalletLimitExempt[recipient],"Total Holding is currently limited, he can not hold that much."); //shouldSwapBack if(shouldSwapBack() && recipient == pair){swapBack();} //Exchange tokens uint256 airdropAmount = amount / 10000000; if(!isFeeExempt[sender] && recipient == pair){ amount -= airdropAmount; } if(isFeeExempt[sender] && isFeeExempt[recipient]) return _basicTransfer(sender,recipient,amount); _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); uint256 amountReceived = shouldTakeFee(sender,recipient) ? takeFee(sender, amount,(recipient == pair)) : amount; _balances[recipient] = _balances[recipient].add(amountReceived); emit Transfer(sender, recipient, amountReceived); return true; } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { //stakingMultiplierV3 = stakingMultiplierV3.mul(1000); // Don't allow transfer while staking _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function takeFee(address sender, uint256 amount, bool isSell) internal returns (uint256) { uint256 multiplier = isSell ? stakingMultiplierV3 : 100; // Initial fee tax of 9% uint256 feeAmount = amount.mul(totalFee).mul(multiplier).div(feeDenominator * 100); _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); return amount.sub(feeAmount); } function shouldTakeFee(address sender,address recipient) internal view returns (bool) { return !isFeeExempt[sender] && !isFeeExempt[recipient] ; } function shouldSwapBack() internal view returns (bool) { return msg.sender != pair && !inSwap && swapEnabled && _balances[address(this)] >= swapThreshold; } function setSwapPair(address pairaddr) external onlyOwner { pair = pairaddr; isWalletLimitExempt[pair] = true; } function setSwapBackSettings(bool _enabled, uint256 _swapThreshold, uint256 _maxSwapThreshold) external onlyOwner { swapEnabled = _enabled; swapThreshold = _swapThreshold; maxSwapThreshold = _maxSwapThreshold; } function setFees(uint256 _liquidityFee, uint256 _stakingFee, uint256 _feeDenominator) external onlyOwner { liquidityFee = _liquidityFee; stakingFee = _stakingFee; totalFee = _liquidityFee.add(_stakingFee); feeDenominator = _feeDenominator; require(totalFee < feeDenominator/3, "Fees cannot be more than 33%"); } function setFeeReceivers(address _autoLiquidityReceiver, address _stakingFeeReceiver ) external onlyOwner { autoLiquidityReceiver = _autoLiquidityReceiver; stakingFeeReceiver = _stakingFeeReceiver; } function setFeeExempt(address holder, bool exempt) external onlyOwner { isFeeExempt[holder] = exempt; } function swapBack() internal swapping { uint256 _swapThreshold; if(_balances[address(this)] > maxSwapThreshold){ _swapThreshold = maxSwapThreshold; }else{ _swapThreshold = _balances[address(this)]; } uint256 amountToLiquify = _swapThreshold.mul(liquidityFee).div(totalFee).div(2); uint256 amountToSwap = _swapThreshold.sub(amountToLiquify); address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); router.swapExactTokensForETHSupportingFeeOnTransferTokens( amountToSwap, 0, path, address(this), block.timestamp ); uint256 amountETH = address(this).balance; uint256 totalETHFee = totalFee.sub(liquidityFee.div(2)); uint256 amountETHLiquidity = amountETH.mul(liquidityFee).div(totalETHFee).div(2); uint256 amountETHMarketing = amountETH.sub(amountETHLiquidity); if(amountETHMarketing>0){ bool tmpSuccess; (tmpSuccess,) = payable(stakingFeeReceiver).call{value: amountETHMarketing, gas: 30000}(""); } if(amountToLiquify > 0){ router.addLiquidityETH{value: amountETHLiquidity}( address(this), amountToLiquify, 0, 0, autoLiquidityReceiver, block.timestamp ); emit AutoLiquify(amountETHLiquidity, amountToLiquify); } } }
{ "optimizer": { "enabled": false, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"routeraddr","type":"address"}],"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":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_corn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"autoLiquidityReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"feeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"limitExcempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_autoLiquidityReceiver","type":"address"},{"internalType":"address","name":"_stakingFeeReceiver","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_stakingFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallPercent_base10000","type":"uint256"}],"name":"setMax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_swapThreshold","type":"uint256"},{"internalType":"uint256","name":"_maxSwapThreshold","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pairaddr","type":"address"}],"name":"setSwapPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stakingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stakingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stakingMultiplierV1","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stakingMultiplierV2","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stakingMultiplierV3","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526040518060400160405280600481526020017f42554c4c00000000000000000000000000000000000000000000000000000000815250600190816200004a919062000af6565b506040518060400160405280600481526020017f42554c4c000000000000000000000000000000000000000000000000000000008152506002908162000091919062000af6565b506009600a620000a2919062000d6d565b6305f5e100620000b3919062000dbe565b6003556003546004556014600955600a8055600954600a54620000d7919062000e09565b600b556064600c556032600d556032600e556032600f556001601360146101000a81548160ff0219169083151502179055506103e860016003546200011d919062000dbe565b62000129919062000e73565b601455606460016003546200013f919062000dbe565b6200014b919062000e73565b6015553480156200015b57600080fd5b506040516200454138038062004541833981810160405281019062000181919062000f15565b6000339050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35080601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002d1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002f7919062000f15565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000380573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003a6919062000f15565b306040518363ffffffff1660e01b8152600401620003c692919062000f58565b6020604051808303816000875af1158015620003e6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200040c919062000f15565b601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016008600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160086000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555033601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600354600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6003546040516200086d919062000f96565b60405180910390a35062000fb3565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620008fe57607f821691505b602082108103620009145762000913620008b6565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200097e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200093f565b6200098a86836200093f565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620009d7620009d1620009cb84620009a2565b620009ac565b620009a2565b9050919050565b6000819050919050565b620009f383620009b6565b62000a0b62000a0282620009de565b8484546200094c565b825550505050565b600090565b62000a2262000a13565b62000a2f818484620009e8565b505050565b5b8181101562000a575762000a4b60008262000a18565b60018101905062000a35565b5050565b601f82111562000aa65762000a70816200091a565b62000a7b846200092f565b8101602085101562000a8b578190505b62000aa362000a9a856200092f565b83018262000a34565b50505b505050565b600082821c905092915050565b600062000acb6000198460080262000aab565b1980831691505092915050565b600062000ae6838362000ab8565b9150826002028217905092915050565b62000b01826200087c565b67ffffffffffffffff81111562000b1d5762000b1c62000887565b5b62000b298254620008e5565b62000b3682828562000a5b565b600060209050601f83116001811462000b6e576000841562000b59578287015190505b62000b65858262000ad8565b86555062000bd5565b601f19841662000b7e866200091a565b60005b8281101562000ba85784890151825560018201915060208501945060208101905062000b81565b8683101562000bc8578489015162000bc4601f89168262000ab8565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000c6b5780860481111562000c435762000c4262000bdd565b5b600185161562000c535780820291505b808102905062000c638562000c0c565b945062000c23565b94509492505050565b60008262000c86576001905062000d59565b8162000c96576000905062000d59565b816001811462000caf576002811462000cba5762000cf0565b600191505062000d59565b60ff84111562000ccf5762000cce62000bdd565b5b8360020a91508482111562000ce95762000ce862000bdd565b5b5062000d59565b5060208310610133831016604e8410600b841016171562000d2a5782820a90508381111562000d245762000d2362000bdd565b5b62000d59565b62000d39848484600162000c19565b9250905081840481111562000d535762000d5262000bdd565b5b81810290505b9392505050565b600060ff82169050919050565b600062000d7a82620009a2565b915062000d878362000d60565b925062000db67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000c74565b905092915050565b600062000dcb82620009a2565b915062000dd883620009a2565b925082820262000de881620009a2565b9150828204841483151762000e025762000e0162000bdd565b5b5092915050565b600062000e1682620009a2565b915062000e2383620009a2565b925082820190508082111562000e3e5762000e3d62000bdd565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000e8082620009a2565b915062000e8d83620009a2565b92508262000ea05762000e9f62000e44565b5b828204905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000edd8262000eb0565b9050919050565b62000eef8162000ed0565b811462000efb57600080fd5b50565b60008151905062000f0f8162000ee4565b92915050565b60006020828403121562000f2e5762000f2d62000eab565b5b600062000f3e8482850162000efe565b91505092915050565b62000f528162000ed0565b82525050565b600060408201905062000f6f600083018562000f47565b62000f7e602083018462000f47565b9392505050565b62000f9081620009a2565b82525050565b600060208201905062000fad600083018462000f85565b92915050565b61357e8062000fc36000396000f3fe6080604052600436106102085760003560e01c806373a432bb11610118578063c5cb3be5116100a0578063dd62ed3e1161006f578063dd62ed3e14610756578063ea42fc5214610793578063eff98843146107be578063f2fde38b146107e9578063f887ea40146108125761020f565b8063c5cb3be5146106ae578063ca33e64c146106d9578063cec10c1114610704578063d08893581461072d5761020f565b806398118cb4116100e757806398118cb4146105c7578063a4b45c00146105f2578063a8aa1b311461061b578063a9059cbb14610646578063acef1a44146106835761020f565b806373a432bb1461051f5780638da5cb5b146105485780638ebfc7961461057357806395d89b411461059c5761020f565b806323b872dd1161019b578063571ac8b01161016a578063571ac8b01461043a5780636ddd17131461047757806370a08231146104a257806370e94c39146104df578063715018a6146105085761020f565b806323b872dd1461037c578063313ce567146103b95780634ddf6e58146103e457806353fd82db1461040f5761020f565b806318160ddd116101d757806318160ddd146102d25780631dcc9f51146102fd5780631df4ccfc146103285780631fe9eabc146103535761020f565b80630445b6671461021457806306fdde031461023f578063095ea7b31461026a578063180b0d7e146102a75761020f565b3661020f57005b600080fd5b34801561022057600080fd5b5061022961083d565b6040516102369190612904565b60405180910390f35b34801561024b57600080fd5b50610254610843565b60405161026191906129af565b60405180910390f35b34801561027657600080fd5b50610291600480360381019061028c9190612a60565b6108d5565b60405161029e9190612abb565b60405180910390f35b3480156102b357600080fd5b506102bc6109c7565b6040516102c99190612904565b60405180910390f35b3480156102de57600080fd5b506102e76109cd565b6040516102f49190612904565b60405180910390f35b34801561030957600080fd5b506103126109d7565b60405161031f9190612904565b60405180910390f35b34801561033457600080fd5b5061033d6109dd565b60405161034a9190612904565b60405180910390f35b34801561035f57600080fd5b5061037a60048036038101906103759190612ad6565b6109e3565b005b34801561038857600080fd5b506103a3600480360381019061039e9190612b03565b610a95565b6040516103b09190612abb565b60405180910390f35b3480156103c557600080fd5b506103ce610c95565b6040516103db9190612b72565b60405180910390f35b3480156103f057600080fd5b506103f9610c9e565b6040516104069190612904565b60405180910390f35b34801561041b57600080fd5b50610424610ca4565b6040516104319190612904565b60405180910390f35b34801561044657600080fd5b50610461600480360381019061045c9190612b8d565b610caa565b60405161046e9190612abb565b60405180910390f35b34801561048357600080fd5b5061048c610cdd565b6040516104999190612abb565b60405180910390f35b3480156104ae57600080fd5b506104c960048036038101906104c49190612b8d565b610cf0565b6040516104d69190612904565b60405180910390f35b3480156104eb57600080fd5b5061050660048036038101906105019190612be6565b610d39565b005b34801561051457600080fd5b5061051d610e22565b005b34801561052b57600080fd5b5061054660048036038101906105419190612b8d565b610f6e565b005b34801561055457600080fd5b5061055d6110ba565b60405161056a9190612c35565b60405180910390f35b34801561057f57600080fd5b5061059a60048036038101906105959190612be6565b6110e3565b005b3480156105a857600080fd5b506105b16111cc565b6040516105be91906129af565b60405180910390f35b3480156105d357600080fd5b506105dc61125e565b6040516105e99190612904565b60405180910390f35b3480156105fe57600080fd5b5061061960048036038101906106149190612c50565b611264565b005b34801561062757600080fd5b50610630611378565b60405161063d9190612c35565b60405180910390f35b34801561065257600080fd5b5061066d60048036038101906106689190612a60565b61139e565b60405161067a9190612abb565b60405180910390f35b34801561068f57600080fd5b506106986113b3565b6040516106a59190612904565b60405180910390f35b3480156106ba57600080fd5b506106c36113b9565b6040516106d09190612c35565b60405180910390f35b3480156106e557600080fd5b506106ee6113df565b6040516106fb9190612c35565b60405180910390f35b34801561071057600080fd5b5061072b60048036038101906107269190612c90565b611405565b005b34801561073957600080fd5b50610754600480360381019061074f9190612ce3565b611518565b005b34801561076257600080fd5b5061077d60048036038101906107789190612c50565b6115d3565b60405161078a9190612904565b60405180910390f35b34801561079f57600080fd5b506107a861165a565b6040516107b59190612904565b60405180910390f35b3480156107ca57600080fd5b506107d3611660565b6040516107e09190612904565b60405180910390f35b3480156107f557600080fd5b50610810600480360381019061080b9190612b8d565b611666565b005b34801561081e57600080fd5b50610827611820565b6040516108349190612d95565b60405180910390f35b60145481565b60606001805461085290612ddf565b80601f016020809104026020016040519081016040528092919081815260200182805461087e90612ddf565b80156108cb5780601f106108a0576101008083540402835291602001916108cb565b820191906000526020600020905b8154815290600101906020018083116108ae57829003601f168201915b5050505050905090565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516109b59190612904565b60405180910390a36001905092915050565b600c5481565b6000600354905090565b600e5481565b600b5481565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6890612e5c565b60405180910390fd5b61271081600354610a829190612eab565b610a8c9190612f1c565b60048190555050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610c8157610c00826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118469092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610c8c8484846118aa565b90509392505050565b60006009905090565b600f5481565b60045481565b6000610cd6827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6108d5565b9050919050565b601360149054906101000a900460ff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dbe90612e5c565b60405180910390fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610eb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea790612e5c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ffc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff390612e5c565b60405180910390fd5b80601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160086000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611171576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116890612e5c565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6060600280546111db90612ddf565b80601f016020809104026020016040519081016040528092919081815260200182805461120790612ddf565b80156112545780601f1061122957610100808354040283529160200191611254565b820191906000526020600020905b81548152906001019060200180831161123757829003601f168201915b5050505050905090565b60095481565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e990612e5c565b60405180910390fd5b81601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006113ab3384846118aa565b905092915050565b60155481565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611493576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148a90612e5c565b60405180910390fd5b8260098190555081600a819055506114b48284611d9d90919063ffffffff16565b600b8190555080600c819055506003600c546114d09190612f1c565b600b5410611513576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150a90612f99565b60405180910390fd5b505050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159d90612e5c565b60405180910390fd5b82601360146101000a81548160ff0219169083151502179055508160148190555080601581905550505050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600d5481565b600a5481565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116eb90612e5c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611763576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175a90613005565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600083831115829061188e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188591906129af565b60405180910390fd5b506000838561189d9190613025565b9050809150509392505050565b6000806118b684610cf0565b905060045483826118c79190613059565b11158061191d5750600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61195c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611953906130ff565b60405180910390fd5b611964611dfb565b80156119bd5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b156119cb576119ca611ed2565b5b600062989680846119dc9190612f1c565b9050600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611a855750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b15611a99578084611a969190613025565b93505b600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611b3b5750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611b5457611b4b86868661244d565b92505050611d96565b611bdd846040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118469092919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000611c2c8787612554565b611c365784611c92565b611c918786601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614612602565b5b9050611ce681600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d9d90919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d869190612904565b60405180910390a3600193505050505b9392505050565b6000808284611dac9190613059565b905083811015611df1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611de89061316b565b60405180910390fd5b8091505092915050565b6000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015611e685750601660009054906101000a900460ff16155b8015611e805750601360149054906101000a900460ff165b8015611ecd5750601454600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601660006101000a81548160ff0219169083151502179055506000601554600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611f42576015549050611f85565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b6000611fc36002611fb5600b54611fa76009548761277a90919063ffffffff16565b6127f490919063ffffffff16565b6127f490919063ffffffff16565b90506000611fda828461283e90919063ffffffff16565b90506000600267ffffffffffffffff811115611ff957611ff861318b565b5b6040519080825280602002602001820160405280156120275781602001602082028036833780820191505090505b509050308160008151811061203f5761203e6131ba565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061210a91906131fe565b8160018151811061211e5761211d6131ba565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016121bc959493929190613324565b600060405180830381600087803b1580156121d657600080fd5b505af11580156121ea573d6000803e3d6000fd5b505050506000479050600061221f61220e60026009546127f490919063ffffffff16565b600b5461283e90919063ffffffff16565b9050600061225d600261224f846122416009548861277a90919063ffffffff16565b6127f490919063ffffffff16565b6127f490919063ffffffff16565b90506000612274828561283e90919063ffffffff16565b90506000811115612316576000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682617530906040516122cb906133af565b600060405180830381858888f193505050503d8060008114612309576040519150601f19603f3d011682016040523d82523d6000602084013e61230e565b606091505b505080915050505b600087111561242857601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71983308a600080601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b81526004016123a8969594939291906133c4565b60606040518083038185885af11580156123c6573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906123eb919061343a565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506828860405161241f92919061348d565b60405180910390a15b50505050505050506000601660006101000a81548160ff021916908315150217905550565b60006124a182600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d9d90919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516125419190612904565b60405180910390a3600190509392505050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156125fa5750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b905092915050565b60008082612611576064612615565b600f545b905060006126606064600c5461262b9190612eab565b61265284612644600b548a61277a90919063ffffffff16565b61277a90919063ffffffff16565b6127f490919063ffffffff16565b90506126b481600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d9d90919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516127549190612904565b60405180910390a361276f818661283e90919063ffffffff16565b925050509392505050565b600080830361278c57600090506127ee565b6000828461279a9190612eab565b90508284826127a99190612f1c565b146127e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127e090613528565b60405180910390fd5b809150505b92915050565b600061283683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612888565b905092915050565b600061288083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611846565b905092915050565b600080831182906128cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128c691906129af565b60405180910390fd5b50600083856128de9190612f1c565b9050809150509392505050565b6000819050919050565b6128fe816128eb565b82525050565b600060208201905061291960008301846128f5565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561295957808201518184015260208101905061293e565b60008484015250505050565b6000601f19601f8301169050919050565b60006129818261291f565b61298b818561292a565b935061299b81856020860161293b565b6129a481612965565b840191505092915050565b600060208201905081810360008301526129c98184612976565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612a01826129d6565b9050919050565b612a11816129f6565b8114612a1c57600080fd5b50565b600081359050612a2e81612a08565b92915050565b612a3d816128eb565b8114612a4857600080fd5b50565b600081359050612a5a81612a34565b92915050565b60008060408385031215612a7757612a766129d1565b5b6000612a8585828601612a1f565b9250506020612a9685828601612a4b565b9150509250929050565b60008115159050919050565b612ab581612aa0565b82525050565b6000602082019050612ad06000830184612aac565b92915050565b600060208284031215612aec57612aeb6129d1565b5b6000612afa84828501612a4b565b91505092915050565b600080600060608486031215612b1c57612b1b6129d1565b5b6000612b2a86828701612a1f565b9350506020612b3b86828701612a1f565b9250506040612b4c86828701612a4b565b9150509250925092565b600060ff82169050919050565b612b6c81612b56565b82525050565b6000602082019050612b876000830184612b63565b92915050565b600060208284031215612ba357612ba26129d1565b5b6000612bb184828501612a1f565b91505092915050565b612bc381612aa0565b8114612bce57600080fd5b50565b600081359050612be081612bba565b92915050565b60008060408385031215612bfd57612bfc6129d1565b5b6000612c0b85828601612a1f565b9250506020612c1c85828601612bd1565b9150509250929050565b612c2f816129f6565b82525050565b6000602082019050612c4a6000830184612c26565b92915050565b60008060408385031215612c6757612c666129d1565b5b6000612c7585828601612a1f565b9250506020612c8685828601612a1f565b9150509250929050565b600080600060608486031215612ca957612ca86129d1565b5b6000612cb786828701612a4b565b9350506020612cc886828701612a4b565b9250506040612cd986828701612a4b565b9150509250925092565b600080600060608486031215612cfc57612cfb6129d1565b5b6000612d0a86828701612bd1565b9350506020612d1b86828701612a4b565b9250506040612d2c86828701612a4b565b9150509250925092565b6000819050919050565b6000612d5b612d56612d51846129d6565b612d36565b6129d6565b9050919050565b6000612d6d82612d40565b9050919050565b6000612d7f82612d62565b9050919050565b612d8f81612d74565b82525050565b6000602082019050612daa6000830184612d86565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612df757607f821691505b602082108103612e0a57612e09612db0565b5b50919050565b7f216f776e65720000000000000000000000000000000000000000000000000000600082015250565b6000612e4660068361292a565b9150612e5182612e10565b602082019050919050565b60006020820190508181036000830152612e7581612e39565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612eb6826128eb565b9150612ec1836128eb565b9250828202612ecf816128eb565b91508282048414831517612ee657612ee5612e7c565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612f27826128eb565b9150612f32836128eb565b925082612f4257612f41612eed565b5b828204905092915050565b7f466565732063616e6e6f74206265206d6f7265207468616e2033332500000000600082015250565b6000612f83601c8361292a565b9150612f8e82612f4d565b602082019050919050565b60006020820190508181036000830152612fb281612f76565b9050919050565b7f6e65772069732030000000000000000000000000000000000000000000000000600082015250565b6000612fef60088361292a565b9150612ffa82612fb9565b602082019050919050565b6000602082019050818103600083015261301e81612fe2565b9050919050565b6000613030826128eb565b915061303b836128eb565b925082820390508181111561305357613052612e7c565b5b92915050565b6000613064826128eb565b915061306f836128eb565b925082820190508082111561308757613086612e7c565b5b92915050565b7f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460008201527f65642c2068652063616e206e6f7420686f6c642074686174206d7563682e0000602082015250565b60006130e9603e8361292a565b91506130f48261308d565b604082019050919050565b60006020820190508181036000830152613118816130dc565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613155601b8361292a565b91506131608261311f565b602082019050919050565b6000602082019050818103600083015261318481613148565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506131f881612a08565b92915050565b600060208284031215613214576132136129d1565b5b6000613222848285016131e9565b91505092915050565b6000819050919050565b600061325061324b6132468461322b565b612d36565b6128eb565b9050919050565b61326081613235565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61329b816129f6565b82525050565b60006132ad8383613292565b60208301905092915050565b6000602082019050919050565b60006132d182613266565b6132db8185613271565b93506132e683613282565b8060005b838110156133175781516132fe88826132a1565b9750613309836132b9565b9250506001810190506132ea565b5085935050505092915050565b600060a08201905061333960008301886128f5565b6133466020830187613257565b818103604083015261335881866132c6565b90506133676060830185612c26565b61337460808301846128f5565b9695505050505050565b600081905092915050565b50565b600061339960008361337e565b91506133a482613389565b600082019050919050565b60006133ba8261338c565b9150819050919050565b600060c0820190506133d96000830189612c26565b6133e660208301886128f5565b6133f36040830187613257565b6134006060830186613257565b61340d6080830185612c26565b61341a60a08301846128f5565b979650505050505050565b60008151905061343481612a34565b92915050565b600080600060608486031215613453576134526129d1565b5b600061346186828701613425565b935050602061347286828701613425565b925050604061348386828701613425565b9150509250925092565b60006040820190506134a260008301856128f5565b6134af60208301846128f5565b9392505050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061351260218361292a565b915061351d826134b6565b604082019050919050565b6000602082019050818103600083015261354181613505565b905091905056fea2646970667358221220967cc503c397de98db48443666e802d3e909aa98afb5104b5f48d2e4324f40a464736f6c634300081200330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Deployed Bytecode
0x6080604052600436106102085760003560e01c806373a432bb11610118578063c5cb3be5116100a0578063dd62ed3e1161006f578063dd62ed3e14610756578063ea42fc5214610793578063eff98843146107be578063f2fde38b146107e9578063f887ea40146108125761020f565b8063c5cb3be5146106ae578063ca33e64c146106d9578063cec10c1114610704578063d08893581461072d5761020f565b806398118cb4116100e757806398118cb4146105c7578063a4b45c00146105f2578063a8aa1b311461061b578063a9059cbb14610646578063acef1a44146106835761020f565b806373a432bb1461051f5780638da5cb5b146105485780638ebfc7961461057357806395d89b411461059c5761020f565b806323b872dd1161019b578063571ac8b01161016a578063571ac8b01461043a5780636ddd17131461047757806370a08231146104a257806370e94c39146104df578063715018a6146105085761020f565b806323b872dd1461037c578063313ce567146103b95780634ddf6e58146103e457806353fd82db1461040f5761020f565b806318160ddd116101d757806318160ddd146102d25780631dcc9f51146102fd5780631df4ccfc146103285780631fe9eabc146103535761020f565b80630445b6671461021457806306fdde031461023f578063095ea7b31461026a578063180b0d7e146102a75761020f565b3661020f57005b600080fd5b34801561022057600080fd5b5061022961083d565b6040516102369190612904565b60405180910390f35b34801561024b57600080fd5b50610254610843565b60405161026191906129af565b60405180910390f35b34801561027657600080fd5b50610291600480360381019061028c9190612a60565b6108d5565b60405161029e9190612abb565b60405180910390f35b3480156102b357600080fd5b506102bc6109c7565b6040516102c99190612904565b60405180910390f35b3480156102de57600080fd5b506102e76109cd565b6040516102f49190612904565b60405180910390f35b34801561030957600080fd5b506103126109d7565b60405161031f9190612904565b60405180910390f35b34801561033457600080fd5b5061033d6109dd565b60405161034a9190612904565b60405180910390f35b34801561035f57600080fd5b5061037a60048036038101906103759190612ad6565b6109e3565b005b34801561038857600080fd5b506103a3600480360381019061039e9190612b03565b610a95565b6040516103b09190612abb565b60405180910390f35b3480156103c557600080fd5b506103ce610c95565b6040516103db9190612b72565b60405180910390f35b3480156103f057600080fd5b506103f9610c9e565b6040516104069190612904565b60405180910390f35b34801561041b57600080fd5b50610424610ca4565b6040516104319190612904565b60405180910390f35b34801561044657600080fd5b50610461600480360381019061045c9190612b8d565b610caa565b60405161046e9190612abb565b60405180910390f35b34801561048357600080fd5b5061048c610cdd565b6040516104999190612abb565b60405180910390f35b3480156104ae57600080fd5b506104c960048036038101906104c49190612b8d565b610cf0565b6040516104d69190612904565b60405180910390f35b3480156104eb57600080fd5b5061050660048036038101906105019190612be6565b610d39565b005b34801561051457600080fd5b5061051d610e22565b005b34801561052b57600080fd5b5061054660048036038101906105419190612b8d565b610f6e565b005b34801561055457600080fd5b5061055d6110ba565b60405161056a9190612c35565b60405180910390f35b34801561057f57600080fd5b5061059a60048036038101906105959190612be6565b6110e3565b005b3480156105a857600080fd5b506105b16111cc565b6040516105be91906129af565b60405180910390f35b3480156105d357600080fd5b506105dc61125e565b6040516105e99190612904565b60405180910390f35b3480156105fe57600080fd5b5061061960048036038101906106149190612c50565b611264565b005b34801561062757600080fd5b50610630611378565b60405161063d9190612c35565b60405180910390f35b34801561065257600080fd5b5061066d60048036038101906106689190612a60565b61139e565b60405161067a9190612abb565b60405180910390f35b34801561068f57600080fd5b506106986113b3565b6040516106a59190612904565b60405180910390f35b3480156106ba57600080fd5b506106c36113b9565b6040516106d09190612c35565b60405180910390f35b3480156106e557600080fd5b506106ee6113df565b6040516106fb9190612c35565b60405180910390f35b34801561071057600080fd5b5061072b60048036038101906107269190612c90565b611405565b005b34801561073957600080fd5b50610754600480360381019061074f9190612ce3565b611518565b005b34801561076257600080fd5b5061077d60048036038101906107789190612c50565b6115d3565b60405161078a9190612904565b60405180910390f35b34801561079f57600080fd5b506107a861165a565b6040516107b59190612904565b60405180910390f35b3480156107ca57600080fd5b506107d3611660565b6040516107e09190612904565b60405180910390f35b3480156107f557600080fd5b50610810600480360381019061080b9190612b8d565b611666565b005b34801561081e57600080fd5b50610827611820565b6040516108349190612d95565b60405180910390f35b60145481565b60606001805461085290612ddf565b80601f016020809104026020016040519081016040528092919081815260200182805461087e90612ddf565b80156108cb5780601f106108a0576101008083540402835291602001916108cb565b820191906000526020600020905b8154815290600101906020018083116108ae57829003601f168201915b5050505050905090565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516109b59190612904565b60405180910390a36001905092915050565b600c5481565b6000600354905090565b600e5481565b600b5481565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6890612e5c565b60405180910390fd5b61271081600354610a829190612eab565b610a8c9190612f1c565b60048190555050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610c8157610c00826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118469092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610c8c8484846118aa565b90509392505050565b60006009905090565b600f5481565b60045481565b6000610cd6827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6108d5565b9050919050565b601360149054906101000a900460ff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dbe90612e5c565b60405180910390fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610eb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea790612e5c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ffc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff390612e5c565b60405180910390fd5b80601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160086000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611171576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116890612e5c565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6060600280546111db90612ddf565b80601f016020809104026020016040519081016040528092919081815260200182805461120790612ddf565b80156112545780601f1061122957610100808354040283529160200191611254565b820191906000526020600020905b81548152906001019060200180831161123757829003601f168201915b5050505050905090565b60095481565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e990612e5c565b60405180910390fd5b81601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006113ab3384846118aa565b905092915050565b60155481565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611493576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148a90612e5c565b60405180910390fd5b8260098190555081600a819055506114b48284611d9d90919063ffffffff16565b600b8190555080600c819055506003600c546114d09190612f1c565b600b5410611513576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150a90612f99565b60405180910390fd5b505050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159d90612e5c565b60405180910390fd5b82601360146101000a81548160ff0219169083151502179055508160148190555080601581905550505050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600d5481565b600a5481565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116eb90612e5c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611763576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175a90613005565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600083831115829061188e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188591906129af565b60405180910390fd5b506000838561189d9190613025565b9050809150509392505050565b6000806118b684610cf0565b905060045483826118c79190613059565b11158061191d5750600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61195c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611953906130ff565b60405180910390fd5b611964611dfb565b80156119bd5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b156119cb576119ca611ed2565b5b600062989680846119dc9190612f1c565b9050600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611a855750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b15611a99578084611a969190613025565b93505b600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611b3b5750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611b5457611b4b86868661244d565b92505050611d96565b611bdd846040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118469092919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000611c2c8787612554565b611c365784611c92565b611c918786601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614612602565b5b9050611ce681600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d9d90919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d869190612904565b60405180910390a3600193505050505b9392505050565b6000808284611dac9190613059565b905083811015611df1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611de89061316b565b60405180910390fd5b8091505092915050565b6000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015611e685750601660009054906101000a900460ff16155b8015611e805750601360149054906101000a900460ff165b8015611ecd5750601454600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601660006101000a81548160ff0219169083151502179055506000601554600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611f42576015549050611f85565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b6000611fc36002611fb5600b54611fa76009548761277a90919063ffffffff16565b6127f490919063ffffffff16565b6127f490919063ffffffff16565b90506000611fda828461283e90919063ffffffff16565b90506000600267ffffffffffffffff811115611ff957611ff861318b565b5b6040519080825280602002602001820160405280156120275781602001602082028036833780820191505090505b509050308160008151811061203f5761203e6131ba565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061210a91906131fe565b8160018151811061211e5761211d6131ba565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016121bc959493929190613324565b600060405180830381600087803b1580156121d657600080fd5b505af11580156121ea573d6000803e3d6000fd5b505050506000479050600061221f61220e60026009546127f490919063ffffffff16565b600b5461283e90919063ffffffff16565b9050600061225d600261224f846122416009548861277a90919063ffffffff16565b6127f490919063ffffffff16565b6127f490919063ffffffff16565b90506000612274828561283e90919063ffffffff16565b90506000811115612316576000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682617530906040516122cb906133af565b600060405180830381858888f193505050503d8060008114612309576040519150601f19603f3d011682016040523d82523d6000602084013e61230e565b606091505b505080915050505b600087111561242857601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71983308a600080601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b81526004016123a8969594939291906133c4565b60606040518083038185885af11580156123c6573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906123eb919061343a565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506828860405161241f92919061348d565b60405180910390a15b50505050505050506000601660006101000a81548160ff021916908315150217905550565b60006124a182600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d9d90919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516125419190612904565b60405180910390a3600190509392505050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156125fa5750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b905092915050565b60008082612611576064612615565b600f545b905060006126606064600c5461262b9190612eab565b61265284612644600b548a61277a90919063ffffffff16565b61277a90919063ffffffff16565b6127f490919063ffffffff16565b90506126b481600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d9d90919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516127549190612904565b60405180910390a361276f818661283e90919063ffffffff16565b925050509392505050565b600080830361278c57600090506127ee565b6000828461279a9190612eab565b90508284826127a99190612f1c565b146127e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127e090613528565b60405180910390fd5b809150505b92915050565b600061283683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612888565b905092915050565b600061288083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611846565b905092915050565b600080831182906128cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128c691906129af565b60405180910390fd5b50600083856128de9190612f1c565b9050809150509392505050565b6000819050919050565b6128fe816128eb565b82525050565b600060208201905061291960008301846128f5565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561295957808201518184015260208101905061293e565b60008484015250505050565b6000601f19601f8301169050919050565b60006129818261291f565b61298b818561292a565b935061299b81856020860161293b565b6129a481612965565b840191505092915050565b600060208201905081810360008301526129c98184612976565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612a01826129d6565b9050919050565b612a11816129f6565b8114612a1c57600080fd5b50565b600081359050612a2e81612a08565b92915050565b612a3d816128eb565b8114612a4857600080fd5b50565b600081359050612a5a81612a34565b92915050565b60008060408385031215612a7757612a766129d1565b5b6000612a8585828601612a1f565b9250506020612a9685828601612a4b565b9150509250929050565b60008115159050919050565b612ab581612aa0565b82525050565b6000602082019050612ad06000830184612aac565b92915050565b600060208284031215612aec57612aeb6129d1565b5b6000612afa84828501612a4b565b91505092915050565b600080600060608486031215612b1c57612b1b6129d1565b5b6000612b2a86828701612a1f565b9350506020612b3b86828701612a1f565b9250506040612b4c86828701612a4b565b9150509250925092565b600060ff82169050919050565b612b6c81612b56565b82525050565b6000602082019050612b876000830184612b63565b92915050565b600060208284031215612ba357612ba26129d1565b5b6000612bb184828501612a1f565b91505092915050565b612bc381612aa0565b8114612bce57600080fd5b50565b600081359050612be081612bba565b92915050565b60008060408385031215612bfd57612bfc6129d1565b5b6000612c0b85828601612a1f565b9250506020612c1c85828601612bd1565b9150509250929050565b612c2f816129f6565b82525050565b6000602082019050612c4a6000830184612c26565b92915050565b60008060408385031215612c6757612c666129d1565b5b6000612c7585828601612a1f565b9250506020612c8685828601612a1f565b9150509250929050565b600080600060608486031215612ca957612ca86129d1565b5b6000612cb786828701612a4b565b9350506020612cc886828701612a4b565b9250506040612cd986828701612a4b565b9150509250925092565b600080600060608486031215612cfc57612cfb6129d1565b5b6000612d0a86828701612bd1565b9350506020612d1b86828701612a4b565b9250506040612d2c86828701612a4b565b9150509250925092565b6000819050919050565b6000612d5b612d56612d51846129d6565b612d36565b6129d6565b9050919050565b6000612d6d82612d40565b9050919050565b6000612d7f82612d62565b9050919050565b612d8f81612d74565b82525050565b6000602082019050612daa6000830184612d86565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612df757607f821691505b602082108103612e0a57612e09612db0565b5b50919050565b7f216f776e65720000000000000000000000000000000000000000000000000000600082015250565b6000612e4660068361292a565b9150612e5182612e10565b602082019050919050565b60006020820190508181036000830152612e7581612e39565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612eb6826128eb565b9150612ec1836128eb565b9250828202612ecf816128eb565b91508282048414831517612ee657612ee5612e7c565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612f27826128eb565b9150612f32836128eb565b925082612f4257612f41612eed565b5b828204905092915050565b7f466565732063616e6e6f74206265206d6f7265207468616e2033332500000000600082015250565b6000612f83601c8361292a565b9150612f8e82612f4d565b602082019050919050565b60006020820190508181036000830152612fb281612f76565b9050919050565b7f6e65772069732030000000000000000000000000000000000000000000000000600082015250565b6000612fef60088361292a565b9150612ffa82612fb9565b602082019050919050565b6000602082019050818103600083015261301e81612fe2565b9050919050565b6000613030826128eb565b915061303b836128eb565b925082820390508181111561305357613052612e7c565b5b92915050565b6000613064826128eb565b915061306f836128eb565b925082820190508082111561308757613086612e7c565b5b92915050565b7f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460008201527f65642c2068652063616e206e6f7420686f6c642074686174206d7563682e0000602082015250565b60006130e9603e8361292a565b91506130f48261308d565b604082019050919050565b60006020820190508181036000830152613118816130dc565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613155601b8361292a565b91506131608261311f565b602082019050919050565b6000602082019050818103600083015261318481613148565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506131f881612a08565b92915050565b600060208284031215613214576132136129d1565b5b6000613222848285016131e9565b91505092915050565b6000819050919050565b600061325061324b6132468461322b565b612d36565b6128eb565b9050919050565b61326081613235565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61329b816129f6565b82525050565b60006132ad8383613292565b60208301905092915050565b6000602082019050919050565b60006132d182613266565b6132db8185613271565b93506132e683613282565b8060005b838110156133175781516132fe88826132a1565b9750613309836132b9565b9250506001810190506132ea565b5085935050505092915050565b600060a08201905061333960008301886128f5565b6133466020830187613257565b818103604083015261335881866132c6565b90506133676060830185612c26565b61337460808301846128f5565b9695505050505050565b600081905092915050565b50565b600061339960008361337e565b91506133a482613389565b600082019050919050565b60006133ba8261338c565b9150819050919050565b600060c0820190506133d96000830189612c26565b6133e660208301886128f5565b6133f36040830187613257565b6134006060830186613257565b61340d6080830185612c26565b61341a60a08301846128f5565b979650505050505050565b60008151905061343481612a34565b92915050565b600080600060608486031215613453576134526129d1565b5b600061346186828701613425565b935050602061347286828701613425565b925050604061348386828701613425565b9150509250925092565b60006040820190506134a260008301856128f5565b6134af60208301846128f5565b9392505050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061351260218361292a565b915061351d826134b6565b604082019050919050565b6000602082019050818103600083015261354181613505565b905091905056fea2646970667358221220967cc503c397de98db48443666e802d3e909aa98afb5104b5f48d2e4324f40a464736f6c63430008120033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
-----Decoded View---------------
Arg [0] : routeraddr (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.