Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
958,214,757.9119 KAGU
Holders
58
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 4 Decimals)
Balance
9,998,155.0646 KAGUValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
THEGODOFFIRE
Compiler Version
v0.8.12+commit.f00d7308
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-08-17 */ // SPDX-License-Identifier: UNLICENSED pragma solidity 0.8.12; 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 ERC20 { 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 Auth { address internal owner; mapping (address => bool) internal authorizations; constructor(address _owner) { owner = _owner; authorizations[_owner] = true; } modifier onlyOwner() { require(isOwner(msg.sender), "!OWNER"); _; } modifier authorized() { require(isAuthorized(msg.sender), "!AUTHORIZED"); _; } function isOwner(address account) public view returns (bool) { return account == owner; } function isAuthorized(address adr) public view returns (bool) { return authorizations[adr]; } function renounceOwnership() public onlyOwner { emit OwnershipTransferred(address(0)); owner = 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 THEGODOFFIRE is ERC20, Auth { using SafeMath for uint256; address immutable WETH; address constant DEAD = 0x000000000000000000000000000000000000dEaD; address constant ZERO = 0x0000000000000000000000000000000000000000; string public constant name = "Kagutsuchi"; string public constant symbol = "KAGU"; uint8 public constant decimals = 4; uint256 public totalSupply = 1 * 10**9 * 10**decimals; uint256 public _maxTxAmount = totalSupply / 100; uint256 public _maxWalletToken = totalSupply / 100; mapping (address => uint256) public balanceOf; mapping (address => mapping (address => uint256)) _allowances; mapping (address => bool) public isFeeExempt; mapping (address => bool) public isTxLimitExempt; mapping (address => bool) public isWalletLimitExempt; uint256 public marketingFee = 30; uint256 public teamFee = 30; uint256 public buybackFee = 10; uint256 public burnFee = 30; uint256 public totalFee = marketingFee + teamFee + burnFee + buybackFee; uint256 public constant feeDenominator = 1000; uint256 sellMultiplier = 150; uint256 buyMultiplier = 100; uint256 transferMultiplier = 100; address public marketingFeeReceiver; address public teamFeeReceiver; address public buybackFeeReceiver; IDEXRouter public router; address public immutable pair; bool public swapEnabled = true; uint256 public swapThreshold = totalSupply / 500; bool inSwap; modifier swapping() { inSwap = true; _; inSwap = false; } constructor () Auth(msg.sender) { router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); WETH = router.WETH(); pair = IDEXFactory(router.factory()).createPair(WETH, address(this)); _allowances[address(this)][address(router)] = type(uint256).max; marketingFeeReceiver = 0x9E2767F498d4a7A3687c1257cBd06103DF720E94; buybackFeeReceiver = 0x2e1BC47c0c140E08a0c4a6a41a386d1100DcA8db; teamFeeReceiver = 0xA367E50A1b638f93F7fdF4a9333e7C48Ea55522e; isFeeExempt[msg.sender] = true; isTxLimitExempt[msg.sender] = true; isTxLimitExempt[DEAD] = true; isTxLimitExempt[ZERO] = true; isWalletLimitExempt[msg.sender] = true; isWalletLimitExempt[address(this)] = true; isWalletLimitExempt[DEAD] = true; balanceOf[msg.sender] = totalSupply; emit Transfer(address(0), msg.sender, totalSupply); } receive() external payable { } function getOwner() external view override returns (address) { return owner; } function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; } function approve(address spender, uint256 amount) public override 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 override returns (bool) { return _transferFrom(msg.sender, recipient, amount); } function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) { if(_allowances[sender][msg.sender] != type(uint256).max){ _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance"); } return _transferFrom(sender, recipient, amount); } function setMaxWalletPercent_base1000(uint256 maxWallPercent_base1000) external onlyOwner { require(maxWallPercent_base1000 >= 1,"Cannot set max wallet less than 0.1%"); _maxWalletToken = (totalSupply * maxWallPercent_base1000 ) / 1000; } function setMaxTxPercent_base1000(uint256 maxTXPercentage_base1000) external onlyOwner { require(maxTXPercentage_base1000 >= 1,"Cannot set max transaction less than 0.1%"); _maxTxAmount = (totalSupply * maxTXPercentage_base1000 ) / 1000; } function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) { if(inSwap){ return _basicTransfer(sender, recipient, amount); } if (!authorizations[sender] && !isWalletLimitExempt[sender] && !isWalletLimitExempt[recipient] && recipient != pair) { require((balanceOf[recipient] + amount) <= _maxWalletToken,"max wallet limit reached"); } require((amount <= _maxTxAmount) || isTxLimitExempt[sender] || isTxLimitExempt[recipient], "Max TX Limit Exceeded"); if(shouldSwapBack()){ swapBack(); } balanceOf[sender] = balanceOf[sender].sub(amount, "Insufficient Balance"); uint256 amountReceived = (isFeeExempt[sender] || isFeeExempt[recipient]) ? amount : takeFee(sender, amount, recipient); balanceOf[recipient] = balanceOf[recipient].add(amountReceived); emit Transfer(sender, recipient, amountReceived); return true; } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { balanceOf[sender] = balanceOf[sender].sub(amount, "Insufficient Balance"); balanceOf[recipient] = balanceOf[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function takeFee(address sender, uint256 amount, address recipient) internal returns (uint256) { if(amount == 0 || totalFee == 0){ return amount; } uint256 multiplier = transferMultiplier; if(recipient == pair) { multiplier = sellMultiplier; } else if(sender == pair) { multiplier = buyMultiplier; } uint256 feeAmount = amount.mul(totalFee).mul(multiplier).div(feeDenominator * 100); uint256 burnTokens = feeAmount.mul(burnFee).div(totalFee); uint256 contractTokens = feeAmount.sub(burnTokens); if(contractTokens > 0){ balanceOf[address(this)] = balanceOf[address(this)].add(contractTokens); emit Transfer(sender, address(this), contractTokens); } if(burnTokens > 0){ totalSupply = totalSupply - burnTokens; emit Transfer(sender,DEAD,burnTokens); } return amount.sub(feeAmount); } function shouldSwapBack() internal view returns (bool) { return msg.sender != pair && !inSwap && swapEnabled && balanceOf[address(this)] >= swapThreshold; } function clearStuckBalance(uint256 amountPercentage) external onlyOwner { require(amountPercentage < 101, "Max 100%"); uint256 amountETH = address(this).balance; uint256 amountToClear = ( amountETH * amountPercentage ) / 100; payable(msg.sender).transfer(amountToClear); } function clearStuckToken(address tokenAddress, uint256 tokens) external authorized returns (bool success) { if(tokens == 0){ tokens = ERC20(tokenAddress).balanceOf(address(this)); } return ERC20(tokenAddress).transfer(msg.sender, tokens); } function swapBack() internal swapping { uint256 totalETHFee = totalFee - burnFee; uint256 amountToSwap = swapThreshold; address[] memory path = new address[](2); path[0] = address(this); path[1] = WETH; router.swapExactTokensForETHSupportingFeeOnTransferTokens( amountToSwap, 0, path, address(this), block.timestamp ); uint256 amountETH = address(this).balance; uint256 amountETHMarketing = (amountETH * marketingFee) / totalETHFee; uint256 amountETHteam = (amountETH * teamFee) / totalETHFee; uint256 amountETHbuyback = (amountETH * buybackFee) / totalETHFee; payable(marketingFeeReceiver).transfer(amountETHMarketing); payable(teamFeeReceiver).transfer(amountETHteam); payable(buybackFeeReceiver).transfer(amountETHbuyback); } function setMultipliers(uint256 _buy, uint256 _sell, uint256 _trans) external onlyOwner { sellMultiplier = _sell; buyMultiplier = _buy; transferMultiplier = _trans; } function setFees_base1000(uint256 _marketingFee, uint256 _teamFee, uint256 _buybackFee, uint256 _burnFee) external onlyOwner { marketingFee = _marketingFee; teamFee = _teamFee; buybackFee = _buybackFee; burnFee = _burnFee; totalFee = _marketingFee + _teamFee + _burnFee + _buybackFee; } function setFeeReceivers(address _marketingFeeReceiver, address _teamFeeReceiver, address _buybackFeeReceiver) external onlyOwner { marketingFeeReceiver = _marketingFeeReceiver; teamFeeReceiver = _teamFeeReceiver; buybackFeeReceiver = _buybackFeeReceiver; } function setSwapBackSettings(bool _enabled, uint256 _amount) external onlyOwner { require(_amount < (totalSupply/10), "Amount too high"); swapEnabled = _enabled; swapThreshold = _amount; } function getCirculatingSupply() public view returns (uint256) { return (totalSupply - balanceOf[DEAD] - balanceOf[ZERO]); } }
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":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"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":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buybackFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buybackFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercentage","type":"uint256"}],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"clearStuckToken","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","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":"adr","type":"address"}],"name":"isAuthorized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":"address","name":"_marketingFeeReceiver","type":"address"},{"internalType":"address","name":"_teamFeeReceiver","type":"address"},{"internalType":"address","name":"_buybackFeeReceiver","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_teamFee","type":"uint256"},{"internalType":"uint256","name":"_buybackFee","type":"uint256"},{"internalType":"uint256","name":"_burnFee","type":"uint256"}],"name":"setFees_base1000","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTXPercentage_base1000","type":"uint256"}],"name":"setMaxTxPercent_base1000","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallPercent_base1000","type":"uint256"}],"name":"setMaxWalletPercent_base1000","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"setMultipliers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"view","type":"function"},{"inputs":[],"name":"teamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"teamFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60c0604052620000126004600a62000526565b6200002290633b9aca006200053e565b600255606460025462000036919062000560565b60035560646002546200004a919062000560565b600455601e600a818155600b829055600c819055600d8290559062000070818062000583565b6200007c919062000583565b62000088919062000583565b600e556096600f55606460108190556011556015805460ff60a01b1916600160a01b179055600254620000bf906101f49062000560565b601655348015620000cf57600080fd5b5060008054336001600160a01b031991821681178355825260016020818152604093849020805460ff191690921790915560158054737a250d5630b4cf539739df2c5dacb4c659f2488d93168317905582516315ab88c960e31b81529251919263ad5c464892600480830193928290030181865afa15801562000156573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200017c91906200059e565b6001600160a01b039081166080526015546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa158015620001cd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001f391906200059e565b6080516040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af115801562000245573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026b91906200059e565b6001600160a01b0390811660a05230600081815260066020908152604080832060155490951683529381528382206000199055601280546001600160a01b0319908116739e2767f498d4a7a3687c1257cbd06103df720e9417909155601480548216732e1bc47c0c140e08a0c4a6a41a386d1100dca8db1790556013805490911673a367e50a1b638f93f7fdf4a9333e7c48ea55522e1790553380835260078252848320805460ff1990811660019081179092556008845286852080548216831790557f046fee3d77c34a6c5e10c3be6dc4b132c30449dbf4f0bc07684896dd0933429980548216831790557f5eff886ea0ce6ca488a3d6e336d6c0f75f46d19b42c06ce5ee98e42c96d256c7805482168317905560098452868520805482168317905594845285842080548616821790557f960b1051749987b45b5679007fff577a1c2f763ec21c15a6c5eb193075003785805490951617909355600254838352600582528483208190559351938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3620005c9565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620004685781600019048211156200044c576200044c62000411565b808516156200045a57918102915b93841c93908002906200042c565b509250929050565b600082620004815750600162000520565b81620004905750600062000520565b8160018114620004a95760028114620004b457620004d4565b600191505062000520565b60ff841115620004c857620004c862000411565b50506001821b62000520565b5060208310610133831016604e8410600b8410161715620004f9575081810a62000520565b62000505838362000427565b80600019048211156200051c576200051c62000411565b0290505b92915050565b60006200053760ff84168362000470565b9392505050565b60008160001904831182151516156200055b576200055b62000411565b500290565b6000826200057e57634e487b7160e01b600052601260045260246000fd5b500490565b6000821982111562000599576200059962000411565b500190565b600060208284031215620005b157600080fd5b81516001600160a01b03811681146200053757600080fd5b60805160a051611d246200060b6000396000818161063401528181610fec01528181611351015281816116210152611664015260006114360152611d246000f3fe60806040526004361061024a5760003560e01c8063715018a611610139578063bd9ab537116100b6578063df20fd491161007a578063df20fd4914610742578063e96fada214610762578063efa5e34714610782578063f887ea40146107a2578063fce589d8146107c2578063fe9fbb80146107d857600080fd5b8063bd9ab53714610676578063c867d60b14610696578063d7c01032146106c6578063d7c94efd146106e6578063dd62ed3e146106fc57600080fd5b8063893d20e8116100fd578063893d20e8146105a45780638b42507f146105c257806395d89b41146105f2578063a8aa1b3114610622578063a9059cbb1461065657600080fd5b8063715018a61461052357806377b54bad1461053857806378109e54146105585780637d1db4a51461056e57806384b1d1ef1461058457600080fd5b80632f54bf6e116101c7578063571ac8b01161018b578063571ac8b01461047f5780636b67c4df1461049f5780636ce46bc3146104b55780636ddd1713146104d557806370a08231146104f657600080fd5b80632f54bf6e146103ab578063313ce567146103da5780633b2d081c146104015780633f4218e014610417578063402911431461044757600080fd5b806318160ddd1161020e57806318160ddd1461032a5780631da1db5e146103405780631df4ccfc1461036057806323b872dd146103765780632b112e491461039657600080fd5b80630445b6671461025657806306fdde031461027f57806309302dc6146102c2578063095ea7b3146102e4578063180b0d7e1461031457600080fd5b3661025157005b600080fd5b34801561026257600080fd5b5061026c60165481565b6040519081526020015b60405180910390f35b34801561028b57600080fd5b506102b56040518060400160405280600a8152602001694b61677574737563686960b01b81525081565b604051610276919061195d565b3480156102ce57600080fd5b506102e26102dd3660046119b2565b610811565b005b3480156102f057600080fd5b506103046102ff3660046119e7565b6108c2565b6040519015158152602001610276565b34801561032057600080fd5b5061026c6103e881565b34801561033657600080fd5b5061026c60025481565b34801561034c57600080fd5b506102e261035b3660046119b2565b61092f565b34801561036c57600080fd5b5061026c600e5481565b34801561038257600080fd5b50610304610391366004611a11565b6109e3565b3480156103a257600080fd5b5061026c610aa5565b3480156103b757600080fd5b506103046103c6366004611a4d565b6000546001600160a01b0391821691161490565b3480156103e657600080fd5b506103ef600481565b60405160ff9091168152602001610276565b34801561040d57600080fd5b5061026c600c5481565b34801561042357600080fd5b50610304610432366004611a4d565b60076020526000908152604090205460ff1681565b34801561045357600080fd5b50601354610467906001600160a01b031681565b6040516001600160a01b039091168152602001610276565b34801561048b57600080fd5b5061030461049a366004611a4d565b610b15565b3480156104ab57600080fd5b5061026c600a5481565b3480156104c157600080fd5b506102e26104d0366004611a68565b610b23565b3480156104e157600080fd5b5060155461030490600160a01b900460ff1681565b34801561050257600080fd5b5061026c610511366004611a4d565b60056020526000908152604090205481565b34801561052f57600080fd5b506102e2610b5e565b34801561054457600080fd5b506103046105533660046119e7565b610bce565b34801561056457600080fd5b5061026c60045481565b34801561057a57600080fd5b5061026c60035481565b34801561059057600080fd5b50601454610467906001600160a01b031681565b3480156105b057600080fd5b506000546001600160a01b0316610467565b3480156105ce57600080fd5b506103046105dd366004611a4d565b60086020526000908152604090205460ff1681565b3480156105fe57600080fd5b506102b5604051806040016040528060048152602001634b41475560e01b81525081565b34801561062e57600080fd5b506104677f000000000000000000000000000000000000000000000000000000000000000081565b34801561066257600080fd5b506103046106713660046119e7565b610cfc565b34801561068257600080fd5b506102e26106913660046119b2565b610d09565b3480156106a257600080fd5b506103046106b1366004611a4d565b60096020526000908152604090205460ff1681565b3480156106d257600080fd5b506102e26106e1366004611a94565b610db7565b3480156106f257600080fd5b5061026c600b5481565b34801561070857600080fd5b5061026c610717366004611ad7565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561074e57600080fd5b506102e261075d366004611b1b565b610e20565b34801561076e57600080fd5b50601254610467906001600160a01b031681565b34801561078e57600080fd5b506102e261079d366004611b39565b610ebb565b3480156107ae57600080fd5b50601554610467906001600160a01b031681565b3480156107ce57600080fd5b5061026c600d5481565b3480156107e457600080fd5b506103046107f3366004611a4d565b6001600160a01b031660009081526001602052604090205460ff1690565b6000546001600160a01b031633146108445760405162461bcd60e51b815260040161083b90611b6b565b60405180910390fd5b60018110156108a15760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d61782077616c6c6574206c657373207468616e20604482015263302e312560e01b606482015260840161083b565b6103e8816002546108b29190611ba1565b6108bc9190611bc0565b60045550565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061091d9086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b031633146109595760405162461bcd60e51b815260040161083b90611b6b565b606581106109945760405162461bcd60e51b81526020600482015260086024820152674d6178203130302560c01b604482015260640161083b565b47600060646109a38484611ba1565b6109ad9190611bc0565b604051909150339082156108fc029083906000818181858888f193505050501580156109dd573d6000803e3d6000fd5b50505050565b6001600160a01b038316600090815260066020908152604080832033845290915281205460001914610a90576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600682528381203382529091529190912054610a6b918490610f22565b6001600160a01b03851660009081526006602090815260408083203384529091529020555b610a9b848484610f5c565b90505b9392505050565b60056020527f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746bc5461dead60009081527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba54600254919291610b069190611be2565b610b109190611be2565b905090565b6000610929826000196108c2565b6000546001600160a01b03163314610b4d5760405162461bcd60e51b815260040161083b90611b6b565b600f91909155601091909155601155565b6000546001600160a01b03163314610b885760405162461bcd60e51b815260040161083b90611b6b565b604051600081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1600080546001600160a01b0319169055565b3360009081526001602052604081205460ff16610c1b5760405162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015260640161083b565b81610c8b576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610c64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c889190611bf9565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af1158015610cd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a9e9190611c12565b6000610a9e338484610f5c565b6000546001600160a01b03163314610d335760405162461bcd60e51b815260040161083b90611b6b565b6001811015610d965760405162461bcd60e51b815260206004820152602960248201527f43616e6e6f7420736574206d6178207472616e73616374696f6e206c657373206044820152687468616e20302e312560b81b606482015260840161083b565b6103e881600254610da79190611ba1565b610db19190611bc0565b60035550565b6000546001600160a01b03163314610de15760405162461bcd60e51b815260040161083b90611b6b565b601280546001600160a01b039485166001600160a01b031991821617909155601380549385169382169390931790925560148054919093169116179055565b6000546001600160a01b03163314610e4a5760405162461bcd60e51b815260040161083b90611b6b565b600a600254610e599190611bc0565b8110610e995760405162461bcd60e51b815260206004820152600f60248201526e082dadeeadce840e8dede40d0d2ced608b1b604482015260640161083b565b60158054921515600160a01b0260ff60a01b1990931692909217909155601655565b6000546001600160a01b03163314610ee55760405162461bcd60e51b815260040161083b90611b6b565b600a849055600b839055600c829055600d8190558181610f058587611c2f565b610f0f9190611c2f565b610f199190611c2f565b600e5550505050565b60008184841115610f465760405162461bcd60e51b815260040161083b919061195d565b506000610f538486611be2565b95945050505050565b60175460009060ff1615610f7c57610f75848484611270565b9050610a9e565b6001600160a01b03841660009081526001602052604090205460ff16158015610fbe57506001600160a01b03841660009081526009602052604090205460ff16155b8015610fe357506001600160a01b03831660009081526009602052604090205460ff16155b801561102157507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614155b1561109b576004546001600160a01b03841660009081526005602052604090205461104d908490611c2f565b111561109b5760405162461bcd60e51b815260206004820152601860248201527f6d61782077616c6c6574206c696d697420726561636865640000000000000000604482015260640161083b565b600354821115806110c457506001600160a01b03841660009081526008602052604090205460ff165b806110e757506001600160a01b03831660009081526008602052604090205460ff165b61112b5760405162461bcd60e51b815260206004820152601560248201527413585e08151608131a5b5a5d08115e18d959591959605a1b604482015260640161083b565b611133611344565b15611140576111406113b7565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260059091529190912054611192918490610f22565b6001600160a01b038516600090815260056020908152604080832093909355600790529081205460ff16806111df57506001600160a01b03841660009081526007602052604090205460ff165b6111f3576111ee8584866115fd565b6111f5565b825b6001600160a01b03851660009081526005602052604090205490915061121b90826117cd565b6001600160a01b038086166000818152600560205260409081902093909355915190871690600080516020611ccf8339815191529061125d9085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526005909152918220546112c1918490610f22565b6001600160a01b0380861660009081526005602052604080822093909355908516815220546112f090836117cd565b6001600160a01b038085166000818152600560205260409081902093909355915190861690600080516020611ccf833981519152906113329086815260200190565b60405180910390a35060019392505050565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590611382575060175460ff16155b80156113975750601554600160a01b900460ff165b8015610b1057505060165430600090815260056020526040902054101590565b6017805460ff19166001179055600d54600e546000916113d691611be2565b601654604080516002808252606082018352939450919260009291602083019080368337019050509050308160008151811061141457611414611c47565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000008160018151811061146857611468611c47565b6001600160a01b03928316602091820292909201015260155460405163791ac94760e01b815291169063791ac947906114ae908590600090869030904290600401611c5d565b600060405180830381600087803b1580156114c857600080fd5b505af11580156114dc573d6000803e3d6000fd5b5050600a544792506000915085906114f49084611ba1565b6114fe9190611bc0565b9050600085600b54846115119190611ba1565b61151b9190611bc0565b9050600086600c548561152e9190611ba1565b6115389190611bc0565b6012546040519192506001600160a01b03169084156108fc029085906000818181858888f19350505050158015611573573d6000803e3d6000fd5b506013546040516001600160a01b039091169083156108fc029084906000818181858888f193505050501580156115ae573d6000803e3d6000fd5b506014546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156115e9573d6000803e3d6000fd5b50506017805460ff19169055505050505050565b600082158061160c5750600e54155b15611618575081610a9e565b600060115490507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614156116625750600f546116a1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b031614156116a157506010545b60006116d86116b36103e86064611ba1565b6116d2846116cc600e548a61182c90919063ffffffff16565b9061182c565b906118ab565b905060006116f7600e546116d2600d548561182c90919063ffffffff16565b9050600061170583836118ed565b9050801561176f573060009081526005602052604090205461172790826117cd565b30600081815260056020526040908190209290925590516001600160a01b038a1690600080516020611ccf833981519152906117669085815260200190565b60405180910390a35b81156117b757816002546117839190611be2565b60025560405182815261dead906001600160a01b038a1690600080516020611ccf8339815191529060200160405180910390a35b6117c187846118ed565b98975050505050505050565b6000806117da8385611c2f565b905083811015610a9e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161083b565b60008261183b57506000610929565b60006118478385611ba1565b9050826118548583611bc0565b14610a9e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161083b565b6000610a9e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061192f565b6000610a9e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f22565b600081836119505760405162461bcd60e51b815260040161083b919061195d565b506000610f538486611bc0565b600060208083528351808285015260005b8181101561198a5785810183015185820160400152820161196e565b8181111561199c576000604083870101525b50601f01601f1916929092016040019392505050565b6000602082840312156119c457600080fd5b5035919050565b80356001600160a01b03811681146119e257600080fd5b919050565b600080604083850312156119fa57600080fd5b611a03836119cb565b946020939093013593505050565b600080600060608486031215611a2657600080fd5b611a2f846119cb565b9250611a3d602085016119cb565b9150604084013590509250925092565b600060208284031215611a5f57600080fd5b610a9e826119cb565b600080600060608486031215611a7d57600080fd5b505081359360208301359350604090920135919050565b600080600060608486031215611aa957600080fd5b611ab2846119cb565b9250611ac0602085016119cb565b9150611ace604085016119cb565b90509250925092565b60008060408385031215611aea57600080fd5b611af3836119cb565b9150611b01602084016119cb565b90509250929050565b8015158114611b1857600080fd5b50565b60008060408385031215611b2e57600080fd5b8235611a0381611b0a565b60008060008060808587031215611b4f57600080fd5b5050823594602084013594506040840135936060013592509050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615611bbb57611bbb611b8b565b500290565b600082611bdd57634e487b7160e01b600052601260045260246000fd5b500490565b600082821015611bf457611bf4611b8b565b500390565b600060208284031215611c0b57600080fd5b5051919050565b600060208284031215611c2457600080fd5b8151610a9e81611b0a565b60008219821115611c4257611c42611b8b565b500190565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611cad5784516001600160a01b031683529383019391830191600101611c88565b50506001600160a01b0396909616606085015250505060800152939250505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212208a784dd4b956d1ff0c4ca841c1881b64cabef5ad3168ab4d49dcab4ea896a05164736f6c634300080c0033
Deployed Bytecode
0x60806040526004361061024a5760003560e01c8063715018a611610139578063bd9ab537116100b6578063df20fd491161007a578063df20fd4914610742578063e96fada214610762578063efa5e34714610782578063f887ea40146107a2578063fce589d8146107c2578063fe9fbb80146107d857600080fd5b8063bd9ab53714610676578063c867d60b14610696578063d7c01032146106c6578063d7c94efd146106e6578063dd62ed3e146106fc57600080fd5b8063893d20e8116100fd578063893d20e8146105a45780638b42507f146105c257806395d89b41146105f2578063a8aa1b3114610622578063a9059cbb1461065657600080fd5b8063715018a61461052357806377b54bad1461053857806378109e54146105585780637d1db4a51461056e57806384b1d1ef1461058457600080fd5b80632f54bf6e116101c7578063571ac8b01161018b578063571ac8b01461047f5780636b67c4df1461049f5780636ce46bc3146104b55780636ddd1713146104d557806370a08231146104f657600080fd5b80632f54bf6e146103ab578063313ce567146103da5780633b2d081c146104015780633f4218e014610417578063402911431461044757600080fd5b806318160ddd1161020e57806318160ddd1461032a5780631da1db5e146103405780631df4ccfc1461036057806323b872dd146103765780632b112e491461039657600080fd5b80630445b6671461025657806306fdde031461027f57806309302dc6146102c2578063095ea7b3146102e4578063180b0d7e1461031457600080fd5b3661025157005b600080fd5b34801561026257600080fd5b5061026c60165481565b6040519081526020015b60405180910390f35b34801561028b57600080fd5b506102b56040518060400160405280600a8152602001694b61677574737563686960b01b81525081565b604051610276919061195d565b3480156102ce57600080fd5b506102e26102dd3660046119b2565b610811565b005b3480156102f057600080fd5b506103046102ff3660046119e7565b6108c2565b6040519015158152602001610276565b34801561032057600080fd5b5061026c6103e881565b34801561033657600080fd5b5061026c60025481565b34801561034c57600080fd5b506102e261035b3660046119b2565b61092f565b34801561036c57600080fd5b5061026c600e5481565b34801561038257600080fd5b50610304610391366004611a11565b6109e3565b3480156103a257600080fd5b5061026c610aa5565b3480156103b757600080fd5b506103046103c6366004611a4d565b6000546001600160a01b0391821691161490565b3480156103e657600080fd5b506103ef600481565b60405160ff9091168152602001610276565b34801561040d57600080fd5b5061026c600c5481565b34801561042357600080fd5b50610304610432366004611a4d565b60076020526000908152604090205460ff1681565b34801561045357600080fd5b50601354610467906001600160a01b031681565b6040516001600160a01b039091168152602001610276565b34801561048b57600080fd5b5061030461049a366004611a4d565b610b15565b3480156104ab57600080fd5b5061026c600a5481565b3480156104c157600080fd5b506102e26104d0366004611a68565b610b23565b3480156104e157600080fd5b5060155461030490600160a01b900460ff1681565b34801561050257600080fd5b5061026c610511366004611a4d565b60056020526000908152604090205481565b34801561052f57600080fd5b506102e2610b5e565b34801561054457600080fd5b506103046105533660046119e7565b610bce565b34801561056457600080fd5b5061026c60045481565b34801561057a57600080fd5b5061026c60035481565b34801561059057600080fd5b50601454610467906001600160a01b031681565b3480156105b057600080fd5b506000546001600160a01b0316610467565b3480156105ce57600080fd5b506103046105dd366004611a4d565b60086020526000908152604090205460ff1681565b3480156105fe57600080fd5b506102b5604051806040016040528060048152602001634b41475560e01b81525081565b34801561062e57600080fd5b506104677f000000000000000000000000523a5be0434209a8f2fb784122c55f486fc1ee1b81565b34801561066257600080fd5b506103046106713660046119e7565b610cfc565b34801561068257600080fd5b506102e26106913660046119b2565b610d09565b3480156106a257600080fd5b506103046106b1366004611a4d565b60096020526000908152604090205460ff1681565b3480156106d257600080fd5b506102e26106e1366004611a94565b610db7565b3480156106f257600080fd5b5061026c600b5481565b34801561070857600080fd5b5061026c610717366004611ad7565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561074e57600080fd5b506102e261075d366004611b1b565b610e20565b34801561076e57600080fd5b50601254610467906001600160a01b031681565b34801561078e57600080fd5b506102e261079d366004611b39565b610ebb565b3480156107ae57600080fd5b50601554610467906001600160a01b031681565b3480156107ce57600080fd5b5061026c600d5481565b3480156107e457600080fd5b506103046107f3366004611a4d565b6001600160a01b031660009081526001602052604090205460ff1690565b6000546001600160a01b031633146108445760405162461bcd60e51b815260040161083b90611b6b565b60405180910390fd5b60018110156108a15760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d61782077616c6c6574206c657373207468616e20604482015263302e312560e01b606482015260840161083b565b6103e8816002546108b29190611ba1565b6108bc9190611bc0565b60045550565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061091d9086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b031633146109595760405162461bcd60e51b815260040161083b90611b6b565b606581106109945760405162461bcd60e51b81526020600482015260086024820152674d6178203130302560c01b604482015260640161083b565b47600060646109a38484611ba1565b6109ad9190611bc0565b604051909150339082156108fc029083906000818181858888f193505050501580156109dd573d6000803e3d6000fd5b50505050565b6001600160a01b038316600090815260066020908152604080832033845290915281205460001914610a90576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600682528381203382529091529190912054610a6b918490610f22565b6001600160a01b03851660009081526006602090815260408083203384529091529020555b610a9b848484610f5c565b90505b9392505050565b60056020527f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746bc5461dead60009081527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba54600254919291610b069190611be2565b610b109190611be2565b905090565b6000610929826000196108c2565b6000546001600160a01b03163314610b4d5760405162461bcd60e51b815260040161083b90611b6b565b600f91909155601091909155601155565b6000546001600160a01b03163314610b885760405162461bcd60e51b815260040161083b90611b6b565b604051600081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1600080546001600160a01b0319169055565b3360009081526001602052604081205460ff16610c1b5760405162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015260640161083b565b81610c8b576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610c64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c889190611bf9565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af1158015610cd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a9e9190611c12565b6000610a9e338484610f5c565b6000546001600160a01b03163314610d335760405162461bcd60e51b815260040161083b90611b6b565b6001811015610d965760405162461bcd60e51b815260206004820152602960248201527f43616e6e6f7420736574206d6178207472616e73616374696f6e206c657373206044820152687468616e20302e312560b81b606482015260840161083b565b6103e881600254610da79190611ba1565b610db19190611bc0565b60035550565b6000546001600160a01b03163314610de15760405162461bcd60e51b815260040161083b90611b6b565b601280546001600160a01b039485166001600160a01b031991821617909155601380549385169382169390931790925560148054919093169116179055565b6000546001600160a01b03163314610e4a5760405162461bcd60e51b815260040161083b90611b6b565b600a600254610e599190611bc0565b8110610e995760405162461bcd60e51b815260206004820152600f60248201526e082dadeeadce840e8dede40d0d2ced608b1b604482015260640161083b565b60158054921515600160a01b0260ff60a01b1990931692909217909155601655565b6000546001600160a01b03163314610ee55760405162461bcd60e51b815260040161083b90611b6b565b600a849055600b839055600c829055600d8190558181610f058587611c2f565b610f0f9190611c2f565b610f199190611c2f565b600e5550505050565b60008184841115610f465760405162461bcd60e51b815260040161083b919061195d565b506000610f538486611be2565b95945050505050565b60175460009060ff1615610f7c57610f75848484611270565b9050610a9e565b6001600160a01b03841660009081526001602052604090205460ff16158015610fbe57506001600160a01b03841660009081526009602052604090205460ff16155b8015610fe357506001600160a01b03831660009081526009602052604090205460ff16155b801561102157507f000000000000000000000000523a5be0434209a8f2fb784122c55f486fc1ee1b6001600160a01b0316836001600160a01b031614155b1561109b576004546001600160a01b03841660009081526005602052604090205461104d908490611c2f565b111561109b5760405162461bcd60e51b815260206004820152601860248201527f6d61782077616c6c6574206c696d697420726561636865640000000000000000604482015260640161083b565b600354821115806110c457506001600160a01b03841660009081526008602052604090205460ff165b806110e757506001600160a01b03831660009081526008602052604090205460ff165b61112b5760405162461bcd60e51b815260206004820152601560248201527413585e08151608131a5b5a5d08115e18d959591959605a1b604482015260640161083b565b611133611344565b15611140576111406113b7565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260059091529190912054611192918490610f22565b6001600160a01b038516600090815260056020908152604080832093909355600790529081205460ff16806111df57506001600160a01b03841660009081526007602052604090205460ff165b6111f3576111ee8584866115fd565b6111f5565b825b6001600160a01b03851660009081526005602052604090205490915061121b90826117cd565b6001600160a01b038086166000818152600560205260409081902093909355915190871690600080516020611ccf8339815191529061125d9085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526005909152918220546112c1918490610f22565b6001600160a01b0380861660009081526005602052604080822093909355908516815220546112f090836117cd565b6001600160a01b038085166000818152600560205260409081902093909355915190861690600080516020611ccf833981519152906113329086815260200190565b60405180910390a35060019392505050565b6000336001600160a01b037f000000000000000000000000523a5be0434209a8f2fb784122c55f486fc1ee1b1614801590611382575060175460ff16155b80156113975750601554600160a01b900460ff165b8015610b1057505060165430600090815260056020526040902054101590565b6017805460ff19166001179055600d54600e546000916113d691611be2565b601654604080516002808252606082018352939450919260009291602083019080368337019050509050308160008151811061141457611414611c47565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28160018151811061146857611468611c47565b6001600160a01b03928316602091820292909201015260155460405163791ac94760e01b815291169063791ac947906114ae908590600090869030904290600401611c5d565b600060405180830381600087803b1580156114c857600080fd5b505af11580156114dc573d6000803e3d6000fd5b5050600a544792506000915085906114f49084611ba1565b6114fe9190611bc0565b9050600085600b54846115119190611ba1565b61151b9190611bc0565b9050600086600c548561152e9190611ba1565b6115389190611bc0565b6012546040519192506001600160a01b03169084156108fc029085906000818181858888f19350505050158015611573573d6000803e3d6000fd5b506013546040516001600160a01b039091169083156108fc029084906000818181858888f193505050501580156115ae573d6000803e3d6000fd5b506014546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156115e9573d6000803e3d6000fd5b50506017805460ff19169055505050505050565b600082158061160c5750600e54155b15611618575081610a9e565b600060115490507f000000000000000000000000523a5be0434209a8f2fb784122c55f486fc1ee1b6001600160a01b0316836001600160a01b031614156116625750600f546116a1565b7f000000000000000000000000523a5be0434209a8f2fb784122c55f486fc1ee1b6001600160a01b0316856001600160a01b031614156116a157506010545b60006116d86116b36103e86064611ba1565b6116d2846116cc600e548a61182c90919063ffffffff16565b9061182c565b906118ab565b905060006116f7600e546116d2600d548561182c90919063ffffffff16565b9050600061170583836118ed565b9050801561176f573060009081526005602052604090205461172790826117cd565b30600081815260056020526040908190209290925590516001600160a01b038a1690600080516020611ccf833981519152906117669085815260200190565b60405180910390a35b81156117b757816002546117839190611be2565b60025560405182815261dead906001600160a01b038a1690600080516020611ccf8339815191529060200160405180910390a35b6117c187846118ed565b98975050505050505050565b6000806117da8385611c2f565b905083811015610a9e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161083b565b60008261183b57506000610929565b60006118478385611ba1565b9050826118548583611bc0565b14610a9e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161083b565b6000610a9e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061192f565b6000610a9e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f22565b600081836119505760405162461bcd60e51b815260040161083b919061195d565b506000610f538486611bc0565b600060208083528351808285015260005b8181101561198a5785810183015185820160400152820161196e565b8181111561199c576000604083870101525b50601f01601f1916929092016040019392505050565b6000602082840312156119c457600080fd5b5035919050565b80356001600160a01b03811681146119e257600080fd5b919050565b600080604083850312156119fa57600080fd5b611a03836119cb565b946020939093013593505050565b600080600060608486031215611a2657600080fd5b611a2f846119cb565b9250611a3d602085016119cb565b9150604084013590509250925092565b600060208284031215611a5f57600080fd5b610a9e826119cb565b600080600060608486031215611a7d57600080fd5b505081359360208301359350604090920135919050565b600080600060608486031215611aa957600080fd5b611ab2846119cb565b9250611ac0602085016119cb565b9150611ace604085016119cb565b90509250925092565b60008060408385031215611aea57600080fd5b611af3836119cb565b9150611b01602084016119cb565b90509250929050565b8015158114611b1857600080fd5b50565b60008060408385031215611b2e57600080fd5b8235611a0381611b0a565b60008060008060808587031215611b4f57600080fd5b5050823594602084013594506040840135936060013592509050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615611bbb57611bbb611b8b565b500290565b600082611bdd57634e487b7160e01b600052601260045260246000fd5b500490565b600082821015611bf457611bf4611b8b565b500390565b600060208284031215611c0b57600080fd5b5051919050565b600060208284031215611c2457600080fd5b8151610a9e81611b0a565b60008219821115611c4257611c42611b8b565b500190565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611cad5784516001600160a01b031683529383019391830191600101611c88565b50506001600160a01b0396909616606085015250505060800152939250505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212208a784dd4b956d1ff0c4ca841c1881b64cabef5ad3168ab4d49dcab4ea896a05164736f6c634300080c0033
Deployed Bytecode Sourcemap
3186:9619:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4656:48;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;4656:48:0;;;;;;;;3442:42;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3442:42:0;;;;;;;;;;;;:::i;6907:261::-;;;;;;;;;;-1:-1:-1;6907:261:0;;;;;:::i;:::-;;:::i;:::-;;6011:216;;;;;;;;;;-1:-1:-1;6011:216:0;;;;;:::i;:::-;;:::i;:::-;;;1585:14:1;;1578:22;1560:41;;1548:2;1533:18;6011:216:0;1420:187:1;4265:45:0;;;;;;;;;;;;4306:4;4265:45;;3579:53;;;;;;;;;;;;;;;;10011:313;;;;;;;;;;-1:-1:-1;10011:313:0;;;;;:::i;:::-;;:::i;4187:71::-;;;;;;;;;;;;;;;;6529:370;;;;;;;;;;-1:-1:-1;6529:370:0;;;;;:::i;:::-;;:::i;12663:137::-;;;;;;;;;;;;;:::i;2299:103::-;;;;;;;;;;-1:-1:-1;2299:103:0;;;;;:::i;:::-;2354:4;2389:5;-1:-1:-1;;;;;2378:16:0;;;2389:5;;2378:16;;2299:103;3536:34;;;;;;;;;;;;3569:1;3536:34;;;;;2308:4:1;2296:17;;;2278:36;;2266:2;2251:18;3536:34:0;2136:184:1;4116:30:0;;;;;;;;;;;;;;;;3876:44;;;;;;;;;;-1:-1:-1;3876:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4471:30;;;;;;;;;;-1:-1:-1;4471:30:0;;;;-1:-1:-1;;;;;4471:30:0;;;;;;-1:-1:-1;;;;;2489:32:1;;;2471:51;;2459:2;2444:18;4471:30:0;2325:203:1;6235:122:0;;;;;;;;;;-1:-1:-1;6235:122:0;;;;;:::i;:::-;;:::i;4043:32::-;;;;;;;;;;;;;;;;11581:198;;;;;;;;;;-1:-1:-1;11581:198:0;;;;;:::i;:::-;;:::i;4619:30::-;;;;;;;;;;-1:-1:-1;4619:30:0;;;;-1:-1:-1;;;4619:30:0;;;;;;3754:45;;;;;;;;;;-1:-1:-1;3754:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;2525:131;;;;;;;;;;;;;:::i;10332:287::-;;;;;;;;;;-1:-1:-1;10332:287:0;;;;;:::i;:::-;;:::i;3695:50::-;;;;;;;;;;;;;;;;3641:47;;;;;;;;;;;;;;;;4508:33;;;;;;;;;;-1:-1:-1;4508:33:0;;;;-1:-1:-1;;;;;4508:33:0;;;5786:78;;;;;;;;;;-1:-1:-1;5838:7:0;5856:5;-1:-1:-1;;;;;5856:5:0;5786:78;;3927:48;;;;;;;;;;-1:-1:-1;3927:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3491:38;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3491:38:0;;;;;4581:29;;;;;;;;;;;;;;;6365:156;;;;;;;;;;-1:-1:-1;6365:156:0;;;;;:::i;:::-;;:::i;7174:262::-;;;;;;;;;;-1:-1:-1;7174:262:0;;;;;:::i;:::-;;:::i;3982:52::-;;;;;;;;;;-1:-1:-1;3982:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;12132:289;;;;;;;;;;-1:-1:-1;12132:289:0;;;;;:::i;:::-;;:::i;4082:27::-;;;;;;;;;;;;;;;;5870:133;;;;;;;;;;-1:-1:-1;5870:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;5972:19:0;;;5954:7;5972:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;5870:133;12429:222;;;;;;;;;;-1:-1:-1;12429:222:0;;;;;:::i;:::-;;:::i;4429:35::-;;;;;;;;;;-1:-1:-1;4429:35:0;;;;-1:-1:-1;;;;;4429:35:0;;;11787:337;;;;;;;;;;-1:-1:-1;11787:337:0;;;;;:::i;:::-;;:::i;4550:24::-;;;;;;;;;;-1:-1:-1;4550:24:0;;;;-1:-1:-1;;;;;4550:24:0;;;4153:27;;;;;;;;;;;;;;;;2410:107;;;;;;;;;;-1:-1:-1;2410:107:0;;;;;:::i;:::-;-1:-1:-1;;;;;2490:19:0;2466:4;2490:19;;;:14;:19;;;;;;;;;2410:107;6907:261;2354:4;2389:5;-1:-1:-1;;;;;2389:5:0;2158:10;2378:16;2142:38;;;;-1:-1:-1;;;2142:38:0;;;;;;;:::i;:::-;;;;;;;;;7043:1:::1;7016:23;:28;;7008:76;;;::::0;-1:-1:-1;;;7008:76:0;;5047:2:1;7008:76:0::1;::::0;::::1;5029:21:1::0;5086:2;5066:18;;;5059:30;5125:34;5105:18;;;5098:62;-1:-1:-1;;;5176:18:1;;;5169:34;5220:19;;7008:76:0::1;4845:400:1::0;7008:76:0::1;7156:4;7128:23;7114:11;;:37;;;;:::i;:::-;7113:47;;;;:::i;:::-;7095:15;:65:::0;-1:-1:-1;6907:261:0:o;6011:216::-;6115:10;6086:4;6103:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;6103:32:0;;;;;;;;;;:41;;;6160:37;6086:4;;6103:32;;6160:37;;;;6138:6;160:25:1;;148:2;133:18;;14:177;6160:37:0;;;;;;;;-1:-1:-1;6215:4:0;6011:216;;;;;:::o;10011:313::-;2354:4;2389:5;-1:-1:-1;;;;;2389:5:0;2158:10;2378:16;2142:38;;;;-1:-1:-1;;;2142:38:0;;;;;;;:::i;:::-;10121:3:::1;10102:16;:22;10094:43;;;::::0;-1:-1:-1;;;10094:43:0;;5979:2:1;10094:43:0::1;::::0;::::1;5961:21:1::0;6018:1;5998:18;;;5991:29;-1:-1:-1;;;6036:18:1;;;6029:38;6084:18;;10094:43:0::1;5777:331:1::0;10094:43:0::1;10168:21;10148:17;10259:3;10226:28;10238:16:::0;10168:21;10226:28:::1;:::i;:::-;10224:38;;;;:::i;:::-;10273:43;::::0;10200:62;;-1:-1:-1;10281:10:0::1;::::0;10273:43;::::1;;;::::0;10200:62;;10273:43:::1;::::0;;;10200:62;10281:10;10273:43;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;10083:241;;10011:313:::0;:::o;6529:370::-;-1:-1:-1;;;;;6649:19:0;;6629:4;6649:19;;;:11;:19;;;;;;;;6669:10;6649:31;;;;;;;;-1:-1:-1;;6649:52:0;6646:186;;6751:69;;;;;;;;;;;-1:-1:-1;;;6751:69:0;;;;;;;;-1:-1:-1;;;;;6751:19:0;;-1:-1:-1;6751:19:0;;;:11;:19;;;;;6771:10;6751:31;;;;;;;;;;:69;;6787:6;;6751:35;:69::i;:::-;-1:-1:-1;;;;;6717:19:0;;;;;;:11;:19;;;;;;;;6737:10;6717:31;;;;;;;:103;6646:186;6851:40;6865:6;6873:9;6884:6;6851:13;:40::i;:::-;6844:47;;6529:370;;;;;;:::o;12663:137::-;12776:9;:15;;;;3318:42;12716:7;12758:15;;;;;12744:11;;12716:7;;12776:15;12744:29;;12758:15;12744:29;:::i;:::-;:47;;;;:::i;:::-;12736:56;;12663:137;:::o;6235:122::-;6290:4;6314:35;6322:7;-1:-1:-1;;6314:7:0;:35::i;11581:198::-;2354:4;2389:5;-1:-1:-1;;;;;2389:5:0;2158:10;2378:16;2142:38;;;;-1:-1:-1;;;2142:38:0;;;;;;;:::i;:::-;11680:14:::1;:22:::0;;;;11713:13:::1;:20:::0;;;;11744:18:::1;:27:::0;11581:198::o;2525:131::-;2354:4;2389:5;-1:-1:-1;;;;;2389:5:0;2158:10;2378:16;2142:38;;;;-1:-1:-1;;;2142:38:0;;;;;;;:::i;:::-;2587:32:::1;::::0;2616:1:::1;2471:51:1::0;;2587:32:0::1;::::0;2459:2:1;2444:18;2587:32:0::1;;;;;;;2646:1;2630:18:::0;;-1:-1:-1;;;;;;2630:18:0::1;::::0;;2525:131::o;10332:287::-;2253:10;10424:12;2490:19;;;:14;:19;;;;;;;;2232:48;;;;-1:-1:-1;;;2232:48:0;;6445:2:1;2232:48:0;;;6427:21:1;6484:2;6464:18;;;6457:30;-1:-1:-1;;;6503:18:1;;;6496:41;6554:18;;2232:48:0;6243:335:1;2232:48:0;10452:11;10449:95:::1;;10488:44;::::0;-1:-1:-1;;;10488:44:0;;10526:4:::1;10488:44;::::0;::::1;2471:51:1::0;-1:-1:-1;;;;;10488:29:0;::::1;::::0;::::1;::::0;2444:18:1;;10488:44:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10479:53;;10449:95;10563:48;::::0;-1:-1:-1;;;10563:48:0;;10592:10:::1;10563:48;::::0;::::1;6946:51:1::0;7013:18;;;7006:34;;;-1:-1:-1;;;;;10563:28:0;::::1;::::0;::::1;::::0;6919:18:1;;10563:48:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;6365:156::-:0;6445:4;6469:44;6483:10;6495:9;6506:6;6469:13;:44::i;7174:262::-;2354:4;2389:5;-1:-1:-1;;;;;2389:5:0;2158:10;2378:16;2142:38;;;;-1:-1:-1;;;2142:38:0;;;;;;;:::i;:::-;7308:1:::1;7280:24;:29;;7272:82;;;::::0;-1:-1:-1;;;7272:82:0;;7503:2:1;7272:82:0::1;::::0;::::1;7485:21:1::0;7542:2;7522:18;;;7515:30;7581:34;7561:18;;;7554:62;-1:-1:-1;;;7632:18:1;;;7625:39;7681:19;;7272:82:0::1;7301:405:1::0;7272:82:0::1;7424:4;7395:24;7381:11;;:38;;;;:::i;:::-;7380:48;;;;:::i;:::-;7365:12;:63:::0;-1:-1:-1;7174:262:0:o;12132:289::-;2354:4;2389:5;-1:-1:-1;;;;;2389:5:0;2158:10;2378:16;2142:38;;;;-1:-1:-1;;;2142:38:0;;;;;;;:::i;:::-;12273:20:::1;:44:::0;;-1:-1:-1;;;;;12273:44:0;;::::1;-1:-1:-1::0;;;;;;12273:44:0;;::::1;;::::0;;;12328:15:::1;:34:::0;;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;12373:18:::1;:40:::0;;;;;::::1;::::0;::::1;;::::0;;12132:289::o;12429:222::-;2354:4;2389:5;-1:-1:-1;;;;;2389:5:0;2158:10;2378:16;2142:38;;;;-1:-1:-1;;;2142:38:0;;;;;;;:::i;:::-;12551:2:::1;12539:11;;:14;;;;:::i;:::-;12528:7;:26;12520:54;;;::::0;-1:-1:-1;;;12520:54:0;;7913:2:1;12520:54:0::1;::::0;::::1;7895:21:1::0;7952:2;7932:18;;;7925:30;-1:-1:-1;;;7971:18:1;;;7964:45;8026:18;;12520:54:0::1;7711:339:1::0;12520:54:0::1;12587:11;:22:::0;;;::::1;;-1:-1:-1::0;;;12587:22:0::1;-1:-1:-1::0;;;;12587:22:0;;::::1;::::0;;;::::1;::::0;;;12620:13:::1;:23:::0;12429:222::o;11787:337::-;2354:4;2389:5;-1:-1:-1;;;;;2389:5:0;2158:10;2378:16;2142:38;;;;-1:-1:-1;;;2142:38:0;;;;;;;:::i;:::-;11923:12:::1;:28:::0;;;11962:7:::1;:18:::0;;;11991:10:::1;:24:::0;;;12026:7:::1;:18:::0;;;12004:11;12036:8;12067:24:::1;11972:8:::0;11938:13;12067:24:::1;:::i;:::-;:35;;;;:::i;:::-;:49;;;;:::i;:::-;12055:8;:61:::0;-1:-1:-1;;;;11787:337:0:o;422:192::-;508:7;544:12;536:6;;;;528:29;;;;-1:-1:-1;;;528:29:0;;;;;;;;:::i;:::-;-1:-1:-1;568:9:0;580:5;584:1;580;:5;:::i;:::-;568:17;422:192;-1:-1:-1;;;;;422:192:0:o;7444:978::-;7556:6;;7536:4;;7556:6;;7553:63;;;7572:41;7587:6;7595:9;7606:6;7572:14;:41::i;:::-;7565:48;;;;7553:63;-1:-1:-1;;;;;7633:22:0;;;;;;:14;:22;;;;;;;;7632:23;:55;;;;-1:-1:-1;;;;;;7660:27:0;;;;;;:19;:27;;;;;;;;7659:28;7632:55;:90;;;;-1:-1:-1;;;;;;7692:30:0;;;;;;:19;:30;;;;;;;;7691:31;7632:90;:111;;;;;7739:4;-1:-1:-1;;;;;7726:17:0;:9;-1:-1:-1;;;;;7726:17:0;;;7632:111;7628:230;;;7803:15;;-1:-1:-1;;;;;7769:20:0;;;;;;:9;:20;;;;;;:29;;7792:6;;7769:29;:::i;:::-;7768:50;;7760:86;;;;-1:-1:-1;;;7760:86:0;;8390:2:1;7760:86:0;;;8372:21:1;8429:2;8409:18;;;8402:30;8468:26;8448:18;;;8441:54;8512:18;;7760:86:0;8188:348:1;7760:86:0;7893:12;;7883:6;:22;;7882:51;;;-1:-1:-1;;;;;;7910:23:0;;;;;;:15;:23;;;;;;;;7882:51;:81;;;-1:-1:-1;;;;;;7937:26:0;;;;;;:15;:26;;;;;;;;7882:81;7874:115;;;;-1:-1:-1;;;7874:115:0;;8743:2:1;7874:115:0;;;8725:21:1;8782:2;8762:18;;;8755:30;-1:-1:-1;;;8801:18:1;;;8794:51;8862:18;;7874:115:0;8541:345:1;7874:115:0;8005:16;:14;:16::i;:::-;8002:35;;;8024:10;:8;:10::i;:::-;8069:53;;;;;;;;;;;-1:-1:-1;;;8069:53:0;;;;;;;;-1:-1:-1;;;;;8069:17:0;;-1:-1:-1;8069:17:0;;;:9;:17;;;;;;;;:53;;8091:6;;8069:21;:53::i;:::-;-1:-1:-1;;;;;8049:17:0;;;;;;:9;:17;;;;;;;;:73;;;;8161:11;:19;;;;;;;;;:45;;-1:-1:-1;;;;;;8184:22:0;;;;;;:11;:22;;;;;;;;8161:45;8160:93;;8219:34;8227:6;8235;8243:9;8219:7;:34::i;:::-;8160:93;;;8210:6;8160:93;-1:-1:-1;;;;;8289:20:0;;;;;;:9;:20;;;;;;8135:118;;-1:-1:-1;8289:40:0;;8135:118;8289:24;:40::i;:::-;-1:-1:-1;;;;;8266:20:0;;;;;;;:9;:20;;;;;;;:63;;;;8349:43;;;;;;-1:-1:-1;;;;;;;;;;;8349:43:0;;;8377:14;160:25:1;;148:2;133:18;;14:177;8349:43:0;;;;;;;;-1:-1:-1;8410:4:0;;7444:978;-1:-1:-1;;;;7444:978:0:o;8434:330::-;8564:53;;;;;;;;;;;-1:-1:-1;;;8564:53:0;;;;;;;;-1:-1:-1;;;;;8564:17:0;;8527:4;8564:17;;;:9;:17;;;;;;;:53;;8586:6;;8564:21;:53::i;:::-;-1:-1:-1;;;;;8544:17:0;;;;;;;:9;:17;;;;;;:73;;;;8651:20;;;;;;;:32;;8676:6;8651:24;:32::i;:::-;-1:-1:-1;;;;;8628:20:0;;;;;;;:9;:20;;;;;;;:55;;;;8699:35;;;;;;-1:-1:-1;;;;;;;;;;;8699:35:0;;;8727:6;160:25:1;;148:2;133:18;;14:177;8699:35:0;;;;;;;;-1:-1:-1;8752:4:0;8434:330;;;;;:::o;9806:197::-;9855:4;9879:10;-1:-1:-1;;;;;9893:4:0;9879:18;;;;;:38;;-1:-1:-1;9911:6:0;;;;9910:7;9879:38;:62;;;;-1:-1:-1;9930:11:0;;-1:-1:-1;;;9930:11:0;;;;9879:62;:116;;;;-1:-1:-1;;9982:13:0;;9972:4;9954:24;;;;:9;:24;;;;;;:41;;;9806:197::o;10629:944::-;4751:6;:13;;-1:-1:-1;;4751:13:0;4760:4;4751:13;;;10713:7:::1;::::0;10702:8:::1;::::0;4751:6;;10702:18:::1;::::0;::::1;:::i;:::-;10754:13;::::0;10804:16:::1;::::0;;10818:1:::1;10804:16:::0;;;;;::::1;::::0;;10680:40;;-1:-1:-1;10754:13:0;;10731:20:::1;::::0;10804:16;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10804:16:0::1;10780:40;;10849:4;10831;10836:1;10831:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;10831:23:0::1;;;-1:-1:-1::0;;;;;10831:23:0::1;;;::::0;::::1;10875:4;10865;10870:1;10865:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10865:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;10892:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;10892:188:0;;:6;::::1;::::0;:57:::1;::::0;:188:::1;::::0;10964:12;;10892:6:::1;::::0;11007:4;;11034::::1;::::0;11054:15:::1;::::0;10892:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;11197:12:0::1;::::0;11113:21:::1;::::0;-1:-1:-1;11093:17:0::1;::::0;-1:-1:-1;11213:11:0;;11185:24:::1;::::0;11113:21;11185:24:::1;:::i;:::-;11184:40;;;;:::i;:::-;11155:69;;11235:21;11283:11;11272:7;;11260:9;:19;;;;:::i;:::-;11259:35;;;;:::i;:::-;11235:59;;11305:24;11359:11;11345:10;;11333:9;:22;;;;:::i;:::-;11332:38;;;;:::i;:::-;11391:20;::::0;11383:58:::1;::::0;11305:65;;-1:-1:-1;;;;;;11391:20:0::1;::::0;11383:58;::::1;;;::::0;11422:18;;11391:20:::1;11383:58:::0;11391:20;11383:58;11422:18;11391:20;11383:58;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;11460:15:0::1;::::0;11452:48:::1;::::0;-1:-1:-1;;;;;11460:15:0;;::::1;::::0;11452:48;::::1;;;::::0;11486:13;;11460:15:::1;11452:48:::0;11460:15;11452:48;11486:13;11460:15;11452:48;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;11519:18:0::1;::::0;11511:54:::1;::::0;-1:-1:-1;;;;;11519:18:0;;::::1;::::0;11511:54;::::1;;;::::0;11548:16;;11519:18:::1;11511:54:::0;11519:18;11511:54;11548:16;11519:18;11511:54;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4769:6:0;:14;;-1:-1:-1;;4769:14:0;;;-1:-1:-1;;;;;;10629:944:0:o;8772:1026::-;8858:7;8881:11;;;:28;;-1:-1:-1;8896:8:0;;:13;8881:28;8878:72;;;-1:-1:-1;8932:6:0;8925:13;;8878:72;8962:18;8983;;8962:39;;9030:4;-1:-1:-1;;;;;9017:17:0;:9;-1:-1:-1;;;;;9017:17:0;;9014:154;;;-1:-1:-1;9064:14:0;;9014:154;;;9109:4;-1:-1:-1;;;;;9099:14:0;:6;-1:-1:-1;;;;;9099:14:0;;9096:72;;;-1:-1:-1;9143:13:0;;9096:72;9180:17;9200:62;9241:20;4306:4;9258:3;9241:20;:::i;:::-;9200:36;9225:10;9200:20;9211:8;;9200:6;:10;;:20;;;;:::i;:::-;:24;;:36::i;:::-;:40;;:62::i;:::-;9180:82;;9273:18;9294:36;9321:8;;9294:22;9308:7;;9294:9;:13;;:22;;;;:::i;:36::-;9273:57;-1:-1:-1;9341:22:0;9366:25;:9;9273:57;9366:13;:25::i;:::-;9341:50;-1:-1:-1;9407:18:0;;9404:187;;9486:4;9468:24;;;;:9;:24;;;;;;:44;;9497:14;9468:28;:44::i;:::-;9459:4;9441:24;;;;:9;:24;;;;;;;:71;;;;9532:47;;-1:-1:-1;;;;;9532:47:0;;;-1:-1:-1;;;;;;;;;;;9532:47:0;;;9564:14;160:25:1;;148:2;133:18;;14:177;9532:47:0;;;;;;;;9404:187;9614:14;;9611:139;;9672:10;9658:11;;:24;;;;:::i;:::-;9644:11;:38;9702:32;;160:25:1;;;3318:42:0;;-1:-1:-1;;;;;9702:32:0;;;-1:-1:-1;;;;;;;;;;;9702:32:0;148:2:1;133:18;9702:32:0;;;;;;;9611:139;9769:21;:6;9780:9;9769:10;:21::i;:::-;9762:28;8772:1026;-1:-1:-1;;;;;;;;8772:1026:0:o;93:181::-;151:7;;183:5;187:1;183;:5;:::i;:::-;171:17;;212:1;207;:6;;199:46;;;;-1:-1:-1;;;199:46:0;;10342:2:1;199:46:0;;;10324:21:1;10381:2;10361:18;;;10354:30;10420:29;10400:18;;;10393:57;10467:18;;199:46:0;10140:351:1;620:250:0;678:7;702:6;698:47;;-1:-1:-1;732:1:0;725:8;;698:47;757:9;769:5;773:1;769;:5;:::i;:::-;757:17;-1:-1:-1;802:1:0;793:5;797:1;757:17;793:5;:::i;:::-;:10;785:56;;;;-1:-1:-1;;;785:56:0;;10698:2:1;785:56:0;;;10680:21:1;10737:2;10717:18;;;10710:30;10776:34;10756:18;;;10749:62;-1:-1:-1;;;10827:18:1;;;10820:31;10868:19;;785:56:0;10496:397:1;876:132:0;934:7;961:39;965:1;968;961:39;;;;;;;;;;;;;;;;;:3;:39::i;280:136::-;338:7;365:43;369:1;372;365:43;;;;;;;;;;;;;;;;;:3;:43::i;1014:189::-;1100:7;1135:12;1128:5;1120:28;;;;-1:-1:-1;;;1120:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1159:9:0;1171:5;1175:1;1171;:5;:::i;196:597: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;;;634:6;631:1;628:13;625:91;;;704:1;699:2;690:6;679:9;675:22;671:31;664:42;625:91;-1:-1:-1;777:2:1;756:15;-1:-1:-1;;752:29:1;737:45;;;;784:2;733:54;;196:597;-1:-1:-1;;;196:597:1:o;798:180::-;857:6;910:2;898:9;889:7;885:23;881:32;878:52;;;926:1;923;916:12;878:52;-1:-1:-1;949:23:1;;798:180;-1:-1:-1;798:180:1:o;983:173::-;1051:20;;-1:-1:-1;;;;;1100:31:1;;1090:42;;1080:70;;1146:1;1143;1136:12;1080:70;983:173;;;:::o;1161:254::-;1229:6;1237;1290:2;1278:9;1269:7;1265:23;1261:32;1258:52;;;1306:1;1303;1296:12;1258:52;1329:29;1348:9;1329:29;:::i;:::-;1319:39;1405:2;1390:18;;;;1377:32;;-1:-1:-1;;;1161:254:1:o;1612:328::-;1689:6;1697;1705;1758:2;1746:9;1737:7;1733:23;1729:32;1726:52;;;1774:1;1771;1764:12;1726:52;1797:29;1816:9;1797:29;:::i;:::-;1787:39;;1845:38;1879:2;1868:9;1864:18;1845:38;:::i;:::-;1835:48;;1930:2;1919:9;1915:18;1902:32;1892:42;;1612:328;;;;;:::o;1945:186::-;2004:6;2057:2;2045:9;2036:7;2032:23;2028:32;2025:52;;;2073:1;2070;2063:12;2025:52;2096:29;2115:9;2096:29;:::i;2533:316::-;2610:6;2618;2626;2679:2;2667:9;2658:7;2654:23;2650:32;2647:52;;;2695:1;2692;2685:12;2647:52;-1:-1:-1;;2718:23:1;;;2788:2;2773:18;;2760:32;;-1:-1:-1;2839:2:1;2824:18;;;2811:32;;2533:316;-1:-1:-1;2533:316:1:o;2854:334::-;2931:6;2939;2947;3000:2;2988:9;2979:7;2975:23;2971:32;2968:52;;;3016:1;3013;3006:12;2968:52;3039:29;3058:9;3039:29;:::i;:::-;3029:39;;3087:38;3121:2;3110:9;3106:18;3087:38;:::i;:::-;3077:48;;3144:38;3178:2;3167:9;3163:18;3144:38;:::i;:::-;3134:48;;2854:334;;;;;:::o;3193:260::-;3261:6;3269;3322:2;3310:9;3301:7;3297:23;3293:32;3290:52;;;3338:1;3335;3328:12;3290:52;3361:29;3380:9;3361:29;:::i;:::-;3351:39;;3409:38;3443:2;3432:9;3428:18;3409:38;:::i;:::-;3399:48;;3193:260;;;;;:::o;3458:118::-;3544:5;3537:13;3530:21;3523:5;3520:32;3510:60;;3566:1;3563;3556:12;3510:60;3458:118;:::o;3581:309::-;3646:6;3654;3707:2;3695:9;3686:7;3682:23;3678:32;3675:52;;;3723:1;3720;3713:12;3675:52;3762:9;3749:23;3781:28;3803:5;3781:28;:::i;3895:385::-;3981:6;3989;3997;4005;4058:3;4046:9;4037:7;4033:23;4029:33;4026:53;;;4075:1;4072;4065:12;4026:53;-1:-1:-1;;4098:23:1;;;4168:2;4153:18;;4140:32;;-1:-1:-1;4219:2:1;4204:18;;4191:32;;4270:2;4255:18;4242:32;;-1:-1:-1;3895:385:1;-1:-1:-1;3895:385:1:o;4511:329::-;4713:2;4695:21;;;4752:1;4732:18;;;4725:29;-1:-1:-1;;;4785:2:1;4770:18;;4763:36;4831:2;4816:18;;4511:329::o;5250:127::-;5311:10;5306:3;5302:20;5299:1;5292:31;5342:4;5339:1;5332:15;5366:4;5363:1;5356:15;5382:168;5422:7;5488:1;5484;5480:6;5476:14;5473:1;5470:21;5465:1;5458:9;5451:17;5447:45;5444:71;;;5495:18;;:::i;:::-;-1:-1:-1;5535:9:1;;5382:168::o;5555:217::-;5595:1;5621;5611:132;;5665:10;5660:3;5656:20;5653:1;5646:31;5700:4;5697:1;5690:15;5728:4;5725:1;5718:15;5611:132;-1:-1:-1;5757:9:1;;5555:217::o;6113:125::-;6153:4;6181:1;6178;6175:8;6172:34;;;6186:18;;:::i;:::-;-1:-1:-1;6223:9:1;;6113:125::o;6583:184::-;6653:6;6706:2;6694:9;6685:7;6681:23;6677:32;6674:52;;;6722:1;6719;6712:12;6674:52;-1:-1:-1;6745:16:1;;6583:184;-1:-1:-1;6583:184:1:o;7051:245::-;7118:6;7171:2;7159:9;7150:7;7146:23;7142:32;7139:52;;;7187:1;7184;7177:12;7139:52;7219:9;7213:16;7238:28;7260:5;7238:28;:::i;8055:128::-;8095:3;8126:1;8122:6;8119:1;8116:13;8113:39;;;8132:18;;:::i;:::-;-1:-1:-1;8168:9:1;;8055:128::o;9023:127::-;9084:10;9079:3;9075:20;9072:1;9065:31;9115:4;9112:1;9105:15;9139:4;9136:1;9129:15;9155:980;9417:4;9465:3;9454:9;9450:19;9496:6;9485:9;9478:25;9522:2;9560:6;9555:2;9544:9;9540:18;9533:34;9603:3;9598:2;9587:9;9583:18;9576:31;9627:6;9662;9656:13;9693:6;9685;9678:22;9731:3;9720:9;9716:19;9709:26;;9770:2;9762:6;9758:15;9744:29;;9791:1;9801:195;9815:6;9812:1;9809:13;9801:195;;;9880:13;;-1:-1:-1;;;;;9876:39:1;9864:52;;9971:15;;;;9936:12;;;;9912:1;9830:9;9801:195;;;-1:-1:-1;;;;;;;10052:32:1;;;;10047:2;10032:18;;10025:60;-1:-1:-1;;;10116:3:1;10101:19;10094:35;10013:3;9155:980;-1:-1:-1;;;9155:980:1:o
Swarm Source
ipfs://8a784dd4b956d1ff0c4ca841c1881b64cabef5ad3168ab4d49dcab4ea896a051
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.