Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000,000 SOKKA
Holders
76
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
4,892,851,500.950000001 SOKKAValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
SOKKA
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-04-11 */ /** //SPDX-License-Identifier: UNLICENSED Sokka Relaunch, v1 had issues regarding taxes and tokenomics. Telegram: https://t.me/SokkaETH Twitter: https://twitter.com/SokkaToken Website: https://sokkaeth.com */ 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 SOKKA 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) public isExcludedFromFee; mapping (address => bool) public isExcludedFromLimit; mapping (address => bool) private bots; mapping (address => uint) private cooldown; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 1_000_000_000_000 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 public swapThreshold = 100_000_000 * 10**9; uint256 private _reflectionFee = 0; uint256 private _teamFee = 5; address payable private _feeAddrWallet1; address payable private _feeAddrWallet2; string private constant _name = "SOKKA V2"; string private constant _symbol = "SOKKA"; uint8 private constant _decimals = 9; IUniswapV2Router02 private uniswapV2Router; address public uniswapV2Pair; bool private tradingOpen; bool private inSwap; bool private swapEnabled; bool private cooldownEnabled; uint256 private _maxTxAmount = 20_000_000_000 * 10**9; uint256 private _maxWalletAmount = 40_000_000_000 * 10**9; modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor (address wallet1, address wallet2) { _feeAddrWallet1 = payable(wallet1); _feeAddrWallet2 = payable(wallet2); _rOwned[_msgSender()] = _rTotal; isExcludedFromFee[owner()] = true; isExcludedFromFee[address(this)] = true; isExcludedFromFee[_feeAddrWallet1] = true; isExcludedFromFee[_feeAddrWallet2] = true; isExcludedFromLimit[owner()] = true; isExcludedFromLimit[address(this)] = true; isExcludedFromLimit[address(0xdead)] = true; isExcludedFromLimit[_feeAddrWallet1] = true; isExcludedFromLimit[_feeAddrWallet2] = true; emit Transfer(address(this), _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(balanceOf(from) >= amount, "ERC20: transfer amount exceeds balance"); if (from != owner() && to != owner()) { require(!bots[from] && !bots[to]); if (!isExcludedFromLimit[from] || (from == uniswapV2Pair && !isExcludedFromLimit[to])) { require(amount <= _maxTxAmount, "Anti-whale: Transfer amount exceeds max limit"); } if (!isExcludedFromLimit[to]) { require(balanceOf(to) + amount <= _maxWalletAmount, "Anti-whale: Wallet amount exceeds max limit"); } if (from == uniswapV2Pair && to != address(uniswapV2Router) && !isExcludedFromFee[to] && cooldownEnabled) { // Cooldown require(cooldown[to] < block.timestamp); cooldown[to] = block.timestamp + (60 seconds); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && from != uniswapV2Pair && swapEnabled && contractTokenBalance >= swapThreshold) { 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.div(2)); _feeAddrWallet2.transfer(amount.div(2)); } 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()); isExcludedFromLimit[address(uniswapV2Router)] = true; isExcludedFromLimit[uniswapV2Pair] = true; uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); swapEnabled = true; cooldownEnabled = true; tradingOpen = true; IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); } function changeMaxTxAmount(uint256 amount) public onlyOwner { _maxTxAmount = amount; } function changeMaxWalletAmount(uint256 amount) public onlyOwner { _maxWalletAmount = amount; } function changeSwapThreshold(uint256 amount) public onlyOwner { swapThreshold = amount; } function excludeFromFees(address account, bool excluded) public onlyOwner { isExcludedFromFee[account] = excluded; } function excludeFromLimits(address account, bool excluded) public onlyOwner { isExcludedFromLimit[account] = excluded; } function setBots(address[] memory bots_) public onlyOwner { for (uint i = 0; i < bots_.length; i++) { bots[bots_[i]] = true; } } function delBot(address notbot) public onlyOwner { bots[notbot] = 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 rReflect, uint256 tTransferAmount, uint256 tReflect, uint256 tTeam) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); if (isExcludedFromFee[sender] || isExcludedFromFee[recipient]) { _rOwned[recipient] = _rOwned[recipient].add(rAmount); emit Transfer(sender, recipient, tAmount); } else { _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeTeam(tTeam); _reflectFee(rReflect, tReflect); 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 tReflect, uint256 tTeam) = _getTValues(tAmount, _reflectionFee, _teamFee); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rReflect) = _getRValues(tAmount, tReflect, tTeam, currentRate); return (rAmount, rTransferAmount, rReflect, tTransferAmount, tReflect, tTeam); } function _getTValues(uint256 tAmount, uint256 reflectFee, uint256 teamFee) private pure returns (uint256, uint256, uint256) { uint256 tReflect = tAmount.mul(reflectFee).div(100); uint256 tTeam = tAmount.mul(teamFee).div(100); uint256 tTransferAmount = tAmount.sub(tReflect).sub(tTeam); return (tTransferAmount, tReflect, tTeam); } function _getRValues(uint256 tAmount, uint256 tReflect, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) { uint256 rAmount = tAmount.mul(currentRate); uint256 rReflect = tReflect.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rReflect).sub(rTeam); return (rAmount, rTransferAmount, rReflect); } 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":[{"internalType":"address","name":"wallet1","type":"address"},{"internalType":"address","name":"wallet2","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"changeMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"changeMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"changeSwapThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052683635c9adc5dea000006000196200001d919062000796565b6000196200002c91906200071d565b60095567016345785d8a0000600b556000600c556005600d556801158e460913d0000060125568022b1c8c1227a000006013553480156200006c57600080fd5b50604051620046ea380380620046ea8339818101604052810190620000929190620006a8565b6000620000a46200066060201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35081600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060095460026000620001db6200066060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600560006200022f6200066860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000620003e26200066860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016006600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620005e96200066060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea0000060405162000650919062000700565b60405180910390a350506200084b565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600081519050620006a28162000831565b92915050565b60008060408385031215620006c257620006c16200082c565b5b6000620006d28582860162000691565b9250506020620006e58582860162000691565b9150509250929050565b620006fa816200078c565b82525050565b6000602082019050620007176000830184620006ef565b92915050565b60006200072a826200078c565b915062000737836200078c565b9250828210156200074d576200074c620007ce565b5b828203905092915050565b600062000765826200076c565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000620007a3826200078c565b9150620007b0836200078c565b925082620007c357620007c2620007fd565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b6200083c8162000758565b81146200084857600080fd5b50565b613e8f806200085b6000396000f3fe6080604052600436106101855760003560e01c8063715018a6116100d1578063b515566a1161008a578063c9567bf911610064578063c9567bf914610565578063d94160e01461057c578063dd62ed3e146105b9578063f4293890146105f65761018c565b8063b515566a146104ea578063c024666814610513578063c0a904a21461053c5761018c565b8063715018a6146103ee57806381bfdcca1461040557806389f425e71461042e5780638da5cb5b1461045757806395d89b4114610482578063a9059cbb146104ad5761018c565b8063313ce5671161013e5780635342acb4116101185780635342acb4146103225780635932ead11461035f578063677daa571461038857806370a08231146103b15761018c565b8063313ce567146102b557806349bd5a5e146102e057806351bc3c851461030b5761018c565b80630445b6671461019157806306fdde03146101bc578063095ea7b3146101e757806318160ddd1461022457806323b872dd1461024f578063273123b71461028c5761018c565b3661018c57005b600080fd5b34801561019d57600080fd5b506101a661060d565b6040516101b3919061366a565b60405180910390f35b3480156101c857600080fd5b506101d1610613565b6040516101de91906134c8565b60405180910390f35b3480156101f357600080fd5b5061020e60048036038101906102099190612fcf565b610650565b60405161021b91906134ad565b60405180910390f35b34801561023057600080fd5b5061023961066e565b604051610246919061366a565b60405180910390f35b34801561025b57600080fd5b5061027660048036038101906102719190612f3c565b61067f565b60405161028391906134ad565b60405180910390f35b34801561029857600080fd5b506102b360048036038101906102ae9190612ea2565b610758565b005b3480156102c157600080fd5b506102ca610848565b6040516102d791906136df565b60405180910390f35b3480156102ec57600080fd5b506102f5610851565b60405161030291906133df565b60405180910390f35b34801561031757600080fd5b50610320610877565b005b34801561032e57600080fd5b5061034960048036038101906103449190612ea2565b6108f1565b60405161035691906134ad565b60405180910390f35b34801561036b57600080fd5b5061038660048036038101906103819190613058565b610911565b005b34801561039457600080fd5b506103af60048036038101906103aa91906130b2565b6109c3565b005b3480156103bd57600080fd5b506103d860048036038101906103d39190612ea2565b610a62565b6040516103e5919061366a565b60405180910390f35b3480156103fa57600080fd5b50610403610ab3565b005b34801561041157600080fd5b5061042c600480360381019061042791906130b2565b610c06565b005b34801561043a57600080fd5b50610455600480360381019061045091906130b2565b610ca5565b005b34801561046357600080fd5b5061046c610d44565b60405161047991906133df565b60405180910390f35b34801561048e57600080fd5b50610497610d6d565b6040516104a491906134c8565b60405180910390f35b3480156104b957600080fd5b506104d460048036038101906104cf9190612fcf565b610daa565b6040516104e191906134ad565b60405180910390f35b3480156104f657600080fd5b50610511600480360381019061050c919061300f565b610dc8565b005b34801561051f57600080fd5b5061053a60048036038101906105359190612f8f565b610ef2565b005b34801561054857600080fd5b50610563600480360381019061055e9190612f8f565b610fe2565b005b34801561057157600080fd5b5061057a6110d2565b005b34801561058857600080fd5b506105a3600480360381019061059e9190612ea2565b611713565b6040516105b091906134ad565b60405180910390f35b3480156105c557600080fd5b506105e060048036038101906105db9190612efc565b611733565b6040516105ed919061366a565b60405180910390f35b34801561060257600080fd5b5061060b6117ba565b005b600b5481565b60606040518060400160405280600881526020017f534f4b4b41205632000000000000000000000000000000000000000000000000815250905090565b600061066461065d61182c565b8484611834565b6001905092915050565b6000683635c9adc5dea00000905090565b600061068c8484846119ff565b61074d8461069861182c565b61074885604051806060016040528060288152602001613e3260289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106fe61182c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120d59092919063ffffffff16565b611834565b600190509392505050565b61076061182c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107e4906135ea565b60405180910390fd5b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108b861182c565b73ffffffffffffffffffffffffffffffffffffffff16146108d857600080fd5b60006108e330610a62565b90506108ee81612139565b50565b60056020528060005260406000206000915054906101000a900460ff1681565b61091961182c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099d906135ea565b60405180910390fd5b80601160176101000a81548160ff02191690831515021790555050565b6109cb61182c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4f906135ea565b60405180910390fd5b8060128190555050565b6000610aac600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123c1565b9050919050565b610abb61182c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3f906135ea565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610c0e61182c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c92906135ea565b60405180910390fd5b8060138190555050565b610cad61182c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d31906135ea565b60405180910390fd5b80600b8190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f534f4b4b41000000000000000000000000000000000000000000000000000000815250905090565b6000610dbe610db761182c565b84846119ff565b6001905092915050565b610dd061182c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e54906135ea565b60405180910390fd5b60005b8151811015610eee57600160076000848481518110610e8257610e81613a27565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610ee690613980565b915050610e60565b5050565b610efa61182c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7e906135ea565b60405180910390fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b610fea61182c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611077576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106e906135ea565b60405180910390fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6110da61182c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611167576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115e906135ea565b60405180910390fd5b601160149054906101000a900460ff16156111b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ae9061364a565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061124730601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea00000611834565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561128d57600080fd5b505afa1580156112a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112c59190612ecf565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561132757600080fd5b505afa15801561133b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135f9190612ecf565b6040518363ffffffff1660e01b815260040161137c9291906133fa565b602060405180830381600087803b15801561139657600080fd5b505af11580156113aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ce9190612ecf565b601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160066000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061154b30610a62565b600080611556610d44565b426040518863ffffffff1660e01b81526004016115789695949392919061344c565b6060604051808303818588803b15801561159157600080fd5b505af11580156115a5573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906115ca91906130df565b5050506001601160166101000a81548160ff0219169083151502179055506001601160176101000a81548160ff0219169083151502179055506001601160146101000a81548160ff021916908315150217905550601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016116bd929190613423565b602060405180830381600087803b1580156116d757600080fd5b505af11580156116eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061170f9190613085565b5050565b60066020528060005260406000206000915054906101000a900460ff1681565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166117fb61182c565b73ffffffffffffffffffffffffffffffffffffffff161461181b57600080fd5b60004790506118298161242f565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156118a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189b9061362a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611914576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190b9061352a565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119f2919061366a565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611a6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a669061360a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611adf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ad6906134ea565b60405180910390fd5b80611ae984610a62565b1015611b2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b219061356a565b60405180910390fd5b611b32610d44565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611ba05750611b70610d44565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156120c557600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611c495750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611c5257600080fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580611d4e5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611d4d5750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b5b15611d9957601254811115611d98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8f906135aa565b60405180910390fd5b5b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611e435760135481611df784610a62565b611e0191906137a0565b1115611e42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e399061358a565b60405180910390fd5b5b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611eee5750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611f445750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611f5c5750601160179054906101000a900460ff165b15611ffd5742600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611fac57600080fd5b603c42611fb991906137a0565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600061200830610a62565b9050601160159054906101000a900460ff161580156120755750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561208d5750601160169054906101000a900460ff165b801561209b5750600b548110155b156120c3576120a981612139565b600047905060008111156120c1576120c04761242f565b5b505b505b6120d083838361252a565b505050565b600083831115829061211d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161211491906134c8565b60405180910390fd5b506000838561212c9190613881565b9050809150509392505050565b6001601160156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561217157612170613a56565b5b60405190808252806020026020018201604052801561219f5781602001602082028036833780820191505090505b50905030816000815181106121b7576121b6613a27565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561225957600080fd5b505afa15801561226d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122919190612ecf565b816001815181106122a5576122a4613a27565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061230c30601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611834565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612370959493929190613685565b600060405180830381600087803b15801561238a57600080fd5b505af115801561239e573d6000803e3d6000fd5b50505050506000601160156101000a81548160ff02191690831515021790555050565b6000600954821115612408576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123ff9061350a565b60405180910390fd5b600061241261253a565b9050612427818461256590919063ffffffff16565b915050919050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61247f60028461256590919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156124aa573d6000803e3d6000fd5b50600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6124fb60028461256590919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612526573d6000803e3d6000fd5b5050565b6125358383836125af565b505050565b6000806000612547612920565b9150915061255e818361256590919063ffffffff16565b9250505090565b60006125a783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612982565b905092915050565b6000806000806000806125c1876129e5565b95509550955095509550955061261f86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a4d90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600560008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806127035750600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156128075761275a86600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a9790919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef896040516127fa919061366a565b60405180910390a3612915565b61285985600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a9790919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506128a581612af5565b6128af8483612bb2565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161290c919061366a565b60405180910390a35b505050505050505050565b600080600060095490506000683635c9adc5dea000009050612956683635c9adc5dea0000060095461256590919063ffffffff16565b82101561297557600954683635c9adc5dea0000093509350505061297e565b81819350935050505b9091565b600080831182906129c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129c091906134c8565b60405180910390fd5b50600083856129d891906137f6565b9050809150509392505050565b6000806000806000806000806000612a028a600c54600d54612bec565b9250925092506000612a1261253a565b90506000806000612a258e878787612c82565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000612a8f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506120d5565b905092915050565b6000808284612aa691906137a0565b905083811015612aeb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ae29061354a565b60405180910390fd5b8091505092915050565b6000612aff61253a565b90506000612b168284612d0b90919063ffffffff16565b9050612b6a81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a9790919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612bc782600954612a4d90919063ffffffff16565b600981905550612be281600a54612a9790919063ffffffff16565b600a819055505050565b600080600080612c186064612c0a888a612d0b90919063ffffffff16565b61256590919063ffffffff16565b90506000612c426064612c34888b612d0b90919063ffffffff16565b61256590919063ffffffff16565b90506000612c6b82612c5d858c612a4d90919063ffffffff16565b612a4d90919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612c9b8589612d0b90919063ffffffff16565b90506000612cb28689612d0b90919063ffffffff16565b90506000612cc98789612d0b90919063ffffffff16565b90506000612cf282612ce48587612a4d90919063ffffffff16565b612a4d90919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415612d1e5760009050612d80565b60008284612d2c9190613827565b9050828482612d3b91906137f6565b14612d7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d72906135ca565b60405180910390fd5b809150505b92915050565b6000612d99612d948461371f565b6136fa565b90508083825260208201905082856020860282011115612dbc57612dbb613a8a565b5b60005b85811015612dec5781612dd28882612df6565b845260208401935060208301925050600181019050612dbf565b5050509392505050565b600081359050612e0581613dec565b92915050565b600081519050612e1a81613dec565b92915050565b600082601f830112612e3557612e34613a85565b5b8135612e45848260208601612d86565b91505092915050565b600081359050612e5d81613e03565b92915050565b600081519050612e7281613e03565b92915050565b600081359050612e8781613e1a565b92915050565b600081519050612e9c81613e1a565b92915050565b600060208284031215612eb857612eb7613a94565b5b6000612ec684828501612df6565b91505092915050565b600060208284031215612ee557612ee4613a94565b5b6000612ef384828501612e0b565b91505092915050565b60008060408385031215612f1357612f12613a94565b5b6000612f2185828601612df6565b9250506020612f3285828601612df6565b9150509250929050565b600080600060608486031215612f5557612f54613a94565b5b6000612f6386828701612df6565b9350506020612f7486828701612df6565b9250506040612f8586828701612e78565b9150509250925092565b60008060408385031215612fa657612fa5613a94565b5b6000612fb485828601612df6565b9250506020612fc585828601612e4e565b9150509250929050565b60008060408385031215612fe657612fe5613a94565b5b6000612ff485828601612df6565b925050602061300585828601612e78565b9150509250929050565b60006020828403121561302557613024613a94565b5b600082013567ffffffffffffffff81111561304357613042613a8f565b5b61304f84828501612e20565b91505092915050565b60006020828403121561306e5761306d613a94565b5b600061307c84828501612e4e565b91505092915050565b60006020828403121561309b5761309a613a94565b5b60006130a984828501612e63565b91505092915050565b6000602082840312156130c8576130c7613a94565b5b60006130d684828501612e78565b91505092915050565b6000806000606084860312156130f8576130f7613a94565b5b600061310686828701612e8d565b935050602061311786828701612e8d565b925050604061312886828701612e8d565b9150509250925092565b600061313e838361314a565b60208301905092915050565b613153816138b5565b82525050565b613162816138b5565b82525050565b60006131738261375b565b61317d818561377e565b93506131888361374b565b8060005b838110156131b95781516131a08882613132565b97506131ab83613771565b92505060018101905061318c565b5085935050505092915050565b6131cf816138c7565b82525050565b6131de8161390a565b82525050565b60006131ef82613766565b6131f9818561378f565b935061320981856020860161391c565b61321281613a99565b840191505092915050565b600061322a60238361378f565b915061323582613aaa565b604082019050919050565b600061324d602a8361378f565b915061325882613af9565b604082019050919050565b600061327060228361378f565b915061327b82613b48565b604082019050919050565b6000613293601b8361378f565b915061329e82613b97565b602082019050919050565b60006132b660268361378f565b91506132c182613bc0565b604082019050919050565b60006132d9602b8361378f565b91506132e482613c0f565b604082019050919050565b60006132fc602d8361378f565b915061330782613c5e565b604082019050919050565b600061331f60218361378f565b915061332a82613cad565b604082019050919050565b600061334260208361378f565b915061334d82613cfc565b602082019050919050565b600061336560258361378f565b915061337082613d25565b604082019050919050565b600061338860248361378f565b915061339382613d74565b604082019050919050565b60006133ab60178361378f565b91506133b682613dc3565b602082019050919050565b6133ca816138f3565b82525050565b6133d9816138fd565b82525050565b60006020820190506133f46000830184613159565b92915050565b600060408201905061340f6000830185613159565b61341c6020830184613159565b9392505050565b60006040820190506134386000830185613159565b61344560208301846133c1565b9392505050565b600060c0820190506134616000830189613159565b61346e60208301886133c1565b61347b60408301876131d5565b61348860608301866131d5565b6134956080830185613159565b6134a260a08301846133c1565b979650505050505050565b60006020820190506134c260008301846131c6565b92915050565b600060208201905081810360008301526134e281846131e4565b905092915050565b600060208201905081810360008301526135038161321d565b9050919050565b6000602082019050818103600083015261352381613240565b9050919050565b6000602082019050818103600083015261354381613263565b9050919050565b6000602082019050818103600083015261356381613286565b9050919050565b60006020820190508181036000830152613583816132a9565b9050919050565b600060208201905081810360008301526135a3816132cc565b9050919050565b600060208201905081810360008301526135c3816132ef565b9050919050565b600060208201905081810360008301526135e381613312565b9050919050565b6000602082019050818103600083015261360381613335565b9050919050565b6000602082019050818103600083015261362381613358565b9050919050565b600060208201905081810360008301526136438161337b565b9050919050565b600060208201905081810360008301526136638161339e565b9050919050565b600060208201905061367f60008301846133c1565b92915050565b600060a08201905061369a60008301886133c1565b6136a760208301876131d5565b81810360408301526136b98186613168565b90506136c86060830185613159565b6136d560808301846133c1565b9695505050505050565b60006020820190506136f460008301846133d0565b92915050565b6000613704613715565b9050613710828261394f565b919050565b6000604051905090565b600067ffffffffffffffff82111561373a57613739613a56565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006137ab826138f3565b91506137b6836138f3565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156137eb576137ea6139c9565b5b828201905092915050565b6000613801826138f3565b915061380c836138f3565b92508261381c5761381b6139f8565b5b828204905092915050565b6000613832826138f3565b915061383d836138f3565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613876576138756139c9565b5b828202905092915050565b600061388c826138f3565b9150613897836138f3565b9250828210156138aa576138a96139c9565b5b828203905092915050565b60006138c0826138d3565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000613915826138f3565b9050919050565b60005b8381101561393a57808201518184015260208101905061391f565b83811115613949576000848401525b50505050565b61395882613a99565b810181811067ffffffffffffffff8211171561397757613976613a56565b5b80604052505050565b600061398b826138f3565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156139be576139bd6139c9565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f416e74692d7768616c653a2057616c6c657420616d6f756e742065786365656460008201527f73206d6178206c696d6974000000000000000000000000000000000000000000602082015250565b7f416e74692d7768616c653a205472616e7366657220616d6f756e74206578636560008201527f656473206d6178206c696d697400000000000000000000000000000000000000602082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b613df5816138b5565b8114613e0057600080fd5b50565b613e0c816138c7565b8114613e1757600080fd5b50565b613e23816138f3565b8114613e2e57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212203b270cc0c869acf99ce7d0c8e5f0208196e250d9218eeef224f2a43a9b54dcc464736f6c634300080700330000000000000000000000001eebb96428a48b3f33dfa2a52b3e2fff6978aca800000000000000000000000097e0344e6ba1da0ec62ef0a4cf230e6f6e397ae4
Deployed Bytecode
0x6080604052600436106101855760003560e01c8063715018a6116100d1578063b515566a1161008a578063c9567bf911610064578063c9567bf914610565578063d94160e01461057c578063dd62ed3e146105b9578063f4293890146105f65761018c565b8063b515566a146104ea578063c024666814610513578063c0a904a21461053c5761018c565b8063715018a6146103ee57806381bfdcca1461040557806389f425e71461042e5780638da5cb5b1461045757806395d89b4114610482578063a9059cbb146104ad5761018c565b8063313ce5671161013e5780635342acb4116101185780635342acb4146103225780635932ead11461035f578063677daa571461038857806370a08231146103b15761018c565b8063313ce567146102b557806349bd5a5e146102e057806351bc3c851461030b5761018c565b80630445b6671461019157806306fdde03146101bc578063095ea7b3146101e757806318160ddd1461022457806323b872dd1461024f578063273123b71461028c5761018c565b3661018c57005b600080fd5b34801561019d57600080fd5b506101a661060d565b6040516101b3919061366a565b60405180910390f35b3480156101c857600080fd5b506101d1610613565b6040516101de91906134c8565b60405180910390f35b3480156101f357600080fd5b5061020e60048036038101906102099190612fcf565b610650565b60405161021b91906134ad565b60405180910390f35b34801561023057600080fd5b5061023961066e565b604051610246919061366a565b60405180910390f35b34801561025b57600080fd5b5061027660048036038101906102719190612f3c565b61067f565b60405161028391906134ad565b60405180910390f35b34801561029857600080fd5b506102b360048036038101906102ae9190612ea2565b610758565b005b3480156102c157600080fd5b506102ca610848565b6040516102d791906136df565b60405180910390f35b3480156102ec57600080fd5b506102f5610851565b60405161030291906133df565b60405180910390f35b34801561031757600080fd5b50610320610877565b005b34801561032e57600080fd5b5061034960048036038101906103449190612ea2565b6108f1565b60405161035691906134ad565b60405180910390f35b34801561036b57600080fd5b5061038660048036038101906103819190613058565b610911565b005b34801561039457600080fd5b506103af60048036038101906103aa91906130b2565b6109c3565b005b3480156103bd57600080fd5b506103d860048036038101906103d39190612ea2565b610a62565b6040516103e5919061366a565b60405180910390f35b3480156103fa57600080fd5b50610403610ab3565b005b34801561041157600080fd5b5061042c600480360381019061042791906130b2565b610c06565b005b34801561043a57600080fd5b50610455600480360381019061045091906130b2565b610ca5565b005b34801561046357600080fd5b5061046c610d44565b60405161047991906133df565b60405180910390f35b34801561048e57600080fd5b50610497610d6d565b6040516104a491906134c8565b60405180910390f35b3480156104b957600080fd5b506104d460048036038101906104cf9190612fcf565b610daa565b6040516104e191906134ad565b60405180910390f35b3480156104f657600080fd5b50610511600480360381019061050c919061300f565b610dc8565b005b34801561051f57600080fd5b5061053a60048036038101906105359190612f8f565b610ef2565b005b34801561054857600080fd5b50610563600480360381019061055e9190612f8f565b610fe2565b005b34801561057157600080fd5b5061057a6110d2565b005b34801561058857600080fd5b506105a3600480360381019061059e9190612ea2565b611713565b6040516105b091906134ad565b60405180910390f35b3480156105c557600080fd5b506105e060048036038101906105db9190612efc565b611733565b6040516105ed919061366a565b60405180910390f35b34801561060257600080fd5b5061060b6117ba565b005b600b5481565b60606040518060400160405280600881526020017f534f4b4b41205632000000000000000000000000000000000000000000000000815250905090565b600061066461065d61182c565b8484611834565b6001905092915050565b6000683635c9adc5dea00000905090565b600061068c8484846119ff565b61074d8461069861182c565b61074885604051806060016040528060288152602001613e3260289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106fe61182c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120d59092919063ffffffff16565b611834565b600190509392505050565b61076061182c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107e4906135ea565b60405180910390fd5b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108b861182c565b73ffffffffffffffffffffffffffffffffffffffff16146108d857600080fd5b60006108e330610a62565b90506108ee81612139565b50565b60056020528060005260406000206000915054906101000a900460ff1681565b61091961182c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099d906135ea565b60405180910390fd5b80601160176101000a81548160ff02191690831515021790555050565b6109cb61182c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4f906135ea565b60405180910390fd5b8060128190555050565b6000610aac600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123c1565b9050919050565b610abb61182c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3f906135ea565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610c0e61182c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c92906135ea565b60405180910390fd5b8060138190555050565b610cad61182c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d31906135ea565b60405180910390fd5b80600b8190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f534f4b4b41000000000000000000000000000000000000000000000000000000815250905090565b6000610dbe610db761182c565b84846119ff565b6001905092915050565b610dd061182c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e54906135ea565b60405180910390fd5b60005b8151811015610eee57600160076000848481518110610e8257610e81613a27565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610ee690613980565b915050610e60565b5050565b610efa61182c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7e906135ea565b60405180910390fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b610fea61182c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611077576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106e906135ea565b60405180910390fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6110da61182c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611167576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115e906135ea565b60405180910390fd5b601160149054906101000a900460ff16156111b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ae9061364a565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061124730601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea00000611834565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561128d57600080fd5b505afa1580156112a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112c59190612ecf565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561132757600080fd5b505afa15801561133b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135f9190612ecf565b6040518363ffffffff1660e01b815260040161137c9291906133fa565b602060405180830381600087803b15801561139657600080fd5b505af11580156113aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ce9190612ecf565b601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160066000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061154b30610a62565b600080611556610d44565b426040518863ffffffff1660e01b81526004016115789695949392919061344c565b6060604051808303818588803b15801561159157600080fd5b505af11580156115a5573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906115ca91906130df565b5050506001601160166101000a81548160ff0219169083151502179055506001601160176101000a81548160ff0219169083151502179055506001601160146101000a81548160ff021916908315150217905550601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016116bd929190613423565b602060405180830381600087803b1580156116d757600080fd5b505af11580156116eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061170f9190613085565b5050565b60066020528060005260406000206000915054906101000a900460ff1681565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166117fb61182c565b73ffffffffffffffffffffffffffffffffffffffff161461181b57600080fd5b60004790506118298161242f565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156118a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189b9061362a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611914576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190b9061352a565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119f2919061366a565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611a6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a669061360a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611adf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ad6906134ea565b60405180910390fd5b80611ae984610a62565b1015611b2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b219061356a565b60405180910390fd5b611b32610d44565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611ba05750611b70610d44565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156120c557600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611c495750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611c5257600080fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580611d4e5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611d4d5750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b5b15611d9957601254811115611d98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8f906135aa565b60405180910390fd5b5b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611e435760135481611df784610a62565b611e0191906137a0565b1115611e42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e399061358a565b60405180910390fd5b5b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611eee5750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611f445750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611f5c5750601160179054906101000a900460ff165b15611ffd5742600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611fac57600080fd5b603c42611fb991906137a0565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600061200830610a62565b9050601160159054906101000a900460ff161580156120755750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561208d5750601160169054906101000a900460ff165b801561209b5750600b548110155b156120c3576120a981612139565b600047905060008111156120c1576120c04761242f565b5b505b505b6120d083838361252a565b505050565b600083831115829061211d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161211491906134c8565b60405180910390fd5b506000838561212c9190613881565b9050809150509392505050565b6001601160156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561217157612170613a56565b5b60405190808252806020026020018201604052801561219f5781602001602082028036833780820191505090505b50905030816000815181106121b7576121b6613a27565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561225957600080fd5b505afa15801561226d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122919190612ecf565b816001815181106122a5576122a4613a27565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061230c30601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611834565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612370959493929190613685565b600060405180830381600087803b15801561238a57600080fd5b505af115801561239e573d6000803e3d6000fd5b50505050506000601160156101000a81548160ff02191690831515021790555050565b6000600954821115612408576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123ff9061350a565b60405180910390fd5b600061241261253a565b9050612427818461256590919063ffffffff16565b915050919050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61247f60028461256590919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156124aa573d6000803e3d6000fd5b50600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6124fb60028461256590919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612526573d6000803e3d6000fd5b5050565b6125358383836125af565b505050565b6000806000612547612920565b9150915061255e818361256590919063ffffffff16565b9250505090565b60006125a783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612982565b905092915050565b6000806000806000806125c1876129e5565b95509550955095509550955061261f86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a4d90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600560008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806127035750600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156128075761275a86600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a9790919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef896040516127fa919061366a565b60405180910390a3612915565b61285985600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a9790919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506128a581612af5565b6128af8483612bb2565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161290c919061366a565b60405180910390a35b505050505050505050565b600080600060095490506000683635c9adc5dea000009050612956683635c9adc5dea0000060095461256590919063ffffffff16565b82101561297557600954683635c9adc5dea0000093509350505061297e565b81819350935050505b9091565b600080831182906129c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129c091906134c8565b60405180910390fd5b50600083856129d891906137f6565b9050809150509392505050565b6000806000806000806000806000612a028a600c54600d54612bec565b9250925092506000612a1261253a565b90506000806000612a258e878787612c82565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000612a8f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506120d5565b905092915050565b6000808284612aa691906137a0565b905083811015612aeb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ae29061354a565b60405180910390fd5b8091505092915050565b6000612aff61253a565b90506000612b168284612d0b90919063ffffffff16565b9050612b6a81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a9790919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612bc782600954612a4d90919063ffffffff16565b600981905550612be281600a54612a9790919063ffffffff16565b600a819055505050565b600080600080612c186064612c0a888a612d0b90919063ffffffff16565b61256590919063ffffffff16565b90506000612c426064612c34888b612d0b90919063ffffffff16565b61256590919063ffffffff16565b90506000612c6b82612c5d858c612a4d90919063ffffffff16565b612a4d90919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612c9b8589612d0b90919063ffffffff16565b90506000612cb28689612d0b90919063ffffffff16565b90506000612cc98789612d0b90919063ffffffff16565b90506000612cf282612ce48587612a4d90919063ffffffff16565b612a4d90919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415612d1e5760009050612d80565b60008284612d2c9190613827565b9050828482612d3b91906137f6565b14612d7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d72906135ca565b60405180910390fd5b809150505b92915050565b6000612d99612d948461371f565b6136fa565b90508083825260208201905082856020860282011115612dbc57612dbb613a8a565b5b60005b85811015612dec5781612dd28882612df6565b845260208401935060208301925050600181019050612dbf565b5050509392505050565b600081359050612e0581613dec565b92915050565b600081519050612e1a81613dec565b92915050565b600082601f830112612e3557612e34613a85565b5b8135612e45848260208601612d86565b91505092915050565b600081359050612e5d81613e03565b92915050565b600081519050612e7281613e03565b92915050565b600081359050612e8781613e1a565b92915050565b600081519050612e9c81613e1a565b92915050565b600060208284031215612eb857612eb7613a94565b5b6000612ec684828501612df6565b91505092915050565b600060208284031215612ee557612ee4613a94565b5b6000612ef384828501612e0b565b91505092915050565b60008060408385031215612f1357612f12613a94565b5b6000612f2185828601612df6565b9250506020612f3285828601612df6565b9150509250929050565b600080600060608486031215612f5557612f54613a94565b5b6000612f6386828701612df6565b9350506020612f7486828701612df6565b9250506040612f8586828701612e78565b9150509250925092565b60008060408385031215612fa657612fa5613a94565b5b6000612fb485828601612df6565b9250506020612fc585828601612e4e565b9150509250929050565b60008060408385031215612fe657612fe5613a94565b5b6000612ff485828601612df6565b925050602061300585828601612e78565b9150509250929050565b60006020828403121561302557613024613a94565b5b600082013567ffffffffffffffff81111561304357613042613a8f565b5b61304f84828501612e20565b91505092915050565b60006020828403121561306e5761306d613a94565b5b600061307c84828501612e4e565b91505092915050565b60006020828403121561309b5761309a613a94565b5b60006130a984828501612e63565b91505092915050565b6000602082840312156130c8576130c7613a94565b5b60006130d684828501612e78565b91505092915050565b6000806000606084860312156130f8576130f7613a94565b5b600061310686828701612e8d565b935050602061311786828701612e8d565b925050604061312886828701612e8d565b9150509250925092565b600061313e838361314a565b60208301905092915050565b613153816138b5565b82525050565b613162816138b5565b82525050565b60006131738261375b565b61317d818561377e565b93506131888361374b565b8060005b838110156131b95781516131a08882613132565b97506131ab83613771565b92505060018101905061318c565b5085935050505092915050565b6131cf816138c7565b82525050565b6131de8161390a565b82525050565b60006131ef82613766565b6131f9818561378f565b935061320981856020860161391c565b61321281613a99565b840191505092915050565b600061322a60238361378f565b915061323582613aaa565b604082019050919050565b600061324d602a8361378f565b915061325882613af9565b604082019050919050565b600061327060228361378f565b915061327b82613b48565b604082019050919050565b6000613293601b8361378f565b915061329e82613b97565b602082019050919050565b60006132b660268361378f565b91506132c182613bc0565b604082019050919050565b60006132d9602b8361378f565b91506132e482613c0f565b604082019050919050565b60006132fc602d8361378f565b915061330782613c5e565b604082019050919050565b600061331f60218361378f565b915061332a82613cad565b604082019050919050565b600061334260208361378f565b915061334d82613cfc565b602082019050919050565b600061336560258361378f565b915061337082613d25565b604082019050919050565b600061338860248361378f565b915061339382613d74565b604082019050919050565b60006133ab60178361378f565b91506133b682613dc3565b602082019050919050565b6133ca816138f3565b82525050565b6133d9816138fd565b82525050565b60006020820190506133f46000830184613159565b92915050565b600060408201905061340f6000830185613159565b61341c6020830184613159565b9392505050565b60006040820190506134386000830185613159565b61344560208301846133c1565b9392505050565b600060c0820190506134616000830189613159565b61346e60208301886133c1565b61347b60408301876131d5565b61348860608301866131d5565b6134956080830185613159565b6134a260a08301846133c1565b979650505050505050565b60006020820190506134c260008301846131c6565b92915050565b600060208201905081810360008301526134e281846131e4565b905092915050565b600060208201905081810360008301526135038161321d565b9050919050565b6000602082019050818103600083015261352381613240565b9050919050565b6000602082019050818103600083015261354381613263565b9050919050565b6000602082019050818103600083015261356381613286565b9050919050565b60006020820190508181036000830152613583816132a9565b9050919050565b600060208201905081810360008301526135a3816132cc565b9050919050565b600060208201905081810360008301526135c3816132ef565b9050919050565b600060208201905081810360008301526135e381613312565b9050919050565b6000602082019050818103600083015261360381613335565b9050919050565b6000602082019050818103600083015261362381613358565b9050919050565b600060208201905081810360008301526136438161337b565b9050919050565b600060208201905081810360008301526136638161339e565b9050919050565b600060208201905061367f60008301846133c1565b92915050565b600060a08201905061369a60008301886133c1565b6136a760208301876131d5565b81810360408301526136b98186613168565b90506136c86060830185613159565b6136d560808301846133c1565b9695505050505050565b60006020820190506136f460008301846133d0565b92915050565b6000613704613715565b9050613710828261394f565b919050565b6000604051905090565b600067ffffffffffffffff82111561373a57613739613a56565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006137ab826138f3565b91506137b6836138f3565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156137eb576137ea6139c9565b5b828201905092915050565b6000613801826138f3565b915061380c836138f3565b92508261381c5761381b6139f8565b5b828204905092915050565b6000613832826138f3565b915061383d836138f3565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613876576138756139c9565b5b828202905092915050565b600061388c826138f3565b9150613897836138f3565b9250828210156138aa576138a96139c9565b5b828203905092915050565b60006138c0826138d3565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000613915826138f3565b9050919050565b60005b8381101561393a57808201518184015260208101905061391f565b83811115613949576000848401525b50505050565b61395882613a99565b810181811067ffffffffffffffff8211171561397757613976613a56565b5b80604052505050565b600061398b826138f3565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156139be576139bd6139c9565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f416e74692d7768616c653a2057616c6c657420616d6f756e742065786365656460008201527f73206d6178206c696d6974000000000000000000000000000000000000000000602082015250565b7f416e74692d7768616c653a205472616e7366657220616d6f756e74206578636560008201527f656473206d6178206c696d697400000000000000000000000000000000000000602082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b613df5816138b5565b8114613e0057600080fd5b50565b613e0c816138c7565b8114613e1757600080fd5b50565b613e23816138f3565b8114613e2e57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212203b270cc0c869acf99ce7d0c8e5f0208196e250d9218eeef224f2a43a9b54dcc464736f6c63430008070033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000001eebb96428a48b3f33dfa2a52b3e2fff6978aca800000000000000000000000097e0344e6ba1da0ec62ef0a4cf230e6f6e397ae4
-----Decoded View---------------
Arg [0] : wallet1 (address): 0x1EeBB96428a48B3f33dfa2a52b3e2FfF6978aCA8
Arg [1] : wallet2 (address): 0x97e0344e6bA1Da0Ec62EF0A4Cf230E6f6e397ae4
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000001eebb96428a48b3f33dfa2a52b3e2fff6978aca8
Arg [1] : 00000000000000000000000097e0344e6ba1da0ec62ef0a4cf230e6f6e397ae4
Deployed Bytecode Sourcemap
3706:11862:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4384:50;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5921:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6773:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6198:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6942:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11958:88;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6107:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4816:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13403:195;;;;;;;;;;;;;:::i;:::-;;3967:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7263:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11163:100;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6301:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2785:148;;;;;;;;;;;;;:::i;:::-;;11271:108;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11387:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2571:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6012:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6447:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11782:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11498:130;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11636:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10258:897;;;;;;;;;;;;;:::i;:::-;;4024:52;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6622:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13610:194;;;;;;;;;;;;;:::i;:::-;;4384:50;;;;:::o;5921:83::-;5958:13;5991:5;;;;;;;;;;;;;;;;;5984:12;;5921:83;:::o;6773:161::-;6848:4;6865:39;6874:12;:10;:12::i;:::-;6888:7;6897:6;6865:8;:39::i;:::-;6922:4;6915:11;;6773:161;;;;:::o;6198:95::-;6251:7;4261:25;6271:14;;6198:95;:::o;6942:313::-;7040:4;7057:36;7067:6;7075:9;7086:6;7057:9;:36::i;:::-;7104:121;7113:6;7121:12;:10;:12::i;:::-;7135:89;7173:6;7135:89;;;;;;;;;;;;;;;;;:11;:19;7147:6;7135:19;;;;;;;;;;;;;;;:33;7155:12;:10;:12::i;:::-;7135:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7104:8;:121::i;:::-;7243:4;7236:11;;6942:313;;;;;:::o;11958:88::-;2708:12;:10;:12::i;:::-;2698:22;;:6;;;;;;;;;;:22;;;2690:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12033:5:::1;12018:4;:12;12023:6;12018:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;11958:88:::0;:::o;6107:83::-;6148:5;4753:1;6166:16;;6107:83;:::o;4816:28::-;;;;;;;;;;;;;:::o;13403:195::-;13469:15;;;;;;;;;;;13453:31;;:12;:10;:12::i;:::-;:31;;;13445:40;;;;;;13496:23;13522:24;13540:4;13522:9;:24::i;:::-;13496:50;;13557:33;13574:15;13557:16;:33::i;:::-;13434:164;13403:195::o;3967:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;7263:101::-;2708:12;:10;:12::i;:::-;2698:22;;:6;;;;;;;;;;:22;;;2690:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7351:5:::1;7333:15;;:23;;;;;;;;;;;;;;;;;;7263:101:::0;:::o;11163:100::-;2708:12;:10;:12::i;:::-;2698:22;;:6;;;;;;;;;;:22;;;2690:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11249:6:::1;11234:12;:21;;;;11163:100:::0;:::o;6301:138::-;6367:7;6394:37;6414:7;:16;6422:7;6414:16;;;;;;;;;;;;;;;;6394:19;:37::i;:::-;6387:44;;6301:138;;;:::o;2785:148::-;2708:12;:10;:12::i;:::-;2698:22;;:6;;;;;;;;;;:22;;;2690:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2892:1:::1;2855:40;;2876:6;::::0;::::1;;;;;;;;2855:40;;;;;;;;;;;;2923:1;2906:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2785:148::o:0;11271:108::-;2708:12;:10;:12::i;:::-;2698:22;;:6;;;;;;;;;;:22;;;2690:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11365:6:::1;11346:16;:25;;;;11271:108:::0;:::o;11387:103::-;2708:12;:10;:12::i;:::-;2698:22;;:6;;;;;;;;;;:22;;;2690:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11476:6:::1;11460:13;:22;;;;11387:103:::0;:::o;2571:79::-;2609:7;2636:6;;;;;;;;;;;2629:13;;2571:79;:::o;6012:87::-;6051:13;6084:7;;;;;;;;;;;;;;;;;6077:14;;6012:87;:::o;6447:167::-;6525:4;6542:42;6552:12;:10;:12::i;:::-;6566:9;6577:6;6542:9;:42::i;:::-;6602:4;6595:11;;6447:167;;;;:::o;11782:164::-;2708:12;:10;:12::i;:::-;2698:22;;:6;;;;;;;;;;:22;;;2690:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11856:6:::1;11851:88;11872:5;:12;11868:1;:16;11851:88;;;11923:4;11906;:14;11911:5;11917:1;11911:8;;;;;;;;:::i;:::-;;;;;;;;11906:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;11886:3;;;;;:::i;:::-;;;;11851:88;;;;11782:164:::0;:::o;11498:130::-;2708:12;:10;:12::i;:::-;2698:22;;:6;;;;;;;;;;:22;;;2690:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11612:8:::1;11583:17;:26;11601:7;11583:26;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;11498:130:::0;;:::o;11636:134::-;2708:12;:10;:12::i;:::-;2698:22;;:6;;;;;;;;;;:22;;;2690:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11754:8:::1;11723:19;:28;11743:7;11723:28;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;11636:134:::0;;:::o;10258:897::-;2708:12;:10;:12::i;:::-;2698:22;;:6;;;;;;;;;;:22;;;2690:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10322:11:::1;;;;;;;;;;;10321:12;10313:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;10374:35;10431:42;10374:100;;10503:16;10485:15;;:34;;;;;;;;;;;;;;;;;;10530:58;10547:4;10562:15;;;;;;;;;;;4261:25;10530:8;:58::i;:::-;10633:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10615:56;;;10680:4;10687:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10615:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10599:13;;:112;;;;;;;;;;;;;;;;;;10772:4;10724:19;:45;10752:15;;;;;;;;;;;10724:45;;;;;;;;;;;;;;;;:52;;;;;;;;;;;;;;;;;;10824:4;10787:19;:34;10807:13;;;;;;;;;;;10787:34;;;;;;;;;;;;;;;;:41;;;;;;;;;;;;;;;;;;10841:15;;;;;;;;;;;:31;;;10880:21;10911:4;10917:24;10935:4;10917:9;:24::i;:::-;10942:1;10944::::0;10946:7:::1;:5;:7::i;:::-;10954:15;10841:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10997:4;10983:11;;:18;;;;;;;;;;;;;;;;;;11030:4;11012:15;;:22;;;;;;;;;;;;;;;;;;11059:4;11045:11;;:18;;;;;;;;;;;;;;;;;;11083:13;;;;;;;;;;;11076:29;;;11114:15;;;;;;;;;;;11132:14;11076:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10302:853;10258:897::o:0;4024:52::-;;;;;;;;;;;;;;;;;;;;;;:::o;6622:143::-;6703:7;6730:11;:18;6742:5;6730:18;;;;;;;;;;;;;;;:27;6749:7;6730:27;;;;;;;;;;;;;;;;6723:34;;6622:143;;;;:::o;13610:194::-;13676:15;;;;;;;;;;;13660:31;;:12;:10;:12::i;:::-;:31;;;13652:40;;;;;;13703:26;13732:21;13703:50;;13764:32;13777:18;13764:12;:32::i;:::-;13641:163;13610:194::o;289:98::-;342:7;369:10;362:17;;289:98;:::o;7634:335::-;7744:1;7727:19;;:5;:19;;;;7719:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7825:1;7806:21;;:7;:21;;;;7798:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7907:6;7877:11;:18;7889:5;7877:18;;;;;;;;;;;;;;;:27;7896:7;7877:27;;;;;;;;;;;;;;;:36;;;;7945:7;7929:32;;7938:5;7929:32;;;7954:6;7929:32;;;;;;:::i;:::-;;;;;;;;7634:335;;;:::o;7977:1608::-;8081:1;8065:18;;:4;:18;;;;8057:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8158:1;8144:16;;:2;:16;;;;8136:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8240:6;8221:15;8231:4;8221:9;:15::i;:::-;:25;;8213:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;8314:7;:5;:7::i;:::-;8306:15;;:4;:15;;;;:32;;;;;8331:7;:5;:7::i;:::-;8325:13;;:2;:13;;;;8306:32;8302:1231;;;8366:4;:10;8371:4;8366:10;;;;;;;;;;;;;;;;;;;;;;;;;8365:11;:24;;;;;8381:4;:8;8386:2;8381:8;;;;;;;;;;;;;;;;;;;;;;;;;8380:9;8365:24;8357:33;;;;;;8412:19;:25;8432:4;8412:25;;;;;;;;;;;;;;;;;;;;;;;;;8411:26;:81;;;;8450:13;;;;;;;;;;;8442:21;;:4;:21;;;:49;;;;;8468:19;:23;8488:2;8468:23;;;;;;;;;;;;;;;;;;;;;;;;;8467:24;8442:49;8411:81;8407:202;;;8531:12;;8521:6;:22;;8513:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;8407:202;8628:19;:23;8648:2;8628:23;;;;;;;;;;;;;;;;;;;;;;;;;8623:163;;8706:16;;8696:6;8680:13;8690:2;8680:9;:13::i;:::-;:22;;;;:::i;:::-;:42;;8672:98;;;;;;;;;;;;:::i;:::-;;;;;;;;;8623:163;8814:13;;;;;;;;;;;8806:21;;:4;:21;;;:55;;;;;8845:15;;;;;;;;;;;8831:30;;:2;:30;;;;8806:55;:81;;;;;8866:17;:21;8884:2;8866:21;;;;;;;;;;;;;;;;;;;;;;;;;8865:22;8806:81;:100;;;;;8891:15;;;;;;;;;;;8806:100;8802:273;;;8979:15;8964:8;:12;8973:2;8964:12;;;;;;;;;;;;;;;;:30;8956:39;;;;;;9048:10;9029:15;:30;;;;:::i;:::-;9014:8;:12;9023:2;9014:12;;;;;;;;;;;;;;;:45;;;;8802:273;9091:28;9122:24;9140:4;9122:9;:24::i;:::-;9091:55;;9168:6;;;;;;;;;;;9167:7;:32;;;;;9186:13;;;;;;;;;;;9178:21;;:4;:21;;;;9167:32;:47;;;;;9203:11;;;;;;;;;;;9167:47;:88;;;;;9242:13;;9218:20;:37;;9167:88;9163:359;;;9276:38;9293:20;9276:16;:38::i;:::-;9333:26;9362:21;9333:50;;9426:1;9405:18;:22;9402:105;;;9452:35;9465:21;9452:12;:35::i;:::-;9402:105;9257:265;9163:359;8340:1193;8302:1231;9547:30;9562:4;9567:2;9570:6;9547:14;:30::i;:::-;7977:1608;;;:::o;1426:190::-;1512:7;1545:1;1540;:6;;1548:12;1532:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1572:9;1588:1;1584;:5;;;;:::i;:::-;1572:17;;1607:1;1600:8;;;1426:190;;;;;:::o;9593:483::-;5143:4;5134:6;;:13;;;;;;;;;;;;;;;;;;9671:21:::1;9709:1;9695:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9671:40;;9740:4;9722;9727:1;9722:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9766:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9756:4;9761:1;9756:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9799:62;9816:4;9831:15;;;;;;;;;;;9849:11;9799:8;:62::i;:::-;9872:15;;;;;;;;;;;:66;;;9953:11;9979:1;9995:4;10022;10042:15;9872:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9660:416;5179:5:::0;5170:6;;:14;;;;;;;;;;;;;;;;;;9593:483;:::o;7372:254::-;7439:7;7478;;7467;:18;;7459:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;7543:19;7566:10;:8;:10::i;:::-;7543:33;;7594:24;7606:11;7594:7;:11;;:24;;;;:::i;:::-;7587:31;;;7372:254;;;:::o;10092:154::-;10149:15;;;;;;;;;;;:24;;:39;10174:13;10185:1;10174:6;:10;;:13;;;;:::i;:::-;10149:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10199:15;;;;;;;;;;;:24;;:39;10224:13;10235:1;10224:6;:10;;:13;;;;:::i;:::-;10199:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10092:154;:::o;12062:146::-;12156:44;12174:6;12182:9;12193:6;12156:17;:44::i;:::-;12062:146;;;:::o;15132:163::-;15173:7;15194:15;15211;15230:19;:17;:19::i;:::-;15193:56;;;;15267:20;15279:7;15267;:11;;:20;;;;:::i;:::-;15260:27;;;;15132:163;:::o;1878:132::-;1936:7;1963:39;1967:1;1970;1963:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1956:46;;1878:132;;;;:::o;12216:763::-;12315:15;12332:23;12357:16;12375:23;12400:16;12418:13;12435:19;12446:7;12435:10;:19::i;:::-;12314:140;;;;;;;;;;;;12493:28;12513:7;12493;:15;12501:6;12493:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;12475:7;:15;12483:6;12475:15;;;;;;;;;;;;;;;:46;;;;12538:17;:25;12556:6;12538:25;;;;;;;;;;;;;;;;;;;;;;;;;:57;;;;12567:17;:28;12585:9;12567:28;;;;;;;;;;;;;;;;;;;;;;;;;12538:57;12534:438;;;12633:31;12656:7;12633;:18;12641:9;12633:18;;;;;;;;;;;;;;;;:22;;:31;;;;:::i;:::-;12612:7;:18;12620:9;12612:18;;;;;;;;;;;;;;;:52;;;;12704:9;12687:36;;12696:6;12687:36;;;12715:7;12687:36;;;;;;:::i;:::-;;;;;;;;12534:438;;;12777:39;12800:15;12777:7;:18;12785:9;12777:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;12756:7;:18;12764:9;12756:18;;;;;;;;;;;;;;;:60;;;;12832:16;12842:5;12832:9;:16::i;:::-;12863:31;12875:8;12885;12863:11;:31::i;:::-;12933:9;12916:44;;12925:6;12916:44;;;12944:15;12916:44;;;;;;:::i;:::-;;;;;;;;12534:438;12303:676;;;;;;12216:763;;;:::o;15303:262::-;15353:7;15362;15382:15;15400:7;;15382:25;;15418:15;4261:25;15418;;15474:20;4261:25;15474:7;;:11;;:20;;;;:::i;:::-;15464:7;:30;15460:61;;;15504:7;;4261:25;15496;;;;;;;;15460:61;15540:7;15549;15532:25;;;;;;15303:262;;;:::o;2018:189::-;2104:7;2136:1;2132;:5;2139:12;2124:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2163:9;2179:1;2175;:5;;;;:::i;:::-;2163:17;;2198:1;2191:8;;;2018:189;;;;;:::o;13812:499::-;13871:7;13880;13889;13898;13907;13916;13937:23;13962:16;13980:13;13997:46;14009:7;14018:14;;14034:8;;13997:11;:46::i;:::-;13936:107;;;;;;14056:19;14079:10;:8;:10::i;:::-;14056:33;;14101:15;14118:23;14143:16;14163:50;14175:7;14184:8;14194:5;14201:11;14163;:50::i;:::-;14100:113;;;;;;14234:7;14243:15;14260:8;14270:15;14287:8;14297:5;14226:77;;;;;;;;;;;;;;;;;;;13812:499;;;;;;;:::o;1282:136::-;1340:7;1367:43;1371:1;1374;1367:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1360:50;;1282:136;;;;:::o;1095:179::-;1153:7;1173:9;1189:1;1185;:5;;;;:::i;:::-;1173:17;;1214:1;1209;:6;;1201:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1265:1;1258:8;;;1095:179;;;;:::o;12987:212::-;13040:19;13063:10;:8;:10::i;:::-;13040:33;;13084:13;13100:22;13110:11;13100:5;:9;;:22;;;;:::i;:::-;13084:38;;13158:33;13185:5;13158:7;:22;13174:4;13158:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;13133:7;:22;13149:4;13133:22;;;;;;;;;;;;;;;:58;;;;13029:170;;12987:212;:::o;13207:147::-;13285:17;13297:4;13285:7;;:11;;:17;;;;:::i;:::-;13275:7;:27;;;;13326:20;13341:4;13326:10;;:14;;:20;;;;:::i;:::-;13313:10;:33;;;;13207:147;;:::o;14319:371::-;14416:7;14425;14434;14454:16;14473:32;14501:3;14473:23;14485:10;14473:7;:11;;:23;;;;:::i;:::-;:27;;:32;;;;:::i;:::-;14454:51;;14516:13;14532:29;14557:3;14532:20;14544:7;14532;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;14516:45;;14572:23;14598:32;14624:5;14598:21;14610:8;14598:7;:11;;:21;;;;:::i;:::-;:25;;:32;;;;:::i;:::-;14572:58;;14649:15;14666:8;14676:5;14641:41;;;;;;;;;14319:371;;;;;;;:::o;14698:429::-;14812:7;14821;14830;14850:15;14868:24;14880:11;14868:7;:11;;:24;;;;:::i;:::-;14850:42;;14903:16;14922:25;14935:11;14922:8;:12;;:25;;;;:::i;:::-;14903:44;;14958:13;14974:22;14984:11;14974:5;:9;;:22;;;;:::i;:::-;14958:38;;15007:23;15033:32;15059:5;15033:21;15045:8;15033:7;:11;;:21;;;;:::i;:::-;:25;;:32;;;;:::i;:::-;15007:58;;15084:7;15093:15;15110:8;15076:43;;;;;;;;;;14698:429;;;;;;;;:::o;1624:246::-;1682:7;1711:1;1706;:6;1702:47;;;1736:1;1729:8;;;;1702:47;1759:9;1775:1;1771;:5;;;;:::i;:::-;1759:17;;1804:1;1799;1795;:5;;;;:::i;:::-;:10;1787:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1861:1;1854:8;;;1624:246;;;;;:::o;24:722: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:143;;;404:79;;:::i;:::-;350:143;517:1;502:238;527:6;524:1;521:13;502:238;;;595:3;624:37;657:3;645:10;624:37;:::i;:::-;619:3;612:50;691:4;686:3;682:14;675:21;;725:4;720:3;716:14;709:21;;562:178;549:1;546;542:9;537:14;;502:238;;;506:14;126:620;;24:722;;;;;:::o;752:139::-;798:5;836:6;823:20;814:29;;852:33;879:5;852:33;:::i;:::-;752:139;;;;:::o;897:143::-;954:5;985:6;979:13;970:22;;1001:33;1028:5;1001:33;:::i;:::-;897:143;;;;:::o;1063:370::-;1134:5;1183:3;1176:4;1168:6;1164:17;1160:27;1150:122;;1191:79;;:::i;:::-;1150:122;1308:6;1295:20;1333:94;1423:3;1415:6;1408:4;1400:6;1396:17;1333:94;:::i;:::-;1324:103;;1140:293;1063:370;;;;:::o;1439:133::-;1482:5;1520:6;1507:20;1498:29;;1536:30;1560:5;1536:30;:::i;:::-;1439:133;;;;:::o;1578:137::-;1632:5;1663:6;1657:13;1648:22;;1679:30;1703:5;1679:30;:::i;:::-;1578:137;;;;:::o;1721:139::-;1767:5;1805:6;1792:20;1783:29;;1821:33;1848:5;1821:33;:::i;:::-;1721:139;;;;:::o;1866:143::-;1923:5;1954:6;1948:13;1939:22;;1970:33;1997:5;1970:33;:::i;:::-;1866:143;;;;:::o;2015:329::-;2074:6;2123:2;2111:9;2102:7;2098:23;2094:32;2091:119;;;2129:79;;:::i;:::-;2091:119;2249:1;2274:53;2319:7;2310:6;2299:9;2295:22;2274:53;:::i;:::-;2264:63;;2220:117;2015:329;;;;:::o;2350:351::-;2420:6;2469:2;2457:9;2448:7;2444:23;2440:32;2437:119;;;2475:79;;:::i;:::-;2437:119;2595:1;2620:64;2676:7;2667:6;2656:9;2652:22;2620:64;:::i;:::-;2610:74;;2566:128;2350:351;;;;:::o;2707:474::-;2775:6;2783;2832:2;2820:9;2811:7;2807:23;2803:32;2800:119;;;2838:79;;:::i;:::-;2800:119;2958:1;2983:53;3028:7;3019:6;3008:9;3004:22;2983:53;:::i;:::-;2973:63;;2929:117;3085:2;3111:53;3156:7;3147:6;3136:9;3132:22;3111:53;:::i;:::-;3101:63;;3056:118;2707:474;;;;;:::o;3187:619::-;3264:6;3272;3280;3329:2;3317:9;3308:7;3304:23;3300:32;3297:119;;;3335:79;;:::i;:::-;3297:119;3455:1;3480:53;3525:7;3516:6;3505:9;3501:22;3480:53;:::i;:::-;3470:63;;3426:117;3582:2;3608:53;3653:7;3644:6;3633:9;3629:22;3608:53;:::i;:::-;3598:63;;3553:118;3710:2;3736:53;3781:7;3772:6;3761:9;3757:22;3736:53;:::i;:::-;3726:63;;3681:118;3187:619;;;;;:::o;3812:468::-;3877:6;3885;3934:2;3922:9;3913:7;3909:23;3905:32;3902:119;;;3940:79;;:::i;:::-;3902:119;4060:1;4085:53;4130:7;4121:6;4110:9;4106:22;4085:53;:::i;:::-;4075:63;;4031:117;4187:2;4213:50;4255:7;4246:6;4235:9;4231:22;4213:50;:::i;:::-;4203:60;;4158:115;3812:468;;;;;:::o;4286:474::-;4354:6;4362;4411:2;4399:9;4390:7;4386:23;4382:32;4379:119;;;4417:79;;:::i;:::-;4379:119;4537:1;4562:53;4607:7;4598:6;4587:9;4583:22;4562:53;:::i;:::-;4552:63;;4508:117;4664:2;4690:53;4735:7;4726:6;4715:9;4711:22;4690:53;:::i;:::-;4680:63;;4635:118;4286:474;;;;;:::o;4766:539::-;4850:6;4899:2;4887:9;4878:7;4874:23;4870:32;4867:119;;;4905:79;;:::i;:::-;4867:119;5053:1;5042:9;5038:17;5025:31;5083:18;5075:6;5072:30;5069:117;;;5105:79;;:::i;:::-;5069:117;5210:78;5280:7;5271:6;5260:9;5256:22;5210:78;:::i;:::-;5200:88;;4996:302;4766:539;;;;:::o;5311:323::-;5367:6;5416:2;5404:9;5395:7;5391:23;5387:32;5384:119;;;5422:79;;:::i;:::-;5384:119;5542:1;5567:50;5609:7;5600:6;5589:9;5585:22;5567:50;:::i;:::-;5557:60;;5513:114;5311:323;;;;:::o;5640:345::-;5707:6;5756:2;5744:9;5735:7;5731:23;5727:32;5724:119;;;5762:79;;:::i;:::-;5724:119;5882:1;5907:61;5960:7;5951:6;5940:9;5936:22;5907:61;:::i;:::-;5897:71;;5853:125;5640:345;;;;:::o;5991:329::-;6050:6;6099:2;6087:9;6078:7;6074:23;6070:32;6067:119;;;6105:79;;:::i;:::-;6067:119;6225:1;6250:53;6295:7;6286:6;6275:9;6271:22;6250:53;:::i;:::-;6240:63;;6196:117;5991:329;;;;:::o;6326:663::-;6414:6;6422;6430;6479:2;6467:9;6458:7;6454:23;6450:32;6447:119;;;6485:79;;:::i;:::-;6447:119;6605:1;6630:64;6686:7;6677:6;6666:9;6662:22;6630:64;:::i;:::-;6620:74;;6576:128;6743:2;6769:64;6825:7;6816:6;6805:9;6801:22;6769:64;:::i;:::-;6759:74;;6714:129;6882:2;6908:64;6964:7;6955:6;6944:9;6940:22;6908:64;:::i;:::-;6898:74;;6853:129;6326:663;;;;;:::o;6995:179::-;7064:10;7085:46;7127:3;7119:6;7085:46;:::i;:::-;7163:4;7158:3;7154:14;7140:28;;6995:179;;;;:::o;7180:108::-;7257:24;7275:5;7257:24;:::i;:::-;7252:3;7245:37;7180:108;;:::o;7294:118::-;7381:24;7399:5;7381:24;:::i;:::-;7376:3;7369:37;7294:118;;:::o;7448:732::-;7567:3;7596:54;7644:5;7596:54;:::i;:::-;7666:86;7745:6;7740:3;7666:86;:::i;:::-;7659:93;;7776:56;7826:5;7776:56;:::i;:::-;7855:7;7886:1;7871:284;7896:6;7893:1;7890:13;7871:284;;;7972:6;7966:13;7999:63;8058:3;8043:13;7999:63;:::i;:::-;7992:70;;8085:60;8138:6;8085:60;:::i;:::-;8075:70;;7931:224;7918:1;7915;7911:9;7906:14;;7871:284;;;7875:14;8171:3;8164:10;;7572:608;;;7448:732;;;;:::o;8186:109::-;8267:21;8282:5;8267:21;:::i;:::-;8262:3;8255:34;8186:109;;:::o;8301:147::-;8396:45;8435:5;8396:45;:::i;:::-;8391:3;8384:58;8301:147;;:::o;8454:364::-;8542:3;8570:39;8603:5;8570:39;:::i;:::-;8625:71;8689:6;8684:3;8625:71;:::i;:::-;8618:78;;8705:52;8750:6;8745:3;8738:4;8731:5;8727:16;8705:52;:::i;:::-;8782:29;8804:6;8782:29;:::i;:::-;8777:3;8773:39;8766:46;;8546:272;8454:364;;;;:::o;8824:366::-;8966:3;8987:67;9051:2;9046:3;8987:67;:::i;:::-;8980:74;;9063:93;9152:3;9063:93;:::i;:::-;9181:2;9176:3;9172:12;9165:19;;8824:366;;;:::o;9196:::-;9338:3;9359:67;9423:2;9418:3;9359:67;:::i;:::-;9352:74;;9435:93;9524:3;9435:93;:::i;:::-;9553:2;9548:3;9544:12;9537:19;;9196:366;;;:::o;9568:::-;9710:3;9731:67;9795:2;9790:3;9731:67;:::i;:::-;9724:74;;9807:93;9896:3;9807:93;:::i;:::-;9925:2;9920:3;9916:12;9909:19;;9568:366;;;:::o;9940:::-;10082:3;10103:67;10167:2;10162:3;10103:67;:::i;:::-;10096:74;;10179:93;10268:3;10179:93;:::i;:::-;10297:2;10292:3;10288:12;10281:19;;9940:366;;;:::o;10312:::-;10454:3;10475:67;10539:2;10534:3;10475:67;:::i;:::-;10468:74;;10551:93;10640:3;10551:93;:::i;:::-;10669:2;10664:3;10660:12;10653:19;;10312:366;;;:::o;10684:::-;10826:3;10847:67;10911:2;10906:3;10847:67;:::i;:::-;10840:74;;10923:93;11012:3;10923:93;:::i;:::-;11041:2;11036:3;11032:12;11025:19;;10684:366;;;:::o;11056:::-;11198:3;11219:67;11283:2;11278:3;11219:67;:::i;:::-;11212:74;;11295:93;11384:3;11295:93;:::i;:::-;11413:2;11408:3;11404:12;11397:19;;11056:366;;;:::o;11428:::-;11570:3;11591:67;11655:2;11650:3;11591:67;:::i;:::-;11584:74;;11667:93;11756:3;11667:93;:::i;:::-;11785:2;11780:3;11776:12;11769:19;;11428:366;;;:::o;11800:::-;11942:3;11963:67;12027:2;12022:3;11963:67;:::i;:::-;11956:74;;12039:93;12128:3;12039:93;:::i;:::-;12157:2;12152:3;12148:12;12141:19;;11800:366;;;:::o;12172:::-;12314:3;12335:67;12399:2;12394:3;12335:67;:::i;:::-;12328:74;;12411:93;12500:3;12411:93;:::i;:::-;12529:2;12524:3;12520:12;12513:19;;12172:366;;;:::o;12544:::-;12686:3;12707:67;12771:2;12766:3;12707:67;:::i;:::-;12700:74;;12783:93;12872:3;12783:93;:::i;:::-;12901:2;12896:3;12892:12;12885:19;;12544:366;;;:::o;12916:::-;13058:3;13079:67;13143:2;13138:3;13079:67;:::i;:::-;13072:74;;13155:93;13244:3;13155:93;:::i;:::-;13273:2;13268:3;13264:12;13257:19;;12916:366;;;:::o;13288:118::-;13375:24;13393:5;13375:24;:::i;:::-;13370:3;13363:37;13288:118;;:::o;13412:112::-;13495:22;13511:5;13495:22;:::i;:::-;13490:3;13483:35;13412:112;;:::o;13530:222::-;13623:4;13661:2;13650:9;13646:18;13638:26;;13674:71;13742:1;13731:9;13727:17;13718:6;13674:71;:::i;:::-;13530:222;;;;:::o;13758:332::-;13879:4;13917:2;13906:9;13902:18;13894:26;;13930:71;13998:1;13987:9;13983:17;13974:6;13930:71;:::i;:::-;14011:72;14079:2;14068:9;14064:18;14055:6;14011:72;:::i;:::-;13758:332;;;;;:::o;14096:::-;14217:4;14255:2;14244:9;14240:18;14232:26;;14268:71;14336:1;14325:9;14321:17;14312:6;14268:71;:::i;:::-;14349:72;14417:2;14406:9;14402:18;14393:6;14349:72;:::i;:::-;14096:332;;;;;:::o;14434:807::-;14683:4;14721:3;14710:9;14706:19;14698:27;;14735:71;14803:1;14792:9;14788:17;14779:6;14735:71;:::i;:::-;14816:72;14884:2;14873:9;14869:18;14860:6;14816:72;:::i;:::-;14898:80;14974:2;14963:9;14959:18;14950:6;14898:80;:::i;:::-;14988;15064:2;15053:9;15049:18;15040:6;14988:80;:::i;:::-;15078:73;15146:3;15135:9;15131:19;15122:6;15078:73;:::i;:::-;15161;15229:3;15218:9;15214:19;15205:6;15161:73;:::i;:::-;14434:807;;;;;;;;;:::o;15247:210::-;15334:4;15372:2;15361:9;15357:18;15349:26;;15385:65;15447:1;15436:9;15432:17;15423:6;15385:65;:::i;:::-;15247:210;;;;:::o;15463:313::-;15576:4;15614:2;15603:9;15599:18;15591:26;;15663:9;15657:4;15653:20;15649:1;15638:9;15634:17;15627:47;15691:78;15764:4;15755:6;15691:78;:::i;:::-;15683:86;;15463:313;;;;:::o;15782:419::-;15948:4;15986:2;15975:9;15971:18;15963:26;;16035:9;16029:4;16025:20;16021:1;16010:9;16006:17;15999:47;16063:131;16189:4;16063:131;:::i;:::-;16055:139;;15782:419;;;:::o;16207:::-;16373:4;16411:2;16400:9;16396:18;16388:26;;16460:9;16454:4;16450:20;16446:1;16435:9;16431:17;16424:47;16488:131;16614:4;16488:131;:::i;:::-;16480:139;;16207:419;;;:::o;16632:::-;16798:4;16836:2;16825:9;16821:18;16813:26;;16885:9;16879:4;16875:20;16871:1;16860:9;16856:17;16849:47;16913:131;17039:4;16913:131;:::i;:::-;16905:139;;16632:419;;;:::o;17057:::-;17223:4;17261:2;17250:9;17246:18;17238:26;;17310:9;17304:4;17300:20;17296:1;17285:9;17281:17;17274:47;17338:131;17464:4;17338:131;:::i;:::-;17330:139;;17057:419;;;:::o;17482:::-;17648:4;17686:2;17675:9;17671:18;17663:26;;17735:9;17729:4;17725:20;17721:1;17710:9;17706:17;17699:47;17763:131;17889:4;17763:131;:::i;:::-;17755:139;;17482:419;;;:::o;17907:::-;18073:4;18111:2;18100:9;18096:18;18088:26;;18160:9;18154:4;18150:20;18146:1;18135:9;18131:17;18124:47;18188:131;18314:4;18188:131;:::i;:::-;18180:139;;17907:419;;;:::o;18332:::-;18498:4;18536:2;18525:9;18521:18;18513:26;;18585:9;18579:4;18575:20;18571:1;18560:9;18556:17;18549:47;18613:131;18739:4;18613:131;:::i;:::-;18605:139;;18332:419;;;:::o;18757:::-;18923:4;18961:2;18950:9;18946:18;18938:26;;19010:9;19004:4;19000:20;18996:1;18985:9;18981:17;18974:47;19038:131;19164:4;19038:131;:::i;:::-;19030:139;;18757:419;;;:::o;19182:::-;19348:4;19386:2;19375:9;19371:18;19363:26;;19435:9;19429:4;19425:20;19421:1;19410:9;19406:17;19399:47;19463:131;19589:4;19463:131;:::i;:::-;19455:139;;19182:419;;;:::o;19607:::-;19773:4;19811:2;19800:9;19796:18;19788:26;;19860:9;19854:4;19850:20;19846:1;19835:9;19831:17;19824:47;19888:131;20014:4;19888:131;:::i;:::-;19880:139;;19607:419;;;:::o;20032:::-;20198:4;20236:2;20225:9;20221:18;20213:26;;20285:9;20279:4;20275:20;20271:1;20260:9;20256:17;20249:47;20313:131;20439:4;20313:131;:::i;:::-;20305:139;;20032:419;;;:::o;20457:::-;20623:4;20661:2;20650:9;20646:18;20638:26;;20710:9;20704:4;20700:20;20696:1;20685:9;20681:17;20674:47;20738:131;20864:4;20738:131;:::i;:::-;20730:139;;20457:419;;;:::o;20882:222::-;20975:4;21013:2;21002:9;20998:18;20990:26;;21026:71;21094:1;21083:9;21079:17;21070:6;21026:71;:::i;:::-;20882:222;;;;:::o;21110:831::-;21373:4;21411:3;21400:9;21396:19;21388:27;;21425:71;21493:1;21482:9;21478:17;21469:6;21425:71;:::i;:::-;21506:80;21582:2;21571:9;21567:18;21558:6;21506:80;:::i;:::-;21633:9;21627:4;21623:20;21618:2;21607:9;21603:18;21596:48;21661:108;21764:4;21755:6;21661:108;:::i;:::-;21653:116;;21779:72;21847:2;21836:9;21832:18;21823:6;21779:72;:::i;:::-;21861:73;21929:3;21918:9;21914:19;21905:6;21861:73;:::i;:::-;21110:831;;;;;;;;:::o;21947:214::-;22036:4;22074:2;22063:9;22059:18;22051:26;;22087:67;22151:1;22140:9;22136:17;22127:6;22087:67;:::i;:::-;21947:214;;;;:::o;22167:129::-;22201:6;22228:20;;:::i;:::-;22218:30;;22257:33;22285:4;22277:6;22257:33;:::i;:::-;22167:129;;;:::o;22302:75::-;22335:6;22368:2;22362:9;22352:19;;22302:75;:::o;22383:311::-;22460:4;22550:18;22542:6;22539:30;22536:56;;;22572:18;;:::i;:::-;22536:56;22622:4;22614:6;22610:17;22602:25;;22682:4;22676;22672:15;22664:23;;22383:311;;;:::o;22700:132::-;22767:4;22790:3;22782:11;;22820:4;22815:3;22811:14;22803:22;;22700:132;;;:::o;22838:114::-;22905:6;22939:5;22933:12;22923:22;;22838:114;;;:::o;22958:99::-;23010:6;23044:5;23038:12;23028:22;;22958:99;;;:::o;23063:113::-;23133:4;23165;23160:3;23156:14;23148:22;;23063:113;;;:::o;23182:184::-;23281:11;23315:6;23310:3;23303:19;23355:4;23350:3;23346:14;23331:29;;23182:184;;;;:::o;23372:169::-;23456:11;23490:6;23485:3;23478:19;23530:4;23525:3;23521:14;23506:29;;23372:169;;;;:::o;23547:305::-;23587:3;23606:20;23624:1;23606:20;:::i;:::-;23601:25;;23640:20;23658:1;23640:20;:::i;:::-;23635:25;;23794:1;23726:66;23722:74;23719:1;23716:81;23713:107;;;23800:18;;:::i;:::-;23713:107;23844:1;23841;23837:9;23830:16;;23547:305;;;;:::o;23858:185::-;23898:1;23915:20;23933:1;23915:20;:::i;:::-;23910:25;;23949:20;23967:1;23949:20;:::i;:::-;23944:25;;23988:1;23978:35;;23993:18;;:::i;:::-;23978:35;24035:1;24032;24028:9;24023:14;;23858:185;;;;:::o;24049:348::-;24089:7;24112:20;24130:1;24112:20;:::i;:::-;24107:25;;24146:20;24164:1;24146:20;:::i;:::-;24141:25;;24334:1;24266:66;24262:74;24259:1;24256:81;24251:1;24244:9;24237:17;24233:105;24230:131;;;24341:18;;:::i;:::-;24230:131;24389:1;24386;24382:9;24371:20;;24049:348;;;;:::o;24403:191::-;24443:4;24463:20;24481:1;24463:20;:::i;:::-;24458:25;;24497:20;24515:1;24497:20;:::i;:::-;24492:25;;24536:1;24533;24530:8;24527:34;;;24541:18;;:::i;:::-;24527:34;24586:1;24583;24579:9;24571:17;;24403:191;;;;:::o;24600:96::-;24637:7;24666:24;24684:5;24666:24;:::i;:::-;24655:35;;24600:96;;;:::o;24702:90::-;24736:7;24779:5;24772:13;24765:21;24754:32;;24702:90;;;:::o;24798:126::-;24835:7;24875:42;24868:5;24864:54;24853:65;;24798:126;;;:::o;24930:77::-;24967:7;24996:5;24985:16;;24930:77;;;:::o;25013:86::-;25048:7;25088:4;25081:5;25077:16;25066:27;;25013:86;;;:::o;25105:121::-;25163:9;25196:24;25214:5;25196:24;:::i;:::-;25183:37;;25105:121;;;:::o;25232:307::-;25300:1;25310:113;25324:6;25321:1;25318:13;25310:113;;;25409:1;25404:3;25400:11;25394:18;25390:1;25385:3;25381:11;25374:39;25346:2;25343:1;25339:10;25334:15;;25310:113;;;25441:6;25438:1;25435:13;25432:101;;;25521:1;25512:6;25507:3;25503:16;25496:27;25432:101;25281:258;25232:307;;;:::o;25545:281::-;25628:27;25650:4;25628:27;:::i;:::-;25620:6;25616:40;25758:6;25746:10;25743:22;25722:18;25710:10;25707:34;25704:62;25701:88;;;25769:18;;:::i;:::-;25701:88;25809:10;25805:2;25798:22;25588:238;25545:281;;:::o;25832:233::-;25871:3;25894:24;25912:5;25894:24;:::i;:::-;25885:33;;25940:66;25933:5;25930:77;25927:103;;;26010:18;;:::i;:::-;25927:103;26057:1;26050:5;26046:13;26039:20;;25832:233;;;:::o;26071:180::-;26119:77;26116:1;26109:88;26216:4;26213:1;26206:15;26240:4;26237:1;26230:15;26257:180;26305:77;26302:1;26295:88;26402:4;26399:1;26392:15;26426:4;26423:1;26416:15;26443:180;26491:77;26488:1;26481:88;26588:4;26585:1;26578:15;26612:4;26609:1;26602:15;26629:180;26677:77;26674:1;26667:88;26774:4;26771:1;26764:15;26798:4;26795:1;26788:15;26815:117;26924:1;26921;26914:12;26938:117;27047:1;27044;27037:12;27061:117;27170:1;27167;27160:12;27184:117;27293:1;27290;27283:12;27307:102;27348:6;27399:2;27395:7;27390:2;27383:5;27379:14;27375:28;27365:38;;27307:102;;;:::o;27415:222::-;27555:34;27551:1;27543:6;27539:14;27532:58;27624:5;27619:2;27611:6;27607:15;27600:30;27415:222;:::o;27643:229::-;27783:34;27779:1;27771:6;27767:14;27760:58;27852:12;27847:2;27839:6;27835:15;27828:37;27643:229;:::o;27878:221::-;28018:34;28014:1;28006:6;28002:14;27995:58;28087:4;28082:2;28074:6;28070:15;28063:29;27878:221;:::o;28105:177::-;28245:29;28241:1;28233:6;28229:14;28222:53;28105:177;:::o;28288:225::-;28428:34;28424:1;28416:6;28412:14;28405:58;28497:8;28492:2;28484:6;28480:15;28473:33;28288:225;:::o;28519:230::-;28659:34;28655:1;28647:6;28643:14;28636:58;28728:13;28723:2;28715:6;28711:15;28704:38;28519:230;:::o;28755:232::-;28895:34;28891:1;28883:6;28879:14;28872:58;28964:15;28959:2;28951:6;28947:15;28940:40;28755:232;:::o;28993:220::-;29133:34;29129:1;29121:6;29117:14;29110:58;29202:3;29197:2;29189:6;29185:15;29178:28;28993:220;:::o;29219:182::-;29359:34;29355:1;29347:6;29343:14;29336:58;29219:182;:::o;29407:224::-;29547:34;29543:1;29535:6;29531:14;29524:58;29616:7;29611:2;29603:6;29599:15;29592:32;29407:224;:::o;29637:223::-;29777:34;29773:1;29765:6;29761:14;29754:58;29846:6;29841:2;29833:6;29829:15;29822:31;29637:223;:::o;29866:173::-;30006:25;30002:1;29994:6;29990:14;29983:49;29866:173;:::o;30045:122::-;30118:24;30136:5;30118:24;:::i;:::-;30111:5;30108:35;30098:63;;30157:1;30154;30147:12;30098:63;30045:122;:::o;30173:116::-;30243:21;30258:5;30243:21;:::i;:::-;30236:5;30233:32;30223:60;;30279:1;30276;30269:12;30223:60;30173:116;:::o;30295:122::-;30368:24;30386:5;30368:24;:::i;:::-;30361:5;30358:35;30348:63;;30407:1;30404;30397:12;30348:63;30295:122;:::o
Swarm Source
ipfs://3b270cc0c869acf99ce7d0c8e5f0208196e250d9218eeef224f2a43a9b54dcc4
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.