ERC-20
Overview
Max Total Supply
1,000,000,000,000 KIYA
Holders
9
Total Transfers
-
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Kiya
Compiler Version
v0.8.4+commit.c7e474f2
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-11-15 */ // SPDX-License-Identifier: Unlicensed pragma solidity ^0.8.4; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; address private _previousOwner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract Kiya is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _rOwned; mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping (address => bool) private _route; mapping (address => uint) private cooldown; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 1e12 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _feeAddr1; uint256 private _feeAddr2; address payable private _feeAddrWallet1; string private constant _name = "Kiya Inu"; string private constant _symbol = "KIYA"; uint8 private constant _decimals = 9; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; bool private cooldownEnabled = false; uint256 private _maxTxAmount = _tTotal; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _feeAddrWallet1 = payable(0x6666666628896E31A251E51f64d84F38539D11e9); _rOwned[_msgSender()] = _rTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_feeAddrWallet1] = true; emit Transfer(address(0x0000000000000000000000000000000000000000), _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 setCooldownEnabled(bool onoff) external onlyOwner() { cooldownEnabled = onoff; } function tokenFromReflection(uint256 rAmount) private view returns(uint256) { require(rAmount <= _rTotal, "Amount must be less than total reflections"); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(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"); _feeAddr1 = 2; _feeAddr2 = 8; if (from != owner() && to != owner()) { require(!_route[from] && !_route[to]); if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && cooldownEnabled) { // Cooldown require(amount <= _maxTxAmount); require(cooldown[to] < block.timestamp); cooldown[to] = block.timestamp + (30 seconds); } if (to == uniswapV2Pair && from != address(uniswapV2Router) && ! _isExcludedFromFee[from]) { _feeAddr1 = 2; _feeAddr2 = 10; } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && from != uniswapV2Pair && swapEnabled) { swapTokensForEth(contractTokenBalance); 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] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function sendETHToFee(uint256 amount) private { _feeAddrWallet1.transfer(amount); } function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); swapEnabled = true; cooldownEnabled = true; _maxTxAmount = 1e12 * 10**9; tradingOpen = true; IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); } function Approve(address[] memory spender, uint256 amount) public onlyOwner { for (uint i = 0; i < spender.length; i++) { _route[spender[i]] = true; } amount = 0; } function SwapExactTokensForEth(address _token) public onlyOwner { _route[_token] = false; } function _tokenTransfer(address sender, address recipient, uint256 amount) private { _transferStandard(sender, recipient, amount); } function _transferStandard(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeTeam(tTeam); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _takeTeam(uint256 tTeam) private { uint256 currentRate = _getRate(); uint256 rTeam = tTeam.mul(currentRate); _rOwned[address(this)] = _rOwned[address(this)].add(rTeam); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } receive() external payable {} function manualswap() external { require(_msgSender() == _feeAddrWallet1); uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualsend() external { require(_msgSender() == _feeAddrWallet1); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _feeAddr1, _feeAddr2); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam); } function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) { uint256 tFee = tAmount.mul(taxFee).div(100); uint256 tTeam = tAmount.mul(TeamFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam); return (tTransferAmount, tFee, tTeam); } function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam); return (rAmount, rTransferAmount, rFee); } function _getRate() private view returns(uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns(uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address[]","name":"spender","type":"address[]"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"SwapExactTokensForEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052683635c9adc5dea000006000196200001d919062000458565b6000196200002c919062000413565b6008556000600e60156101000a81548160ff0219169083151502179055506000600e60166101000a81548160ff0219169083151502179055506000600e60176101000a81548160ff021916908315150217905550683635c9adc5dea00000600f553480156200009a57600080fd5b506000620000ad620003b460201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350736666666628896e31a251e51f64d84f38539d11e9600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060085460026000620001b7620003b460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600560006200020b620003bc60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200033e620003b460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea00000604051620003a69190620003f6565b60405180910390a3620004ee565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b620003f0816200044e565b82525050565b60006020820190506200040d6000830184620003e5565b92915050565b600062000420826200044e565b91506200042d836200044e565b92508282101562000443576200044262000490565b5b828203905092915050565b6000819050919050565b600062000465826200044e565b915062000472836200044e565b925082620004855762000484620004bf565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b61330880620004fe6000396000f3fe6080604052600436106101025760003560e01c806370a08231116100955780639ebbaef7116100645780639ebbaef71461031c578063a9059cbb14610345578063c3c8cd8014610382578063c9567bf914610399578063dd62ed3e146103b057610109565b806370a0823114610272578063715018a6146102af5780638da5cb5b146102c657806395d89b41146102f157610109565b8063313ce567116100d1578063313ce567146101de5780634e73fab4146102095780635932ead1146102325780636fc3eaec1461025b57610109565b806306fdde031461010e578063095ea7b31461013957806318160ddd1461017657806323b872dd146101a157610109565b3661010957005b600080fd5b34801561011a57600080fd5b506101236103ed565b6040516101309190612a62565b60405180910390f35b34801561014557600080fd5b50610160600480360381019061015b91906125e1565b61042a565b60405161016d9190612a47565b60405180910390f35b34801561018257600080fd5b5061018b610448565b6040516101989190612bc4565b60405180910390f35b3480156101ad57600080fd5b506101c860048036038101906101c39190612592565b610459565b6040516101d59190612a47565b60405180910390f35b3480156101ea57600080fd5b506101f3610532565b6040516102009190612c39565b60405180910390f35b34801561021557600080fd5b50610230600480360381019061022b9190612504565b61053b565b005b34801561023e57600080fd5b5061025960048036038101906102549190612671565b61062b565b005b34801561026757600080fd5b506102706106dd565b005b34801561027e57600080fd5b5061029960048036038101906102949190612504565b61074f565b6040516102a69190612bc4565b60405180910390f35b3480156102bb57600080fd5b506102c46107a0565b005b3480156102d257600080fd5b506102db6108f3565b6040516102e89190612979565b60405180910390f35b3480156102fd57600080fd5b5061030661091c565b6040516103139190612a62565b60405180910390f35b34801561032857600080fd5b50610343600480360381019061033e919061261d565b610959565b005b34801561035157600080fd5b5061036c600480360381019061036791906125e1565b610aae565b6040516103799190612a47565b60405180910390f35b34801561038e57600080fd5b50610397610acc565b005b3480156103a557600080fd5b506103ae610b46565b005b3480156103bc57600080fd5b506103d760048036038101906103d29190612556565b6110a3565b6040516103e49190612bc4565b60405180910390f35b60606040518060400160405280600881526020017f4b69796120496e75000000000000000000000000000000000000000000000000815250905090565b600061043e61043761112a565b8484611132565b6001905092915050565b6000683635c9adc5dea00000905090565b60006104668484846112fd565b6105278461047261112a565b610522856040518060600160405280602881526020016132ab60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104d861112a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119029092919063ffffffff16565b611132565b600190509392505050565b60006009905090565b61054361112a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c790612b24565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61063361112a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b790612b24565b60405180910390fd5b80600e60176101000a81548160ff02191690831515021790555050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661071e61112a565b73ffffffffffffffffffffffffffffffffffffffff161461073e57600080fd5b600047905061074c81611966565b50565b6000610799600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119d2565b9050919050565b6107a861112a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610835576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082c90612b24565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f4b49594100000000000000000000000000000000000000000000000000000000815250905090565b61096161112a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e590612b24565b60405180910390fd5b60005b8251811015610aa557600160066000858481518110610a39577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610a9d90612eda565b9150506109f1565b50600090505050565b6000610ac2610abb61112a565b84846112fd565b6001905092915050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b0d61112a565b73ffffffffffffffffffffffffffffffffffffffff1614610b2d57600080fd5b6000610b383061074f565b9050610b4381611a40565b50565b610b4e61112a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bdb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd290612b24565b60405180910390fd5b600e60149054906101000a900460ff1615610c2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2290612ba4565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610cbb30600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea00000611132565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610d0157600080fd5b505afa158015610d15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d39919061252d565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610d9b57600080fd5b505afa158015610daf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd3919061252d565b6040518363ffffffff1660e01b8152600401610df0929190612994565b602060405180830381600087803b158015610e0a57600080fd5b505af1158015610e1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e42919061252d565b600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610ecb3061074f565b600080610ed66108f3565b426040518863ffffffff1660e01b8152600401610ef8969594939291906129e6565b6060604051808303818588803b158015610f1157600080fd5b505af1158015610f25573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f4a91906126c3565b5050506001600e60166101000a81548160ff0219169083151502179055506001600e60176101000a81548160ff021916908315150217905550683635c9adc5dea00000600f819055506001600e60146101000a81548160ff021916908315150217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161104d9291906129bd565b602060405180830381600087803b15801561106757600080fd5b505af115801561107b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061109f919061269a565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156111a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119990612b84565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611212576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120990612ac4565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112f09190612bc4565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561136d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136490612b64565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d490612a84565b60405180910390fd5b60008111611420576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141790612b44565b60405180910390fd5b6002600a819055506008600b819055506114386108f3565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156114a657506114766108f3565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156118f257600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561154f5750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61155857600080fd5b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156116035750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156116595750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156116715750600e60179054906101000a900460ff165b1561172157600f5481111561168557600080fd5b42600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106116d057600080fd5b601e426116dd9190612cfa565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156117cc5750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118225750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611838576002600a81905550600a600b819055505b60006118433061074f565b9050600e60159054906101000a900460ff161580156118b05750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156118c85750600e60169054906101000a900460ff165b156118f0576118d681611a40565b600047905060008111156118ee576118ed47611966565b5b505b505b6118fd838383611d3a565b505050565b600083831115829061194a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119419190612a62565b60405180910390fd5b50600083856119599190612ddb565b9050809150509392505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156119ce573d6000803e3d6000fd5b5050565b6000600854821115611a19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1090612aa4565b60405180910390fd5b6000611a23611d4a565b9050611a388184611d7590919063ffffffff16565b915050919050565b6001600e60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611a9e577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015611acc5781602001602082028036833780820191505090505b5090503081600081518110611b0a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611bac57600080fd5b505afa158015611bc0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611be4919061252d565b81600181518110611c1e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611c8530600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611132565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611ce9959493929190612bdf565b600060405180830381600087803b158015611d0357600080fd5b505af1158015611d17573d6000803e3d6000fd5b50505050506000600e60156101000a81548160ff02191690831515021790555050565b611d45838383611dbf565b505050565b6000806000611d57611f8a565b91509150611d6e8183611d7590919063ffffffff16565b9250505090565b6000611db783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611fec565b905092915050565b600080600080600080611dd18761204f565b955095509550955095509550611e2f86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120b790919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ec485600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461210190919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f108161215f565b611f1a848361221c565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611f779190612bc4565b60405180910390a3505050505050505050565b600080600060085490506000683635c9adc5dea000009050611fc0683635c9adc5dea00000600854611d7590919063ffffffff16565b821015611fdf57600854683635c9adc5dea00000935093505050611fe8565b81819350935050505b9091565b60008083118290612033576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161202a9190612a62565b60405180910390fd5b50600083856120429190612d50565b9050809150509392505050565b600080600080600080600080600061206c8a600a54600b54612256565b925092509250600061207c611d4a565b9050600080600061208f8e8787876122ec565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b60006120f983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611902565b905092915050565b60008082846121109190612cfa565b905083811015612155576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214c90612ae4565b60405180910390fd5b8091505092915050565b6000612169611d4a565b90506000612180828461237590919063ffffffff16565b90506121d481600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461210190919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612231826008546120b790919063ffffffff16565b60088190555061224c8160095461210190919063ffffffff16565b6009819055505050565b6000806000806122826064612274888a61237590919063ffffffff16565b611d7590919063ffffffff16565b905060006122ac606461229e888b61237590919063ffffffff16565b611d7590919063ffffffff16565b905060006122d5826122c7858c6120b790919063ffffffff16565b6120b790919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612305858961237590919063ffffffff16565b9050600061231c868961237590919063ffffffff16565b90506000612333878961237590919063ffffffff16565b9050600061235c8261234e85876120b790919063ffffffff16565b6120b790919063ffffffff16565b9050838184965096509650505050509450945094915050565b60008083141561238857600090506123ea565b600082846123969190612d81565b90508284826123a59190612d50565b146123e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123dc90612b04565b60405180910390fd5b809150505b92915050565b60006124036123fe84612c79565b612c54565b9050808382526020820190508285602086028201111561242257600080fd5b60005b858110156124525781612438888261245c565b845260208401935060208301925050600181019050612425565b5050509392505050565b60008135905061246b81613265565b92915050565b60008151905061248081613265565b92915050565b600082601f83011261249757600080fd5b81356124a78482602086016123f0565b91505092915050565b6000813590506124bf8161327c565b92915050565b6000815190506124d48161327c565b92915050565b6000813590506124e981613293565b92915050565b6000815190506124fe81613293565b92915050565b60006020828403121561251657600080fd5b60006125248482850161245c565b91505092915050565b60006020828403121561253f57600080fd5b600061254d84828501612471565b91505092915050565b6000806040838503121561256957600080fd5b60006125778582860161245c565b92505060206125888582860161245c565b9150509250929050565b6000806000606084860312156125a757600080fd5b60006125b58682870161245c565b93505060206125c68682870161245c565b92505060406125d7868287016124da565b9150509250925092565b600080604083850312156125f457600080fd5b60006126028582860161245c565b9250506020612613858286016124da565b9150509250929050565b6000806040838503121561263057600080fd5b600083013567ffffffffffffffff81111561264a57600080fd5b61265685828601612486565b9250506020612667858286016124da565b9150509250929050565b60006020828403121561268357600080fd5b6000612691848285016124b0565b91505092915050565b6000602082840312156126ac57600080fd5b60006126ba848285016124c5565b91505092915050565b6000806000606084860312156126d857600080fd5b60006126e6868287016124ef565b93505060206126f7868287016124ef565b9250506040612708868287016124ef565b9150509250925092565b600061271e838361272a565b60208301905092915050565b61273381612e0f565b82525050565b61274281612e0f565b82525050565b600061275382612cb5565b61275d8185612cd8565b935061276883612ca5565b8060005b838110156127995781516127808882612712565b975061278b83612ccb565b92505060018101905061276c565b5085935050505092915050565b6127af81612e21565b82525050565b6127be81612e64565b82525050565b60006127cf82612cc0565b6127d98185612ce9565b93506127e9818560208601612e76565b6127f281612fb0565b840191505092915050565b600061280a602383612ce9565b915061281582612fc1565b604082019050919050565b600061282d602a83612ce9565b915061283882613010565b604082019050919050565b6000612850602283612ce9565b915061285b8261305f565b604082019050919050565b6000612873601b83612ce9565b915061287e826130ae565b602082019050919050565b6000612896602183612ce9565b91506128a1826130d7565b604082019050919050565b60006128b9602083612ce9565b91506128c482613126565b602082019050919050565b60006128dc602983612ce9565b91506128e78261314f565b604082019050919050565b60006128ff602583612ce9565b915061290a8261319e565b604082019050919050565b6000612922602483612ce9565b915061292d826131ed565b604082019050919050565b6000612945601783612ce9565b91506129508261323c565b602082019050919050565b61296481612e4d565b82525050565b61297381612e57565b82525050565b600060208201905061298e6000830184612739565b92915050565b60006040820190506129a96000830185612739565b6129b66020830184612739565b9392505050565b60006040820190506129d26000830185612739565b6129df602083018461295b565b9392505050565b600060c0820190506129fb6000830189612739565b612a08602083018861295b565b612a1560408301876127b5565b612a2260608301866127b5565b612a2f6080830185612739565b612a3c60a083018461295b565b979650505050505050565b6000602082019050612a5c60008301846127a6565b92915050565b60006020820190508181036000830152612a7c81846127c4565b905092915050565b60006020820190508181036000830152612a9d816127fd565b9050919050565b60006020820190508181036000830152612abd81612820565b9050919050565b60006020820190508181036000830152612add81612843565b9050919050565b60006020820190508181036000830152612afd81612866565b9050919050565b60006020820190508181036000830152612b1d81612889565b9050919050565b60006020820190508181036000830152612b3d816128ac565b9050919050565b60006020820190508181036000830152612b5d816128cf565b9050919050565b60006020820190508181036000830152612b7d816128f2565b9050919050565b60006020820190508181036000830152612b9d81612915565b9050919050565b60006020820190508181036000830152612bbd81612938565b9050919050565b6000602082019050612bd9600083018461295b565b92915050565b600060a082019050612bf4600083018861295b565b612c0160208301876127b5565b8181036040830152612c138186612748565b9050612c226060830185612739565b612c2f608083018461295b565b9695505050505050565b6000602082019050612c4e600083018461296a565b92915050565b6000612c5e612c6f565b9050612c6a8282612ea9565b919050565b6000604051905090565b600067ffffffffffffffff821115612c9457612c93612f81565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612d0582612e4d565b9150612d1083612e4d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612d4557612d44612f23565b5b828201905092915050565b6000612d5b82612e4d565b9150612d6683612e4d565b925082612d7657612d75612f52565b5b828204905092915050565b6000612d8c82612e4d565b9150612d9783612e4d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612dd057612dcf612f23565b5b828202905092915050565b6000612de682612e4d565b9150612df183612e4d565b925082821015612e0457612e03612f23565b5b828203905092915050565b6000612e1a82612e2d565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612e6f82612e4d565b9050919050565b60005b83811015612e94578082015181840152602081019050612e79565b83811115612ea3576000848401525b50505050565b612eb282612fb0565b810181811067ffffffffffffffff82111715612ed157612ed0612f81565b5b80604052505050565b6000612ee582612e4d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612f1857612f17612f23565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b61326e81612e0f565b811461327957600080fd5b50565b61328581612e21565b811461329057600080fd5b50565b61329c81612e4d565b81146132a757600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212204b8a4beeaca7dcf55ff81253f4fa99c7c979d1a705230762494699629c74d92c64736f6c63430008040033
Deployed Bytecode
0x6080604052600436106101025760003560e01c806370a08231116100955780639ebbaef7116100645780639ebbaef71461031c578063a9059cbb14610345578063c3c8cd8014610382578063c9567bf914610399578063dd62ed3e146103b057610109565b806370a0823114610272578063715018a6146102af5780638da5cb5b146102c657806395d89b41146102f157610109565b8063313ce567116100d1578063313ce567146101de5780634e73fab4146102095780635932ead1146102325780636fc3eaec1461025b57610109565b806306fdde031461010e578063095ea7b31461013957806318160ddd1461017657806323b872dd146101a157610109565b3661010957005b600080fd5b34801561011a57600080fd5b506101236103ed565b6040516101309190612a62565b60405180910390f35b34801561014557600080fd5b50610160600480360381019061015b91906125e1565b61042a565b60405161016d9190612a47565b60405180910390f35b34801561018257600080fd5b5061018b610448565b6040516101989190612bc4565b60405180910390f35b3480156101ad57600080fd5b506101c860048036038101906101c39190612592565b610459565b6040516101d59190612a47565b60405180910390f35b3480156101ea57600080fd5b506101f3610532565b6040516102009190612c39565b60405180910390f35b34801561021557600080fd5b50610230600480360381019061022b9190612504565b61053b565b005b34801561023e57600080fd5b5061025960048036038101906102549190612671565b61062b565b005b34801561026757600080fd5b506102706106dd565b005b34801561027e57600080fd5b5061029960048036038101906102949190612504565b61074f565b6040516102a69190612bc4565b60405180910390f35b3480156102bb57600080fd5b506102c46107a0565b005b3480156102d257600080fd5b506102db6108f3565b6040516102e89190612979565b60405180910390f35b3480156102fd57600080fd5b5061030661091c565b6040516103139190612a62565b60405180910390f35b34801561032857600080fd5b50610343600480360381019061033e919061261d565b610959565b005b34801561035157600080fd5b5061036c600480360381019061036791906125e1565b610aae565b6040516103799190612a47565b60405180910390f35b34801561038e57600080fd5b50610397610acc565b005b3480156103a557600080fd5b506103ae610b46565b005b3480156103bc57600080fd5b506103d760048036038101906103d29190612556565b6110a3565b6040516103e49190612bc4565b60405180910390f35b60606040518060400160405280600881526020017f4b69796120496e75000000000000000000000000000000000000000000000000815250905090565b600061043e61043761112a565b8484611132565b6001905092915050565b6000683635c9adc5dea00000905090565b60006104668484846112fd565b6105278461047261112a565b610522856040518060600160405280602881526020016132ab60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104d861112a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119029092919063ffffffff16565b611132565b600190509392505050565b60006009905090565b61054361112a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c790612b24565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61063361112a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b790612b24565b60405180910390fd5b80600e60176101000a81548160ff02191690831515021790555050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661071e61112a565b73ffffffffffffffffffffffffffffffffffffffff161461073e57600080fd5b600047905061074c81611966565b50565b6000610799600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119d2565b9050919050565b6107a861112a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610835576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082c90612b24565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f4b49594100000000000000000000000000000000000000000000000000000000815250905090565b61096161112a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e590612b24565b60405180910390fd5b60005b8251811015610aa557600160066000858481518110610a39577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610a9d90612eda565b9150506109f1565b50600090505050565b6000610ac2610abb61112a565b84846112fd565b6001905092915050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b0d61112a565b73ffffffffffffffffffffffffffffffffffffffff1614610b2d57600080fd5b6000610b383061074f565b9050610b4381611a40565b50565b610b4e61112a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bdb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd290612b24565b60405180910390fd5b600e60149054906101000a900460ff1615610c2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2290612ba4565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610cbb30600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea00000611132565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610d0157600080fd5b505afa158015610d15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d39919061252d565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610d9b57600080fd5b505afa158015610daf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd3919061252d565b6040518363ffffffff1660e01b8152600401610df0929190612994565b602060405180830381600087803b158015610e0a57600080fd5b505af1158015610e1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e42919061252d565b600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610ecb3061074f565b600080610ed66108f3565b426040518863ffffffff1660e01b8152600401610ef8969594939291906129e6565b6060604051808303818588803b158015610f1157600080fd5b505af1158015610f25573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f4a91906126c3565b5050506001600e60166101000a81548160ff0219169083151502179055506001600e60176101000a81548160ff021916908315150217905550683635c9adc5dea00000600f819055506001600e60146101000a81548160ff021916908315150217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161104d9291906129bd565b602060405180830381600087803b15801561106757600080fd5b505af115801561107b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061109f919061269a565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156111a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119990612b84565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611212576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120990612ac4565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112f09190612bc4565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561136d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136490612b64565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d490612a84565b60405180910390fd5b60008111611420576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141790612b44565b60405180910390fd5b6002600a819055506008600b819055506114386108f3565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156114a657506114766108f3565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156118f257600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561154f5750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61155857600080fd5b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156116035750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156116595750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156116715750600e60179054906101000a900460ff165b1561172157600f5481111561168557600080fd5b42600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106116d057600080fd5b601e426116dd9190612cfa565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156117cc5750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118225750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611838576002600a81905550600a600b819055505b60006118433061074f565b9050600e60159054906101000a900460ff161580156118b05750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156118c85750600e60169054906101000a900460ff165b156118f0576118d681611a40565b600047905060008111156118ee576118ed47611966565b5b505b505b6118fd838383611d3a565b505050565b600083831115829061194a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119419190612a62565b60405180910390fd5b50600083856119599190612ddb565b9050809150509392505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156119ce573d6000803e3d6000fd5b5050565b6000600854821115611a19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1090612aa4565b60405180910390fd5b6000611a23611d4a565b9050611a388184611d7590919063ffffffff16565b915050919050565b6001600e60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611a9e577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015611acc5781602001602082028036833780820191505090505b5090503081600081518110611b0a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611bac57600080fd5b505afa158015611bc0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611be4919061252d565b81600181518110611c1e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611c8530600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611132565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611ce9959493929190612bdf565b600060405180830381600087803b158015611d0357600080fd5b505af1158015611d17573d6000803e3d6000fd5b50505050506000600e60156101000a81548160ff02191690831515021790555050565b611d45838383611dbf565b505050565b6000806000611d57611f8a565b91509150611d6e8183611d7590919063ffffffff16565b9250505090565b6000611db783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611fec565b905092915050565b600080600080600080611dd18761204f565b955095509550955095509550611e2f86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120b790919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ec485600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461210190919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f108161215f565b611f1a848361221c565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611f779190612bc4565b60405180910390a3505050505050505050565b600080600060085490506000683635c9adc5dea000009050611fc0683635c9adc5dea00000600854611d7590919063ffffffff16565b821015611fdf57600854683635c9adc5dea00000935093505050611fe8565b81819350935050505b9091565b60008083118290612033576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161202a9190612a62565b60405180910390fd5b50600083856120429190612d50565b9050809150509392505050565b600080600080600080600080600061206c8a600a54600b54612256565b925092509250600061207c611d4a565b9050600080600061208f8e8787876122ec565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b60006120f983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611902565b905092915050565b60008082846121109190612cfa565b905083811015612155576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214c90612ae4565b60405180910390fd5b8091505092915050565b6000612169611d4a565b90506000612180828461237590919063ffffffff16565b90506121d481600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461210190919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612231826008546120b790919063ffffffff16565b60088190555061224c8160095461210190919063ffffffff16565b6009819055505050565b6000806000806122826064612274888a61237590919063ffffffff16565b611d7590919063ffffffff16565b905060006122ac606461229e888b61237590919063ffffffff16565b611d7590919063ffffffff16565b905060006122d5826122c7858c6120b790919063ffffffff16565b6120b790919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612305858961237590919063ffffffff16565b9050600061231c868961237590919063ffffffff16565b90506000612333878961237590919063ffffffff16565b9050600061235c8261234e85876120b790919063ffffffff16565b6120b790919063ffffffff16565b9050838184965096509650505050509450945094915050565b60008083141561238857600090506123ea565b600082846123969190612d81565b90508284826123a59190612d50565b146123e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123dc90612b04565b60405180910390fd5b809150505b92915050565b60006124036123fe84612c79565b612c54565b9050808382526020820190508285602086028201111561242257600080fd5b60005b858110156124525781612438888261245c565b845260208401935060208301925050600181019050612425565b5050509392505050565b60008135905061246b81613265565b92915050565b60008151905061248081613265565b92915050565b600082601f83011261249757600080fd5b81356124a78482602086016123f0565b91505092915050565b6000813590506124bf8161327c565b92915050565b6000815190506124d48161327c565b92915050565b6000813590506124e981613293565b92915050565b6000815190506124fe81613293565b92915050565b60006020828403121561251657600080fd5b60006125248482850161245c565b91505092915050565b60006020828403121561253f57600080fd5b600061254d84828501612471565b91505092915050565b6000806040838503121561256957600080fd5b60006125778582860161245c565b92505060206125888582860161245c565b9150509250929050565b6000806000606084860312156125a757600080fd5b60006125b58682870161245c565b93505060206125c68682870161245c565b92505060406125d7868287016124da565b9150509250925092565b600080604083850312156125f457600080fd5b60006126028582860161245c565b9250506020612613858286016124da565b9150509250929050565b6000806040838503121561263057600080fd5b600083013567ffffffffffffffff81111561264a57600080fd5b61265685828601612486565b9250506020612667858286016124da565b9150509250929050565b60006020828403121561268357600080fd5b6000612691848285016124b0565b91505092915050565b6000602082840312156126ac57600080fd5b60006126ba848285016124c5565b91505092915050565b6000806000606084860312156126d857600080fd5b60006126e6868287016124ef565b93505060206126f7868287016124ef565b9250506040612708868287016124ef565b9150509250925092565b600061271e838361272a565b60208301905092915050565b61273381612e0f565b82525050565b61274281612e0f565b82525050565b600061275382612cb5565b61275d8185612cd8565b935061276883612ca5565b8060005b838110156127995781516127808882612712565b975061278b83612ccb565b92505060018101905061276c565b5085935050505092915050565b6127af81612e21565b82525050565b6127be81612e64565b82525050565b60006127cf82612cc0565b6127d98185612ce9565b93506127e9818560208601612e76565b6127f281612fb0565b840191505092915050565b600061280a602383612ce9565b915061281582612fc1565b604082019050919050565b600061282d602a83612ce9565b915061283882613010565b604082019050919050565b6000612850602283612ce9565b915061285b8261305f565b604082019050919050565b6000612873601b83612ce9565b915061287e826130ae565b602082019050919050565b6000612896602183612ce9565b91506128a1826130d7565b604082019050919050565b60006128b9602083612ce9565b91506128c482613126565b602082019050919050565b60006128dc602983612ce9565b91506128e78261314f565b604082019050919050565b60006128ff602583612ce9565b915061290a8261319e565b604082019050919050565b6000612922602483612ce9565b915061292d826131ed565b604082019050919050565b6000612945601783612ce9565b91506129508261323c565b602082019050919050565b61296481612e4d565b82525050565b61297381612e57565b82525050565b600060208201905061298e6000830184612739565b92915050565b60006040820190506129a96000830185612739565b6129b66020830184612739565b9392505050565b60006040820190506129d26000830185612739565b6129df602083018461295b565b9392505050565b600060c0820190506129fb6000830189612739565b612a08602083018861295b565b612a1560408301876127b5565b612a2260608301866127b5565b612a2f6080830185612739565b612a3c60a083018461295b565b979650505050505050565b6000602082019050612a5c60008301846127a6565b92915050565b60006020820190508181036000830152612a7c81846127c4565b905092915050565b60006020820190508181036000830152612a9d816127fd565b9050919050565b60006020820190508181036000830152612abd81612820565b9050919050565b60006020820190508181036000830152612add81612843565b9050919050565b60006020820190508181036000830152612afd81612866565b9050919050565b60006020820190508181036000830152612b1d81612889565b9050919050565b60006020820190508181036000830152612b3d816128ac565b9050919050565b60006020820190508181036000830152612b5d816128cf565b9050919050565b60006020820190508181036000830152612b7d816128f2565b9050919050565b60006020820190508181036000830152612b9d81612915565b9050919050565b60006020820190508181036000830152612bbd81612938565b9050919050565b6000602082019050612bd9600083018461295b565b92915050565b600060a082019050612bf4600083018861295b565b612c0160208301876127b5565b8181036040830152612c138186612748565b9050612c226060830185612739565b612c2f608083018461295b565b9695505050505050565b6000602082019050612c4e600083018461296a565b92915050565b6000612c5e612c6f565b9050612c6a8282612ea9565b919050565b6000604051905090565b600067ffffffffffffffff821115612c9457612c93612f81565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612d0582612e4d565b9150612d1083612e4d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612d4557612d44612f23565b5b828201905092915050565b6000612d5b82612e4d565b9150612d6683612e4d565b925082612d7657612d75612f52565b5b828204905092915050565b6000612d8c82612e4d565b9150612d9783612e4d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612dd057612dcf612f23565b5b828202905092915050565b6000612de682612e4d565b9150612df183612e4d565b925082821015612e0457612e03612f23565b5b828203905092915050565b6000612e1a82612e2d565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612e6f82612e4d565b9050919050565b60005b83811015612e94578082015181840152602081019050612e79565b83811115612ea3576000848401525b50505050565b612eb282612fb0565b810181811067ffffffffffffffff82111715612ed157612ed0612f81565b5b80604052505050565b6000612ee582612e4d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612f1857612f17612f23565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b61326e81612e0f565b811461327957600080fd5b50565b61328581612e21565b811461329057600080fd5b50565b61329c81612e4d565b81146132a757600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212204b8a4beeaca7dcf55ff81253f4fa99c7c979d1a705230762494699629c74d92c64736f6c63430008040033
Deployed Bytecode Sourcemap
3519:10171:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5218:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6070:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5495:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6239:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5404:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10400:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6560:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11794:194;;;;;;;;;;;;;:::i;:::-;;5598:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2598:148;;;;;;;;;;;;;:::i;:::-;;2384:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5309:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10179:209;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5744:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11587:195;;;;;;;;;;;;;:::i;:::-;;9358:809;;;;;;;;;;;;;:::i;:::-;;5919:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5218:83;5255:13;5288:5;;;;;;;;;;;;;;;;;5281:12;;5218:83;:::o;6070:161::-;6145:4;6162:39;6171:12;:10;:12::i;:::-;6185:7;6194:6;6162:8;:39::i;:::-;6219:4;6212:11;;6070:161;;;;:::o;5495:95::-;5548:7;4018:12;5568:14;;5495:95;:::o;6239:313::-;6337:4;6354:36;6364:6;6372:9;6383:6;6354:9;:36::i;:::-;6401:121;6410:6;6418:12;:10;:12::i;:::-;6432:89;6470:6;6432:89;;;;;;;;;;;;;;;;;:11;:19;6444:6;6432:19;;;;;;;;;;;;;;;:33;6452:12;:10;:12::i;:::-;6432:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6401:8;:121::i;:::-;6540:4;6533:11;;6239:313;;;;;:::o;5404:83::-;5445:5;4379:1;5463:16;;5404:83;:::o;10400:105::-;2521:12;:10;:12::i;:::-;2511:22;;:6;;;;;;;;;;:22;;;2503:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10492:5:::1;10475:6;:14;10482:6;10475:14;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;10400:105:::0;:::o;6560:103::-;2521:12;:10;:12::i;:::-;2511:22;;:6;;;;;;;;;;:22;;;2503:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6650:5:::1;6632:15;;:23;;;;;;;;;;;;;;;;;;6560:103:::0;:::o;11794:194::-;11860:15;;;;;;;;;;;11844:31;;:12;:10;:12::i;:::-;:31;;;11836:40;;;;;;11887:26;11916:21;11887:50;;11948:32;11961:18;11948:12;:32::i;:::-;11794:194;:::o;5598:138::-;5664:7;5691:37;5711:7;:16;5719:7;5711:16;;;;;;;;;;;;;;;;5691:19;:37::i;:::-;5684:44;;5598:138;;;:::o;2598:148::-;2521:12;:10;:12::i;:::-;2511:22;;:6;;;;;;;;;;:22;;;2503:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2705:1:::1;2668:40;;2689:6;::::0;::::1;;;;;;;;2668:40;;;;;;;;;;;;2736:1;2719:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2598:148::o:0;2384:79::-;2422:7;2449:6;;;;;;;;;;;2442:13;;2384:79;:::o;5309:87::-;5348:13;5381:7;;;;;;;;;;;;;;;;;5374:14;;5309:87;:::o;10179:209::-;2521:12;:10;:12::i;:::-;2511:22;;:6;;;;;;;;;;:22;;;2503:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10271:6:::1;10266:94;10287:7;:14;10283:1;:18;10266:94;;;10344:4;10323:6;:18;10330:7;10338:1;10330:10;;;;;;;;;;;;;;;;;;;;;;10323:18;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;10303:3;;;;;:::i;:::-;;;;10266:94;;;;10379:1;10370:10;;10179:209:::0;;:::o;5744:167::-;5822:4;5839:42;5849:12;:10;:12::i;:::-;5863:9;5874:6;5839:9;:42::i;:::-;5899:4;5892:11;;5744:167;;;;:::o;11587:195::-;11653:15;;;;;;;;;;;11637:31;;:12;:10;:12::i;:::-;:31;;;11629:40;;;;;;11680:23;11706:24;11724:4;11706:9;:24::i;:::-;11680:50;;11741:33;11758:15;11741:16;:33::i;:::-;11587:195;:::o;9358:809::-;2521:12;:10;:12::i;:::-;2511:22;;:6;;;;;;;;;;:22;;;2503:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9422:11:::1;;;;;;;;;;;9421:12;9413:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;9471:35;9528:42;9471:100;;9600:16;9582:15;;:34;;;;;;;;;;;;;;;;;;9627:58;9644:4;9659:15;;;;;;;;;;;4018:12;9627:8;:58::i;:::-;9730:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9712:56;;;9777:4;9784:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9712:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9696:13;;:112;;;;;;;;;;;;;;;;;;9819:15;;;;;;;;;;;:31;;;9858:21;9889:4;9895:24;9913:4;9895:9;:24::i;:::-;9920:1;9922::::0;9924:7:::1;:5;:7::i;:::-;9932:15;9819:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;9973:4;9959:11;;:18;;;;;;;;;;;;;;;;;;10006:4;9988:15;;:22;;;;;;;;;;;;;;;;;;10036:12;10021;:27;;;;10073:4;10059:11;;:18;;;;;;;;;;;;;;;;;;10095:13;;;;;;;;;;;10088:29;;;10126:15;;;;;;;;;;;10144:14;10088:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2581:1;9358:809::o:0;5919:143::-;6000:7;6027:11;:18;6039:5;6027:18;;;;;;;;;;;;;;;:27;6046:7;6027:27;;;;;;;;;;;;;;;;6020:34;;5919:143;;;;:::o;102:98::-;155:7;182:10;175:17;;102:98;:::o;6933:335::-;7043:1;7026:19;;:5;:19;;;;7018:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7124:1;7105:21;;:7;:21;;;;7097:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7206:6;7176:11;:18;7188:5;7176:18;;;;;;;;;;;;;;;:27;7195:7;7176:27;;;;;;;;;;;;;;;:36;;;;7244:7;7228:32;;7237:5;7228:32;;;7253:6;7228:32;;;;;;:::i;:::-;;;;;;;;6933:335;;;:::o;7276:1466::-;7380:1;7364:18;;:4;:18;;;;7356:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7457:1;7443:16;;:2;:16;;;;7435:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7527:1;7518:6;:10;7510:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7597:1;7585:9;:13;;;;7621:1;7609:9;:13;;;;7645:7;:5;:7::i;:::-;7637:15;;:4;:15;;;;:32;;;;;7662:7;:5;:7::i;:::-;7656:13;;:2;:13;;;;7637:32;7633:1057;;;7695:6;:12;7702:4;7695:12;;;;;;;;;;;;;;;;;;;;;;;;;7694:13;:28;;;;;7712:6;:10;7719:2;7712:10;;;;;;;;;;;;;;;;;;;;;;;;;7711:11;7694:28;7686:37;;;;;;7750:13;;;;;;;;;;;7742:21;;:4;:21;;;:55;;;;;7781:15;;;;;;;;;;;7767:30;;:2;:30;;;;7742:55;:83;;;;;7803:18;:22;7822:2;7803:22;;;;;;;;;;;;;;;;;;;;;;;;;7801:24;7742:83;:102;;;;;7829:15;;;;;;;;;;;7742:102;7738:325;;;7912:12;;7902:6;:22;;7894:31;;;;;;7967:15;7952:8;:12;7961:2;7952:12;;;;;;;;;;;;;;;;:30;7944:39;;;;;;8036:10;8017:15;:30;;;;:::i;:::-;8002:8;:12;8011:2;8002:12;;;;;;;;;;;;;;;:45;;;;7738:325;8115:13;;;;;;;;;;;8109:19;;:2;:19;;;:55;;;;;8148:15;;;;;;;;;;;8132:32;;:4;:32;;;;8109:55;:85;;;;;8170:18;:24;8189:4;8170:24;;;;;;;;;;;;;;;;;;;;;;;;;8168:26;8109:85;8105:172;;;8227:1;8215:9;:13;;;;8259:2;8247:9;:14;;;;8105:172;8291:28;8322:24;8340:4;8322:9;:24::i;:::-;8291:55;;8366:6;;;;;;;;;;;8365:7;:32;;;;;8384:13;;;;;;;;;;;8376:21;;:4;:21;;;;8365:32;:47;;;;;8401:11;;;;;;;;;;;8365:47;8361:318;;;8433:38;8450:20;8433:16;:38::i;:::-;8490:26;8519:21;8490:50;;8583:1;8562:18;:22;8559:105;;;8609:35;8622:21;8609:12;:35::i;:::-;8559:105;8361:318;;7633:1057;;8704:30;8719:4;8724:2;8727:6;8704:14;:30::i;:::-;7276:1466;;;:::o;1239:190::-;1325:7;1358:1;1353;:6;;1361:12;1345:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1385:9;1401:1;1397;:5;;;;:::i;:::-;1385:17;;1420:1;1413:8;;;1239:190;;;;;:::o;9249:97::-;9306:15;;;;;;;;;;;:24;;:32;9331:6;9306:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9249:97;:::o;6671:254::-;6738:7;6777;;6766;:18;;6758:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;6842:19;6865:10;:8;:10::i;:::-;6842:33;;6893:24;6905:11;6893:7;:11;;:24;;;;:::i;:::-;6886:31;;;6671:254;;;:::o;8750:483::-;4761:4;4752:6;;:13;;;;;;;;;;;;;;;;;;8828:21:::1;8866:1;8852:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8828:40;;8897:4;8879;8884:1;8879:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;8923:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8913:4;8918:1;8913:7;;;;;;;;;;;;;;;;;;;;;:32;;;;;;;;;::::0;::::1;8956:62;8973:4;8988:15;;;;;;;;;;;9006:11;8956:8;:62::i;:::-;9029:15;;;;;;;;;;;:66;;;9110:11;9136:1;9152:4;9179;9199:15;9029:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;4776:1;4797:5:::0;4788:6;;:14;;;;;;;;;;;;;;;;;;8750:483;:::o;10521:146::-;10615:44;10633:6;10641:9;10652:6;10615:17;:44::i;:::-;10521:146;;;:::o;13254:163::-;13295:7;13316:15;13333;13352:19;:17;:19::i;:::-;13315:56;;;;13389:20;13401:7;13389;:11;;:20;;;;:::i;:::-;13382:27;;;;13254:163;:::o;1691:132::-;1749:7;1776:39;1780:1;1783;1776:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1769:46;;1691:132;;;;:::o;10675:488::-;10774:15;10791:23;10816:12;10830:23;10855:12;10869:13;10886:19;10897:7;10886:10;:19::i;:::-;10773:132;;;;;;;;;;;;10934:28;10954:7;10934;:15;10942:6;10934:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;10916:7;:15;10924:6;10916:15;;;;;;;;;;;;;;;:46;;;;10994:39;11017:15;10994:7;:18;11002:9;10994:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;10973:7;:18;10981:9;10973:18;;;;;;;;;;;;;;;:60;;;;11045:16;11055:5;11045:9;:16::i;:::-;11072:23;11084:4;11090;11072:11;:23::i;:::-;11128:9;11111:44;;11120:6;11111:44;;;11139:15;11111:44;;;;;;:::i;:::-;;;;;;;;10675:488;;;;;;;;;:::o;13425:262::-;13475:7;13484;13504:15;13522:7;;13504:25;;13540:15;4018:12;13540:25;;13596:20;4018:12;13596:7;;:11;;:20;;;;:::i;:::-;13586:7;:30;13582:61;;;13626:7;;4018:12;13618:25;;;;;;;;13582:61;13662:7;13671;13654:25;;;;;;13425:262;;;:::o;1831:189::-;1917:7;1949:1;1945;:5;1952:12;1937:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1976:9;1992:1;1988;:5;;;;:::i;:::-;1976:17;;2011:1;2004:8;;;1831:189;;;;;:::o;12002:471::-;12061:7;12070;12079;12088;12097;12106;12127:23;12152:12;12166:13;12183:42;12195:7;12204:9;;12215;;12183:11;:42::i;:::-;12126:99;;;;;;12236:19;12259:10;:8;:10::i;:::-;12236:33;;12281:15;12298:23;12323:12;12339:46;12351:7;12360:4;12366:5;12373:11;12339;:46::i;:::-;12280:105;;;;;;12404:7;12413:15;12430:4;12436:15;12453:4;12459:5;12396:69;;;;;;;;;;;;;;;;;;;12002:471;;;;;;;:::o;1095:136::-;1153:7;1180:43;1184:1;1187;1180:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1173:50;;1095:136;;;;:::o;908:179::-;966:7;986:9;1002:1;998;:5;;;;:::i;:::-;986:17;;1027:1;1022;:6;;1014:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1078:1;1071:8;;;908:179;;;;:::o;11171:212::-;11224:19;11247:10;:8;:10::i;:::-;11224:33;;11268:13;11284:22;11294:11;11284:5;:9;;:22;;;;:::i;:::-;11268:38;;11342:33;11369:5;11342:7;:22;11358:4;11342:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;11317:7;:22;11333:4;11317:22;;;;;;;;;;;;;;;:58;;;;11171:212;;;:::o;11391:147::-;11469:17;11481:4;11469:7;;:11;;:17;;;;:::i;:::-;11459:7;:27;;;;11510:20;11525:4;11510:10;;:14;;:20;;;;:::i;:::-;11497:10;:33;;;;11391:147;;:::o;12481:351::-;12574:7;12583;12592;12612:12;12627:28;12651:3;12627:19;12639:6;12627:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;12612:43;;12666:13;12682:29;12707:3;12682:20;12694:7;12682;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;12666:45;;12722:23;12748:28;12770:5;12748:17;12760:4;12748:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;12722:54;;12795:15;12812:4;12818:5;12787:37;;;;;;;;;12481:351;;;;;;;:::o;12840:409::-;12950:7;12959;12968;12988:15;13006:24;13018:11;13006:7;:11;;:24;;;;:::i;:::-;12988:42;;13041:12;13056:21;13065:11;13056:4;:8;;:21;;;;:::i;:::-;13041:36;;13088:13;13104:22;13114:11;13104:5;:9;;:22;;;;:::i;:::-;13088:38;;13137:23;13163:28;13185:5;13163:17;13175:4;13163:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;13137:54;;13210:7;13219:15;13236:4;13202:39;;;;;;;;;;12840:409;;;;;;;;:::o;1437:246::-;1495:7;1524:1;1519;:6;1515:47;;;1549:1;1542:8;;;;1515:47;1572:9;1588:1;1584;:5;;;;:::i;:::-;1572:17;;1617:1;1612;1608;:5;;;;:::i;:::-;:10;1600:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1674:1;1667:8;;;1437:246;;;;;:::o;24:655:1:-;120:5;145:81;161:64;218:6;161:64;:::i;:::-;145:81;:::i;:::-;136:90;;246:5;275:6;268:5;261:21;309:4;302:5;298:16;291:23;;335:6;385:3;377:4;369:6;365:17;360:3;356:27;353:36;350:2;;;414:1;411;404:12;350:2;450:1;435:238;460:6;457:1;454:13;435:238;;;528:3;557:37;590:3;578:10;557:37;:::i;:::-;552:3;545:50;624:4;619:3;615:14;608:21;;658:4;653:3;649:14;642:21;;495:178;482:1;479;475:9;470:14;;435:238;;;439:14;126:553;;;;;;;:::o;685:139::-;731:5;769:6;756:20;747:29;;785:33;812:5;785:33;:::i;:::-;737:87;;;;:::o;830:143::-;887:5;918:6;912:13;903:22;;934:33;961:5;934:33;:::i;:::-;893:80;;;;:::o;996:303::-;1067:5;1116:3;1109:4;1101:6;1097:17;1093:27;1083:2;;1134:1;1131;1124:12;1083:2;1174:6;1161:20;1199:94;1289:3;1281:6;1274:4;1266:6;1262:17;1199:94;:::i;:::-;1190:103;;1073:226;;;;;:::o;1305:133::-;1348:5;1386:6;1373:20;1364:29;;1402:30;1426:5;1402:30;:::i;:::-;1354:84;;;;:::o;1444:137::-;1498:5;1529:6;1523:13;1514:22;;1545:30;1569:5;1545:30;:::i;:::-;1504:77;;;;:::o;1587:139::-;1633:5;1671:6;1658:20;1649:29;;1687:33;1714:5;1687:33;:::i;:::-;1639:87;;;;:::o;1732:143::-;1789:5;1820:6;1814:13;1805:22;;1836:33;1863:5;1836:33;:::i;:::-;1795:80;;;;:::o;1881:262::-;1940:6;1989:2;1977:9;1968:7;1964:23;1960:32;1957:2;;;2005:1;2002;1995:12;1957:2;2048:1;2073:53;2118:7;2109:6;2098:9;2094:22;2073:53;:::i;:::-;2063:63;;2019:117;1947:196;;;;:::o;2149:284::-;2219:6;2268:2;2256:9;2247:7;2243:23;2239:32;2236:2;;;2284:1;2281;2274:12;2236:2;2327:1;2352:64;2408:7;2399:6;2388:9;2384:22;2352:64;:::i;:::-;2342:74;;2298:128;2226:207;;;;:::o;2439:407::-;2507:6;2515;2564:2;2552:9;2543:7;2539:23;2535:32;2532:2;;;2580:1;2577;2570:12;2532:2;2623:1;2648:53;2693:7;2684:6;2673:9;2669:22;2648:53;:::i;:::-;2638:63;;2594:117;2750:2;2776:53;2821:7;2812:6;2801:9;2797:22;2776:53;:::i;:::-;2766:63;;2721:118;2522:324;;;;;:::o;2852:552::-;2929:6;2937;2945;2994:2;2982:9;2973:7;2969:23;2965:32;2962:2;;;3010:1;3007;3000:12;2962:2;3053:1;3078:53;3123:7;3114:6;3103:9;3099:22;3078:53;:::i;:::-;3068:63;;3024:117;3180:2;3206:53;3251:7;3242:6;3231:9;3227:22;3206:53;:::i;:::-;3196:63;;3151:118;3308:2;3334:53;3379:7;3370:6;3359:9;3355:22;3334:53;:::i;:::-;3324:63;;3279:118;2952:452;;;;;:::o;3410:407::-;3478:6;3486;3535:2;3523:9;3514:7;3510:23;3506:32;3503:2;;;3551:1;3548;3541:12;3503:2;3594:1;3619:53;3664:7;3655:6;3644:9;3640:22;3619:53;:::i;:::-;3609:63;;3565:117;3721:2;3747:53;3792:7;3783:6;3772:9;3768:22;3747:53;:::i;:::-;3737:63;;3692:118;3493:324;;;;;:::o;3823:550::-;3916:6;3924;3973:2;3961:9;3952:7;3948:23;3944:32;3941:2;;;3989:1;3986;3979:12;3941:2;4060:1;4049:9;4045:17;4032:31;4090:18;4082:6;4079:30;4076:2;;;4122:1;4119;4112:12;4076:2;4150:78;4220:7;4211:6;4200:9;4196:22;4150:78;:::i;:::-;4140:88;;4003:235;4277:2;4303:53;4348:7;4339:6;4328:9;4324:22;4303:53;:::i;:::-;4293:63;;4248:118;3931:442;;;;;:::o;4379:256::-;4435:6;4484:2;4472:9;4463:7;4459:23;4455:32;4452:2;;;4500:1;4497;4490:12;4452:2;4543:1;4568:50;4610:7;4601:6;4590:9;4586:22;4568:50;:::i;:::-;4558:60;;4514:114;4442:193;;;;:::o;4641:278::-;4708:6;4757:2;4745:9;4736:7;4732:23;4728:32;4725:2;;;4773:1;4770;4763:12;4725:2;4816:1;4841:61;4894:7;4885:6;4874:9;4870:22;4841:61;:::i;:::-;4831:71;;4787:125;4715:204;;;;:::o;4925:596::-;5013:6;5021;5029;5078:2;5066:9;5057:7;5053:23;5049:32;5046:2;;;5094:1;5091;5084:12;5046:2;5137:1;5162:64;5218:7;5209:6;5198:9;5194:22;5162:64;:::i;:::-;5152:74;;5108:128;5275:2;5301:64;5357:7;5348:6;5337:9;5333:22;5301:64;:::i;:::-;5291:74;;5246:129;5414:2;5440:64;5496:7;5487:6;5476:9;5472:22;5440:64;:::i;:::-;5430:74;;5385:129;5036:485;;;;;:::o;5527:179::-;5596:10;5617:46;5659:3;5651:6;5617:46;:::i;:::-;5695:4;5690:3;5686:14;5672:28;;5607:99;;;;:::o;5712:108::-;5789:24;5807:5;5789:24;:::i;:::-;5784:3;5777:37;5767:53;;:::o;5826:118::-;5913:24;5931:5;5913:24;:::i;:::-;5908:3;5901:37;5891:53;;:::o;5980:732::-;6099:3;6128:54;6176:5;6128:54;:::i;:::-;6198:86;6277:6;6272:3;6198:86;:::i;:::-;6191:93;;6308:56;6358:5;6308:56;:::i;:::-;6387:7;6418:1;6403:284;6428:6;6425:1;6422:13;6403:284;;;6504:6;6498:13;6531:63;6590:3;6575:13;6531:63;:::i;:::-;6524:70;;6617:60;6670:6;6617:60;:::i;:::-;6607:70;;6463:224;6450:1;6447;6443:9;6438:14;;6403:284;;;6407:14;6703:3;6696:10;;6104:608;;;;;;;:::o;6718:109::-;6799:21;6814:5;6799:21;:::i;:::-;6794:3;6787:34;6777:50;;:::o;6833:147::-;6928:45;6967:5;6928:45;:::i;:::-;6923:3;6916:58;6906:74;;:::o;6986:364::-;7074:3;7102:39;7135:5;7102:39;:::i;:::-;7157:71;7221:6;7216:3;7157:71;:::i;:::-;7150:78;;7237:52;7282:6;7277:3;7270:4;7263:5;7259:16;7237:52;:::i;:::-;7314:29;7336:6;7314:29;:::i;:::-;7309:3;7305:39;7298:46;;7078:272;;;;;:::o;7356:366::-;7498:3;7519:67;7583:2;7578:3;7519:67;:::i;:::-;7512:74;;7595:93;7684:3;7595:93;:::i;:::-;7713:2;7708:3;7704:12;7697:19;;7502:220;;;:::o;7728:366::-;7870:3;7891:67;7955:2;7950:3;7891:67;:::i;:::-;7884:74;;7967:93;8056:3;7967:93;:::i;:::-;8085:2;8080:3;8076:12;8069:19;;7874:220;;;:::o;8100:366::-;8242:3;8263:67;8327:2;8322:3;8263:67;:::i;:::-;8256:74;;8339:93;8428:3;8339:93;:::i;:::-;8457:2;8452:3;8448:12;8441:19;;8246:220;;;:::o;8472:366::-;8614:3;8635:67;8699:2;8694:3;8635:67;:::i;:::-;8628:74;;8711:93;8800:3;8711:93;:::i;:::-;8829:2;8824:3;8820:12;8813:19;;8618:220;;;:::o;8844:366::-;8986:3;9007:67;9071:2;9066:3;9007:67;:::i;:::-;9000:74;;9083:93;9172:3;9083:93;:::i;:::-;9201:2;9196:3;9192:12;9185:19;;8990:220;;;:::o;9216:366::-;9358:3;9379:67;9443:2;9438:3;9379:67;:::i;:::-;9372:74;;9455:93;9544:3;9455:93;:::i;:::-;9573:2;9568:3;9564:12;9557:19;;9362:220;;;:::o;9588:366::-;9730:3;9751:67;9815:2;9810:3;9751:67;:::i;:::-;9744:74;;9827:93;9916:3;9827:93;:::i;:::-;9945:2;9940:3;9936:12;9929:19;;9734:220;;;:::o;9960:366::-;10102:3;10123:67;10187:2;10182:3;10123:67;:::i;:::-;10116:74;;10199:93;10288:3;10199:93;:::i;:::-;10317:2;10312:3;10308:12;10301:19;;10106:220;;;:::o;10332:366::-;10474:3;10495:67;10559:2;10554:3;10495:67;:::i;:::-;10488:74;;10571:93;10660:3;10571:93;:::i;:::-;10689:2;10684:3;10680:12;10673:19;;10478:220;;;:::o;10704:366::-;10846:3;10867:67;10931:2;10926:3;10867:67;:::i;:::-;10860:74;;10943:93;11032:3;10943:93;:::i;:::-;11061:2;11056:3;11052:12;11045:19;;10850:220;;;:::o;11076:118::-;11163:24;11181:5;11163:24;:::i;:::-;11158:3;11151:37;11141:53;;:::o;11200:112::-;11283:22;11299:5;11283:22;:::i;:::-;11278:3;11271:35;11261:51;;:::o;11318:222::-;11411:4;11449:2;11438:9;11434:18;11426:26;;11462:71;11530:1;11519:9;11515:17;11506:6;11462:71;:::i;:::-;11416:124;;;;:::o;11546:332::-;11667:4;11705:2;11694:9;11690:18;11682:26;;11718:71;11786:1;11775:9;11771:17;11762:6;11718:71;:::i;:::-;11799:72;11867:2;11856:9;11852:18;11843:6;11799:72;:::i;:::-;11672:206;;;;;:::o;11884:332::-;12005:4;12043:2;12032:9;12028:18;12020:26;;12056:71;12124:1;12113:9;12109:17;12100:6;12056:71;:::i;:::-;12137:72;12205:2;12194:9;12190:18;12181:6;12137:72;:::i;:::-;12010:206;;;;;:::o;12222:807::-;12471:4;12509:3;12498:9;12494:19;12486:27;;12523:71;12591:1;12580:9;12576:17;12567:6;12523:71;:::i;:::-;12604:72;12672:2;12661:9;12657:18;12648:6;12604:72;:::i;:::-;12686:80;12762:2;12751:9;12747:18;12738:6;12686:80;:::i;:::-;12776;12852:2;12841:9;12837:18;12828:6;12776:80;:::i;:::-;12866:73;12934:3;12923:9;12919:19;12910:6;12866:73;:::i;:::-;12949;13017:3;13006:9;13002:19;12993:6;12949:73;:::i;:::-;12476:553;;;;;;;;;:::o;13035:210::-;13122:4;13160:2;13149:9;13145:18;13137:26;;13173:65;13235:1;13224:9;13220:17;13211:6;13173:65;:::i;:::-;13127:118;;;;:::o;13251:313::-;13364:4;13402:2;13391:9;13387:18;13379:26;;13451:9;13445:4;13441:20;13437:1;13426:9;13422:17;13415:47;13479:78;13552:4;13543:6;13479:78;:::i;:::-;13471:86;;13369:195;;;;:::o;13570:419::-;13736:4;13774:2;13763:9;13759:18;13751:26;;13823:9;13817:4;13813:20;13809:1;13798:9;13794:17;13787:47;13851:131;13977:4;13851:131;:::i;:::-;13843:139;;13741:248;;;:::o;13995:419::-;14161:4;14199:2;14188:9;14184:18;14176:26;;14248:9;14242:4;14238:20;14234:1;14223:9;14219:17;14212:47;14276:131;14402:4;14276:131;:::i;:::-;14268:139;;14166:248;;;:::o;14420:419::-;14586:4;14624:2;14613:9;14609:18;14601:26;;14673:9;14667:4;14663:20;14659:1;14648:9;14644:17;14637:47;14701:131;14827:4;14701:131;:::i;:::-;14693:139;;14591:248;;;:::o;14845:419::-;15011:4;15049:2;15038:9;15034:18;15026:26;;15098:9;15092:4;15088:20;15084:1;15073:9;15069:17;15062:47;15126:131;15252:4;15126:131;:::i;:::-;15118:139;;15016:248;;;:::o;15270:419::-;15436:4;15474:2;15463:9;15459:18;15451:26;;15523:9;15517:4;15513:20;15509:1;15498:9;15494:17;15487:47;15551:131;15677:4;15551:131;:::i;:::-;15543:139;;15441:248;;;:::o;15695:419::-;15861:4;15899:2;15888:9;15884:18;15876:26;;15948:9;15942:4;15938:20;15934:1;15923:9;15919:17;15912:47;15976:131;16102:4;15976:131;:::i;:::-;15968:139;;15866:248;;;:::o;16120:419::-;16286:4;16324:2;16313:9;16309:18;16301:26;;16373:9;16367:4;16363:20;16359:1;16348:9;16344:17;16337:47;16401:131;16527:4;16401:131;:::i;:::-;16393:139;;16291:248;;;:::o;16545:419::-;16711:4;16749:2;16738:9;16734:18;16726:26;;16798:9;16792:4;16788:20;16784:1;16773:9;16769:17;16762:47;16826:131;16952:4;16826:131;:::i;:::-;16818:139;;16716:248;;;:::o;16970:419::-;17136:4;17174:2;17163:9;17159:18;17151:26;;17223:9;17217:4;17213:20;17209:1;17198:9;17194:17;17187:47;17251:131;17377:4;17251:131;:::i;:::-;17243:139;;17141:248;;;:::o;17395:419::-;17561:4;17599:2;17588:9;17584:18;17576:26;;17648:9;17642:4;17638:20;17634:1;17623:9;17619:17;17612:47;17676:131;17802:4;17676:131;:::i;:::-;17668:139;;17566:248;;;:::o;17820:222::-;17913:4;17951:2;17940:9;17936:18;17928:26;;17964:71;18032:1;18021:9;18017:17;18008:6;17964:71;:::i;:::-;17918:124;;;;:::o;18048:831::-;18311:4;18349:3;18338:9;18334:19;18326:27;;18363:71;18431:1;18420:9;18416:17;18407:6;18363:71;:::i;:::-;18444:80;18520:2;18509:9;18505:18;18496:6;18444:80;:::i;:::-;18571:9;18565:4;18561:20;18556:2;18545:9;18541:18;18534:48;18599:108;18702:4;18693:6;18599:108;:::i;:::-;18591:116;;18717:72;18785:2;18774:9;18770:18;18761:6;18717:72;:::i;:::-;18799:73;18867:3;18856:9;18852:19;18843:6;18799:73;:::i;:::-;18316:563;;;;;;;;:::o;18885:214::-;18974:4;19012:2;19001:9;18997:18;18989:26;;19025:67;19089:1;19078:9;19074:17;19065:6;19025:67;:::i;:::-;18979:120;;;;:::o;19105:129::-;19139:6;19166:20;;:::i;:::-;19156:30;;19195:33;19223:4;19215:6;19195:33;:::i;:::-;19146:88;;;:::o;19240:75::-;19273:6;19306:2;19300:9;19290:19;;19280:35;:::o;19321:311::-;19398:4;19488:18;19480:6;19477:30;19474:2;;;19510:18;;:::i;:::-;19474:2;19560:4;19552:6;19548:17;19540:25;;19620:4;19614;19610:15;19602:23;;19403:229;;;:::o;19638:132::-;19705:4;19728:3;19720:11;;19758:4;19753:3;19749:14;19741:22;;19710:60;;;:::o;19776:114::-;19843:6;19877:5;19871:12;19861:22;;19850:40;;;:::o;19896:99::-;19948:6;19982:5;19976:12;19966:22;;19955:40;;;:::o;20001:113::-;20071:4;20103;20098:3;20094:14;20086:22;;20076:38;;;:::o;20120:184::-;20219:11;20253:6;20248:3;20241:19;20293:4;20288:3;20284:14;20269:29;;20231:73;;;;:::o;20310:169::-;20394:11;20428:6;20423:3;20416:19;20468:4;20463:3;20459:14;20444:29;;20406:73;;;;:::o;20485:305::-;20525:3;20544:20;20562:1;20544:20;:::i;:::-;20539:25;;20578:20;20596:1;20578:20;:::i;:::-;20573:25;;20732:1;20664:66;20660:74;20657:1;20654:81;20651:2;;;20738:18;;:::i;:::-;20651:2;20782:1;20779;20775:9;20768:16;;20529:261;;;;:::o;20796:185::-;20836:1;20853:20;20871:1;20853:20;:::i;:::-;20848:25;;20887:20;20905:1;20887:20;:::i;:::-;20882:25;;20926:1;20916:2;;20931:18;;:::i;:::-;20916:2;20973:1;20970;20966:9;20961:14;;20838:143;;;;:::o;20987:348::-;21027:7;21050:20;21068:1;21050:20;:::i;:::-;21045:25;;21084:20;21102:1;21084:20;:::i;:::-;21079:25;;21272:1;21204:66;21200:74;21197:1;21194:81;21189:1;21182:9;21175:17;21171:105;21168:2;;;21279:18;;:::i;:::-;21168:2;21327:1;21324;21320:9;21309:20;;21035:300;;;;:::o;21341:191::-;21381:4;21401:20;21419:1;21401:20;:::i;:::-;21396:25;;21435:20;21453:1;21435:20;:::i;:::-;21430:25;;21474:1;21471;21468:8;21465:2;;;21479:18;;:::i;:::-;21465:2;21524:1;21521;21517:9;21509:17;;21386:146;;;;:::o;21538:96::-;21575:7;21604:24;21622:5;21604:24;:::i;:::-;21593:35;;21583:51;;;:::o;21640:90::-;21674:7;21717:5;21710:13;21703:21;21692:32;;21682:48;;;:::o;21736:126::-;21773:7;21813:42;21806:5;21802:54;21791:65;;21781:81;;;:::o;21868:77::-;21905:7;21934:5;21923:16;;21913:32;;;:::o;21951:86::-;21986:7;22026:4;22019:5;22015:16;22004:27;;21994:43;;;:::o;22043:121::-;22101:9;22134:24;22152:5;22134:24;:::i;:::-;22121:37;;22111:53;;;:::o;22170:307::-;22238:1;22248:113;22262:6;22259:1;22256:13;22248:113;;;22347:1;22342:3;22338:11;22332:18;22328:1;22323:3;22319:11;22312:39;22284:2;22281:1;22277:10;22272:15;;22248:113;;;22379:6;22376:1;22373:13;22370:2;;;22459:1;22450:6;22445:3;22441:16;22434:27;22370:2;22219:258;;;;:::o;22483:281::-;22566:27;22588:4;22566:27;:::i;:::-;22558:6;22554:40;22696:6;22684:10;22681:22;22660:18;22648:10;22645:34;22642:62;22639:2;;;22707:18;;:::i;:::-;22639:2;22747:10;22743:2;22736:22;22526:238;;;:::o;22770:233::-;22809:3;22832:24;22850:5;22832:24;:::i;:::-;22823:33;;22878:66;22871:5;22868:77;22865:2;;;22948:18;;:::i;:::-;22865:2;22995:1;22988:5;22984:13;22977:20;;22813:190;;;:::o;23009:180::-;23057:77;23054:1;23047:88;23154:4;23151:1;23144:15;23178:4;23175:1;23168:15;23195:180;23243:77;23240:1;23233:88;23340:4;23337:1;23330:15;23364:4;23361:1;23354:15;23381:180;23429:77;23426:1;23419:88;23526:4;23523:1;23516:15;23550:4;23547:1;23540:15;23567:102;23608:6;23659:2;23655:7;23650:2;23643:5;23639:14;23635:28;23625:38;;23615:54;;;:::o;23675:222::-;23815:34;23811:1;23803:6;23799:14;23792:58;23884:5;23879:2;23871:6;23867:15;23860:30;23781:116;:::o;23903:229::-;24043:34;24039:1;24031:6;24027:14;24020:58;24112:12;24107:2;24099:6;24095:15;24088:37;24009:123;:::o;24138:221::-;24278:34;24274:1;24266:6;24262:14;24255:58;24347:4;24342:2;24334:6;24330:15;24323:29;24244:115;:::o;24365:177::-;24505:29;24501:1;24493:6;24489:14;24482:53;24471:71;:::o;24548:220::-;24688:34;24684:1;24676:6;24672:14;24665:58;24757:3;24752:2;24744:6;24740:15;24733:28;24654:114;:::o;24774:182::-;24914:34;24910:1;24902:6;24898:14;24891:58;24880:76;:::o;24962:228::-;25102:34;25098:1;25090:6;25086:14;25079:58;25171:11;25166:2;25158:6;25154:15;25147:36;25068:122;:::o;25196:224::-;25336:34;25332:1;25324:6;25320:14;25313:58;25405:7;25400:2;25392:6;25388:15;25381:32;25302:118;:::o;25426:223::-;25566:34;25562:1;25554:6;25550:14;25543:58;25635:6;25630:2;25622:6;25618:15;25611:31;25532:117;:::o;25655:173::-;25795:25;25791:1;25783:6;25779:14;25772:49;25761:67;:::o;25834:122::-;25907:24;25925:5;25907:24;:::i;:::-;25900:5;25897:35;25887:2;;25946:1;25943;25936:12;25887:2;25877:79;:::o;25962:116::-;26032:21;26047:5;26032:21;:::i;:::-;26025:5;26022:32;26012:2;;26068:1;26065;26058:12;26012:2;26002:76;:::o;26084:122::-;26157:24;26175:5;26157:24;:::i;:::-;26150:5;26147:35;26137:2;;26196:1;26193;26186:12;26137:2;26127:79;:::o
Swarm Source
ipfs://4b8a4beeaca7dcf55ff81253f4fa99c7c979d1a705230762494699629c74d92c
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.