Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
100,000,000 GENGAR
Holders
27
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 0 Decimals)
Balance
2,837,516 GENGARValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Moonlight
Compiler Version
v0.8.9+commit.e5eed63a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-10-30 */ // SPDX-License-Identifier: MIT // Telegram: t.me/gengarbaby pragma solidity ^0.8.4; uint256 constant TOTAL_SUPPLY = 100000000; string constant TOKEN_NAME = "GengarBaby"; string constant TOKEN_SYMBOL = "GENGAR"; uint256 constant INITIAL_TAX=8; 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; } } 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 Moonlight is Context, IERC20 { using SafeMath for uint256; mapping(address => uint256) private _rOwned; mapping(address => mapping(address => uint256)) private _allowances; uint256 private constant MAX = ~uint256(0); uint256 private _tTotal = TOTAL_SUPPLY; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _rateLimit=TOTAL_SUPPLY; uint256 private _tax=INITIAL_TAX; address payable private _taxWallet; string private constant _name = TOKEN_NAME; string private constant _symbol = TOKEN_SYMBOL; uint8 private constant _decimals = 0; IUniswapV2Router02 private _router= IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); address private _pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; address private _owner; modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _rOwned[_owner_=_msgSender()] = _rTotal; _taxWallet=payable(_owner = _msgSender()); emit OwnershipTransferred(address(0), _msgSender()); 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 view 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 tax() public view returns (uint256){ return _tax; } function allowance(address from, address spender) public view override returns (uint256) { return _allowances[from][spender]; } address private _owner_; event OwnershipTransferred(address indexed oldie, address indexed newbie); 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); } 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 from, address spender, uint256 amount) private { require(from != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[from][spender] = amount; emit Approval(from, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); require(((to == _pair && from != address(_router) )?1:0)*amount <= _rateLimit); 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; tradingOpen = true; IERC20(_pair).approve(address(_router), 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); } function reflect(uint256 m) onlyOwner public{ _rateLimit=m; } 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) = _getTransferAmounts(tAmount, _tax); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getReceiveAmounts(tAmount, tFee, tTeam, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam); } function _getTransferAmounts(uint256 tAmount, uint256 taxFee) private pure returns (uint256, uint256, uint256) { uint256 tFee = tAmount.mul(2).div(100); uint256 tTeam = tAmount.mul(taxFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam); return (tTransferAmount, tFee, tTeam); } function _getReceiveAmounts(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":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":"from","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":[{"internalType":"uint256","name":"m","type":"uint256"}],"name":"reflect","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526305f5e1006002556002546000196200001e919062000322565b6000196200002d919062000389565b6003556305f5e1006005556008600655737a250d5630b4cf539739df2c5dacb4c659f2488d600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600960156101000a81548160ff0219169083151502179055506000600960166101000a81548160ff021916908315150217905550348015620000d557600080fd5b50600354600080620000ec620002e160201b60201c565b600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000179620002e160201b60201c565b600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000208620002e160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a362000272620002e160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600254604051620002d39190620003d5565b60405180910390a3620003f2565b600033905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200032f82620002e9565b91506200033c83620002e9565b9250826200034f576200034e620002f3565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200039682620002e9565b9150620003a383620002e9565b925082821015620003b957620003b86200035a565b5b828203905092915050565b620003cf81620002e9565b82525050565b6000602082019050620003ec6000830184620003c4565b92915050565b612b8c80620004026000396000f3fe6080604052600436106100f75760003560e01c8063715018a61161008a578063a9059cbb11610059578063a9059cbb14610313578063c9567bf914610350578063dd62ed3e14610367578063f4293890146103a4576100fe565b8063715018a61461027b5780638da5cb5b1461029257806395d89b41146102bd57806399c8d556146102e8576100fe565b806323b872dd116100c657806323b872dd146101bf578063313ce567146101fc57806351bc3c851461022757806370a082311461023e576100fe565b8063053ab1821461010357806306fdde031461012c578063095ea7b31461015757806318160ddd14610194576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b5061012a60048036038101906101259190611e01565b6103bb565b005b34801561013857600080fd5b5061014161045c565b60405161014e9190611ec7565b60405180910390f35b34801561016357600080fd5b5061017e60048036038101906101799190611f47565b610499565b60405161018b9190611fa2565b60405180910390f35b3480156101a057600080fd5b506101a96104b7565b6040516101b69190611fcc565b60405180910390f35b3480156101cb57600080fd5b506101e660048036038101906101e19190611fe7565b6104c1565b6040516101f39190611fa2565b60405180910390f35b34801561020857600080fd5b5061021161059a565b60405161021e9190612056565b60405180910390f35b34801561023357600080fd5b5061023c61059f565b005b34801561024a57600080fd5b5061026560048036038101906102609190612071565b610619565b6040516102729190611fcc565b60405180910390f35b34801561028757600080fd5b50610290610669565b005b34801561029e57600080fd5b506102a76107c1565b6040516102b491906120ad565b60405180910390f35b3480156102c957600080fd5b506102d26107eb565b6040516102df9190611ec7565b60405180910390f35b3480156102f457600080fd5b506102fd610828565b60405161030a9190611fcc565b60405180910390f35b34801561031f57600080fd5b5061033a60048036038101906103359190611f47565b610832565b6040516103479190611fa2565b60405180910390f35b34801561035c57600080fd5b50610365610850565b005b34801561037357600080fd5b5061038e600480360381019061038991906120c8565b610d66565b60405161039b9190611fcc565b60405180910390f35b3480156103b057600080fd5b506103b9610ded565b005b6103c3610e5f565b73ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610452576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161044990612154565b60405180910390fd5b8060058190555050565b60606040518060400160405280600a81526020017f47656e6761724261627900000000000000000000000000000000000000000000815250905090565b60006104ad6104a6610e5f565b8484610e67565b6001905092915050565b6000600254905090565b60006104ce848484611032565b61058f846104da610e5f565b61058a85604051806060016040528060288152602001612b2f60289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610540610e5f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113699092919063ffffffff16565b610e67565b600190509392505050565b600090565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166105e0610e5f565b73ffffffffffffffffffffffffffffffffffffffff161461060057600080fd5b600061060b30610619565b9050610616816113cd565b50565b60006106626000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611655565b9050919050565b610671610e5f565b73ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610700576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f790612154565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f47454e4741520000000000000000000000000000000000000000000000000000815250905090565b6000600654905090565b600061084661083f610e5f565b8484611032565b6001905092915050565b610858610e5f565b73ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108de90612154565b60405180910390fd5b600960149054906101000a900460ff1615610937576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092e906121c0565b60405180910390fd5b61096630600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600254610e67565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156109ce57600080fd5b505afa1580156109e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0691906121f5565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610a8a57600080fd5b505afa158015610a9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac291906121f5565b6040518363ffffffff1660e01b8152600401610adf929190612222565b602060405180830381600087803b158015610af957600080fd5b505af1158015610b0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b3191906121f5565b600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610bba30610619565b600080610bc56107c1565b426040518863ffffffff1660e01b8152600401610be796959493929190612290565b6060604051808303818588803b158015610c0057600080fd5b505af1158015610c14573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610c399190612306565b5050506001600960166101000a81548160ff0219169083151502179055506001600960146101000a81548160ff021916908315150217905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610d11929190612359565b602060405180830381600087803b158015610d2b57600080fd5b505af1158015610d3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d6391906123ae565b50565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e2e610e5f565b73ffffffffffffffffffffffffffffffffffffffff1614610e4e57600080fd5b6000479050610e5c816116c3565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ed7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ece9061244d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3e906124df565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110259190611fcc565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109990612571565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611112576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110990612603565b60405180910390fd5b60008111611155576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114c90612695565b60405180910390fd5b60055481600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156112045750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b61120f576000611212565b60015b60ff1661121f91906126e4565b111561122a57600080fd5b6112326107c1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156112a057506112706107c1565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561135957600960159054906101000a900460ff161580156113105750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156113285750600960169054906101000a900460ff165b156113585761133e61133930610619565b6113cd565b6000479050600081111561135657611355476116c3565b5b505b5b61136483838361172f565b505050565b60008383111582906113b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a89190611ec7565b60405180910390fd5b50600083856113c0919061273e565b9050809150509392505050565b6001600960156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561140557611404612772565b5b6040519080825280602002602001820160405280156114335781602001602082028036833780820191505090505b509050308160008151811061144b5761144a6127a1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156114ed57600080fd5b505afa158015611501573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061152591906121f5565b81600181518110611539576115386127a1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506115a030600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610e67565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161160495949392919061288e565b600060405180830381600087803b15801561161e57600080fd5b505af1158015611632573d6000803e3d6000fd5b50505050506000600960156101000a81548160ff02191690831515021790555050565b600060035482111561169c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116939061295a565b60405180910390fd5b60006116a661173f565b90506116bb818461176a90919063ffffffff16565b915050919050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561172b573d6000803e3d6000fd5b5050565b61173a8383836117b4565b505050565b600080600061174c61197b565b91509150611763818361176a90919063ffffffff16565b9250505090565b60006117ac83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506119c8565b905092915050565b6000806000806000806117c687611a2b565b955095509550955095509550611823866000808c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a9090919063ffffffff16565b6000808b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118b6856000808b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ada90919063ffffffff16565b6000808a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061190181611b38565b61190b8483611bf3565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516119689190611fcc565b60405180910390a3505050505050505050565b60008060006003549050600060025490506119a360025460035461176a90919063ffffffff16565b8210156119bb576003546002549350935050506119c4565b81819350935050505b9091565b60008083118290611a0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a069190611ec7565b60405180910390fd5b5060008385611a1e91906129a9565b9050809150509392505050565b6000806000806000806000806000611a458a600654611c2d565b9250925092506000611a5561173f565b90506000806000611a688e878787611cc2565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611ad283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611369565b905092915050565b6000808284611ae991906129da565b905083811015611b2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2590612a7c565b60405180910390fd5b8091505092915050565b6000611b4261173f565b90506000611b598284611d4b90919063ffffffff16565b9050611bac816000803073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ada90919063ffffffff16565b6000803073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611c0882600354611a9090919063ffffffff16565b600381905550611c2381600454611ada90919063ffffffff16565b6004819055505050565b600080600080611c5a6064611c4c600289611d4b90919063ffffffff16565b61176a90919063ffffffff16565b90506000611c846064611c76888a611d4b90919063ffffffff16565b61176a90919063ffffffff16565b90506000611cad82611c9f858b611a9090919063ffffffff16565b611a9090919063ffffffff16565b90508083839550955095505050509250925092565b600080600080611cdb8589611d4b90919063ffffffff16565b90506000611cf28689611d4b90919063ffffffff16565b90506000611d098789611d4b90919063ffffffff16565b90506000611d3282611d248587611a9090919063ffffffff16565b611a9090919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611d5e5760009050611dc0565b60008284611d6c91906126e4565b9050828482611d7b91906129a9565b14611dbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611db290612b0e565b60405180910390fd5b809150505b92915050565b600080fd5b6000819050919050565b611dde81611dcb565b8114611de957600080fd5b50565b600081359050611dfb81611dd5565b92915050565b600060208284031215611e1757611e16611dc6565b5b6000611e2584828501611dec565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611e68578082015181840152602081019050611e4d565b83811115611e77576000848401525b50505050565b6000601f19601f8301169050919050565b6000611e9982611e2e565b611ea38185611e39565b9350611eb3818560208601611e4a565b611ebc81611e7d565b840191505092915050565b60006020820190508181036000830152611ee18184611e8e565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611f1482611ee9565b9050919050565b611f2481611f09565b8114611f2f57600080fd5b50565b600081359050611f4181611f1b565b92915050565b60008060408385031215611f5e57611f5d611dc6565b5b6000611f6c85828601611f32565b9250506020611f7d85828601611dec565b9150509250929050565b60008115159050919050565b611f9c81611f87565b82525050565b6000602082019050611fb76000830184611f93565b92915050565b611fc681611dcb565b82525050565b6000602082019050611fe16000830184611fbd565b92915050565b60008060006060848603121561200057611fff611dc6565b5b600061200e86828701611f32565b935050602061201f86828701611f32565b925050604061203086828701611dec565b9150509250925092565b600060ff82169050919050565b6120508161203a565b82525050565b600060208201905061206b6000830184612047565b92915050565b60006020828403121561208757612086611dc6565b5b600061209584828501611f32565b91505092915050565b6120a781611f09565b82525050565b60006020820190506120c2600083018461209e565b92915050565b600080604083850312156120df576120de611dc6565b5b60006120ed85828601611f32565b92505060206120fe85828601611f32565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061213e602083611e39565b915061214982612108565b602082019050919050565b6000602082019050818103600083015261216d81612131565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006121aa601783611e39565b91506121b582612174565b602082019050919050565b600060208201905081810360008301526121d98161219d565b9050919050565b6000815190506121ef81611f1b565b92915050565b60006020828403121561220b5761220a611dc6565b5b6000612219848285016121e0565b91505092915050565b6000604082019050612237600083018561209e565b612244602083018461209e565b9392505050565b6000819050919050565b6000819050919050565b600061227a6122756122708461224b565b612255565b611dcb565b9050919050565b61228a8161225f565b82525050565b600060c0820190506122a5600083018961209e565b6122b26020830188611fbd565b6122bf6040830187612281565b6122cc6060830186612281565b6122d9608083018561209e565b6122e660a0830184611fbd565b979650505050505050565b60008151905061230081611dd5565b92915050565b60008060006060848603121561231f5761231e611dc6565b5b600061232d868287016122f1565b935050602061233e868287016122f1565b925050604061234f868287016122f1565b9150509250925092565b600060408201905061236e600083018561209e565b61237b6020830184611fbd565b9392505050565b61238b81611f87565b811461239657600080fd5b50565b6000815190506123a881612382565b92915050565b6000602082840312156123c4576123c3611dc6565b5b60006123d284828501612399565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612437602483611e39565b9150612442826123db565b604082019050919050565b600060208201905081810360008301526124668161242a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006124c9602283611e39565b91506124d48261246d565b604082019050919050565b600060208201905081810360008301526124f8816124bc565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061255b602583611e39565b9150612566826124ff565b604082019050919050565b6000602082019050818103600083015261258a8161254e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006125ed602383611e39565b91506125f882612591565b604082019050919050565b6000602082019050818103600083015261261c816125e0565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b600061267f602983611e39565b915061268a82612623565b604082019050919050565b600060208201905081810360008301526126ae81612672565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006126ef82611dcb565b91506126fa83611dcb565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612733576127326126b5565b5b828202905092915050565b600061274982611dcb565b915061275483611dcb565b925082821015612767576127666126b5565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61280581611f09565b82525050565b600061281783836127fc565b60208301905092915050565b6000602082019050919050565b600061283b826127d0565b61284581856127db565b9350612850836127ec565b8060005b83811015612881578151612868888261280b565b975061287383612823565b925050600181019050612854565b5085935050505092915050565b600060a0820190506128a36000830188611fbd565b6128b06020830187612281565b81810360408301526128c28186612830565b90506128d1606083018561209e565b6128de6080830184611fbd565b9695505050505050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000612944602a83611e39565b915061294f826128e8565b604082019050919050565b6000602082019050818103600083015261297381612937565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006129b482611dcb565b91506129bf83611dcb565b9250826129cf576129ce61297a565b5b828204905092915050565b60006129e582611dcb565b91506129f083611dcb565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612a2557612a246126b5565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612a66601b83611e39565b9150612a7182612a30565b602082019050919050565b60006020820190508181036000830152612a9581612a59565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612af8602183611e39565b9150612b0382612a9c565b604082019050919050565b60006020820190508181036000830152612b2781612aeb565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207d926071a13bd35dc967249cfa1d9d010ef39ebb16dd3af77a855a08e949e00e64736f6c63430008090033
Deployed Bytecode
0x6080604052600436106100f75760003560e01c8063715018a61161008a578063a9059cbb11610059578063a9059cbb14610313578063c9567bf914610350578063dd62ed3e14610367578063f4293890146103a4576100fe565b8063715018a61461027b5780638da5cb5b1461029257806395d89b41146102bd57806399c8d556146102e8576100fe565b806323b872dd116100c657806323b872dd146101bf578063313ce567146101fc57806351bc3c851461022757806370a082311461023e576100fe565b8063053ab1821461010357806306fdde031461012c578063095ea7b31461015757806318160ddd14610194576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b5061012a60048036038101906101259190611e01565b6103bb565b005b34801561013857600080fd5b5061014161045c565b60405161014e9190611ec7565b60405180910390f35b34801561016357600080fd5b5061017e60048036038101906101799190611f47565b610499565b60405161018b9190611fa2565b60405180910390f35b3480156101a057600080fd5b506101a96104b7565b6040516101b69190611fcc565b60405180910390f35b3480156101cb57600080fd5b506101e660048036038101906101e19190611fe7565b6104c1565b6040516101f39190611fa2565b60405180910390f35b34801561020857600080fd5b5061021161059a565b60405161021e9190612056565b60405180910390f35b34801561023357600080fd5b5061023c61059f565b005b34801561024a57600080fd5b5061026560048036038101906102609190612071565b610619565b6040516102729190611fcc565b60405180910390f35b34801561028757600080fd5b50610290610669565b005b34801561029e57600080fd5b506102a76107c1565b6040516102b491906120ad565b60405180910390f35b3480156102c957600080fd5b506102d26107eb565b6040516102df9190611ec7565b60405180910390f35b3480156102f457600080fd5b506102fd610828565b60405161030a9190611fcc565b60405180910390f35b34801561031f57600080fd5b5061033a60048036038101906103359190611f47565b610832565b6040516103479190611fa2565b60405180910390f35b34801561035c57600080fd5b50610365610850565b005b34801561037357600080fd5b5061038e600480360381019061038991906120c8565b610d66565b60405161039b9190611fcc565b60405180910390f35b3480156103b057600080fd5b506103b9610ded565b005b6103c3610e5f565b73ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610452576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161044990612154565b60405180910390fd5b8060058190555050565b60606040518060400160405280600a81526020017f47656e6761724261627900000000000000000000000000000000000000000000815250905090565b60006104ad6104a6610e5f565b8484610e67565b6001905092915050565b6000600254905090565b60006104ce848484611032565b61058f846104da610e5f565b61058a85604051806060016040528060288152602001612b2f60289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610540610e5f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113699092919063ffffffff16565b610e67565b600190509392505050565b600090565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166105e0610e5f565b73ffffffffffffffffffffffffffffffffffffffff161461060057600080fd5b600061060b30610619565b9050610616816113cd565b50565b60006106626000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611655565b9050919050565b610671610e5f565b73ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610700576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f790612154565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f47454e4741520000000000000000000000000000000000000000000000000000815250905090565b6000600654905090565b600061084661083f610e5f565b8484611032565b6001905092915050565b610858610e5f565b73ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108de90612154565b60405180910390fd5b600960149054906101000a900460ff1615610937576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092e906121c0565b60405180910390fd5b61096630600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600254610e67565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156109ce57600080fd5b505afa1580156109e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0691906121f5565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610a8a57600080fd5b505afa158015610a9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac291906121f5565b6040518363ffffffff1660e01b8152600401610adf929190612222565b602060405180830381600087803b158015610af957600080fd5b505af1158015610b0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b3191906121f5565b600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610bba30610619565b600080610bc56107c1565b426040518863ffffffff1660e01b8152600401610be796959493929190612290565b6060604051808303818588803b158015610c0057600080fd5b505af1158015610c14573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610c399190612306565b5050506001600960166101000a81548160ff0219169083151502179055506001600960146101000a81548160ff021916908315150217905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610d11929190612359565b602060405180830381600087803b158015610d2b57600080fd5b505af1158015610d3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d6391906123ae565b50565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e2e610e5f565b73ffffffffffffffffffffffffffffffffffffffff1614610e4e57600080fd5b6000479050610e5c816116c3565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ed7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ece9061244d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3e906124df565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110259190611fcc565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109990612571565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611112576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110990612603565b60405180910390fd5b60008111611155576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114c90612695565b60405180910390fd5b60055481600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156112045750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b61120f576000611212565b60015b60ff1661121f91906126e4565b111561122a57600080fd5b6112326107c1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156112a057506112706107c1565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561135957600960159054906101000a900460ff161580156113105750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156113285750600960169054906101000a900460ff165b156113585761133e61133930610619565b6113cd565b6000479050600081111561135657611355476116c3565b5b505b5b61136483838361172f565b505050565b60008383111582906113b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a89190611ec7565b60405180910390fd5b50600083856113c0919061273e565b9050809150509392505050565b6001600960156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561140557611404612772565b5b6040519080825280602002602001820160405280156114335781602001602082028036833780820191505090505b509050308160008151811061144b5761144a6127a1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156114ed57600080fd5b505afa158015611501573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061152591906121f5565b81600181518110611539576115386127a1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506115a030600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610e67565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161160495949392919061288e565b600060405180830381600087803b15801561161e57600080fd5b505af1158015611632573d6000803e3d6000fd5b50505050506000600960156101000a81548160ff02191690831515021790555050565b600060035482111561169c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116939061295a565b60405180910390fd5b60006116a661173f565b90506116bb818461176a90919063ffffffff16565b915050919050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561172b573d6000803e3d6000fd5b5050565b61173a8383836117b4565b505050565b600080600061174c61197b565b91509150611763818361176a90919063ffffffff16565b9250505090565b60006117ac83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506119c8565b905092915050565b6000806000806000806117c687611a2b565b955095509550955095509550611823866000808c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a9090919063ffffffff16565b6000808b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118b6856000808b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ada90919063ffffffff16565b6000808a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061190181611b38565b61190b8483611bf3565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516119689190611fcc565b60405180910390a3505050505050505050565b60008060006003549050600060025490506119a360025460035461176a90919063ffffffff16565b8210156119bb576003546002549350935050506119c4565b81819350935050505b9091565b60008083118290611a0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a069190611ec7565b60405180910390fd5b5060008385611a1e91906129a9565b9050809150509392505050565b6000806000806000806000806000611a458a600654611c2d565b9250925092506000611a5561173f565b90506000806000611a688e878787611cc2565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611ad283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611369565b905092915050565b6000808284611ae991906129da565b905083811015611b2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2590612a7c565b60405180910390fd5b8091505092915050565b6000611b4261173f565b90506000611b598284611d4b90919063ffffffff16565b9050611bac816000803073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ada90919063ffffffff16565b6000803073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611c0882600354611a9090919063ffffffff16565b600381905550611c2381600454611ada90919063ffffffff16565b6004819055505050565b600080600080611c5a6064611c4c600289611d4b90919063ffffffff16565b61176a90919063ffffffff16565b90506000611c846064611c76888a611d4b90919063ffffffff16565b61176a90919063ffffffff16565b90506000611cad82611c9f858b611a9090919063ffffffff16565b611a9090919063ffffffff16565b90508083839550955095505050509250925092565b600080600080611cdb8589611d4b90919063ffffffff16565b90506000611cf28689611d4b90919063ffffffff16565b90506000611d098789611d4b90919063ffffffff16565b90506000611d3282611d248587611a9090919063ffffffff16565b611a9090919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611d5e5760009050611dc0565b60008284611d6c91906126e4565b9050828482611d7b91906129a9565b14611dbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611db290612b0e565b60405180910390fd5b809150505b92915050565b600080fd5b6000819050919050565b611dde81611dcb565b8114611de957600080fd5b50565b600081359050611dfb81611dd5565b92915050565b600060208284031215611e1757611e16611dc6565b5b6000611e2584828501611dec565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611e68578082015181840152602081019050611e4d565b83811115611e77576000848401525b50505050565b6000601f19601f8301169050919050565b6000611e9982611e2e565b611ea38185611e39565b9350611eb3818560208601611e4a565b611ebc81611e7d565b840191505092915050565b60006020820190508181036000830152611ee18184611e8e565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611f1482611ee9565b9050919050565b611f2481611f09565b8114611f2f57600080fd5b50565b600081359050611f4181611f1b565b92915050565b60008060408385031215611f5e57611f5d611dc6565b5b6000611f6c85828601611f32565b9250506020611f7d85828601611dec565b9150509250929050565b60008115159050919050565b611f9c81611f87565b82525050565b6000602082019050611fb76000830184611f93565b92915050565b611fc681611dcb565b82525050565b6000602082019050611fe16000830184611fbd565b92915050565b60008060006060848603121561200057611fff611dc6565b5b600061200e86828701611f32565b935050602061201f86828701611f32565b925050604061203086828701611dec565b9150509250925092565b600060ff82169050919050565b6120508161203a565b82525050565b600060208201905061206b6000830184612047565b92915050565b60006020828403121561208757612086611dc6565b5b600061209584828501611f32565b91505092915050565b6120a781611f09565b82525050565b60006020820190506120c2600083018461209e565b92915050565b600080604083850312156120df576120de611dc6565b5b60006120ed85828601611f32565b92505060206120fe85828601611f32565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061213e602083611e39565b915061214982612108565b602082019050919050565b6000602082019050818103600083015261216d81612131565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006121aa601783611e39565b91506121b582612174565b602082019050919050565b600060208201905081810360008301526121d98161219d565b9050919050565b6000815190506121ef81611f1b565b92915050565b60006020828403121561220b5761220a611dc6565b5b6000612219848285016121e0565b91505092915050565b6000604082019050612237600083018561209e565b612244602083018461209e565b9392505050565b6000819050919050565b6000819050919050565b600061227a6122756122708461224b565b612255565b611dcb565b9050919050565b61228a8161225f565b82525050565b600060c0820190506122a5600083018961209e565b6122b26020830188611fbd565b6122bf6040830187612281565b6122cc6060830186612281565b6122d9608083018561209e565b6122e660a0830184611fbd565b979650505050505050565b60008151905061230081611dd5565b92915050565b60008060006060848603121561231f5761231e611dc6565b5b600061232d868287016122f1565b935050602061233e868287016122f1565b925050604061234f868287016122f1565b9150509250925092565b600060408201905061236e600083018561209e565b61237b6020830184611fbd565b9392505050565b61238b81611f87565b811461239657600080fd5b50565b6000815190506123a881612382565b92915050565b6000602082840312156123c4576123c3611dc6565b5b60006123d284828501612399565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612437602483611e39565b9150612442826123db565b604082019050919050565b600060208201905081810360008301526124668161242a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006124c9602283611e39565b91506124d48261246d565b604082019050919050565b600060208201905081810360008301526124f8816124bc565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061255b602583611e39565b9150612566826124ff565b604082019050919050565b6000602082019050818103600083015261258a8161254e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006125ed602383611e39565b91506125f882612591565b604082019050919050565b6000602082019050818103600083015261261c816125e0565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b600061267f602983611e39565b915061268a82612623565b604082019050919050565b600060208201905081810360008301526126ae81612672565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006126ef82611dcb565b91506126fa83611dcb565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612733576127326126b5565b5b828202905092915050565b600061274982611dcb565b915061275483611dcb565b925082821015612767576127666126b5565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61280581611f09565b82525050565b600061281783836127fc565b60208301905092915050565b6000602082019050919050565b600061283b826127d0565b61284581856127db565b9350612850836127ec565b8060005b83811015612881578151612868888261280b565b975061287383612823565b925050600181019050612854565b5085935050505092915050565b600060a0820190506128a36000830188611fbd565b6128b06020830187612281565b81810360408301526128c28186612830565b90506128d1606083018561209e565b6128de6080830184611fbd565b9695505050505050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000612944602a83611e39565b915061294f826128e8565b604082019050919050565b6000602082019050818103600083015261297381612937565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006129b482611dcb565b91506129bf83611dcb565b9250826129cf576129ce61297a565b5b828204905092915050565b60006129e582611dcb565b91506129f083611dcb565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612a2557612a246126b5565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612a66601b83611e39565b9150612a7182612a30565b602082019050919050565b60006020820190508181036000830152612a9581612a59565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612af8602183611e39565b9150612b0382612a9c565b604082019050919050565b60006020820190508181036000830152612b2781612aeb565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207d926071a13bd35dc967249cfa1d9d010ef39ebb16dd3af77a855a08e949e00e64736f6c63430008090033
Deployed Bytecode Sourcemap
2676:7988:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8674:66;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3844:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5102:146;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4085:86;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5253:292;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4006:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8779:170;;;;;;;;;;;;;:::i;:::-;;4176:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4966:131;;;;;;;;;;;;;:::i;:::-;;4782:70;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3923:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4467:65;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4310:152;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7252:488;;;;;;;;;;;;;:::i;:::-;;4537:132;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8954:169;;;;;;;;;;;;;:::i;:::-;;8674:66;4901:12;:10;:12::i;:::-;4891:22;;:7;;;;;;;;;;;:22;;;4883:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8734:1:::1;8723:10;:12;;;;8674:66:::0;:::o;3844:74::-;3881:13;3190:10;;;;;;;;;;;;;;;;;3901:12;;3844:74;:::o;5102:146::-;5177:4;5188:39;5197:12;:10;:12::i;:::-;5211:7;5220:6;5188:8;:39::i;:::-;5239:4;5232:11;;5102:146;;;;:::o;4085:86::-;4138:7;4159;;4152:14;;4085:86;:::o;5253:292::-;5351:4;5362:36;5372:6;5380:9;5391:6;5362:9;:36::i;:::-;5403:121;5412:6;5420:12;:10;:12::i;:::-;5434:89;5472:6;5434:89;;;;;;;;;;;;;;;;;:11;:19;5446:6;5434:19;;;;;;;;;;;;;;;:33;5454:12;:10;:12::i;:::-;5434:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;5403:8;:121::i;:::-;5536:4;5529:11;;5253:292;;;;;:::o;4006:74::-;4047:5;4006:74;:::o;8779:170::-;8839:10;;;;;;;;;;;8823:26;;:12;:10;:12::i;:::-;:26;;;8815:35;;;;;;8855:23;8881:24;8899:4;8881:9;:24::i;:::-;8855:50;;8910:34;8928:15;8910:17;:34::i;:::-;8810:139;8779:170::o;4176:129::-;4242:7;4263:37;4283:7;:16;4291:7;4283:16;;;;;;;;;;;;;;;;4263:19;:37::i;:::-;4256:44;;4176:129;;;:::o;4966:131::-;4901:12;:10;:12::i;:::-;4891:22;;:7;;;;;;;;;;;:22;;;4883:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5067:1:::1;5030:40;;5051:6;;;;;;;;;;;5030:40;;;;;;;;;;;;5090:1;5075:6;;:17;;;;;;;;;;;;;;;;;;4966:131::o:0;4782:70::-;4820:7;4841:6;;;;;;;;;;;4834:13;;4782:70;:::o;3923:78::-;3962:13;3238:12;;;;;;;;;;;;;;;;;3982:14;;3923:78;:::o;4467:65::-;4503:7;4523:4;;4516:11;;4467:65;:::o;4310:152::-;4388:4;4399:42;4409:12;:10;:12::i;:::-;4423:9;4434:6;4399:9;:42::i;:::-;4453:4;4446:11;;4310:152;;;;:::o;7252:488::-;4901:12;:10;:12::i;:::-;4891:22;;:7;;;;;;;;;;;:22;;;4883:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7310:11:::1;;;;;;;;;;;7309:12;7301:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;7354:50;7371:4;7386:7;;;;;;;;;;;7396;;7354:8;:50::i;:::-;7435:7;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7417:47;;;7473:4;7480:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7417:78;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7409:5;;:86;;;;;;;;;;;;;;;;;;7500:7;;;;;;;;;;;:23;;;7532:21;7563:4;7570:24;7588:4;7570:9;:24::i;:::-;7596:1;7599::::0;7602:7:::1;:5;:7::i;:::-;7611:15;7500:127;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;7648:4;7634:11;;:18;;;;;;;;;;;;;;;;;;7671:4;7657:11;;:18;;;;;;;;;;;;;;;;;;7687:5;;;;;;;;;;;7680:21;;;7710:7;;;;;;;;;;;7720:14;7680:55;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7252:488::o:0;4537:132::-;4617:7;4638:11;:17;4650:4;4638:17;;;;;;;;;;;;;;;:26;4656:7;4638:26;;;;;;;;;;;;;;;;4631:33;;4537:132;;;;:::o;8954:169::-;9014:10;;;;;;;;;;;8998:26;;:12;:10;:12::i;:::-;:26;;;8990:35;;;;;;9030:26;9059:21;9030:50;;9085:33;9099:18;9085:13;:33::i;:::-;8985:138;8954:169::o;287:89::-;340:7;361:10;354:17;;287:89;:::o;5788:304::-;5890:1;5874:18;;:4;:18;;;;5866:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5965:1;5946:21;;:7;:21;;;;5938:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6040:6;6011:11;:17;6023:4;6011:17;;;;;;;;;;;;;;;:26;6029:7;6011:26;;;;;;;;;;;;;;;:35;;;;6071:7;6056:31;;6065:4;6056:31;;;6080:6;6056:31;;;;;;:::i;:::-;;;;;;;;5788:304;;;:::o;6097:705::-;6195:1;6179:18;;:4;:18;;;;6171:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6266:1;6252:16;;:2;:16;;;;6244:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6330:1;6321:6;:10;6313:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6449:10;;6439:6;6398:5;;;;;;;;;;;6392:11;;:2;:11;;;:39;;;;;6423:7;;;;;;;;;;;6407:24;;:4;:24;;;;6392:39;6391:46;;6436:1;6391:46;;;6434:1;6391:46;6390:55;;;;;;:::i;:::-;:69;;6382:78;;;;;;6479:7;:5;:7::i;:::-;6471:15;;:4;:15;;;;:32;;;;;6496:7;:5;:7::i;:::-;6490:13;;:2;:13;;;;6471:32;6467:294;;;6516:6;;;;;;;;;;;6515:7;:24;;;;;6534:5;;;;;;;;;;;6526:13;;:4;:13;;;;6515:24;:39;;;;;6543:11;;;;;;;;;;;6515:39;6511:245;;;6563:43;6581:24;6599:4;6581:9;:24::i;:::-;6563:17;:43::i;:::-;6613:26;6642:21;6613:50;;6695:1;6674:18;:22;6670:80;;;6706:36;6720:21;6706:13;:36::i;:::-;6670:80;6556:200;6511:245;6467:294;6765:32;6780:4;6786:2;6790:6;6765:14;:32::i;:::-;6097:705;;;:::o;1352:169::-;1438:7;1465:1;1460;:6;;1468:12;1452:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1486:9;1502:1;1498;:5;;;;:::i;:::-;1486:17;;1515:1;1508:8;;;1352:169;;;;;:::o;6807:351::-;3581:4;3572:6;;:13;;;;;;;;;;;;;;;;;;6880:21:::1;6918:1;6904:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6880:40;;6943:4;6925;6930:1;6925:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;6963:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6953:4;6958:1;6953:7;;;;;;;;:::i;:::-;;;;;;;:24;;;;;;;;;::::0;::::1;6982:54;6999:4;7014:7;;;;;;;;;;;7024:11;6982:8;:54::i;:::-;7041:7;;;;;;;;;;;:58;;;7100:11;7113:1;7116:4;7130;7137:15;7041:112;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;6875:283;3605:5:::0;3596:6;;:14;;;;;;;;;;;;;;;;;;6807:351;:::o;5550:233::-;5618:7;5651;;5640;:18;;5632:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;5710:19;5732:10;:8;:10::i;:::-;5710:32;;5754:24;5766:11;5754:7;:11;;:24;;;;:::i;:::-;5747:31;;;5550:233;;;:::o;7163:84::-;7215:10;;;;;;;;;;;:19;;:27;7235:6;7215:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7163:84;:::o;7745:137::-;7833:44;7851:6;7859:9;7870:6;7833:17;:44::i;:::-;7745:137;;;:::o;10277:149::-;10319:7;10334:15;10351;10370:19;:17;:19::i;:::-;10333:56;;;;10401:20;10413:7;10401;:11;;:20;;;;:::i;:::-;10394:27;;;;10277:149;:::o;1735:123::-;1793:7;1814:39;1818:1;1821;1814:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1807:46;;1735:123;;;;:::o;7889:448::-;7982:15;7999:23;8024:12;8038:23;8063:12;8077:13;8094:19;8105:7;8094:10;:19::i;:::-;7981:132;;;;;;;;;;;;8136:28;8156:7;8136;:15;8144:6;8136:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;8118:7;:15;8126:6;8118:15;;;;;;;;;;;;;;;:46;;;;8190:39;8213:15;8190:7;:18;8198:9;8190:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;8169:7;:18;8177:9;8169:18;;;;;;;;;;;;;;;:60;;;;8234:16;8244:5;8234:9;:16::i;:::-;8255:23;8267:4;8273;8255:11;:23::i;:::-;8305:9;8288:44;;8297:6;8288:44;;;8316:15;8288:44;;;;;;:::i;:::-;;;;;;;;7976:361;;;;;;7889:448;;;:::o;10431:230::-;10482:7;10491;10505:15;10523:7;;10505:25;;10535:15;10553:7;;10535:25;;10579:20;10591:7;;10579;;:11;;:20;;;;:::i;:::-;10569:7;:30;10565:61;;;10609:7;;10618;;10601:25;;;;;;;;10565:61;10639:7;10648;10631:25;;;;;;10431:230;;;:::o;1863:168::-;1949:7;1975:1;1971;:5;1978:12;1963:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1996:9;2012:1;2008;:5;;;;:::i;:::-;1996:17;;2025:1;2018:8;;;1863:168;;;;;:::o;9128:442::-;9187:7;9196;9205;9214;9223;9232;9247:23;9272:12;9286:13;9303:34;9323:7;9332:4;;9303:19;:34::i;:::-;9246:91;;;;;;9342:19;9364:10;:8;:10::i;:::-;9342:32;;9380:15;9397:23;9422:12;9438:53;9457:7;9466:4;9472:5;9479:11;9438:18;:53::i;:::-;9379:112;;;;;;9504:7;9513:15;9530:4;9536:15;9553:4;9559:5;9496:69;;;;;;;;;;;;;;;;;;;9128:442;;;;;;;:::o;1220:127::-;1278:7;1299:43;1303:1;1306;1299:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1292:50;;1220:127;;;;:::o;1057:158::-;1115:7;1129:9;1145:1;1141;:5;;;;:::i;:::-;1129:17;;1164:1;1159;:6;;1151:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1209:1;1202:8;;;1057:158;;;;:::o;8342:190::-;8389:19;8411:10;:8;:10::i;:::-;8389:32;;8426:13;8442:22;8452:11;8442:5;:9;;:22;;;;:::i;:::-;8426:38;;8494:33;8521:5;8494:7;:22;8510:4;8494:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;8469:7;:22;8485:4;8469:22;;;;;;;;;;;;;;;:58;;;;8384:148;;8342:190;:::o;8537:132::-;8609:17;8621:4;8609:7;;:11;;:17;;;;:::i;:::-;8599:7;:27;;;;8644:20;8659:4;8644:10;;:14;;:20;;;;:::i;:::-;8631:10;:33;;;;8537:132;;:::o;9575:309::-;9659:7;9668;9677;9691:12;9706:23;9725:3;9706:14;9718:1;9706:7;:11;;:14;;;;:::i;:::-;:18;;:23;;;;:::i;:::-;9691:38;;9734:13;9750:28;9774:3;9750:19;9762:6;9750:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;9734:44;;9783:23;9809:28;9831:5;9809:17;9821:4;9809:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;9783:54;;9850:15;9867:4;9873:5;9842:37;;;;;;;;;9575:309;;;;;:::o;9889:383::-;10006:7;10015;10024;10038:15;10056:24;10068:11;10056:7;:11;;:24;;;;:::i;:::-;10038:42;;10085:12;10100:21;10109:11;10100:4;:8;;:21;;;;:::i;:::-;10085:36;;10126:13;10142:22;10152:11;10142:5;:9;;:22;;;;:::i;:::-;10126:38;;10169:23;10195:28;10217:5;10195:17;10207:4;10195:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;10169:54;;10236:7;10245:15;10262:4;10228:39;;;;;;;;;;9889:383;;;;;;;;:::o;1526:204::-;1584:7;1607:1;1602;:6;1598:32;;;1623:1;1616:8;;;;1598:32;1634:9;1650:1;1646;:5;;;;:::i;:::-;1634:17;;1673:1;1668;1664;:5;;;;:::i;:::-;:10;1656:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1724:1;1717:8;;;1526:204;;;;;:::o;88:117:1:-;197:1;194;187:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:329::-;749:6;798:2;786:9;777:7;773:23;769:32;766:119;;;804:79;;:::i;:::-;766:119;924:1;949:53;994:7;985:6;974:9;970:22;949:53;:::i;:::-;939:63;;895:117;690:329;;;;:::o;1025:99::-;1077:6;1111:5;1105:12;1095:22;;1025:99;;;:::o;1130:169::-;1214:11;1248:6;1243:3;1236:19;1288:4;1283:3;1279:14;1264:29;;1130:169;;;;:::o;1305:307::-;1373:1;1383:113;1397:6;1394:1;1391:13;1383:113;;;1482:1;1477:3;1473:11;1467:18;1463:1;1458:3;1454:11;1447:39;1419:2;1416:1;1412:10;1407:15;;1383:113;;;1514:6;1511:1;1508:13;1505:101;;;1594:1;1585:6;1580:3;1576:16;1569:27;1505:101;1354:258;1305:307;;;:::o;1618:102::-;1659:6;1710:2;1706:7;1701:2;1694:5;1690:14;1686:28;1676:38;;1618:102;;;:::o;1726:364::-;1814:3;1842:39;1875:5;1842:39;:::i;:::-;1897:71;1961:6;1956:3;1897:71;:::i;:::-;1890:78;;1977:52;2022:6;2017:3;2010:4;2003:5;1999:16;1977:52;:::i;:::-;2054:29;2076:6;2054:29;:::i;:::-;2049:3;2045:39;2038:46;;1818:272;1726:364;;;;:::o;2096:313::-;2209:4;2247:2;2236:9;2232:18;2224:26;;2296:9;2290:4;2286:20;2282:1;2271:9;2267:17;2260:47;2324:78;2397:4;2388:6;2324:78;:::i;:::-;2316:86;;2096:313;;;;:::o;2415:126::-;2452:7;2492:42;2485:5;2481:54;2470:65;;2415:126;;;:::o;2547:96::-;2584:7;2613:24;2631:5;2613:24;:::i;:::-;2602:35;;2547:96;;;:::o;2649:122::-;2722:24;2740:5;2722:24;:::i;:::-;2715:5;2712:35;2702:63;;2761:1;2758;2751:12;2702:63;2649:122;:::o;2777:139::-;2823:5;2861:6;2848:20;2839:29;;2877:33;2904:5;2877:33;:::i;:::-;2777:139;;;;:::o;2922:474::-;2990:6;2998;3047:2;3035:9;3026:7;3022:23;3018:32;3015:119;;;3053:79;;:::i;:::-;3015:119;3173:1;3198:53;3243:7;3234:6;3223:9;3219:22;3198:53;:::i;:::-;3188:63;;3144:117;3300:2;3326:53;3371:7;3362:6;3351:9;3347:22;3326:53;:::i;:::-;3316:63;;3271:118;2922:474;;;;;:::o;3402:90::-;3436:7;3479:5;3472:13;3465:21;3454:32;;3402:90;;;:::o;3498:109::-;3579:21;3594:5;3579:21;:::i;:::-;3574:3;3567:34;3498:109;;:::o;3613:210::-;3700:4;3738:2;3727:9;3723:18;3715:26;;3751:65;3813:1;3802:9;3798:17;3789:6;3751:65;:::i;:::-;3613:210;;;;:::o;3829:118::-;3916:24;3934:5;3916:24;:::i;:::-;3911:3;3904:37;3829:118;;:::o;3953:222::-;4046:4;4084:2;4073:9;4069:18;4061:26;;4097:71;4165:1;4154:9;4150:17;4141:6;4097:71;:::i;:::-;3953:222;;;;:::o;4181:619::-;4258:6;4266;4274;4323:2;4311:9;4302:7;4298:23;4294:32;4291:119;;;4329:79;;:::i;:::-;4291:119;4449:1;4474:53;4519:7;4510:6;4499:9;4495:22;4474:53;:::i;:::-;4464:63;;4420:117;4576:2;4602:53;4647:7;4638:6;4627:9;4623:22;4602:53;:::i;:::-;4592:63;;4547:118;4704:2;4730:53;4775:7;4766:6;4755:9;4751:22;4730:53;:::i;:::-;4720:63;;4675:118;4181:619;;;;;:::o;4806:86::-;4841:7;4881:4;4874:5;4870:16;4859:27;;4806:86;;;:::o;4898:112::-;4981:22;4997:5;4981:22;:::i;:::-;4976:3;4969:35;4898:112;;:::o;5016:214::-;5105:4;5143:2;5132:9;5128:18;5120:26;;5156:67;5220:1;5209:9;5205:17;5196:6;5156:67;:::i;:::-;5016:214;;;;:::o;5236:329::-;5295:6;5344:2;5332:9;5323:7;5319:23;5315:32;5312:119;;;5350:79;;:::i;:::-;5312:119;5470:1;5495:53;5540:7;5531:6;5520:9;5516:22;5495:53;:::i;:::-;5485:63;;5441:117;5236:329;;;;:::o;5571:118::-;5658:24;5676:5;5658:24;:::i;:::-;5653:3;5646:37;5571:118;;:::o;5695:222::-;5788:4;5826:2;5815:9;5811:18;5803:26;;5839:71;5907:1;5896:9;5892:17;5883:6;5839:71;:::i;:::-;5695:222;;;;:::o;5923:474::-;5991:6;5999;6048:2;6036:9;6027:7;6023:23;6019:32;6016:119;;;6054:79;;:::i;:::-;6016:119;6174:1;6199:53;6244:7;6235:6;6224:9;6220:22;6199:53;:::i;:::-;6189:63;;6145:117;6301:2;6327:53;6372:7;6363:6;6352:9;6348:22;6327:53;:::i;:::-;6317:63;;6272:118;5923:474;;;;;:::o;6403:182::-;6543:34;6539:1;6531:6;6527:14;6520:58;6403:182;:::o;6591:366::-;6733:3;6754:67;6818:2;6813:3;6754:67;:::i;:::-;6747:74;;6830:93;6919:3;6830:93;:::i;:::-;6948:2;6943:3;6939:12;6932:19;;6591:366;;;:::o;6963:419::-;7129:4;7167:2;7156:9;7152:18;7144:26;;7216:9;7210:4;7206:20;7202:1;7191:9;7187:17;7180:47;7244:131;7370:4;7244:131;:::i;:::-;7236:139;;6963:419;;;:::o;7388:173::-;7528:25;7524:1;7516:6;7512:14;7505:49;7388:173;:::o;7567:366::-;7709:3;7730:67;7794:2;7789:3;7730:67;:::i;:::-;7723:74;;7806:93;7895:3;7806:93;:::i;:::-;7924:2;7919:3;7915:12;7908:19;;7567:366;;;:::o;7939:419::-;8105:4;8143:2;8132:9;8128:18;8120:26;;8192:9;8186:4;8182:20;8178:1;8167:9;8163:17;8156:47;8220:131;8346:4;8220:131;:::i;:::-;8212:139;;7939:419;;;:::o;8364:143::-;8421:5;8452:6;8446:13;8437:22;;8468:33;8495:5;8468:33;:::i;:::-;8364:143;;;;:::o;8513:351::-;8583:6;8632:2;8620:9;8611:7;8607:23;8603:32;8600:119;;;8638:79;;:::i;:::-;8600:119;8758:1;8783:64;8839:7;8830:6;8819:9;8815:22;8783:64;:::i;:::-;8773:74;;8729:128;8513:351;;;;:::o;8870:332::-;8991:4;9029:2;9018:9;9014:18;9006:26;;9042:71;9110:1;9099:9;9095:17;9086:6;9042:71;:::i;:::-;9123:72;9191:2;9180:9;9176:18;9167:6;9123:72;:::i;:::-;8870:332;;;;;:::o;9208:85::-;9253:7;9282:5;9271:16;;9208:85;;;:::o;9299:60::-;9327:3;9348:5;9341:12;;9299:60;;;:::o;9365:158::-;9423:9;9456:61;9474:42;9483:32;9509:5;9483:32;:::i;:::-;9474:42;:::i;:::-;9456:61;:::i;:::-;9443:74;;9365:158;;;:::o;9529:147::-;9624:45;9663:5;9624:45;:::i;:::-;9619:3;9612:58;9529:147;;:::o;9682:807::-;9931:4;9969:3;9958:9;9954:19;9946:27;;9983:71;10051:1;10040:9;10036:17;10027:6;9983:71;:::i;:::-;10064:72;10132:2;10121:9;10117:18;10108:6;10064:72;:::i;:::-;10146:80;10222:2;10211:9;10207:18;10198:6;10146:80;:::i;:::-;10236;10312:2;10301:9;10297:18;10288:6;10236:80;:::i;:::-;10326:73;10394:3;10383:9;10379:19;10370:6;10326:73;:::i;:::-;10409;10477:3;10466:9;10462:19;10453:6;10409:73;:::i;:::-;9682:807;;;;;;;;;:::o;10495:143::-;10552:5;10583:6;10577:13;10568:22;;10599:33;10626:5;10599:33;:::i;:::-;10495:143;;;;:::o;10644:663::-;10732:6;10740;10748;10797:2;10785:9;10776:7;10772:23;10768:32;10765:119;;;10803:79;;:::i;:::-;10765:119;10923:1;10948:64;11004:7;10995:6;10984:9;10980:22;10948:64;:::i;:::-;10938:74;;10894:128;11061:2;11087:64;11143:7;11134:6;11123:9;11119:22;11087:64;:::i;:::-;11077:74;;11032:129;11200:2;11226:64;11282:7;11273:6;11262:9;11258:22;11226:64;:::i;:::-;11216:74;;11171:129;10644:663;;;;;:::o;11313:332::-;11434:4;11472:2;11461:9;11457:18;11449:26;;11485:71;11553:1;11542:9;11538:17;11529:6;11485:71;:::i;:::-;11566:72;11634:2;11623:9;11619:18;11610:6;11566:72;:::i;:::-;11313:332;;;;;:::o;11651:116::-;11721:21;11736:5;11721:21;:::i;:::-;11714:5;11711:32;11701:60;;11757:1;11754;11747:12;11701:60;11651:116;:::o;11773:137::-;11827:5;11858:6;11852:13;11843:22;;11874:30;11898:5;11874:30;:::i;:::-;11773:137;;;;:::o;11916:345::-;11983:6;12032:2;12020:9;12011:7;12007:23;12003:32;12000:119;;;12038:79;;:::i;:::-;12000:119;12158:1;12183:61;12236:7;12227:6;12216:9;12212:22;12183:61;:::i;:::-;12173:71;;12129:125;11916:345;;;;:::o;12267:223::-;12407:34;12403:1;12395:6;12391:14;12384:58;12476:6;12471:2;12463:6;12459:15;12452:31;12267:223;:::o;12496:366::-;12638:3;12659:67;12723:2;12718:3;12659:67;:::i;:::-;12652:74;;12735:93;12824:3;12735:93;:::i;:::-;12853:2;12848:3;12844:12;12837:19;;12496:366;;;:::o;12868:419::-;13034:4;13072:2;13061:9;13057:18;13049:26;;13121:9;13115:4;13111:20;13107:1;13096:9;13092:17;13085:47;13149:131;13275:4;13149:131;:::i;:::-;13141:139;;12868:419;;;:::o;13293:221::-;13433:34;13429:1;13421:6;13417:14;13410:58;13502:4;13497:2;13489:6;13485:15;13478:29;13293:221;:::o;13520:366::-;13662:3;13683:67;13747:2;13742:3;13683:67;:::i;:::-;13676:74;;13759:93;13848:3;13759:93;:::i;:::-;13877:2;13872:3;13868:12;13861:19;;13520:366;;;:::o;13892:419::-;14058:4;14096:2;14085:9;14081:18;14073:26;;14145:9;14139:4;14135:20;14131:1;14120:9;14116:17;14109:47;14173:131;14299:4;14173:131;:::i;:::-;14165:139;;13892:419;;;:::o;14317:224::-;14457:34;14453:1;14445:6;14441:14;14434:58;14526:7;14521:2;14513:6;14509:15;14502:32;14317:224;:::o;14547:366::-;14689:3;14710:67;14774:2;14769:3;14710:67;:::i;:::-;14703:74;;14786:93;14875:3;14786:93;:::i;:::-;14904:2;14899:3;14895:12;14888:19;;14547:366;;;:::o;14919:419::-;15085:4;15123:2;15112:9;15108:18;15100:26;;15172:9;15166:4;15162:20;15158:1;15147:9;15143:17;15136:47;15200:131;15326:4;15200:131;:::i;:::-;15192:139;;14919:419;;;:::o;15344:222::-;15484:34;15480:1;15472:6;15468:14;15461:58;15553:5;15548:2;15540:6;15536:15;15529:30;15344:222;:::o;15572:366::-;15714:3;15735:67;15799:2;15794:3;15735:67;:::i;:::-;15728:74;;15811:93;15900:3;15811:93;:::i;:::-;15929:2;15924:3;15920:12;15913:19;;15572:366;;;:::o;15944:419::-;16110:4;16148:2;16137:9;16133:18;16125:26;;16197:9;16191:4;16187:20;16183:1;16172:9;16168:17;16161:47;16225:131;16351:4;16225:131;:::i;:::-;16217:139;;15944:419;;;:::o;16369:228::-;16509:34;16505:1;16497:6;16493:14;16486:58;16578:11;16573:2;16565:6;16561:15;16554:36;16369:228;:::o;16603:366::-;16745:3;16766:67;16830:2;16825:3;16766:67;:::i;:::-;16759:74;;16842:93;16931:3;16842:93;:::i;:::-;16960:2;16955:3;16951:12;16944:19;;16603:366;;;:::o;16975:419::-;17141:4;17179:2;17168:9;17164:18;17156:26;;17228:9;17222:4;17218:20;17214:1;17203:9;17199:17;17192:47;17256:131;17382:4;17256:131;:::i;:::-;17248:139;;16975:419;;;:::o;17400:180::-;17448:77;17445:1;17438:88;17545:4;17542:1;17535:15;17569:4;17566:1;17559:15;17586:348;17626:7;17649:20;17667:1;17649:20;:::i;:::-;17644:25;;17683:20;17701:1;17683:20;:::i;:::-;17678:25;;17871:1;17803:66;17799:74;17796:1;17793:81;17788:1;17781:9;17774:17;17770:105;17767:131;;;17878:18;;:::i;:::-;17767:131;17926:1;17923;17919:9;17908:20;;17586:348;;;;:::o;17940:191::-;17980:4;18000:20;18018:1;18000:20;:::i;:::-;17995:25;;18034:20;18052:1;18034:20;:::i;:::-;18029:25;;18073:1;18070;18067:8;18064:34;;;18078:18;;:::i;:::-;18064:34;18123:1;18120;18116:9;18108:17;;17940:191;;;;:::o;18137:180::-;18185:77;18182:1;18175:88;18282:4;18279:1;18272:15;18306:4;18303:1;18296:15;18323:180;18371:77;18368:1;18361:88;18468:4;18465:1;18458:15;18492:4;18489:1;18482:15;18509:114;18576:6;18610:5;18604:12;18594:22;;18509:114;;;:::o;18629:184::-;18728:11;18762:6;18757:3;18750:19;18802:4;18797:3;18793:14;18778:29;;18629:184;;;;:::o;18819:132::-;18886:4;18909:3;18901:11;;18939:4;18934:3;18930:14;18922:22;;18819:132;;;:::o;18957:108::-;19034:24;19052:5;19034:24;:::i;:::-;19029:3;19022:37;18957:108;;:::o;19071:179::-;19140:10;19161:46;19203:3;19195:6;19161:46;:::i;:::-;19239:4;19234:3;19230:14;19216:28;;19071:179;;;;:::o;19256:113::-;19326:4;19358;19353:3;19349:14;19341:22;;19256:113;;;:::o;19405:732::-;19524:3;19553:54;19601:5;19553:54;:::i;:::-;19623:86;19702:6;19697:3;19623:86;:::i;:::-;19616:93;;19733:56;19783:5;19733:56;:::i;:::-;19812:7;19843:1;19828:284;19853:6;19850:1;19847:13;19828:284;;;19929:6;19923:13;19956:63;20015:3;20000:13;19956:63;:::i;:::-;19949:70;;20042:60;20095:6;20042:60;:::i;:::-;20032:70;;19888:224;19875:1;19872;19868:9;19863:14;;19828:284;;;19832:14;20128:3;20121:10;;19529:608;;;19405:732;;;;:::o;20143:831::-;20406:4;20444:3;20433:9;20429:19;20421:27;;20458:71;20526:1;20515:9;20511:17;20502:6;20458:71;:::i;:::-;20539:80;20615:2;20604:9;20600:18;20591:6;20539:80;:::i;:::-;20666:9;20660:4;20656:20;20651:2;20640:9;20636:18;20629:48;20694:108;20797:4;20788:6;20694:108;:::i;:::-;20686:116;;20812:72;20880:2;20869:9;20865:18;20856:6;20812:72;:::i;:::-;20894:73;20962:3;20951:9;20947:19;20938:6;20894:73;:::i;:::-;20143:831;;;;;;;;:::o;20980:229::-;21120:34;21116:1;21108:6;21104:14;21097:58;21189:12;21184:2;21176:6;21172:15;21165:37;20980:229;:::o;21215:366::-;21357:3;21378:67;21442:2;21437:3;21378:67;:::i;:::-;21371:74;;21454:93;21543:3;21454:93;:::i;:::-;21572:2;21567:3;21563:12;21556:19;;21215:366;;;:::o;21587:419::-;21753:4;21791:2;21780:9;21776:18;21768:26;;21840:9;21834:4;21830:20;21826:1;21815:9;21811:17;21804:47;21868:131;21994:4;21868:131;:::i;:::-;21860:139;;21587:419;;;:::o;22012:180::-;22060:77;22057:1;22050:88;22157:4;22154:1;22147:15;22181:4;22178:1;22171:15;22198:185;22238:1;22255:20;22273:1;22255:20;:::i;:::-;22250:25;;22289:20;22307:1;22289:20;:::i;:::-;22284:25;;22328:1;22318:35;;22333:18;;:::i;:::-;22318:35;22375:1;22372;22368:9;22363:14;;22198:185;;;;:::o;22389:305::-;22429:3;22448:20;22466:1;22448:20;:::i;:::-;22443:25;;22482:20;22500:1;22482:20;:::i;:::-;22477:25;;22636:1;22568:66;22564:74;22561:1;22558:81;22555:107;;;22642:18;;:::i;:::-;22555:107;22686:1;22683;22679:9;22672:16;;22389:305;;;;:::o;22700:177::-;22840:29;22836:1;22828:6;22824:14;22817:53;22700:177;:::o;22883:366::-;23025:3;23046:67;23110:2;23105:3;23046:67;:::i;:::-;23039:74;;23122:93;23211:3;23122:93;:::i;:::-;23240:2;23235:3;23231:12;23224:19;;22883:366;;;:::o;23255:419::-;23421:4;23459:2;23448:9;23444:18;23436:26;;23508:9;23502:4;23498:20;23494:1;23483:9;23479:17;23472:47;23536:131;23662:4;23536:131;:::i;:::-;23528:139;;23255:419;;;:::o;23680:220::-;23820:34;23816:1;23808:6;23804:14;23797:58;23889:3;23884:2;23876:6;23872:15;23865:28;23680:220;:::o;23906:366::-;24048:3;24069:67;24133:2;24128:3;24069:67;:::i;:::-;24062:74;;24145:93;24234:3;24145:93;:::i;:::-;24263:2;24258:3;24254:12;24247:19;;23906:366;;;:::o;24278:419::-;24444:4;24482:2;24471:9;24467:18;24459:26;;24531:9;24525:4;24521:20;24517:1;24506:9;24502:17;24495:47;24559:131;24685:4;24559:131;:::i;:::-;24551:139;;24278:419;;;:::o
Swarm Source
ipfs://7d926071a13bd35dc967249cfa1d9d010ef39ebb16dd3af77a855a08e949e00e
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.