More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 70 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 13303690 | 1154 days ago | IN | 0 ETH | 0.00399919 | ||||
Approve | 13302445 | 1154 days ago | IN | 0 ETH | 0.00516582 | ||||
Approve | 13302295 | 1154 days ago | IN | 0 ETH | 0.00342788 | ||||
Approve | 13301617 | 1154 days ago | IN | 0 ETH | 0.0026668 | ||||
Approve | 13301169 | 1154 days ago | IN | 0 ETH | 0.00207801 | ||||
Approve | 13301104 | 1154 days ago | IN | 0 ETH | 0.00162418 | ||||
Approve | 13300465 | 1154 days ago | IN | 0 ETH | 0.00402044 | ||||
Approve | 13300464 | 1154 days ago | IN | 0 ETH | 0.0039192 | ||||
Approve | 13300413 | 1154 days ago | IN | 0 ETH | 0.00474928 | ||||
Approve | 13300349 | 1154 days ago | IN | 0 ETH | 0.00329034 | ||||
Approve | 13300342 | 1154 days ago | IN | 0 ETH | 0.00344255 | ||||
Approve | 13300310 | 1154 days ago | IN | 0 ETH | 0.00352681 | ||||
Approve | 13300282 | 1154 days ago | IN | 0 ETH | 0.00455118 | ||||
Approve | 13300267 | 1154 days ago | IN | 0 ETH | 0.00486393 | ||||
Approve | 13300260 | 1154 days ago | IN | 0 ETH | 0.00562585 | ||||
Approve | 13300194 | 1154 days ago | IN | 0 ETH | 0.00389177 | ||||
Approve | 13300157 | 1154 days ago | IN | 0 ETH | 0.0034134 | ||||
Approve | 13300147 | 1154 days ago | IN | 0 ETH | 0.00263235 | ||||
Approve | 13300135 | 1154 days ago | IN | 0 ETH | 0.00305574 | ||||
Approve | 13300134 | 1154 days ago | IN | 0 ETH | 0.00310145 | ||||
Approve | 13300127 | 1154 days ago | IN | 0 ETH | 0.0047224 | ||||
Approve | 13300125 | 1154 days ago | IN | 0 ETH | 0.00525007 | ||||
Approve | 13300100 | 1154 days ago | IN | 0 ETH | 0.00209108 | ||||
Approve | 13300095 | 1154 days ago | IN | 0 ETH | 0.00188864 | ||||
Approve | 13300085 | 1154 days ago | IN | 0 ETH | 0.00175491 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
15507930 | 805 days ago | 0.00099125 ETH | ||||
13317890 | 1151 days ago | 0.04038849 ETH | ||||
13317888 | 1151 days ago | 0.10328685 ETH | ||||
13317888 | 1151 days ago | 0.10328685 ETH | ||||
13317888 | 1151 days ago | 0.10328685 ETH | ||||
13317888 | 1151 days ago | 0.05243302 ETH | ||||
13307653 | 1153 days ago | 0.00562999 ETH | ||||
13306206 | 1153 days ago | 0.00930489 ETH | ||||
13304726 | 1153 days ago | 0.02127183 ETH | ||||
13303932 | 1153 days ago | 0.00857511 ETH | ||||
13303184 | 1154 days ago | 0.01610432 ETH | ||||
13302302 | 1154 days ago | 0.00257765 ETH | ||||
13302248 | 1154 days ago | 0.0058131 ETH | ||||
13302171 | 1154 days ago | 0.0058131 ETH | ||||
13302171 | 1154 days ago | 0.00418433 ETH | ||||
13302077 | 1154 days ago | 0.01086092 ETH | ||||
13301889 | 1154 days ago | 0.00997211 ETH | ||||
13301287 | 1154 days ago | 0.00846772 ETH | ||||
13301268 | 1154 days ago | 0.02245405 ETH | ||||
13300679 | 1154 days ago | 0.00775819 ETH | ||||
13300632 | 1154 days ago | 0.01889751 ETH | ||||
13300619 | 1154 days ago | 0.01889751 ETH | ||||
13300599 | 1154 days ago | 0.01891745 ETH | ||||
13300582 | 1154 days ago | 0.02896318 ETH | ||||
13300518 | 1154 days ago | 0.02898197 ETH |
Loading...
Loading
Contract Name:
NEURALINK
Compiler Version
v0.8.4+commit.c7e474f2
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-09-26 */ // SPDX-License-Identifier: Unlicensed /* Telegram: https://t.me/neuralinktoken */ pragma solidity ^0.8.4; 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; address private _previousOwner; 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 NEURALINK is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _rOwned; mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping (address => bool) private bots; mapping (address => uint) private cooldown; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 1000000 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _feeAddr1; uint256 private _feeAddr2; address payable private _feeAddrWallet1; address payable private _feeAddrWallet2; address payable private _feeAddrWallet3; string private constant _name = "Neuralink Token"; string private constant _symbol = "NEURALINK"; uint8 private constant _decimals = 9; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; bool private cooldownEnabled = false; uint256 private _maxTxAmount = _tTotal; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _feeAddrWallet1 = payable(0x2F3d3Ed039E96a3ABB36c9373d4702844E7ACbe3); _feeAddrWallet2 = payable(0x2F3d3Ed039E96a3ABB36c9373d4702844E7ACbe3); _feeAddrWallet3 = payable(0x2F3d3Ed039E96a3ABB36c9373d4702844E7ACbe3); _rOwned[address(this)] = _rTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_feeAddrWallet1] = true; emit Transfer(address(0), address(this), _tTotal); } 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 tokenFromReflection(_rOwned[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 setCooldownEnabled(bool onoff) external onlyOwner() { cooldownEnabled = onoff; } function tokenFromReflection(uint256 rAmount) private view returns(uint256) { require(rAmount <= _rTotal, "Amount must be less than total reflections"); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } 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(amount > 0, "Transfer amount must be greater than zero"); require(!bots[from]); if (from != address(this)) { _feeAddr1 = 1; _feeAddr2 = 11; if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && cooldownEnabled) { // Cooldown require(amount <= _maxTxAmount); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && from != uniswapV2Pair && swapEnabled) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 300000000000000000) { sendETHToFee(address(this).balance); } } } _tokenTransfer(from,to,amount); } 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 liftMaxTx() external onlyOwner{ _maxTxAmount = _tTotal; } function sendETHToFee(uint256 amount) private { _feeAddrWallet1.transfer(amount/3); _feeAddrWallet2.transfer(amount/3); _feeAddrWallet3.transfer(amount/3); } function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; _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,owner(),block.timestamp); swapEnabled = true; cooldownEnabled = true; _maxTxAmount = 20000* 10**9; tradingOpen = true; IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); } function _tokenTransfer(address sender, address recipient, uint256 amount) private { _transferStandard(sender, recipient, amount); } function _transferStandard(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeTeam(tTeam); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _takeTeam(uint256 tTeam) private { uint256 currentRate = _getRate(); uint256 rTeam = tTeam.mul(currentRate); _rOwned[address(this)] = _rOwned[address(this)].add(rTeam); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } receive() external payable {} function manualswap() external { require(_msgSender() == _feeAddrWallet1); uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualsend() external { require(_msgSender() == _feeAddrWallet1); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _feeAddr1, _feeAddr2); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam); } function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) { uint256 tFee = tAmount.mul(taxFee).div(100); uint256 tTeam = tAmount.mul(TeamFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam); return (tTransferAmount, tFee, tTeam); } function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam); return (rAmount, rTransferAmount, rFee); } function _getRate() private view returns(uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns(uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } }
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":[{"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":"liftMaxTx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405266038d7ea4c680006000196200001b9190620004de565b6000196200002a919062000499565b6008556000601060156101000a81548160ff0219169083151502179055506000601060166101000a81548160ff0219169083151502179055506000601060176101000a81548160ff02191690831515021790555066038d7ea4c680006011553480156200009657600080fd5b506000620000a96200043a60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350732f3d3ed039e96a3abb36c9373d4702844e7acbe3600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550732f3d3ed039e96a3abb36c9373d4702844e7acbe3600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550732f3d3ed039e96a3abb36c9373d4702844e7acbe3600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600854600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160056000620002a26200044260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef66038d7ea4c680006040516200042c91906200047c565b60405180910390a362000574565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6200047681620004d4565b82525050565b60006020820190506200049360008301846200046b565b92915050565b6000620004a682620004d4565b9150620004b383620004d4565b925082821015620004c957620004c862000516565b5b828203905092915050565b6000819050919050565b6000620004eb82620004d4565b9150620004f883620004d4565b9250826200050b576200050a62000545565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b612bd980620005846000396000f3fe6080604052600436106100f75760003560e01c806370a082311161008a578063a9059cbb11610059578063a9059cbb146102ff578063c3c8cd801461033c578063c9567bf914610353578063dd62ed3e1461036a576100fe565b806370a0823114610255578063715018a6146102925780638da5cb5b146102a957806395d89b41146102d4576100fe565b80632ab30838116100c65780632ab30838146101d3578063313ce567146101ea5780635932ead1146102155780636fc3eaec1461023e576100fe565b806306fdde0314610103578063095ea7b31461012e57806318160ddd1461016b57806323b872dd14610196576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b506101186103a7565b604051610125919061250b565b60405180910390f35b34801561013a57600080fd5b5061015560048036038101906101509190612124565b6103e4565b60405161016291906124f0565b60405180910390f35b34801561017757600080fd5b50610180610402565b60405161018d919061262d565b60405180910390f35b3480156101a257600080fd5b506101bd60048036038101906101b891906120d5565b610411565b6040516101ca91906124f0565b60405180910390f35b3480156101df57600080fd5b506101e86104ea565b005b3480156101f657600080fd5b506101ff61058f565b60405161020c91906126a2565b60405180910390f35b34801561022157600080fd5b5061023c60048036038101906102379190612160565b610598565b005b34801561024a57600080fd5b5061025361064a565b005b34801561026157600080fd5b5061027c60048036038101906102779190612047565b6106bc565b604051610289919061262d565b60405180910390f35b34801561029e57600080fd5b506102a761070d565b005b3480156102b557600080fd5b506102be610860565b6040516102cb9190612422565b60405180910390f35b3480156102e057600080fd5b506102e9610889565b6040516102f6919061250b565b60405180910390f35b34801561030b57600080fd5b5061032660048036038101906103219190612124565b6108c6565b60405161033391906124f0565b60405180910390f35b34801561034857600080fd5b506103516108e4565b005b34801561035f57600080fd5b5061036861095e565b005b34801561037657600080fd5b50610391600480360381019061038c9190612099565b610eb6565b60405161039e919061262d565b60405180910390f35b60606040518060400160405280600f81526020017f4e657572616c696e6b20546f6b656e0000000000000000000000000000000000815250905090565b60006103f86103f1610f3d565b8484610f45565b6001905092915050565b600066038d7ea4c68000905090565b600061041e848484611110565b6104df8461042a610f3d565b6104da85604051806060016040528060288152602001612b7c60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610490610f3d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113eb9092919063ffffffff16565b610f45565b600190509392505050565b6104f2610f3d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461057f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610576906125ad565b60405180910390fd5b66038d7ea4c68000601181905550565b60006009905090565b6105a0610f3d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461062d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610624906125ad565b60405180910390fd5b80601060176101000a81548160ff02191690831515021790555050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661068b610f3d565b73ffffffffffffffffffffffffffffffffffffffff16146106ab57600080fd5b60004790506106b98161144f565b50565b6000610706600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115b1565b9050919050565b610715610f3d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107a2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610799906125ad565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600981526020017f4e455552414c494e4b0000000000000000000000000000000000000000000000815250905090565b60006108da6108d3610f3d565b8484611110565b6001905092915050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610925610f3d565b73ffffffffffffffffffffffffffffffffffffffff161461094557600080fd5b6000610950306106bc565b905061095b8161161f565b50565b610966610f3d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ea906125ad565b60405180910390fd5b601060149054906101000a900460ff1615610a43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3a9061260d565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610ad130600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1666038d7ea4c68000610f45565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610b1757600080fd5b505afa158015610b2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4f9190612070565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610bb157600080fd5b505afa158015610bc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be99190612070565b6040518363ffffffff1660e01b8152600401610c0692919061243d565b602060405180830381600087803b158015610c2057600080fd5b505af1158015610c34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c589190612070565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610ce1306106bc565b600080610cec610860565b426040518863ffffffff1660e01b8152600401610d0e9695949392919061248f565b6060604051808303818588803b158015610d2757600080fd5b505af1158015610d3b573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610d6091906121b2565b5050506001601060166101000a81548160ff0219169083151502179055506001601060176101000a81548160ff0219169083151502179055506512309ce540006011819055506001601060146101000a81548160ff021916908315150217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610e60929190612466565b602060405180830381600087803b158015610e7a57600080fd5b505af1158015610e8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb29190612189565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610fb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fac906125ed565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611025576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101c9061254d565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611103919061262d565b60405180910390a3505050565b60008111611153576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114a906125cd565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156111aa57600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146113db576001600a81905550600b8081905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156112975750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156112ed5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156113055750601060179054906101000a900460ff165b1561131a5760115481111561131957600080fd5b5b6000611325306106bc565b9050601060159054906101000a900460ff161580156113925750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156113aa5750601060169054906101000a900460ff165b156113d9576113b88161161f565b6000479050670429d069189e00008111156113d7576113d64761144f565b5b505b505b6113e6838383611919565b505050565b6000838311158290611433576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142a919061250b565b60405180910390fd5b506000838561144291906127f3565b9050809150509392505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6003836114989190612768565b9081150290604051600060405180830381858888f193505050501580156114c3573d6000803e3d6000fd5b50600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc60038361150d9190612768565b9081150290604051600060405180830381858888f19350505050158015611538573d6000803e3d6000fd5b50600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6003836115829190612768565b9081150290604051600060405180830381858888f193505050501580156115ad573d6000803e3d6000fd5b5050565b60006008548211156115f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ef9061252d565b60405180910390fd5b6000611602611929565b9050611617818461195490919063ffffffff16565b915050919050565b6001601060156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561167d577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156116ab5781602001602082028036833780820191505090505b50905030816000815181106116e9577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561178b57600080fd5b505afa15801561179f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117c39190612070565b816001815181106117fd577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061186430600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f45565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016118c8959493929190612648565b600060405180830381600087803b1580156118e257600080fd5b505af11580156118f6573d6000803e3d6000fd5b50505050506000601060156101000a81548160ff02191690831515021790555050565b61192483838361199e565b505050565b6000806000611936611b69565b9150915061194d818361195490919063ffffffff16565b9250505090565b600061199683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611bc5565b905092915050565b6000806000806000806119b087611c28565b955095509550955095509550611a0e86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c9090919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611aa385600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cda90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611aef81611d38565b611af98483611df5565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611b56919061262d565b60405180910390a3505050505050505050565b60008060006008549050600066038d7ea4c680009050611b9b66038d7ea4c6800060085461195490919063ffffffff16565b821015611bb85760085466038d7ea4c68000935093505050611bc1565b81819350935050505b9091565b60008083118290611c0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c03919061250b565b60405180910390fd5b5060008385611c1b9190612768565b9050809150509392505050565b6000806000806000806000806000611c458a600a54600b54611e2f565b9250925092506000611c55611929565b90506000806000611c688e878787611ec5565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611cd283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113eb565b905092915050565b6000808284611ce99190612712565b905083811015611d2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d259061256d565b60405180910390fd5b8091505092915050565b6000611d42611929565b90506000611d598284611f4e90919063ffffffff16565b9050611dad81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cda90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611e0a82600854611c9090919063ffffffff16565b600881905550611e2581600954611cda90919063ffffffff16565b6009819055505050565b600080600080611e5b6064611e4d888a611f4e90919063ffffffff16565b61195490919063ffffffff16565b90506000611e856064611e77888b611f4e90919063ffffffff16565b61195490919063ffffffff16565b90506000611eae82611ea0858c611c9090919063ffffffff16565b611c9090919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080611ede8589611f4e90919063ffffffff16565b90506000611ef58689611f4e90919063ffffffff16565b90506000611f0c8789611f4e90919063ffffffff16565b90506000611f3582611f278587611c9090919063ffffffff16565b611c9090919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611f615760009050611fc3565b60008284611f6f9190612799565b9050828482611f7e9190612768565b14611fbe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fb59061258d565b60405180910390fd5b809150505b92915050565b600081359050611fd881612b36565b92915050565b600081519050611fed81612b36565b92915050565b60008135905061200281612b4d565b92915050565b60008151905061201781612b4d565b92915050565b60008135905061202c81612b64565b92915050565b60008151905061204181612b64565b92915050565b60006020828403121561205957600080fd5b600061206784828501611fc9565b91505092915050565b60006020828403121561208257600080fd5b600061209084828501611fde565b91505092915050565b600080604083850312156120ac57600080fd5b60006120ba85828601611fc9565b92505060206120cb85828601611fc9565b9150509250929050565b6000806000606084860312156120ea57600080fd5b60006120f886828701611fc9565b935050602061210986828701611fc9565b925050604061211a8682870161201d565b9150509250925092565b6000806040838503121561213757600080fd5b600061214585828601611fc9565b92505060206121568582860161201d565b9150509250929050565b60006020828403121561217257600080fd5b600061218084828501611ff3565b91505092915050565b60006020828403121561219b57600080fd5b60006121a984828501612008565b91505092915050565b6000806000606084860312156121c757600080fd5b60006121d586828701612032565b93505060206121e686828701612032565b92505060406121f786828701612032565b9150509250925092565b600061220d8383612219565b60208301905092915050565b61222281612827565b82525050565b61223181612827565b82525050565b6000612242826126cd565b61224c81856126f0565b9350612257836126bd565b8060005b8381101561228857815161226f8882612201565b975061227a836126e3565b92505060018101905061225b565b5085935050505092915050565b61229e81612839565b82525050565b6122ad8161287c565b82525050565b60006122be826126d8565b6122c88185612701565b93506122d881856020860161288e565b6122e18161291f565b840191505092915050565b60006122f9602a83612701565b915061230482612930565b604082019050919050565b600061231c602283612701565b91506123278261297f565b604082019050919050565b600061233f601b83612701565b915061234a826129ce565b602082019050919050565b6000612362602183612701565b915061236d826129f7565b604082019050919050565b6000612385602083612701565b915061239082612a46565b602082019050919050565b60006123a8602983612701565b91506123b382612a6f565b604082019050919050565b60006123cb602483612701565b91506123d682612abe565b604082019050919050565b60006123ee601783612701565b91506123f982612b0d565b602082019050919050565b61240d81612865565b82525050565b61241c8161286f565b82525050565b60006020820190506124376000830184612228565b92915050565b60006040820190506124526000830185612228565b61245f6020830184612228565b9392505050565b600060408201905061247b6000830185612228565b6124886020830184612404565b9392505050565b600060c0820190506124a46000830189612228565b6124b16020830188612404565b6124be60408301876122a4565b6124cb60608301866122a4565b6124d86080830185612228565b6124e560a0830184612404565b979650505050505050565b60006020820190506125056000830184612295565b92915050565b6000602082019050818103600083015261252581846122b3565b905092915050565b60006020820190508181036000830152612546816122ec565b9050919050565b600060208201905081810360008301526125668161230f565b9050919050565b6000602082019050818103600083015261258681612332565b9050919050565b600060208201905081810360008301526125a681612355565b9050919050565b600060208201905081810360008301526125c681612378565b9050919050565b600060208201905081810360008301526125e68161239b565b9050919050565b60006020820190508181036000830152612606816123be565b9050919050565b60006020820190508181036000830152612626816123e1565b9050919050565b60006020820190506126426000830184612404565b92915050565b600060a08201905061265d6000830188612404565b61266a60208301876122a4565b818103604083015261267c8186612237565b905061268b6060830185612228565b6126986080830184612404565b9695505050505050565b60006020820190506126b76000830184612413565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061271d82612865565b915061272883612865565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561275d5761275c6128c1565b5b828201905092915050565b600061277382612865565b915061277e83612865565b92508261278e5761278d6128f0565b5b828204905092915050565b60006127a482612865565b91506127af83612865565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156127e8576127e76128c1565b5b828202905092915050565b60006127fe82612865565b915061280983612865565b92508282101561281c5761281b6128c1565b5b828203905092915050565b600061283282612845565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061288782612865565b9050919050565b60005b838110156128ac578082015181840152602081019050612891565b838111156128bb576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b612b3f81612827565b8114612b4a57600080fd5b50565b612b5681612839565b8114612b6157600080fd5b50565b612b6d81612865565b8114612b7857600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220212d7680db1955845bdbf01d3cbc97fe088c3cb26351b964efa5ae450357c08a64736f6c63430008040033
Deployed Bytecode
0x6080604052600436106100f75760003560e01c806370a082311161008a578063a9059cbb11610059578063a9059cbb146102ff578063c3c8cd801461033c578063c9567bf914610353578063dd62ed3e1461036a576100fe565b806370a0823114610255578063715018a6146102925780638da5cb5b146102a957806395d89b41146102d4576100fe565b80632ab30838116100c65780632ab30838146101d3578063313ce567146101ea5780635932ead1146102155780636fc3eaec1461023e576100fe565b806306fdde0314610103578063095ea7b31461012e57806318160ddd1461016b57806323b872dd14610196576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b506101186103a7565b604051610125919061250b565b60405180910390f35b34801561013a57600080fd5b5061015560048036038101906101509190612124565b6103e4565b60405161016291906124f0565b60405180910390f35b34801561017757600080fd5b50610180610402565b60405161018d919061262d565b60405180910390f35b3480156101a257600080fd5b506101bd60048036038101906101b891906120d5565b610411565b6040516101ca91906124f0565b60405180910390f35b3480156101df57600080fd5b506101e86104ea565b005b3480156101f657600080fd5b506101ff61058f565b60405161020c91906126a2565b60405180910390f35b34801561022157600080fd5b5061023c60048036038101906102379190612160565b610598565b005b34801561024a57600080fd5b5061025361064a565b005b34801561026157600080fd5b5061027c60048036038101906102779190612047565b6106bc565b604051610289919061262d565b60405180910390f35b34801561029e57600080fd5b506102a761070d565b005b3480156102b557600080fd5b506102be610860565b6040516102cb9190612422565b60405180910390f35b3480156102e057600080fd5b506102e9610889565b6040516102f6919061250b565b60405180910390f35b34801561030b57600080fd5b5061032660048036038101906103219190612124565b6108c6565b60405161033391906124f0565b60405180910390f35b34801561034857600080fd5b506103516108e4565b005b34801561035f57600080fd5b5061036861095e565b005b34801561037657600080fd5b50610391600480360381019061038c9190612099565b610eb6565b60405161039e919061262d565b60405180910390f35b60606040518060400160405280600f81526020017f4e657572616c696e6b20546f6b656e0000000000000000000000000000000000815250905090565b60006103f86103f1610f3d565b8484610f45565b6001905092915050565b600066038d7ea4c68000905090565b600061041e848484611110565b6104df8461042a610f3d565b6104da85604051806060016040528060288152602001612b7c60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610490610f3d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113eb9092919063ffffffff16565b610f45565b600190509392505050565b6104f2610f3d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461057f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610576906125ad565b60405180910390fd5b66038d7ea4c68000601181905550565b60006009905090565b6105a0610f3d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461062d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610624906125ad565b60405180910390fd5b80601060176101000a81548160ff02191690831515021790555050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661068b610f3d565b73ffffffffffffffffffffffffffffffffffffffff16146106ab57600080fd5b60004790506106b98161144f565b50565b6000610706600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115b1565b9050919050565b610715610f3d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107a2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610799906125ad565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600981526020017f4e455552414c494e4b0000000000000000000000000000000000000000000000815250905090565b60006108da6108d3610f3d565b8484611110565b6001905092915050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610925610f3d565b73ffffffffffffffffffffffffffffffffffffffff161461094557600080fd5b6000610950306106bc565b905061095b8161161f565b50565b610966610f3d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ea906125ad565b60405180910390fd5b601060149054906101000a900460ff1615610a43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3a9061260d565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610ad130600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1666038d7ea4c68000610f45565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610b1757600080fd5b505afa158015610b2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4f9190612070565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610bb157600080fd5b505afa158015610bc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be99190612070565b6040518363ffffffff1660e01b8152600401610c0692919061243d565b602060405180830381600087803b158015610c2057600080fd5b505af1158015610c34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c589190612070565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610ce1306106bc565b600080610cec610860565b426040518863ffffffff1660e01b8152600401610d0e9695949392919061248f565b6060604051808303818588803b158015610d2757600080fd5b505af1158015610d3b573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610d6091906121b2565b5050506001601060166101000a81548160ff0219169083151502179055506001601060176101000a81548160ff0219169083151502179055506512309ce540006011819055506001601060146101000a81548160ff021916908315150217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610e60929190612466565b602060405180830381600087803b158015610e7a57600080fd5b505af1158015610e8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb29190612189565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610fb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fac906125ed565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611025576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101c9061254d565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611103919061262d565b60405180910390a3505050565b60008111611153576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114a906125cd565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156111aa57600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146113db576001600a81905550600b8081905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156112975750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156112ed5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156113055750601060179054906101000a900460ff165b1561131a5760115481111561131957600080fd5b5b6000611325306106bc565b9050601060159054906101000a900460ff161580156113925750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156113aa5750601060169054906101000a900460ff165b156113d9576113b88161161f565b6000479050670429d069189e00008111156113d7576113d64761144f565b5b505b505b6113e6838383611919565b505050565b6000838311158290611433576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142a919061250b565b60405180910390fd5b506000838561144291906127f3565b9050809150509392505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6003836114989190612768565b9081150290604051600060405180830381858888f193505050501580156114c3573d6000803e3d6000fd5b50600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc60038361150d9190612768565b9081150290604051600060405180830381858888f19350505050158015611538573d6000803e3d6000fd5b50600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6003836115829190612768565b9081150290604051600060405180830381858888f193505050501580156115ad573d6000803e3d6000fd5b5050565b60006008548211156115f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ef9061252d565b60405180910390fd5b6000611602611929565b9050611617818461195490919063ffffffff16565b915050919050565b6001601060156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561167d577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156116ab5781602001602082028036833780820191505090505b50905030816000815181106116e9577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561178b57600080fd5b505afa15801561179f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117c39190612070565b816001815181106117fd577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061186430600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f45565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016118c8959493929190612648565b600060405180830381600087803b1580156118e257600080fd5b505af11580156118f6573d6000803e3d6000fd5b50505050506000601060156101000a81548160ff02191690831515021790555050565b61192483838361199e565b505050565b6000806000611936611b69565b9150915061194d818361195490919063ffffffff16565b9250505090565b600061199683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611bc5565b905092915050565b6000806000806000806119b087611c28565b955095509550955095509550611a0e86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c9090919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611aa385600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cda90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611aef81611d38565b611af98483611df5565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611b56919061262d565b60405180910390a3505050505050505050565b60008060006008549050600066038d7ea4c680009050611b9b66038d7ea4c6800060085461195490919063ffffffff16565b821015611bb85760085466038d7ea4c68000935093505050611bc1565b81819350935050505b9091565b60008083118290611c0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c03919061250b565b60405180910390fd5b5060008385611c1b9190612768565b9050809150509392505050565b6000806000806000806000806000611c458a600a54600b54611e2f565b9250925092506000611c55611929565b90506000806000611c688e878787611ec5565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611cd283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113eb565b905092915050565b6000808284611ce99190612712565b905083811015611d2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d259061256d565b60405180910390fd5b8091505092915050565b6000611d42611929565b90506000611d598284611f4e90919063ffffffff16565b9050611dad81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cda90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611e0a82600854611c9090919063ffffffff16565b600881905550611e2581600954611cda90919063ffffffff16565b6009819055505050565b600080600080611e5b6064611e4d888a611f4e90919063ffffffff16565b61195490919063ffffffff16565b90506000611e856064611e77888b611f4e90919063ffffffff16565b61195490919063ffffffff16565b90506000611eae82611ea0858c611c9090919063ffffffff16565b611c9090919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080611ede8589611f4e90919063ffffffff16565b90506000611ef58689611f4e90919063ffffffff16565b90506000611f0c8789611f4e90919063ffffffff16565b90506000611f3582611f278587611c9090919063ffffffff16565b611c9090919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611f615760009050611fc3565b60008284611f6f9190612799565b9050828482611f7e9190612768565b14611fbe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fb59061258d565b60405180910390fd5b809150505b92915050565b600081359050611fd881612b36565b92915050565b600081519050611fed81612b36565b92915050565b60008135905061200281612b4d565b92915050565b60008151905061201781612b4d565b92915050565b60008135905061202c81612b64565b92915050565b60008151905061204181612b64565b92915050565b60006020828403121561205957600080fd5b600061206784828501611fc9565b91505092915050565b60006020828403121561208257600080fd5b600061209084828501611fde565b91505092915050565b600080604083850312156120ac57600080fd5b60006120ba85828601611fc9565b92505060206120cb85828601611fc9565b9150509250929050565b6000806000606084860312156120ea57600080fd5b60006120f886828701611fc9565b935050602061210986828701611fc9565b925050604061211a8682870161201d565b9150509250925092565b6000806040838503121561213757600080fd5b600061214585828601611fc9565b92505060206121568582860161201d565b9150509250929050565b60006020828403121561217257600080fd5b600061218084828501611ff3565b91505092915050565b60006020828403121561219b57600080fd5b60006121a984828501612008565b91505092915050565b6000806000606084860312156121c757600080fd5b60006121d586828701612032565b93505060206121e686828701612032565b92505060406121f786828701612032565b9150509250925092565b600061220d8383612219565b60208301905092915050565b61222281612827565b82525050565b61223181612827565b82525050565b6000612242826126cd565b61224c81856126f0565b9350612257836126bd565b8060005b8381101561228857815161226f8882612201565b975061227a836126e3565b92505060018101905061225b565b5085935050505092915050565b61229e81612839565b82525050565b6122ad8161287c565b82525050565b60006122be826126d8565b6122c88185612701565b93506122d881856020860161288e565b6122e18161291f565b840191505092915050565b60006122f9602a83612701565b915061230482612930565b604082019050919050565b600061231c602283612701565b91506123278261297f565b604082019050919050565b600061233f601b83612701565b915061234a826129ce565b602082019050919050565b6000612362602183612701565b915061236d826129f7565b604082019050919050565b6000612385602083612701565b915061239082612a46565b602082019050919050565b60006123a8602983612701565b91506123b382612a6f565b604082019050919050565b60006123cb602483612701565b91506123d682612abe565b604082019050919050565b60006123ee601783612701565b91506123f982612b0d565b602082019050919050565b61240d81612865565b82525050565b61241c8161286f565b82525050565b60006020820190506124376000830184612228565b92915050565b60006040820190506124526000830185612228565b61245f6020830184612228565b9392505050565b600060408201905061247b6000830185612228565b6124886020830184612404565b9392505050565b600060c0820190506124a46000830189612228565b6124b16020830188612404565b6124be60408301876122a4565b6124cb60608301866122a4565b6124d86080830185612228565b6124e560a0830184612404565b979650505050505050565b60006020820190506125056000830184612295565b92915050565b6000602082019050818103600083015261252581846122b3565b905092915050565b60006020820190508181036000830152612546816122ec565b9050919050565b600060208201905081810360008301526125668161230f565b9050919050565b6000602082019050818103600083015261258681612332565b9050919050565b600060208201905081810360008301526125a681612355565b9050919050565b600060208201905081810360008301526125c681612378565b9050919050565b600060208201905081810360008301526125e68161239b565b9050919050565b60006020820190508181036000830152612606816123be565b9050919050565b60006020820190508181036000830152612626816123e1565b9050919050565b60006020820190506126426000830184612404565b92915050565b600060a08201905061265d6000830188612404565b61266a60208301876122a4565b818103604083015261267c8186612237565b905061268b6060830185612228565b6126986080830184612404565b9695505050505050565b60006020820190506126b76000830184612413565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061271d82612865565b915061272883612865565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561275d5761275c6128c1565b5b828201905092915050565b600061277382612865565b915061277e83612865565b92508261278e5761278d6128f0565b5b828204905092915050565b60006127a482612865565b91506127af83612865565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156127e8576127e76128c1565b5b828202905092915050565b60006127fe82612865565b915061280983612865565b92508282101561281c5761281b6128c1565b5b828203905092915050565b600061283282612845565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061288782612865565b9050919050565b60005b838110156128ac578082015181840152602081019050612891565b838111156128bb576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b612b3f81612827565b8114612b4a57600080fd5b50565b612b5681612839565b8114612b6157600080fd5b50565b612b6d81612865565b8114612b7857600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220212d7680db1955845bdbf01d3cbc97fe088c3cb26351b964efa5ae450357c08a64736f6c63430008040033
Deployed Bytecode Sourcemap
3578:9746:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5510:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6362:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5787:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6531:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9037:80;;;;;;;;;;;;;:::i;:::-;;5696:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6852:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11428:194;;;;;;;;;;;;;:::i;:::-;;5890:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2657:148;;;;;;;;;;;;;:::i;:::-;;2443:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5601:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6036:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11221:195;;;;;;;;;;;;;:::i;:::-;;9324:809;;;;;;;;;;;;;:::i;:::-;;6211:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5510:83;5547:13;5580:5;;;;;;;;;;;;;;;;;5573:12;;5510:83;:::o;6362:161::-;6437:4;6454:39;6463:12;:10;:12::i;:::-;6477:7;6486:6;6454:8;:39::i;:::-;6511:4;6504:11;;6362:161;;;;:::o;5787:95::-;5840:7;4081:16;5860:14;;5787:95;:::o;6531:313::-;6629:4;6646:36;6656:6;6664:9;6675:6;6646:9;:36::i;:::-;6693:121;6702:6;6710:12;:10;:12::i;:::-;6724:89;6762:6;6724:89;;;;;;;;;;;;;;;;;:11;:19;6736:6;6724:19;;;;;;;;;;;;;;;:33;6744:12;:10;:12::i;:::-;6724:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6693:8;:121::i;:::-;6832:4;6825:11;;6531:313;;;;;:::o;9037:80::-;2580:12;:10;:12::i;:::-;2570:22;;:6;;;;;;;;;;:22;;;2562:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4081:16:::1;9087:12;:22;;;;9037:80::o:0;5696:83::-;5737:5;4550:1;5755:16;;5696:83;:::o;6852:103::-;2580:12;:10;:12::i;:::-;2570:22;;:6;;;;;;;;;;:22;;;2562:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6942:5:::1;6924:15;;:23;;;;;;;;;;;;;;;;;;6852:103:::0;:::o;11428:194::-;11494:15;;;;;;;;;;;11478:31;;:12;:10;:12::i;:::-;:31;;;11470:40;;;;;;11521:26;11550:21;11521:50;;11582:32;11595:18;11582:12;:32::i;:::-;11428:194;:::o;5890:138::-;5956:7;5983:37;6003:7;:16;6011:7;6003:16;;;;;;;;;;;;;;;;5983:19;:37::i;:::-;5976:44;;5890:138;;;:::o;2657:148::-;2580:12;:10;:12::i;:::-;2570:22;;:6;;;;;;;;;;:22;;;2562:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2764:1:::1;2727:40;;2748:6;::::0;::::1;;;;;;;;2727:40;;;;;;;;;;;;2795:1;2778:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2657:148::o:0;2443:79::-;2481:7;2508:6;;;;;;;;;;;2501:13;;2443:79;:::o;5601:87::-;5640:13;5673:7;;;;;;;;;;;;;;;;;5666:14;;5601:87;:::o;6036:167::-;6114:4;6131:42;6141:12;:10;:12::i;:::-;6155:9;6166:6;6131:9;:42::i;:::-;6191:4;6184:11;;6036:167;;;;:::o;11221:195::-;11287:15;;;;;;;;;;;11271:31;;:12;:10;:12::i;:::-;:31;;;11263:40;;;;;;11314:23;11340:24;11358:4;11340:9;:24::i;:::-;11314:50;;11375:33;11392:15;11375:16;:33::i;:::-;11221:195;:::o;9324:809::-;2580:12;:10;:12::i;:::-;2570:22;;:6;;;;;;;;;;:22;;;2562:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9388:11:::1;;;;;;;;;;;9387:12;9379:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;9437:35;9494:42;9437:100;;9566:16;9548:15;;:34;;;;;;;;;;;;;;;;;;9593:58;9610:4;9625:15;;;;;;;;;;;4081:16;9593:8;:58::i;:::-;9696:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9678:56;;;9743:4;9750:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9678:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9662:13;;:112;;;;;;;;;;;;;;;;;;9785:15;;;;;;;;;;;:31;;;9824:21;9855:4;9861:24;9879:4;9861:9;:24::i;:::-;9886:1;9888::::0;9890:7:::1;:5;:7::i;:::-;9898:15;9785:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;9939:4;9925:11;;:18;;;;;;;;;;;;;;;;;;9972:4;9954:15;;:22;;;;;;;;;;;;;;;;;;10002:12;9987;:27;;;;10039:4;10025:11;;:18;;;;;;;;;;;;;;;;;;10061:13;;;;;;;;;;;10054:29;;;10092:15;;;;;;;;;;;10110:14;10054:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2640:1;9324:809::o:0;6211:143::-;6292:7;6319:11;:18;6331:5;6319:18;;;;;;;;;;;;;;;:27;6338:7;6319:27;;;;;;;;;;;;;;;;6312:34;;6211:143;;;;:::o;161:98::-;214:7;241:10;234:17;;161:98;:::o;7225:335::-;7335:1;7318:19;;:5;:19;;;;7310:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7416:1;7397:21;;:7;:21;;;;7389:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7498:6;7468:11;:18;7480:5;7468:18;;;;;;;;;;;;;;;:27;7487:7;7468:27;;;;;;;;;;;;;;;:36;;;;7536:7;7520:32;;7529:5;7520:32;;;7545:6;7520:32;;;;;;:::i;:::-;;;;;;;;7225:335;;;:::o;7568:972::-;7665:1;7656:6;:10;7648:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7732:4;:10;7737:4;7732:10;;;;;;;;;;;;;;;;;;;;;;;;;7731:11;7723:20;;;;;;7774:4;7758:21;;:4;:21;;;7754:734;;7808:1;7796:9;:13;;;;7836:2;7824:9;:14;;;;7865:13;;;;;;;;;;;7857:21;;:4;:21;;;:55;;;;;7896:15;;;;;;;;;;;7882:30;;:2;:30;;;;7857:55;:83;;;;;7918:18;:22;7937:2;7918:22;;;;;;;;;;;;;;;;;;;;;;;;;7916:24;7857:83;:102;;;;;7944:15;;;;;;;;;;;7857:102;7853:203;;;8027:12;;8017:6;:22;;8009:31;;;;;;7853:203;8072:28;8103:24;8121:4;8103:9;:24::i;:::-;8072:55;;8147:6;;;;;;;;;;;8146:7;:32;;;;;8165:13;;;;;;;;;;;8157:21;;:4;:21;;;;8146:32;:47;;;;;8182:11;;;;;;;;;;;8146:47;8142:335;;;8214:38;8231:20;8214:16;:38::i;:::-;8271:26;8300:21;8271:50;;8364:18;8343;:39;8340:122;;;8407:35;8420:21;8407:12;:35::i;:::-;8340:122;8142:335;;7754:734;;8502:30;8517:4;8522:2;8525:6;8502:14;:30::i;:::-;7568:972;;;:::o;1298:190::-;1384:7;1417:1;1412;:6;;1420:12;1404:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1444:9;1460:1;1456;:5;;;;:::i;:::-;1444:17;;1479:1;1472:8;;;1298:190;;;;;:::o;9123:189::-;9180:15;;;;;;;;;;;:24;;:34;9212:1;9205:6;:8;;;;:::i;:::-;9180:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9225:15;;;;;;;;;;;:24;;:34;9257:1;9250:6;:8;;;;:::i;:::-;9225:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9270:15;;;;;;;;;;;:24;;:34;9302:1;9295:6;:8;;;;:::i;:::-;9270:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9123:189;:::o;6963:254::-;7030:7;7069;;7058;:18;;7050:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;7134:19;7157:10;:8;:10::i;:::-;7134:33;;7185:24;7197:11;7185:7;:11;;:24;;;;:::i;:::-;7178:31;;;6963:254;;;:::o;8548:483::-;4932:4;4923:6;;:13;;;;;;;;;;;;;;;;;;8626:21:::1;8664:1;8650:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8626:40;;8695:4;8677;8682:1;8677:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;8721:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8711:4;8716:1;8711:7;;;;;;;;;;;;;;;;;;;;;:32;;;;;;;;;::::0;::::1;8754:62;8771:4;8786:15;;;;;;;;;;;8804:11;8754:8;:62::i;:::-;8827:15;;;;;;;;;;;:66;;;8908:11;8934:1;8950:4;8977;8997:15;8827:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;4947:1;4968:5:::0;4959:6;;:14;;;;;;;;;;;;;;;;;;8548:483;:::o;10155:146::-;10249:44;10267:6;10275:9;10286:6;10249:17;:44::i;:::-;10155:146;;;:::o;12888:163::-;12929:7;12950:15;12967;12986:19;:17;:19::i;:::-;12949:56;;;;13023:20;13035:7;13023;:11;;:20;;;;:::i;:::-;13016:27;;;;12888:163;:::o;1750:132::-;1808:7;1835:39;1839:1;1842;1835:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1828:46;;1750:132;;;;:::o;10309:488::-;10408:15;10425:23;10450:12;10464:23;10489:12;10503:13;10520:19;10531:7;10520:10;:19::i;:::-;10407:132;;;;;;;;;;;;10568:28;10588:7;10568;:15;10576:6;10568:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;10550:7;:15;10558:6;10550:15;;;;;;;;;;;;;;;:46;;;;10628:39;10651:15;10628:7;:18;10636:9;10628:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;10607:7;:18;10615:9;10607:18;;;;;;;;;;;;;;;:60;;;;10679:16;10689:5;10679:9;:16::i;:::-;10706:23;10718:4;10724;10706:11;:23::i;:::-;10762:9;10745:44;;10754:6;10745:44;;;10773:15;10745:44;;;;;;:::i;:::-;;;;;;;;10309:488;;;;;;;;;:::o;13059:262::-;13109:7;13118;13138:15;13156:7;;13138:25;;13174:15;4081:16;13174:25;;13230:20;4081:16;13230:7;;:11;;:20;;;;:::i;:::-;13220:7;:30;13216:61;;;13260:7;;4081:16;13252:25;;;;;;;;13216:61;13296:7;13305;13288:25;;;;;;13059:262;;;:::o;1890:189::-;1976:7;2008:1;2004;:5;2011:12;1996:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2035:9;2051:1;2047;:5;;;;:::i;:::-;2035:17;;2070:1;2063:8;;;1890:189;;;;;:::o;11636:471::-;11695:7;11704;11713;11722;11731;11740;11761:23;11786:12;11800:13;11817:42;11829:7;11838:9;;11849;;11817:11;:42::i;:::-;11760:99;;;;;;11870:19;11893:10;:8;:10::i;:::-;11870:33;;11915:15;11932:23;11957:12;11973:46;11985:7;11994:4;12000:5;12007:11;11973;:46::i;:::-;11914:105;;;;;;12038:7;12047:15;12064:4;12070:15;12087:4;12093:5;12030:69;;;;;;;;;;;;;;;;;;;11636:471;;;;;;;:::o;1154:136::-;1212:7;1239:43;1243:1;1246;1239:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1232:50;;1154:136;;;;:::o;967:179::-;1025:7;1045:9;1061:1;1057;:5;;;;:::i;:::-;1045:17;;1086:1;1081;:6;;1073:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1137:1;1130:8;;;967:179;;;;:::o;10805:212::-;10858:19;10881:10;:8;:10::i;:::-;10858:33;;10902:13;10918:22;10928:11;10918:5;:9;;:22;;;;:::i;:::-;10902:38;;10976:33;11003:5;10976:7;:22;10992:4;10976:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;10951:7;:22;10967:4;10951:22;;;;;;;;;;;;;;;:58;;;;10805:212;;;:::o;11025:147::-;11103:17;11115:4;11103:7;;:11;;:17;;;;:::i;:::-;11093:7;:27;;;;11144:20;11159:4;11144:10;;:14;;:20;;;;:::i;:::-;11131:10;:33;;;;11025:147;;:::o;12115:351::-;12208:7;12217;12226;12246:12;12261:28;12285:3;12261:19;12273:6;12261:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;12246:43;;12300:13;12316:29;12341:3;12316:20;12328:7;12316;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;12300:45;;12356:23;12382:28;12404:5;12382:17;12394:4;12382:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;12356:54;;12429:15;12446:4;12452:5;12421:37;;;;;;;;;12115:351;;;;;;;:::o;12474:409::-;12584:7;12593;12602;12622:15;12640:24;12652:11;12640:7;:11;;:24;;;;:::i;:::-;12622:42;;12675:12;12690:21;12699:11;12690:4;:8;;:21;;;;:::i;:::-;12675:36;;12722:13;12738:22;12748:11;12738:5;:9;;:22;;;;:::i;:::-;12722:38;;12771:23;12797:28;12819:5;12797:17;12809:4;12797:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;12771:54;;12844:7;12853:15;12870:4;12836:39;;;;;;;;;;12474:409;;;;;;;;:::o;1496:246::-;1554:7;1583:1;1578;:6;1574:47;;;1608:1;1601:8;;;;1574:47;1631:9;1647:1;1643;:5;;;;:::i;:::-;1631:17;;1676:1;1671;1667;:5;;;;:::i;:::-;:10;1659:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1733:1;1726:8;;;1496:246;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;215:80;;;;:::o;301:133::-;344:5;382:6;369:20;360:29;;398:30;422:5;398:30;:::i;:::-;350:84;;;;:::o;440:137::-;494:5;525:6;519:13;510:22;;541:30;565:5;541:30;:::i;:::-;500:77;;;;:::o;583:139::-;629:5;667:6;654:20;645:29;;683:33;710:5;683:33;:::i;:::-;635:87;;;;:::o;728:143::-;785:5;816:6;810:13;801:22;;832:33;859:5;832:33;:::i;:::-;791:80;;;;:::o;877:262::-;936:6;985:2;973:9;964:7;960:23;956:32;953:2;;;1001:1;998;991:12;953:2;1044:1;1069:53;1114:7;1105:6;1094:9;1090:22;1069:53;:::i;:::-;1059:63;;1015:117;943:196;;;;:::o;1145:284::-;1215:6;1264:2;1252:9;1243:7;1239:23;1235:32;1232:2;;;1280:1;1277;1270:12;1232:2;1323:1;1348:64;1404:7;1395:6;1384:9;1380:22;1348:64;:::i;:::-;1338:74;;1294:128;1222:207;;;;:::o;1435:407::-;1503:6;1511;1560:2;1548:9;1539:7;1535:23;1531:32;1528:2;;;1576:1;1573;1566:12;1528:2;1619:1;1644:53;1689:7;1680:6;1669:9;1665:22;1644:53;:::i;:::-;1634:63;;1590:117;1746:2;1772:53;1817:7;1808:6;1797:9;1793:22;1772:53;:::i;:::-;1762:63;;1717:118;1518:324;;;;;:::o;1848:552::-;1925:6;1933;1941;1990:2;1978:9;1969:7;1965:23;1961:32;1958:2;;;2006:1;2003;1996:12;1958:2;2049:1;2074:53;2119:7;2110:6;2099:9;2095:22;2074:53;:::i;:::-;2064:63;;2020:117;2176:2;2202:53;2247:7;2238:6;2227:9;2223:22;2202:53;:::i;:::-;2192:63;;2147:118;2304:2;2330:53;2375:7;2366:6;2355:9;2351:22;2330:53;:::i;:::-;2320:63;;2275:118;1948:452;;;;;:::o;2406:407::-;2474:6;2482;2531:2;2519:9;2510:7;2506:23;2502:32;2499:2;;;2547:1;2544;2537:12;2499:2;2590:1;2615:53;2660:7;2651:6;2640:9;2636:22;2615:53;:::i;:::-;2605:63;;2561:117;2717:2;2743:53;2788:7;2779:6;2768:9;2764:22;2743:53;:::i;:::-;2733:63;;2688:118;2489:324;;;;;:::o;2819:256::-;2875:6;2924:2;2912:9;2903:7;2899:23;2895:32;2892:2;;;2940:1;2937;2930:12;2892:2;2983:1;3008:50;3050:7;3041:6;3030:9;3026:22;3008:50;:::i;:::-;2998:60;;2954:114;2882:193;;;;:::o;3081:278::-;3148:6;3197:2;3185:9;3176:7;3172:23;3168:32;3165:2;;;3213:1;3210;3203:12;3165:2;3256:1;3281:61;3334:7;3325:6;3314:9;3310:22;3281:61;:::i;:::-;3271:71;;3227:125;3155:204;;;;:::o;3365:596::-;3453:6;3461;3469;3518:2;3506:9;3497:7;3493:23;3489:32;3486:2;;;3534:1;3531;3524:12;3486:2;3577:1;3602:64;3658:7;3649:6;3638:9;3634:22;3602:64;:::i;:::-;3592:74;;3548:128;3715:2;3741:64;3797:7;3788:6;3777:9;3773:22;3741:64;:::i;:::-;3731:74;;3686:129;3854:2;3880:64;3936:7;3927:6;3916:9;3912:22;3880:64;:::i;:::-;3870:74;;3825:129;3476:485;;;;;:::o;3967:179::-;4036:10;4057:46;4099:3;4091:6;4057:46;:::i;:::-;4135:4;4130:3;4126:14;4112:28;;4047:99;;;;:::o;4152:108::-;4229:24;4247:5;4229:24;:::i;:::-;4224:3;4217:37;4207:53;;:::o;4266:118::-;4353:24;4371:5;4353:24;:::i;:::-;4348:3;4341:37;4331:53;;:::o;4420:732::-;4539:3;4568:54;4616:5;4568:54;:::i;:::-;4638:86;4717:6;4712:3;4638:86;:::i;:::-;4631:93;;4748:56;4798:5;4748:56;:::i;:::-;4827:7;4858:1;4843:284;4868:6;4865:1;4862:13;4843:284;;;4944:6;4938:13;4971:63;5030:3;5015:13;4971:63;:::i;:::-;4964:70;;5057:60;5110:6;5057:60;:::i;:::-;5047:70;;4903:224;4890:1;4887;4883:9;4878:14;;4843:284;;;4847:14;5143:3;5136:10;;4544:608;;;;;;;:::o;5158:109::-;5239:21;5254:5;5239:21;:::i;:::-;5234:3;5227:34;5217:50;;:::o;5273:147::-;5368:45;5407:5;5368:45;:::i;:::-;5363:3;5356:58;5346:74;;:::o;5426:364::-;5514:3;5542:39;5575:5;5542:39;:::i;:::-;5597:71;5661:6;5656:3;5597:71;:::i;:::-;5590:78;;5677:52;5722:6;5717:3;5710:4;5703:5;5699:16;5677:52;:::i;:::-;5754:29;5776:6;5754:29;:::i;:::-;5749:3;5745:39;5738:46;;5518:272;;;;;:::o;5796:366::-;5938:3;5959:67;6023:2;6018:3;5959:67;:::i;:::-;5952:74;;6035:93;6124:3;6035:93;:::i;:::-;6153:2;6148:3;6144:12;6137:19;;5942:220;;;:::o;6168:366::-;6310:3;6331:67;6395:2;6390:3;6331:67;:::i;:::-;6324:74;;6407:93;6496:3;6407:93;:::i;:::-;6525:2;6520:3;6516:12;6509:19;;6314:220;;;:::o;6540:366::-;6682:3;6703:67;6767:2;6762:3;6703:67;:::i;:::-;6696:74;;6779:93;6868:3;6779:93;:::i;:::-;6897:2;6892:3;6888:12;6881:19;;6686:220;;;:::o;6912:366::-;7054:3;7075:67;7139:2;7134:3;7075:67;:::i;:::-;7068:74;;7151:93;7240:3;7151:93;:::i;:::-;7269:2;7264:3;7260:12;7253:19;;7058:220;;;:::o;7284:366::-;7426:3;7447:67;7511:2;7506:3;7447:67;:::i;:::-;7440:74;;7523:93;7612:3;7523:93;:::i;:::-;7641:2;7636:3;7632:12;7625:19;;7430:220;;;:::o;7656:366::-;7798:3;7819:67;7883:2;7878:3;7819:67;:::i;:::-;7812:74;;7895:93;7984:3;7895:93;:::i;:::-;8013:2;8008:3;8004:12;7997:19;;7802:220;;;:::o;8028:366::-;8170:3;8191:67;8255:2;8250:3;8191:67;:::i;:::-;8184:74;;8267:93;8356:3;8267:93;:::i;:::-;8385:2;8380:3;8376:12;8369:19;;8174:220;;;:::o;8400:366::-;8542:3;8563:67;8627:2;8622:3;8563:67;:::i;:::-;8556:74;;8639:93;8728:3;8639:93;:::i;:::-;8757:2;8752:3;8748:12;8741:19;;8546:220;;;:::o;8772:118::-;8859:24;8877:5;8859:24;:::i;:::-;8854:3;8847:37;8837:53;;:::o;8896:112::-;8979:22;8995:5;8979:22;:::i;:::-;8974:3;8967:35;8957:51;;:::o;9014:222::-;9107:4;9145:2;9134:9;9130:18;9122:26;;9158:71;9226:1;9215:9;9211:17;9202:6;9158:71;:::i;:::-;9112:124;;;;:::o;9242:332::-;9363:4;9401:2;9390:9;9386:18;9378:26;;9414:71;9482:1;9471:9;9467:17;9458:6;9414:71;:::i;:::-;9495:72;9563:2;9552:9;9548:18;9539:6;9495:72;:::i;:::-;9368:206;;;;;:::o;9580:332::-;9701:4;9739:2;9728:9;9724:18;9716:26;;9752:71;9820:1;9809:9;9805:17;9796:6;9752:71;:::i;:::-;9833:72;9901:2;9890:9;9886:18;9877:6;9833:72;:::i;:::-;9706:206;;;;;:::o;9918:807::-;10167:4;10205:3;10194:9;10190:19;10182:27;;10219:71;10287:1;10276:9;10272:17;10263:6;10219:71;:::i;:::-;10300:72;10368:2;10357:9;10353:18;10344:6;10300:72;:::i;:::-;10382:80;10458:2;10447:9;10443:18;10434:6;10382:80;:::i;:::-;10472;10548:2;10537:9;10533:18;10524:6;10472:80;:::i;:::-;10562:73;10630:3;10619:9;10615:19;10606:6;10562:73;:::i;:::-;10645;10713:3;10702:9;10698:19;10689:6;10645:73;:::i;:::-;10172:553;;;;;;;;;:::o;10731:210::-;10818:4;10856:2;10845:9;10841:18;10833:26;;10869:65;10931:1;10920:9;10916:17;10907:6;10869:65;:::i;:::-;10823:118;;;;:::o;10947:313::-;11060:4;11098:2;11087:9;11083:18;11075:26;;11147:9;11141:4;11137:20;11133:1;11122:9;11118:17;11111:47;11175:78;11248:4;11239:6;11175:78;:::i;:::-;11167:86;;11065:195;;;;:::o;11266:419::-;11432:4;11470:2;11459:9;11455:18;11447:26;;11519:9;11513:4;11509:20;11505:1;11494:9;11490:17;11483:47;11547:131;11673:4;11547:131;:::i;:::-;11539:139;;11437:248;;;:::o;11691:419::-;11857:4;11895:2;11884:9;11880:18;11872:26;;11944:9;11938:4;11934:20;11930:1;11919:9;11915:17;11908:47;11972:131;12098:4;11972:131;:::i;:::-;11964:139;;11862:248;;;:::o;12116:419::-;12282:4;12320:2;12309:9;12305:18;12297:26;;12369:9;12363:4;12359:20;12355:1;12344:9;12340:17;12333:47;12397:131;12523:4;12397:131;:::i;:::-;12389:139;;12287:248;;;:::o;12541:419::-;12707:4;12745:2;12734:9;12730:18;12722:26;;12794:9;12788:4;12784:20;12780:1;12769:9;12765:17;12758:47;12822:131;12948:4;12822:131;:::i;:::-;12814:139;;12712:248;;;:::o;12966:419::-;13132:4;13170:2;13159:9;13155:18;13147:26;;13219:9;13213:4;13209:20;13205:1;13194:9;13190:17;13183:47;13247:131;13373:4;13247:131;:::i;:::-;13239:139;;13137:248;;;:::o;13391:419::-;13557:4;13595:2;13584:9;13580:18;13572:26;;13644:9;13638:4;13634:20;13630:1;13619:9;13615:17;13608:47;13672:131;13798:4;13672:131;:::i;:::-;13664:139;;13562:248;;;:::o;13816:419::-;13982:4;14020:2;14009:9;14005:18;13997:26;;14069:9;14063:4;14059:20;14055:1;14044:9;14040:17;14033:47;14097:131;14223:4;14097:131;:::i;:::-;14089:139;;13987:248;;;:::o;14241:419::-;14407:4;14445:2;14434:9;14430:18;14422:26;;14494:9;14488:4;14484:20;14480:1;14469:9;14465:17;14458:47;14522:131;14648:4;14522:131;:::i;:::-;14514:139;;14412:248;;;:::o;14666:222::-;14759:4;14797:2;14786:9;14782:18;14774:26;;14810:71;14878:1;14867:9;14863:17;14854:6;14810:71;:::i;:::-;14764:124;;;;:::o;14894:831::-;15157:4;15195:3;15184:9;15180:19;15172:27;;15209:71;15277:1;15266:9;15262:17;15253:6;15209:71;:::i;:::-;15290:80;15366:2;15355:9;15351:18;15342:6;15290:80;:::i;:::-;15417:9;15411:4;15407:20;15402:2;15391:9;15387:18;15380:48;15445:108;15548:4;15539:6;15445:108;:::i;:::-;15437:116;;15563:72;15631:2;15620:9;15616:18;15607:6;15563:72;:::i;:::-;15645:73;15713:3;15702:9;15698:19;15689:6;15645:73;:::i;:::-;15162:563;;;;;;;;:::o;15731:214::-;15820:4;15858:2;15847:9;15843:18;15835:26;;15871:67;15935:1;15924:9;15920:17;15911:6;15871:67;:::i;:::-;15825:120;;;;:::o;15951:132::-;16018:4;16041:3;16033:11;;16071:4;16066:3;16062:14;16054:22;;16023:60;;;:::o;16089:114::-;16156:6;16190:5;16184:12;16174:22;;16163:40;;;:::o;16209:99::-;16261:6;16295:5;16289:12;16279:22;;16268:40;;;:::o;16314:113::-;16384:4;16416;16411:3;16407:14;16399:22;;16389:38;;;:::o;16433:184::-;16532:11;16566:6;16561:3;16554:19;16606:4;16601:3;16597:14;16582:29;;16544:73;;;;:::o;16623:169::-;16707:11;16741:6;16736:3;16729:19;16781:4;16776:3;16772:14;16757:29;;16719:73;;;;:::o;16798:305::-;16838:3;16857:20;16875:1;16857:20;:::i;:::-;16852:25;;16891:20;16909:1;16891:20;:::i;:::-;16886:25;;17045:1;16977:66;16973:74;16970:1;16967:81;16964:2;;;17051:18;;:::i;:::-;16964:2;17095:1;17092;17088:9;17081:16;;16842:261;;;;:::o;17109:185::-;17149:1;17166:20;17184:1;17166:20;:::i;:::-;17161:25;;17200:20;17218:1;17200:20;:::i;:::-;17195:25;;17239:1;17229:2;;17244:18;;:::i;:::-;17229:2;17286:1;17283;17279:9;17274:14;;17151:143;;;;:::o;17300:348::-;17340:7;17363:20;17381:1;17363:20;:::i;:::-;17358:25;;17397:20;17415:1;17397:20;:::i;:::-;17392:25;;17585:1;17517:66;17513:74;17510:1;17507:81;17502:1;17495:9;17488:17;17484:105;17481:2;;;17592:18;;:::i;:::-;17481:2;17640:1;17637;17633:9;17622:20;;17348:300;;;;:::o;17654:191::-;17694:4;17714:20;17732:1;17714:20;:::i;:::-;17709:25;;17748:20;17766:1;17748:20;:::i;:::-;17743:25;;17787:1;17784;17781:8;17778:2;;;17792:18;;:::i;:::-;17778:2;17837:1;17834;17830:9;17822:17;;17699:146;;;;:::o;17851:96::-;17888:7;17917:24;17935:5;17917:24;:::i;:::-;17906:35;;17896:51;;;:::o;17953:90::-;17987:7;18030:5;18023:13;18016:21;18005:32;;17995:48;;;:::o;18049:126::-;18086:7;18126:42;18119:5;18115:54;18104:65;;18094:81;;;:::o;18181:77::-;18218:7;18247:5;18236:16;;18226:32;;;:::o;18264:86::-;18299:7;18339:4;18332:5;18328:16;18317:27;;18307:43;;;:::o;18356:121::-;18414:9;18447:24;18465:5;18447:24;:::i;:::-;18434:37;;18424:53;;;:::o;18483:307::-;18551:1;18561:113;18575:6;18572:1;18569:13;18561:113;;;18660:1;18655:3;18651:11;18645:18;18641:1;18636:3;18632:11;18625:39;18597:2;18594:1;18590:10;18585:15;;18561:113;;;18692:6;18689:1;18686:13;18683:2;;;18772:1;18763:6;18758:3;18754:16;18747:27;18683:2;18532:258;;;;:::o;18796:180::-;18844:77;18841:1;18834:88;18941:4;18938:1;18931:15;18965:4;18962:1;18955:15;18982:180;19030:77;19027:1;19020:88;19127:4;19124:1;19117:15;19151:4;19148:1;19141:15;19168:102;19209:6;19260:2;19256:7;19251:2;19244:5;19240:14;19236:28;19226:38;;19216:54;;;:::o;19276:229::-;19416:34;19412:1;19404:6;19400:14;19393:58;19485:12;19480:2;19472:6;19468:15;19461:37;19382:123;:::o;19511:221::-;19651:34;19647:1;19639:6;19635:14;19628:58;19720:4;19715:2;19707:6;19703:15;19696:29;19617:115;:::o;19738:177::-;19878:29;19874:1;19866:6;19862:14;19855:53;19844:71;:::o;19921:220::-;20061:34;20057:1;20049:6;20045:14;20038:58;20130:3;20125:2;20117:6;20113:15;20106:28;20027:114;:::o;20147:182::-;20287:34;20283:1;20275:6;20271:14;20264:58;20253:76;:::o;20335:228::-;20475:34;20471:1;20463:6;20459:14;20452:58;20544:11;20539:2;20531:6;20527:15;20520:36;20441:122;:::o;20569:223::-;20709:34;20705:1;20697:6;20693:14;20686:58;20778:6;20773:2;20765:6;20761:15;20754:31;20675:117;:::o;20798:173::-;20938:25;20934:1;20926:6;20922:14;20915:49;20904:67;:::o;20977:122::-;21050:24;21068:5;21050:24;:::i;:::-;21043:5;21040:35;21030:2;;21089:1;21086;21079:12;21030:2;21020:79;:::o;21105:116::-;21175:21;21190:5;21175:21;:::i;:::-;21168:5;21165:32;21155:2;;21211:1;21208;21201:12;21155:2;21145:76;:::o;21227:122::-;21300:24;21318:5;21300:24;:::i;:::-;21293:5;21290:35;21280:2;;21339:1;21336;21329:12;21280:2;21270:79;:::o
Swarm Source
ipfs://212d7680db1955845bdbf01d3cbc97fe088c3cb26351b964efa5ae450357c08a
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | Ether (ETH) | 100.00% | $3,430.49 | 0.00099125 | $3.4 |
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.