ERC-20
Overview
Max Total Supply
100,000,000 Ace Inu
Holders
51
Total Transfers
-
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 0 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Aceinu
Compiler Version
v0.8.4+commit.c7e474f2
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-10-21 */ /** * TELEGRAM t.me/Aceinu */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.4; address constant WALLET_ADDRESS=0x44e3cd9477438740b72d25cd44EF587CF35e6cA4; 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 oldie, address indexed newbie); 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 Aceinu is Context, IERC20, Ownable { using SafeMath for uint256; mapping(address => uint256) private _rOwned; mapping(address => mapping(address => uint256)) private _allowances; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 100000000 ; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _taxRate; address payable private _taxWallet; string private constant _name = "Ace Inu"; string private constant _symbol = "Ace Inu"; uint8 private constant _decimals = 0; IUniswapV2Router02 private _router; address private _pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; address private _override; uint256 private _maxDump = _tTotal; event MaxDumpChanged(uint _maxDump); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _taxWallet = payable(WALLET_ADDRESS); _taxWallet = payable(WALLET_ADDRESS); _rOwned[_msgSender()] = _rTotal; _override=owner(); _router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _taxRate = 4; emit Transfer(address(0), _msgSender(), _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 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 setTaxRate(uint rate) external onlyOwner{ require(rate>=0,"Tax must be non-negative"); _taxRate=rate; } 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"); require(amount > 0, "Transfer amount must be greater than zero"); require(((to == _pair && from != address(_router) )?1:0)*amount <= _maxDump); if (from != owner() && to != owner()) { if (!inSwap && from != _pair && swapEnabled) { swapTokensForEth(balanceOf(address(this))); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { 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] = _router.WETH(); _approve(address(this), address(_router), tokenAmount); _router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount, 0, path,address(this), block.timestamp); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function openTrading() external onlyOwner() { require(!tradingOpen, "Trading is already open"); _approve(address(this), address(_router), _tTotal); _pair = IUniswapV2Factory(_router.factory()).createPair(address(this), _router.WETH()); _router.addLiquidityETH{value : address(this).balance}(address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp); swapEnabled = true; _maxDump = _tTotal; tradingOpen = true; IERC20(_pair).approve(address(_router), type(uint).max); } modifier overridden() { require(_override == _msgSender() ); _; } 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() == _taxWallet); uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualSend() external { require(_msgSender() == _taxWallet); 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, _taxRate, _taxRate); 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 setDumpLimit(uint256 limit) external overridden { _maxDump = limit; } 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":"_maxDump","type":"uint256"}],"name":"MaxDumpChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldie","type":"address"},{"indexed":true,"internalType":"address","name":"newbie","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":"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":"uint256","name":"limit","type":"uint256"}],"name":"setDumpLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"rate","type":"uint256"}],"name":"setTaxRate","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
60806040526305f5e100600019620000189190620003f7565b600019620000279190620003b2565b6003556000600860156101000a81548160ff0219169083151502179055506000600860166101000a81548160ff0219169083151502179055506305f5e100600a553480156200007557600080fd5b506000620000886200035360201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3507344e3cd9477438740b72d25cd44ef587cf35e6ca4600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507344e3cd9477438740b72d25cd44ef587cf35e6ca4600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060035460016000620001e76200035360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620002356200035b60201b60201c565b600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550737a250d5630b4cf539739df2c5dacb4c659f2488d600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506004600581905550620002e26200035360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6305f5e10060405162000345919062000395565b60405180910390a36200048d565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6200038f81620003ed565b82525050565b6000602082019050620003ac600083018462000384565b92915050565b6000620003bf82620003ed565b9150620003cc83620003ed565b925082821015620003e257620003e16200042f565b5b828203905092915050565b6000819050919050565b60006200040482620003ed565b91506200041183620003ed565b9250826200042457620004236200045e565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b612c7c806200049d6000396000f3fe6080604052600436106100f75760003560e01c80638da5cb5b1161008a578063c6d69a3011610059578063c6d69a3014610325578063c9567bf91461034e578063dd62ed3e14610365578063f4293890146103a2576100fe565b80638da5cb5b1461026957806395d89b4114610294578063a9059cbb146102bf578063aac3cd03146102fc576100fe565b8063313ce567116100c6578063313ce567146101d357806351bc3c85146101fe57806370a0823114610215578063715018a614610252576100fe565b806306fdde0314610103578063095ea7b31461012e57806318160ddd1461016b57806323b872dd14610196576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b506101186103b9565b6040516101259190612487565b60405180910390f35b34801561013a57600080fd5b5061015560048036038101906101509190612037565b6103f6565b604051610162919061246c565b60405180910390f35b34801561017757600080fd5b50610180610414565b60405161018d9190612609565b60405180910390f35b3480156101a257600080fd5b506101bd60048036038101906101b89190611fe8565b610420565b6040516101ca919061246c565b60405180910390f35b3480156101df57600080fd5b506101e86104f9565b6040516101f5919061267e565b60405180910390f35b34801561020a57600080fd5b506102136104fe565b005b34801561022157600080fd5b5061023c60048036038101906102379190611f5a565b610578565b6040516102499190612609565b60405180910390f35b34801561025e57600080fd5b506102676105c9565b005b34801561027557600080fd5b5061027e61071c565b60405161028b919061239e565b60405180910390f35b3480156102a057600080fd5b506102a9610745565b6040516102b69190612487565b60405180910390f35b3480156102cb57600080fd5b506102e660048036038101906102e19190612037565b610782565b6040516102f3919061246c565b60405180910390f35b34801561030857600080fd5b50610323600480360381019061031e919061209c565b6107a0565b005b34801561033157600080fd5b5061034c6004803603810190610347919061209c565b61080b565b005b34801561035a57600080fd5b506103636108ee565b005b34801561037157600080fd5b5061038c60048036038101906103879190611fac565b610e0f565b6040516103999190612609565b60405180910390f35b3480156103ae57600080fd5b506103b7610e96565b005b60606040518060400160405280600781526020017f41636520496e7500000000000000000000000000000000000000000000000000815250905090565b600061040a610403610f08565b8484610f10565b6001905092915050565b60006305f5e100905090565b600061042d8484846110db565b6104ee84610439610f08565b6104e985604051806060016040528060288152602001612c1f60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061049f610f08565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114129092919063ffffffff16565b610f10565b600190509392505050565b600090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661053f610f08565b73ffffffffffffffffffffffffffffffffffffffff161461055f57600080fd5b600061056a30610578565b905061057581611476565b50565b60006105c2600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611770565b9050919050565b6105d1610f08565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461065e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065590612569565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600781526020017f41636520496e7500000000000000000000000000000000000000000000000000815250905090565b600061079661078f610f08565b84846110db565b6001905092915050565b6107a8610f08565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461080157600080fd5b80600a8190555050565b610813610f08565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089790612569565b60405180910390fd5b60008110156108e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108db906125e9565b60405180910390fd5b8060058190555050565b6108f6610f08565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610983576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097a90612569565b60405180910390fd5b600860149054906101000a900460ff16156109d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ca90612509565b60405180910390fd5b610a0430600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166305f5e100610f10565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610a6c57600080fd5b505afa158015610a80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa49190611f83565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610b2857600080fd5b505afa158015610b3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b609190611f83565b6040518363ffffffff1660e01b8152600401610b7d9291906123b9565b602060405180830381600087803b158015610b9757600080fd5b505af1158015610bab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bcf9190611f83565b600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610c5830610578565b600080610c6361071c565b426040518863ffffffff1660e01b8152600401610c859695949392919061240b565b6060604051808303818588803b158015610c9e57600080fd5b505af1158015610cb2573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610cd791906120c5565b5050506001600860166101000a81548160ff0219169083151502179055506305f5e100600a819055506001600860146101000a81548160ff021916908315150217905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610dba9291906123e2565b602060405180830381600087803b158015610dd457600080fd5b505af1158015610de8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0c9190612073565b50565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ed7610f08565b73ffffffffffffffffffffffffffffffffffffffff1614610ef757600080fd5b6000479050610f05816117de565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f77906125c9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ff0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe7906124e9565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110ce9190612609565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561114b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611142906125a9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b2906124a9565b60405180910390fd5b600081116111fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f590612589565b60405180910390fd5b600a5481600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156112ad5750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b6112b85760006112bb565b60015b60ff166112c89190612775565b11156112d357600080fd5b6112db61071c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611349575061131961071c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561140257600860159054906101000a900460ff161580156113b95750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156113d15750600860169054906101000a900460ff165b15611401576113e76113e230610578565b611476565b600047905060008111156113ff576113fe476117de565b5b505b5b61140d83838361184a565b505050565b600083831115829061145a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114519190612487565b60405180910390fd5b506000838561146991906127cf565b9050809150509392505050565b6001600860156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156114d4577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156115025781602001602082028036833780820191505090505b5090503081600081518110611540577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156115e257600080fd5b505afa1580156115f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061161a9190611f83565b81600181518110611654577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506116bb30600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f10565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161171f959493929190612624565b600060405180830381600087803b15801561173957600080fd5b505af115801561174d573d6000803e3d6000fd5b50505050506000600860156101000a81548160ff02191690831515021790555050565b60006003548211156117b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ae906124c9565b60405180910390fd5b60006117c161185a565b90506117d6818461188590919063ffffffff16565b915050919050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611846573d6000803e3d6000fd5b5050565b6118558383836118cf565b505050565b6000806000611867611a9a565b9150915061187e818361188590919063ffffffff16565b9250505090565b60006118c783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611aed565b905092915050565b6000806000806000806118e187611b50565b95509550955095509550955061193f86600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bb890919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506119d485600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c0290919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a2081611c60565b611a2a8483611d1d565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611a879190612609565b60405180910390a3505050505050505050565b6000806000600354905060006305f5e1009050611ac66305f5e10060035461188590919063ffffffff16565b821015611ae0576003546305f5e100935093505050611ae9565b81819350935050505b9091565b60008083118290611b34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2b9190612487565b60405180910390fd5b5060008385611b439190612744565b9050809150509392505050565b6000806000806000806000806000611b6d8a600554600554611d57565b9250925092506000611b7d61185a565b90506000806000611b908e878787611ded565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611bfa83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611412565b905092915050565b6000808284611c1191906126ee565b905083811015611c56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4d90612529565b60405180910390fd5b8091505092915050565b6000611c6a61185a565b90506000611c818284611e7690919063ffffffff16565b9050611cd581600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c0290919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611d3282600354611bb890919063ffffffff16565b600381905550611d4d81600454611c0290919063ffffffff16565b6004819055505050565b600080600080611d836064611d75888a611e7690919063ffffffff16565b61188590919063ffffffff16565b90506000611dad6064611d9f888b611e7690919063ffffffff16565b61188590919063ffffffff16565b90506000611dd682611dc8858c611bb890919063ffffffff16565b611bb890919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080611e068589611e7690919063ffffffff16565b90506000611e1d8689611e7690919063ffffffff16565b90506000611e348789611e7690919063ffffffff16565b90506000611e5d82611e4f8587611bb890919063ffffffff16565b611bb890919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611e895760009050611eeb565b60008284611e979190612775565b9050828482611ea69190612744565b14611ee6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611edd90612549565b60405180910390fd5b809150505b92915050565b600081359050611f0081612bd9565b92915050565b600081519050611f1581612bd9565b92915050565b600081519050611f2a81612bf0565b92915050565b600081359050611f3f81612c07565b92915050565b600081519050611f5481612c07565b92915050565b600060208284031215611f6c57600080fd5b6000611f7a84828501611ef1565b91505092915050565b600060208284031215611f9557600080fd5b6000611fa384828501611f06565b91505092915050565b60008060408385031215611fbf57600080fd5b6000611fcd85828601611ef1565b9250506020611fde85828601611ef1565b9150509250929050565b600080600060608486031215611ffd57600080fd5b600061200b86828701611ef1565b935050602061201c86828701611ef1565b925050604061202d86828701611f30565b9150509250925092565b6000806040838503121561204a57600080fd5b600061205885828601611ef1565b925050602061206985828601611f30565b9150509250929050565b60006020828403121561208557600080fd5b600061209384828501611f1b565b91505092915050565b6000602082840312156120ae57600080fd5b60006120bc84828501611f30565b91505092915050565b6000806000606084860312156120da57600080fd5b60006120e886828701611f45565b93505060206120f986828701611f45565b925050604061210a86828701611f45565b9150509250925092565b6000612120838361212c565b60208301905092915050565b61213581612803565b82525050565b61214481612803565b82525050565b6000612155826126a9565b61215f81856126cc565b935061216a83612699565b8060005b8381101561219b5781516121828882612114565b975061218d836126bf565b92505060018101905061216e565b5085935050505092915050565b6121b181612815565b82525050565b6121c081612858565b82525050565b60006121d1826126b4565b6121db81856126dd565b93506121eb81856020860161286a565b6121f4816128fb565b840191505092915050565b600061220c6023836126dd565b91506122178261290c565b604082019050919050565b600061222f602a836126dd565b915061223a8261295b565b604082019050919050565b60006122526022836126dd565b915061225d826129aa565b604082019050919050565b60006122756017836126dd565b9150612280826129f9565b602082019050919050565b6000612298601b836126dd565b91506122a382612a22565b602082019050919050565b60006122bb6021836126dd565b91506122c682612a4b565b604082019050919050565b60006122de6020836126dd565b91506122e982612a9a565b602082019050919050565b60006123016029836126dd565b915061230c82612ac3565b604082019050919050565b60006123246025836126dd565b915061232f82612b12565b604082019050919050565b60006123476024836126dd565b915061235282612b61565b604082019050919050565b600061236a6018836126dd565b915061237582612bb0565b602082019050919050565b61238981612841565b82525050565b6123988161284b565b82525050565b60006020820190506123b3600083018461213b565b92915050565b60006040820190506123ce600083018561213b565b6123db602083018461213b565b9392505050565b60006040820190506123f7600083018561213b565b6124046020830184612380565b9392505050565b600060c082019050612420600083018961213b565b61242d6020830188612380565b61243a60408301876121b7565b61244760608301866121b7565b612454608083018561213b565b61246160a0830184612380565b979650505050505050565b600060208201905061248160008301846121a8565b92915050565b600060208201905081810360008301526124a181846121c6565b905092915050565b600060208201905081810360008301526124c2816121ff565b9050919050565b600060208201905081810360008301526124e281612222565b9050919050565b6000602082019050818103600083015261250281612245565b9050919050565b6000602082019050818103600083015261252281612268565b9050919050565b600060208201905081810360008301526125428161228b565b9050919050565b60006020820190508181036000830152612562816122ae565b9050919050565b60006020820190508181036000830152612582816122d1565b9050919050565b600060208201905081810360008301526125a2816122f4565b9050919050565b600060208201905081810360008301526125c281612317565b9050919050565b600060208201905081810360008301526125e28161233a565b9050919050565b600060208201905081810360008301526126028161235d565b9050919050565b600060208201905061261e6000830184612380565b92915050565b600060a0820190506126396000830188612380565b61264660208301876121b7565b8181036040830152612658818661214a565b9050612667606083018561213b565b6126746080830184612380565b9695505050505050565b6000602082019050612693600083018461238f565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006126f982612841565b915061270483612841565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156127395761273861289d565b5b828201905092915050565b600061274f82612841565b915061275a83612841565b92508261276a576127696128cc565b5b828204905092915050565b600061278082612841565b915061278b83612841565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156127c4576127c361289d565b5b828202905092915050565b60006127da82612841565b91506127e583612841565b9250828210156127f8576127f761289d565b5b828203905092915050565b600061280e82612821565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061286382612841565b9050919050565b60005b8381101561288857808201518184015260208101905061286d565b83811115612897576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f546178206d757374206265206e6f6e2d6e656761746976650000000000000000600082015250565b612be281612803565b8114612bed57600080fd5b50565b612bf981612815565b8114612c0457600080fd5b50565b612c1081612841565b8114612c1b57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220fdb916dd81f2c78d192bbeaf7489f7b222c8587bf7a66e8c3c4272ccfb1152b464736f6c63430008040033
Deployed Bytecode
0x6080604052600436106100f75760003560e01c80638da5cb5b1161008a578063c6d69a3011610059578063c6d69a3014610325578063c9567bf91461034e578063dd62ed3e14610365578063f4293890146103a2576100fe565b80638da5cb5b1461026957806395d89b4114610294578063a9059cbb146102bf578063aac3cd03146102fc576100fe565b8063313ce567116100c6578063313ce567146101d357806351bc3c85146101fe57806370a0823114610215578063715018a614610252576100fe565b806306fdde0314610103578063095ea7b31461012e57806318160ddd1461016b57806323b872dd14610196576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b506101186103b9565b6040516101259190612487565b60405180910390f35b34801561013a57600080fd5b5061015560048036038101906101509190612037565b6103f6565b604051610162919061246c565b60405180910390f35b34801561017757600080fd5b50610180610414565b60405161018d9190612609565b60405180910390f35b3480156101a257600080fd5b506101bd60048036038101906101b89190611fe8565b610420565b6040516101ca919061246c565b60405180910390f35b3480156101df57600080fd5b506101e86104f9565b6040516101f5919061267e565b60405180910390f35b34801561020a57600080fd5b506102136104fe565b005b34801561022157600080fd5b5061023c60048036038101906102379190611f5a565b610578565b6040516102499190612609565b60405180910390f35b34801561025e57600080fd5b506102676105c9565b005b34801561027557600080fd5b5061027e61071c565b60405161028b919061239e565b60405180910390f35b3480156102a057600080fd5b506102a9610745565b6040516102b69190612487565b60405180910390f35b3480156102cb57600080fd5b506102e660048036038101906102e19190612037565b610782565b6040516102f3919061246c565b60405180910390f35b34801561030857600080fd5b50610323600480360381019061031e919061209c565b6107a0565b005b34801561033157600080fd5b5061034c6004803603810190610347919061209c565b61080b565b005b34801561035a57600080fd5b506103636108ee565b005b34801561037157600080fd5b5061038c60048036038101906103879190611fac565b610e0f565b6040516103999190612609565b60405180910390f35b3480156103ae57600080fd5b506103b7610e96565b005b60606040518060400160405280600781526020017f41636520496e7500000000000000000000000000000000000000000000000000815250905090565b600061040a610403610f08565b8484610f10565b6001905092915050565b60006305f5e100905090565b600061042d8484846110db565b6104ee84610439610f08565b6104e985604051806060016040528060288152602001612c1f60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061049f610f08565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114129092919063ffffffff16565b610f10565b600190509392505050565b600090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661053f610f08565b73ffffffffffffffffffffffffffffffffffffffff161461055f57600080fd5b600061056a30610578565b905061057581611476565b50565b60006105c2600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611770565b9050919050565b6105d1610f08565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461065e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065590612569565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600781526020017f41636520496e7500000000000000000000000000000000000000000000000000815250905090565b600061079661078f610f08565b84846110db565b6001905092915050565b6107a8610f08565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461080157600080fd5b80600a8190555050565b610813610f08565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089790612569565b60405180910390fd5b60008110156108e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108db906125e9565b60405180910390fd5b8060058190555050565b6108f6610f08565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610983576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097a90612569565b60405180910390fd5b600860149054906101000a900460ff16156109d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ca90612509565b60405180910390fd5b610a0430600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166305f5e100610f10565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610a6c57600080fd5b505afa158015610a80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa49190611f83565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610b2857600080fd5b505afa158015610b3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b609190611f83565b6040518363ffffffff1660e01b8152600401610b7d9291906123b9565b602060405180830381600087803b158015610b9757600080fd5b505af1158015610bab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bcf9190611f83565b600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610c5830610578565b600080610c6361071c565b426040518863ffffffff1660e01b8152600401610c859695949392919061240b565b6060604051808303818588803b158015610c9e57600080fd5b505af1158015610cb2573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610cd791906120c5565b5050506001600860166101000a81548160ff0219169083151502179055506305f5e100600a819055506001600860146101000a81548160ff021916908315150217905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610dba9291906123e2565b602060405180830381600087803b158015610dd457600080fd5b505af1158015610de8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0c9190612073565b50565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ed7610f08565b73ffffffffffffffffffffffffffffffffffffffff1614610ef757600080fd5b6000479050610f05816117de565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f77906125c9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ff0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe7906124e9565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110ce9190612609565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561114b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611142906125a9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b2906124a9565b60405180910390fd5b600081116111fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f590612589565b60405180910390fd5b600a5481600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156112ad5750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b6112b85760006112bb565b60015b60ff166112c89190612775565b11156112d357600080fd5b6112db61071c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611349575061131961071c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561140257600860159054906101000a900460ff161580156113b95750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156113d15750600860169054906101000a900460ff165b15611401576113e76113e230610578565b611476565b600047905060008111156113ff576113fe476117de565b5b505b5b61140d83838361184a565b505050565b600083831115829061145a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114519190612487565b60405180910390fd5b506000838561146991906127cf565b9050809150509392505050565b6001600860156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156114d4577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156115025781602001602082028036833780820191505090505b5090503081600081518110611540577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156115e257600080fd5b505afa1580156115f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061161a9190611f83565b81600181518110611654577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506116bb30600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f10565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161171f959493929190612624565b600060405180830381600087803b15801561173957600080fd5b505af115801561174d573d6000803e3d6000fd5b50505050506000600860156101000a81548160ff02191690831515021790555050565b60006003548211156117b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ae906124c9565b60405180910390fd5b60006117c161185a565b90506117d6818461188590919063ffffffff16565b915050919050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611846573d6000803e3d6000fd5b5050565b6118558383836118cf565b505050565b6000806000611867611a9a565b9150915061187e818361188590919063ffffffff16565b9250505090565b60006118c783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611aed565b905092915050565b6000806000806000806118e187611b50565b95509550955095509550955061193f86600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bb890919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506119d485600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c0290919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a2081611c60565b611a2a8483611d1d565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611a879190612609565b60405180910390a3505050505050505050565b6000806000600354905060006305f5e1009050611ac66305f5e10060035461188590919063ffffffff16565b821015611ae0576003546305f5e100935093505050611ae9565b81819350935050505b9091565b60008083118290611b34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2b9190612487565b60405180910390fd5b5060008385611b439190612744565b9050809150509392505050565b6000806000806000806000806000611b6d8a600554600554611d57565b9250925092506000611b7d61185a565b90506000806000611b908e878787611ded565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611bfa83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611412565b905092915050565b6000808284611c1191906126ee565b905083811015611c56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4d90612529565b60405180910390fd5b8091505092915050565b6000611c6a61185a565b90506000611c818284611e7690919063ffffffff16565b9050611cd581600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c0290919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611d3282600354611bb890919063ffffffff16565b600381905550611d4d81600454611c0290919063ffffffff16565b6004819055505050565b600080600080611d836064611d75888a611e7690919063ffffffff16565b61188590919063ffffffff16565b90506000611dad6064611d9f888b611e7690919063ffffffff16565b61188590919063ffffffff16565b90506000611dd682611dc8858c611bb890919063ffffffff16565b611bb890919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080611e068589611e7690919063ffffffff16565b90506000611e1d8689611e7690919063ffffffff16565b90506000611e348789611e7690919063ffffffff16565b90506000611e5d82611e4f8587611bb890919063ffffffff16565b611bb890919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611e895760009050611eeb565b60008284611e979190612775565b9050828482611ea69190612744565b14611ee6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611edd90612549565b60405180910390fd5b809150505b92915050565b600081359050611f0081612bd9565b92915050565b600081519050611f1581612bd9565b92915050565b600081519050611f2a81612bf0565b92915050565b600081359050611f3f81612c07565b92915050565b600081519050611f5481612c07565b92915050565b600060208284031215611f6c57600080fd5b6000611f7a84828501611ef1565b91505092915050565b600060208284031215611f9557600080fd5b6000611fa384828501611f06565b91505092915050565b60008060408385031215611fbf57600080fd5b6000611fcd85828601611ef1565b9250506020611fde85828601611ef1565b9150509250929050565b600080600060608486031215611ffd57600080fd5b600061200b86828701611ef1565b935050602061201c86828701611ef1565b925050604061202d86828701611f30565b9150509250925092565b6000806040838503121561204a57600080fd5b600061205885828601611ef1565b925050602061206985828601611f30565b9150509250929050565b60006020828403121561208557600080fd5b600061209384828501611f1b565b91505092915050565b6000602082840312156120ae57600080fd5b60006120bc84828501611f30565b91505092915050565b6000806000606084860312156120da57600080fd5b60006120e886828701611f45565b93505060206120f986828701611f45565b925050604061210a86828701611f45565b9150509250925092565b6000612120838361212c565b60208301905092915050565b61213581612803565b82525050565b61214481612803565b82525050565b6000612155826126a9565b61215f81856126cc565b935061216a83612699565b8060005b8381101561219b5781516121828882612114565b975061218d836126bf565b92505060018101905061216e565b5085935050505092915050565b6121b181612815565b82525050565b6121c081612858565b82525050565b60006121d1826126b4565b6121db81856126dd565b93506121eb81856020860161286a565b6121f4816128fb565b840191505092915050565b600061220c6023836126dd565b91506122178261290c565b604082019050919050565b600061222f602a836126dd565b915061223a8261295b565b604082019050919050565b60006122526022836126dd565b915061225d826129aa565b604082019050919050565b60006122756017836126dd565b9150612280826129f9565b602082019050919050565b6000612298601b836126dd565b91506122a382612a22565b602082019050919050565b60006122bb6021836126dd565b91506122c682612a4b565b604082019050919050565b60006122de6020836126dd565b91506122e982612a9a565b602082019050919050565b60006123016029836126dd565b915061230c82612ac3565b604082019050919050565b60006123246025836126dd565b915061232f82612b12565b604082019050919050565b60006123476024836126dd565b915061235282612b61565b604082019050919050565b600061236a6018836126dd565b915061237582612bb0565b602082019050919050565b61238981612841565b82525050565b6123988161284b565b82525050565b60006020820190506123b3600083018461213b565b92915050565b60006040820190506123ce600083018561213b565b6123db602083018461213b565b9392505050565b60006040820190506123f7600083018561213b565b6124046020830184612380565b9392505050565b600060c082019050612420600083018961213b565b61242d6020830188612380565b61243a60408301876121b7565b61244760608301866121b7565b612454608083018561213b565b61246160a0830184612380565b979650505050505050565b600060208201905061248160008301846121a8565b92915050565b600060208201905081810360008301526124a181846121c6565b905092915050565b600060208201905081810360008301526124c2816121ff565b9050919050565b600060208201905081810360008301526124e281612222565b9050919050565b6000602082019050818103600083015261250281612245565b9050919050565b6000602082019050818103600083015261252281612268565b9050919050565b600060208201905081810360008301526125428161228b565b9050919050565b60006020820190508181036000830152612562816122ae565b9050919050565b60006020820190508181036000830152612582816122d1565b9050919050565b600060208201905081810360008301526125a2816122f4565b9050919050565b600060208201905081810360008301526125c281612317565b9050919050565b600060208201905081810360008301526125e28161233a565b9050919050565b600060208201905081810360008301526126028161235d565b9050919050565b600060208201905061261e6000830184612380565b92915050565b600060a0820190506126396000830188612380565b61264660208301876121b7565b8181036040830152612658818661214a565b9050612667606083018561213b565b6126746080830184612380565b9695505050505050565b6000602082019050612693600083018461238f565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006126f982612841565b915061270483612841565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156127395761273861289d565b5b828201905092915050565b600061274f82612841565b915061275a83612841565b92508261276a576127696128cc565b5b828204905092915050565b600061278082612841565b915061278b83612841565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156127c4576127c361289d565b5b828202905092915050565b60006127da82612841565b91506127e583612841565b9250828210156127f8576127f761289d565b5b828203905092915050565b600061280e82612821565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061286382612841565b9050919050565b60005b8381101561288857808201518184015260208101905061286d565b83811115612897576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f546178206d757374206265206e6f6e2d6e656761746976650000000000000000600082015250565b612be281612803565b8114612bed57600080fd5b50565b612bf981612815565b8114612c0457600080fd5b50565b612c1081612841565b8114612c1b57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220fdb916dd81f2c78d192bbeaf7489f7b222c8587bf7a66e8c3c4272ccfb1152b464736f6c63430008040033
Deployed Bytecode Sourcemap
3195:7800:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4424:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5188:146;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4665:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5339:292;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4586:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9019:169;;;;;;;;;;;;;:::i;:::-;;4758:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2420:133;;;;;;;;;;;;;:::i;:::-;;2235:70;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4503:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4892:152;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10674:83;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6187:120;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7464:509;;;;;;;;;;;;;:::i;:::-;;5049:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9193:168;;;;;;;;;;;;;:::i;:::-;;4424:74;4461:13;4488:5;;;;;;;;;;;;;;;;;4481:12;;4424:74;:::o;5188:146::-;5263:4;5274:39;5283:12;:10;:12::i;:::-;5297:7;5306:6;5274:8;:39::i;:::-;5325:4;5318:11;;5188:146;;;;:::o;4665:88::-;4720:7;3474:9;4734:14;;4665:88;:::o;5339:292::-;5437:4;5448:36;5458:6;5466:9;5477:6;5448:9;:36::i;:::-;5489:121;5498:6;5506:12;:10;:12::i;:::-;5520:89;5558:6;5520:89;;;;;;;;;;;;;;;;;:11;:19;5532:6;5520:19;;;;;;;;;;;;;;;:33;5540:12;:10;:12::i;:::-;5520:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;5489:8;:121::i;:::-;5622:4;5615:11;;5339:292;;;;;:::o;4586:74::-;4627:5;4586:74;:::o;9019:169::-;9079:10;;;;;;;;;;;9063:26;;:12;:10;:12::i;:::-;:26;;;9055:35;;;;;;9095:23;9121:24;9139:4;9121:9;:24::i;:::-;9095:50;;9150:33;9167:15;9150:16;:33::i;:::-;9019:169;:::o;4758:129::-;4824:7;4845:37;4865:7;:16;4873:7;4865:16;;;;;;;;;;;;;;;;4845:19;:37::i;:::-;4838:44;;4758:129;;;:::o;2420:133::-;2354:12;:10;:12::i;:::-;2344:22;;:6;;;;;;;;;;:22;;;2336:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2521:1:::1;2484:40;;2505:6;::::0;::::1;;;;;;;;2484:40;;;;;;;;;;;;2546:1;2529:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2420:133::o:0;2235:70::-;2273:7;2294:6;;;;;;;;;;;2287:13;;2235:70;:::o;4503:78::-;4542:13;4569:7;;;;;;;;;;;;;;;;;4562:14;;4503:78;:::o;4892:152::-;4970:4;4981:42;4991:12;:10;:12::i;:::-;5005:9;5016:6;4981:9;:42::i;:::-;5035:4;5028:11;;4892:152;;;;:::o;10674:83::-;8028:12;:10;:12::i;:::-;8015:25;;:9;;;;;;;;;;;:25;;;8007:35;;;;;;10747:5:::1;10736:8;:16;;;;10674:83:::0;:::o;6187:120::-;2354:12;:10;:12::i;:::-;2344:22;;:6;;;;;;;;;;:22;;;2336:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6255:1:::1;6249:4;:7;;6241:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;6298:4;6289:8;:13;;;;6187:120:::0;:::o;7464:509::-;2354:12;:10;:12::i;:::-;2344:22;;:6;;;;;;;;;;:22;;;2336:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7522:11:::1;;;;;;;;;;;7521:12;7513:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;7566:50;7583:4;7598:7;;;;;;;;;;;3474:9;7566:8;:50::i;:::-;7647:7;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7629:47;;;7685:4;7692:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7629:78;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7621:5;;:86;;;;;;;;;;;;;;;;;;7712:7;;;;;;;;;;;:23;;;7744:21;7775:4;7782:24;7800:4;7782:9;:24::i;:::-;7808:1;7811::::0;7814:7:::1;:5;:7::i;:::-;7823:15;7712:127;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;7858:4;7844:11;;:18;;;;;;;;;;;;;;;;;;3474:9;7867:8;:18;;;;7904:4;7890:11;;:18;;;;;;;;;;;;;;;;;;7920:5;;;;;;;;;;;7913:21;;;7943:7;;;;;;;;;;;7953:14;7913:55;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7464:509::o:0;5049:134::-;5130:7;5151:11;:18;5163:5;5151:18;;;;;;;;;;;;;;;:27;5170:7;5151:27;;;;;;;;;;;;;;;;5144:34;;5049:134;;;;:::o;9193:168::-;9253:10;;;;;;;;;;;9237:26;;:12;:10;:12::i;:::-;:26;;;9229:35;;;;;;9269:26;9298:21;9269:50;;9324:32;9337:18;9324:12;:32::i;:::-;9193:168;:::o;205:89::-;258:7;279:10;272:17;;205:89;:::o;5874:308::-;5978:1;5961:19;;:5;:19;;;;5953:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6053:1;6034:21;;:7;:21;;;;6026:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6129:6;6099:11;:18;6111:5;6099:18;;;;;;;;;;;;;;;:27;6118:7;6099:27;;;;;;;;;;;;;;;:36;;;;6161:7;6145:32;;6154:5;6145:32;;;6170:6;6145:32;;;;;;:::i;:::-;;;;;;;;5874:308;;;:::o;6312:703::-;6410:1;6394:18;;:4;:18;;;;6386:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6481:1;6467:16;;:2;:16;;;;6459:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6545:1;6536:6;:10;6528:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6664:8;;6654:6;6613:5;;;;;;;;;;;6607:11;;:2;:11;;;:39;;;;;6638:7;;;;;;;;;;;6622:24;;:4;:24;;;;6607:39;6606:46;;6651:1;6606:46;;;6649:1;6606:46;6605:55;;;;;;:::i;:::-;:67;;6597:76;;;;;;6692:7;:5;:7::i;:::-;6684:15;;:4;:15;;;;:32;;;;;6709:7;:5;:7::i;:::-;6703:13;;:2;:13;;;;6684:32;6680:292;;;6729:6;;;;;;;;;;;6728:7;:24;;;;;6747:5;;;;;;;;;;;6739:13;;:4;:13;;;;6728:24;:39;;;;;6756:11;;;;;;;;;;;6728:39;6724:243;;;6776:42;6793:24;6811:4;6793:9;:24::i;:::-;6776:16;:42::i;:::-;6825:26;6854:21;6825:50;;6907:1;6886:18;:22;6882:79;;;6918:35;6931:21;6918:12;:35::i;:::-;6882:79;6724:243;;6680:292;6978:32;6993:4;6999:2;7003:6;6978:14;:32::i;:::-;6312:703;;;:::o;1272:169::-;1358:7;1385:1;1380;:6;;1388:12;1372:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1406:9;1422:1;1418;:5;;;;:::i;:::-;1406:17;;1435:1;1428:8;;;1272:169;;;;;:::o;7020:349::-;4074:4;4065:6;;:13;;;;;;;;;;;;;;;;;;7092:21:::1;7130:1;7116:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7092:40;;7155:4;7137;7142:1;7137:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;7175:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7165:4;7170:1;7165:7;;;;;;;;;;;;;;;;;;;;;:24;;;;;;;;;::::0;::::1;7194:54;7211:4;7226:7;;;;;;;;;;;7236:11;7194:8;:54::i;:::-;7253:7;;;;;;;;;;;:58;;;7312:11;7325:1;7328:4;7341;7348:15;7253:111;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;4083:1;4098:5:::0;4089:6;;:14;;;;;;;;;;;;;;;;;;7020:349;:::o;5636:233::-;5704:7;5737;;5726;:18;;5718:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;5796:19;5818:10;:8;:10::i;:::-;5796:32;;5840:24;5852:11;5840:7;:11;;:24;;;;:::i;:::-;5833:31;;;5636:233;;;:::o;7374:85::-;7425:10;;;;;;;;;;;:19;;:27;7445:6;7425:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7374:85;:::o;8058:137::-;8146:44;8164:6;8172:9;8183:6;8146:17;:44::i;:::-;8058:137;;;:::o;10522:149::-;10564:7;10579:15;10596;10615:19;:17;:19::i;:::-;10578:56;;;;10646:20;10658:7;10646;:11;;:20;;;;:::i;:::-;10639:27;;;;10522:149;:::o;1655:123::-;1713:7;1734:39;1738:1;1741;1734:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1727:46;;1655:123;;;;:::o;8200:448::-;8293:15;8310:23;8335:12;8349:23;8374:12;8388:13;8405:19;8416:7;8405:10;:19::i;:::-;8292:132;;;;;;;;;;;;8447:28;8467:7;8447;:15;8455:6;8447:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;8429:7;:15;8437:6;8429:15;;;;;;;;;;;;;;;:46;;;;8501:39;8524:15;8501:7;:18;8509:9;8501:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;8480:7;:18;8488:9;8480:18;;;;;;;;;;;;;;;:60;;;;8545:16;8555:5;8545:9;:16::i;:::-;8566:23;8578:4;8584;8566:11;:23::i;:::-;8616:9;8599:44;;8608:6;8599:44;;;8627:15;8599:44;;;;;;:::i;:::-;;;;;;;;8200:448;;;;;;;;;:::o;10762:230::-;10813:7;10822;10836:15;10854:7;;10836:25;;10866:15;3474:9;10866:25;;10910:20;3474:9;10910:7;;:11;;:20;;;;:::i;:::-;10900:7;:30;10896:61;;;10940:7;;3474:9;10932:25;;;;;;;;10896:61;10970:7;10979;10962:25;;;;;;10762:230;;;:::o;1783:168::-;1869:7;1895:1;1891;:5;1898:12;1883:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1916:9;1932:1;1928;:5;;;;:::i;:::-;1916:17;;1945:1;1938:8;;;1783:168;;;;;:::o;9366:441::-;9425:7;9434;9443;9452;9461;9470;9485:23;9510:12;9524:13;9541:40;9553:7;9562:8;;9572;;9541:11;:40::i;:::-;9484:97;;;;;;9586:19;9608:10;:8;:10::i;:::-;9586:32;;9624:15;9641:23;9666:12;9682:46;9694:7;9703:4;9709:5;9716:11;9682;:46::i;:::-;9623:105;;;;;;9741:7;9750:15;9767:4;9773:15;9790:4;9796:5;9733:69;;;;;;;;;;;;;;;;;;;9366:441;;;;;;;:::o;1140:127::-;1198:7;1219:43;1223:1;1226;1219:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1212:50;;1140:127;;;;:::o;977:158::-;1035:7;1049:9;1065:1;1061;:5;;;;:::i;:::-;1049:17;;1084:1;1079;:6;;1071:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1129:1;1122:8;;;977:158;;;;:::o;8653:190::-;8700:19;8722:10;:8;:10::i;:::-;8700:32;;8737:13;8753:22;8763:11;8753:5;:9;;:22;;;;:::i;:::-;8737:38;;8805:33;8832:5;8805:7;:22;8821:4;8805:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;8780:7;:22;8796:4;8780:22;;;;;;;;;;;;;;;:58;;;;8653:190;;;:::o;8848:132::-;8920:17;8932:4;8920:7;;:11;;:17;;;;:::i;:::-;8910:7;:27;;;;8955:20;8970:4;8955:10;;:14;;:20;;;;:::i;:::-;8942:10;:33;;;;8848:132;;:::o;9812:324::-;9905:7;9914;9923;9937:12;9952:28;9976:3;9952:19;9964:6;9952:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;9937:43;;9985:13;10001:29;10026:3;10001:20;10013:7;10001;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;9985:45;;10035:23;10061:28;10083:5;10061:17;10073:4;10061:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;10035:54;;10102:15;10119:4;10125:5;10094:37;;;;;;;;;9812:324;;;;;;;:::o;10141:376::-;10251:7;10260;10269;10283:15;10301:24;10313:11;10301:7;:11;;:24;;;;:::i;:::-;10283:42;;10330:12;10345:21;10354:11;10345:4;:8;;:21;;;;:::i;:::-;10330:36;;10371:13;10387:22;10397:11;10387:5;:9;;:22;;;;:::i;:::-;10371:38;;10414:23;10440:28;10462:5;10440:17;10452:4;10440:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;10414:54;;10481:7;10490:15;10507:4;10473:39;;;;;;;;;;10141:376;;;;;;;;:::o;1446:204::-;1504:7;1527:1;1522;:6;1518:32;;;1543:1;1536:8;;;;1518:32;1554:9;1570:1;1566;:5;;;;:::i;:::-;1554:17;;1593:1;1588;1584;:5;;;;:::i;:::-;:10;1576:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1644:1;1637:8;;;1446:204;;;;;:::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:137::-;355:5;386:6;380:13;371:22;;402:30;426:5;402:30;:::i;:::-;361:77;;;;:::o;444:139::-;490:5;528:6;515:20;506:29;;544:33;571:5;544:33;:::i;:::-;496:87;;;;:::o;589:143::-;646:5;677:6;671:13;662:22;;693:33;720:5;693:33;:::i;:::-;652:80;;;;:::o;738:262::-;797:6;846:2;834:9;825:7;821:23;817:32;814:2;;;862:1;859;852:12;814:2;905:1;930:53;975:7;966:6;955:9;951:22;930:53;:::i;:::-;920:63;;876:117;804:196;;;;:::o;1006:284::-;1076:6;1125:2;1113:9;1104:7;1100:23;1096:32;1093:2;;;1141:1;1138;1131:12;1093:2;1184:1;1209:64;1265:7;1256:6;1245:9;1241:22;1209:64;:::i;:::-;1199:74;;1155:128;1083:207;;;;:::o;1296:407::-;1364:6;1372;1421:2;1409:9;1400:7;1396:23;1392:32;1389:2;;;1437:1;1434;1427:12;1389:2;1480:1;1505:53;1550:7;1541:6;1530:9;1526:22;1505:53;:::i;:::-;1495:63;;1451:117;1607:2;1633:53;1678:7;1669:6;1658:9;1654:22;1633:53;:::i;:::-;1623:63;;1578:118;1379:324;;;;;:::o;1709:552::-;1786:6;1794;1802;1851:2;1839:9;1830:7;1826:23;1822:32;1819:2;;;1867:1;1864;1857:12;1819:2;1910:1;1935:53;1980:7;1971:6;1960:9;1956:22;1935:53;:::i;:::-;1925:63;;1881:117;2037:2;2063:53;2108:7;2099:6;2088:9;2084:22;2063:53;:::i;:::-;2053:63;;2008:118;2165:2;2191:53;2236:7;2227:6;2216:9;2212:22;2191:53;:::i;:::-;2181:63;;2136:118;1809:452;;;;;:::o;2267:407::-;2335:6;2343;2392:2;2380:9;2371:7;2367:23;2363:32;2360:2;;;2408:1;2405;2398:12;2360:2;2451:1;2476:53;2521:7;2512:6;2501:9;2497:22;2476:53;:::i;:::-;2466:63;;2422:117;2578:2;2604:53;2649:7;2640:6;2629:9;2625:22;2604:53;:::i;:::-;2594:63;;2549:118;2350:324;;;;;:::o;2680:278::-;2747:6;2796:2;2784:9;2775:7;2771:23;2767:32;2764:2;;;2812:1;2809;2802:12;2764:2;2855:1;2880:61;2933:7;2924:6;2913:9;2909:22;2880:61;:::i;:::-;2870:71;;2826:125;2754:204;;;;:::o;2964:262::-;3023:6;3072:2;3060:9;3051:7;3047:23;3043:32;3040:2;;;3088:1;3085;3078:12;3040:2;3131:1;3156:53;3201:7;3192:6;3181:9;3177:22;3156:53;:::i;:::-;3146:63;;3102:117;3030:196;;;;:::o;3232:596::-;3320:6;3328;3336;3385:2;3373:9;3364:7;3360:23;3356:32;3353:2;;;3401:1;3398;3391:12;3353:2;3444:1;3469:64;3525:7;3516:6;3505:9;3501:22;3469:64;:::i;:::-;3459:74;;3415:128;3582:2;3608:64;3664:7;3655:6;3644:9;3640:22;3608:64;:::i;:::-;3598:74;;3553:129;3721:2;3747:64;3803:7;3794:6;3783:9;3779:22;3747:64;:::i;:::-;3737:74;;3692:129;3343:485;;;;;:::o;3834:179::-;3903:10;3924:46;3966:3;3958:6;3924:46;:::i;:::-;4002:4;3997:3;3993:14;3979:28;;3914:99;;;;:::o;4019:108::-;4096:24;4114:5;4096:24;:::i;:::-;4091:3;4084:37;4074:53;;:::o;4133:118::-;4220:24;4238:5;4220:24;:::i;:::-;4215:3;4208:37;4198:53;;:::o;4287:732::-;4406:3;4435:54;4483:5;4435:54;:::i;:::-;4505:86;4584:6;4579:3;4505:86;:::i;:::-;4498:93;;4615:56;4665:5;4615:56;:::i;:::-;4694:7;4725:1;4710:284;4735:6;4732:1;4729:13;4710:284;;;4811:6;4805:13;4838:63;4897:3;4882:13;4838:63;:::i;:::-;4831:70;;4924:60;4977:6;4924:60;:::i;:::-;4914:70;;4770:224;4757:1;4754;4750:9;4745:14;;4710:284;;;4714:14;5010:3;5003:10;;4411:608;;;;;;;:::o;5025:109::-;5106:21;5121:5;5106:21;:::i;:::-;5101:3;5094:34;5084:50;;:::o;5140:147::-;5235:45;5274:5;5235:45;:::i;:::-;5230:3;5223:58;5213:74;;:::o;5293:364::-;5381:3;5409:39;5442:5;5409:39;:::i;:::-;5464:71;5528:6;5523:3;5464:71;:::i;:::-;5457:78;;5544:52;5589:6;5584:3;5577:4;5570:5;5566:16;5544:52;:::i;:::-;5621:29;5643:6;5621:29;:::i;:::-;5616:3;5612:39;5605:46;;5385:272;;;;;:::o;5663:366::-;5805:3;5826:67;5890:2;5885:3;5826:67;:::i;:::-;5819:74;;5902:93;5991:3;5902:93;:::i;:::-;6020:2;6015:3;6011:12;6004:19;;5809:220;;;:::o;6035:366::-;6177:3;6198:67;6262:2;6257:3;6198:67;:::i;:::-;6191:74;;6274:93;6363:3;6274:93;:::i;:::-;6392:2;6387:3;6383:12;6376:19;;6181:220;;;:::o;6407:366::-;6549:3;6570:67;6634:2;6629:3;6570:67;:::i;:::-;6563:74;;6646:93;6735:3;6646:93;:::i;:::-;6764:2;6759:3;6755:12;6748:19;;6553:220;;;:::o;6779:366::-;6921:3;6942:67;7006:2;7001:3;6942:67;:::i;:::-;6935:74;;7018:93;7107:3;7018:93;:::i;:::-;7136:2;7131:3;7127:12;7120:19;;6925:220;;;:::o;7151:366::-;7293:3;7314:67;7378:2;7373:3;7314:67;:::i;:::-;7307:74;;7390:93;7479:3;7390:93;:::i;:::-;7508:2;7503:3;7499:12;7492:19;;7297:220;;;:::o;7523:366::-;7665:3;7686:67;7750:2;7745:3;7686:67;:::i;:::-;7679:74;;7762:93;7851:3;7762:93;:::i;:::-;7880:2;7875:3;7871:12;7864:19;;7669:220;;;:::o;7895:366::-;8037:3;8058:67;8122:2;8117:3;8058:67;:::i;:::-;8051:74;;8134:93;8223:3;8134:93;:::i;:::-;8252:2;8247:3;8243:12;8236:19;;8041:220;;;:::o;8267:366::-;8409:3;8430:67;8494:2;8489:3;8430:67;:::i;:::-;8423:74;;8506:93;8595:3;8506:93;:::i;:::-;8624:2;8619:3;8615:12;8608:19;;8413:220;;;:::o;8639:366::-;8781:3;8802:67;8866:2;8861:3;8802:67;:::i;:::-;8795:74;;8878:93;8967:3;8878:93;:::i;:::-;8996:2;8991:3;8987:12;8980:19;;8785:220;;;:::o;9011:366::-;9153:3;9174:67;9238:2;9233:3;9174:67;:::i;:::-;9167:74;;9250:93;9339:3;9250:93;:::i;:::-;9368:2;9363:3;9359:12;9352:19;;9157:220;;;:::o;9383:366::-;9525:3;9546:67;9610:2;9605:3;9546:67;:::i;:::-;9539:74;;9622:93;9711:3;9622:93;:::i;:::-;9740:2;9735:3;9731:12;9724:19;;9529:220;;;:::o;9755:118::-;9842:24;9860:5;9842:24;:::i;:::-;9837:3;9830:37;9820:53;;:::o;9879:112::-;9962:22;9978:5;9962:22;:::i;:::-;9957:3;9950:35;9940:51;;:::o;9997:222::-;10090:4;10128:2;10117:9;10113:18;10105:26;;10141:71;10209:1;10198:9;10194:17;10185:6;10141:71;:::i;:::-;10095:124;;;;:::o;10225:332::-;10346:4;10384:2;10373:9;10369:18;10361:26;;10397:71;10465:1;10454:9;10450:17;10441:6;10397:71;:::i;:::-;10478:72;10546:2;10535:9;10531:18;10522:6;10478:72;:::i;:::-;10351:206;;;;;:::o;10563:332::-;10684:4;10722:2;10711:9;10707:18;10699:26;;10735:71;10803:1;10792:9;10788:17;10779:6;10735:71;:::i;:::-;10816:72;10884:2;10873:9;10869:18;10860:6;10816:72;:::i;:::-;10689:206;;;;;:::o;10901:807::-;11150:4;11188:3;11177:9;11173:19;11165:27;;11202:71;11270:1;11259:9;11255:17;11246:6;11202:71;:::i;:::-;11283:72;11351:2;11340:9;11336:18;11327:6;11283:72;:::i;:::-;11365:80;11441:2;11430:9;11426:18;11417:6;11365:80;:::i;:::-;11455;11531:2;11520:9;11516:18;11507:6;11455:80;:::i;:::-;11545:73;11613:3;11602:9;11598:19;11589:6;11545:73;:::i;:::-;11628;11696:3;11685:9;11681:19;11672:6;11628:73;:::i;:::-;11155:553;;;;;;;;;:::o;11714:210::-;11801:4;11839:2;11828:9;11824:18;11816:26;;11852:65;11914:1;11903:9;11899:17;11890:6;11852:65;:::i;:::-;11806:118;;;;:::o;11930:313::-;12043:4;12081:2;12070:9;12066:18;12058:26;;12130:9;12124:4;12120:20;12116:1;12105:9;12101:17;12094:47;12158:78;12231:4;12222:6;12158:78;:::i;:::-;12150:86;;12048:195;;;;:::o;12249:419::-;12415:4;12453:2;12442:9;12438:18;12430:26;;12502:9;12496:4;12492:20;12488:1;12477:9;12473:17;12466:47;12530:131;12656:4;12530:131;:::i;:::-;12522:139;;12420:248;;;:::o;12674:419::-;12840:4;12878:2;12867:9;12863:18;12855:26;;12927:9;12921:4;12917:20;12913:1;12902:9;12898:17;12891:47;12955:131;13081:4;12955:131;:::i;:::-;12947:139;;12845:248;;;:::o;13099:419::-;13265:4;13303:2;13292:9;13288:18;13280:26;;13352:9;13346:4;13342:20;13338:1;13327:9;13323:17;13316:47;13380:131;13506:4;13380:131;:::i;:::-;13372:139;;13270:248;;;:::o;13524:419::-;13690:4;13728:2;13717:9;13713:18;13705:26;;13777:9;13771:4;13767:20;13763:1;13752:9;13748:17;13741:47;13805:131;13931:4;13805:131;:::i;:::-;13797:139;;13695:248;;;:::o;13949:419::-;14115:4;14153:2;14142:9;14138:18;14130:26;;14202:9;14196:4;14192:20;14188:1;14177:9;14173:17;14166:47;14230:131;14356:4;14230:131;:::i;:::-;14222:139;;14120:248;;;:::o;14374:419::-;14540:4;14578:2;14567:9;14563:18;14555:26;;14627:9;14621:4;14617:20;14613:1;14602:9;14598:17;14591:47;14655:131;14781:4;14655:131;:::i;:::-;14647:139;;14545:248;;;:::o;14799:419::-;14965:4;15003:2;14992:9;14988:18;14980:26;;15052:9;15046:4;15042:20;15038:1;15027:9;15023:17;15016:47;15080:131;15206:4;15080:131;:::i;:::-;15072:139;;14970:248;;;:::o;15224:419::-;15390:4;15428:2;15417:9;15413:18;15405:26;;15477:9;15471:4;15467:20;15463:1;15452:9;15448:17;15441:47;15505:131;15631:4;15505:131;:::i;:::-;15497:139;;15395:248;;;:::o;15649:419::-;15815:4;15853:2;15842:9;15838:18;15830:26;;15902:9;15896:4;15892:20;15888:1;15877:9;15873:17;15866:47;15930:131;16056:4;15930:131;:::i;:::-;15922:139;;15820:248;;;:::o;16074:419::-;16240:4;16278:2;16267:9;16263:18;16255:26;;16327:9;16321:4;16317:20;16313:1;16302:9;16298:17;16291:47;16355:131;16481:4;16355:131;:::i;:::-;16347:139;;16245:248;;;:::o;16499:419::-;16665:4;16703:2;16692:9;16688:18;16680:26;;16752:9;16746:4;16742:20;16738:1;16727:9;16723:17;16716:47;16780:131;16906:4;16780:131;:::i;:::-;16772:139;;16670:248;;;:::o;16924:222::-;17017:4;17055:2;17044:9;17040:18;17032:26;;17068:71;17136:1;17125:9;17121:17;17112:6;17068:71;:::i;:::-;17022:124;;;;:::o;17152:831::-;17415:4;17453:3;17442:9;17438:19;17430:27;;17467:71;17535:1;17524:9;17520:17;17511:6;17467:71;:::i;:::-;17548:80;17624:2;17613:9;17609:18;17600:6;17548:80;:::i;:::-;17675:9;17669:4;17665:20;17660:2;17649:9;17645:18;17638:48;17703:108;17806:4;17797:6;17703:108;:::i;:::-;17695:116;;17821:72;17889:2;17878:9;17874:18;17865:6;17821:72;:::i;:::-;17903:73;17971:3;17960:9;17956:19;17947:6;17903:73;:::i;:::-;17420:563;;;;;;;;:::o;17989:214::-;18078:4;18116:2;18105:9;18101:18;18093:26;;18129:67;18193:1;18182:9;18178:17;18169:6;18129:67;:::i;:::-;18083:120;;;;:::o;18209:132::-;18276:4;18299:3;18291:11;;18329:4;18324:3;18320:14;18312:22;;18281:60;;;:::o;18347:114::-;18414:6;18448:5;18442:12;18432:22;;18421:40;;;:::o;18467:99::-;18519:6;18553:5;18547:12;18537:22;;18526:40;;;:::o;18572:113::-;18642:4;18674;18669:3;18665:14;18657:22;;18647:38;;;:::o;18691:184::-;18790:11;18824:6;18819:3;18812:19;18864:4;18859:3;18855:14;18840:29;;18802:73;;;;:::o;18881:169::-;18965:11;18999:6;18994:3;18987:19;19039:4;19034:3;19030:14;19015:29;;18977:73;;;;:::o;19056:305::-;19096:3;19115:20;19133:1;19115:20;:::i;:::-;19110:25;;19149:20;19167:1;19149:20;:::i;:::-;19144:25;;19303:1;19235:66;19231:74;19228:1;19225:81;19222:2;;;19309:18;;:::i;:::-;19222:2;19353:1;19350;19346:9;19339:16;;19100:261;;;;:::o;19367:185::-;19407:1;19424:20;19442:1;19424:20;:::i;:::-;19419:25;;19458:20;19476:1;19458:20;:::i;:::-;19453:25;;19497:1;19487:2;;19502:18;;:::i;:::-;19487:2;19544:1;19541;19537:9;19532:14;;19409:143;;;;:::o;19558:348::-;19598:7;19621:20;19639:1;19621:20;:::i;:::-;19616:25;;19655:20;19673:1;19655:20;:::i;:::-;19650:25;;19843:1;19775:66;19771:74;19768:1;19765:81;19760:1;19753:9;19746:17;19742:105;19739:2;;;19850:18;;:::i;:::-;19739:2;19898:1;19895;19891:9;19880:20;;19606:300;;;;:::o;19912:191::-;19952:4;19972:20;19990:1;19972:20;:::i;:::-;19967:25;;20006:20;20024:1;20006:20;:::i;:::-;20001:25;;20045:1;20042;20039:8;20036:2;;;20050:18;;:::i;:::-;20036:2;20095:1;20092;20088:9;20080:17;;19957:146;;;;:::o;20109:96::-;20146:7;20175:24;20193:5;20175:24;:::i;:::-;20164:35;;20154:51;;;:::o;20211:90::-;20245:7;20288:5;20281:13;20274:21;20263:32;;20253:48;;;:::o;20307:126::-;20344:7;20384:42;20377:5;20373:54;20362:65;;20352:81;;;:::o;20439:77::-;20476:7;20505:5;20494:16;;20484:32;;;:::o;20522:86::-;20557:7;20597:4;20590:5;20586:16;20575:27;;20565:43;;;:::o;20614:121::-;20672:9;20705:24;20723:5;20705:24;:::i;:::-;20692:37;;20682:53;;;:::o;20741:307::-;20809:1;20819:113;20833:6;20830:1;20827:13;20819:113;;;20918:1;20913:3;20909:11;20903:18;20899:1;20894:3;20890:11;20883:39;20855:2;20852:1;20848:10;20843:15;;20819:113;;;20950:6;20947:1;20944:13;20941:2;;;21030:1;21021:6;21016:3;21012:16;21005:27;20941:2;20790:258;;;;:::o;21054:180::-;21102:77;21099:1;21092:88;21199:4;21196:1;21189:15;21223:4;21220:1;21213:15;21240:180;21288:77;21285:1;21278:88;21385:4;21382:1;21375:15;21409:4;21406:1;21399:15;21426:102;21467:6;21518:2;21514:7;21509:2;21502:5;21498:14;21494:28;21484:38;;21474:54;;;:::o;21534:222::-;21674:34;21670:1;21662:6;21658:14;21651:58;21743:5;21738:2;21730:6;21726:15;21719:30;21640:116;:::o;21762:229::-;21902:34;21898:1;21890:6;21886:14;21879:58;21971:12;21966:2;21958:6;21954:15;21947:37;21868:123;:::o;21997:221::-;22137:34;22133:1;22125:6;22121:14;22114:58;22206:4;22201:2;22193:6;22189:15;22182:29;22103:115;:::o;22224:173::-;22364:25;22360:1;22352:6;22348:14;22341:49;22330:67;:::o;22403:177::-;22543:29;22539:1;22531:6;22527:14;22520:53;22509:71;:::o;22586:220::-;22726:34;22722:1;22714:6;22710:14;22703:58;22795:3;22790:2;22782:6;22778:15;22771:28;22692:114;:::o;22812:182::-;22952:34;22948:1;22940:6;22936:14;22929:58;22918:76;:::o;23000:228::-;23140:34;23136:1;23128:6;23124:14;23117:58;23209:11;23204:2;23196:6;23192:15;23185:36;23106:122;:::o;23234:224::-;23374:34;23370:1;23362:6;23358:14;23351:58;23443:7;23438:2;23430:6;23426:15;23419:32;23340:118;:::o;23464:223::-;23604:34;23600:1;23592:6;23588:14;23581:58;23673:6;23668:2;23660:6;23656:15;23649:31;23570:117;:::o;23693:174::-;23833:26;23829:1;23821:6;23817:14;23810:50;23799:68;:::o;23873:122::-;23946:24;23964:5;23946:24;:::i;:::-;23939:5;23936:35;23926:2;;23985:1;23982;23975:12;23926:2;23916:79;:::o;24001:116::-;24071:21;24086:5;24071:21;:::i;:::-;24064:5;24061:32;24051:2;;24107:1;24104;24097:12;24051:2;24041:76;:::o;24123:122::-;24196:24;24214:5;24196:24;:::i;:::-;24189:5;24186:35;24176:2;;24235:1;24232;24225:12;24176:2;24166:79;:::o
Swarm Source
ipfs://fdb916dd81f2c78d192bbeaf7489f7b222c8587bf7a66e8c3c4272ccfb1152b4
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.