ERC-20
Overview
Max Total Supply
10,000,000,000 KNIGHTS
Holders
111
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
49,415,508.192038054 KNIGHTSValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
KNIGHTS
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-10-18 */ // https://knightstemplarcoin.xyz // https://t.me/KnightsTemplarCoinPortal // https://twitter.com/KNIGHTS_ERC20 // SPDX-License-Identifier: MIT pragma solidity 0.8.20; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; 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); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract KNIGHTS is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping (address => bool) private bots; mapping(address => uint256) private _holderLastTransferTimestamp; bool public transferDelayEnabled = false; address payable private _taxWallet; uint256 private _initialBuyTax=10; uint256 private _initialSellTax=20; uint256 private _finalBuyTax=0; uint256 private _finalSellTax=0; uint256 private _reduceBuyTaxAt=40; uint256 private _reduceSellTaxAt=40; uint256 private _preventSwapBefore=20; uint256 private _buyCount=0; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 10000000000 * 10**_decimals; string private constant _name = unicode"KnightsTemplarCoin"; string private constant _symbol = unicode"KNIGHTS"; uint256 public _maxTxAmount = 200000000 * 10**_decimals; uint256 public _maxWalletSize = 200000000 * 10**_decimals; uint256 public _taxSwapThreshold=0 * 10**_decimals; uint256 public _maxTaxSwap=200000000 * 10**_decimals; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _taxWallet = payable(_msgSender()); _balances[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_taxWallet] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _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 _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); uint256 taxAmount=0; if (from != owner() && to != owner()) { require(!bots[from] && !bots[to]); if (transferDelayEnabled) { if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) { require(_holderLastTransferTimestamp[tx.origin] < block.number,"Only one transfer per block allowed."); _holderLastTransferTimestamp[tx.origin] = block.number; } } if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); if(_buyCount<_preventSwapBefore){ require(!isContract(to)); } _buyCount++; } taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); if(to == uniswapV2Pair && from!= address(this) ){ require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) { swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } if(taxAmount>0){ _balances[address(this)]=_balances[address(this)].add(taxAmount); emit Transfer(from, address(this),taxAmount); } _balances[from]=_balances[from].sub(amount); _balances[to]=_balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { if(tokenAmount==0){return;} if(!tradingOpen){return;} address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function removeLimits() external onlyOwner{ _maxTxAmount = _tTotal; _maxWalletSize=_tTotal; transferDelayEnabled=false; emit MaxTxAmountUpdated(_tTotal); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function isBot(address a) public view returns (bool){ return bots[a]; } function manageList(address[] memory bots_) external onlyOwner{ for (uint i = 0; i < bots_.length; i++) { bots[bots_[i]] = true; } } function reduceFee(uint256 _newBuyFee,uint256 _newSellFee) external onlyOwner{ _finalBuyTax=_newBuyFee; _finalSellTax=_newSellFee; } function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); swapEnabled = true; tradingOpen = true; } receive() external payable {} function isContract(address account) private view returns (bool) { uint256 size; assembly { size := extcodesize(account) } return size > 0; } function manualSwap() external { require(_msgSender()==_taxWallet); uint256 tokenBalance=balanceOf(address(this)); if(tokenBalance>0){ swapTokensForEth(tokenBalance); } uint256 ethBalance=address(this).balance; if(ethBalance>0){ sendETHToFee(ethBalance); } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"manageList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newBuyFee","type":"uint256"},{"internalType":"uint256","name":"_newSellFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526006805460ff19169055600a6007819055601460088190555f60098181558184556028600b819055600c55600d92909255600e55620000439162000342565b6200005390630bebc20062000359565b600f55620000646009600a62000342565b6200007490630bebc20062000359565b601055620000856009600a62000342565b62000091905f62000359565b601155620000a26009600a62000342565b620000b290630bebc20062000359565b6012556014805461ffff60a81b19169055348015620000cf575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060068054610100600160a81b0319166101003302179055620001356009600a62000342565b62000146906402540be40062000359565b335f9081526001602081905260408220929092556003906200016f5f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905530815260039093528183208054851660019081179091556006546101009004909116835291208054909216179055620001d23390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200020b6009600a62000342565b6200021c906402540be40062000359565b60405190815260200160405180910390a362000373565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200028757815f19048211156200026b576200026b62000233565b808516156200027957918102915b93841c93908002906200024c565b509250929050565b5f826200029f575060016200033c565b81620002ad57505f6200033c565b8160018114620002c65760028114620002d157620002f1565b60019150506200033c565b60ff841115620002e557620002e562000233565b50506001821b6200033c565b5060208310610133831016604e8410600b841016171562000316575081810a6200033c565b62000322838362000247565b805f190482111562000338576200033862000233565b0290505b92915050565b5f6200035260ff8416836200028f565b9392505050565b80820281158282048414176200033c576200033c62000233565b611e1d80620003815f395ff3fe608060405260043610610170575f3560e01c806372333356116100c657806395d89b411161007c578063c876d0b911610057578063c876d0b914610422578063c9567bf91461043b578063dd62ed3e1461044f575f80fd5b806395d89b41146103a9578063a9059cbb146103ee578063bf474bed1461040d575f80fd5b80637d1db4a5116100ac5780637d1db4a5146103595780638da5cb5b1461036e5780638f9a55c014610394575f80fd5b80637233335614610326578063751039fc14610345575f80fd5b8063313ce567116101265780636de7bcbd116101015780636de7bcbd146102bf57806370a08231146102de578063715018a614610312575f80fd5b8063313ce567146102575780633bbac5791461027257806351bc3c85146102a9575f80fd5b80630faee56f116101565780630faee56f1461020157806318160ddd1461022457806323b872dd14610238575f80fd5b806306fdde031461017b578063095ea7b3146101d2575f80fd5b3661017757005b5f80fd5b348015610186575f80fd5b5060408051808201909152601281527f4b6e696768747354656d706c6172436f696e000000000000000000000000000060208201525b6040516101c99190611941565b60405180910390f35b3480156101dd575f80fd5b506101f16101ec3660046119b3565b610493565b60405190151581526020016101c9565b34801561020c575f80fd5b5061021660125481565b6040519081526020016101c9565b34801561022f575f80fd5b506102166104a9565b348015610243575f80fd5b506101f16102523660046119dd565b6104ca565b348015610262575f80fd5b50604051600981526020016101c9565b34801561027d575f80fd5b506101f161028c366004611a1b565b6001600160a01b03165f9081526004602052604090205460ff1690565b3480156102b4575f80fd5b506102bd610531565b005b3480156102ca575f80fd5b506102bd6102d9366004611a4a565b610587565b3480156102e9575f80fd5b506102166102f8366004611a1b565b6001600160a01b03165f9081526001602052604090205490565b34801561031d575f80fd5b506102bd61064a565b348015610331575f80fd5b506102bd610340366004611b0a565b6106f8565b348015610350575f80fd5b506102bd61075c565b348015610364575f80fd5b50610216600f5481565b348015610379575f80fd5b505f546040516001600160a01b0390911681526020016101c9565b34801561039f575f80fd5b5061021660105481565b3480156103b4575f80fd5b5060408051808201909152600781527f4b4e49474854530000000000000000000000000000000000000000000000000060208201526101bc565b3480156103f9575f80fd5b506101f16104083660046119b3565b61084a565b348015610418575f80fd5b5061021660115481565b34801561042d575f80fd5b506006546101f19060ff1681565b348015610446575f80fd5b506102bd610856565b34801561045a575f80fd5b50610216610469366004611b2a565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f61049f338484610cce565b5060015b92915050565b5f6104b66009600a611c55565b6104c5906402540be400611c63565b905090565b5f6104d6848484610e25565b610527843361052285604051806060016040528060288152602001611dc0602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906114f9565b610cce565b5060019392505050565b60065461010090046001600160a01b0316336001600160a01b031614610555575f80fd5b305f9081526001602052604090205480156105735761057381611531565b4780156105835761058381611745565b5050565b5f546001600160a01b031633146105e55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b5f5b815181101561058357600160045f84848151811061060757610607611c7a565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790558061064281611c8e565b9150506105e7565b5f546001600160a01b031633146106a35760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105dc565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f805473ffffffffffffffffffffffffffffffffffffffff19169055565b5f546001600160a01b031633146107515760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105dc565b600991909155600a55565b5f546001600160a01b031633146107b55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105dc565b6107c16009600a611c55565b6107d0906402540be400611c63565b600f556107df6009600a611c55565b6107ee906402540be400611c63565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6108286009600a611c55565b610837906402540be400611c63565b60405190815260200160405180910390a1565b5f61049f338484610e25565b5f546001600160a01b031633146108af5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105dc565b60145474010000000000000000000000000000000000000000900460ff161561091a5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016105dc565b6013805473ffffffffffffffffffffffffffffffffffffffff1916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556109719030906109626009600a611c55565b610522906402540be400611c63565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109c1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109e59190611ca6565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a44573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a689190611ca6565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610aca573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aee9190611ca6565b601480546001600160a01b0392831673ffffffffffffffffffffffffffffffffffffffff199091161790556013541663f305d7194730610b42816001600160a01b03165f9081526001602052604090205490565b5f80610b555f546001600160a01b031690565b60405160e088901b7fffffffff000000000000000000000000000000000000000000000000000000001681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610bd3573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610bf89190611cc1565b50506014546013546040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610c66573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c8a9190611cec565b50601480547fffffffffffffffffff00ff00ffffffffffffffffffffffffffffffffffffffff16760100010000000000000000000000000000000000000000179055565b6001600160a01b038316610d495760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016105dc565b6001600160a01b038216610dc55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016105dc565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ea15760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016105dc565b6001600160a01b038216610f1d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016105dc565b5f8111610f925760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d75737420626520677265617465722060448201527f7468616e207a65726f000000000000000000000000000000000000000000000060648201526084016105dc565b5f80546001600160a01b03858116911614801590610fbd57505f546001600160a01b03848116911614155b156113bc576001600160a01b0384165f9081526004602052604090205460ff1615801561100257506001600160a01b0383165f9081526004602052604090205460ff16155b61100a575f80fd5b60065460ff16156110da576013546001600160a01b0384811691161480159061104157506014546001600160a01b03848116911614155b156110da57325f9081526005602052604090205443116110c85760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f60448201527f7765642e0000000000000000000000000000000000000000000000000000000060648201526084016105dc565b325f9081526005602052604090204390555b6014546001600160a01b03858116911614801561110557506013546001600160a01b03848116911614155b801561112957506001600160a01b0383165f9081526003602052604090205460ff16155b1561122657600f548211156111805760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016105dc565b601054826111a2856001600160a01b03165f9081526001602052604090205490565b6111ac9190611d0b565b11156111fa5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016105dc565b600d54600e54101561121157823b15611211575f80fd5b600e8054905f61122083611c8e565b91905055505b611252606461124c600b54600e541161124157600754611245565b6009545b8590611780565b90611821565b6014549091506001600160a01b03848116911614801561127b57506001600160a01b0384163014155b156112fa57600f548211156112d25760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016105dc565b6112f7606461124c600c54600e54116112ed57600854611245565b600a548590611780565b90505b305f908152600160205260409020546014547501000000000000000000000000000000000000000000900460ff1615801561134257506014546001600160a01b038581169116145b801561136a5750601454760100000000000000000000000000000000000000000000900460ff165b8015611377575060115481115b80156113865750600d54600e54115b156113ba576113a86113a38461139e84601254611862565b611862565b611531565b4780156113b8576113b847611745565b505b505b801561143457305f908152600160205260409020546113db9082611876565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061142b9085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461145690836118d4565b6001600160a01b0385165f9081526001602052604090205561149961147b83836118d4565b6001600160a01b0385165f9081526001602052604090205490611876565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6114e285856118d4565b60405190815260200160405180910390a350505050565b5f818484111561151c5760405162461bcd60e51b81526004016105dc9190611941565b505f6115288486611d1e565b95945050505050565b601480547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff167501000000000000000000000000000000000000000000179055801561171a5760145474010000000000000000000000000000000000000000900460ff161561171a576040805160028082526060820183525f9260208301908036833701905050905030815f815181106115cd576115cd611c7a565b6001600160a01b03928316602091820292909201810191909152601354604080517fad5c46480000000000000000000000000000000000000000000000000000000081529051919093169263ad5c46489260048083019391928290030181865afa15801561163d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116619190611ca6565b8160018151811061167457611674611c7a565b6001600160a01b03928316602091820292909201015260135461169a9130911684610cce565b6013546040517f791ac9470000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063791ac947906116eb9085905f90869030904290600401611d31565b5f604051808303815f87803b158015611702575f80fd5b505af1158015611714573d5f803e3d5ffd5b50505050505b50601480547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff169055565b6006546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f19350505050158015610583573d5f803e3d5ffd5b5f825f0361178f57505f6104a3565b5f61179a8385611c63565b9050826117a78583611da0565b1461181a5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60448201527f770000000000000000000000000000000000000000000000000000000000000060648201526084016105dc565b9392505050565b5f61181a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611915565b5f818311611870578261181a565b50919050565b5f806118828385611d0b565b90508381101561181a5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105dc565b5f61181a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114f9565b5f81836119355760405162461bcd60e51b81526004016105dc9190611941565b505f6115288486611da0565b5f6020808352835180828501525f5b8181101561196c57858101830151858201604001528201611950565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146119a0575f80fd5b50565b80356119ae8161198c565b919050565b5f80604083850312156119c4575f80fd5b82356119cf8161198c565b946020939093013593505050565b5f805f606084860312156119ef575f80fd5b83356119fa8161198c565b92506020840135611a0a8161198c565b929592945050506040919091013590565b5f60208284031215611a2b575f80fd5b813561181a8161198c565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611a5b575f80fd5b823567ffffffffffffffff80821115611a72575f80fd5b818501915085601f830112611a85575f80fd5b813581811115611a9757611a97611a36565b8060051b604051601f19603f83011681018181108582111715611abc57611abc611a36565b604052918252848201925083810185019188831115611ad9575f80fd5b938501935b82851015611afe57611aef856119a3565b84529385019392850192611ade565b98975050505050505050565b5f8060408385031215611b1b575f80fd5b50508035926020909101359150565b5f8060408385031215611b3b575f80fd5b8235611b468161198c565b91506020830135611b568161198c565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611baf57815f1904821115611b9557611b95611b61565b80851615611ba257918102915b93841c9390800290611b7a565b509250929050565b5f82611bc5575060016104a3565b81611bd157505f6104a3565b8160018114611be75760028114611bf157611c0d565b60019150506104a3565b60ff841115611c0257611c02611b61565b50506001821b6104a3565b5060208310610133831016604e8410600b8410161715611c30575081810a6104a3565b611c3a8383611b75565b805f1904821115611c4d57611c4d611b61565b029392505050565b5f61181a60ff841683611bb7565b80820281158282048414176104a3576104a3611b61565b634e487b7160e01b5f52603260045260245ffd5b5f5f198203611c9f57611c9f611b61565b5060010190565b5f60208284031215611cb6575f80fd5b815161181a8161198c565b5f805f60608486031215611cd3575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611cfc575f80fd5b8151801515811461181a575f80fd5b808201808211156104a3576104a3611b61565b818103818111156104a3576104a3611b61565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611d7f5784516001600160a01b031683529383019391830191600101611d5a565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611dba57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212209a3efe0824fdbbfc29639172d61c568a4debcad344efc5d0102de23e2fd3078264736f6c63430008140033
Deployed Bytecode
0x608060405260043610610170575f3560e01c806372333356116100c657806395d89b411161007c578063c876d0b911610057578063c876d0b914610422578063c9567bf91461043b578063dd62ed3e1461044f575f80fd5b806395d89b41146103a9578063a9059cbb146103ee578063bf474bed1461040d575f80fd5b80637d1db4a5116100ac5780637d1db4a5146103595780638da5cb5b1461036e5780638f9a55c014610394575f80fd5b80637233335614610326578063751039fc14610345575f80fd5b8063313ce567116101265780636de7bcbd116101015780636de7bcbd146102bf57806370a08231146102de578063715018a614610312575f80fd5b8063313ce567146102575780633bbac5791461027257806351bc3c85146102a9575f80fd5b80630faee56f116101565780630faee56f1461020157806318160ddd1461022457806323b872dd14610238575f80fd5b806306fdde031461017b578063095ea7b3146101d2575f80fd5b3661017757005b5f80fd5b348015610186575f80fd5b5060408051808201909152601281527f4b6e696768747354656d706c6172436f696e000000000000000000000000000060208201525b6040516101c99190611941565b60405180910390f35b3480156101dd575f80fd5b506101f16101ec3660046119b3565b610493565b60405190151581526020016101c9565b34801561020c575f80fd5b5061021660125481565b6040519081526020016101c9565b34801561022f575f80fd5b506102166104a9565b348015610243575f80fd5b506101f16102523660046119dd565b6104ca565b348015610262575f80fd5b50604051600981526020016101c9565b34801561027d575f80fd5b506101f161028c366004611a1b565b6001600160a01b03165f9081526004602052604090205460ff1690565b3480156102b4575f80fd5b506102bd610531565b005b3480156102ca575f80fd5b506102bd6102d9366004611a4a565b610587565b3480156102e9575f80fd5b506102166102f8366004611a1b565b6001600160a01b03165f9081526001602052604090205490565b34801561031d575f80fd5b506102bd61064a565b348015610331575f80fd5b506102bd610340366004611b0a565b6106f8565b348015610350575f80fd5b506102bd61075c565b348015610364575f80fd5b50610216600f5481565b348015610379575f80fd5b505f546040516001600160a01b0390911681526020016101c9565b34801561039f575f80fd5b5061021660105481565b3480156103b4575f80fd5b5060408051808201909152600781527f4b4e49474854530000000000000000000000000000000000000000000000000060208201526101bc565b3480156103f9575f80fd5b506101f16104083660046119b3565b61084a565b348015610418575f80fd5b5061021660115481565b34801561042d575f80fd5b506006546101f19060ff1681565b348015610446575f80fd5b506102bd610856565b34801561045a575f80fd5b50610216610469366004611b2a565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f61049f338484610cce565b5060015b92915050565b5f6104b66009600a611c55565b6104c5906402540be400611c63565b905090565b5f6104d6848484610e25565b610527843361052285604051806060016040528060288152602001611dc0602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906114f9565b610cce565b5060019392505050565b60065461010090046001600160a01b0316336001600160a01b031614610555575f80fd5b305f9081526001602052604090205480156105735761057381611531565b4780156105835761058381611745565b5050565b5f546001600160a01b031633146105e55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b5f5b815181101561058357600160045f84848151811061060757610607611c7a565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790558061064281611c8e565b9150506105e7565b5f546001600160a01b031633146106a35760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105dc565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f805473ffffffffffffffffffffffffffffffffffffffff19169055565b5f546001600160a01b031633146107515760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105dc565b600991909155600a55565b5f546001600160a01b031633146107b55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105dc565b6107c16009600a611c55565b6107d0906402540be400611c63565b600f556107df6009600a611c55565b6107ee906402540be400611c63565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6108286009600a611c55565b610837906402540be400611c63565b60405190815260200160405180910390a1565b5f61049f338484610e25565b5f546001600160a01b031633146108af5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105dc565b60145474010000000000000000000000000000000000000000900460ff161561091a5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016105dc565b6013805473ffffffffffffffffffffffffffffffffffffffff1916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556109719030906109626009600a611c55565b610522906402540be400611c63565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109c1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109e59190611ca6565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a44573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a689190611ca6565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610aca573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aee9190611ca6565b601480546001600160a01b0392831673ffffffffffffffffffffffffffffffffffffffff199091161790556013541663f305d7194730610b42816001600160a01b03165f9081526001602052604090205490565b5f80610b555f546001600160a01b031690565b60405160e088901b7fffffffff000000000000000000000000000000000000000000000000000000001681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610bd3573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610bf89190611cc1565b50506014546013546040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610c66573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c8a9190611cec565b50601480547fffffffffffffffffff00ff00ffffffffffffffffffffffffffffffffffffffff16760100010000000000000000000000000000000000000000179055565b6001600160a01b038316610d495760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016105dc565b6001600160a01b038216610dc55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016105dc565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ea15760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016105dc565b6001600160a01b038216610f1d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016105dc565b5f8111610f925760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d75737420626520677265617465722060448201527f7468616e207a65726f000000000000000000000000000000000000000000000060648201526084016105dc565b5f80546001600160a01b03858116911614801590610fbd57505f546001600160a01b03848116911614155b156113bc576001600160a01b0384165f9081526004602052604090205460ff1615801561100257506001600160a01b0383165f9081526004602052604090205460ff16155b61100a575f80fd5b60065460ff16156110da576013546001600160a01b0384811691161480159061104157506014546001600160a01b03848116911614155b156110da57325f9081526005602052604090205443116110c85760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f60448201527f7765642e0000000000000000000000000000000000000000000000000000000060648201526084016105dc565b325f9081526005602052604090204390555b6014546001600160a01b03858116911614801561110557506013546001600160a01b03848116911614155b801561112957506001600160a01b0383165f9081526003602052604090205460ff16155b1561122657600f548211156111805760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016105dc565b601054826111a2856001600160a01b03165f9081526001602052604090205490565b6111ac9190611d0b565b11156111fa5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016105dc565b600d54600e54101561121157823b15611211575f80fd5b600e8054905f61122083611c8e565b91905055505b611252606461124c600b54600e541161124157600754611245565b6009545b8590611780565b90611821565b6014549091506001600160a01b03848116911614801561127b57506001600160a01b0384163014155b156112fa57600f548211156112d25760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016105dc565b6112f7606461124c600c54600e54116112ed57600854611245565b600a548590611780565b90505b305f908152600160205260409020546014547501000000000000000000000000000000000000000000900460ff1615801561134257506014546001600160a01b038581169116145b801561136a5750601454760100000000000000000000000000000000000000000000900460ff165b8015611377575060115481115b80156113865750600d54600e54115b156113ba576113a86113a38461139e84601254611862565b611862565b611531565b4780156113b8576113b847611745565b505b505b801561143457305f908152600160205260409020546113db9082611876565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061142b9085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461145690836118d4565b6001600160a01b0385165f9081526001602052604090205561149961147b83836118d4565b6001600160a01b0385165f9081526001602052604090205490611876565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6114e285856118d4565b60405190815260200160405180910390a350505050565b5f818484111561151c5760405162461bcd60e51b81526004016105dc9190611941565b505f6115288486611d1e565b95945050505050565b601480547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff167501000000000000000000000000000000000000000000179055801561171a5760145474010000000000000000000000000000000000000000900460ff161561171a576040805160028082526060820183525f9260208301908036833701905050905030815f815181106115cd576115cd611c7a565b6001600160a01b03928316602091820292909201810191909152601354604080517fad5c46480000000000000000000000000000000000000000000000000000000081529051919093169263ad5c46489260048083019391928290030181865afa15801561163d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116619190611ca6565b8160018151811061167457611674611c7a565b6001600160a01b03928316602091820292909201015260135461169a9130911684610cce565b6013546040517f791ac9470000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063791ac947906116eb9085905f90869030904290600401611d31565b5f604051808303815f87803b158015611702575f80fd5b505af1158015611714573d5f803e3d5ffd5b50505050505b50601480547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff169055565b6006546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f19350505050158015610583573d5f803e3d5ffd5b5f825f0361178f57505f6104a3565b5f61179a8385611c63565b9050826117a78583611da0565b1461181a5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60448201527f770000000000000000000000000000000000000000000000000000000000000060648201526084016105dc565b9392505050565b5f61181a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611915565b5f818311611870578261181a565b50919050565b5f806118828385611d0b565b90508381101561181a5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105dc565b5f61181a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114f9565b5f81836119355760405162461bcd60e51b81526004016105dc9190611941565b505f6115288486611da0565b5f6020808352835180828501525f5b8181101561196c57858101830151858201604001528201611950565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146119a0575f80fd5b50565b80356119ae8161198c565b919050565b5f80604083850312156119c4575f80fd5b82356119cf8161198c565b946020939093013593505050565b5f805f606084860312156119ef575f80fd5b83356119fa8161198c565b92506020840135611a0a8161198c565b929592945050506040919091013590565b5f60208284031215611a2b575f80fd5b813561181a8161198c565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611a5b575f80fd5b823567ffffffffffffffff80821115611a72575f80fd5b818501915085601f830112611a85575f80fd5b813581811115611a9757611a97611a36565b8060051b604051601f19603f83011681018181108582111715611abc57611abc611a36565b604052918252848201925083810185019188831115611ad9575f80fd5b938501935b82851015611afe57611aef856119a3565b84529385019392850192611ade565b98975050505050505050565b5f8060408385031215611b1b575f80fd5b50508035926020909101359150565b5f8060408385031215611b3b575f80fd5b8235611b468161198c565b91506020830135611b568161198c565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611baf57815f1904821115611b9557611b95611b61565b80851615611ba257918102915b93841c9390800290611b7a565b509250929050565b5f82611bc5575060016104a3565b81611bd157505f6104a3565b8160018114611be75760028114611bf157611c0d565b60019150506104a3565b60ff841115611c0257611c02611b61565b50506001821b6104a3565b5060208310610133831016604e8410600b8410161715611c30575081810a6104a3565b611c3a8383611b75565b805f1904821115611c4d57611c4d611b61565b029392505050565b5f61181a60ff841683611bb7565b80820281158282048414176104a3576104a3611b61565b634e487b7160e01b5f52603260045260245ffd5b5f5f198203611c9f57611c9f611b61565b5060010190565b5f60208284031215611cb6575f80fd5b815161181a8161198c565b5f805f60608486031215611cd3575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611cfc575f80fd5b8151801515811461181a575f80fd5b808201808211156104a3576104a3611b61565b818103818111156104a3576104a3611b61565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611d7f5784516001600160a01b031683529383019391830191600101611d5a565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611dba57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212209a3efe0824fdbbfc29639172d61c568a4debcad344efc5d0102de23e2fd3078264736f6c63430008140033
Deployed Bytecode Sourcemap
3590:8800:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5533:83;;;;;;;;;;-1:-1:-1;5603:5:0;;;;;;;;;;;;;;;;;5533:83;;;;;;;:::i;:::-;;;;;;;;6366:161;;;;;;;;;;-1:-1:-1;6366:161:0;;;;;:::i;:::-;;:::i;:::-;;;1409:14:1;;1402:22;1384:41;;1372:2;1357:18;6366:161:0;1244:187:1;4808:52:0;;;;;;;;;;;;;;;;;;;1582:25:1;;;1570:2;1555:18;4808:52:0;1436:177:1;5810:95:0;;;;;;;;;;;;;:::i;6535:313::-;;;;;;;;;;-1:-1:-1;6535:313:0;;;;;:::i;:::-;;:::i;5719:83::-;;;;;;;;;;-1:-1:-1;5719:83:0;;4423:1;2221:36:1;;2209:2;2194:18;5719:83:0;2079:184:1;10660:83:0;;;;;;;;;;-1:-1:-1;10660:83:0;;;;;:::i;:::-;-1:-1:-1;;;;;10728:7:0;10707:4;10728:7;;;:4;:7;;;;;;;;;10660:83;12019:348;;;;;;;;;;;;;:::i;:::-;;10751:168;;;;;;;;;;-1:-1:-1;10751:168:0;;;;;:::i;:::-;;:::i;5913:119::-;;;;;;;;;;-1:-1:-1;5913:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6006:18:0;5979:7;6006:18;;;:9;:18;;;;;;;5913:119;2671:148;;;;;;;;;;;;;:::i;10927:163::-;;;;;;;;;;-1:-1:-1;10927:163:0;;;;;:::i;:::-;;:::i;10356:196::-;;;;;;;;;;;;;:::i;4623:57::-;;;;;;;;;;;;;;;;2457:79;;;;;;;;;;-1:-1:-1;2495:7:0;2522:6;2457:79;;-1:-1:-1;;;;;2522:6:0;;;4293:74:1;;4281:2;4266:18;2457:79:0;4147:226:1;4687:57:0;;;;;;;;;;;;;;;;5624:87;;;;;;;;;;-1:-1:-1;5696:7:0;;;;;;;;;;;;;;;;;5624:87;;6040:167;;;;;;;;;;-1:-1:-1;6040:167:0;;;;;:::i;:::-;;:::i;4751:50::-;;;;;;;;;;;;;;;;3979:40;;;;;;;;;;-1:-1:-1;3979:40:0;;;;;;;;11100:671;;;;;;;;;;;;;:::i;6215:143::-;;;;;;;;;;-1:-1:-1;6215:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6323:18:0;;;6296:7;6323:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6215:143;6366:161;6441:4;6458:39;292:10;6481:7;6490:6;6458:8;:39::i;:::-;-1:-1:-1;6515:4:0;6366:161;;;;;:::o;5810:95::-;5863:7;4480:13;4423:1;4480:2;:13;:::i;:::-;4466:27;;:11;:27;:::i;:::-;5883:14;;5810:95;:::o;6535:313::-;6633:4;6650:36;6660:6;6668:9;6679:6;6650:9;:36::i;:::-;6697:121;6706:6;292:10;6728:89;6766:6;6728:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6728:19:0;;;;;;:11;:19;;;;;;;;292:10;6728:33;;;;;;;;;;:37;:89::i;:::-;6697:8;:121::i;:::-;-1:-1:-1;6836:4:0;6535:313;;;;;:::o;12019:348::-;12083:10;;;;;-1:-1:-1;;;;;12083:10:0;292;-1:-1:-1;;;;;12069:24:0;;12061:33;;;;;;12144:4;12105:20;6006:18;;;:9;:18;;;;;;12164:14;;12161:73;;12192:30;12209:12;12192:16;:30::i;:::-;12263:21;12298:12;;12295:65;;12324:24;12337:10;12324:12;:24::i;:::-;12050:317;;12019:348::o;10751:168::-;2584:6;;-1:-1:-1;;;;;2584:6:0;292:10;2584:22;2576:67;;;;-1:-1:-1;;;2576:67:0;;6838:2:1;2576:67:0;;;6820:21:1;;;6857:18;;;6850:30;6916:34;6896:18;;;6889:62;6968:18;;2576:67:0;;;;;;;;;10829:6:::1;10824:88;10845:5;:12;10841:1;:16;10824:88;;;10896:4;10879;:14;10884:5;10890:1;10884:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;10879:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10879:14:0;:21;;-1:-1:-1;;10879:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10859:3;::::1;::::0;::::1;:::i;:::-;;;;10824:88;;2671:148:::0;2584:6;;-1:-1:-1;;;;;2584:6:0;292:10;2584:22;2576:67;;;;-1:-1:-1;;;2576:67:0;;6838:2:1;2576:67:0;;;6820:21:1;;;6857:18;;;6850:30;6916:34;6896:18;;;6889:62;6968:18;;2576:67:0;6636:356:1;2576:67:0;2778:1:::1;2762:6:::0;;2741:40:::1;::::0;-1:-1:-1;;;;;2762:6:0;;::::1;::::0;2741:40:::1;::::0;2778:1;;2741:40:::1;2809:1;2792:19:::0;;-1:-1:-1;;2792:19:0::1;::::0;;2671:148::o;10927:163::-;2584:6;;-1:-1:-1;;;;;2584:6:0;292:10;2584:22;2576:67;;;;-1:-1:-1;;;2576:67:0;;6838:2:1;2576:67:0;;;6820:21:1;;;6857:18;;;6850:30;6916:34;6896:18;;;6889:62;6968:18;;2576:67:0;6636:356:1;2576:67:0;11019:12:::1;:23:::0;;;;11057:13:::1;:25:::0;10927:163::o;10356:196::-;2584:6;;-1:-1:-1;;;;;2584:6:0;292:10;2584:22;2576:67;;;;-1:-1:-1;;;2576:67:0;;6838:2:1;2576:67:0;;;6820:21:1;;;6857:18;;;6850:30;6916:34;6896:18;;;6889:62;6968:18;;2576:67:0;6636:356:1;2576:67:0;4480:13:::1;4423:1;4480:2;:13;:::i;:::-;4466:27;::::0;:11:::1;:27;:::i;:::-;10409:12;:22:::0;4480:13:::1;4423:1;4480:2;:13;:::i;:::-;4466:27;::::0;:11:::1;:27;:::i;:::-;10442:14;:22:::0;10475:20:::1;:26:::0;;-1:-1:-1;;10475:26:0::1;::::0;;10517:27:::1;4480:13;4423:1;-1:-1:-1::0;4480:13:0::1;:::i;:::-;4466:27;::::0;:11:::1;:27;:::i;:::-;10517;::::0;1582:25:1;;;1570:2;1555:18;10517:27:0::1;;;;;;;10356:196::o:0;6040:167::-;6118:4;6135:42;292:10;6159:9;6170:6;6135:9;:42::i;11100:671::-;2584:6;;-1:-1:-1;;;;;2584:6:0;292:10;2584:22;2576:67;;;;-1:-1:-1;;;2576:67:0;;6838:2:1;2576:67:0;;;6820:21:1;;;6857:18;;;6850:30;6916:34;6896:18;;;6889:62;6968:18;;2576:67:0;6636:356:1;2576:67:0;11164:11:::1;::::0;;;::::1;;;11163:12;11155:47;;;::::0;-1:-1:-1;;;11155:47:0;;7588:2:1;11155:47:0::1;::::0;::::1;7570:21:1::0;7627:2;7607:18;;;7600:30;7666:25;7646:18;;;7639:53;7709:18;;11155:47:0::1;7386:347:1::0;11155:47:0::1;11213:15;:80:::0;;-1:-1:-1;;11213:80:0::1;11250:42;11213:80:::0;;::::1;::::0;;;11304:58:::1;::::0;11321:4:::1;::::0;4480:13:::1;4423:1;4480:2;:13;:::i;:::-;4466:27;::::0;:11:::1;:27;:::i;11304:58::-;11407:15;;;;;;;;;-1:-1:-1::0;;;;;11407:15:0::1;-1:-1:-1::0;;;;;11407:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11389:55:0::1;;11453:4;11460:15;;;;;;;;;-1:-1:-1::0;;;;;11460:15:0::1;-1:-1:-1::0;;;;;11460:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11389:94;::::0;;::::1;::::0;;;;;;-1:-1:-1;;;;;8247:15:1;;;11389:94:0::1;::::0;::::1;8229:34:1::0;8299:15;;8279:18;;;8272:43;8141:18;;11389:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11373:13;:110:::0;;-1:-1:-1;;;;;11373:110:0;;::::1;-1:-1:-1::0;;11373:110:0;;::::1;;::::0;;11494:15:::1;::::0;::::1;:31;11533:21;11564:4;11570:24;11564:4:::0;-1:-1:-1;;;;;6006:18:0;5979:7;6006:18;;;:9;:18;;;;;;;5913:119;11570:24:::1;11595:1;11597::::0;11599:7:::1;2495::::0;2522:6;-1:-1:-1;;;;;2522:6:0;;2457:79;11599:7:::1;11494:129;::::0;::::1;::::0;;;;;;;-1:-1:-1;;;;;8708:15:1;;;11494:129:0::1;::::0;::::1;8690:34:1::0;8740:18;;;8733:34;;;;8783:18;;;8776:34;;;;8826:18;;;8819:34;8890:15;;;8869:19;;;8862:44;11607:15:0::1;8922:19:1::0;;;8915:35;8601:19;;11494:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11641:13:0::1;::::0;11672:15:::1;::::0;11634:71:::1;::::0;;;;-1:-1:-1;;;;;11672:15:0;;::::1;11634:71;::::0;::::1;9446:74:1::0;-1:-1:-1;;9536:18:1;;;9529:34;11641:13:0;::::1;::::0;-1:-1:-1;11634:29:0::1;::::0;9419:18:1;;11634:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11716:11:0::1;:18:::0;;11745;;;;;;11100:671::o;6856:335::-;-1:-1:-1;;;;;6949:19:0;;6941:68;;;;-1:-1:-1;;;6941:68:0;;10058:2:1;6941:68:0;;;10040:21:1;10097:2;10077:18;;;10070:30;10136:34;10116:18;;;10109:62;10207:6;10187:18;;;10180:34;10231:19;;6941:68:0;9856:400:1;6941:68:0;-1:-1:-1;;;;;7028:21:0;;7020:68;;;;-1:-1:-1;;;7020:68:0;;10463:2:1;7020:68:0;;;10445:21:1;10502:2;10482:18;;;10475:30;10541:34;10521:18;;;10514:62;10612:4;10592:18;;;10585:32;10634:19;;7020:68:0;10261:398:1;7020:68:0;-1:-1:-1;;;;;7099:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7151:32;;1582:25:1;;;7151:32:0;;1555:18:1;7151:32:0;;;;;;;6856:335;;;:::o;7199:2478::-;-1:-1:-1;;;;;7287:18:0;;7279:68;;;;-1:-1:-1;;;7279:68:0;;10866:2:1;7279:68:0;;;10848:21:1;10905:2;10885:18;;;10878:30;10944:34;10924:18;;;10917:62;11015:7;10995:18;;;10988:35;11040:19;;7279:68:0;10664:401:1;7279:68:0;-1:-1:-1;;;;;7366:16:0;;7358:64;;;;-1:-1:-1;;;7358:64:0;;11272:2:1;7358:64:0;;;11254:21:1;11311:2;11291:18;;;11284:30;11350:34;11330:18;;;11323:62;11421:5;11401:18;;;11394:33;11444:19;;7358:64:0;11070:399:1;7358:64:0;7450:1;7441:6;:10;7433:64;;;;-1:-1:-1;;;7433:64:0;;11676:2:1;7433:64:0;;;11658:21:1;11715:2;11695:18;;;11688:30;11754:34;11734:18;;;11727:62;11825:11;11805:18;;;11798:39;11854:19;;7433:64:0;11474:405:1;7433:64:0;7508:17;2522:6;;-1:-1:-1;;;;;7542:15:0;;;2522:6;;7542:15;;;;:32;;-1:-1:-1;2495:7:0;2522:6;-1:-1:-1;;;;;7561:13:0;;;2522:6;;7561:13;;7542:32;7538:1783;;;-1:-1:-1;;;;;7600:10:0;;;;;;:4;:10;;;;;;;;7599:11;:24;;;;-1:-1:-1;;;;;;7615:8:0;;;;;;:4;:8;;;;;;;;7614:9;7599:24;7591:33;;;;;;7645:20;;;;7641:346;;;7704:15;;-1:-1:-1;;;;;7690:30:0;;;7704:15;;7690:30;;;;:62;;-1:-1:-1;7738:13:0;;-1:-1:-1;;;;;7724:28:0;;;7738:13;;7724:28;;7690:62;7686:286;;;7812:9;7783:39;;;;:28;:39;;;;;;7825:12;-1:-1:-1;7775:102:0;;;;-1:-1:-1;;;7775:102:0;;12086:2:1;7775:102:0;;;12068:21:1;12125:2;12105:18;;;12098:30;12164:34;12144:18;;;12137:62;12235:6;12215:18;;;12208:34;12259:19;;7775:102:0;11884:400:1;7775:102:0;7927:9;7898:39;;;;:28;:39;;;;;7940:12;7898:54;;7686:286;8015:13;;-1:-1:-1;;;;;8007:21:0;;;8015:13;;8007:21;:55;;;;-1:-1:-1;8046:15:0;;-1:-1:-1;;;;;8032:30:0;;;8046:15;;8032:30;;8007:55;:83;;;;-1:-1:-1;;;;;;8068:22:0;;;;;;:18;:22;;;;;;;;8066:24;8007:83;8003:428;;;8130:12;;8120:6;:22;;8112:60;;;;-1:-1:-1;;;8112:60:0;;12491:2:1;8112:60:0;;;12473:21:1;12530:2;12510:18;;;12503:30;12569:27;12549:18;;;12542:55;12614:18;;8112:60:0;12289:349:1;8112:60:0;8225:14;;8215:6;8199:13;8209:2;-1:-1:-1;;;;;6006:18:0;5979:7;6006:18;;;:9;:18;;;;;;;5913:119;8199:13;:22;;;;:::i;:::-;:40;;8191:79;;;;-1:-1:-1;;;8191:79:0;;12975:2:1;8191:79:0;;;12957:21:1;13014:2;12994:18;;;12987:30;13053:28;13033:18;;;13026:56;13099:18;;8191:79:0;12773:350:1;8191:79:0;8302:18;;8292:9;;:28;8289:97;;;11947:20;;11995:8;8342:24;;;;;;8404:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8003:428;8461:76;8533:3;8461:67;8483:15;;8473:9;;:25;8472:55;;8513:14;;8472:55;;;8500:12;;8472:55;8461:6;;:10;:67::i;:::-;:71;;:76::i;:::-;8561:13;;8449:88;;-1:-1:-1;;;;;;8555:19:0;;;8561:13;;8555:19;:43;;;;-1:-1:-1;;;;;;8578:20:0;;8593:4;8578:20;;8555:43;8552:253;;;8637:12;;8627:6;:22;;8619:60;;;;-1:-1:-1;;;8619:60:0;;12491:2:1;8619:60:0;;;12473:21:1;12530:2;12510:18;;;12503:30;12569:27;12549:18;;;12542:55;12614:18;;8619:60:0;12289:349:1;8619:60:0;8710:79;8785:3;8710:70;8732:16;;8722:9;;:26;8721:58;;8764:15;;8721:58;;;8750:13;;8710:6;;:10;:70::i;:79::-;8698:91;;8552:253;8870:4;8821:28;6006:18;;;:9;:18;;;;;;8896:6;;;;;;;8895:7;:30;;;;-1:-1:-1;8912:13:0;;-1:-1:-1;;;;;8906:19:0;;;8912:13;;8906:19;8895:30;:45;;;;-1:-1:-1;8929:11:0;;;;;;;8895:45;:87;;;;;8965:17;;8944:20;:38;8895:87;:119;;;;;8996:18;;8986:9;;:28;8895:119;8891:419;;;9035:67;9052:49;9056:6;9063:37;9067:20;9088:11;;9063:3;:37::i;:::-;9052:3;:49::i;:::-;9035:16;:67::i;:::-;9150:21;9193:22;;9190:105;;9240:35;9253:21;9240:12;:35::i;:::-;9016:294;8891:419;7576:1745;7538:1783;9336:11;;9333:161;;9404:4;9386:24;;;;:9;:24;;;;;;:39;;9415:9;9386:28;:39::i;:::-;9379:4;9361:24;;;;:9;:24;;;;;;;:64;;;;9443:39;;-1:-1:-1;;;;;9443:39:0;;;;;;;9472:9;1582:25:1;;1570:2;1555:18;;1436:177;9443:39:0;;;;;;;;9333:161;-1:-1:-1;;;;;9520:15:0;;;;;;:9;:15;;;;;;:27;;9540:6;9520:19;:27::i;:::-;-1:-1:-1;;;;;9504:15:0;;;;;;:9;:15;;;;;:43;9572:40;9590:21;:6;9601:9;9590:10;:21::i;:::-;-1:-1:-1;;;;;9572:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9558:13:0;;;;;;;:9;:13;;;;;:54;;;;9628:41;;;9647:21;:6;9658:9;9647:10;:21::i;:::-;9628:41;;1582:25:1;;;1570:2;1555:18;9628:41:0;;;;;;;7268:2409;7199:2478;;;:::o;1349:190::-;1435:7;1471:12;1463:6;;;;1455:29;;;;-1:-1:-1;;;1455:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1495:9:0;1507:5;1511:1;1507;:5;:::i;:::-;1495:17;1349:190;-1:-1:-1;;;;;1349:190:0:o;9793:555::-;5142:6;:13;;;;;;;;9871:27;;9890:7:::1;9871:27;9912:11;::::0;;;::::1;;;9908:25:::0;9925:7:::1;9908:25;9967:16;::::0;;9981:1:::1;9967:16:::0;;;;;::::1;::::0;;9943:21:::1;::::0;9967:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9967:16:0::1;9943:40;;10012:4;9994;9999:1;9994:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9994:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10038:15:::1;::::0;:22:::1;::::0;;;;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9994:7;;10038:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10028:4;10033:1;10028:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10028:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10103:15:::1;::::0;10071:62:::1;::::0;10088:4:::1;::::0;10103:15:::1;10121:11:::0;10071:8:::1;:62::i;:::-;10144:15;::::0;:196:::1;::::0;;;;-1:-1:-1;;;;;10144:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10225:11;;10144:15:::1;::::0;10267:4;;10294::::1;::::0;10314:15:::1;::::0;10144:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9860:488;5166:1;-1:-1:-1::0;5178:6:0;:14;;;;;;9793:555::o;10560:92::-;10617:10;;:27;;:10;;;;-1:-1:-1;;;;;10617:10:0;;:27;;;;;;;;;;;;:10;:27;;;;;;;;;;;;;;;;;;;1547:246;1605:7;1629:1;1634;1629:6;1625:47;;-1:-1:-1;1659:1:0;1652:8;;1625:47;1682:9;1694:5;1698:1;1694;:5;:::i;:::-;1682:17;-1:-1:-1;1727:1:0;1718:5;1722:1;1682:17;1718:5;:::i;:::-;:10;1710:56;;;;-1:-1:-1;;;1710:56:0;;14773:2:1;1710:56:0;;;14755:21:1;14812:2;14792:18;;;14785:30;14851:34;14831:18;;;14824:62;14922:3;14902:18;;;14895:31;14943:19;;1710:56:0;14571:397:1;1710:56:0;1784:1;1547:246;-1:-1:-1;;;1547:246:0:o;1801:132::-;1859:7;1886:39;1890:1;1893;1886:39;;;;;;;;;;;;;;;;;:3;:39::i;9687:98::-;9744:7;9771:1;9769;:3;9768:9;;9776:1;9768:9;;;-1:-1:-1;9774:1:0;9687:98;-1:-1:-1;9687:98:0:o;1018:179::-;1076:7;;1108:5;1112:1;1108;:5;:::i;:::-;1096:17;;1137:1;1132;:6;;1124:46;;;;-1:-1:-1;;;1124:46:0;;15175:2:1;1124:46:0;;;15157:21:1;15214:2;15194:18;;;15187:30;15253:29;15233:18;;;15226:57;15300:18;;1124:46:0;14973:351:1;1205:136:0;1263:7;1290:43;1294:1;1297;1290:43;;;;;;;;;;;;;;;;;:3;:43::i;1941:189::-;2027:7;2062:12;2055:5;2047:28;;;;-1:-1:-1;;;2047:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2086:9:0;2098:5;2102:1;2098;:5;:::i;14:607:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;612:2;-1:-1:-1;;537:2:1;529:6;525:15;521:88;510:9;506:104;502:113;494:121;;;;14:607;;;;:::o;626:154::-;-1:-1:-1;;;;;705:5:1;701:54;694:5;691:65;681:93;;770:1;767;760:12;681:93;626:154;:::o;785:134::-;853:20;;882:31;853:20;882:31;:::i;:::-;785:134;;;:::o;924:315::-;992:6;1000;1053:2;1041:9;1032:7;1028:23;1024:32;1021:52;;;1069:1;1066;1059:12;1021:52;1108:9;1095:23;1127:31;1152:5;1127:31;:::i;:::-;1177:5;1229:2;1214:18;;;;1201:32;;-1:-1:-1;;;924:315:1:o;1618:456::-;1695:6;1703;1711;1764:2;1752:9;1743:7;1739:23;1735:32;1732:52;;;1780:1;1777;1770:12;1732:52;1819:9;1806:23;1838:31;1863:5;1838:31;:::i;:::-;1888:5;-1:-1:-1;1945:2:1;1930:18;;1917:32;1958:33;1917:32;1958:33;:::i;:::-;1618:456;;2010:7;;-1:-1:-1;;;2064:2:1;2049:18;;;;2036:32;;1618:456::o;2268:247::-;2327:6;2380:2;2368:9;2359:7;2355:23;2351:32;2348:52;;;2396:1;2393;2386:12;2348:52;2435:9;2422:23;2454:31;2479:5;2454:31;:::i;2520:184::-;-1:-1:-1;;;2569:1:1;2562:88;2669:4;2666:1;2659:15;2693:4;2690:1;2683:15;2709:1180;2793:6;2824:2;2867;2855:9;2846:7;2842:23;2838:32;2835:52;;;2883:1;2880;2873:12;2835:52;2923:9;2910:23;2952:18;2993:2;2985:6;2982:14;2979:34;;;3009:1;3006;2999:12;2979:34;3047:6;3036:9;3032:22;3022:32;;3092:7;3085:4;3081:2;3077:13;3073:27;3063:55;;3114:1;3111;3104:12;3063:55;3150:2;3137:16;3172:2;3168;3165:10;3162:36;;;3178:18;;:::i;:::-;3224:2;3221:1;3217:10;3256:2;3250:9;-1:-1:-1;;3310:2:1;3306;3302:11;3298:84;3290:6;3286:97;3433:6;3421:10;3418:22;3413:2;3401:10;3398:18;3395:46;3392:72;;;3444:18;;:::i;:::-;3480:2;3473:22;3530:18;;;3564:15;;;;-1:-1:-1;3606:11:1;;;3602:20;;;3634:19;;;3631:39;;;3666:1;3663;3656:12;3631:39;3690:11;;;;3710:148;3726:6;3721:3;3718:15;3710:148;;;3792:23;3811:3;3792:23;:::i;:::-;3780:36;;3743:12;;;;3836;;;;3710:148;;;3877:6;2709:1180;-1:-1:-1;;;;;;;;2709:1180:1:o;3894:248::-;3962:6;3970;4023:2;4011:9;4002:7;3998:23;3994:32;3991:52;;;4039:1;4036;4029:12;3991:52;-1:-1:-1;;4062:23:1;;;4132:2;4117:18;;;4104:32;;-1:-1:-1;3894:248:1:o;4378:388::-;4446:6;4454;4507:2;4495:9;4486:7;4482:23;4478:32;4475:52;;;4523:1;4520;4513:12;4475:52;4562:9;4549:23;4581:31;4606:5;4581:31;:::i;:::-;4631:5;-1:-1:-1;4688:2:1;4673:18;;4660:32;4701:33;4660:32;4701:33;:::i;:::-;4753:7;4743:17;;;4378:388;;;;;:::o;4771:184::-;-1:-1:-1;;;4820:1:1;4813:88;4920:4;4917:1;4910:15;4944:4;4941:1;4934:15;4960:482;5049:1;5092:5;5049:1;5106:330;5127:7;5117:8;5114:21;5106:330;;;5246:4;-1:-1:-1;;5174:77:1;5168:4;5165:87;5162:113;;;5255:18;;:::i;:::-;5305:7;5295:8;5291:22;5288:55;;;5325:16;;;;5288:55;5404:22;;;;5364:15;;;;5106:330;;;5110:3;4960:482;;;;;:::o;5447:866::-;5496:5;5526:8;5516:80;;-1:-1:-1;5567:1:1;5581:5;;5516:80;5615:4;5605:76;;-1:-1:-1;5652:1:1;5666:5;;5605:76;5697:4;5715:1;5710:59;;;;5783:1;5778:130;;;;5690:218;;5710:59;5740:1;5731:10;;5754:5;;;5778:130;5815:3;5805:8;5802:17;5799:43;;;5822:18;;:::i;:::-;-1:-1:-1;;5878:1:1;5864:16;;5893:5;;5690:218;;5992:2;5982:8;5979:16;5973:3;5967:4;5964:13;5960:36;5954:2;5944:8;5941:16;5936:2;5930:4;5927:12;5923:35;5920:77;5917:159;;;-1:-1:-1;6029:19:1;;;6061:5;;5917:159;6108:34;6133:8;6127:4;6108:34;:::i;:::-;6238:6;-1:-1:-1;;6166:79:1;6157:7;6154:92;6151:118;;;6249:18;;:::i;:::-;6287:20;;5447:866;-1:-1:-1;;;5447:866:1:o;6318:140::-;6376:5;6405:47;6446:4;6436:8;6432:19;6426:4;6405:47;:::i;6463:168::-;6536:9;;;6567;;6584:15;;;6578:22;;6564:37;6554:71;;6605:18;;:::i;6997:184::-;-1:-1:-1;;;7046:1:1;7039:88;7146:4;7143:1;7136:15;7170:4;7167:1;7160:15;7186:195;7225:3;-1:-1:-1;;7249:5:1;7246:77;7243:103;;7326:18;;:::i;:::-;-1:-1:-1;7373:1:1;7362:13;;7186:195::o;7738:251::-;7808:6;7861:2;7849:9;7840:7;7836:23;7832:32;7829:52;;;7877:1;7874;7867:12;7829:52;7909:9;7903:16;7928:31;7953:5;7928:31;:::i;8961:306::-;9049:6;9057;9065;9118:2;9106:9;9097:7;9093:23;9089:32;9086:52;;;9134:1;9131;9124:12;9086:52;9163:9;9157:16;9147:26;;9213:2;9202:9;9198:18;9192:25;9182:35;;9257:2;9246:9;9242:18;9236:25;9226:35;;8961:306;;;;;:::o;9574:277::-;9641:6;9694:2;9682:9;9673:7;9669:23;9665:32;9662:52;;;9710:1;9707;9700:12;9662:52;9742:9;9736:16;9795:5;9788:13;9781:21;9774:5;9771:32;9761:60;;9817:1;9814;9807:12;12643:125;12708:9;;;12729:10;;;12726:36;;;12742:18;;:::i;13128:128::-;13195:9;;;13216:11;;;13213:37;;;13230:18;;:::i;13261:1026::-;13523:4;13571:3;13560:9;13556:19;13602:6;13591:9;13584:25;13628:2;13666:6;13661:2;13650:9;13646:18;13639:34;13709:3;13704:2;13693:9;13689:18;13682:31;13733:6;13768;13762:13;13799:6;13791;13784:22;13837:3;13826:9;13822:19;13815:26;;13876:2;13868:6;13864:15;13850:29;;13897:1;13907:218;13921:6;13918:1;13915:13;13907:218;;;13986:13;;-1:-1:-1;;;;;13982:62:1;13970:75;;14100:15;;;;14065:12;;;;13943:1;13936:9;13907:218;;;-1:-1:-1;;;;;;;14181:55:1;;;;14176:2;14161:18;;14154:83;-1:-1:-1;;;14268:3:1;14253:19;14246:35;14142:3;13261:1026;-1:-1:-1;;;13261:1026:1:o;14292:274::-;14332:1;14358;14348:189;;-1:-1:-1;;;14390:1:1;14383:88;14494:4;14491:1;14484:15;14522:4;14519:1;14512:15;14348:189;-1:-1:-1;14551:9:1;;14292:274::o
Swarm Source
ipfs://9a3efe0824fdbbfc29639172d61c568a4debcad344efc5d0102de23e2fd30782
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.