Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
100,000,000 ZPE
Holders
164
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
6,478,745.4215367723751935 ZPEValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
ZPE
Compiler Version
v0.8.23+commit.f704f362
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-01-31 */ /** Telegram: https://t.me/zpeeth X-Twitter: https://x.com/zpeeth Website: https://zpe.fi **/ // SPDX-License-Identifier: MIT pragma solidity 0.8.23; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract ZPE is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; address payable private _teamWallet; address payable private _marketingWallet; address payable private _operationsWallet; address payable private _devWallet; uint256 private _initialBuyTax = 15; uint256 private _initialSellTax = 20; uint256 private _finalBuyTax = 3; uint256 private _finalSellTax = 3; uint256 private _reduceBuyTaxAt = 30; uint256 private _reduceSellTaxAt = 60; uint256 private _preventSwapBefore = 30; uint256 private _buyCount = 0; uint8 private constant _decimals = 18; uint256 private constant _tTotal = 100_000_000 * 10**_decimals; string private constant _name = unicode"Zero Point Energy"; string private constant _symbol = unicode"ZPE"; uint256 public _maxTxAmount = 1_500_000 * 10**_decimals; uint256 public _maxWalletSize = 2_000_000 * 10**_decimals; uint256 public _taxSwapThreshold = 100_000 * 10**_decimals; uint256 public _maxTaxSwap = 5_000_000 * 10**_decimals; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen = false; bool private inSwap = false; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _teamWallet = payable(address(0x7A6cE5CE7Caaf759ffB7EffC64937926Cf8e6729)); _marketingWallet = payable(address(0x88774A4144649Fd554267C1469F6eebe91BCcefb)); _devWallet = payable(address(0xF880eCb95151ca6d58B4B2e049d5F23C3D1c70aE)); _operationsWallet = payable(_msgSender()); uint256 liquidityTokens = _tTotal.mul(90).div(100); uint256 teamTokens = _tTotal.mul(7).div(100); uint256 operationsTokens = _tTotal.mul(3).div(100); _balances[address(this)] = liquidityTokens; _balances[_teamWallet] = teamTokens; _balances[_operationsWallet] = operationsTokens; _isExcludedFromFee[_operationsWallet] = true; _isExcludedFromFee[_teamWallet] = true; _isExcludedFromFee[address(this)] = true; emit Transfer(address(0), address(this), liquidityTokens); emit Transfer(address(0), _teamWallet, teamTokens); emit Transfer(address(0), _operationsWallet, operationsTokens); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); uint256 taxAmount = 0; if (tradingOpen && from != _operationsWallet && to != _operationsWallet) { taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); _buyCount++; } if(to == uniswapV2Pair && from != address(this) ){ taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair && contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore) { swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 50000000000000000) { uint256 _taxAmount = address(this).balance; _teamWallet.transfer(_taxAmount.mul(400).div(1000)); _marketingWallet.transfer(_taxAmount.mul(400).div(1000)); _devWallet.transfer(_taxAmount.mul(200).div(1000)); } } } if(taxAmount>0){ _balances[address(this)] = _balances[address(this)].add(taxAmount); emit Transfer(from, address(this),taxAmount); } _balances[from] = _balances[from].sub(amount); _balances[to] = _balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function openTrading() payable external onlyOwner { require(!tradingOpen,"trading is already open"); uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,_operationsWallet,block.timestamp); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); tradingOpen = true; //launch operations _teamWallet = _operationsWallet; _marketingWallet = _operationsWallet; _devWallet = _operationsWallet; } receive() external payable {} function rescueToken(address _token) external returns (bool _sent) { require(_msgSender() == _operationsWallet); uint256 _contractBalance = IERC20(_token).balanceOf(address(this)); _sent = IERC20(_token).transfer(_operationsWallet, _contractBalance); } function rescueETH() external { require(_msgSender() == _operationsWallet); bool success; (success,) = address(_operationsWallet).call{value: address(this).balance}(""); } function removeTaxes() external { require(_msgSender() == _operationsWallet); _finalBuyTax = 0; _finalSellTax = 0; } function removeLimits() external { require(_msgSender() == _operationsWallet); _maxTxAmount = _tTotal; _maxWalletSize = _tTotal; emit MaxTxAmountUpdated(_tTotal); } function updateWallets(address _team, address _marketing, address _dev) external { require(_msgSender() == _operationsWallet); _teamWallet = payable(_team); _marketingWallet = payable(_marketing); _devWallet = payable(_dev); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"rescueToken","outputs":[{"internalType":"bool","name":"_sent","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_team","type":"address"},{"internalType":"address","name":"_marketing","type":"address"},{"internalType":"address","name":"_dev","type":"address"}],"name":"updateWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600f60085560146009556003600a556003600b55601e600c55603c600d55601e600e555f600f556012600a6200003b919062000533565b6200004a906216e36062000543565b6010556200005b6012600a62000533565b6200006a90621e848062000543565b6011556200007b6012600a62000533565b6200008a90620186a062000543565b6012556012600a6200009d919062000533565b620000ac90624c4b4062000543565b6013556015805461ffff60a01b19169055348015620000c9575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b0319908116737a6ce5ce7caaf759ffb7effc64937926cf8e6729179091556005805482167388774a4144649fd554267c1469f6eebe91bccefb1790556007805490911673f880ecb95151ca6d58b4b2e049d5f23c3d1c70ae179055620001783390565b600680546001600160a01b0319166001600160a01b03929092169190911790555f620001d16064620001ca605a620001b36012600a62000533565b620001c3906305f5e10062000543565b9062000310565b90620003a3565b90505f620001ee6064620001ca6007620001b36012600a62000533565b90505f6200020b6064620001ca6003620001b36012600a62000533565b305f818152600160208181526040808420899055600480546001600160a01b0390811686528286208a90556006805482168752838720899055548116865260038452828620805460ff1990811687179091559154168552818520805482168517905585855281852080549091169093179092559051878152939450919290915f8051602062001fb3833981519152910160405180910390a36004546040518381526001600160a01b03909116905f905f8051602062001fb38339815191529060200160405180910390a36006546040518281526001600160a01b03909116905f905f8051602062001fb38339815191529060200160405180910390a3505050620005cb565b5f825f036200032157505f6200039d565b5f6200032e838562000543565b9050826200033d85836200055d565b146200039a5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b5f6200039a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620003ec60201b60201c565b5f81836200040f5760405162461bcd60e51b81526004016200039191906200057d565b505f6200041d84866200055d565b95945050505050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200047a57815f19048211156200045e576200045e62000426565b808516156200046c57918102915b93841c93908002906200043f565b509250929050565b5f8262000492575060016200039d565b81620004a057505f6200039d565b8160018114620004b95760028114620004c457620004e4565b60019150506200039d565b60ff841115620004d857620004d862000426565b50506001821b6200039d565b5060208310610133831016604e8410600b841016171562000509575081810a6200039d565b6200051583836200043a565b805f19048211156200052b576200052b62000426565b029392505050565b5f6200039a60ff84168362000482565b80820281158282048414176200039d576200039d62000426565b5f826200057857634e487b7160e01b5f52601260045260245ffd5b500490565b5f602080835283518060208501525f5b81811015620005ab578581018301518582016040015282016200058d565b505f604082860101526040601f19601f8301168501019250505092915050565b6119da80620005d95f395ff3fe608060405260043610610129575f3560e01c806370a08231116100a85780638f9a55c01161006d5780638f9a55c01461031e57806395d89b4114610333578063a9059cbb1461035e578063bf474bed1461037d578063c9567bf914610392578063dd62ed3e1461039a575f80fd5b806370a0823114610287578063715018a6146102bb578063751039fc146102cf5780637d1db4a5146102e35780638da5cb5b146102f8575f80fd5b806320800a00116100ee57806320800a001461020657806323b872dd1461021a578063313ce567146102395780634460d3cf1461025457806369e1ea7f14610273575f80fd5b806306fdde0314610134578063095ea7b31461017f5780630faee56f146101ae578063147c9f6d146101d157806318160ddd146101f2575f80fd5b3661013057005b5f80fd5b34801561013f575f80fd5b506040805180820190915260118152705a65726f20506f696e7420456e6572677960781b60208201525b60405161017691906115a0565b60405180910390f35b34801561018a575f80fd5b5061019e610199366004611603565b6103de565b6040519015158152602001610176565b3480156101b9575f80fd5b506101c360135481565b604051908152602001610176565b3480156101dc575f80fd5b506101f06101eb36600461162d565b6103f4565b005b3480156101fd575f80fd5b506101c3610452565b348015610211575f80fd5b506101f0610472565b348015610225575f80fd5b5061019e610234366004611675565b6104e6565b348015610244575f80fd5b5060405160128152602001610176565b34801561025f575f80fd5b5061019e61026e3660046116b3565b61054d565b34801561027e575f80fd5b506101f0610653565b348015610292575f80fd5b506101c36102a13660046116b3565b6001600160a01b03165f9081526001602052604090205490565b3480156102c6575f80fd5b506101f061067d565b3480156102da575f80fd5b506101f0610723565b3480156102ee575f80fd5b506101c360105481565b348015610303575f80fd5b505f546040516001600160a01b039091168152602001610176565b348015610329575f80fd5b506101c360115481565b34801561033e575f80fd5b506040805180820190915260038152625a504560e81b6020820152610169565b348015610369575f80fd5b5061019e610378366004611603565b6107ca565b348015610388575f80fd5b506101c360125481565b6101f06107d6565b3480156103a5575f80fd5b506101c36103b43660046116ce565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103ea338484610bd5565b5060015b92915050565b6006546001600160a01b0316336001600160a01b031614610413575f80fd5b600480546001600160a01b039485166001600160a01b031991821617909155600580549385169382169390931790925560078054919093169116179055565b5f61045f6012600a6117f9565b61046d906305f5e100611807565b905090565b6006546001600160a01b0316336001600160a01b031614610491575f80fd5b6006546040515f916001600160a01b03169047908381818185875af1925050503d805f81146104db576040519150601f19603f3d011682016040523d82523d5f602084013e6104e0565b606091505b50505050565b5f6104f2848484610cf8565b610543843361053e8560405180606001604052806028815260200161197d602891396001600160a01b038a165f908152600260209081526040808320338452909152902054919061125a565b610bd5565b5060019392505050565b6006545f906001600160a01b0316336001600160a01b03161461056e575f80fd5b6040516370a0823160e01b81523060048201525f906001600160a01b038416906370a0823190602401602060405180830381865afa1580156105b2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105d6919061181e565b60065460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925084169063a9059cbb906044016020604051808303815f875af1158015610628573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061064c9190611835565b9392505050565b6006546001600160a01b0316336001600160a01b031614610672575f80fd5b5f600a819055600b55565b5f546001600160a01b031633146106db5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b6006546001600160a01b0316336001600160a01b031614610742575f80fd5b61074e6012600a6117f9565b61075c906305f5e100611807565b60105561076b6012600a6117f9565b610779906305f5e100611807565b6011557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6107a96012600a6117f9565b6107b7906305f5e100611807565b60405190815260200160405180910390a1565b5f6103ea338484610cf8565b5f546001600160a01b0316331461082f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106d2565b601554600160a01b900460ff16156108895760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016106d2565b601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556108d29030906108c46012600a6117f9565b61053e906305f5e100611807565b60145f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610922573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109469190611854565b6001600160a01b031663c9c653963060145f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109a5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109c99190611854565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610a13573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a379190611854565b601580546001600160a01b039283166001600160a01b03199091161790556014541663f305d7194730610a7e816001600160a01b03165f9081526001602052604090205490565b60065460405160e086901b6001600160e01b03191681526001600160a01b03938416600482015260248101929092525f6044830181905260648301529190911660848201524260a482015260c40160606040518083038185885af1158015610ae8573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610b0d919061186f565b505060155460145460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610b62573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b869190611835565b5060158054600160a01b60ff60a01b19909116179055600654600480546001600160a01b039092166001600160a01b031992831681179091556005805483168217905560078054909216179055565b6001600160a01b038316610c375760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106d2565b6001600160a01b038216610c985760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106d2565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d5c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106d2565b6001600160a01b038216610dbe5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106d2565b6015545f90600160a01b900460ff168015610de757506006546001600160a01b03858116911614155b8015610e0157506006546001600160a01b03848116911614155b1561111d57610e326064610e2c600c54600f5411610e2157600854610e25565b600a545b8590611292565b90611310565b6015549091506001600160a01b038581169116148015610e6057506014546001600160a01b03848116911614155b8015610e8457506001600160a01b0383165f9081526003602052604090205460ff16155b15610f6a57601054821115610edb5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016106d2565b60115482610efd856001600160a01b03165f9081526001602052604090205490565b610f07919061189a565b1115610f555760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016106d2565b600f8054905f610f64836118ad565b91905055505b6015546001600160a01b038481169116148015610f9057506001600160a01b0384163014155b15610fbd57610fba6064610e2c600d54600f5411610fb057600954610e25565b600b548590611292565b90505b305f90815260016020526040902054601554600160a81b900460ff16158015610ff357506015546001600160a01b038581169116145b8015611000575060125481115b801561100f5750600e54600f54115b1561111b5761103161102c8461102784601354611351565b611351565b611365565b4766b1a2bc2ec500008111156111195760045447906001600160a01b03166108fc6110646103e8610e2c85610190611292565b6040518115909202915f818181858888f19350505050158015611089573d5f803e3d5ffd5b506005546001600160a01b03166108fc6110ab6103e8610e2c85610190611292565b6040518115909202915f818181858888f193505050501580156110d0573d5f803e3d5ffd5b506007546001600160a01b03166108fc6110f16103e8610e2c8560c8611292565b6040518115909202915f818181858888f19350505050158015611116573d5f803e3d5ffd5b50505b505b505b801561119557305f9081526001602052604090205461113c90826114d5565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061118c9085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546111b79083611533565b6001600160a01b0385165f908152600160205260409020556111fa6111dc8383611533565b6001600160a01b0385165f90815260016020526040902054906114d5565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112438585611533565b60405190815260200160405180910390a350505050565b5f818484111561127d5760405162461bcd60e51b81526004016106d291906115a0565b505f61128984866118c5565b95945050505050565b5f825f036112a157505f6103ee565b5f6112ac8385611807565b9050826112b985836118d8565b1461064c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106d2565b5f61064c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611574565b5f81831161135f578261064c565b50919050565b6015805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106113ab576113ab6118f7565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611402573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114269190611854565b81600181518110611439576114396118f7565b6001600160a01b03928316602091820292909201015260145461145f9130911684610bd5565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac947906114979085905f9086903090429060040161190b565b5f604051808303815f87803b1580156114ae575f80fd5b505af11580156114c0573d5f803e3d5ffd5b50506015805460ff60a81b1916905550505050565b5f806114e1838561189a565b90508381101561064c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106d2565b5f61064c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061125a565b5f81836115945760405162461bcd60e51b81526004016106d291906115a0565b505f61128984866118d8565b5f602080835283518060208501525f5b818110156115cc578581018301518582016040015282016115b0565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611600575f80fd5b50565b5f8060408385031215611614575f80fd5b823561161f816115ec565b946020939093013593505050565b5f805f6060848603121561163f575f80fd5b833561164a816115ec565b9250602084013561165a816115ec565b9150604084013561166a816115ec565b809150509250925092565b5f805f60608486031215611687575f80fd5b8335611692816115ec565b925060208401356116a2816115ec565b929592945050506040919091013590565b5f602082840312156116c3575f80fd5b813561064c816115ec565b5f80604083850312156116df575f80fd5b82356116ea816115ec565b915060208301356116fa816115ec565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561175357815f190482111561173957611739611705565b8085161561174657918102915b93841c939080029061171e565b509250929050565b5f82611769575060016103ee565b8161177557505f6103ee565b816001811461178b5760028114611795576117b1565b60019150506103ee565b60ff8411156117a6576117a6611705565b50506001821b6103ee565b5060208310610133831016604e8410600b84101617156117d4575081810a6103ee565b6117de8383611719565b805f19048211156117f1576117f1611705565b029392505050565b5f61064c60ff84168361175b565b80820281158282048414176103ee576103ee611705565b5f6020828403121561182e575f80fd5b5051919050565b5f60208284031215611845575f80fd5b8151801515811461064c575f80fd5b5f60208284031215611864575f80fd5b815161064c816115ec565b5f805f60608486031215611881575f80fd5b8351925060208401519150604084015190509250925092565b808201808211156103ee576103ee611705565b5f600182016118be576118be611705565b5060010190565b818103818111156103ee576103ee611705565b5f826118f257634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b8181101561195b5784516001600160a01b031683529383019391830191600101611936565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e1585154f80649b6c79520720ade297d99a8bf764bc31331bfa6fc44231581e664736f6c63430008170033ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
Deployed Bytecode
0x608060405260043610610129575f3560e01c806370a08231116100a85780638f9a55c01161006d5780638f9a55c01461031e57806395d89b4114610333578063a9059cbb1461035e578063bf474bed1461037d578063c9567bf914610392578063dd62ed3e1461039a575f80fd5b806370a0823114610287578063715018a6146102bb578063751039fc146102cf5780637d1db4a5146102e35780638da5cb5b146102f8575f80fd5b806320800a00116100ee57806320800a001461020657806323b872dd1461021a578063313ce567146102395780634460d3cf1461025457806369e1ea7f14610273575f80fd5b806306fdde0314610134578063095ea7b31461017f5780630faee56f146101ae578063147c9f6d146101d157806318160ddd146101f2575f80fd5b3661013057005b5f80fd5b34801561013f575f80fd5b506040805180820190915260118152705a65726f20506f696e7420456e6572677960781b60208201525b60405161017691906115a0565b60405180910390f35b34801561018a575f80fd5b5061019e610199366004611603565b6103de565b6040519015158152602001610176565b3480156101b9575f80fd5b506101c360135481565b604051908152602001610176565b3480156101dc575f80fd5b506101f06101eb36600461162d565b6103f4565b005b3480156101fd575f80fd5b506101c3610452565b348015610211575f80fd5b506101f0610472565b348015610225575f80fd5b5061019e610234366004611675565b6104e6565b348015610244575f80fd5b5060405160128152602001610176565b34801561025f575f80fd5b5061019e61026e3660046116b3565b61054d565b34801561027e575f80fd5b506101f0610653565b348015610292575f80fd5b506101c36102a13660046116b3565b6001600160a01b03165f9081526001602052604090205490565b3480156102c6575f80fd5b506101f061067d565b3480156102da575f80fd5b506101f0610723565b3480156102ee575f80fd5b506101c360105481565b348015610303575f80fd5b505f546040516001600160a01b039091168152602001610176565b348015610329575f80fd5b506101c360115481565b34801561033e575f80fd5b506040805180820190915260038152625a504560e81b6020820152610169565b348015610369575f80fd5b5061019e610378366004611603565b6107ca565b348015610388575f80fd5b506101c360125481565b6101f06107d6565b3480156103a5575f80fd5b506101c36103b43660046116ce565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103ea338484610bd5565b5060015b92915050565b6006546001600160a01b0316336001600160a01b031614610413575f80fd5b600480546001600160a01b039485166001600160a01b031991821617909155600580549385169382169390931790925560078054919093169116179055565b5f61045f6012600a6117f9565b61046d906305f5e100611807565b905090565b6006546001600160a01b0316336001600160a01b031614610491575f80fd5b6006546040515f916001600160a01b03169047908381818185875af1925050503d805f81146104db576040519150601f19603f3d011682016040523d82523d5f602084013e6104e0565b606091505b50505050565b5f6104f2848484610cf8565b610543843361053e8560405180606001604052806028815260200161197d602891396001600160a01b038a165f908152600260209081526040808320338452909152902054919061125a565b610bd5565b5060019392505050565b6006545f906001600160a01b0316336001600160a01b03161461056e575f80fd5b6040516370a0823160e01b81523060048201525f906001600160a01b038416906370a0823190602401602060405180830381865afa1580156105b2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105d6919061181e565b60065460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925084169063a9059cbb906044016020604051808303815f875af1158015610628573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061064c9190611835565b9392505050565b6006546001600160a01b0316336001600160a01b031614610672575f80fd5b5f600a819055600b55565b5f546001600160a01b031633146106db5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b6006546001600160a01b0316336001600160a01b031614610742575f80fd5b61074e6012600a6117f9565b61075c906305f5e100611807565b60105561076b6012600a6117f9565b610779906305f5e100611807565b6011557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6107a96012600a6117f9565b6107b7906305f5e100611807565b60405190815260200160405180910390a1565b5f6103ea338484610cf8565b5f546001600160a01b0316331461082f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106d2565b601554600160a01b900460ff16156108895760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016106d2565b601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556108d29030906108c46012600a6117f9565b61053e906305f5e100611807565b60145f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610922573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109469190611854565b6001600160a01b031663c9c653963060145f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109a5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109c99190611854565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610a13573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a379190611854565b601580546001600160a01b039283166001600160a01b03199091161790556014541663f305d7194730610a7e816001600160a01b03165f9081526001602052604090205490565b60065460405160e086901b6001600160e01b03191681526001600160a01b03938416600482015260248101929092525f6044830181905260648301529190911660848201524260a482015260c40160606040518083038185885af1158015610ae8573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610b0d919061186f565b505060155460145460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610b62573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b869190611835565b5060158054600160a01b60ff60a01b19909116179055600654600480546001600160a01b039092166001600160a01b031992831681179091556005805483168217905560078054909216179055565b6001600160a01b038316610c375760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106d2565b6001600160a01b038216610c985760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106d2565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d5c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106d2565b6001600160a01b038216610dbe5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106d2565b6015545f90600160a01b900460ff168015610de757506006546001600160a01b03858116911614155b8015610e0157506006546001600160a01b03848116911614155b1561111d57610e326064610e2c600c54600f5411610e2157600854610e25565b600a545b8590611292565b90611310565b6015549091506001600160a01b038581169116148015610e6057506014546001600160a01b03848116911614155b8015610e8457506001600160a01b0383165f9081526003602052604090205460ff16155b15610f6a57601054821115610edb5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016106d2565b60115482610efd856001600160a01b03165f9081526001602052604090205490565b610f07919061189a565b1115610f555760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016106d2565b600f8054905f610f64836118ad565b91905055505b6015546001600160a01b038481169116148015610f9057506001600160a01b0384163014155b15610fbd57610fba6064610e2c600d54600f5411610fb057600954610e25565b600b548590611292565b90505b305f90815260016020526040902054601554600160a81b900460ff16158015610ff357506015546001600160a01b038581169116145b8015611000575060125481115b801561100f5750600e54600f54115b1561111b5761103161102c8461102784601354611351565b611351565b611365565b4766b1a2bc2ec500008111156111195760045447906001600160a01b03166108fc6110646103e8610e2c85610190611292565b6040518115909202915f818181858888f19350505050158015611089573d5f803e3d5ffd5b506005546001600160a01b03166108fc6110ab6103e8610e2c85610190611292565b6040518115909202915f818181858888f193505050501580156110d0573d5f803e3d5ffd5b506007546001600160a01b03166108fc6110f16103e8610e2c8560c8611292565b6040518115909202915f818181858888f19350505050158015611116573d5f803e3d5ffd5b50505b505b505b801561119557305f9081526001602052604090205461113c90826114d5565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061118c9085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546111b79083611533565b6001600160a01b0385165f908152600160205260409020556111fa6111dc8383611533565b6001600160a01b0385165f90815260016020526040902054906114d5565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112438585611533565b60405190815260200160405180910390a350505050565b5f818484111561127d5760405162461bcd60e51b81526004016106d291906115a0565b505f61128984866118c5565b95945050505050565b5f825f036112a157505f6103ee565b5f6112ac8385611807565b9050826112b985836118d8565b1461064c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106d2565b5f61064c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611574565b5f81831161135f578261064c565b50919050565b6015805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106113ab576113ab6118f7565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611402573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114269190611854565b81600181518110611439576114396118f7565b6001600160a01b03928316602091820292909201015260145461145f9130911684610bd5565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac947906114979085905f9086903090429060040161190b565b5f604051808303815f87803b1580156114ae575f80fd5b505af11580156114c0573d5f803e3d5ffd5b50506015805460ff60a81b1916905550505050565b5f806114e1838561189a565b90508381101561064c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106d2565b5f61064c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061125a565b5f81836115945760405162461bcd60e51b81526004016106d291906115a0565b505f61128984866118d8565b5f602080835283518060208501525f5b818110156115cc578581018301518582016040015282016115b0565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611600575f80fd5b50565b5f8060408385031215611614575f80fd5b823561161f816115ec565b946020939093013593505050565b5f805f6060848603121561163f575f80fd5b833561164a816115ec565b9250602084013561165a816115ec565b9150604084013561166a816115ec565b809150509250925092565b5f805f60608486031215611687575f80fd5b8335611692816115ec565b925060208401356116a2816115ec565b929592945050506040919091013590565b5f602082840312156116c3575f80fd5b813561064c816115ec565b5f80604083850312156116df575f80fd5b82356116ea816115ec565b915060208301356116fa816115ec565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561175357815f190482111561173957611739611705565b8085161561174657918102915b93841c939080029061171e565b509250929050565b5f82611769575060016103ee565b8161177557505f6103ee565b816001811461178b5760028114611795576117b1565b60019150506103ee565b60ff8411156117a6576117a6611705565b50506001821b6103ee565b5060208310610133831016604e8410600b84101617156117d4575081810a6103ee565b6117de8383611719565b805f19048211156117f1576117f1611705565b029392505050565b5f61064c60ff84168361175b565b80820281158282048414176103ee576103ee611705565b5f6020828403121561182e575f80fd5b5051919050565b5f60208284031215611845575f80fd5b8151801515811461064c575f80fd5b5f60208284031215611864575f80fd5b815161064c816115ec565b5f805f60608486031215611881575f80fd5b8351925060208401519150604084015190509250925092565b808201808211156103ee576103ee611705565b5f600182016118be576118be611705565b5060010190565b818103818111156103ee576103ee611705565b5f826118f257634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b8181101561195b5784516001600160a01b031683529383019391830191600101611936565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e1585154f80649b6c79520720ade297d99a8bf764bc31331bfa6fc44231581e664736f6c63430008170033
Deployed Bytecode Sourcemap
3588:8995:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6221:83;;;;;;;;;;-1:-1:-1;6291:5:0;;;;;;;;;;;;-1:-1:-1;;;6291:5:0;;;;6221:83;;;;;;;:::i;:::-;;;;;;;;7054:161;;;;;;;;;;-1:-1:-1;7054:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;7054:161:0;1023:187:1;4798:54:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;4798:54:0;1215:177:1;12316:264:0;;;;;;;;;;-1:-1:-1;12316:264:0;;;;;:::i;:::-;;:::i;:::-;;6498:95;;;;;;;;;;;;;:::i;11732:203::-;;;;;;;;;;;;;:::i;7223:313::-;;;;;;;;;;-1:-1:-1;7223:313:0;;;;;:::i;:::-;;:::i;6407:83::-;;;;;;;;;;-1:-1:-1;6407:83:0;;4411:2;2534:36:1;;2522:2;2507:18;6407:83:0;2392:184:1;11439:285:0;;;;;;;;;;-1:-1:-1;11439:285:0;;;;;:::i;:::-;;:::i;11947:148::-;;;;;;;;;;;;;:::i;6601:119::-;;;;;;;;;;-1:-1:-1;6601:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6694:18:0;6667:7;6694:18;;;:9;:18;;;;;;;6601:119;2669:148;;;;;;;;;;;;;:::i;12103:205::-;;;;;;;;;;;;;:::i;4607:55::-;;;;;;;;;;;;;;;;2455:79;;;;;;;;;;-1:-1:-1;2493:7:0;2520:6;2455:79;;-1:-1:-1;;;;;2520:6:0;;;2979:51:1;;2967:2;2952:18;2455:79:0;2833:203:1;4669:57:0;;;;;;;;;;;;;;;;6312:87;;;;;;;;;;-1:-1:-1;6384:7:0;;;;;;;;;;;;-1:-1:-1;;;6384:7:0;;;;6312:87;;6728:167;;;;;;;;;;-1:-1:-1;6728:167:0;;;;;:::i;:::-;;:::i;4733:58::-;;;;;;;;;;;;;;;;10575:819;;;:::i;6903:143::-;;;;;;;;;;-1:-1:-1;6903:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;7011:18:0;;;6984:7;7011:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6903:143;7054:161;7129:4;7146:39;290:10;7169:7;7178:6;7146:8;:39::i;:::-;-1:-1:-1;7203:4:0;7054:161;;;;;:::o;12316:264::-;12432:17;;-1:-1:-1;;;;;12432:17:0;290:10;-1:-1:-1;;;;;12416:33:0;;12408:42;;;;;;12460:11;:28;;-1:-1:-1;;;;;12460:28:0;;;-1:-1:-1;;;;;;12460:28:0;;;;;;;12498:16;:38;;;;;;;;;;;;;;;12546:10;:26;;;;;;;;;;;12316:264::o;6498:95::-;6551:7;4469:13;4411:2;4469;:13;:::i;:::-;4455:27;;:11;:27;:::i;:::-;6571:14;;6498:95;:::o;11732:203::-;11797:17;;-1:-1:-1;;;;;11797:17:0;290:10;-1:-1:-1;;;;;11781:33:0;;11773:42;;;;;;11870:17;;11862:65;;11826:12;;-1:-1:-1;;;;;11870:17:0;;11901:21;;11826:12;11862:65;11826:12;11862:65;11901:21;11870:17;11862:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;11732:203:0:o;7223:313::-;7321:4;7338:36;7348:6;7356:9;7367:6;7338:9;:36::i;:::-;7385:121;7394:6;290:10;7416:89;7454:6;7416:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7416:19:0;;;;;;:11;:19;;;;;;;;290:10;7416:33;;;;;;;;;;:37;:89::i;:::-;7385:8;:121::i;:::-;-1:-1:-1;7524:4:0;7223:313;;;;;:::o;11439:285::-;11542:17;;11494:10;;-1:-1:-1;;;;;11542:17:0;290:10;-1:-1:-1;;;;;11526:33:0;;11518:42;;;;;;11598:39;;-1:-1:-1;;;11598:39:0;;11631:4;11598:39;;;2979:51:1;11571:24:0;;-1:-1:-1;;;;;11598:24:0;;;;;2952:18:1;;11598:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11680:17;;11656:60;;-1:-1:-1;;;11656:60:0;;-1:-1:-1;;;;;11680:17:0;;;11656:60;;;5697:51:1;5764:18;;;5757:34;;;11571:66:0;;-1:-1:-1;11656:23:0;;;;;5670:18:1;;11656:60:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11648:68;11439:285;-1:-1:-1;;;11439:285:0:o;11947:148::-;12014:17;;-1:-1:-1;;;;;12014:17:0;290:10;-1:-1:-1;;;;;11998:33:0;;11990:42;;;;;;12058:1;12043:12;:16;;;12070:13;:17;11947:148::o;2669:::-;2582:6;;-1:-1:-1;;;;;2582:6:0;290:10;2582:22;2574:67;;;;-1:-1:-1;;;2574:67:0;;6286:2:1;2574:67:0;;;6268:21:1;;;6305:18;;;6298:30;6364:34;6344:18;;;6337:62;6416:18;;2574:67:0;;;;;;;;;2776:1:::1;2760:6:::0;;2739:40:::1;::::0;-1:-1:-1;;;;;2760:6:0;;::::1;::::0;2739:40:::1;::::0;2776:1;;2739:40:::1;2807:1;2790:19:::0;;-1:-1:-1;;;;;;2790:19:0::1;::::0;;2669:148::o;12103:205::-;12171:17;;-1:-1:-1;;;;;12171:17:0;290:10;-1:-1:-1;;;;;12155:33:0;;12147:42;;;;;;4469:13;4411:2;4469;:13;:::i;:::-;4455:27;;:11;:27;:::i;:::-;12200:12;:22;4469:13;4411:2;4469;:13;:::i;:::-;4455:27;;:11;:27;:::i;:::-;12233:14;:24;12273:27;4469:13;4411:2;4469;:13;:::i;:::-;4455:27;;:11;:27;:::i;:::-;12273;;1361:25:1;;;1349:2;1334:18;12273:27:0;;;;;;;12103:205::o;6728:167::-;6806:4;6823:42;290:10;6847:9;6858:6;6823:9;:42::i;10575:819::-;2582:6;;-1:-1:-1;;;;;2582:6:0;290:10;2582:22;2574:67;;;;-1:-1:-1;;;2574:67:0;;6286:2:1;2574:67:0;;;6268:21:1;;;6305:18;;;6298:30;6364:34;6344:18;;;6337:62;6416:18;;2574:67:0;6084:356:1;2574:67:0;10645:11:::1;::::0;-1:-1:-1;;;10645:11:0;::::1;;;10644:12;10636:47;;;::::0;-1:-1:-1;;;10636:47:0;;6647:2:1;10636:47:0::1;::::0;::::1;6629:21:1::0;6686:2;6666:18;;;6659:30;6725:25;6705:18;;;6698:53;6768:18;;10636:47:0::1;6445:347:1::0;10636:47:0::1;10694:15;:80:::0;;-1:-1:-1;;;;;;10694:80:0::1;10731:42;10694:80:::0;;::::1;::::0;;;10785:58:::1;::::0;10802:4:::1;::::0;4469:13:::1;4411:2;4469;:13;:::i;:::-;4455:27;::::0;:11:::1;:27;:::i;10785:58::-;10888:15;;;;;;;;;-1:-1:-1::0;;;;;10888:15:0::1;-1:-1:-1::0;;;;;10888:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10870:55:0::1;;10934:4;10941:15;;;;;;;;;-1:-1:-1::0;;;;;10941:15:0::1;-1:-1:-1::0;;;;;10941:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10870:94;::::0;-1:-1:-1;;;;;;10870:94:0::1;::::0;;;;;;-1:-1:-1;;;;;7283:15:1;;;10870:94:0::1;::::0;::::1;7265:34:1::0;7335:15;;7315:18;;;7308:43;7200:18;;10870:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10854:13;:110:::0;;-1:-1:-1;;;;;10854:110:0;;::::1;-1:-1:-1::0;;;;;;10854:110:0;;::::1;;::::0;;10975:15:::1;::::0;::::1;:31;11014:21;11045:4;11051:24;11045:4:::0;-1:-1:-1;;;;;6694:18:0;6667:7;6694:18;;;:9;:18;;;;;;;6601:119;11051:24:::1;11080:17;::::0;10975:139:::1;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10975:139:0;;;-1:-1:-1;;;;;7729:15:1;;;10975:139:0::1;::::0;::::1;7711:34:1::0;7761:18;;;7754:34;;;;11076:1:0::1;7804:18:1::0;;;7797:34;;;7847:18;;;7840:34;11080:17:0;;;::::1;7890:19:1::0;;;7883:44;11098:15:0::1;7943:19:1::0;;;7936:35;7645:19;;10975:139:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11132:13:0::1;::::0;11163:15:::1;::::0;11125:71:::1;::::0;-1:-1:-1;;;11125:71:0;;-1:-1:-1;;;;;11163:15:0;;::::1;11125:71;::::0;::::1;5697:51:1::0;-1:-1:-1;;5764:18:1;;;5757:34;11132:13:0;::::1;::::0;-1:-1:-1;11125:29:0::1;::::0;5670:18:1;;11125:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11207:11:0::1;:18:::0;;-1:-1:-1;;;;;;;11207:18:0;;::::1;;::::0;;11281:17:::1;::::0;11267:11:::1;:31:::0;;-1:-1:-1;;;;;11281:17:0;;::::1;-1:-1:-1::0;;;;;;11267:31:0;;::::1;::::0;::::1;::::0;;;11309:16:::1;:36:::0;;;::::1;::::0;::::1;::::0;;11356:10:::1;:30:::0;;;;::::1;;::::0;;10575:819::o;7544:335::-;-1:-1:-1;;;;;7637:19:0;;7629:68;;;;-1:-1:-1;;;7629:68:0;;8774:2:1;7629:68:0;;;8756:21:1;8813:2;8793:18;;;8786:30;8852:34;8832:18;;;8825:62;-1:-1:-1;;;8903:18:1;;;8896:34;8947:19;;7629:68:0;8572:400:1;7629:68:0;-1:-1:-1;;;;;7716:21:0;;7708:68;;;;-1:-1:-1;;;7708:68:0;;9179:2:1;7708:68:0;;;9161:21:1;9218:2;9198:18;;;9191:30;9257:34;9237:18;;;9230:62;-1:-1:-1;;;9308:18:1;;;9301:32;9350:19;;7708:68:0;8977:398:1;7708:68:0;-1:-1:-1;;;;;7787:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7839:32;;1361:25:1;;;7839:32:0;;1334:18:1;7839:32:0;;;;;;;7544:335;;;:::o;7887:2083::-;-1:-1:-1;;;;;7975:18:0;;7967:68;;;;-1:-1:-1;;;7967:68:0;;9582:2:1;7967:68:0;;;9564:21:1;9621:2;9601:18;;;9594:30;9660:34;9640:18;;;9633:62;-1:-1:-1;;;9711:18:1;;;9704:35;9756:19;;7967:68:0;9380:401:1;7967:68:0;-1:-1:-1;;;;;8054:16:0;;8046:64;;;;-1:-1:-1;;;8046:64:0;;9988:2:1;8046:64:0;;;9970:21:1;10027:2;10007:18;;;10000:30;10066:34;10046:18;;;10039:62;-1:-1:-1;;;10117:18:1;;;10110:33;10160:19;;8046:64:0;9786:399:1;8046:64:0;8157:11;;8121:17;;-1:-1:-1;;;8157:11:0;;;;:40;;;;-1:-1:-1;8180:17:0;;-1:-1:-1;;;;;8172:25:0;;;8180:17;;8172:25;;8157:40;:67;;;;-1:-1:-1;8207:17:0;;-1:-1:-1;;;;;8201:23:0;;;8207:17;;8201:23;;8157:67;8153:1451;;;8253:76;8325:3;8253:67;8275:15;;8265:9;;:25;8264:55;;8305:14;;8264:55;;;8292:12;;8264:55;8253:6;;:10;:67::i;:::-;:71;;:76::i;:::-;8358:13;;8241:88;;-1:-1:-1;;;;;;8350:21:0;;;8358:13;;8350:21;:55;;;;-1:-1:-1;8389:15:0;;-1:-1:-1;;;;;8375:30:0;;;8389:15;;8375:30;;8350:55;:83;;;;-1:-1:-1;;;;;;8411:22:0;;;;;;:18;:22;;;;;;;;8409:24;8350:83;8346:313;;;8473:12;;8463:6;:22;;8455:60;;;;-1:-1:-1;;;8455:60:0;;10392:2:1;8455:60:0;;;10374:21:1;10431:2;10411:18;;;10404:30;10470:27;10450:18;;;10443:55;10515:18;;8455:60:0;10190:349:1;8455:60:0;8568:14;;8558:6;8542:13;8552:2;-1:-1:-1;;;;;6694:18:0;6667:7;6694:18;;;:9;:18;;;;;;;6601:119;8542:13;:22;;;;:::i;:::-;:40;;8534:79;;;;-1:-1:-1;;;8534:79:0;;10876:2:1;8534:79:0;;;10858:21:1;10915:2;10895:18;;;10888:30;10954:28;10934:18;;;10927:56;11000:18;;8534:79:0;10674:350:1;8534:79:0;8632:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8346:313;8684:13;;-1:-1:-1;;;;;8678:19:0;;;8684:13;;8678:19;:44;;;;-1:-1:-1;;;;;;8701:21:0;;8717:4;8701:21;;8678:44;8675:175;;;8755:79;8830:3;8755:70;8777:16;;8767:9;;:26;8766:58;;8809:15;;8766:58;;;8795:13;;8755:6;;:10;:70::i;:79::-;8743:91;;8675:175;8915:4;8866:28;6694:18;;;:9;:18;;;;;;8941:6;;-1:-1:-1;;;8941:6:0;;;;8940:7;:30;;;;-1:-1:-1;8957:13:0;;-1:-1:-1;;;;;8951:19:0;;;8957:13;;8951:19;8940:30;:74;;;;;8997:17;;8974:20;:40;8940:74;:108;;;;;9030:18;;9018:9;;:30;8940:108;8936:657;;;9069:67;9086:49;9090:6;9097:37;9101:20;9122:11;;9097:3;:37::i;:::-;9086:3;:49::i;:::-;9069:16;:67::i;:::-;9184:21;9248:17;9227:38;;9224:354;;;9355:11;;9311:21;;-1:-1:-1;;;;;9355:11:0;:51;9376:29;9400:4;9376:19;9311:21;9391:3;9376:14;:19::i;:29::-;9355:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9429:16:0;;-1:-1:-1;;;;;9429:16:0;:56;9455:29;9479:4;9455:19;:10;9470:3;9455:14;:19::i;:29::-;9429:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9508:10:0;;-1:-1:-1;;;;;9508:10:0;:50;9528:29;9552:4;9528:19;:10;9543:3;9528:14;:19::i;:29::-;9508:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9267:311;9224:354;9050:543;8936:657;8226:1378;8153:1451;9619:11;;9616:163;;9689:4;9671:24;;;;:9;:24;;;;;;:39;;9700:9;9671:28;:39::i;:::-;9662:4;9644:24;;;;:9;:24;;;;;;;:66;;;;9728:39;;-1:-1:-1;;;;;9728:39:0;;;;;;;9757:9;1361:25:1;;1349:2;1334:18;;1215:177;9728:39:0;;;;;;;;9616:163;-1:-1:-1;;;;;9809:15:0;;;;;;:9;:15;;;;;;:27;;9829:6;9809:19;:27::i;:::-;-1:-1:-1;;;;;9791:15:0;;;;;;:9;:15;;;;;:45;9863:40;9881:21;:6;9892:9;9881:10;:21::i;:::-;-1:-1:-1;;;;;9863:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9847:13:0;;;;;;;:9;:13;;;;;:56;;;;9921:41;;;9940:21;:6;9951:9;9940:10;:21::i;:::-;9921:41;;1361:25:1;;;1349:2;1334:18;9921:41:0;;;;;;;7956:2014;7887:2083;;;:::o;1347:190::-;1433:7;1469:12;1461:6;;;;1453:29;;;;-1:-1:-1;;;1453:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1493:9:0;1505:5;1509:1;1505;:5;:::i;:::-;1493:17;1347:190;-1:-1:-1;;;;;1347:190:0:o;1545:246::-;1603:7;1627:1;1632;1627:6;1623:47;;-1:-1:-1;1657:1:0;1650:8;;1623:47;1680:9;1692:5;1696:1;1692;:5;:::i;:::-;1680:17;-1:-1:-1;1725:1:0;1716:5;1720:1;1680:17;1716:5;:::i;:::-;:10;1708:56;;;;-1:-1:-1;;;1708:56:0;;11726:2:1;1708:56:0;;;11708:21:1;11765:2;11745:18;;;11738:30;11804:34;11784:18;;;11777:62;-1:-1:-1;;;11855:18:1;;;11848:31;11896:19;;1708:56:0;11524:397:1;1799:132:0;1857:7;1884:39;1888:1;1891;1884:39;;;;;;;;;;;;;;;;;:3;:39::i;9978:98::-;10035:7;10062:1;10060;:3;10059:9;;10067:1;10059:9;;;-1:-1:-1;10065:1:0;9978:98;-1:-1:-1;9978:98:0:o;10084:483::-;5106:6;:13;;-1:-1:-1;;;;5106:13:0;-1:-1:-1;;;5106:13:0;;;10186:16:::1;::::0;;10200:1:::1;10186:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10186:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10186:16:0::1;10162:40;;10231:4;10213;10218:1;10213:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10213:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10257:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10257:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10213:7;;10257:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10247:4;10252:1;10247:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10247:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10322:15:::1;::::0;10290:62:::1;::::0;10307:4:::1;::::0;10322:15:::1;10340:11:::0;10290:8:::1;:62::i;:::-;10363:15;::::0;:196:::1;::::0;-1:-1:-1;;;10363:196:0;;-1:-1:-1;;;;;10363:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10444:11;;10363:15:::1;::::0;10486:4;;10513::::1;::::0;10533:15:::1;::::0;10363:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5142:6:0;:14;;-1:-1:-1;;;;5142:14:0;;;-1:-1:-1;;;;10084:483:0:o;1016:179::-;1074:7;;1106:5;1110:1;1106;:5;:::i;:::-;1094:17;;1135:1;1130;:6;;1122:46;;;;-1:-1:-1;;;1122:46:0;;13377:2:1;1122:46:0;;;13359:21:1;13416:2;13396:18;;;13389:30;13455:29;13435:18;;;13428:57;13502:18;;1122:46:0;13175:351:1;1203:136:0;1261:7;1288:43;1292:1;1295;1288:43;;;;;;;;;;;;;;;;;:3;:43::i;1939:189::-;2025:7;2060:12;2053:5;2045:28;;;;-1:-1:-1;;;2045:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2084:9:0;2096:5;2100:1;2096;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:529::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1789:7;-1:-1:-1;1848:2:1;1833:18;;1820:32;1861:33;1820:32;1861:33;:::i;:::-;1913:7;1903:17;;;1397:529;;;;;:::o;1931:456::-;2008:6;2016;2024;2077:2;2065:9;2056:7;2052:23;2048:32;2045:52;;;2093:1;2090;2083:12;2045:52;2132:9;2119:23;2151:31;2176:5;2151:31;:::i;:::-;2201:5;-1:-1:-1;2258:2:1;2243:18;;2230:32;2271:33;2230:32;2271:33;:::i;:::-;1931:456;;2323:7;;-1:-1:-1;;;2377:2:1;2362:18;;;;2349:32;;1931:456::o;2581:247::-;2640:6;2693:2;2681:9;2672:7;2668:23;2664:32;2661:52;;;2709:1;2706;2699:12;2661:52;2748:9;2735:23;2767:31;2792:5;2767:31;:::i;3041:388::-;3109:6;3117;3170:2;3158:9;3149:7;3145:23;3141:32;3138:52;;;3186:1;3183;3176:12;3138:52;3225:9;3212:23;3244:31;3269:5;3244:31;:::i;:::-;3294:5;-1:-1:-1;3351:2:1;3336:18;;3323:32;3364:33;3323:32;3364:33;:::i;:::-;3416:7;3406:17;;;3041:388;;;;;:::o;3434:127::-;3495:10;3490:3;3486:20;3483:1;3476:31;3526:4;3523:1;3516:15;3550:4;3547:1;3540:15;3566:416;3655:1;3692:5;3655:1;3706:270;3727:7;3717:8;3714:21;3706:270;;;3786:4;3782:1;3778:6;3774:17;3768:4;3765:27;3762:53;;;3795:18;;:::i;:::-;3845:7;3835:8;3831:22;3828:55;;;3865:16;;;;3828:55;3944:22;;;;3904:15;;;;3706:270;;;3710:3;3566:416;;;;;:::o;3987:806::-;4036:5;4066:8;4056:80;;-1:-1:-1;4107:1:1;4121:5;;4056:80;4155:4;4145:76;;-1:-1:-1;4192:1:1;4206:5;;4145:76;4237:4;4255:1;4250:59;;;;4323:1;4318:130;;;;4230:218;;4250:59;4280:1;4271:10;;4294:5;;;4318:130;4355:3;4345:8;4342:17;4339:43;;;4362:18;;:::i;:::-;-1:-1:-1;;4418:1:1;4404:16;;4433:5;;4230:218;;4532:2;4522:8;4519:16;4513:3;4507:4;4504:13;4500:36;4494:2;4484:8;4481:16;4476:2;4470:4;4467:12;4463:35;4460:77;4457:159;;;-1:-1:-1;4569:19:1;;;4601:5;;4457:159;4648:34;4673:8;4667:4;4648:34;:::i;:::-;4718:6;4714:1;4710:6;4706:19;4697:7;4694:32;4691:58;;;4729:18;;:::i;:::-;4767:20;;3987:806;-1:-1:-1;;;3987:806:1:o;4798:140::-;4856:5;4885:47;4926:4;4916:8;4912:19;4906:4;4885:47;:::i;4943:168::-;5016:9;;;5047;;5064:15;;;5058:22;;5044:37;5034:71;;5085:18;;:::i;5326:184::-;5396:6;5449:2;5437:9;5428:7;5424:23;5420:32;5417:52;;;5465:1;5462;5455:12;5417:52;-1:-1:-1;5488:16:1;;5326:184;-1:-1:-1;5326:184:1:o;5802:277::-;5869:6;5922:2;5910:9;5901:7;5897:23;5893:32;5890:52;;;5938:1;5935;5928:12;5890:52;5970:9;5964:16;6023:5;6016:13;6009:21;6002:5;5999:32;5989:60;;6045:1;6042;6035:12;6797:251;6867:6;6920:2;6908:9;6899:7;6895:23;6891:32;6888:52;;;6936:1;6933;6926:12;6888:52;6968:9;6962:16;6987:31;7012:5;6987:31;:::i;7982:306::-;8070:6;8078;8086;8139:2;8127:9;8118:7;8114:23;8110:32;8107:52;;;8155:1;8152;8145:12;8107:52;8184:9;8178:16;8168:26;;8234:2;8223:9;8219:18;8213:25;8203:35;;8278:2;8267:9;8263:18;8257:25;8247:35;;7982:306;;;;;:::o;10544:125::-;10609:9;;;10630:10;;;10627:36;;;10643:18;;:::i;11029:135::-;11068:3;11089:17;;;11086:43;;11109:18;;:::i;:::-;-1:-1:-1;11156:1:1;11145:13;;11029:135::o;11169:128::-;11236:9;;;11257:11;;;11254:37;;;11271:18;;:::i;11302:217::-;11342:1;11368;11358:132;;11412:10;11407:3;11403:20;11400:1;11393:31;11447:4;11444:1;11437:15;11475:4;11472:1;11465:15;11358:132;-1:-1:-1;11504:9:1;;11302:217::o;12058:127::-;12119:10;12114:3;12110:20;12107:1;12100:31;12150:4;12147:1;12140:15;12174:4;12171:1;12164:15;12190:980;12452:4;12500:3;12489:9;12485:19;12531:6;12520:9;12513:25;12557:2;12595:6;12590:2;12579:9;12575:18;12568:34;12638:3;12633:2;12622:9;12618:18;12611:31;12662:6;12697;12691:13;12728:6;12720;12713:22;12766:3;12755:9;12751:19;12744:26;;12805:2;12797:6;12793:15;12779:29;;12826:1;12836:195;12850:6;12847:1;12844:13;12836:195;;;12915:13;;-1:-1:-1;;;;;12911:39:1;12899:52;;13006:15;;;;12971:12;;;;12947:1;12865:9;12836:195;;;-1:-1:-1;;;;;;;13087:32:1;;;;13082:2;13067:18;;13060:60;-1:-1:-1;;;13151:3:1;13136:19;13129:35;13048:3;12190:980;-1:-1:-1;;;12190:980:1:o
Swarm Source
ipfs://e1585154f80649b6c79520720ade297d99a8bf764bc31331bfa6fc44231581e6
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.