More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 1,497 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 44462210 | 15 days ago | IN | 0 BNB | 0.00007296 | ||||
Approve | 44371824 | 18 days ago | IN | 0 BNB | 0.00002456 | ||||
Approve | 44042381 | 30 days ago | IN | 0 BNB | 0.0000466 | ||||
Transfer | 43557417 | 47 days ago | IN | 0 BNB | 0.00008306 | ||||
Approve | 38163581 | 234 days ago | IN | 0 BNB | 0.00007296 | ||||
Approve | 36298594 | 299 days ago | IN | 0 BNB | 0.00023302 | ||||
Transfer | 35073074 | 342 days ago | IN | 0 BNB | 0.00026359 | ||||
Approve | 33624701 | 392 days ago | IN | 0 BNB | 0.00007296 | ||||
Approve | 30522292 | 500 days ago | IN | 0 BNB | 0.00013351 | ||||
Approve | 28894485 | 557 days ago | IN | 0 BNB | 0.00031153 | ||||
Approve | 28639779 | 566 days ago | IN | 0 BNB | 0.00004368 | ||||
Transfer | 28008304 | 588 days ago | IN | 0 BNB | 0.00019516 | ||||
Transfer | 27972367 | 589 days ago | IN | 0 BNB | 0.00018256 | ||||
Approve | 27856381 | 593 days ago | IN | 0 BNB | 0.00004368 | ||||
Approve | 27817835 | 595 days ago | IN | 0 BNB | 0.0000728 | ||||
Approve | 27199946 | 616 days ago | IN | 0 BNB | 0.0000728 | ||||
Approve | 27192676 | 616 days ago | IN | 0 BNB | 0.0000728 | ||||
Approve | 27137088 | 618 days ago | IN | 0 BNB | 0.00022252 | ||||
Approve | 25709618 | 668 days ago | IN | 0 BNB | 0.00031153 | ||||
Approve | 23431184 | 749 days ago | IN | 0 BNB | 0.0000728 | ||||
Approve | 22110667 | 795 days ago | IN | 0 BNB | 0.00022252 | ||||
Approve | 21650004 | 812 days ago | IN | 0 BNB | 0.00026703 | ||||
Transfer | 21355699 | 822 days ago | IN | 0 BNB | 0.00040027 | ||||
Transfer | 21355223 | 822 days ago | IN | 0 BNB | 0.00011108 | ||||
Approve | 21314419 | 824 days ago | IN | 0 BNB | 0.00022252 |
Latest 25 internal transactions (View All)
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
22657863 | 776 days ago | 0.00000246 BNB | ||||
22657863 | 776 days ago | 0.00000246 BNB | ||||
21650019 | 812 days ago | 0.00006845 BNB | ||||
21650019 | 812 days ago | 0.00006845 BNB | ||||
17386110 | 960 days ago | 0.00001065 BNB | ||||
17386110 | 960 days ago | 0.00001065 BNB | ||||
17054903 | 972 days ago | 0.00146912 BNB | ||||
17054903 | 972 days ago | 0.02571815 BNB | ||||
17054903 | 972 days ago | 0.02571815 BNB | ||||
17054066 | 972 days ago | 0.0071565 BNB | ||||
17054066 | 972 days ago | 0.0071565 BNB | ||||
17054035 | 972 days ago | 0.00500517 BNB | ||||
17054035 | 972 days ago | 0.00500517 BNB | ||||
17053870 | 972 days ago | 0.00147815 BNB | ||||
17053870 | 972 days ago | 0.09029176 BNB | ||||
17053870 | 972 days ago | 0.09029176 BNB | ||||
16908596 | 977 days ago | 0.00052766 BNB | ||||
16908596 | 977 days ago | 0.00052766 BNB | ||||
16595095 | 988 days ago | 0.000806 BNB | ||||
16595095 | 988 days ago | 0.000806 BNB | ||||
16336562 | 997 days ago | 0.00117674 BNB | ||||
16336562 | 997 days ago | 0.00117674 BNB | ||||
16265015 | 1000 days ago | 0.00210523 BNB | ||||
16265015 | 1000 days ago | 0.00210523 BNB | ||||
16123899 | 1005 days ago | 0.00055254 BNB |
Loading...
Loading
Contract Name:
METABULLRAGE
Compiler Version
v0.8.4+commit.c7e474f2
Contract Source Code (Solidity)
/** *Submitted for verification at BscScan.com on 2022-01-04 */ /** *Submitted for verification at BscScan.com on 2022-01-04 /* METABULLRAGE TOKENOMICS 8% Taxes for Game Development & Buybacks 2% Auto Liquidity to Stabilise the Token Floor Price 10% Buy/Sell Taxes in Total , , /\ /\ ((__-^^-,-^^-__)) `-_---' `---_-' <<__|*` '*|__>> \ ` / ):^:( :o_o: "-" METABULLRAGE SOCIALS Twitter: https://twitter.com/MetaBullRage Website: https://www.Metabullrage.com Telegram:https://t.me/MetabullRage Smart Contract Developed by Cryptowallstreet: https://github.com/cryptwallstreet */ // SPDX-License-Identifier: Unlicensed pragma solidity ^0.8.4; 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; } } 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); } 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; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } library Address { function isContract(address account) internal view returns (bool) { // According to EIP-1052, 0x0 is the value returned for not-yet created accounts // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned // for accounts without code, i.e. `keccak256('')` bytes32 codehash; bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470; // solhint-disable-next-line no-inline-assembly assembly { codehash := extcodehash(account) } return (codehash != accountHash && codehash != 0x0); } function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); // solhint-disable-next-line avoid-low-level-calls, avoid-call-value (bool success, ) = recipient.call{ value: amount }(""); require(success, "Address: unable to send value, recipient may have reverted"); } function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { return _functionCallWithValue(target, data, 0, errorMessage); } function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); return _functionCallWithValue(target, data, value, errorMessage); } function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) { require(isContract(target), "Address: call to non-contract"); (bool success, bytes memory returndata) = target.call{ value: weiValue }(data); if (success) { return returndata; } else { if (returndata.length > 0) { assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } contract Ownable is Context { address private _owner; address private _previousOwner; uint256 private _lockTime; 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; } } // pragma solidity >=0.5.0; interface IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint) external view returns (address pair); function allPairsLength() external view returns (uint); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } // pragma solidity >=0.5.0; 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 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 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; } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function removeLiquidity( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB); function removeLiquidityETH( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountToken, uint amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountA, uint amountB); function removeLiquidityETHWithPermit( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountToken, uint amountETH); function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapTokensForExactTokens( uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); } // pragma solidity >=0.6.2; interface IUniswapV2Router02 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract METABULLRAGE is Context, IERC20, Ownable { using SafeMath for uint256; using Address for address; event TokenBurn(address indexed from, uint256 value); event SetLiquidityFee(uint256 amount); event SetMarketingFee(uint256 amount); event SetBurnFee(uint256 amount); string private _name = "METABULLRAGE"; string private _symbol = "BERAGE"; uint8 private _decimals = 9; uint256 private _totalSupply = 1 * 10**9 * 10**_decimals; address payable public marketingAddress = payable(0xBBfc06D17FEEA894868b15e7ac8062b417ff2804); address public marketingWalletToken = 0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56; address public constant deadAddress = 0x000000000000000000000000000000000000dEaD; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFees; mapping (address => bool) private _isExcludedFromMaxBalance; uint256 private constant _maxFees = 15; uint256 private _totalFees; uint256 private _totalFeesToContract; uint256 private _liquidityFee; uint256 private _burnFee; uint256 private _marketingFee; uint256 private _maxBalance; IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; uint256 private _liquifyThreshhold; bool inSwapAndLiquify; modifier lockTheSwap { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } constructor () { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x10ED43C718714eb63d5aA57B78B54704E256024E); uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router = _uniswapV2Router; _isExcludedFromFees[owner()] = true; _isExcludedFromFees[address(this)] = true; _isExcludedFromMaxBalance[owner()] = true; _isExcludedFromMaxBalance[address(this)] = true; _isExcludedFromMaxBalance[uniswapV2Pair] = true; _liquidityFee = 2; _marketingFee = 8; _burnFee = 0; _totalFees = _liquidityFee.add(_marketingFee).add(_burnFee); _totalFeesToContract = _liquidityFee.add(_marketingFee); _liquifyThreshhold = 20 * 10**4 * 10**_decimals; _maxBalance = 1 * 10**9 * 10**_decimals; _balances[_msgSender()] = _totalSupply; emit Transfer(address(0), _msgSender(), _totalSupply); } receive() external payable {} function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public view returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balances[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 increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); 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); } function setMarketingAddress(address payable newMarketingAddress) external onlyOwner() { marketingAddress = newMarketingAddress; } function setLiquidityFeePercent(uint256 newLiquidityFee) external onlyOwner() { require(!inSwapAndLiquify, "inSwapAndLiquify"); require(newLiquidityFee.add(_burnFee).add(_marketingFee) <= _maxFees, "Fees are too high."); _liquidityFee = newLiquidityFee; _totalFees = _liquidityFee.add(_marketingFee).add(_burnFee); _totalFeesToContract = _liquidityFee.add(_marketingFee); emit SetLiquidityFee(_liquidityFee); } function setMarketingFeePercent(uint256 newMarketingFee) external onlyOwner() { require(!inSwapAndLiquify, "inSwapAndLiquify"); _marketingFee = newMarketingFee; _totalFees = _liquidityFee.add(_marketingFee).add(_burnFee); _totalFeesToContract = _liquidityFee.add(_marketingFee); emit SetMarketingFee(_marketingFee); } function setBurnFeePercent(uint256 newBurnFee) external onlyOwner() { _burnFee = newBurnFee; _totalFees = _liquidityFee.add(_marketingFee).add(_burnFee); emit SetBurnFee(_burnFee); } function setLiquifyThreshhold(uint256 newLiquifyThreshhold) external onlyOwner() { _liquifyThreshhold = newLiquifyThreshhold; } function setMarketingWalletToken(address _marketingWalletToken) external onlyOwner(){ marketingWalletToken = _marketingWalletToken; } function setMaxBalance(uint256 newMaxBalance) external onlyOwner(){ // Minimum _maxBalance is 0.5% of _totalSupply _maxBalance = newMaxBalance; } function isExcludedFromFees(address account) public view returns(bool) { return _isExcludedFromFees[account]; } function excludeFromFees(address account) public onlyOwner { _isExcludedFromFees[account] = true; } function includeInFees(address account) public onlyOwner { _isExcludedFromFees[account] = false; } function isExcludedFromMaxBalance(address account) public view returns(bool) { return _isExcludedFromMaxBalance[account]; } function excludeFromMaxBalance(address account) public onlyOwner { _isExcludedFromMaxBalance[account] = true; } function includeInMaxBalance(address account) public onlyOwner { _isExcludedFromMaxBalance[account] = false; } function totalFees() public view returns (uint256) { return _totalFees; } function liquidityFee() public view returns (uint256) { return _liquidityFee; } function marketingFee() public view returns (uint256) { return _marketingFee; } function burnFee() public view returns (uint256) { return _burnFee; } function maxFees() public pure returns (uint256) { return _maxFees; } function liquifyThreshhold() public view returns(uint256){ return _liquifyThreshhold; } function maxBalance() public view returns (uint256) { return _maxBalance; } 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"); // Make sure that: Balance + Buy Amount <= _maxBalance if( from != owner() && // Not from Owner to != owner() && // Not to Owner !_isExcludedFromMaxBalance[to] // is excludedFromMaxBalance ){ require( balanceOf(to).add(amount) <= _maxBalance, "Max Balance is reached." ); } // Swap Fees if( to == uniswapV2Pair && // Sell !inSwapAndLiquify && // Swap is not locked balanceOf(address(this)) >= _liquifyThreshhold && // liquifyThreshhold is reached _totalFeesToContract > 0 && // LiquidityFee + MarketingFee > 0 from != owner() && // Not from Owner to != owner() // Not to Owner ) { collectFees(); } // Take Fees if( !(_isExcludedFromFees[from] || _isExcludedFromFees[to]) && _totalFees > 0 ) { uint256 feesToContract = amount.mul(_totalFeesToContract).div(100); uint256 toBurnAmount = amount.mul(_burnFee).div(100); amount = amount.sub(feesToContract.add(toBurnAmount)); transferToken(from, address(this), feesToContract); transferToken(from, deadAddress, toBurnAmount); emit TokenBurn(from, toBurnAmount); } transferToken(from, to, amount); } function collectFees() private lockTheSwap { uint256 liquidityTokensToSell = balanceOf(address(this)).mul(_liquidityFee).div(_totalFeesToContract); uint256 marketingTokensToSell = balanceOf(address(this)).mul(_marketingFee).div(_totalFeesToContract); // Get collected Liquidity Fees swapAndLiquify(liquidityTokensToSell); // Get collected Marketing Fees swapAndSendToFee(marketingTokensToSell); } function swapAndLiquify(uint256 tokens) private { uint256 half = tokens.div(2); uint256 otherHalf = tokens.sub(half); // current ETH balance uint256 initialBalance = address(this).balance; swapTokensForEth(half); // how much ETH did we just swap into? uint256 newBalance = address(this).balance.sub(initialBalance); addLiquidity(otherHalf, newBalance); } function swapAndSendToFee(uint256 tokens) private { swapTokensForMarketingToken(tokens); // Transfer sold Token to marketingWallet IERC20(marketingWalletToken).transfer(marketingAddress, IERC20(marketingWalletToken).balanceOf(address(this))); } function swapTokensForEth(uint256 tokenAmount) private { 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 swapTokensForMarketingToken(uint256 tokenAmount) private { address[] memory path = new address[](3); path[0] = address(this); path[1] = uniswapV2Router.WETH(); path[2] = marketingWalletToken; _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForTokensSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, 0, owner(), block.timestamp ); } function transferToken(address sender, address recipient, uint256 amount) private { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"SetBurnFee","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"SetLiquidityFee","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"SetMarketingFee","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"TokenBurn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromMaxBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInMaxBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromMaxBalance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquifyThreshhold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWalletToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBurnFee","type":"uint256"}],"name":"setBurnFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiquidityFee","type":"uint256"}],"name":"setLiquidityFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiquifyThreshhold","type":"uint256"}],"name":"setLiquifyThreshhold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newMarketingAddress","type":"address"}],"name":"setMarketingAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMarketingFee","type":"uint256"}],"name":"setMarketingFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingWalletToken","type":"address"}],"name":"setMarketingWalletToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMaxBalance","type":"uint256"}],"name":"setMaxBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"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
60c0604052600c60808190526b4d45544142554c4c5241474560a01b60a09081526200002f91600391906200052c565b506040805180820190915260068082526542455241474560d01b60209092019182526200005f916004916200052c565b506005805460ff191660099081179091556200007d90600a6200065f565b6200008d90633b9aca006200072b565b600655600780546001600160a01b031990811673bbfc06d17feea894868b15e7ac8062b417ff2804179091556008805490911673e9e7cea3dedca5984780bafc599bd69add087d56179055348015620000e557600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060007310ed43c718714eb63d5aa57b78b54704e256024e9050806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200017a57600080fd5b505afa1580156200018f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b59190620005d2565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620001fe57600080fd5b505afa15801562000213573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002399190620005d2565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200028257600080fd5b505af115801562000297573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002bd9190620005d2565b601480546001600160a01b03199081166001600160a01b0393841617909155601380549091169183169190911790556001600b6000620003056000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff19958616179055308152600b909252812080549092166001908117909255600c906200035e6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055308152600c845282812080548616600190811790915560145490921681529182208054909416179092556002600f819055600860118190556010849055620003f99392620003e592919062000f22620004bd821b17901c565b620004bd60201b62000f221790919060201c565b600d819055506200041d601154600f54620004bd60201b62000f221790919060201c565b600e55600554620004339060ff16600a6200065f565b620004429062030d406200072b565b601555600554620004589060ff16600a6200065f565b6200046890633b9aca006200072b565b60125560065433600081815260096020908152604080832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350620007a0565b600080620004cc8385620005fb565b905083811015620005235760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390fd5b90505b92915050565b8280546200053a906200074d565b90600052602060002090601f0160209004810192826200055e5760008555620005a9565b82601f106200057957805160ff1916838001178555620005a9565b82800160010185558215620005a9579182015b82811115620005a95782518255916020019190600101906200058c565b50620005b7929150620005bb565b5090565b5b80821115620005b75760008155600101620005bc565b600060208284031215620005e4578081fd5b81516001600160a01b038116811462000523578182fd5b600082198211156200061157620006116200078a565b500190565b600181815b80851115620006575781600019048211156200063b576200063b6200078a565b808516156200064957918102915b93841c93908002906200061b565b509250929050565b60006200067060ff84168362000677565b9392505050565b600082620006885750600162000526565b81620006975750600062000526565b8160018114620006b05760028114620006bb57620006db565b600191505062000526565b60ff841115620006cf57620006cf6200078a565b50506001821b62000526565b5060208310610133831016604e8410600b841016171562000700575081810a62000526565b6200070c838362000616565b80600019048211156200072357620007236200078a565b029392505050565b60008160001904831182151516156200074857620007486200078a565b500290565b600181811c908216806200076257607f821691505b602082108114156200078457634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b61207880620007b06000396000f3fe6080604052600436106102345760003560e01c806370a082311161012e578063a457c2d7116100ab578063e5148bd61161006f578063e5148bd6146106cb578063e57f14e1146106eb578063e83e34b11461070b578063f2fde38b1461071f578063fce589d81461073f57600080fd5b8063a457c2d714610605578063a5ece94114610625578063a9059cbb14610645578063cea2695814610665578063dd62ed3e1461068557600080fd5b8063906e9dd0116100f2578063906e9dd01461057b57806395d89b411461059b57806398118cb4146105b05780639b3d39b0146105c55780639d51d9b7146105e557600080fd5b806370a08231146104dd578063715018a61461051357806373ad468a146105285780638da5cb5b1461053d5780638ee88c531461055b57600080fd5b80632b151cfe116101bc57806349bd5a5e1161018057806349bd5a5e1461043a5780634fbee1931461045a5780635e8bc4bc146104935780635eb10c94146104a85780636b67c4df146104c857600080fd5b80632b151cfe146103985780632b9a9ca3146103b8578063313ce567146103d857806339509351146103fa578063457c194c1461041a57600080fd5b806316a2f82a1161020357806316a2f82a146102f257806318160ddd14610314578063181cec1c1461032957806323b872dd1461036257806327c8f8351461038257600080fd5b806306fdde0314610240578063095ea7b31461026b57806313114a9d1461029b5780631694505e146102ba57600080fd5b3661023b57005b600080fd5b34801561024c57600080fd5b50610255610754565b6040516102629190611d78565b60405180910390f35b34801561027757600080fd5b5061028b610286366004611cd0565b6107e6565b6040519015158152602001610262565b3480156102a757600080fd5b50600d545b604051908152602001610262565b3480156102c657600080fd5b506013546102da906001600160a01b031681565b6040516001600160a01b039091168152602001610262565b3480156102fe57600080fd5b5061031261030d366004611c20565b6107fd565b005b34801561032057600080fd5b506006546102ac565b34801561033557600080fd5b5061028b610344366004611c20565b6001600160a01b03166000908152600c602052604090205460ff1690565b34801561036e57600080fd5b5061028b61037d366004611c90565b610851565b34801561038e57600080fd5b506102da61dead81565b3480156103a457600080fd5b506103126103b3366004611c20565b6108ba565b3480156103c457600080fd5b506103126103d3366004611d1b565b610908565b3480156103e457600080fd5b5060055460405160ff9091168152602001610262565b34801561040657600080fd5b5061028b610415366004611cd0565b610937565b34801561042657600080fd5b50610312610435366004611d1b565b61096d565b34801561044657600080fd5b506014546102da906001600160a01b031681565b34801561046657600080fd5b5061028b610475366004611c20565b6001600160a01b03166000908152600b602052604090205460ff1690565b34801561049f57600080fd5b506015546102ac565b3480156104b457600080fd5b506103126104c3366004611c20565b610a4c565b3480156104d457600080fd5b506011546102ac565b3480156104e957600080fd5b506102ac6104f8366004611c20565b6001600160a01b031660009081526009602052604090205490565b34801561051f57600080fd5b50610312610a97565b34801561053457600080fd5b506012546102ac565b34801561054957600080fd5b506000546001600160a01b03166102da565b34801561056757600080fd5b50610312610576366004611d1b565b610b0b565b34801561058757600080fd5b50610312610596366004611c20565b610c3e565b3480156105a757600080fd5b50610255610c8a565b3480156105bc57600080fd5b50600f546102ac565b3480156105d157600080fd5b506103126105e0366004611c20565b610c99565b3480156105f157600080fd5b50610312610600366004611d1b565b610ce5565b34801561061157600080fd5b5061028b610620366004611cd0565b610d14565b34801561063157600080fd5b506007546102da906001600160a01b031681565b34801561065157600080fd5b5061028b610660366004611cd0565b610d63565b34801561067157600080fd5b50610312610680366004611d1b565b610d70565b34801561069157600080fd5b506102ac6106a0366004611c58565b6001600160a01b039182166000908152600a6020908152604080832093909416825291909152205490565b3480156106d757600080fd5b506008546102da906001600160a01b031681565b3480156106f757600080fd5b50610312610706366004611c20565b610dea565b34801561071757600080fd5b50600f6102ac565b34801561072b57600080fd5b5061031261073a366004611c20565b610e38565b34801561074b57600080fd5b506010546102ac565b60606003805461076390611f66565b80601f016020809104026020016040519081016040528092919081815260200182805461078f90611f66565b80156107dc5780601f106107b1576101008083540402835291602001916107dc565b820191906000526020600020905b8154815290600101906020018083116107bf57829003601f168201915b5050505050905090565b60006107f3338484610f88565b5060015b92915050565b6000546001600160a01b031633146108305760405162461bcd60e51b815260040161082790611e0e565b60405180910390fd5b6001600160a01b03166000908152600b60205260409020805460ff19169055565b600061085e8484846110ad565b6108b084336108ab85604051806060016040528060288152602001611ff6602891396001600160a01b038a166000908152600a6020908152604080832033845290915290205491906113ca565b610f88565b5060019392505050565b6000546001600160a01b031633146108e45760405162461bcd60e51b815260040161082790611e0e565b6001600160a01b03166000908152600c60205260409020805460ff19166001179055565b6000546001600160a01b031633146109325760405162461bcd60e51b815260040161082790611e0e565b601555565b336000818152600a602090815260408083206001600160a01b038716845290915281205490916107f39185906108ab9086610f22565b6000546001600160a01b031633146109975760405162461bcd60e51b815260040161082790611e0e565b60165460ff16156109dd5760405162461bcd60e51b815260206004820152601060248201526f696e53776170416e644c69717569667960801b6044820152606401610827565b6011819055601054600f546109fd91906109f79084610f22565b90610f22565b600d55601154600f54610a0f91610f22565b600e556011546040519081527f11792e2e76dd20b61339ffd931c063e7b4f828123d6d257c8d0668279e69c766906020015b60405180910390a150565b6000546001600160a01b03163314610a765760405162461bcd60e51b815260040161082790611e0e565b6001600160a01b03166000908152600c60205260409020805460ff19169055565b6000546001600160a01b03163314610ac15760405162461bcd60e51b815260040161082790611e0e565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610b355760405162461bcd60e51b815260040161082790611e0e565b60165460ff1615610b7b5760405162461bcd60e51b815260206004820152601060248201526f696e53776170416e644c69717569667960801b6044820152606401610827565b600f610b986011546109f760105485610f2290919063ffffffff16565b1115610bdb5760405162461bcd60e51b81526020600482015260126024820152712332b2b99030b932903a37b7903434b3b41760711b6044820152606401610827565b600f819055601054601154610bf691906109f7908490610f22565b600d55601154600f54610c0891610f22565b600e55600f546040519081527f9715f273db467af4f604be854ced5f63c93d0132583300aef64376e17685b52d90602001610a41565b6000546001600160a01b03163314610c685760405162461bcd60e51b815260040161082790611e0e565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b60606004805461076390611f66565b6000546001600160a01b03163314610cc35760405162461bcd60e51b815260040161082790611e0e565b600880546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610d0f5760405162461bcd60e51b815260040161082790611e0e565b601255565b60006107f333846108ab8560405180606001604052806025815260200161201e60259139336000908152600a602090815260408083206001600160a01b038d16845290915290205491906113ca565b60006107f33384846110ad565b6000546001600160a01b03163314610d9a5760405162461bcd60e51b815260040161082790611e0e565b6010819055601154600f54610db49183916109f791610f22565b600d556010546040519081527f0476fcc77110b6ac2d8f2dd346f80d2c5cda54dae5c6ddd6f82b603a4d9b9dc990602001610a41565b6000546001600160a01b03163314610e145760405162461bcd60e51b815260040161082790611e0e565b6001600160a01b03166000908152600b60205260409020805460ff19166001179055565b6000546001600160a01b03163314610e625760405162461bcd60e51b815260040161082790611e0e565b6001600160a01b038116610ec75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610827565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600080610f2f8385611ef8565b905083811015610f815760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610827565b9392505050565b6001600160a01b038316610fea5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610827565b6001600160a01b03821661104b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610827565b6001600160a01b038381166000818152600a602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166110d35760405162461bcd60e51b815260040161082790611e43565b6001600160a01b0382166110f95760405162461bcd60e51b815260040161082790611dcb565b6000811161115b5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610827565b6000546001600160a01b0384811691161480159061118757506000546001600160a01b03838116911614155b80156111ac57506001600160a01b0382166000908152600c602052604090205460ff16155b15611225576012546111d7826109f7856001600160a01b031660009081526009602052604090205490565b11156112255760405162461bcd60e51b815260206004820152601760248201527f4d61782042616c616e636520697320726561636865642e0000000000000000006044820152606401610827565b6014546001600160a01b038381169116148015611245575060165460ff16155b801561126257506015543060009081526009602052604090205410155b801561127057506000600e54115b801561128a57506000546001600160a01b03848116911614155b80156112a457506000546001600160a01b03838116911614155b156112b1576112b1611404565b6001600160a01b0383166000908152600b602052604090205460ff16806112f057506001600160a01b0382166000908152600b602052604090205460ff165b1580156112ff57506000600d54115b156113ba5760006113266064611320600e548561149890919063ffffffff16565b90611517565b9050600061134460646113206010548661149890919063ffffffff16565b905061135a6113538383610f22565b8490611559565b925061136785308461159b565b6113748561dead8361159b565b846001600160a01b03167fab85194d35c4ea153d0b51f3a304d1d22cb8023e499a6503fb6c28c5864ae90e826040516113af91815260200190565b60405180910390a250505b6113c583838361159b565b505050565b600081848411156113ee5760405162461bcd60e51b81526004016108279190611d78565b5060006113fb8486611f4f565b95945050505050565b6016805460ff19166001179055600e54600f546000916114479161132090611441306001600160a01b031660009081526009602052604090205490565b90611498565b90506000611476600e54611320601154611441306001600160a01b031660009081526009602052604090205490565b9050611481826116a7565b61148a816116ed565b50506016805460ff19169055565b6000826114a7575060006107f7565b60006114b38385611f30565b9050826114c08583611f10565b14610f815760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610827565b6000610f8183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611800565b6000610f8183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113ca565b6001600160a01b0383166115c15760405162461bcd60e51b815260040161082790611e43565b6001600160a01b0382166115e75760405162461bcd60e51b815260040161082790611dcb565b61162481604051806060016040528060268152602001611fd0602691396001600160a01b03861660009081526009602052604090205491906113ca565b6001600160a01b0380851660009081526009602052604080822093909355908416815220546116539082610f22565b6001600160a01b0380841660008181526009602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110a09085815260200190565b60006116b4826002611517565b905060006116c28383611559565b9050476116ce8361182e565b60006116da4783611559565b90506116e683826119b3565b5050505050565b6116f681611a90565b6008546007546040516370a0823160e01b81523060048201526001600160a01b039283169263a9059cbb92169083906370a082319060240160206040518083038186803b15801561174657600080fd5b505afa15801561175a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061177e9190611d33565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b1580156117c457600080fd5b505af11580156117d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117fc9190611cfb565b5050565b600081836118215760405162461bcd60e51b81526004016108279190611d78565b5060006113fb8486611f10565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061187157634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156118c557600080fd5b505afa1580156118d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fd9190611c3c565b8160018151811061191e57634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101526013546119449130911684610f88565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac9479061197d908590600090869030904290600401611e88565b600060405180830381600087803b15801561199757600080fd5b505af11580156119ab573d6000803e3d6000fd5b505050505050565b6013546119cb9030906001600160a01b031684610f88565b6013546001600160a01b031663f305d7198230856000806119f46000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b158015611a5757600080fd5b505af1158015611a6b573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906116e69190611d4b565b60408051600380825260808201909252600091602082016060803683370190505090503081600081518110611ad557634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015611b2957600080fd5b505afa158015611b3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b619190611c3c565b81600181518110611b8257634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152600854825191169082906002908110611bc157634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152601354611be79130911684610f88565b601354604051635c11d79560e01b81526001600160a01b0390911690635c11d7959061197d908590600090869030904290600401611e88565b600060208284031215611c31578081fd5b8135610f8181611fb7565b600060208284031215611c4d578081fd5b8151610f8181611fb7565b60008060408385031215611c6a578081fd5b8235611c7581611fb7565b91506020830135611c8581611fb7565b809150509250929050565b600080600060608486031215611ca4578081fd5b8335611caf81611fb7565b92506020840135611cbf81611fb7565b929592945050506040919091013590565b60008060408385031215611ce2578182fd5b8235611ced81611fb7565b946020939093013593505050565b600060208284031215611d0c578081fd5b81518015158114610f81578182fd5b600060208284031215611d2c578081fd5b5035919050565b600060208284031215611d44578081fd5b5051919050565b600080600060608486031215611d5f578283fd5b8351925060208401519150604084015190509250925092565b6000602080835283518082850152825b81811015611da457858101830151858201604001528201611d88565b81811115611db55783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b81811015611ed75784516001600160a01b031683529383019391830191600101611eb2565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611f0b57611f0b611fa1565b500190565b600082611f2b57634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615611f4a57611f4a611fa1565b500290565b600082821015611f6157611f61611fa1565b500390565b600181811c90821680611f7a57607f821691505b60208210811415611f9b57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0381168114611fcc57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122046975015a00e28a4f16c3232c0cc78d557b52c038399235b7680f2de8c1bb50f64736f6c63430008040033
Deployed Bytecode
0x6080604052600436106102345760003560e01c806370a082311161012e578063a457c2d7116100ab578063e5148bd61161006f578063e5148bd6146106cb578063e57f14e1146106eb578063e83e34b11461070b578063f2fde38b1461071f578063fce589d81461073f57600080fd5b8063a457c2d714610605578063a5ece94114610625578063a9059cbb14610645578063cea2695814610665578063dd62ed3e1461068557600080fd5b8063906e9dd0116100f2578063906e9dd01461057b57806395d89b411461059b57806398118cb4146105b05780639b3d39b0146105c55780639d51d9b7146105e557600080fd5b806370a08231146104dd578063715018a61461051357806373ad468a146105285780638da5cb5b1461053d5780638ee88c531461055b57600080fd5b80632b151cfe116101bc57806349bd5a5e1161018057806349bd5a5e1461043a5780634fbee1931461045a5780635e8bc4bc146104935780635eb10c94146104a85780636b67c4df146104c857600080fd5b80632b151cfe146103985780632b9a9ca3146103b8578063313ce567146103d857806339509351146103fa578063457c194c1461041a57600080fd5b806316a2f82a1161020357806316a2f82a146102f257806318160ddd14610314578063181cec1c1461032957806323b872dd1461036257806327c8f8351461038257600080fd5b806306fdde0314610240578063095ea7b31461026b57806313114a9d1461029b5780631694505e146102ba57600080fd5b3661023b57005b600080fd5b34801561024c57600080fd5b50610255610754565b6040516102629190611d78565b60405180910390f35b34801561027757600080fd5b5061028b610286366004611cd0565b6107e6565b6040519015158152602001610262565b3480156102a757600080fd5b50600d545b604051908152602001610262565b3480156102c657600080fd5b506013546102da906001600160a01b031681565b6040516001600160a01b039091168152602001610262565b3480156102fe57600080fd5b5061031261030d366004611c20565b6107fd565b005b34801561032057600080fd5b506006546102ac565b34801561033557600080fd5b5061028b610344366004611c20565b6001600160a01b03166000908152600c602052604090205460ff1690565b34801561036e57600080fd5b5061028b61037d366004611c90565b610851565b34801561038e57600080fd5b506102da61dead81565b3480156103a457600080fd5b506103126103b3366004611c20565b6108ba565b3480156103c457600080fd5b506103126103d3366004611d1b565b610908565b3480156103e457600080fd5b5060055460405160ff9091168152602001610262565b34801561040657600080fd5b5061028b610415366004611cd0565b610937565b34801561042657600080fd5b50610312610435366004611d1b565b61096d565b34801561044657600080fd5b506014546102da906001600160a01b031681565b34801561046657600080fd5b5061028b610475366004611c20565b6001600160a01b03166000908152600b602052604090205460ff1690565b34801561049f57600080fd5b506015546102ac565b3480156104b457600080fd5b506103126104c3366004611c20565b610a4c565b3480156104d457600080fd5b506011546102ac565b3480156104e957600080fd5b506102ac6104f8366004611c20565b6001600160a01b031660009081526009602052604090205490565b34801561051f57600080fd5b50610312610a97565b34801561053457600080fd5b506012546102ac565b34801561054957600080fd5b506000546001600160a01b03166102da565b34801561056757600080fd5b50610312610576366004611d1b565b610b0b565b34801561058757600080fd5b50610312610596366004611c20565b610c3e565b3480156105a757600080fd5b50610255610c8a565b3480156105bc57600080fd5b50600f546102ac565b3480156105d157600080fd5b506103126105e0366004611c20565b610c99565b3480156105f157600080fd5b50610312610600366004611d1b565b610ce5565b34801561061157600080fd5b5061028b610620366004611cd0565b610d14565b34801561063157600080fd5b506007546102da906001600160a01b031681565b34801561065157600080fd5b5061028b610660366004611cd0565b610d63565b34801561067157600080fd5b50610312610680366004611d1b565b610d70565b34801561069157600080fd5b506102ac6106a0366004611c58565b6001600160a01b039182166000908152600a6020908152604080832093909416825291909152205490565b3480156106d757600080fd5b506008546102da906001600160a01b031681565b3480156106f757600080fd5b50610312610706366004611c20565b610dea565b34801561071757600080fd5b50600f6102ac565b34801561072b57600080fd5b5061031261073a366004611c20565b610e38565b34801561074b57600080fd5b506010546102ac565b60606003805461076390611f66565b80601f016020809104026020016040519081016040528092919081815260200182805461078f90611f66565b80156107dc5780601f106107b1576101008083540402835291602001916107dc565b820191906000526020600020905b8154815290600101906020018083116107bf57829003601f168201915b5050505050905090565b60006107f3338484610f88565b5060015b92915050565b6000546001600160a01b031633146108305760405162461bcd60e51b815260040161082790611e0e565b60405180910390fd5b6001600160a01b03166000908152600b60205260409020805460ff19169055565b600061085e8484846110ad565b6108b084336108ab85604051806060016040528060288152602001611ff6602891396001600160a01b038a166000908152600a6020908152604080832033845290915290205491906113ca565b610f88565b5060019392505050565b6000546001600160a01b031633146108e45760405162461bcd60e51b815260040161082790611e0e565b6001600160a01b03166000908152600c60205260409020805460ff19166001179055565b6000546001600160a01b031633146109325760405162461bcd60e51b815260040161082790611e0e565b601555565b336000818152600a602090815260408083206001600160a01b038716845290915281205490916107f39185906108ab9086610f22565b6000546001600160a01b031633146109975760405162461bcd60e51b815260040161082790611e0e565b60165460ff16156109dd5760405162461bcd60e51b815260206004820152601060248201526f696e53776170416e644c69717569667960801b6044820152606401610827565b6011819055601054600f546109fd91906109f79084610f22565b90610f22565b600d55601154600f54610a0f91610f22565b600e556011546040519081527f11792e2e76dd20b61339ffd931c063e7b4f828123d6d257c8d0668279e69c766906020015b60405180910390a150565b6000546001600160a01b03163314610a765760405162461bcd60e51b815260040161082790611e0e565b6001600160a01b03166000908152600c60205260409020805460ff19169055565b6000546001600160a01b03163314610ac15760405162461bcd60e51b815260040161082790611e0e565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610b355760405162461bcd60e51b815260040161082790611e0e565b60165460ff1615610b7b5760405162461bcd60e51b815260206004820152601060248201526f696e53776170416e644c69717569667960801b6044820152606401610827565b600f610b986011546109f760105485610f2290919063ffffffff16565b1115610bdb5760405162461bcd60e51b81526020600482015260126024820152712332b2b99030b932903a37b7903434b3b41760711b6044820152606401610827565b600f819055601054601154610bf691906109f7908490610f22565b600d55601154600f54610c0891610f22565b600e55600f546040519081527f9715f273db467af4f604be854ced5f63c93d0132583300aef64376e17685b52d90602001610a41565b6000546001600160a01b03163314610c685760405162461bcd60e51b815260040161082790611e0e565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b60606004805461076390611f66565b6000546001600160a01b03163314610cc35760405162461bcd60e51b815260040161082790611e0e565b600880546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610d0f5760405162461bcd60e51b815260040161082790611e0e565b601255565b60006107f333846108ab8560405180606001604052806025815260200161201e60259139336000908152600a602090815260408083206001600160a01b038d16845290915290205491906113ca565b60006107f33384846110ad565b6000546001600160a01b03163314610d9a5760405162461bcd60e51b815260040161082790611e0e565b6010819055601154600f54610db49183916109f791610f22565b600d556010546040519081527f0476fcc77110b6ac2d8f2dd346f80d2c5cda54dae5c6ddd6f82b603a4d9b9dc990602001610a41565b6000546001600160a01b03163314610e145760405162461bcd60e51b815260040161082790611e0e565b6001600160a01b03166000908152600b60205260409020805460ff19166001179055565b6000546001600160a01b03163314610e625760405162461bcd60e51b815260040161082790611e0e565b6001600160a01b038116610ec75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610827565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600080610f2f8385611ef8565b905083811015610f815760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610827565b9392505050565b6001600160a01b038316610fea5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610827565b6001600160a01b03821661104b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610827565b6001600160a01b038381166000818152600a602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166110d35760405162461bcd60e51b815260040161082790611e43565b6001600160a01b0382166110f95760405162461bcd60e51b815260040161082790611dcb565b6000811161115b5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610827565b6000546001600160a01b0384811691161480159061118757506000546001600160a01b03838116911614155b80156111ac57506001600160a01b0382166000908152600c602052604090205460ff16155b15611225576012546111d7826109f7856001600160a01b031660009081526009602052604090205490565b11156112255760405162461bcd60e51b815260206004820152601760248201527f4d61782042616c616e636520697320726561636865642e0000000000000000006044820152606401610827565b6014546001600160a01b038381169116148015611245575060165460ff16155b801561126257506015543060009081526009602052604090205410155b801561127057506000600e54115b801561128a57506000546001600160a01b03848116911614155b80156112a457506000546001600160a01b03838116911614155b156112b1576112b1611404565b6001600160a01b0383166000908152600b602052604090205460ff16806112f057506001600160a01b0382166000908152600b602052604090205460ff165b1580156112ff57506000600d54115b156113ba5760006113266064611320600e548561149890919063ffffffff16565b90611517565b9050600061134460646113206010548661149890919063ffffffff16565b905061135a6113538383610f22565b8490611559565b925061136785308461159b565b6113748561dead8361159b565b846001600160a01b03167fab85194d35c4ea153d0b51f3a304d1d22cb8023e499a6503fb6c28c5864ae90e826040516113af91815260200190565b60405180910390a250505b6113c583838361159b565b505050565b600081848411156113ee5760405162461bcd60e51b81526004016108279190611d78565b5060006113fb8486611f4f565b95945050505050565b6016805460ff19166001179055600e54600f546000916114479161132090611441306001600160a01b031660009081526009602052604090205490565b90611498565b90506000611476600e54611320601154611441306001600160a01b031660009081526009602052604090205490565b9050611481826116a7565b61148a816116ed565b50506016805460ff19169055565b6000826114a7575060006107f7565b60006114b38385611f30565b9050826114c08583611f10565b14610f815760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610827565b6000610f8183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611800565b6000610f8183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113ca565b6001600160a01b0383166115c15760405162461bcd60e51b815260040161082790611e43565b6001600160a01b0382166115e75760405162461bcd60e51b815260040161082790611dcb565b61162481604051806060016040528060268152602001611fd0602691396001600160a01b03861660009081526009602052604090205491906113ca565b6001600160a01b0380851660009081526009602052604080822093909355908416815220546116539082610f22565b6001600160a01b0380841660008181526009602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110a09085815260200190565b60006116b4826002611517565b905060006116c28383611559565b9050476116ce8361182e565b60006116da4783611559565b90506116e683826119b3565b5050505050565b6116f681611a90565b6008546007546040516370a0823160e01b81523060048201526001600160a01b039283169263a9059cbb92169083906370a082319060240160206040518083038186803b15801561174657600080fd5b505afa15801561175a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061177e9190611d33565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b1580156117c457600080fd5b505af11580156117d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117fc9190611cfb565b5050565b600081836118215760405162461bcd60e51b81526004016108279190611d78565b5060006113fb8486611f10565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061187157634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156118c557600080fd5b505afa1580156118d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fd9190611c3c565b8160018151811061191e57634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101526013546119449130911684610f88565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac9479061197d908590600090869030904290600401611e88565b600060405180830381600087803b15801561199757600080fd5b505af11580156119ab573d6000803e3d6000fd5b505050505050565b6013546119cb9030906001600160a01b031684610f88565b6013546001600160a01b031663f305d7198230856000806119f46000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b158015611a5757600080fd5b505af1158015611a6b573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906116e69190611d4b565b60408051600380825260808201909252600091602082016060803683370190505090503081600081518110611ad557634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015611b2957600080fd5b505afa158015611b3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b619190611c3c565b81600181518110611b8257634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152600854825191169082906002908110611bc157634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152601354611be79130911684610f88565b601354604051635c11d79560e01b81526001600160a01b0390911690635c11d7959061197d908590600090869030904290600401611e88565b600060208284031215611c31578081fd5b8135610f8181611fb7565b600060208284031215611c4d578081fd5b8151610f8181611fb7565b60008060408385031215611c6a578081fd5b8235611c7581611fb7565b91506020830135611c8581611fb7565b809150509250929050565b600080600060608486031215611ca4578081fd5b8335611caf81611fb7565b92506020840135611cbf81611fb7565b929592945050506040919091013590565b60008060408385031215611ce2578182fd5b8235611ced81611fb7565b946020939093013593505050565b600060208284031215611d0c578081fd5b81518015158114610f81578182fd5b600060208284031215611d2c578081fd5b5035919050565b600060208284031215611d44578081fd5b5051919050565b600080600060608486031215611d5f578283fd5b8351925060208401519150604084015190509250925092565b6000602080835283518082850152825b81811015611da457858101830151858201604001528201611d88565b81811115611db55783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b81811015611ed75784516001600160a01b031683529383019391830191600101611eb2565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611f0b57611f0b611fa1565b500190565b600082611f2b57634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615611f4a57611f4a611fa1565b500290565b600082821015611f6157611f61611fa1565b500390565b600181811c90821680611f7a57607f821691505b60208210811415611f9b57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0381168114611fcc57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122046975015a00e28a4f16c3232c0cc78d557b52c038399235b7680f2de8c1bb50f64736f6c63430008040033
Deployed Bytecode Sourcemap
14858:13188:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17525:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18363:161;;;;;;;;;;-1:-1:-1;18363:161:0;;;;;:::i;:::-;;:::i;:::-;;;4529:14:1;;4522:22;4504:41;;4492:2;4477:18;18363:161:0;4459:92:1;22215:87:0;;;;;;;;;;-1:-1:-1;22284:10:0;;22215:87;;;10143:25:1;;;10131:2;10116:18;22215:87:0;10098:76:1;16164:41:0;;;;;;;;;;-1:-1:-1;16164:41:0;;;;-1:-1:-1;;;;;16164:41:0;;;;;;-1:-1:-1;;;;;3197:32:1;;;3179:51;;3167:2;3152:18;16164:41:0;3134:102:1;21677:112:0;;;;;;;;;;-1:-1:-1;21677:112:0;;;;;:::i;:::-;;:::i;:::-;;17802:100;;;;;;;;;;-1:-1:-1;17882:12:0;;17802:100;;21797:137;;;;;;;;;;-1:-1:-1;21797:137:0;;;;;:::i;:::-;-1:-1:-1;;;;;21892:34:0;21868:4;21892:34;;;:25;:34;;;;;;;;;21797:137;18532:313;;;;;;;;;;-1:-1:-1;18532:313:0;;;;;:::i;:::-;;:::i;15548:80::-;;;;;;;;;;;;15586:42;15548:80;;21946:125;;;;;;;;;;-1:-1:-1;21946:125:0;;;;;:::i;:::-;;:::i;20931:141::-;;;;;;;;;;-1:-1:-1;20931:141:0;;;;;:::i;:::-;;:::i;17711:83::-;;;;;;;;;;-1:-1:-1;17777:9:0;;17711:83;;17777:9;;;;11309:36:1;;11297:2;11282:18;17711:83:0;11264:87:1;18853:218:0;;;;;;;;;;-1:-1:-1;18853:218:0;;;;;:::i;:::-;;:::i;20330:367::-;;;;;;;;;;-1:-1:-1;20330:367:0;;;;;:::i;:::-;;:::i;16212:28::-;;;;;;;;;;-1:-1:-1;16212:28:0;;;;-1:-1:-1;;;;;16212:28:0;;;21415:125;;;;;;;;;;-1:-1:-1;21415:125:0;;;;;:::i;:::-;-1:-1:-1;;;;;21504:28:0;21480:4;21504:28;;;:19;:28;;;;;;;;;21415:125;22694:101;;;;;;;;;;-1:-1:-1;22769:18:0;;22694:101;;22083:124;;;;;;;;;;-1:-1:-1;22083:124:0;;;;;:::i;:::-;;:::i;22411:93::-;;;;;;;;;;-1:-1:-1;22483:13:0;;22411:93;;17910:119;;;;;;;;;;-1:-1:-1;17910:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;18003:18:0;17976:7;18003:18;;;:9;:18;;;;;;;17910:119;6526:148;;;;;;;;;;;;;:::i;22803:89::-;;;;;;;;;;-1:-1:-1;22873:11:0;;22803:89;;6301:79;;;;;;;;;;-1:-1:-1;6339:7:0;6366:6;-1:-1:-1;;;;;6366:6:0;6301:79;;19853:469;;;;;;;;;;-1:-1:-1;19853:469:0;;;;;:::i;:::-;;:::i;19701:144::-;;;;;;;;;;-1:-1:-1;19701:144:0;;;;;:::i;:::-;;:::i;17616:87::-;;;;;;;;;;;;;:::i;22310:93::-;;;;;;;;;;-1:-1:-1;22382:13:0;;22310:93;;21083:147;;;;;;;;;;-1:-1:-1;21083:147:0;;;;;:::i;:::-;;:::i;21238:169::-;;;;;;;;;;-1:-1:-1;21238:169:0;;;;;:::i;:::-;;:::i;19079:269::-;;;;;;;;;;-1:-1:-1;19079:269:0;;;;;:::i;:::-;;:::i;15361:93::-;;;;;;;;;;-1:-1:-1;15361:93:0;;;;-1:-1:-1;;;;;15361:93:0;;;18037:167;;;;;;;;;;-1:-1:-1;18037:167:0;;;;;:::i;:::-;;:::i;20705:214::-;;;;;;;;;;-1:-1:-1;20705:214:0;;;;;:::i;:::-;;:::i;18212:143::-;;;;;;;;;;-1:-1:-1;18212:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;18320:18:0;;;18293:7;18320:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;18212:143;15461:80;;;;;;;;;;-1:-1:-1;15461:80:0;;;;-1:-1:-1;;;;;15461:80:0;;;21552:113;;;;;;;;;;-1:-1:-1;21552:113:0;;;;;:::i;:::-;;:::i;22603:83::-;;;;;;;;;;-1:-1:-1;15934:2:0;22603:83;;6682:244;;;;;;;;;;-1:-1:-1;6682:244:0;;;;;:::i;:::-;;:::i;22512:83::-;;;;;;;;;;-1:-1:-1;22579:8:0;;22512:83;;17525;17562:13;17595:5;17588:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17525:83;:::o;18363:161::-;18438:4;18455:39;824:10;18478:7;18487:6;18455:8;:39::i;:::-;-1:-1:-1;18512:4:0;18363:161;;;;;:::o;21677:112::-;6435:6;;-1:-1:-1;;;;;6435:6:0;824:10;6435:22;6427:67;;;;-1:-1:-1;;;6427:67:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;21745:28:0::1;21776:5;21745:28:::0;;;:19:::1;:28;::::0;;;;:36;;-1:-1:-1;;21745:36:0::1;::::0;;21677:112::o;18532:313::-;18630:4;18647:36;18657:6;18665:9;18676:6;18647:9;:36::i;:::-;18694:121;18703:6;824:10;18725:89;18763:6;18725:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18725:19:0;;;;;;:11;:19;;;;;;;;824:10;18725:33;;;;;;;;;;:37;:89::i;:::-;18694:8;:121::i;:::-;-1:-1:-1;18833:4:0;18532:313;;;;;:::o;21946:125::-;6435:6;;-1:-1:-1;;;;;6435:6:0;824:10;6435:22;6427:67;;;;-1:-1:-1;;;6427:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;22022:34:0::1;;::::0;;;:25:::1;:34;::::0;;;;:41;;-1:-1:-1;;22022:41:0::1;22059:4;22022:41;::::0;;21946:125::o;20931:141::-;6435:6;;-1:-1:-1;;;;;6435:6:0;824:10;6435:22;6427:67;;;;-1:-1:-1;;;6427:67:0;;;;;;;:::i;:::-;21023:18:::1;:41:::0;20931:141::o;18853:218::-;824:10;18941:4;18990:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;18990:34:0;;;;;;;;;;18941:4;;18958:83;;18981:7;;18990:50;;19029:10;18990:38;:50::i;20330:367::-;6435:6;;-1:-1:-1;;;;;6435:6:0;824:10;6435:22;6427:67;;;;-1:-1:-1;;;6427:67:0;;;;;;;:::i;:::-;20428:16:::1;::::0;::::1;;20427:17;20419:46;;;::::0;-1:-1:-1;;;20419:46:0;;7171:2:1;20419:46:0::1;::::0;::::1;7153:21:1::0;7210:2;7190:18;;;7183:30;-1:-1:-1;;;7229:18:1;;;7222:46;7285:18;;20419:46:0::1;7143:166:1::0;20419:46:0::1;20476:13;:31:::0;;;20568:8:::1;::::0;20531:13:::1;::::0;:46:::1;::::0;20568:8;20531:32:::1;::::0;20492:15;20531:17:::1;:32::i;:::-;:36:::0;::::1;:46::i;:::-;20518:10;:59:::0;20629:13:::1;::::0;20611::::1;::::0;:32:::1;::::0;:17:::1;:32::i;:::-;20588:20;:55:::0;20675:13:::1;::::0;20659:30:::1;::::0;10143:25:1;;;20659:30:0::1;::::0;10131:2:1;10116:18;20659:30:0::1;;;;;;;;20330:367:::0;:::o;22083:124::-;6435:6;;-1:-1:-1;;;;;6435:6:0;824:10;6435:22;6427:67;;;;-1:-1:-1;;;6427:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;22157:34:0::1;22194:5;22157:34:::0;;;:25:::1;:34;::::0;;;;:42;;-1:-1:-1;;22157:42:0::1;::::0;;22083:124::o;6526:148::-;6435:6;;-1:-1:-1;;;;;6435:6:0;824:10;6435:22;6427:67;;;;-1:-1:-1;;;6427:67:0;;;;;;;:::i;:::-;6633:1:::1;6617:6:::0;;6596:40:::1;::::0;-1:-1:-1;;;;;6617:6:0;;::::1;::::0;6596:40:::1;::::0;6633:1;;6596:40:::1;6664:1;6647:19:::0;;-1:-1:-1;;;;;;6647:19:0::1;::::0;;6526:148::o;19853:469::-;6435:6;;-1:-1:-1;;;;;6435:6:0;824:10;6435:22;6427:67;;;;-1:-1:-1;;;6427:67:0;;;;;;;:::i;:::-;19951:16:::1;::::0;::::1;;19950:17;19942:46;;;::::0;-1:-1:-1;;;19942:46:0;;7171:2:1;19942:46:0::1;::::0;::::1;7153:21:1::0;7210:2;7190:18;;;7183:30;-1:-1:-1;;;7229:18:1;;;7222:46;7285:18;;19942:46:0::1;7143:166:1::0;19942:46:0::1;15934:2;20007:48;20041:13;;20007:29;20027:8;;20007:15;:19;;:29;;;;:::i;:48::-;:60;;19999:91;;;::::0;-1:-1:-1;;;19999:91:0;;7516:2:1;19999:91:0::1;::::0;::::1;7498:21:1::0;7555:2;7535:18;;;7528:30;-1:-1:-1;;;7574:18:1;;;7567:48;7632:18;;19999:91:0::1;7488:168:1::0;19999:91:0::1;20101:13;:31:::0;;;20193:8:::1;::::0;20174:13:::1;::::0;20156:46:::1;::::0;20193:8;20156:32:::1;::::0;20117:15;;20156:17:::1;:32::i;:46::-;20143:10;:59:::0;20254:13:::1;::::0;20236::::1;::::0;:32:::1;::::0;:17:::1;:32::i;:::-;20213:20;:55:::0;20300:13:::1;::::0;20284:30:::1;::::0;10143:25:1;;;20284:30:0::1;::::0;10131:2:1;10116:18;20284:30:0::1;10098:76:1::0;19701:144:0;6435:6;;-1:-1:-1;;;;;6435:6:0;824:10;6435:22;6427:67;;;;-1:-1:-1;;;6427:67:0;;;;;;;:::i;:::-;19799:16:::1;:38:::0;;-1:-1:-1;;;;;;19799:38:0::1;-1:-1:-1::0;;;;;19799:38:0;;;::::1;::::0;;;::::1;::::0;;19701:144::o;17616:87::-;17655:13;17688:7;17681:14;;;;;:::i;21083:147::-;6435:6;;-1:-1:-1;;;;;6435:6:0;824:10;6435:22;6427:67;;;;-1:-1:-1;;;6427:67:0;;;;;;;:::i;:::-;21178:20:::1;:44:::0;;-1:-1:-1;;;;;;21178:44:0::1;-1:-1:-1::0;;;;;21178:44:0;;;::::1;::::0;;;::::1;::::0;;21083:147::o;21238:169::-;6435:6;;-1:-1:-1;;;;;6435:6:0;824:10;6435:22;6427:67;;;;-1:-1:-1;;;6427:67:0;;;;;;;:::i;:::-;21372:11:::1;:27:::0;21238:169::o;19079:269::-;19172:4;19189:129;824:10;19212:7;19221:96;19260:15;19221:96;;;;;;;;;;;;;;;;;824:10;19221:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;19221:34:0;;;;;;;;;;;;:38;:96::i;18037:167::-;18115:4;18132:42;824:10;18156:9;18167:6;18132:9;:42::i;20705:214::-;6435:6;;-1:-1:-1;;;;;6435:6:0;824:10;6435:22;6427:67;;;;-1:-1:-1;;;6427:67:0;;;;;;;:::i;:::-;20784:8:::1;:21:::0;;;20847:13:::1;::::0;20829::::1;::::0;:46:::1;::::0;20795:10;;20829:32:::1;::::0;:17:::1;:32::i;:46::-;20816:10;:59:::0;20902:8:::1;::::0;20891:20:::1;::::0;10143:25:1;;;20891:20:0::1;::::0;10131:2:1;10116:18;20891:20:0::1;10098:76:1::0;21552:113:0;6435:6;;-1:-1:-1;;;;;6435:6:0;824:10;6435:22;6427:67;;;;-1:-1:-1;;;6427:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;21622:28:0::1;;::::0;;;:19:::1;:28;::::0;;;;:35;;-1:-1:-1;;21622:35:0::1;21653:4;21622:35;::::0;;21552:113::o;6682:244::-;6435:6;;-1:-1:-1;;;;;6435:6:0;824:10;6435:22;6427:67;;;;-1:-1:-1;;;6427:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6771:22:0;::::1;6763:73;;;::::0;-1:-1:-1;;;6763:73:0;;6005:2:1;6763:73:0::1;::::0;::::1;5987:21:1::0;6044:2;6024:18;;;6017:30;6083:34;6063:18;;;6056:62;-1:-1:-1;;;6134:18:1;;;6127:36;6180:19;;6763:73:0::1;5977:228:1::0;6763:73:0::1;6873:6;::::0;;6852:38:::1;::::0;-1:-1:-1;;;;;6852:38:0;;::::1;::::0;6873:6;::::1;::::0;6852:38:::1;::::0;::::1;6901:6;:17:::0;;-1:-1:-1;;;;;;6901:17:0::1;-1:-1:-1::0;;;;;6901:17:0;;;::::1;::::0;;;::::1;::::0;;6682:244::o;1675:179::-;1733:7;;1765:5;1769:1;1765;:5;:::i;:::-;1753:17;;1794:1;1789;:6;;1781:46;;;;-1:-1:-1;;;1781:46:0;;6815:2:1;1781:46:0;;;6797:21:1;6854:2;6834:18;;;6827:30;6893:29;6873:18;;;6866:57;6940:18;;1781:46:0;6787:177:1;1781:46:0;1845:1;1675:179;-1:-1:-1;;;1675:179:0:o;19356:337::-;-1:-1:-1;;;;;19449:19:0;;19441:68;;;;-1:-1:-1;;;19441:68:0;;9794:2:1;19441:68:0;;;9776:21:1;9833:2;9813:18;;;9806:30;9872:34;9852:18;;;9845:62;-1:-1:-1;;;9923:18:1;;;9916:34;9967:19;;19441:68:0;9766:226:1;19441:68:0;-1:-1:-1;;;;;19528:21:0;;19520:68;;;;-1:-1:-1;;;19520:68:0;;6412:2:1;19520:68:0;;;6394:21:1;6451:2;6431:18;;;6424:30;6490:34;6470:18;;;6463:62;-1:-1:-1;;;6541:18:1;;;6534:32;6583:19;;19520:68:0;6384:224:1;19520:68:0;-1:-1:-1;;;;;19601:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;19653:32;;10143:25:1;;;19653:32:0;;10116:18:1;19653:32:0;;;;;;;;19356:337;;;:::o;22900:2021::-;-1:-1:-1;;;;;23022:18:0;;23014:68;;;;-1:-1:-1;;;23014:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;23101:16:0;;23093:64;;;;-1:-1:-1;;;23093:64:0;;;;;;;:::i;:::-;23185:1;23176:6;:10;23168:64;;;;-1:-1:-1;;;23168:64:0;;8626:2:1;23168:64:0;;;8608:21:1;8665:2;8645:18;;;8638:30;8704:34;8684:18;;;8677:62;-1:-1:-1;;;8755:18:1;;;8748:39;8804:19;;23168:64:0;8598:231:1;23168:64:0;6339:7;6366:6;-1:-1:-1;;;;;23326:15:0;;;6366:6;;23326:15;;;;:76;;-1:-1:-1;6339:7:0;6366:6;-1:-1:-1;;;;;23389:13:0;;;6366:6;;23389:13;;23326:76;:154;;;;-1:-1:-1;;;;;;23451:29:0;;;;;;:25;:29;;;;;;;;23450:30;23326:154;23309:364;;;23591:11;;23562:25;23580:6;23562:13;23572:2;-1:-1:-1;;;;;18003:18:0;17976:7;18003:18;;;:9;:18;;;;;;;17910:119;23562:25;:40;;23536:125;;;;-1:-1:-1;;;23536:125:0;;9442:2:1;23536:125:0;;;9424:21:1;9481:2;9461:18;;;9454:30;9520:25;9500:18;;;9493:53;9563:18;;23536:125:0;9414:173:1;23536:125:0;23739:13;;-1:-1:-1;;;;;23733:19:0;;;23739:13;;23733:19;:90;;;;-1:-1:-1;23807:16:0;;;;23806:17;23733:90;:206;;;;-1:-1:-1;23921:18:0;;23911:4;17976:7;18003:18;;;:9;:18;;;;;;23893:46;;23733:206;:281;;;;;24013:1;23990:20;;:24;23733:281;:372;;;;-1:-1:-1;6339:7:0;6366:6;-1:-1:-1;;;;;24090:15:0;;;6366:6;;24090:15;;23733:372;:453;;;;-1:-1:-1;6339:7:0;6366:6;-1:-1:-1;;;;;24173:13:0;;;6366:6;;24173:13;;23733:453;23716:576;;;24267:13;:11;:13::i;:::-;-1:-1:-1;;;;;24346:25:0;;;;;;:19;:25;;;;;;;;;:52;;-1:-1:-1;;;;;;24375:23:0;;;;;;:19;:23;;;;;;;;24346:52;24344:55;:86;;;;;24429:1;24416:10;;:14;24344:86;24327:543;;;24468:22;24493:41;24530:3;24493:32;24504:20;;24493:6;:10;;:32;;;;:::i;:::-;:36;;:41::i;:::-;24468:66;;24549:20;24572:29;24597:3;24572:20;24583:8;;24572:6;:10;;:20;;;;:::i;:29::-;24549:52;-1:-1:-1;24636:44:0;24647:32;:14;24549:52;24647:18;:32::i;:::-;24636:6;;:10;:44::i;:::-;24627:53;;24698:50;24712:4;24726;24733:14;24698:13;:50::i;:::-;24763:46;24777:4;15586:42;24796:12;24763:13;:46::i;:::-;24839:4;-1:-1:-1;;;;;24829:29:0;;24845:12;24829:29;;;;10143:25:1;;10131:2;10116:18;;10098:76;24829:29:0;;;;;;;;24327:543;;;24882:31;24896:4;24902:2;24906:6;24882:13;:31::i;:::-;22900:2021;;;:::o;2006:190::-;2092:7;2128:12;2120:6;;;;2112:29;;;;-1:-1:-1;;;2112:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2152:9:0;2164:5;2168:1;2164;:5;:::i;:::-;2152:17;2006:190;-1:-1:-1;;;;;2006:190:0:o;24933:482::-;16356:16;:23;;-1:-1:-1;;16356:23:0;16375:4;16356:23;;;25077:20:::1;::::0;25058:13:::1;::::0;16356:16;;25029:69:::1;::::0;:43:::1;::::0;:24:::1;25047:4;-1:-1:-1::0;;;;;18003:18:0;17976:7;18003:18;;;:9;:18;;;;;;;17910:119;25029:24:::1;:28:::0;::::1;:43::i;:69::-;24997:101;;25109:29;25141:69;25189:20;;25141:43;25170:13;;25141:24;25159:4;-1:-1:-1::0;;;;;18003:18:0;17976:7;18003:18;;;:9;:18;;;;;;;17910:119;25141:69:::1;25109:101;;25273:37;25288:21;25273:14;:37::i;:::-;25367:39;25384:21;25367:16;:39::i;:::-;-1:-1:-1::0;;16402:16:0;:24;;-1:-1:-1;;16402:24:0;;;24933:482::o;2204:248::-;2262:7;2286:6;2282:47;;-1:-1:-1;2316:1:0;2309:8;;2282:47;2341:9;2353:5;2357:1;2353;:5;:::i;:::-;2341:17;-1:-1:-1;2386:1:0;2377:5;2381:1;2341:17;2377:5;:::i;:::-;:10;2369:56;;;;-1:-1:-1;;;2369:56:0;;7863:2:1;2369:56:0;;;7845:21:1;7902:2;7882:18;;;7875:30;7941:34;7921:18;;;7914:62;-1:-1:-1;;;7992:18:1;;;7985:31;8033:19;;2369:56:0;7835:223:1;2462:132:0;2520:7;2547:39;2551:1;2554;2547:39;;;;;;;;;;;;;;;;;:3;:39::i;1862:136::-;1920:7;1947:43;1951:1;1954;1947:43;;;;;;;;;;;;;;;;;:3;:43::i;27569:474::-;-1:-1:-1;;;;;27670:20:0;;27662:70;;;;-1:-1:-1;;;27662:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;27751:23:0;;27743:71;;;;-1:-1:-1;;;27743:71:0;;;;;;;:::i;:::-;27847;27869:6;27847:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;27847:17:0;;;;;;:9;:17;;;;;;;:71;:21;:71::i;:::-;-1:-1:-1;;;;;27827:17:0;;;;;;;:9;:17;;;;;;:91;;;;27952:20;;;;;;;:32;;27977:6;27952:24;:32::i;:::-;-1:-1:-1;;;;;27929:20:0;;;;;;;:9;:20;;;;;;;:55;;;;28000:35;;;;;;;;;;28028:6;10143:25:1;;10131:2;10116:18;;10098:76;25423:449:0;25491:12;25506:13;:6;25517:1;25506:10;:13::i;:::-;25491:28;-1:-1:-1;25530:17:0;25550:16;:6;25491:28;25550:10;:16::i;:::-;25530:36;-1:-1:-1;25636:21:0;25670:22;25687:4;25670:16;:22::i;:::-;25754:18;25775:41;:21;25801:14;25775:25;:41::i;:::-;25754:62;;25829:35;25842:9;25853:10;25829:12;:35::i;:::-;25423:449;;;;;:::o;25880:281::-;25944:35;25972:6;25944:27;:35::i;:::-;26050:20;;26081:16;;26099:53;;-1:-1:-1;;;26099:53:0;;26146:4;26099:53;;;3179:51:1;-1:-1:-1;;;;;26050:20:0;;;;26043:37;;26081:16;;26050:20;;26099:38;;3152:18:1;;26099:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;26043:110;;-1:-1:-1;;;;;;26043:110:0;;;;;;;-1:-1:-1;;;;;3665:32:1;;;26043:110:0;;;3647:51:1;3714:18;;;3707:34;3620:18;;26043:110:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;25880:281;:::o;2602:276::-;2688:7;2723:12;2716:5;2708:28;;;;-1:-1:-1;;;2708:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2747:9:0;2759:5;2763:1;2759;:5;:::i;26169:478::-;26261:16;;;26275:1;26261:16;;;;;;;;26237:21;;26261:16;;;;;;;;;;-1:-1:-1;26261:16:0;26237:40;;26306:4;26288;26293:1;26288:7;;;;;;-1:-1:-1;;;26288:7:0;;;;;;;;;-1:-1:-1;;;;;26288:23:0;;;:7;;;;;;;;;;:23;;;;26332:15;;:22;;;-1:-1:-1;;;26332:22:0;;;;:15;;;;;:20;;:22;;;;;26288:7;;26332:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;26322:4;26327:1;26322:7;;;;;;-1:-1:-1;;;26322:7:0;;;;;;;;;-1:-1:-1;;;;;26322:32:0;;;:7;;;;;;;;;:32;26399:15;;26367:62;;26384:4;;26399:15;26417:11;26367:8;:62::i;:::-;26442:15;;:197;;-1:-1:-1;;;26442:197:0;;-1:-1:-1;;;;;26442:15:0;;;;:66;;:197;;26523:11;;26442:15;;26566:4;;26593;;26613:15;;26442:197;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26169:478;;:::o;27195:366::-;27310:15;;27278:62;;27295:4;;-1:-1:-1;;;;;27310:15:0;27328:11;27278:8;:62::i;:::-;27353:15;;-1:-1:-1;;;;;27353:15:0;:31;27392:9;27425:4;27445:11;27353:15;;27505:7;6339;6366:6;-1:-1:-1;;;;;6366:6:0;;6301:79;27505:7;27353:200;;;;;;-1:-1:-1;;;;;;27353:200:0;;;-1:-1:-1;;;;;4111:15:1;;;27353:200:0;;;4093:34:1;4143:18;;;4136:34;;;;4186:18;;;4179:34;;;;4229:18;;;4222:34;4293:15;;;4272:19;;;4265:44;27527:15:0;4325:19:1;;;4318:35;4027:19;;27353:200:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;26655:532::-;26758:16;;;26772:1;26758:16;;;;;;;;;26734:21;;26758:16;;;;;;;;;;-1:-1:-1;26758:16:0;26734:40;;26803:4;26785;26790:1;26785:7;;;;;;-1:-1:-1;;;26785:7:0;;;;;;;;;-1:-1:-1;;;;;26785:23:0;;;:7;;;;;;;;;;:23;;;;26829:15;;:22;;;-1:-1:-1;;;26829:22:0;;;;:15;;;;;:20;;:22;;;;;26785:7;;26829:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;26819:4;26824:1;26819:7;;;;;;-1:-1:-1;;;26819:7:0;;;;;;;;;-1:-1:-1;;;;;26819:32:0;;;:7;;;;;;;;;:32;26872:20;;26862:7;;26872:20;;;26862:4;;26867:1;;26862:7;;;;-1:-1:-1;;;26862:7:0;;;;;;;;;-1:-1:-1;;;;;26862:30:0;;;:7;;;;;;;;;:30;26937:15;;26905:62;;26922:4;;26937:15;26955:11;26905:8;:62::i;:::-;26980:15;;:199;;-1:-1:-1;;;26980:199:0;;-1:-1:-1;;;;;26980:15:0;;;;:69;;:199;;27064:11;;26980:15;;27106:4;;27133;;27153:15;;26980:199;;;:::i;14:257:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:2;;;147:6;139;132:22;94:2;191:9;178:23;210:31;235:5;210:31;:::i;276:261::-;346:6;399:2;387:9;378:7;374:23;370:32;367:2;;;420:6;412;405:22;367:2;457:9;451:16;476:31;501:5;476:31;:::i;812:398::-;880:6;888;941:2;929:9;920:7;916:23;912:32;909:2;;;962:6;954;947:22;909:2;1006:9;993:23;1025:31;1050:5;1025:31;:::i;:::-;1075:5;-1:-1:-1;1132:2:1;1117:18;;1104:32;1145:33;1104:32;1145:33;:::i;:::-;1197:7;1187:17;;;899:311;;;;;:::o;1215:466::-;1292:6;1300;1308;1361:2;1349:9;1340:7;1336:23;1332:32;1329:2;;;1382:6;1374;1367:22;1329:2;1426:9;1413:23;1445:31;1470:5;1445:31;:::i;:::-;1495:5;-1:-1:-1;1552:2:1;1537:18;;1524:32;1565:33;1524:32;1565:33;:::i;:::-;1319:362;;1617:7;;-1:-1:-1;;;1671:2:1;1656:18;;;;1643:32;;1319:362::o;1686:325::-;1754:6;1762;1815:2;1803:9;1794:7;1790:23;1786:32;1783:2;;;1836:6;1828;1821:22;1783:2;1880:9;1867:23;1899:31;1924:5;1899:31;:::i;:::-;1949:5;2001:2;1986:18;;;;1973:32;;-1:-1:-1;;;1773:238:1:o;2016:297::-;2083:6;2136:2;2124:9;2115:7;2111:23;2107:32;2104:2;;;2157:6;2149;2142:22;2104:2;2194:9;2188:16;2247:5;2240:13;2233:21;2226:5;2223:32;2213:2;;2274:6;2266;2259:22;2318:190;2377:6;2430:2;2418:9;2409:7;2405:23;2401:32;2398:2;;;2451:6;2443;2436:22;2398:2;-1:-1:-1;2479:23:1;;2388:120;-1:-1:-1;2388:120:1:o;2513:194::-;2583:6;2636:2;2624:9;2615:7;2611:23;2607:32;2604:2;;;2657:6;2649;2642:22;2604:2;-1:-1:-1;2685:16:1;;2594:113;-1:-1:-1;2594:113:1:o;2712:316::-;2800:6;2808;2816;2869:2;2857:9;2848:7;2844:23;2840:32;2837:2;;;2890:6;2882;2875:22;2837:2;2924:9;2918:16;2908:26;;2974:2;2963:9;2959:18;2953:25;2943:35;;3018:2;3007:9;3003:18;2997:25;2987:35;;2827:201;;;;;:::o;4791:603::-;4903:4;4932:2;4961;4950:9;4943:21;4993:6;4987:13;5036:6;5031:2;5020:9;5016:18;5009:34;5061:4;5074:140;5088:6;5085:1;5082:13;5074:140;;;5183:14;;;5179:23;;5173:30;5149:17;;;5168:2;5145:26;5138:66;5103:10;;5074:140;;;5232:6;5229:1;5226:13;5223:2;;;5302:4;5297:2;5288:6;5277:9;5273:22;5269:31;5262:45;5223:2;-1:-1:-1;5378:2:1;5357:15;-1:-1:-1;;5353:29:1;5338:45;;;;5385:2;5334:54;;4912:482;-1:-1:-1;;;4912:482:1:o;5399:399::-;5601:2;5583:21;;;5640:2;5620:18;;;5613:30;5679:34;5674:2;5659:18;;5652:62;-1:-1:-1;;;5745:2:1;5730:18;;5723:33;5788:3;5773:19;;5573:225::o;8063:356::-;8265:2;8247:21;;;8284:18;;;8277:30;8343:34;8338:2;8323:18;;8316:62;8410:2;8395:18;;8237:182::o;8834:401::-;9036:2;9018:21;;;9075:2;9055:18;;;9048:30;9114:34;9109:2;9094:18;;9087:62;-1:-1:-1;;;9180:2:1;9165:18;;9158:35;9225:3;9210:19;;9008:227::o;10179:983::-;10441:4;10489:3;10478:9;10474:19;10520:6;10509:9;10502:25;10546:2;10584:6;10579:2;10568:9;10564:18;10557:34;10627:3;10622:2;10611:9;10607:18;10600:31;10651:6;10686;10680:13;10717:6;10709;10702:22;10755:3;10744:9;10740:19;10733:26;;10794:2;10786:6;10782:15;10768:29;;10815:4;10828:195;10842:6;10839:1;10836:13;10828:195;;;10907:13;;-1:-1:-1;;;;;10903:39:1;10891:52;;10998:15;;;;10963:12;;;;10939:1;10857:9;10828:195;;;-1:-1:-1;;;;;;;11079:32:1;;;;11074:2;11059:18;;11052:60;-1:-1:-1;;;11143:3:1;11128:19;11121:35;11040:3;10450:712;-1:-1:-1;;;10450:712:1:o;11356:128::-;11396:3;11427:1;11423:6;11420:1;11417:13;11414:2;;;11433:18;;:::i;:::-;-1:-1:-1;11469:9:1;;11404:80::o;11489:217::-;11529:1;11555;11545:2;;-1:-1:-1;;;11580:31:1;;11634:4;11631:1;11624:15;11662:4;11587:1;11652:15;11545:2;-1:-1:-1;11691:9:1;;11535:171::o;11711:168::-;11751:7;11817:1;11813;11809:6;11805:14;11802:1;11799:21;11794:1;11787:9;11780:17;11776:45;11773:2;;;11824:18;;:::i;:::-;-1:-1:-1;11864:9:1;;11763:116::o;11884:125::-;11924:4;11952:1;11949;11946:8;11943:2;;;11957:18;;:::i;:::-;-1:-1:-1;11994:9:1;;11933:76::o;12014:380::-;12093:1;12089:12;;;;12136;;;12157:2;;12211:4;12203:6;12199:17;12189:27;;12157:2;12264;12256:6;12253:14;12233:18;12230:38;12227:2;;;12310:10;12305:3;12301:20;12298:1;12291:31;12345:4;12342:1;12335:15;12373:4;12370:1;12363:15;12227:2;;12069:325;;;:::o;12399:127::-;12460:10;12455:3;12451:20;12448:1;12441:31;12491:4;12488:1;12481:15;12515:4;12512:1;12505:15;12531:131;-1:-1:-1;;;;;12606:31:1;;12596:42;;12586:2;;12652:1;12649;12642:12;12586:2;12576:86;:::o
Swarm Source
ipfs://46975015a00e28a4f16c3232c0cc78d557b52c038399235b7680f2de8c1bb50f
Loading...
Loading
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
BSC | BNB Chain (BNB) | 100.00% | $708.71 | 0.014 | $9.91 |
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.