ERC-20
Overview
Max Total Supply
1,000,000 NAV
Holders
34
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
0.000000022 NAVValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
NavigantWeb3
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-09-24 */ /** Navigant Web3 - $NAV Navigant is The next generation social media platform. Challenge your friends, engage with your followers and earn. 🌐POST2EARN 🌐CHALLENGE2EARN Telegram : https://t.me/navigantweb3 Website : https://navigant.digital/ Medium : https://medium.com/@NavigantWeb3 Twitter : https://twitter.com/NavigantWeb3 Total Supply : 1 Million 1_000_000 Max Tx : 2% 20,000 Max Wallet : 2% */ // SPDX-License-Identifier: Unlicense pragma solidity =0.8.17; interface ERC20 { function totalSupply() external view returns (uint256); function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); function getOwner() external view returns (address); 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 Ownable { address internal owner; constructor(address _owner) { owner = _owner; } modifier onlyOwner() { require(msg.sender == owner, "Owner-restricted function"); _; } function renounceOwnership() public onlyOwner { owner = address(0); emit OwnershipTransferred(address(0)); } event OwnershipTransferred(address owner); } interface IDEXFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IDEXRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract NavigantWeb3 is ERC20, Ownable { string constant _name = " Navigant Web3 "; string constant _symbol = "NAV"; uint8 constant _decimals = 9; uint256 constant _totalSupply = 1_000_000 * (10 ** _decimals); mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) _allowances; bool public tradingOpened = false; mapping (address => bool) markedSniper; bool antiBotActive = false; uint256 finalDeadBlock; mapping (address => uint256) lastTxBlock; uint256 constant txCooldownBlocks = 1; uint256 public maxTxAmount = 2 * _totalSupply / 100; // 2% uint256 public maxWalletAmount = 2 * _totalSupply / 100; // 2% mapping (address => bool) isFeeExempt; uint256 public finalFeeTimestamp; uint256 constant public finalFeePercent = 6; // uint256 constant public startingFeePercent = 12; // uint256 constant public feeDenominator = 100; address payable immutable public projectFeeReceiver = payable(msg.sender); address constant routerAdress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; address constant DEAD = 0x000000000000000000000000000000000000dEaD; address constant ZERO = address(0x0); IDEXRouter public immutable router; address immutable public pair; uint256 immutable public swapThreshold = _totalSupply / 1_000; // 0.1% bool inSwap; modifier swapping() { inSwap = true; _; inSwap = false; } constructor () Ownable(msg.sender) { router = IDEXRouter(routerAdress); pair = IDEXFactory(router.factory()).createPair(router.WETH(), address(this)); _allowances[address(this)][address(router)] = type(uint256).max; address _owner = owner; _balances[_owner] = _totalSupply; emit Transfer(address(0), _owner, _totalSupply); } receive() external payable { } function totalSupply() external pure returns (uint256) { return _totalSupply; } function decimals() external pure returns (uint8) { return _decimals; } function symbol() external pure returns (string memory) { return _symbol; } function name() external pure returns (string memory) { return _name; } function getOwner() external view returns (address) { return owner; } function balanceOf(address account) public view returns (uint256) { return _balances[account]; } function allowance(address holder, address spender) external view returns (uint256) { return _allowances[holder][spender]; } function approve(address spender, uint256 amount) public returns (bool) { _allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function approveMax(address spender) external returns (bool) { return approve(spender, type(uint256).max); } function transfer(address recipient, uint256 amount) external returns (bool) { return _transferFrom(msg.sender, recipient, amount); } function transferFrom(address sender, address recipient, uint256 amount) external returns (bool) { if(_allowances[sender][msg.sender] != type(uint256).max){ uint256 currentAllowance = _allowances[sender][msg.sender]; require(currentAllowance >= amount, "Insufficient Allowance"); unchecked{ _allowances[sender][msg.sender] -= amount; } } return _transferFrom(sender, recipient, amount); } function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) { if(inSwap || sender == projectFeeReceiver || recipient == projectFeeReceiver){ return _basicTransfer(sender, recipient, amount); } else if(amount == 0){ return _basicTransfer(sender, recipient, 0); } // Pre-trader check require(tradingOpened, "Trading disabled"); // Sniper check require(!markedSniper[sender], "Snipers can't trade"); // Max tx/wallet check if (recipient != DEAD && recipient != ZERO) { require(amount <= maxTxAmount, "Excessive transfer amount"); require(recipient == pair || _balances[recipient] + amount <= maxWalletAmount, "Excessive receiver token holdings"); } // Trade cooldown check require(block.number - lastTxBlock[tx.origin] >= txCooldownBlocks, "Transactions too frequent"); lastTxBlock[tx.origin] = block.number; if((shouldMarkSniper(sender, recipient))){ markedSniper[recipient] = true; } else if(shouldSwapBack(sender)){ swapBack(); } uint256 balanceSender = _balances[sender]; require(balanceSender >= amount, "Insufficient Balance"); unchecked{ _balances[sender] -= amount; } uint256 amountReceived = shouldTakeFee(sender, recipient) ? takeFee(sender, amount) : amount; _balances[recipient] += amountReceived; emit Transfer(sender, recipient, amountReceived); return true; } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { uint256 balanceSender = _balances[sender]; require(balanceSender >= amount, "Insufficient Balance"); unchecked{ _balances[sender] -= amount; } _balances[recipient] += amount; emit Transfer(sender, recipient, amount); return true; } function shouldMarkSniper(address sender, address recipient) internal view returns (bool) { return antiBotActive && sender == pair && block.number <= finalDeadBlock && recipient != address(this) && recipient != routerAdress && recipient != pair; } function shouldTakeFee(address sender, address recipient) internal view returns (bool) { return !(isFeeExempt[sender] || isFeeExempt[recipient]); } function takeFee(address sender, uint256 amount) internal returns (uint256) { uint256 feeAmount; if(block.timestamp < finalFeeTimestamp){ feeAmount = amount * startingFeePercent / feeDenominator; }else{ feeAmount = amount * finalFeePercent / feeDenominator; } _balances[address(this)] += feeAmount; emit Transfer(sender, address(this), feeAmount); return amount - feeAmount; } function shouldSwapBack(address sender) internal view returns (bool) { return sender != pair && _balances[address(this)] >= swapThreshold; } function swapBack() internal swapping { uint256 tokenBalance = _balances[address(this)]; uint256 tokensToSwap = tokenBalance >= maxTxAmount ? maxTxAmount : tokenBalance; address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); uint256 balanceBefore = address(this).balance; router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokensToSwap, 0, path, address(this), block.timestamp ); unchecked{ uint256 amountETH = address(this).balance - balanceBefore; (bool success,) = projectFeeReceiver.call{value: amountETH, gas: 30000}(""); success; } } function openTrading(uint256 numdeadBlocks, uint256 finalFeeDelayMinutes, bool _antiBotActive) external onlyOwner { require(!tradingOpened, "Trading already enabled"); tradingOpened = true; antiBotActive = _antiBotActive; finalFeeTimestamp = block.timestamp + finalFeeDelayMinutes * 60; finalDeadBlock = block.number + numdeadBlocks; } function setMaxAmount(uint256 _maxWalletAmount) external onlyOwner { require(_maxWalletAmount >= _totalSupply / 100, "MaxWalletAmount needs to be higher than 1% of total supply"); maxWalletAmount = _maxWalletAmount; } function setMaxTx(uint256 _maxTxAmount) external onlyOwner { require(_maxTxAmount >= _totalSupply / 100, "MaxTxAmount needs to be higher than 1% of total supply"); maxTxAmount = _maxTxAmount; } function removeLimits() external onlyOwner { maxWalletAmount = type(uint256).max; maxTxAmount = type(uint256).max; } function excludeFromFee(address account, bool excluded) external onlyOwner { isFeeExempt[account] = excluded; } function excludeMultipleFromFee(address[] calldata accounts, bool excluded) external onlyOwner { for(uint256 i = 0; i < accounts.length; i++) { isFeeExempt[accounts[i]] = excluded; } } function markSniper(address account) external onlyOwner { require(account != routerAdress && account != address(this) && account != pair, "Invalid sniper"); markedSniper[account] = true; } function unmarkSniper(address account) external onlyOwner { markedSniper[account] = false; } function clearStuckTokenBalance() external { require(msg.sender == projectFeeReceiver, "Deployer-restricted function"); swapBack(); } function clearStuckETHBalance() external { projectFeeReceiver.transfer(address(this).balance); } }
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":"address","name":"owner","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":"holder","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":"spender","type":"address"}],"name":"approveMax","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":"clearStuckETHBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clearStuckTokenBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"finalFeePercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"finalFeeTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"markSniper","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"numdeadBlocks","type":"uint256"},{"internalType":"uint256","name":"finalFeeDelayMinutes","type":"uint256"},{"internalType":"bool","name":"_antiBotActive","type":"bool"}],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"projectFeeReceiver","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxWalletAmount","type":"uint256"}],"name":"setMaxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"setMaxTx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startingFeePercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tradingOpened","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"unmarkSniper","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6101006040526003805460ff1990811690915560058054909116905560646200002b6009600a62000422565b6200003a90620f42406200043a565b620000479060026200043a565b62000053919062000454565b6008556064620000666009600a62000422565b6200007590620f42406200043a565b620000829060026200043a565b6200008e919062000454565b6009908155336080526103e890620000a890600a62000422565b620000b790620f42406200043a565b620000c3919062000454565b60e052348015620000d357600080fd5b50600080546001600160a01b03191633179055737a250d5630b4cf539739df2c5dacb4c659f2488d60a08190526040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa1580156200013c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000162919062000477565b6001600160a01b031663c9c6539660a0516001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001b1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001d7919062000477565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af115801562000224573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024a919062000477565b6001600160a01b0390811660c05230600090815260026020908152604080832060a051851684529091528120600019905554166200028b6009600a62000422565b6200029a90620f42406200043a565b6001600160a01b038216600081815260016020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002e66009600a62000422565b620002f590620f42406200043a565b60405190815260200160405180910390a350620004a2565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003645781600019048211156200034857620003486200030d565b808516156200035657918102915b93841c939080029062000328565b509250929050565b6000826200037d575060016200041c565b816200038c575060006200041c565b8160018114620003a55760028114620003b057620003d0565b60019150506200041c565b60ff841115620003c457620003c46200030d565b50506001821b6200041c565b5060208310610133831016604e8410600b8410161715620003f5575081810a6200041c565b62000401838362000323565b80600019048211156200041857620004186200030d565b0290505b92915050565b60006200043360ff8416836200036c565b9392505050565b80820281158282048414176200041c576200041c6200030d565b6000826200047257634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200048a57600080fd5b81516001600160a01b03811681146200043357600080fd5b60805160a05160c05160e051611d026200053760003960008181610210015261170e0152600081816105070152818161078d01528181610ff4015281816115f80152818161168101526116c10152600081816106570152818161133501526113ef0152600081816104d301528181610c4201528181610db101528181610e3901528181610e7501526114740152611d026000f3fe6080604052600436106101f25760003560e01c8063893d20e81161010d578063bc337182116100a0578063df8408fe1161006f578063df8408fe146105f0578063eeaad41914610610578063f7a1642e14610625578063f887ea4014610645578063fd35780c1461067957600080fd5b8063bc3371821461055f578063ca1b1cff1461057f578063db5c801014610595578063dd62ed3e146105aa57600080fd5b806399b589cb116100dc57806399b589cb146104c1578063a8aa1b31146104f5578063a9059cbb14610529578063aa4bde281461054957600080fd5b8063893d20e81461042d5780638c0b5e221461045f5780638f8deb041461047557806395d89b411461049557600080fd5b80634a092b861161018557806370a082311161015457806370a08231146103b3578063715018a6146103e9578063751039fc146103fe5780637daa930a1461041357600080fd5b80634a092b861461033e5780634fe47f701461035e578063537198b31461037e578063571ac8b01461039357600080fd5b806318160ddd116101c157806318160ddd146102cb5780631e1cf1c0146102e057806323b872dd14610302578063313ce5671461032257600080fd5b80630445b667146101fe57806306fdde0314610245578063095ea7b314610286578063180b0d7e146102b657600080fd5b366101f957005b600080fd5b34801561020a57600080fd5b506102327f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020015b60405180910390f35b34801561025157600080fd5b5060408051808201909152600f81526e0102730bb34b3b0b73a102bb2b1199608d1b60208201525b60405161023c9190611837565b34801561029257600080fd5b506102a66102a136600461189a565b61068e565b604051901515815260200161023c565b3480156102c257600080fd5b50610232606481565b3480156102d757600080fd5b506102326106fb565b3480156102ec57600080fd5b506103006102fb3660046118c6565b61071b565b005b34801561030e57600080fd5b506102a661031d3660046118e3565b610823565b34801561032e57600080fd5b506040516009815260200161023c565b34801561034a57600080fd5b506103006103593660046118c6565b6108fd565b34801561036a57600080fd5b50610300610379366004611924565b610948565b34801561038a57600080fd5b50610232600c81565b34801561039f57600080fd5b506102a66103ae3660046118c6565b610a11565b3480156103bf57600080fd5b506102326103ce3660046118c6565b6001600160a01b031660009081526001602052604090205490565b3480156103f557600080fd5b50610300610a1f565b34801561040a57600080fd5b50610300610a8e565b34801561041f57600080fd5b506003546102a69060ff1681565b34801561043957600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161023c565b34801561046b57600080fd5b5061023260085481565b34801561048157600080fd5b50610300610490366004611952565b610ac5565b3480156104a157600080fd5b506040805180820190915260038152622720ab60e91b6020820152610279565b3480156104cd57600080fd5b506104477f000000000000000000000000000000000000000000000000000000000000000081565b34801561050157600080fd5b506104477f000000000000000000000000000000000000000000000000000000000000000081565b34801561053557600080fd5b506102a661054436600461189a565b610b66565b34801561055557600080fd5b5061023260095481565b34801561056b57600080fd5b5061030061057a366004611924565b610b73565b34801561058b57600080fd5b50610232600b5481565b3480156105a157600080fd5b50610300610c35565b3480156105b657600080fd5b506102326105c53660046119d6565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156105fc57600080fd5b5061030061060b366004611a0f565b610c8d565b34801561061c57600080fd5b50610232600681565b34801561063157600080fd5b50610300610640366004611a44565b610ce2565b34801561065157600080fd5b506104477f000000000000000000000000000000000000000000000000000000000000000081565b34801561068557600080fd5b50610300610da6565b3360008181526002602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906106e99086815260200190565b60405180910390a35060015b92915050565b60006107096009600a611b6a565b61071690620f4240611b79565b905090565b6000546001600160a01b0316331461074e5760405162461bcd60e51b815260040161074590611b90565b60405180910390fd5b6001600160a01b038116737a250d5630b4cf539739df2c5dacb4c659f2488d1480159061078457506001600160a01b0381163014155b80156107c257507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b031614155b6107ff5760405162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b21039b734b832b960911b6044820152606401610745565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b6001600160a01b0383166000908152600260209081526040808320338452909152812054600019146108e8576001600160a01b0384166000908152600260209081526040808320338452909152902054828110156108bc5760405162461bcd60e51b8152602060048201526016602482015275496e73756666696369656e7420416c6c6f77616e636560501b6044820152606401610745565b506001600160a01b03841660009081526002602090815260408083203384529091529020805483900390555b6108f3848484610e28565b90505b9392505050565b6000546001600160a01b031633146109275760405162461bcd60e51b815260040161074590611b90565b6001600160a01b03166000908152600460205260409020805460ff19169055565b6000546001600160a01b031633146109725760405162461bcd60e51b815260040161074590611b90565b60646109806009600a611b6a565b61098d90620f4240611b79565b6109979190611bc7565b811015610a0c5760405162461bcd60e51b815260206004820152603a60248201527f4d617857616c6c6574416d6f756e74206e6565647320746f206265206869676860448201527f6572207468616e203125206f6620746f74616c20737570706c790000000000006064820152608401610745565b600955565b60006106f58260001961068e565b6000546001600160a01b03163314610a495760405162461bcd60e51b815260040161074590611b90565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000546001600160a01b03163314610ab85760405162461bcd60e51b815260040161074590611b90565b6000196009819055600855565b6000546001600160a01b03163314610aef5760405162461bcd60e51b815260040161074590611b90565b60005b82811015610b605781600a6000868685818110610b1157610b11611be9565b9050602002016020810190610b2691906118c6565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610b5881611bff565b915050610af2565b50505050565b60006108f6338484610e28565b6000546001600160a01b03163314610b9d5760405162461bcd60e51b815260040161074590611b90565b6064610bab6009600a611b6a565b610bb890620f4240611b79565b610bc29190611bc7565b811015610c305760405162461bcd60e51b815260206004820152603660248201527f4d61785478416d6f756e74206e6565647320746f20626520686967686572207460448201527568616e203125206f6620746f74616c20737570706c7960501b6064820152608401610745565b600855565b6040516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016904780156108fc02916000818181858888f19350505050158015610c8a573d6000803e3d6000fd5b50565b6000546001600160a01b03163314610cb75760405162461bcd60e51b815260040161074590611b90565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610d0c5760405162461bcd60e51b815260040161074590611b90565b60035460ff1615610d5f5760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720616c726561647920656e61626c65640000000000000000006044820152606401610745565b60038054600160ff199182161790915560058054909116821515179055610d8782603c611b79565b610d919042611c18565b600b55610d9e8343611c18565b600655505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610e1e5760405162461bcd60e51b815260206004820152601c60248201527f4465706c6f7965722d726573747269637465642066756e6374696f6e000000006044820152606401610745565b610e266112a1565b565b600c5460009060ff1680610e6d57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b0316145b80610ea957507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b0316145b15610ec057610eb98484846114ee565b90506108f6565b81600003610ed457610eb9848460006114ee565b60035460ff16610f195760405162461bcd60e51b815260206004820152601060248201526f151c98591a5b99c8191a5cd8589b195960821b6044820152606401610745565b6001600160a01b03841660009081526004602052604090205460ff1615610f785760405162461bcd60e51b8152602060048201526013602482015272536e69706572732063616e277420747261646560681b6044820152606401610745565b6001600160a01b03831661dead14801590610f9b57506001600160a01b03831615155b156110ad57600854821115610ff25760405162461bcd60e51b815260206004820152601960248201527f457863657373697665207472616e7366657220616d6f756e74000000000000006044820152606401610745565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b0316148061105757506009546001600160a01b038416600090815260016020526040902054611054908490611c18565b11155b6110ad5760405162461bcd60e51b815260206004820152602160248201527f45786365737369766520726563656976657220746f6b656e20686f6c64696e676044820152607360f81b6064820152608401610745565b326000908152600760205260409020546001906110ca9043611c2b565b10156111185760405162461bcd60e51b815260206004820152601960248201527f5472616e73616374696f6e7320746f6f206672657175656e74000000000000006044820152606401610745565b32600090815260076020526040902043905561113484846115e6565b15611161576001600160a01b0383166000908152600460205260409020805460ff19166001179055611177565b61116a846116bd565b15611177576111776112a1565b6001600160a01b038416600090815260016020526040902054828110156111d75760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742042616c616e636560601b6044820152606401610745565b6001600160a01b0385166000908152600160205260408120805485900390556112008686611735565b61120a5783611214565b611214868561177c565b6001600160a01b038616600090815260016020526040812080549293508392909190611241908490611c18565b92505081905550846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161128d91815260200190565b60405180910390a350600195945050505050565b600c805460ff1916600190811790915530600090815260209190915260408120546008549091908210156112d557816112d9565b6008545b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061131357611313611be9565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611391573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b59190611c3e565b816001815181106113c8576113c8611be9565b6001600160a01b03928316602091820292909201015260405163791ac94760e01b815247917f0000000000000000000000000000000000000000000000000000000000000000169063791ac9479061142d908690600090879030904290600401611c5b565b600060405180830381600087803b15801561144757600080fd5b505af115801561145b573d6000803e3d6000fd5b5050604051478490039250600091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169061753090849084818181858888f193505050503d80600081146114d4576040519150601f19603f3d011682016040523d82523d6000602084013e6114d9565b606091505b5050600c805460ff1916905550505050505050565b6001600160a01b0383166000908152600160205260408120548281101561154e5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742042616c616e636560601b6044820152606401610745565b6001600160a01b038086166000908152600160205260408082208054879003905591861681529081208054859290611587908490611c18565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516115d391815260200190565b60405180910390a3506001949350505050565b60055460009060ff16801561162c57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b0316145b801561163a57506006544311155b801561164f57506001600160a01b0382163014155b801561167857506001600160a01b038216737a250d5630b4cf539739df2c5dacb4c659f2488d14155b80156108f657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161415905092915050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316141580156106f55750306000908152600160205260409020547f0000000000000000000000000000000000000000000000000000000000000000111592915050565b6001600160a01b0382166000908152600a602052604081205460ff168061177457506001600160a01b0382166000908152600a602052604090205460ff165b159392505050565b600080600b544210156117a7576064611796600c85611b79565b6117a09190611bc7565b90506117c1565b60646117b4600685611b79565b6117be9190611bc7565b90505b30600090815260016020526040812080548392906117e0908490611c18565b909155505060405181815230906001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a361182f8184611c2b565b949350505050565b600060208083528351808285015260005b8181101561186457858101830151858201604001528201611848565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610c8a57600080fd5b600080604083850312156118ad57600080fd5b82356118b881611885565b946020939093013593505050565b6000602082840312156118d857600080fd5b81356108f681611885565b6000806000606084860312156118f857600080fd5b833561190381611885565b9250602084013561191381611885565b929592945050506040919091013590565b60006020828403121561193657600080fd5b5035919050565b8035801515811461194d57600080fd5b919050565b60008060006040848603121561196757600080fd5b833567ffffffffffffffff8082111561197f57600080fd5b818601915086601f83011261199357600080fd5b8135818111156119a257600080fd5b8760208260051b85010111156119b757600080fd5b6020928301955093506119cd918601905061193d565b90509250925092565b600080604083850312156119e957600080fd5b82356119f481611885565b91506020830135611a0481611885565b809150509250929050565b60008060408385031215611a2257600080fd5b8235611a2d81611885565b9150611a3b6020840161193d565b90509250929050565b600080600060608486031215611a5957600080fd5b83359250602084013591506119cd6040850161193d565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611ac1578160001904821115611aa757611aa7611a70565b80851615611ab457918102915b93841c9390800290611a8b565b509250929050565b600082611ad8575060016106f5565b81611ae5575060006106f5565b8160018114611afb5760028114611b0557611b21565b60019150506106f5565b60ff841115611b1657611b16611a70565b50506001821b6106f5565b5060208310610133831016604e8410600b8410161715611b44575081810a6106f5565b611b4e8383611a86565b8060001904821115611b6257611b62611a70565b029392505050565b60006108f660ff841683611ac9565b80820281158282048414176106f5576106f5611a70565b60208082526019908201527f4f776e65722d726573747269637465642066756e6374696f6e00000000000000604082015260600190565b600082611be457634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060018201611c1157611c11611a70565b5060010190565b808201808211156106f5576106f5611a70565b818103818111156106f5576106f5611a70565b600060208284031215611c5057600080fd5b81516108f681611885565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611cab5784516001600160a01b031683529383019391830191600101611c86565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122065da2e645f213d539985cf2434e243203fe06fffc05d92577d3d488e5af292ad64736f6c63430008110033
Deployed Bytecode
0x6080604052600436106101f25760003560e01c8063893d20e81161010d578063bc337182116100a0578063df8408fe1161006f578063df8408fe146105f0578063eeaad41914610610578063f7a1642e14610625578063f887ea4014610645578063fd35780c1461067957600080fd5b8063bc3371821461055f578063ca1b1cff1461057f578063db5c801014610595578063dd62ed3e146105aa57600080fd5b806399b589cb116100dc57806399b589cb146104c1578063a8aa1b31146104f5578063a9059cbb14610529578063aa4bde281461054957600080fd5b8063893d20e81461042d5780638c0b5e221461045f5780638f8deb041461047557806395d89b411461049557600080fd5b80634a092b861161018557806370a082311161015457806370a08231146103b3578063715018a6146103e9578063751039fc146103fe5780637daa930a1461041357600080fd5b80634a092b861461033e5780634fe47f701461035e578063537198b31461037e578063571ac8b01461039357600080fd5b806318160ddd116101c157806318160ddd146102cb5780631e1cf1c0146102e057806323b872dd14610302578063313ce5671461032257600080fd5b80630445b667146101fe57806306fdde0314610245578063095ea7b314610286578063180b0d7e146102b657600080fd5b366101f957005b600080fd5b34801561020a57600080fd5b506102327f000000000000000000000000000000000000000000000000000000e8d4a5100081565b6040519081526020015b60405180910390f35b34801561025157600080fd5b5060408051808201909152600f81526e0102730bb34b3b0b73a102bb2b1199608d1b60208201525b60405161023c9190611837565b34801561029257600080fd5b506102a66102a136600461189a565b61068e565b604051901515815260200161023c565b3480156102c257600080fd5b50610232606481565b3480156102d757600080fd5b506102326106fb565b3480156102ec57600080fd5b506103006102fb3660046118c6565b61071b565b005b34801561030e57600080fd5b506102a661031d3660046118e3565b610823565b34801561032e57600080fd5b506040516009815260200161023c565b34801561034a57600080fd5b506103006103593660046118c6565b6108fd565b34801561036a57600080fd5b50610300610379366004611924565b610948565b34801561038a57600080fd5b50610232600c81565b34801561039f57600080fd5b506102a66103ae3660046118c6565b610a11565b3480156103bf57600080fd5b506102326103ce3660046118c6565b6001600160a01b031660009081526001602052604090205490565b3480156103f557600080fd5b50610300610a1f565b34801561040a57600080fd5b50610300610a8e565b34801561041f57600080fd5b506003546102a69060ff1681565b34801561043957600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161023c565b34801561046b57600080fd5b5061023260085481565b34801561048157600080fd5b50610300610490366004611952565b610ac5565b3480156104a157600080fd5b506040805180820190915260038152622720ab60e91b6020820152610279565b3480156104cd57600080fd5b506104477f0000000000000000000000004bf14bf6cb8cf1dfe5b266645ed66e8ca3f6a32181565b34801561050157600080fd5b506104477f000000000000000000000000a0000a603662f832b010bfd2406816e3edea6c7e81565b34801561053557600080fd5b506102a661054436600461189a565b610b66565b34801561055557600080fd5b5061023260095481565b34801561056b57600080fd5b5061030061057a366004611924565b610b73565b34801561058b57600080fd5b50610232600b5481565b3480156105a157600080fd5b50610300610c35565b3480156105b657600080fd5b506102326105c53660046119d6565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156105fc57600080fd5b5061030061060b366004611a0f565b610c8d565b34801561061c57600080fd5b50610232600681565b34801561063157600080fd5b50610300610640366004611a44565b610ce2565b34801561065157600080fd5b506104477f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b34801561068557600080fd5b50610300610da6565b3360008181526002602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906106e99086815260200190565b60405180910390a35060015b92915050565b60006107096009600a611b6a565b61071690620f4240611b79565b905090565b6000546001600160a01b0316331461074e5760405162461bcd60e51b815260040161074590611b90565b60405180910390fd5b6001600160a01b038116737a250d5630b4cf539739df2c5dacb4c659f2488d1480159061078457506001600160a01b0381163014155b80156107c257507f000000000000000000000000a0000a603662f832b010bfd2406816e3edea6c7e6001600160a01b0316816001600160a01b031614155b6107ff5760405162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b21039b734b832b960911b6044820152606401610745565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b6001600160a01b0383166000908152600260209081526040808320338452909152812054600019146108e8576001600160a01b0384166000908152600260209081526040808320338452909152902054828110156108bc5760405162461bcd60e51b8152602060048201526016602482015275496e73756666696369656e7420416c6c6f77616e636560501b6044820152606401610745565b506001600160a01b03841660009081526002602090815260408083203384529091529020805483900390555b6108f3848484610e28565b90505b9392505050565b6000546001600160a01b031633146109275760405162461bcd60e51b815260040161074590611b90565b6001600160a01b03166000908152600460205260409020805460ff19169055565b6000546001600160a01b031633146109725760405162461bcd60e51b815260040161074590611b90565b60646109806009600a611b6a565b61098d90620f4240611b79565b6109979190611bc7565b811015610a0c5760405162461bcd60e51b815260206004820152603a60248201527f4d617857616c6c6574416d6f756e74206e6565647320746f206265206869676860448201527f6572207468616e203125206f6620746f74616c20737570706c790000000000006064820152608401610745565b600955565b60006106f58260001961068e565b6000546001600160a01b03163314610a495760405162461bcd60e51b815260040161074590611b90565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000546001600160a01b03163314610ab85760405162461bcd60e51b815260040161074590611b90565b6000196009819055600855565b6000546001600160a01b03163314610aef5760405162461bcd60e51b815260040161074590611b90565b60005b82811015610b605781600a6000868685818110610b1157610b11611be9565b9050602002016020810190610b2691906118c6565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610b5881611bff565b915050610af2565b50505050565b60006108f6338484610e28565b6000546001600160a01b03163314610b9d5760405162461bcd60e51b815260040161074590611b90565b6064610bab6009600a611b6a565b610bb890620f4240611b79565b610bc29190611bc7565b811015610c305760405162461bcd60e51b815260206004820152603660248201527f4d61785478416d6f756e74206e6565647320746f20626520686967686572207460448201527568616e203125206f6620746f74616c20737570706c7960501b6064820152608401610745565b600855565b6040516001600160a01b037f0000000000000000000000004bf14bf6cb8cf1dfe5b266645ed66e8ca3f6a32116904780156108fc02916000818181858888f19350505050158015610c8a573d6000803e3d6000fd5b50565b6000546001600160a01b03163314610cb75760405162461bcd60e51b815260040161074590611b90565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610d0c5760405162461bcd60e51b815260040161074590611b90565b60035460ff1615610d5f5760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720616c726561647920656e61626c65640000000000000000006044820152606401610745565b60038054600160ff199182161790915560058054909116821515179055610d8782603c611b79565b610d919042611c18565b600b55610d9e8343611c18565b600655505050565b336001600160a01b037f0000000000000000000000004bf14bf6cb8cf1dfe5b266645ed66e8ca3f6a3211614610e1e5760405162461bcd60e51b815260206004820152601c60248201527f4465706c6f7965722d726573747269637465642066756e6374696f6e000000006044820152606401610745565b610e266112a1565b565b600c5460009060ff1680610e6d57507f0000000000000000000000004bf14bf6cb8cf1dfe5b266645ed66e8ca3f6a3216001600160a01b0316846001600160a01b0316145b80610ea957507f0000000000000000000000004bf14bf6cb8cf1dfe5b266645ed66e8ca3f6a3216001600160a01b0316836001600160a01b0316145b15610ec057610eb98484846114ee565b90506108f6565b81600003610ed457610eb9848460006114ee565b60035460ff16610f195760405162461bcd60e51b815260206004820152601060248201526f151c98591a5b99c8191a5cd8589b195960821b6044820152606401610745565b6001600160a01b03841660009081526004602052604090205460ff1615610f785760405162461bcd60e51b8152602060048201526013602482015272536e69706572732063616e277420747261646560681b6044820152606401610745565b6001600160a01b03831661dead14801590610f9b57506001600160a01b03831615155b156110ad57600854821115610ff25760405162461bcd60e51b815260206004820152601960248201527f457863657373697665207472616e7366657220616d6f756e74000000000000006044820152606401610745565b7f000000000000000000000000a0000a603662f832b010bfd2406816e3edea6c7e6001600160a01b0316836001600160a01b0316148061105757506009546001600160a01b038416600090815260016020526040902054611054908490611c18565b11155b6110ad5760405162461bcd60e51b815260206004820152602160248201527f45786365737369766520726563656976657220746f6b656e20686f6c64696e676044820152607360f81b6064820152608401610745565b326000908152600760205260409020546001906110ca9043611c2b565b10156111185760405162461bcd60e51b815260206004820152601960248201527f5472616e73616374696f6e7320746f6f206672657175656e74000000000000006044820152606401610745565b32600090815260076020526040902043905561113484846115e6565b15611161576001600160a01b0383166000908152600460205260409020805460ff19166001179055611177565b61116a846116bd565b15611177576111776112a1565b6001600160a01b038416600090815260016020526040902054828110156111d75760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742042616c616e636560601b6044820152606401610745565b6001600160a01b0385166000908152600160205260408120805485900390556112008686611735565b61120a5783611214565b611214868561177c565b6001600160a01b038616600090815260016020526040812080549293508392909190611241908490611c18565b92505081905550846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161128d91815260200190565b60405180910390a350600195945050505050565b600c805460ff1916600190811790915530600090815260209190915260408120546008549091908210156112d557816112d9565b6008545b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061131357611313611be9565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611391573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b59190611c3e565b816001815181106113c8576113c8611be9565b6001600160a01b03928316602091820292909201015260405163791ac94760e01b815247917f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169063791ac9479061142d908690600090879030904290600401611c5b565b600060405180830381600087803b15801561144757600080fd5b505af115801561145b573d6000803e3d6000fd5b5050604051478490039250600091506001600160a01b037f0000000000000000000000004bf14bf6cb8cf1dfe5b266645ed66e8ca3f6a321169061753090849084818181858888f193505050503d80600081146114d4576040519150601f19603f3d011682016040523d82523d6000602084013e6114d9565b606091505b5050600c805460ff1916905550505050505050565b6001600160a01b0383166000908152600160205260408120548281101561154e5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742042616c616e636560601b6044820152606401610745565b6001600160a01b038086166000908152600160205260408082208054879003905591861681529081208054859290611587908490611c18565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516115d391815260200190565b60405180910390a3506001949350505050565b60055460009060ff16801561162c57507f000000000000000000000000a0000a603662f832b010bfd2406816e3edea6c7e6001600160a01b0316836001600160a01b0316145b801561163a57506006544311155b801561164f57506001600160a01b0382163014155b801561167857506001600160a01b038216737a250d5630b4cf539739df2c5dacb4c659f2488d14155b80156108f657507f000000000000000000000000a0000a603662f832b010bfd2406816e3edea6c7e6001600160a01b0316826001600160a01b03161415905092915050565b60007f000000000000000000000000a0000a603662f832b010bfd2406816e3edea6c7e6001600160a01b0316826001600160a01b0316141580156106f55750306000908152600160205260409020547f000000000000000000000000000000000000000000000000000000e8d4a51000111592915050565b6001600160a01b0382166000908152600a602052604081205460ff168061177457506001600160a01b0382166000908152600a602052604090205460ff165b159392505050565b600080600b544210156117a7576064611796600c85611b79565b6117a09190611bc7565b90506117c1565b60646117b4600685611b79565b6117be9190611bc7565b90505b30600090815260016020526040812080548392906117e0908490611c18565b909155505060405181815230906001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a361182f8184611c2b565b949350505050565b600060208083528351808285015260005b8181101561186457858101830151858201604001528201611848565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610c8a57600080fd5b600080604083850312156118ad57600080fd5b82356118b881611885565b946020939093013593505050565b6000602082840312156118d857600080fd5b81356108f681611885565b6000806000606084860312156118f857600080fd5b833561190381611885565b9250602084013561191381611885565b929592945050506040919091013590565b60006020828403121561193657600080fd5b5035919050565b8035801515811461194d57600080fd5b919050565b60008060006040848603121561196757600080fd5b833567ffffffffffffffff8082111561197f57600080fd5b818601915086601f83011261199357600080fd5b8135818111156119a257600080fd5b8760208260051b85010111156119b757600080fd5b6020928301955093506119cd918601905061193d565b90509250925092565b600080604083850312156119e957600080fd5b82356119f481611885565b91506020830135611a0481611885565b809150509250929050565b60008060408385031215611a2257600080fd5b8235611a2d81611885565b9150611a3b6020840161193d565b90509250929050565b600080600060608486031215611a5957600080fd5b83359250602084013591506119cd6040850161193d565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611ac1578160001904821115611aa757611aa7611a70565b80851615611ab457918102915b93841c9390800290611a8b565b509250929050565b600082611ad8575060016106f5565b81611ae5575060006106f5565b8160018114611afb5760028114611b0557611b21565b60019150506106f5565b60ff841115611b1657611b16611a70565b50506001821b6106f5565b5060208310610133831016604e8410600b8410161715611b44575081810a6106f5565b611b4e8383611a86565b8060001904821115611b6257611b62611a70565b029392505050565b60006108f660ff841683611ac9565b80820281158282048414176106f5576106f5611a70565b60208082526019908201527f4f776e65722d726573747269637465642066756e6374696f6e00000000000000604082015260600190565b600082611be457634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060018201611c1157611c11611a70565b5060010190565b808201808211156106f5576106f5611a70565b818103818111156106f5576106f5611a70565b600060208284031215611c5057600080fd5b81516108f681611885565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611cab5784516001600160a01b031683529383019391830191600101611c86565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122065da2e645f213d539985cf2434e243203fe06fffc05d92577d3d488e5af292ad64736f6c63430008110033
Deployed Bytecode Sourcemap
2330:9740:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3703:61;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;3703:61:0;;;;;;;;4546:71;;;;;;;;;;-1:-1:-1;4609:5:0;;;;;;;;;;;;-1:-1:-1;;;4609:5:0;;;;4546:71;;;;;;;:::i;4932:207::-;;;;;;;;;;-1:-1:-1;4932:207:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;4932:207:0;1205:187:1;3275:44:0;;;;;;;;;;;;3316:3;3275:44;;4303:79;;;;;;;;;;;;;:::i;11421:211::-;;;;;;;;;;-1:-1:-1;11421:211:0;;;;;:::i;:::-;;:::i;:::-;;5432:489;;;;;;;;;;-1:-1:-1;5432:489:0;;;;;:::i;:::-;;:::i;4388:71::-;;;;;;;;;;-1:-1:-1;4388:71:0;;2494:1;2252:36:1;;2240:2;2225:18;4388:71:0;2110:184:1;11644:113:0;;;;;;;;;;-1:-1:-1;11644:113:0;;;;;:::i;:::-;;:::i;10435:240::-;;;;;;;;;;-1:-1:-1;10435:240:0;;;;;:::i;:::-;;:::i;3218:47::-;;;;;;;;;;;;3263:2;3218:47;;5147:122;;;;;;;;;;-1:-1:-1;5147:122:0;;;;;:::i;:::-;;:::i;4698:96::-;;;;;;;;;;-1:-1:-1;4698:96:0;;;;;:::i;:::-;-1:-1:-1;;;;;4773:18:0;4755:7;4773:18;;;:9;:18;;;;;;;4698:96;1669:131;;;;;;;;;;;;;:::i;10911:139::-;;;;;;;;;;;;;:::i;2689:33::-;;;;;;;;;;-1:-1:-1;2689:33:0;;;;;;;;4623:69;;;;;;;;;;-1:-1:-1;4666:7:0;4684:5;-1:-1:-1;;;;;4684:5:0;4623:69;;;-1:-1:-1;;;;;2648:32:1;;;2630:51;;2618:2;2603:18;4623:69:0;2484:203:1;2945:51:0;;;;;;;;;;;;;;;;11193:220;;;;;;;;;;-1:-1:-1;11193:220:0;;;;;:::i;:::-;;:::i;4465:75::-;;;;;;;;;;-1:-1:-1;4530:7:0;;;;;;;;;;;;-1:-1:-1;;;4530:7:0;;;;4465:75;;3328:73;;;;;;;;;;;;;;;3665:29;;;;;;;;;;;;;;;5277:147;;;;;;;;;;-1:-1:-1;5277:147:0;;;;;:::i;:::-;;:::i;3009:55::-;;;;;;;;;;;;;;;;10687:216;;;;;;;;;;-1:-1:-1;10687:216:0;;;;;:::i;:::-;;:::i;3125:32::-;;;;;;;;;;;;;;;;11949:110;;;;;;;;;;;;;:::i;4800:124::-;;;;;;;;;;-1:-1:-1;4800:124:0;;;;;:::i;:::-;-1:-1:-1;;;;;4893:19:0;;;4875:7;4893:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;4800:124;11058:125;;;;;;;;;;-1:-1:-1;11058:125:0;;;;;:::i;:::-;;:::i;3164:43::-;;;;;;;;;;;;3206:1;3164:43;;10038:385;;;;;;;;;;-1:-1:-1;10038:385:0;;;;;:::i;:::-;;:::i;3624:34::-;;;;;;;;;;;;;;;11765:176;;;;;;;;;;;;;:::i;4932:207::-;5027:10;4998:4;5015:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;5015:32:0;;;;;;;;;;:41;;;5072:37;4998:4;;5015:32;;5072:37;;;;5050:6;160:25:1;;148:2;133:18;;14:177;5072:37:0;;;;;;;;-1:-1:-1;5127:4:0;4932:207;;;;;:::o;4303:79::-;4349:7;2549:15;2494:1;2549:2;:15;:::i;:::-;2536:29;;:9;:29;:::i;:::-;4360:19;;4303:79;:::o;11421:211::-;1603:5;;-1:-1:-1;;;;;1603:5:0;1589:10;:19;1581:57;;;;-1:-1:-1;;;1581:57:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;11496:23:0;::::1;3442:42;11496:23;::::0;::::1;::::0;:51:::1;;-1:-1:-1::0;;;;;;11523:24:0;::::1;11542:4;11523:24;;11496:51;:70;;;;;11562:4;-1:-1:-1::0;;;;;11551:15:0::1;:7;-1:-1:-1::0;;;;;11551:15:0::1;;;11496:70;11488:97;;;::::0;-1:-1:-1;;;11488:97:0;;7279:2:1;11488:97:0::1;::::0;::::1;7261:21:1::0;7318:2;7298:18;;;7291:30;-1:-1:-1;;;7337:18:1;;;7330:44;7391:18;;11488:97:0::1;7077:338:1::0;11488:97:0::1;-1:-1:-1::0;;;;;11596:21:0::1;;::::0;;;:12:::1;:21;::::0;;;;:28;;-1:-1:-1;;11596:28:0::1;11620:4;11596:28;::::0;;11421:211::o;5432:489::-;-1:-1:-1;;;;;5543:19:0;;5523:4;5543:19;;;:11;:19;;;;;;;;5563:10;5543:31;;;;;;;;-1:-1:-1;;5543:52:0;5540:316;;-1:-1:-1;;;;;5638:19:0;;5611:24;5638:19;;;:11;:19;;;;;;;;5658:10;5638:31;;;;;;;;5692:26;;;;5684:61;;;;-1:-1:-1;;;5684:61:0;;7622:2:1;5684:61:0;;;7604:21:1;7661:2;7641:18;;;7634:30;-1:-1:-1;;;7680:18:1;;;7673:52;7742:18;;5684:61:0;7420:346:1;5684:61:0;-1:-1:-1;;;;;;5788:19:0;;;;;;:11;:19;;;;;;;;5808:10;5788:31;;;;;;;:41;;;;;;;5540:316;5873:40;5887:6;5895:9;5906:6;5873:13;:40::i;:::-;5866:47;;5432:489;;;;;;:::o;11644:113::-;1603:5;;-1:-1:-1;;;;;1603:5:0;1589:10;:19;1581:57;;;;-1:-1:-1;;;1581:57:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11720:21:0::1;11744:5;11720:21:::0;;;:12:::1;:21;::::0;;;;:29;;-1:-1:-1;;11720:29:0::1;::::0;;11644:113::o;10435:240::-;1603:5;;-1:-1:-1;;;;;1603:5:0;1589:10;:19;1581:57;;;;-1:-1:-1;;;1581:57:0;;;;;;;:::i;:::-;10556:3:::1;2549:15;2494:1;2549:2;:15;:::i;:::-;2536:29;::::0;:9:::1;:29;:::i;:::-;10541:18;;;;:::i;:::-;10521:16;:38;;10513:109;;;::::0;-1:-1:-1;;;10513:109:0;;8195:2:1;10513:109:0::1;::::0;::::1;8177:21:1::0;8234:2;8214:18;;;8207:30;8273:34;8253:18;;;8246:62;8344:28;8324:18;;;8317:56;8390:19;;10513:109:0::1;7993:422:1::0;10513:109:0::1;10633:15;:34:::0;10435:240::o;5147:122::-;5202:4;5226:35;5234:7;-1:-1:-1;;5226:7:0;:35::i;1669:131::-;1603:5;;-1:-1:-1;;;;;1603:5:0;1589:10;:19;1581:57;;;;-1:-1:-1;;;1581:57:0;;;;;;;:::i;:::-;1742:1:::1;1726:18:::0;;-1:-1:-1;;;;;;1726:18:0::1;::::0;;1760:32:::1;::::0;2630:51:1;;;1760:32:0::1;::::0;2618:2:1;2603:18;1760:32:0::1;;;;;;;1669:131::o:0;10911:139::-;1603:5;;-1:-1:-1;;;;;1603:5:0;1589:10;:19;1581:57;;;;-1:-1:-1;;;1581:57:0;;;;;;;:::i;:::-;-1:-1:-1;;10965:15:0::1;:35:::0;;;11011:11:::1;:31:::0;10911:139::o;11193:220::-;1603:5;;-1:-1:-1;;;;;1603:5:0;1589:10;:19;1581:57;;;;-1:-1:-1;;;1581:57:0;;;;;;;:::i;:::-;11303:9:::1;11299:107;11318:19:::0;;::::1;11299:107;;;11386:8;11359:11;:24;11371:8;;11380:1;11371:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11359:24:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;11359:24:0;:35;;-1:-1:-1;;11359:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11339:3;::::1;::::0;::::1;:::i;:::-;;;;11299:107;;;;11193:220:::0;;;:::o;5277:147::-;5348:4;5372:44;5386:10;5398:9;5409:6;5372:13;:44::i;10687:216::-;1603:5;;-1:-1:-1;;;;;1603:5:0;1589:10;:19;1581:57;;;;-1:-1:-1;;;1581:57:0;;;;;;;:::i;:::-;10796:3:::1;2549:15;2494:1;2549:2;:15;:::i;:::-;2536:29;::::0;:9:::1;:29;:::i;:::-;10781:18;;;;:::i;:::-;10765:12;:34;;10757:101;;;::::0;-1:-1:-1;;;10757:101:0;;8894:2:1;10757:101:0::1;::::0;::::1;8876:21:1::0;8933:2;8913:18;;;8906:30;8972:34;8952:18;;;8945:62;-1:-1:-1;;;9023:18:1;;;9016:52;9085:19;;10757:101:0::1;8692:418:1::0;10757:101:0::1;10869:11;:26:::0;10687:216::o;11949:110::-;12001:50;;-1:-1:-1;;;;;12001:18:0;:27;;12029:21;12001:50;;;;;;;;;12029:21;12001:27;:50;;;;;;;;;;;;;;;;;;;;;11949:110::o;11058:125::-;1603:5;;-1:-1:-1;;;;;1603:5:0;1589:10;:19;1581:57;;;;-1:-1:-1;;;1581:57:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11144:20:0;;;::::1;;::::0;;;:11:::1;:20;::::0;;;;:31;;-1:-1:-1;;11144:31:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11058:125::o;10038:385::-;1603:5;;-1:-1:-1;;;;;1603:5:0;1589:10;:19;1581:57;;;;-1:-1:-1;;;1581:57:0;;;;;;;:::i;:::-;10172:13:::1;::::0;::::1;;10171:14;10163:50;;;::::0;-1:-1:-1;;;10163:50:0;;9317:2:1;10163:50:0::1;::::0;::::1;9299:21:1::0;9356:2;9336:18;;;9329:30;9395:25;9375:18;;;9368:53;9438:18;;10163:50:0::1;9115:347:1::0;10163:50:0::1;10224:13;:20:::0;;10240:4:::1;-1:-1:-1::0;;10224:20:0;;::::1;;::::0;;;10255:13:::1;:30:::0;;;;::::1;::::0;::::1;;;::::0;;10334:25:::1;:20:::0;10357:2:::1;10334:25;:::i;:::-;10316:43;::::0;:15:::1;:43;:::i;:::-;10296:17;:63:::0;10387:28:::1;10402:13:::0;10387:12:::1;:28;:::i;:::-;10370:14;:45:::0;-1:-1:-1;;;10038:385:0:o;11765:176::-;11827:10;-1:-1:-1;;;;;11841:18:0;11827:32;;11819:73;;;;-1:-1:-1;;;11819:73:0;;9799:2:1;11819:73:0;;;9781:21:1;9838:2;9818:18;;;9811:30;9877;9857:18;;;9850:58;9925:18;;11819:73:0;9597:352:1;11819:73:0;11903:10;:8;:10::i;:::-;11765:176::o;5929:1757::-;6041:6;;6021:4;;6041:6;;;:38;;;6061:18;-1:-1:-1;;;;;6051:28:0;:6;-1:-1:-1;;;;;6051:28:0;;6041:38;:73;;;;6096:18;-1:-1:-1;;;;;6083:31:0;:9;-1:-1:-1;;;;;6083:31:0;;6041:73;6038:252;;;6137:41;6152:6;6160:9;6171:6;6137:14;:41::i;:::-;6130:48;;;;6038:252;6208:6;6218:1;6208:11;6205:85;;6242:36;6257:6;6265:9;6276:1;6242:14;:36::i;6205:85::-;6339:13;;;;6331:42;;;;-1:-1:-1;;;6331:42:0;;10156:2:1;6331:42:0;;;10138:21:1;10195:2;10175:18;;;10168:30;-1:-1:-1;;;10214:18:1;;;10207:46;10270:18;;6331:42:0;9954:340:1;6331:42:0;-1:-1:-1;;;;;6420:20:0;;;;;;:12;:20;;;;;;;;6419:21;6411:53;;;;-1:-1:-1;;;6411:53:0;;10501:2:1;6411:53:0;;;10483:21:1;10540:2;10520:18;;;10513:30;-1:-1:-1;;;10559:18:1;;;10552:49;10618:18;;6411:53:0;10299:343:1;6411:53:0;-1:-1:-1;;;;;6518:17:0;;3530:42;6518:17;;;;:38;;-1:-1:-1;;;;;;6539:17:0;;;;6518:38;6514:290;;;6603:11;;6593:6;:21;;6585:59;;;;-1:-1:-1;;;6585:59:0;;10849:2:1;6585:59:0;;;10831:21:1;10888:2;10868:18;;;10861:30;10927:27;10907:18;;;10900:55;10972:18;;6585:59:0;10647:349:1;6585:59:0;6680:4;-1:-1:-1;;;;;6667:17:0;:9;-1:-1:-1;;;;;6667:17:0;;:69;;;-1:-1:-1;6721:15:0;;-1:-1:-1;;;;;6688:20:0;;;;;;:9;:20;;;;;;:29;;6711:6;;6688:29;:::i;:::-;:48;;6667:69;6659:133;;;;-1:-1:-1;;;6659:133:0;;11203:2:1;6659:133:0;;;11185:21:1;11242:2;11222:18;;;11215:30;11281:34;11261:18;;;11254:62;-1:-1:-1;;;11332:18:1;;;11325:31;11373:19;;6659:133:0;11001:397:1;6659:133:0;6903:9;6891:22;;;;:11;:22;;;;;;2931:1;;6876:37;;:12;:37;:::i;:::-;:57;;6868:95;;;;-1:-1:-1;;;6868:95:0;;11738:2:1;6868:95:0;;;11720:21:1;11777:2;11757:18;;;11750:30;11816:27;11796:18;;;11789:55;11861:18;;6868:95:0;11536:349:1;6868:95:0;6987:9;6975:22;;;;:11;:22;;;;;7000:12;6975:37;;7029:35;7046:6;7054:9;7029:16;:35::i;:::-;7025:215;;;-1:-1:-1;;;;;7083:23:0;;;;;;:12;:23;;;;;:30;;-1:-1:-1;;7083:30:0;7109:4;7083:30;;;7025:215;;;7167:22;7182:6;7167:14;:22::i;:::-;7164:76;;;7205:10;:8;:10::i;:::-;-1:-1:-1;;;;;7284:17:0;;7260:21;7284:17;;;:9;:17;;;;;;7320:23;;;;7312:56;;;;-1:-1:-1;;;7312:56:0;;12092:2:1;7312:56:0;;;12074:21:1;12131:2;12111:18;;;12104:30;-1:-1:-1;;;12150:18:1;;;12143:50;12210:18;;7312:56:0;11890:344:1;7312:56:0;-1:-1:-1;;;;;7403:17:0;;;;;;:9;:17;;;;;:27;;;;;;;7479:32;7413:6;7501:9;7479:13;:32::i;:::-;:67;;7540:6;7479:67;;;7514:23;7522:6;7530;7514:7;:23::i;:::-;-1:-1:-1;;;;;7557:20:0;;;;;;:9;:20;;;;;:38;;7454:92;;-1:-1:-1;7454:92:0;;7557:20;;;:38;;7454:92;;7557:38;:::i;:::-;;;;;;;;7630:9;-1:-1:-1;;;;;7613:43:0;7622:6;-1:-1:-1;;;;;7613:43:0;;7641:14;7613:43;;;;160:25:1;;148:2;133:18;;14:177;7613:43:0;;;;;;;;-1:-1:-1;7674:4:0;;5929:1757;-1:-1:-1;;;;;5929:1757:0:o;9239:791::-;3821:6;:13;;-1:-1:-1;;3821:13:0;3830:4;3821:13;;;;;;9329:4:::1;3821:6:::0;9311:24;;;::::1;::::0;;;;;;;;9385:11:::1;::::0;9311:24;;3821:6;9369:27;::::1;;:56;;9413:12;9369:56;;;9399:11;;9369:56;9462:16;::::0;;9476:1:::1;9462:16:::0;;;;;::::1;::::0;;9346:79;;-1:-1:-1;9438:21:0::1;::::0;9462:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9462:16:0::1;9438:40;;9507:4;9489;9494:1;9489:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;9489:23:0::1;;;-1:-1:-1::0;;;;;9489:23:0::1;;;::::0;::::1;9533:6;-1:-1:-1::0;;;;;9533:11:0::1;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9523:4;9528:1;9523:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9523:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;9617:188:::1;::::0;-1:-1:-1;;;9617:188:0;;9583:21:::1;::::0;9617:6:::1;:57;::::0;::::1;::::0;:188:::1;::::0;9689:12;;9559:21:::1;::::0;9732:4;;9759::::1;::::0;9779:15:::1;::::0;9617:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;9945:57:0::1;::::0;9862:21:::1;:37:::0;;::::1;::::0;-1:-1:-1;9842:17:0::1;::::0;-1:-1:-1;;;;;;9945:18:0::1;:23;::::0;9992:5:::1;::::0;9862:37;;9842:17;9945:57;9842:17;9945:57;9862:37;9945:23;9992:5;9945:57:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;3839:6:0;:14;;-1:-1:-1;;3839:14:0;;;-1:-1:-1;;;;;;;9239:791:0:o;7698:413::-;-1:-1:-1;;;;;7832:17:0;;7791:4;7832:17;;;:9;:17;;;;;;7868:23;;;;7860:56;;;;-1:-1:-1;;;7860:56:0;;12092:2:1;7860:56:0;;;12074:21:1;12131:2;12111:18;;;12104:30;-1:-1:-1;;;12150:18:1;;;12143:50;12210:18;;7860:56:0;11890:344:1;7860:56:0;-1:-1:-1;;;;;7951:17:0;;;;;;;:9;:17;;;;;;:27;;;;;;;8000:20;;;;;;;;:30;;7972:6;;7951:17;8000:30;;7972:6;;8000:30;:::i;:::-;;;;;;;;8063:9;-1:-1:-1;;;;;8046:35:0;8055:6;-1:-1:-1;;;;;8046:35:0;;8074:6;8046:35;;;;160:25:1;;148:2;133:18;;14:177;8046:35:0;;;;;;;;-1:-1:-1;8099:4:0;;7698:413;-1:-1:-1;;;;7698:413:0:o;8119:272::-;8227:13;;8203:4;;8227:13;;:31;;;;;8254:4;-1:-1:-1;;;;;8244:14:0;:6;-1:-1:-1;;;;;8244:14:0;;8227:31;:65;;;;;8278:14;;8262:12;:30;;8227:65;:106;;;;-1:-1:-1;;;;;;8307:26:0;;8328:4;8307:26;;8227:106;:135;;;;-1:-1:-1;;;;;;8337:25:0;;3442:42;8337:25;;8227:135;:156;;;;;8379:4;-1:-1:-1;;;;;8366:17:0;:9;-1:-1:-1;;;;;8366:17:0;;;8220:163;;8119:272;;;;:::o;9077:154::-;9140:4;9174;-1:-1:-1;;;;;9164:14:0;:6;-1:-1:-1;;;;;9164:14:0;;;:59;;;;-1:-1:-1;9200:4:0;9182:24;;;;:9;:24;;;;;;9210:13;-1:-1:-1;9182:41:0;9157:66;9077:154;-1:-1:-1;;9077:154:0:o;8399:161::-;-1:-1:-1;;;;;8506:19:0;;8480:4;8506:19;;;:11;:19;;;;;;;;;:45;;-1:-1:-1;;;;;;8529:22:0;;;;;;:11;:22;;;;;;;;8506:45;8504:48;;8399:161;-1:-1:-1;;;8399:161:0:o;8568:501::-;8635:7;8655:17;8704;;8686:15;:35;8683:206;;;3316:3;8749:27;3263:2;8749:6;:27;:::i;:::-;:44;;;;:::i;:::-;8737:56;;8683:206;;;3316:3;8836:24;3206:1;8836:6;:24;:::i;:::-;:41;;;;:::i;:::-;8824:53;;8683:206;8940:4;8922:24;;;;:9;:24;;;;;:37;;8950:9;;8922:24;:37;;8950:9;;8922:37;:::i;:::-;;;;-1:-1:-1;;8975:42:0;;160:25:1;;;9000:4:0;;-1:-1:-1;;;;;8975:42:0;;;;;148:2:1;133:18;8975:42:0;;;;;;;9043:18;9052:9;9043:6;:18;:::i;:::-;9036:25;8568:501;-1:-1:-1;;;;8568:501:0:o;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;885:315;953:6;961;1014:2;1002:9;993:7;989:23;985:32;982:52;;;1030:1;1027;1020:12;982:52;1069:9;1056:23;1088:31;1113:5;1088:31;:::i;:::-;1138:5;1190:2;1175:18;;;;1162:32;;-1:-1:-1;;;885:315:1:o;1397:247::-;1456:6;1509:2;1497:9;1488:7;1484:23;1480:32;1477:52;;;1525:1;1522;1515:12;1477:52;1564:9;1551:23;1583:31;1608:5;1583:31;:::i;1649:456::-;1726:6;1734;1742;1795:2;1783:9;1774:7;1770:23;1766:32;1763:52;;;1811:1;1808;1801:12;1763:52;1850:9;1837:23;1869:31;1894:5;1869:31;:::i;:::-;1919:5;-1:-1:-1;1976:2:1;1961:18;;1948:32;1989:33;1948:32;1989:33;:::i;:::-;1649:456;;2041:7;;-1:-1:-1;;;2095:2:1;2080:18;;;;2067:32;;1649:456::o;2299:180::-;2358:6;2411:2;2399:9;2390:7;2386:23;2382:32;2379:52;;;2427:1;2424;2417:12;2379:52;-1:-1:-1;2450:23:1;;2299:180;-1:-1:-1;2299:180:1:o;2692:160::-;2757:20;;2813:13;;2806:21;2796:32;;2786:60;;2842:1;2839;2832:12;2786:60;2692:160;;;:::o;2857:689::-;2949:6;2957;2965;3018:2;3006:9;2997:7;2993:23;2989:32;2986:52;;;3034:1;3031;3024:12;2986:52;3074:9;3061:23;3103:18;3144:2;3136:6;3133:14;3130:34;;;3160:1;3157;3150:12;3130:34;3198:6;3187:9;3183:22;3173:32;;3243:7;3236:4;3232:2;3228:13;3224:27;3214:55;;3265:1;3262;3255:12;3214:55;3305:2;3292:16;3331:2;3323:6;3320:14;3317:34;;;3347:1;3344;3337:12;3317:34;3402:7;3395:4;3385:6;3382:1;3378:14;3374:2;3370:23;3366:34;3363:47;3360:67;;;3423:1;3420;3413:12;3360:67;3454:4;3446:13;;;;-1:-1:-1;3478:6:1;-1:-1:-1;3503:37:1;;3519:20;;;-1:-1:-1;3503:37:1;:::i;:::-;3493:47;;2857:689;;;;;:::o;3775:388::-;3843:6;3851;3904:2;3892:9;3883:7;3879:23;3875:32;3872:52;;;3920:1;3917;3910:12;3872:52;3959:9;3946:23;3978:31;4003:5;3978:31;:::i;:::-;4028:5;-1:-1:-1;4085:2:1;4070:18;;4057:32;4098:33;4057:32;4098:33;:::i;:::-;4150:7;4140:17;;;3775:388;;;;;:::o;4168:315::-;4233:6;4241;4294:2;4282:9;4273:7;4269:23;4265:32;4262:52;;;4310:1;4307;4300:12;4262:52;4349:9;4336:23;4368:31;4393:5;4368:31;:::i;:::-;4418:5;-1:-1:-1;4442:35:1;4473:2;4458:18;;4442:35;:::i;:::-;4432:45;;4168:315;;;;;:::o;4488:316::-;4562:6;4570;4578;4631:2;4619:9;4610:7;4606:23;4602:32;4599:52;;;4647:1;4644;4637:12;4599:52;4683:9;4670:23;4660:33;;4740:2;4729:9;4725:18;4712:32;4702:42;;4763:35;4794:2;4783:9;4779:18;4763:35;:::i;5035:127::-;5096:10;5091:3;5087:20;5084:1;5077:31;5127:4;5124:1;5117:15;5151:4;5148:1;5141:15;5167:422;5256:1;5299:5;5256:1;5313:270;5334:7;5324:8;5321:21;5313:270;;;5393:4;5389:1;5385:6;5381:17;5375:4;5372:27;5369:53;;;5402:18;;:::i;:::-;5452:7;5442:8;5438:22;5435:55;;;5472:16;;;;5435:55;5551:22;;;;5511:15;;;;5313:270;;;5317:3;5167:422;;;;;:::o;5594:806::-;5643:5;5673:8;5663:80;;-1:-1:-1;5714:1:1;5728:5;;5663:80;5762:4;5752:76;;-1:-1:-1;5799:1:1;5813:5;;5752:76;5844:4;5862:1;5857:59;;;;5930:1;5925:130;;;;5837:218;;5857:59;5887:1;5878:10;;5901:5;;;5925:130;5962:3;5952:8;5949:17;5946:43;;;5969:18;;:::i;:::-;-1:-1:-1;;6025:1:1;6011:16;;6040:5;;5837:218;;6139:2;6129:8;6126:16;6120:3;6114:4;6111:13;6107:36;6101:2;6091:8;6088:16;6083:2;6077:4;6074:12;6070:35;6067:77;6064:159;;;-1:-1:-1;6176:19:1;;;6208:5;;6064:159;6255:34;6280:8;6274:4;6255:34;:::i;:::-;6325:6;6321:1;6317:6;6313:19;6304:7;6301:32;6298:58;;;6336:18;;:::i;:::-;6374:20;;5594:806;-1:-1:-1;;;5594:806:1:o;6405:140::-;6463:5;6492:47;6533:4;6523:8;6519:19;6513:4;6492:47;:::i;6550:168::-;6623:9;;;6654;;6671:15;;;6665:22;;6651:37;6641:71;;6692:18;;:::i;6723:349::-;6925:2;6907:21;;;6964:2;6944:18;;;6937:30;7003:27;6998:2;6983:18;;6976:55;7063:2;7048:18;;6723:349::o;7771:217::-;7811:1;7837;7827:132;;7881:10;7876:3;7872:20;7869:1;7862:31;7916:4;7913:1;7906:15;7944:4;7941:1;7934:15;7827:132;-1:-1:-1;7973:9:1;;7771:217::o;8420:127::-;8481:10;8476:3;8472:20;8469:1;8462:31;8512:4;8509:1;8502:15;8536:4;8533:1;8526:15;8552:135;8591:3;8612:17;;;8609:43;;8632:18;;:::i;:::-;-1:-1:-1;8679:1:1;8668:13;;8552:135::o;9467:125::-;9532:9;;;9553:10;;;9550:36;;;9566:18;;:::i;11403:128::-;11470:9;;;11491:11;;;11488:37;;;11505:18;;:::i;12371:251::-;12441:6;12494:2;12482:9;12473:7;12469:23;12465:32;12462:52;;;12510:1;12507;12500:12;12462:52;12542:9;12536:16;12561:31;12586:5;12561:31;:::i;12627:980::-;12889:4;12937:3;12926:9;12922:19;12968:6;12957:9;12950:25;12994:2;13032:6;13027:2;13016:9;13012:18;13005:34;13075:3;13070:2;13059:9;13055:18;13048:31;13099:6;13134;13128:13;13165:6;13157;13150:22;13203:3;13192:9;13188:19;13181:26;;13242:2;13234:6;13230:15;13216:29;;13263:1;13273:195;13287:6;13284:1;13281:13;13273:195;;;13352:13;;-1:-1:-1;;;;;13348:39:1;13336:52;;13443:15;;;;13408:12;;;;13384:1;13302:9;13273:195;;;-1:-1:-1;;;;;;;13524:32:1;;;;13519:2;13504:18;;13497:60;-1:-1:-1;;;13588:3:1;13573:19;13566:35;13485:3;12627:980;-1:-1:-1;;;12627:980:1:o
Swarm Source
ipfs://65da2e645f213d539985cf2434e243203fe06fffc05d92577d3d488e5af292ad
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.