ERC-20
Overview
Max Total Supply
1,000,000,000 FLUFF
Holders
6
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
15,999,993.560314176 FLUFFValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
Fluff
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-12-18 */ // SPDX-License-Identifier: MIT /* t.me/fluffetterogan */ pragma solidity ^0.8.17; library Address{ function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); (bool success, ) = recipient.call{value: amount}(""); require(success, "Address: unable to send value, recipient may have reverted"); } } abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { this; return msg.data; } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _setOwner(_msgSender()); } function owner() public view virtual returns (address) { return _owner; } modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { _setOwner(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _setOwner(newOwner); } function _setOwner(address newOwner) private { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } interface IERC20 { function totalSupply() external view returns (uint256); 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); } interface IFactory{ function createPair(address tokenA, address tokenB) external returns (address pair); } interface IRouter { function factory() external pure returns (address); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external; } contract Fluff is Context, IERC20, Ownable { using Address for address payable; IRouter public router; address public pair; mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public _isExcludedFromFee; mapping (address => bool) public _isExcludedFromMaxBalance; uint8 private constant _decimals = 9; uint256 private _tTotal = 1_000_000_000 * (10**_decimals); uint256 public swapThreshold = 10_000_000 * (10**_decimals); uint256 public maxTxAmount = 20_000_000 * (10**_decimals); uint256 public maxWallet = 20_000_000 * (10**_decimals); string private constant _name = "Fluffette Rogan"; string private constant _symbol = "FLUFF"; uint8 public buyTax = 20; uint8 public sellTax = 20; address private marketingWallet = 0xcfe5589e0EC9676F5a2D3727F7EB402F70F9667B; bool public enableTrading = false; bool private swapping; modifier lockTheSwap { swapping = true; _; swapping = false; } event SwapAndLiquify(); event TaxesChanged(); constructor () { _tOwned[_msgSender()] = _tTotal; IRouter _router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); address _pair = IFactory(_router.factory()).createPair(address(this), _router.WETH()); router = _router; pair = _pair; _approve(address(this), address(router), ~uint256(0)); _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[marketingWallet] = true; _isExcludedFromMaxBalance[owner()] = true; _isExcludedFromMaxBalance[address(this)] = true; _isExcludedFromMaxBalance[marketingWallet] = true; _isExcludedFromMaxBalance[pair] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _tOwned[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()] - amount); return true; } function _approve(address owner, address spender, uint256 amount) private { 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); } receive() external payable {} function openTrading() external onlyOwner{ require(!enableTrading,"Can only be opened once"); enableTrading = true; } function setContractTaxes(uint8 buyTax_, uint8 sellTax_) external onlyOwner{ require(buyTax_ <= 35 && sellTax_<= 99, "Taxes can't exceed the limit."); buyTax = buyTax_; sellTax = sellTax_; emit TaxesChanged(); } function setContractLimits(uint maxTX_EXACT, uint maxWallet_EXACT) public onlyOwner{ uint pointFiveSupply = (_tTotal * 5 / 1000) / (10**_decimals); require(maxTX_EXACT >= pointFiveSupply && maxWallet_EXACT >= pointFiveSupply, "Invalid Settings"); maxTxAmount = maxTX_EXACT * (10**_decimals); maxWallet = maxWallet_EXACT * (10**_decimals); } function setSwapSettings(uint swapThreshold_EXACT) public onlyOwner{ swapThreshold = swapThreshold_EXACT * (10**_decimals); } function setExcludedFromLimits(address account,bool isExcluded) public onlyOwner{ _isExcludedFromMaxBalance[account] = isExcluded; } function setExcludedFromTaxes(address account, bool isExcluded) public onlyOwner{ _isExcludedFromFee[account] = isExcluded; } function manualSwap() external lockTheSwap{ require(msg.sender == marketingWallet); uint256 tokenBalance = balanceOf(address(this)); if(tokenBalance > 0){ uint256 ethSwapped = swapTokensForETH(tokenBalance); if(ethSwapped > 0) payable(marketingWallet).transfer(ethSwapped); } if (address(this).balance > 0) payable(marketingWallet).sendValue(address(this).balance); } function _preTransferCheck(address from,address to,uint256 amount) internal{ require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); require(amount <= maxTxAmount || _isExcludedFromMaxBalance[from], "Transfer amount exceeds the _maxTxAmount."); if(!enableTrading) require(_isExcludedFromMaxBalance[from] && from != pair); if(!_isExcludedFromMaxBalance[to]) require(balanceOf(to) + amount <= maxWallet, "Transfer amount exceeds the maxWallet."); if (balanceOf(address(this)) >= swapThreshold && !swapping && enableTrading && from != pair && from != owner() && to != owner()) swapAndLiquify(); } function _getTaxValues(uint amount, address from, bool isSell) private returns(uint256){ uint256 taxedTokens = amount * buyTax / 100; if(isSell) taxedTokens = amount * sellTax / 100; if (taxedTokens > 0){ _tOwned[address(this)] += taxedTokens; emit Transfer (from, address(this), taxedTokens); } return (amount - taxedTokens); } function _transfer(address from,address to,uint256 amount) private { _preTransferCheck(from, to, amount); _tOwned[from] -= amount; uint256 transferAmount = amount; if(!_isExcludedFromFee[from] && !_isExcludedFromFee[to]){ transferAmount = _getTaxValues(amount, from, to == pair); } _tOwned[to] += transferAmount; emit Transfer(from, to, transferAmount); } function swapAndLiquify() private lockTheSwap{ uint256 tokensForMarketing = swapThreshold * 100 / 100; uint256 tokensForLiquidity = swapThreshold * 0 / 100; if(tokensForMarketing > 0){ uint256 ethSwapped = swapTokensForETH(tokensForMarketing); if(ethSwapped > 0) payable(marketingWallet).transfer(ethSwapped); } if(tokensForLiquidity > 0){ uint half = tokensForLiquidity / 2; uint otherHalf = tokensForLiquidity - half; uint balAutoLP = swapTokensForETH(half); if (balAutoLP > 0) addLiquidity(otherHalf, balAutoLP); } if (address(this).balance > 0) payable(marketingWallet).sendValue(address(this).balance); emit SwapAndLiquify(); } function swapTokensForETH(uint256 tokenAmount) private returns (uint256) { uint256 initialBalance = address(this).balance; address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); _approve(address(this), address(router), tokenAmount); router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); return (address(this).balance - initialBalance); } function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { _approve(address(this), address(router), tokenAmount); (,uint256 ethFromLiquidity,) = router.addLiquidityETH {value: ethAmount} ( address(this), tokenAmount, 0, 0, marketingWallet, block.timestamp ); if (ethAmount - ethFromLiquidity > 0) payable(marketingWallet).sendValue (ethAmount - ethFromLiquidity); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[],"name":"TaxesChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromMaxBalance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","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 IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTX_EXACT","type":"uint256"},{"internalType":"uint256","name":"maxWallet_EXACT","type":"uint256"}],"name":"setContractLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"buyTax_","type":"uint8"},{"internalType":"uint8","name":"sellTax_","type":"uint8"}],"name":"setContractTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"setExcludedFromLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"setExcludedFromTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapThreshold_EXACT","type":"uint256"}],"name":"setSwapSettings","outputs":[],"stateMutability":"nonpayable","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":"pure","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
6080604052620000126009600a6200066d565b6200002290633b9aca0062000685565b600755620000336009600a6200066d565b62000042906298968062000685565b600855620000536009600a6200066d565b62000063906301312d0062000685565b6009556009600a6200007691906200066d565b62000086906301312d0062000685565b600a55600b80546001600160b81b03191675cfe5589e0ec9676f5a2d3727f7eb402f70f9667b1414179055348015620000be57600080fd5b50620000ca33620003dc565b60075433600090815260036020908152604080832093909355825163c45a015560e01b81529251737a250d5630b4cf539739df2c5dacb4c659f2488d93849263c45a0155926004808401938290030181865afa1580156200012f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200015591906200069f565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001a3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001c991906200069f565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000217573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023d91906200069f565b600180546001600160a01b038086166001600160a01b0319928316811790935560028054918516919092161790559091506200027e9030906000196200042c565b600160056000620002976000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526005909352818320805485166001908117909155600b546201000090049091168352908220805490931681179092556006906200030d6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526006909352818320805485166001908117909155600b54620100009004821684528284208054861682179055600254909116835291208054909216179055620003843390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600754604051620003cc91815260200190565b60405180910390a35050620006ca565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038316620004945760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084015b60405180910390fd5b6001600160a01b038216620004f75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016200048b565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620005af57816000190482111562000593576200059362000558565b80851615620005a157918102915b93841c939080029062000573565b509250929050565b600082620005c85750600162000667565b81620005d75750600062000667565b8160018114620005f05760028114620005fb576200061b565b600191505062000667565b60ff8411156200060f576200060f62000558565b50506001821b62000667565b5060208310610133831016604e8410600b841016171562000640575081810a62000667565b6200064c83836200056e565b806000190482111562000663576200066362000558565b0290505b92915050565b60006200067e60ff841683620005b7565b9392505050565b808202811582820484141762000667576200066762000558565b600060208284031215620006b257600080fd5b81516001600160a01b03811681146200067e57600080fd5b611b4c80620006da6000396000f3fe6080604052600436106101c65760003560e01c8063768dc710116100f7578063b3e5491111610095578063dd62ed3e11610064578063dd62ed3e1461054a578063f2fde38b14610590578063f887ea40146105b0578063f8b45b05146105d057600080fd5b8063b3e54911146104d6578063b45ad8ec146104f6578063c9567bf914610516578063cc1776d31461052b57600080fd5b80638da5cb5b116100d15780638da5cb5b1461043657806395d89b4114610468578063a8aa1b3114610496578063a9059cbb146104b657600080fd5b8063768dc710146103cf5780638a8c523c146103ff5780638c0b5e221461042057600080fd5b8063313ce5671161016457806351bc3c851161013e57806351bc3c851461034f5780635d64616b1461036457806370a0823114610384578063715018a6146103ba57600080fd5b8063313ce567146102f357806336fddb04146103155780634f7041a51461033557600080fd5b80630a368e18116101a05780630a368e181461026c57806318160ddd1461028e57806323b872dd146102a357806328c61f41146102c357600080fd5b80630445b667146101d257806306fdde03146101fb578063095ea7b31461023c57600080fd5b366101cd57005b600080fd5b3480156101de57600080fd5b506101e860085481565b6040519081526020015b60405180910390f35b34801561020757600080fd5b5060408051808201909152600f81526e23363ab33332ba3a32902937b3b0b760891b60208201525b6040516101f291906116c3565b34801561024857600080fd5b5061025c610257366004611726565b6105e6565b60405190151581526020016101f2565b34801561027857600080fd5b5061028c610287366004611752565b6105fd565b005b34801561029a57600080fd5b506007546101e8565b3480156102af57600080fd5b5061025c6102be366004611790565b61065b565b3480156102cf57600080fd5b5061025c6102de3660046117d1565b60066020526000908152604090205460ff1681565b3480156102ff57600080fd5b5060095b60405160ff90911681526020016101f2565b34801561032157600080fd5b5061028c610330366004611752565b6106ad565b34801561034157600080fd5b50600b546103039060ff1681565b34801561035b57600080fd5b5061028c610702565b34801561037057600080fd5b5061028c61037f36600461180b565b6107d1565b34801561039057600080fd5b506101e861039f3660046117d1565b6001600160a01b031660009081526003602052604090205490565b3480156103c657600080fd5b5061028c6108a7565b3480156103db57600080fd5b5061025c6103ea3660046117d1565b60056020526000908152604090205460ff1681565b34801561040b57600080fd5b50600b5461025c90600160b01b900460ff1681565b34801561042c57600080fd5b506101e860095481565b34801561044257600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101f2565b34801561047457600080fd5b5060408051808201909152600581526423262aa32360d91b602082015261022f565b3480156104a257600080fd5b50600254610450906001600160a01b031681565b3480156104c257600080fd5b5061025c6104d1366004611726565b6108dd565b3480156104e257600080fd5b5061028c6104f136600461183e565b6108ea565b34801561050257600080fd5b5061028c610511366004611857565b610930565b34801561052257600080fd5b5061028c610a17565b34801561053757600080fd5b50600b5461030390610100900460ff1681565b34801561055657600080fd5b506101e8610565366004611879565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561059c57600080fd5b5061028c6105ab3660046117d1565b610ab0565b3480156105bc57600080fd5b50600154610450906001600160a01b031681565b3480156105dc57600080fd5b506101e8600a5481565b60006105f3338484610b4b565b5060015b92915050565b6000546001600160a01b031633146106305760405162461bcd60e51b8152600401610627906118a7565b60405180910390fd5b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b6000610668848484610c6f565b6001600160a01b0384166000908152600460209081526040808320338085529252909120546106a391869161069e9086906118f2565b610b4b565b5060019392505050565b6000546001600160a01b031633146106d75760405162461bcd60e51b8152600401610627906118a7565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b600b8054600160b81b60ff60b81b1990911617908190556201000090046001600160a01b0316331461073357600080fd5b30600090815260036020526040902054801561079f57600061075482610d93565b9050801561079d57600b54604051620100009091046001600160a01b0316906108fc8315029083906000818181858888f1935050505015801561079b573d6000803e3d6000fd5b505b505b47156107c157600b546107c1906201000090046001600160a01b031647610f03565b50600b805460ff60b81b19169055565b6000546001600160a01b031633146107fb5760405162461bcd60e51b8152600401610627906118a7565b60238260ff1611158015610813575060638160ff1611155b61085f5760405162461bcd60e51b815260206004820152601d60248201527f54617865732063616e27742065786365656420746865206c696d69742e0000006044820152606401610627565b600b805460ff8381166101000261ffff19909216908516171790556040517ff305e997be174eb1fbb444c89b9f4089de693e9b3b40486accc62ae99885e48090600090a15050565b6000546001600160a01b031633146108d15760405162461bcd60e51b8152600401610627906118a7565b6108db6000611021565b565b60006105f3338484610c6f565b6000546001600160a01b031633146109145760405162461bcd60e51b8152600401610627906118a7565b6109206009600a6119e9565b61092a90826119f8565b60085550565b6000546001600160a01b0316331461095a5760405162461bcd60e51b8152600401610627906118a7565b60006109686009600a6119e9565b6103e8600754600561097a91906119f8565b6109849190611a0f565b61098e9190611a0f565b90508083101580156109a05750808210155b6109df5760405162461bcd60e51b815260206004820152601060248201526f496e76616c69642053657474696e677360801b6044820152606401610627565b6109eb6009600a6119e9565b6109f590846119f8565b6009908155610a0590600a6119e9565b610a0f90836119f8565b600a55505050565b6000546001600160a01b03163314610a415760405162461bcd60e51b8152600401610627906118a7565b600b54600160b01b900460ff1615610a9b5760405162461bcd60e51b815260206004820152601760248201527f43616e206f6e6c79206265206f70656e6564206f6e63650000000000000000006044820152606401610627565b600b805460ff60b01b1916600160b01b179055565b6000546001600160a01b03163314610ada5760405162461bcd60e51b8152600401610627906118a7565b6001600160a01b038116610b3f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610627565b610b4881611021565b50565b6001600160a01b038316610bad5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610627565b6001600160a01b038216610c0e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610627565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b610c7a838383611071565b6001600160a01b03831660009081526003602052604081208054839290610ca29084906118f2565b90915550506001600160a01b038316600090815260056020526040902054819060ff16158015610ceb57506001600160a01b03831660009081526005602052604090205460ff16155b15610d1157600254610d0e90839086906001600160a01b038781169116146113b5565b90505b6001600160a01b03831660009081526003602052604081208054839290610d39908490611a31565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610d8591815260200190565b60405180910390a350505050565b6040805160028082526060820183526000924792849290916020830190803683370190505090503081600081518110610dce57610dce611a44565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610e27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4b9190611a5a565b81600181518110610e5e57610e5e611a44565b6001600160a01b039283166020918202929092010152600154610e849130911686610b4b565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac94790610ebd908790600090869030904290600401611a77565b600060405180830381600087803b158015610ed757600080fd5b505af1158015610eeb573d6000803e3d6000fd5b505050508147610efb91906118f2565b949350505050565b80471015610f535760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610627565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610fa0576040519150601f19603f3d011682016040523d82523d6000602084013e610fa5565b606091505b505090508061101c5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401610627565b505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0383166110d55760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610627565b6001600160a01b0382166111375760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610627565b600081116111995760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610627565b600954811115806111c257506001600160a01b03831660009081526006602052604090205460ff165b6112205760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206578636565647320746865205f6d61786044820152682a3c20b6b7bab73a1760b91b6064820152608401610627565b600b54600160b01b900460ff16611270576001600160a01b03831660009081526006602052604090205460ff16801561126757506002546001600160a01b03848116911614155b61127057600080fd5b6001600160a01b03821660009081526006602052604090205460ff1661131a57600a54816112b3846001600160a01b031660009081526003602052604090205490565b6112bd9190611a31565b111561131a5760405162461bcd60e51b815260206004820152602660248201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785760448201526530b63632ba1760d11b6064820152608401610627565b60085430600090815260036020526040902054101580156113455750600b54600160b81b900460ff16155b801561135a5750600b54600160b01b900460ff165b801561137457506002546001600160a01b03848116911614155b801561138e57506000546001600160a01b03848116911614155b80156113a857506000546001600160a01b03838116911614155b1561101c5761101c611482565b600b5460009081906064906113cd9060ff16876119f8565b6113d79190611a0f565b9050821561140457600b546064906113f790610100900460ff16876119f8565b6114019190611a0f565b90505b801561146f573060009081526003602052604081208054839290611429908490611a31565b909155505060405181815230906001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b61147981866118f2565b95945050505050565b600b805460ff60b81b1916600160b81b1790556008546000906064906114a890826119f8565b6114b29190611a0f565b90506000606460085460006114c791906119f8565b6114d19190611a0f565b9050811561152f5760006114e483610d93565b9050801561152d57600b54604051620100009091046001600160a01b0316906108fc8315029083906000818181858888f1935050505015801561152b573d6000803e3d6000fd5b505b505b8015611573576000611542600283611a0f565b9050600061155082846118f2565b9050600061155d83610d93565b9050801561156f5761156f82826115cf565b5050505b471561159557600b54611595906201000090046001600160a01b031647610f03565b6040517fd9f20192eafa060dc85f5f8b3b0a5b9c106b02d5d1503335b857e50c2bb7003090600090a15050600b805460ff60b81b19169055565b6001546115e79030906001600160a01b031684610b4b565b600154600b5460405163f305d71960e01b815230600482015260248101859052600060448201819052606482018190526001600160a01b0362010000909304831660848301524260a483015292919091169063f305d71990849060c40160606040518083038185885af1158015611662573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906116879190611ae8565b5091506000905061169882846118f2565b111561101c5761101c6116ab82846118f2565b600b546201000090046001600160a01b031690610f03565b600060208083528351808285015260005b818110156116f0578581018301518582016040015282016116d4565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610b4857600080fd5b6000806040838503121561173957600080fd5b823561174481611711565b946020939093013593505050565b6000806040838503121561176557600080fd5b823561177081611711565b91506020830135801515811461178557600080fd5b809150509250929050565b6000806000606084860312156117a557600080fd5b83356117b081611711565b925060208401356117c081611711565b929592945050506040919091013590565b6000602082840312156117e357600080fd5b81356117ee81611711565b9392505050565b803560ff8116811461180657600080fd5b919050565b6000806040838503121561181e57600080fd5b611827836117f5565b9150611835602084016117f5565b90509250929050565b60006020828403121561185057600080fd5b5035919050565b6000806040838503121561186a57600080fd5b50508035926020909101359150565b6000806040838503121561188c57600080fd5b823561189781611711565b9150602083013561178581611711565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b818103818111156105f7576105f76118dc565b600181815b80851115611940578160001904821115611926576119266118dc565b8085161561193357918102915b93841c939080029061190a565b509250929050565b600082611957575060016105f7565b81611964575060006105f7565b816001811461197a5760028114611984576119a0565b60019150506105f7565b60ff841115611995576119956118dc565b50506001821b6105f7565b5060208310610133831016604e8410600b84101617156119c3575081810a6105f7565b6119cd8383611905565b80600019048211156119e1576119e16118dc565b029392505050565b60006117ee60ff841683611948565b80820281158282048414176105f7576105f76118dc565b600082611a2c57634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156105f7576105f76118dc565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611a6c57600080fd5b81516117ee81611711565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611ac75784516001600160a01b031683529383019391830191600101611aa2565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611afd57600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220a519872256662e72d959282f852a4117ce789df161e6f45a7cbe7dbfc373ec8e64736f6c63430008110033
Deployed Bytecode
0x6080604052600436106101c65760003560e01c8063768dc710116100f7578063b3e5491111610095578063dd62ed3e11610064578063dd62ed3e1461054a578063f2fde38b14610590578063f887ea40146105b0578063f8b45b05146105d057600080fd5b8063b3e54911146104d6578063b45ad8ec146104f6578063c9567bf914610516578063cc1776d31461052b57600080fd5b80638da5cb5b116100d15780638da5cb5b1461043657806395d89b4114610468578063a8aa1b3114610496578063a9059cbb146104b657600080fd5b8063768dc710146103cf5780638a8c523c146103ff5780638c0b5e221461042057600080fd5b8063313ce5671161016457806351bc3c851161013e57806351bc3c851461034f5780635d64616b1461036457806370a0823114610384578063715018a6146103ba57600080fd5b8063313ce567146102f357806336fddb04146103155780634f7041a51461033557600080fd5b80630a368e18116101a05780630a368e181461026c57806318160ddd1461028e57806323b872dd146102a357806328c61f41146102c357600080fd5b80630445b667146101d257806306fdde03146101fb578063095ea7b31461023c57600080fd5b366101cd57005b600080fd5b3480156101de57600080fd5b506101e860085481565b6040519081526020015b60405180910390f35b34801561020757600080fd5b5060408051808201909152600f81526e23363ab33332ba3a32902937b3b0b760891b60208201525b6040516101f291906116c3565b34801561024857600080fd5b5061025c610257366004611726565b6105e6565b60405190151581526020016101f2565b34801561027857600080fd5b5061028c610287366004611752565b6105fd565b005b34801561029a57600080fd5b506007546101e8565b3480156102af57600080fd5b5061025c6102be366004611790565b61065b565b3480156102cf57600080fd5b5061025c6102de3660046117d1565b60066020526000908152604090205460ff1681565b3480156102ff57600080fd5b5060095b60405160ff90911681526020016101f2565b34801561032157600080fd5b5061028c610330366004611752565b6106ad565b34801561034157600080fd5b50600b546103039060ff1681565b34801561035b57600080fd5b5061028c610702565b34801561037057600080fd5b5061028c61037f36600461180b565b6107d1565b34801561039057600080fd5b506101e861039f3660046117d1565b6001600160a01b031660009081526003602052604090205490565b3480156103c657600080fd5b5061028c6108a7565b3480156103db57600080fd5b5061025c6103ea3660046117d1565b60056020526000908152604090205460ff1681565b34801561040b57600080fd5b50600b5461025c90600160b01b900460ff1681565b34801561042c57600080fd5b506101e860095481565b34801561044257600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101f2565b34801561047457600080fd5b5060408051808201909152600581526423262aa32360d91b602082015261022f565b3480156104a257600080fd5b50600254610450906001600160a01b031681565b3480156104c257600080fd5b5061025c6104d1366004611726565b6108dd565b3480156104e257600080fd5b5061028c6104f136600461183e565b6108ea565b34801561050257600080fd5b5061028c610511366004611857565b610930565b34801561052257600080fd5b5061028c610a17565b34801561053757600080fd5b50600b5461030390610100900460ff1681565b34801561055657600080fd5b506101e8610565366004611879565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561059c57600080fd5b5061028c6105ab3660046117d1565b610ab0565b3480156105bc57600080fd5b50600154610450906001600160a01b031681565b3480156105dc57600080fd5b506101e8600a5481565b60006105f3338484610b4b565b5060015b92915050565b6000546001600160a01b031633146106305760405162461bcd60e51b8152600401610627906118a7565b60405180910390fd5b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b6000610668848484610c6f565b6001600160a01b0384166000908152600460209081526040808320338085529252909120546106a391869161069e9086906118f2565b610b4b565b5060019392505050565b6000546001600160a01b031633146106d75760405162461bcd60e51b8152600401610627906118a7565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b600b8054600160b81b60ff60b81b1990911617908190556201000090046001600160a01b0316331461073357600080fd5b30600090815260036020526040902054801561079f57600061075482610d93565b9050801561079d57600b54604051620100009091046001600160a01b0316906108fc8315029083906000818181858888f1935050505015801561079b573d6000803e3d6000fd5b505b505b47156107c157600b546107c1906201000090046001600160a01b031647610f03565b50600b805460ff60b81b19169055565b6000546001600160a01b031633146107fb5760405162461bcd60e51b8152600401610627906118a7565b60238260ff1611158015610813575060638160ff1611155b61085f5760405162461bcd60e51b815260206004820152601d60248201527f54617865732063616e27742065786365656420746865206c696d69742e0000006044820152606401610627565b600b805460ff8381166101000261ffff19909216908516171790556040517ff305e997be174eb1fbb444c89b9f4089de693e9b3b40486accc62ae99885e48090600090a15050565b6000546001600160a01b031633146108d15760405162461bcd60e51b8152600401610627906118a7565b6108db6000611021565b565b60006105f3338484610c6f565b6000546001600160a01b031633146109145760405162461bcd60e51b8152600401610627906118a7565b6109206009600a6119e9565b61092a90826119f8565b60085550565b6000546001600160a01b0316331461095a5760405162461bcd60e51b8152600401610627906118a7565b60006109686009600a6119e9565b6103e8600754600561097a91906119f8565b6109849190611a0f565b61098e9190611a0f565b90508083101580156109a05750808210155b6109df5760405162461bcd60e51b815260206004820152601060248201526f496e76616c69642053657474696e677360801b6044820152606401610627565b6109eb6009600a6119e9565b6109f590846119f8565b6009908155610a0590600a6119e9565b610a0f90836119f8565b600a55505050565b6000546001600160a01b03163314610a415760405162461bcd60e51b8152600401610627906118a7565b600b54600160b01b900460ff1615610a9b5760405162461bcd60e51b815260206004820152601760248201527f43616e206f6e6c79206265206f70656e6564206f6e63650000000000000000006044820152606401610627565b600b805460ff60b01b1916600160b01b179055565b6000546001600160a01b03163314610ada5760405162461bcd60e51b8152600401610627906118a7565b6001600160a01b038116610b3f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610627565b610b4881611021565b50565b6001600160a01b038316610bad5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610627565b6001600160a01b038216610c0e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610627565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b610c7a838383611071565b6001600160a01b03831660009081526003602052604081208054839290610ca29084906118f2565b90915550506001600160a01b038316600090815260056020526040902054819060ff16158015610ceb57506001600160a01b03831660009081526005602052604090205460ff16155b15610d1157600254610d0e90839086906001600160a01b038781169116146113b5565b90505b6001600160a01b03831660009081526003602052604081208054839290610d39908490611a31565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610d8591815260200190565b60405180910390a350505050565b6040805160028082526060820183526000924792849290916020830190803683370190505090503081600081518110610dce57610dce611a44565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610e27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4b9190611a5a565b81600181518110610e5e57610e5e611a44565b6001600160a01b039283166020918202929092010152600154610e849130911686610b4b565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac94790610ebd908790600090869030904290600401611a77565b600060405180830381600087803b158015610ed757600080fd5b505af1158015610eeb573d6000803e3d6000fd5b505050508147610efb91906118f2565b949350505050565b80471015610f535760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610627565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610fa0576040519150601f19603f3d011682016040523d82523d6000602084013e610fa5565b606091505b505090508061101c5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401610627565b505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0383166110d55760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610627565b6001600160a01b0382166111375760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610627565b600081116111995760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610627565b600954811115806111c257506001600160a01b03831660009081526006602052604090205460ff165b6112205760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206578636565647320746865205f6d61786044820152682a3c20b6b7bab73a1760b91b6064820152608401610627565b600b54600160b01b900460ff16611270576001600160a01b03831660009081526006602052604090205460ff16801561126757506002546001600160a01b03848116911614155b61127057600080fd5b6001600160a01b03821660009081526006602052604090205460ff1661131a57600a54816112b3846001600160a01b031660009081526003602052604090205490565b6112bd9190611a31565b111561131a5760405162461bcd60e51b815260206004820152602660248201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785760448201526530b63632ba1760d11b6064820152608401610627565b60085430600090815260036020526040902054101580156113455750600b54600160b81b900460ff16155b801561135a5750600b54600160b01b900460ff165b801561137457506002546001600160a01b03848116911614155b801561138e57506000546001600160a01b03848116911614155b80156113a857506000546001600160a01b03838116911614155b1561101c5761101c611482565b600b5460009081906064906113cd9060ff16876119f8565b6113d79190611a0f565b9050821561140457600b546064906113f790610100900460ff16876119f8565b6114019190611a0f565b90505b801561146f573060009081526003602052604081208054839290611429908490611a31565b909155505060405181815230906001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b61147981866118f2565b95945050505050565b600b805460ff60b81b1916600160b81b1790556008546000906064906114a890826119f8565b6114b29190611a0f565b90506000606460085460006114c791906119f8565b6114d19190611a0f565b9050811561152f5760006114e483610d93565b9050801561152d57600b54604051620100009091046001600160a01b0316906108fc8315029083906000818181858888f1935050505015801561152b573d6000803e3d6000fd5b505b505b8015611573576000611542600283611a0f565b9050600061155082846118f2565b9050600061155d83610d93565b9050801561156f5761156f82826115cf565b5050505b471561159557600b54611595906201000090046001600160a01b031647610f03565b6040517fd9f20192eafa060dc85f5f8b3b0a5b9c106b02d5d1503335b857e50c2bb7003090600090a15050600b805460ff60b81b19169055565b6001546115e79030906001600160a01b031684610b4b565b600154600b5460405163f305d71960e01b815230600482015260248101859052600060448201819052606482018190526001600160a01b0362010000909304831660848301524260a483015292919091169063f305d71990849060c40160606040518083038185885af1158015611662573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906116879190611ae8565b5091506000905061169882846118f2565b111561101c5761101c6116ab82846118f2565b600b546201000090046001600160a01b031690610f03565b600060208083528351808285015260005b818110156116f0578581018301518582016040015282016116d4565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610b4857600080fd5b6000806040838503121561173957600080fd5b823561174481611711565b946020939093013593505050565b6000806040838503121561176557600080fd5b823561177081611711565b91506020830135801515811461178557600080fd5b809150509250929050565b6000806000606084860312156117a557600080fd5b83356117b081611711565b925060208401356117c081611711565b929592945050506040919091013590565b6000602082840312156117e357600080fd5b81356117ee81611711565b9392505050565b803560ff8116811461180657600080fd5b919050565b6000806040838503121561181e57600080fd5b611827836117f5565b9150611835602084016117f5565b90509250929050565b60006020828403121561185057600080fd5b5035919050565b6000806040838503121561186a57600080fd5b50508035926020909101359150565b6000806040838503121561188c57600080fd5b823561189781611711565b9150602083013561178581611711565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b818103818111156105f7576105f76118dc565b600181815b80851115611940578160001904821115611926576119266118dc565b8085161561193357918102915b93841c939080029061190a565b509250929050565b600082611957575060016105f7565b81611964575060006105f7565b816001811461197a5760028114611984576119a0565b60019150506105f7565b60ff841115611995576119956118dc565b50506001821b6105f7565b5060208310610133831016604e8410600b84101617156119c3575081810a6105f7565b6119cd8383611905565b80600019048211156119e1576119e16118dc565b029392505050565b60006117ee60ff841683611948565b80820281158282048414176105f7576105f76118dc565b600082611a2c57634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156105f7576105f76118dc565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611a6c57600080fd5b81516117ee81611711565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611ac75784516001600160a01b031683529383019391830191600101611aa2565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611afd57600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220a519872256662e72d959282f852a4117ce789df161e6f45a7cbe7dbfc373ec8e64736f6c63430008110033
Deployed Bytecode Sourcemap
3321:9119:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3835:59;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;3835:59:0;;;;;;;;5340:83;;;;;;;;;;-1:-1:-1;5410:5:0;;;;;;;;;;;;-1:-1:-1;;;5410:5:0;;;;5340:83;;;;;;;:::i;6171:161::-;;;;;;;;;;-1:-1:-1;6171:161:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;6171:161:0;1205:187:1;8087:139:0;;;;;;;;;;-1:-1:-1;8087:139:0;;;;;:::i;:::-;;:::i;:::-;;5617:95;;;;;;;;;;-1:-1:-1;5697:7:0;;5617:95;;6340:266;;;;;;;;;;-1:-1:-1;6340:266:0;;;;;:::i;:::-;;:::i;3660:58::-;;;;;;;;;;-1:-1:-1;3660:58:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5526:83;;;;;;;;;;-1:-1:-1;3762:1:0;5526:83;;;2703:4:1;2691:17;;;2673:36;;2661:2;2646:18;5526:83:0;2531:184:1;7933:146:0;;;;;;;;;;-1:-1:-1;7933:146:0;;;;;:::i;:::-;;:::i;4138:24::-;;;;;;;;;;-1:-1:-1;4138:24:0;;;;;;;;8234:473;;;;;;;;;;;;;:::i;7146:243::-;;;;;;;;;;-1:-1:-1;7146:243:0;;;;;:::i;:::-;;:::i;5720:117::-;;;;;;;;;;-1:-1:-1;5720:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;5813:16:0;5786:7;5813:16;;;:7;:16;;;;;;;5720:117;1308:94;;;;;;;;;;;;;:::i;3602:51::-;;;;;;;;;;-1:-1:-1;3602:51:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4294:33;;;;;;;;;;-1:-1:-1;4294:33:0;;;;-1:-1:-1;;;4294:33:0;;;;;;3902:57;;;;;;;;;;;;;;;;1085:87;;;;;;;;;;-1:-1:-1;1131:7:0;1158:6;-1:-1:-1;;;;;1158:6:0;1085:87;;;-1:-1:-1;;;;;3302:32:1;;;3284:51;;3272:2;3257:18;1085:87:0;3138:203:1;5431:87:0;;;;;;;;;;-1:-1:-1;5503:7:0;;;;;;;;;;;;-1:-1:-1;;;5503:7:0;;;;5431:87;;3443:19;;;;;;;;;;-1:-1:-1;3443:19:0;;;;-1:-1:-1;;;;;3443:19:0;;;5845:167;;;;;;;;;;-1:-1:-1;5845:167:0;;;;;:::i;:::-;;:::i;7786:139::-;;;;;;;;;;-1:-1:-1;7786:139:0;;;;;:::i;:::-;;:::i;7397:381::-;;;;;;;;;;-1:-1:-1;7397:381:0;;;;;:::i;:::-;;:::i;6998:140::-;;;;;;;;;;;;;:::i;4170:25::-;;;;;;;;;;-1:-1:-1;4170:25:0;;;;;;;;;;;6020:143;;;;;;;;;;-1:-1:-1;6020:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6128:18:0;;;6101:7;6128:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6020:143;1410:192;;;;;;;;;;-1:-1:-1;1410:192:0;;;;;:::i;:::-;;:::i;3415:21::-;;;;;;;;;;-1:-1:-1;3415:21:0;;;;-1:-1:-1;;;;;3415:21:0;;;3966:56;;;;;;;;;;;;;;;;6171:161;6246:4;6263:39;706:10;6286:7;6295:6;6263:8;:39::i;:::-;-1:-1:-1;6320:4:0;6171:161;;;;;:::o;8087:139::-;1131:7;1158:6;-1:-1:-1;;;;;1158:6:0;706:10;1220:23;1212:68;;;;-1:-1:-1;;;1212:68:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;8178:27:0;;;::::1;;::::0;;;:18:::1;:27;::::0;;;;:40;;-1:-1:-1;;8178:40:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8087:139::o;6340:266::-;6438:4;6455:36;6465:6;6473:9;6484:6;6455:9;:36::i;:::-;-1:-1:-1;;;;;6533:19:0;;;;;;:11;:19;;;;;;;;706:10;6533:33;;;;;;;;;6502:74;;6511:6;;6533:42;;6569:6;;6533:42;:::i;:::-;6502:8;:74::i;:::-;-1:-1:-1;6594:4:0;6340:266;;;;;:::o;7933:146::-;1131:7;1158:6;-1:-1:-1;;;;;1158:6:0;706:10;1220:23;1212:68;;;;-1:-1:-1;;;1212:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8024:34:0;;;::::1;;::::0;;;:25:::1;:34;::::0;;;;:47;;-1:-1:-1;;8024:47:0::1;::::0;::::1;;::::0;;;::::1;::::0;;7933:146::o;8234:473::-;4394:8;:15;;-1:-1:-1;;;;;;;4394:15:0;;;;;;;;8309;;::::1;-1:-1:-1::0;;;;;8309:15:0::1;8295:10;:29;8287:38;;;::::0;::::1;;8377:4;8336:20;5813:16:::0;;;:7;:16;;;;;;8397;;8394:194:::1;;8429:18;8450:30;8467:12;8450:16;:30::i;:::-;8429:51:::0;-1:-1:-1;8498:14:0;;8495:81:::1;;8539:15;::::0;8531:45:::1;::::0;8539:15;;;::::1;-1:-1:-1::0;;;;;8539:15:0::1;::::0;8531:45:::1;::::0;::::1;;::::0;;;::::1;::::0;;;;8539:15;8531:45;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;8495:81;8414:174;8394:194;8602:21;:25:::0;8598:101:::1;;8650:15;::::0;8642:57:::1;::::0;8650:15;;::::1;-1:-1:-1::0;;;;;8650:15:0::1;8677:21;8642:34;:57::i;:::-;-1:-1:-1::0;4432:8:0;:16;;-1:-1:-1;;;;4432:16:0;;;8234:473::o;7146:243::-;1131:7;1158:6;-1:-1:-1;;;;;1158:6:0;706:10;1220:23;1212:68;;;;-1:-1:-1;;;1212:68:0;;;;;;;:::i;:::-;7251:2:::1;7240:7;:13;;;;:30;;;;;7268:2;7257:8;:13;;;;7240:30;7232:72;;;::::0;-1:-1:-1;;;7232:72:0;;5228:2:1;7232:72:0::1;::::0;::::1;5210:21:1::0;5267:2;5247:18;;;5240:30;5306:31;5286:18;;;5279:59;5355:18;;7232:72:0::1;5026:353:1::0;7232:72:0::1;7315:6;:16:::0;;::::1;7333:18:::0;;::::1;7315:16;7333:18;-1:-1:-1::0;;7333:18:0;;;7315:16;;::::1;7333:18:::0;::::1;::::0;;7367:14:::1;::::0;::::1;::::0;7315:6:::1;::::0;7367:14:::1;7146:243:::0;;:::o;1308:94::-;1131:7;1158:6;-1:-1:-1;;;;;1158:6:0;706:10;1220:23;1212:68;;;;-1:-1:-1;;;1212:68:0;;;;;;;:::i;:::-;1373:21:::1;1391:1;1373:9;:21::i;:::-;1308:94::o:0;5845:167::-;5923:4;5940:42;706:10;5964:9;5975:6;5940:9;:42::i;7786:139::-;1131:7;1158:6;-1:-1:-1;;;;;1158:6:0;706:10;1220:23;1212:68;;;;-1:-1:-1;;;1212:68:0;;;;;;;:::i;:::-;7903:13:::1;3762:1;7903:2;:13;:::i;:::-;7880:37;::::0;:19;:37:::1;:::i;:::-;7864:13;:53:::0;-1:-1:-1;7786:139:0:o;7397:381::-;1131:7;1158:6;-1:-1:-1;;;;;1158:6:0;706:10;1220:23;1212:68;;;;-1:-1:-1;;;1212:68:0;;;;;;;:::i;:::-;7491:20:::1;7538:13;3762:1;7538:2;:13;:::i;:::-;7529:4;7515:7;;7525:1;7515:11;;;;:::i;:::-;:18;;;;:::i;:::-;7514:38;;;;:::i;:::-;7491:61;;7586:15;7571:11;:30;;:68;;;;;7624:15;7605;:34;;7571:68;7563:97;;;::::0;-1:-1:-1;;;7563:97:0;;7364:2:1;7563:97:0::1;::::0;::::1;7346:21:1::0;7403:2;7383:18;;;7376:30;-1:-1:-1;;;7422:18:1;;;7415:46;7478:18;;7563:97:0::1;7162:340:1::0;7563:97:0::1;7700:13;3762:1;7700:2;:13;:::i;:::-;7685:29;::::0;:11;:29:::1;:::i;:::-;7671:11;:43:::0;;;7756:13:::1;::::0;:2:::1;:13;:::i;:::-;7737:33;::::0;:15;:33:::1;:::i;:::-;7725:9;:45:::0;-1:-1:-1;;;7397:381:0:o;6998:140::-;1131:7;1158:6;-1:-1:-1;;;;;1158:6:0;706:10;1220:23;1212:68;;;;-1:-1:-1;;;1212:68:0;;;;;;;:::i;:::-;7059:13:::1;::::0;-1:-1:-1;;;7059:13:0;::::1;;;7058:14;7050:49;;;::::0;-1:-1:-1;;;7050:49:0;;7709:2:1;7050:49:0::1;::::0;::::1;7691:21:1::0;7748:2;7728:18;;;7721:30;7787:25;7767:18;;;7760:53;7830:18;;7050:49:0::1;7507:347:1::0;7050:49:0::1;7110:13;:20:::0;;-1:-1:-1;;;;7110:20:0::1;-1:-1:-1::0;;;7110:20:0::1;::::0;;6998:140::o;1410:192::-;1131:7;1158:6;-1:-1:-1;;;;;1158:6:0;706:10;1220:23;1212:68;;;;-1:-1:-1;;;1212:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1499:22:0;::::1;1491:73;;;::::0;-1:-1:-1;;;1491:73:0;;8061:2:1;1491:73:0::1;::::0;::::1;8043:21:1::0;8100:2;8080:18;;;8073:30;8139:34;8119:18;;;8112:62;-1:-1:-1;;;8190:18:1;;;8183:36;8236:19;;1491:73:0::1;7859:402:1::0;1491:73:0::1;1575:19;1585:8;1575:9;:19::i;:::-;1410:192:::0;:::o;6614:335::-;-1:-1:-1;;;;;6707:19:0;;6699:68;;;;-1:-1:-1;;;6699:68:0;;8468:2:1;6699:68:0;;;8450:21:1;8507:2;8487:18;;;8480:30;8546:34;8526:18;;;8519:62;-1:-1:-1;;;8597:18:1;;;8590:34;8641:19;;6699:68:0;8266:400:1;6699:68:0;-1:-1:-1;;;;;6786:21:0;;6778:68;;;;-1:-1:-1;;;6778:68:0;;8873:2:1;6778:68:0;;;8855:21:1;8912:2;8892:18;;;8885:30;8951:34;8931:18;;;8924:62;-1:-1:-1;;;9002:18:1;;;8995:32;9044:19;;6778:68:0;8671:398:1;6778:68:0;-1:-1:-1;;;;;6857:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6909:32;;160:25:1;;;6909:32:0;;133:18:1;6909:32:0;;;;;;;6614:335;;;:::o;10010:436::-;10088:35;10106:4;10112:2;10116:6;10088:17;:35::i;:::-;-1:-1:-1;;;;;10134:13:0;;;;;;:7;:13;;;;;:23;;10151:6;;10134:13;:23;;10151:6;;10134:23;:::i;:::-;;;;-1:-1:-1;;;;;;;10214:24:0;;10168:22;10214:24;;;:18;:24;;;;;;10193:6;;10214:24;;10213:25;:52;;;;-1:-1:-1;;;;;;10243:22:0;;;;;;:18;:22;;;;;;;;10242:23;10213:52;10210:139;;;10332:4;;10298:39;;10312:6;;10320:4;;-1:-1:-1;;;;;10326:10:0;;;10332:4;;10326:10;10298:13;:39::i;:::-;10281:56;;10210:139;-1:-1:-1;;;;;10359:11:0;;;;;;:7;:11;;;;;:29;;10374:14;;10359:11;:29;;10374:14;;10359:29;:::i;:::-;;;;;;;;10419:2;-1:-1:-1;;;;;10404:34:0;10413:4;-1:-1:-1;;;;;10404:34:0;;10423:14;10404:34;;;;160:25:1;;148:2;133:18;;14:177;10404:34:0;;;;;;;;10077:369;10010:436;;;:::o;11324:581::-;11489:16;;;11503:1;11489:16;;;;;;;;11388:7;;11433:21;;11388:7;;11489:16;;;;;;;;;;;;-1:-1:-1;11489:16:0;11465:40;;11534:4;11516;11521:1;11516:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11516:23:0;;;:7;;;;;;;;;;:23;;;;11560:6;;:13;;;-1:-1:-1;;;11560:13:0;;;;:6;;;;;:11;;:13;;;;;11516:7;;11560:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11550:4;11555:1;11550:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11550:23:0;;;:7;;;;;;;;;:23;11618:6;;11586:53;;11603:4;;11618:6;11627:11;11586:8;:53::i;:::-;11652:6;;:187;;-1:-1:-1;;;11652:187:0;;-1:-1:-1;;;;;11652:6:0;;;;:57;;:187;;11724:11;;11652:6;;11766:4;;11793;;11813:15;;11652:187;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11882:14;11858:21;:38;;;;:::i;:::-;11850:47;11324:581;-1:-1:-1;;;;11324:581:0:o;253:317::-;368:6;343:21;:31;;335:73;;;;-1:-1:-1;;;335:73:0;;10911:2:1;335:73:0;;;10893:21:1;10950:2;10930:18;;;10923:30;10989:31;10969:18;;;10962:59;11038:18;;335:73:0;10709:353:1;335:73:0;422:12;440:9;-1:-1:-1;;;;;440:14:0;462:6;440:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;421:52;;;492:7;484:78;;;;-1:-1:-1;;;484:78:0;;11479:2:1;484:78:0;;;11461:21:1;11518:2;11498:18;;;11491:30;11557:34;11537:18;;;11530:62;11628:28;11608:18;;;11601:56;11674:19;;484:78:0;11277:422:1;484:78:0;324:246;253:317;;:::o;1610:173::-;1666:16;1685:6;;-1:-1:-1;;;;;1702:17:0;;;-1:-1:-1;;;;;;1702:17:0;;;;;;1735:40;;1685:6;;;;;;;1735:40;;1666:16;1735:40;1655:128;1610:173;:::o;8715:860::-;-1:-1:-1;;;;;8809:18:0;;8801:68;;;;-1:-1:-1;;;8801:68:0;;11906:2:1;8801:68:0;;;11888:21:1;11945:2;11925:18;;;11918:30;11984:34;11964:18;;;11957:62;-1:-1:-1;;;12035:18:1;;;12028:35;12080:19;;8801:68:0;11704:401:1;8801:68:0;-1:-1:-1;;;;;8888:16:0;;8880:64;;;;-1:-1:-1;;;8880:64:0;;12312:2:1;8880:64:0;;;12294:21:1;12351:2;12331:18;;;12324:30;12390:34;12370:18;;;12363:62;-1:-1:-1;;;12441:18:1;;;12434:33;12484:19;;8880:64:0;12110:399:1;8880:64:0;8972:1;8963:6;:10;8955:64;;;;-1:-1:-1;;;8955:64:0;;12716:2:1;8955:64:0;;;12698:21:1;12755:2;12735:18;;;12728:30;12794:34;12774:18;;;12767:62;-1:-1:-1;;;12845:18:1;;;12838:39;12894:19;;8955:64:0;12514:405:1;8955:64:0;9048:11;;9038:6;:21;;:56;;;-1:-1:-1;;;;;;9063:31:0;;;;;;:25;:31;;;;;;;;9038:56;9030:110;;;;-1:-1:-1;;;9030:110:0;;13126:2:1;9030:110:0;;;13108:21:1;13165:2;13145:18;;;13138:30;13204:34;13184:18;;;13177:62;-1:-1:-1;;;13255:18:1;;;13248:39;13304:19;;9030:110:0;12924:405:1;9030:110:0;9157:13;;-1:-1:-1;;;9157:13:0;;;;9153:88;;-1:-1:-1;;;;;9193:31:0;;;;;;:25;:31;;;;;;;;:47;;;;-1:-1:-1;9236:4:0;;-1:-1:-1;;;;;9228:12:0;;;9236:4;;9228:12;;9193:47;9185:56;;;;;;-1:-1:-1;;;;;9258:29:0;;;;;;:25;:29;;;;;;;;9254:134;;9336:9;;9326:6;9310:13;9320:2;-1:-1:-1;;;;;5813:16:0;5786:7;5813:16;;;:7;:16;;;;;;;5720:117;9310:13;:22;;;;:::i;:::-;:35;;9302:86;;;;-1:-1:-1;;;9302:86:0;;13536:2:1;9302:86:0;;;13518:21:1;13575:2;13555:18;;;13548:30;13614:34;13594:18;;;13587:62;-1:-1:-1;;;13665:18:1;;;13658:36;13711:19;;9302:86:0;13334:402:1;9302:86:0;9441:13;;9431:4;5786:7;5813:16;;;:7;:16;;;;;;9413:41;;:54;;;;-1:-1:-1;9459:8:0;;-1:-1:-1;;;9459:8:0;;;;9458:9;9413:54;:71;;;;-1:-1:-1;9471:13:0;;-1:-1:-1;;;9471:13:0;;;;9413:71;:87;;;;-1:-1:-1;9496:4:0;;-1:-1:-1;;;;;9488:12:0;;;9496:4;;9488:12;;9413:87;:106;;;;-1:-1:-1;1131:7:0;1158:6;-1:-1:-1;;;;;9504:15:0;;;1158:6;;9504:15;;9413:106;:123;;;;-1:-1:-1;1131:7:0;1158:6;-1:-1:-1;;;;;9523:13:0;;;1158:6;;9523:13;;9413:123;9409:158;;;9551:16;:14;:16::i;9583:419::-;9712:6;;9662:7;;;;9721:3;;9703:15;;9712:6;;9703;:15;:::i;:::-;:21;;;;:::i;:::-;9681:43;;9738:6;9735:60;;;9782:7;;9792:3;;9773:16;;9782:7;;;;;9773:6;:16;:::i;:::-;:22;;;;:::i;:::-;9759:36;;9735:60;9812:15;;9808:147;;9859:4;9843:22;;;;:7;:22;;;;;:37;;9869:11;;9843:22;:37;;9869:11;;9843:37;:::i;:::-;;;;-1:-1:-1;;9900:43:0;;160:25:1;;;9924:4:0;;-1:-1:-1;;;;;9900:43:0;;;;;148:2:1;133:18;9900:43:0;;;;;;;9808:147;9973:20;9982:11;9973:6;:20;:::i;:::-;9965:29;9583:419;-1:-1:-1;;;;;9583:419:0:o;10454:862::-;4394:8;:15;;-1:-1:-1;;;;4394:15:0;-1:-1:-1;;;4394:15:0;;;10541:13:::1;::::0;4394:15;;10563:3:::1;::::0;10541:19:::1;::::0;10563:3;10541:19:::1;:::i;:::-;:25;;;;:::i;:::-;10512:54;;10577:26;10626:3;10606:13;;10622:1;10606:17;;;;:::i;:::-;:23;;;;:::i;:::-;10577:52:::0;-1:-1:-1;10653:22:0;;10650:206:::1;;10691:18;10712:36;10729:18;10712:16;:36::i;:::-;10691:57:::0;-1:-1:-1;10766:14:0;;10763:81:::1;;10807:15;::::0;10799:45:::1;::::0;10807:15;;;::::1;-1:-1:-1::0;;;;;10807:15:0::1;::::0;10799:45:::1;::::0;::::1;;::::0;;;::::1;::::0;;;;10807:15;10799:45;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;10763:81;10676:180;10650:206;10871:22:::0;;10868:283:::1;;10909:9;10921:22;10942:1;10921:18:::0;:22:::1;:::i;:::-;10909:34:::0;-1:-1:-1;10958:14:0::1;10975:25;10909:34:::0;10975:18;:25:::1;:::i;:::-;10958:42;;11015:14;11032:22;11049:4;11032:16;:22::i;:::-;11015:39:::0;-1:-1:-1;11073:13:0;;11069:70:::1;;11105:34;11118:9;11129;11105:12;:34::i;:::-;10894:257;;;10868:283;11167:21;:25:::0;11163:101:::1;;11215:15;::::0;11207:57:::1;::::0;11215:15;;::::1;-1:-1:-1::0;;;;;11215:15:0::1;11242:21;11207:34;:57::i;:::-;11290:16;::::0;::::1;::::0;;;::::1;-1:-1:-1::0;;4432:8:0;:16;;-1:-1:-1;;;;4432:16:0;;;10454:862::o;11913:522::-;12026:6;;11994:53;;12011:4;;-1:-1:-1;;;;;12026:6:0;12035:11;11994:8;:53::i;:::-;12091:6;;12234:15;;12091:199;;-1:-1:-1;;;12091:199:0;;12156:4;12091:199;;;14082:34:1;14132:18;;;14125:34;;;-1:-1:-1;14175:18:1;;;14168:34;;;14218:18;;;14211:34;;;-1:-1:-1;;;;;12234:15:0;;;;;;14261:19:1;;;14254:44;12264:15:0;14314:19:1;;;14307:35;-1:-1:-1;12091:6:0;;;;;:22;;12122:9;;14016:19:1;;12091:199:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;12060:230:0;-1:-1:-1;12346:1:0;;-1:-1:-1;12315:28:0;12060:230;12315:9;:28;:::i;:::-;:32;12311:116;;;12362:65;12398:28;12410:16;12398:9;:28;:::i;:::-;12370:15;;;;;-1:-1:-1;;;;;12370:15:0;;12362:34;:65::i;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;885:315;953:6;961;1014:2;1002:9;993:7;989:23;985:32;982:52;;;1030:1;1027;1020:12;982:52;1069:9;1056:23;1088:31;1113:5;1088:31;:::i;:::-;1138:5;1190:2;1175:18;;;;1162:32;;-1:-1:-1;;;885:315:1:o;1397:416::-;1462:6;1470;1523:2;1511:9;1502:7;1498:23;1494:32;1491:52;;;1539:1;1536;1529:12;1491:52;1578:9;1565:23;1597:31;1622:5;1597:31;:::i;:::-;1647:5;-1:-1:-1;1704:2:1;1689:18;;1676:32;1746:15;;1739:23;1727:36;;1717:64;;1777:1;1774;1767:12;1717:64;1800:7;1790:17;;;1397:416;;;;;:::o;1818:456::-;1895:6;1903;1911;1964:2;1952:9;1943:7;1939:23;1935:32;1932:52;;;1980:1;1977;1970:12;1932:52;2019:9;2006:23;2038:31;2063:5;2038:31;:::i;:::-;2088:5;-1:-1:-1;2145:2:1;2130:18;;2117:32;2158:33;2117:32;2158:33;:::i;:::-;1818:456;;2210:7;;-1:-1:-1;;;2264:2:1;2249:18;;;;2236:32;;1818:456::o;2279:247::-;2338:6;2391:2;2379:9;2370:7;2366:23;2362:32;2359:52;;;2407:1;2404;2397:12;2359:52;2446:9;2433:23;2465:31;2490:5;2465:31;:::i;:::-;2515:5;2279:247;-1:-1:-1;;;2279:247:1:o;2720:156::-;2786:20;;2846:4;2835:16;;2825:27;;2815:55;;2866:1;2863;2856:12;2815:55;2720:156;;;:::o;2881:252::-;2945:6;2953;3006:2;2994:9;2985:7;2981:23;2977:32;2974:52;;;3022:1;3019;3012:12;2974:52;3045:27;3062:9;3045:27;:::i;:::-;3035:37;;3091:36;3123:2;3112:9;3108:18;3091:36;:::i;:::-;3081:46;;2881:252;;;;;:::o;3346:180::-;3405:6;3458:2;3446:9;3437:7;3433:23;3429:32;3426:52;;;3474:1;3471;3464:12;3426:52;-1:-1:-1;3497:23:1;;3346:180;-1:-1:-1;3346:180:1:o;3531:248::-;3599:6;3607;3660:2;3648:9;3639:7;3635:23;3631:32;3628:52;;;3676:1;3673;3666:12;3628:52;-1:-1:-1;;3699:23:1;;;3769:2;3754:18;;;3741:32;;-1:-1:-1;3531:248:1:o;3784:388::-;3852:6;3860;3913:2;3901:9;3892:7;3888:23;3884:32;3881:52;;;3929:1;3926;3919:12;3881:52;3968:9;3955:23;3987:31;4012:5;3987:31;:::i;:::-;4037:5;-1:-1:-1;4094:2:1;4079:18;;4066:32;4107:33;4066:32;4107:33;:::i;4400:356::-;4602:2;4584:21;;;4621:18;;;4614:30;4680:34;4675:2;4660:18;;4653:62;4747:2;4732:18;;4400:356::o;4761:127::-;4822:10;4817:3;4813:20;4810:1;4803:31;4853:4;4850:1;4843:15;4877:4;4874:1;4867:15;4893:128;4960:9;;;4981:11;;;4978:37;;;4995:18;;:::i;5384:422::-;5473:1;5516:5;5473:1;5530:270;5551:7;5541:8;5538:21;5530:270;;;5610:4;5606:1;5602:6;5598:17;5592:4;5589:27;5586:53;;;5619:18;;:::i;:::-;5669:7;5659:8;5655:22;5652:55;;;5689:16;;;;5652:55;5768:22;;;;5728:15;;;;5530:270;;;5534:3;5384:422;;;;;:::o;5811:806::-;5860:5;5890:8;5880:80;;-1:-1:-1;5931:1:1;5945:5;;5880:80;5979:4;5969:76;;-1:-1:-1;6016:1:1;6030:5;;5969:76;6061:4;6079:1;6074:59;;;;6147:1;6142:130;;;;6054:218;;6074:59;6104:1;6095:10;;6118:5;;;6142:130;6179:3;6169:8;6166:17;6163:43;;;6186:18;;:::i;:::-;-1:-1:-1;;6242:1:1;6228:16;;6257:5;;6054:218;;6356:2;6346:8;6343:16;6337:3;6331:4;6328:13;6324:36;6318:2;6308:8;6305:16;6300:2;6294:4;6291:12;6287:35;6284:77;6281:159;;;-1:-1:-1;6393:19:1;;;6425:5;;6281:159;6472:34;6497:8;6491:4;6472:34;:::i;:::-;6542:6;6538:1;6534:6;6530:19;6521:7;6518:32;6515:58;;;6553:18;;:::i;:::-;6591:20;;5811:806;-1:-1:-1;;;5811:806:1:o;6622:140::-;6680:5;6709:47;6750:4;6740:8;6736:19;6730:4;6709:47;:::i;6767:168::-;6840:9;;;6871;;6888:15;;;6882:22;;6868:37;6858:71;;6909:18;;:::i;6940:217::-;6980:1;7006;6996:132;;7050:10;7045:3;7041:20;7038:1;7031:31;7085:4;7082:1;7075:15;7113:4;7110:1;7103:15;6996:132;-1:-1:-1;7142:9:1;;6940:217::o;9074:125::-;9139:9;;;9160:10;;;9157:36;;;9173:18;;:::i;9336:127::-;9397:10;9392:3;9388:20;9385:1;9378:31;9428:4;9425:1;9418:15;9452:4;9449:1;9442:15;9468:251;9538:6;9591:2;9579:9;9570:7;9566:23;9562:32;9559:52;;;9607:1;9604;9597:12;9559:52;9639:9;9633:16;9658:31;9683:5;9658:31;:::i;9724:980::-;9986:4;10034:3;10023:9;10019:19;10065:6;10054:9;10047:25;10091:2;10129:6;10124:2;10113:9;10109:18;10102:34;10172:3;10167:2;10156:9;10152:18;10145:31;10196:6;10231;10225:13;10262:6;10254;10247:22;10300:3;10289:9;10285:19;10278:26;;10339:2;10331:6;10327:15;10313:29;;10360:1;10370:195;10384:6;10381:1;10378:13;10370:195;;;10449:13;;-1:-1:-1;;;;;10445:39:1;10433:52;;10540:15;;;;10505:12;;;;10481:1;10399:9;10370:195;;;-1:-1:-1;;;;;;;10621:32:1;;;;10616:2;10601:18;;10594:60;-1:-1:-1;;;10685:3:1;10670:19;10663:35;10582:3;9724:980;-1:-1:-1;;;9724:980:1:o;14353:306::-;14441:6;14449;14457;14510:2;14498:9;14489:7;14485:23;14481:32;14478:52;;;14526:1;14523;14516:12;14478:52;14555:9;14549:16;14539:26;;14605:2;14594:9;14590:18;14584:25;14574:35;;14649:2;14638:9;14634:18;14628:25;14618:35;;14353:306;;;;;:::o
Swarm Source
ipfs://a519872256662e72d959282f852a4117ce789df161e6f45a7cbe7dbfc373ec8e
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.