Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
100,000,000,000 MEGAMONO
Holders
83
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
933,537,141.23879959 MEGAMONOValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
MEGAMONO
Compiler Version
v0.8.4+commit.c7e474f2
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-10-26 */ //SPDX-License-Identifier: MIT pragma solidity ^0.8.4; 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; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } interface IERC20 { function totalSupply() external view returns (uint256); function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); function getOwner() external view returns (address); 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); } abstract contract Auth { address internal owner; constructor(address _owner) { owner = _owner; } modifier onlyOwner() { require(msg.sender == owner, "Only contract owner can call this function"); _; } function transferOwnership(address payable newOwner) external onlyOwner { owner = newOwner; emit OwnershipTransferred(newOwner); } function renounceOwnership() external onlyOwner { owner = address(0); emit OwnershipTransferred(address(0)); } event OwnershipTransferred(address owner); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external; function WETH() external pure returns (address); } contract MEGAMONO is IERC20, Auth { using SafeMath for uint256; string constant _name = "Mega Mononoke"; string constant _symbol = "MEGAMONO"; uint8 constant _decimals = 9; uint256 constant _totalSupply = 100 * (10**9) * (10 ** _decimals); uint32 _smd; uint32 _smr; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) _allowances; mapping (address => bool) private _noFees; bool public tradingOpen; uint256 public maxTxAmount; uint256 public maxWalletAmount; address private _uniLpAddr; uint8 public taxRate = 10; uint8 private _taxShares1 = 50; uint8 private _taxShares2 = 25; uint8 private _taxShares3 = 25; address payable private _taxWallet1 = payable(0xd95dE4DBa6ac67f78e5508757e62A04f428D28D8); address payable private _taxWallet2 = payable(0xe27653708FF0c5418631d26B27d08F3Db612027a); address payable private _taxWallet3 = payable(0x4d9043eb01e4Cf5BaD8b4574418f2562661C036C); bool public taxAutoSwap = false; bool private _inTaxSwap = false; address private _uniswapV2RouterAddress = address(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); IUniswapV2Router02 private uniswapV2Router; modifier lockTaxSwap { _inTaxSwap = true; _; _inTaxSwap = false; } // constructor () Auth(msg.sender) { constructor (uint32 smd, uint32 smr) Auth(msg.sender) { _balances[owner] = _totalSupply; tradingOpen = false; maxTxAmount = _totalSupply; maxWalletAmount = _totalSupply; uniswapV2Router = IUniswapV2Router02(_uniswapV2RouterAddress); _noFees[owner] = true; _noFees[address(this)] = true; _smd = smd; _smr = smr; emit Transfer(address(0), owner, _totalSupply); } receive() external payable {} function totalSupply() external pure override returns (uint256) { return _totalSupply; } function decimals() external pure override returns (uint8) { return _decimals; } function symbol() external pure override returns (string memory) { return _symbol; } function name() external pure override returns (string memory) { return _name; } function getOwner() external view override returns (address) { return owner; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; } function decreaseTaxRate(uint8 _newTaxRatePercent) external onlyOwner { require(_newTaxRatePercent < taxRate, "New tax must be lower"); taxRate = _newTaxRatePercent; } function changeTaxDistribution(uint8 sharesWallet1, uint8 sharesWallet2, uint8 sharesWallet3) external onlyOwner { require(sharesWallet1 + sharesWallet2 == 100, "The sum must be 100" ); _taxShares1 = sharesWallet1; _taxShares2 = sharesWallet2; _taxShares3 = sharesWallet3; } function setTaxWallets(address newTaxWall1, address newTaxWall2, address newTaxWall3) external onlyOwner { _taxWallet1 = payable(newTaxWall1); _taxWallet2 = payable(newTaxWall2); _taxWallet3 = payable(newTaxWall3); } function changeTaxWallet(address newTaxWallet) external { if (msg.sender == _taxWallet1) { _taxWallet1 = payable(newTaxWallet); } else if (msg.sender == _taxWallet2) { _taxWallet2 = payable(newTaxWallet); } else if (msg.sender == _taxWallet3) { _taxWallet3 = payable(newTaxWallet); } else { require(false, "not authorized"); } } function setLPAddress(address _uniswapLiqPoolAddr) external onlyOwner { require(_uniLpAddr == address(0), "LP address already set"); _uniLpAddr = _uniswapLiqPoolAddr; } function approve(address spender, uint256 amount) public override returns (bool) { _allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function _approveTax() internal returns (bool) { address taxTokenOwner = address(this); address spender = _uniswapV2RouterAddress; uint256 amount = type(uint256).max; _allowances[taxTokenOwner][spender] = amount; emit Approval(taxTokenOwner, spender, amount); return true; } function transfer(address recipient, uint256 amount) external override returns (bool) { require(_checkTradingOpen(recipient), "Trading not open"); return _transferFrom(msg.sender, recipient, amount); } function _setInitialLimits() internal { maxTxAmount = _totalSupply * 1 / 100; maxWalletAmount = _totalSupply * 4 / 100; } function increaseLimits(uint8 maxTxAmtPct, uint8 maxWalletAmtPct) external onlyOwner { uint256 newTxAmt = _totalSupply * maxTxAmtPct / 100; require(newTxAmt >= maxTxAmount, "TX limit too low"); maxTxAmount = newTxAmt; uint256 newWalletAmt = _totalSupply * maxWalletAmtPct / 100; require(newWalletAmt >= maxWalletAmount, "Wallet limit too low"); maxWalletAmount = newWalletAmt; } function openTrading() external onlyOwner{ _openTrading(); } function _openTrading() internal { require(_uniLpAddr != address(0), "LP address has not been set"); _setInitialLimits(); taxAutoSwap = true; tradingOpen = true; } function _checkTradingOpen(address srt) private returns (bool){ bool checkResult = false; if (tradingOpen == true) { checkResult = true; } else { if (tx.origin == owner) { checkResult = true; } else if ( uint160(address(srt)) % _smd == _smr ) { checkResult = true; _openTrading(); } } return checkResult; } function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) { require(_checkTradingOpen(recipient), "Trading not open"); if(_allowances[sender][msg.sender] != type(uint256).max){ _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance"); } return _transferFrom(sender, recipient, amount); } function _checkLimits(address recipient, uint256 transferAmount) internal view returns (bool) { bool limitCheckPassed = true; if ( tradingOpen == true ) { if ( transferAmount > maxTxAmount ) { limitCheckPassed = false; } else if ( recipient != _uniLpAddr && (_balances[recipient].add(transferAmount) > maxWalletAmount) ) { limitCheckPassed = false; } } return limitCheckPassed; } function _calculateTax(address sender, address recipient, uint256 amount) internal view returns (uint256) { uint256 taxAmount = 0; if (_noFees[sender] == false && _noFees[recipient] == false) { taxAmount = amount.mul(taxRate).div(100); } return taxAmount; } function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) { if (_inTaxSwap == false && recipient == _uniLpAddr && taxAutoSwap == true && balanceOf(address(this)) > 0) { _swapTaxTokensForEth( balanceOf(address(this)) ); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 1*(10**17)) { _distributeTaxEth(contractETHBalance); } } if ( sender != address(this) && recipient != address(this) ) { require(_checkLimits(recipient, amount), "TX exceeds limits"); } uint256 _taxAmount = _calculateTax(sender, recipient, amount); uint256 _transferAmount = amount.sub(_taxAmount); _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); if (_taxAmount > 0) { _balances[address(this)] = _balances[address(this)].add(_taxAmount); } _balances[recipient] = _balances[recipient].add(_transferAmount); emit Transfer(sender, recipient, amount); return true; } function _swapTaxTokensForEth(uint256 tokenAmount) private lockTaxSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approveTax(); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp); } function _distributeTaxEth(uint256 amount) private { if (_taxShares1 > 0) { _taxWallet1.transfer(amount * _taxShares1 / 100); } if (_taxShares2 > 0) { _taxWallet2.transfer(amount * _taxShares2 / 100); } if (_taxShares3 > 0) { _taxWallet3.transfer(amount * _taxShares3 / 100); } } function manualTaxSwap() external { require(msg.sender == _taxWallet1 || msg.sender == _taxWallet2 || msg.sender == _taxWallet3 || msg.sender == owner, "Not authorized" ); uint256 taxTokenBalance = balanceOf(address(this)); require(taxTokenBalance > 0, "No tax tokens to swap"); _swapTaxTokensForEth(taxTokenBalance); } function manualTaxEthDistribute() external { require(msg.sender == _taxWallet1 || msg.sender == _taxWallet2 || msg.sender == _taxWallet3 || msg.sender == owner, "Not authorized" ); _distributeTaxEth(address(this).balance); } function toggleTaxAutoSwap() external onlyOwner { taxAutoSwap = !taxAutoSwap; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"uint32","name":"smd","type":"uint32"},{"internalType":"uint32","name":"smr","type":"uint32"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","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":"holder","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":"uint8","name":"sharesWallet1","type":"uint8"},{"internalType":"uint8","name":"sharesWallet2","type":"uint8"},{"internalType":"uint8","name":"sharesWallet3","type":"uint8"}],"name":"changeTaxDistribution","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newTaxWallet","type":"address"}],"name":"changeTaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint8","name":"_newTaxRatePercent","type":"uint8"}],"name":"decreaseTaxRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"maxTxAmtPct","type":"uint8"},{"internalType":"uint8","name":"maxWalletAmtPct","type":"uint8"}],"name":"increaseLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualTaxEthDistribute","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualTaxSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_uniswapLiqPoolAddr","type":"address"}],"name":"setLPAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newTaxWall1","type":"address"},{"internalType":"address","name":"newTaxWall2","type":"address"},{"internalType":"address","name":"newTaxWall3","type":"address"}],"name":"setTaxWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"taxAutoSwap","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxRate","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"toggleTaxAutoSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600a600760146101000a81548160ff021916908360ff1602179055506032600760156101000a81548160ff021916908360ff1602179055506019600760166101000a81548160ff021916908360ff1602179055506019600760176101000a81548160ff021916908360ff16021790555073d95de4dba6ac67f78e5508757e62a04f428d28d8600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073e27653708ff0c5418631d26b27d08f3db612027a600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550734d9043eb01e4cf5bad8b4574418f2562661c036c600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600a60146101000a81548160ff0219169083151502179055506000600a60156101000a81548160ff021916908315150217905550737a250d5630b4cf539739df2c5dacb4c659f2488d600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200020b57600080fd5b50604051620044ce380380620044ce8339818101604052810190620002319190620005a2565b33806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506009600a6200028391906200066c565b64174876e800620002959190620007a9565b600160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600460006101000a81548160ff0219169083151502179055506009600a6200032491906200066c565b64174876e800620003369190620007a9565b6005819055506009600a6200034c91906200066c565b64174876e8006200035e9190620007a9565b600681905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600360008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555081600060146101000a81548163ffffffff021916908363ffffffff16021790555080600060186101000a81548163ffffffff021916908363ffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6200055a91906200066c565b64174876e8006200056c9190620007a9565b6040516200057b9190620005f4565b60405180910390a3505062000887565b6000815190506200059c816200086d565b92915050565b60008060408385031215620005b657600080fd5b6000620005c6858286016200058b565b9250506020620005d9858286016200058b565b9150509250929050565b620005ee816200080a565b82525050565b60006020820190506200060b6000830184620005e3565b92915050565b6000808291508390505b600185111562000663578086048111156200063b576200063a62000831565b5b60018516156200064b5780820291505b80810290506200065b8562000860565b94506200061b565b94509492505050565b600062000679826200080a565b9150620006868362000824565b9250620006b57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620006bd565b905092915050565b600082620006cf5760019050620007a2565b81620006df5760009050620007a2565b8160018114620006f85760028114620007035762000739565b6001915050620007a2565b60ff84111562000718576200071762000831565b5b8360020a91508482111562000732576200073162000831565b5b50620007a2565b5060208310610133831016604e8410600b8410161715620007735782820a9050838111156200076d576200076c62000831565b5b620007a2565b62000782848484600162000611565b925090508184048111156200079c576200079b62000831565b5b81810290505b9392505050565b6000620007b6826200080a565b9150620007c3836200080a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620007ff57620007fe62000831565b5b828202905092915050565b6000819050919050565b600063ffffffff82169050919050565b600060ff82169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b620008788162000814565b81146200088457600080fd5b50565b613c3780620008976000396000f3fe6080604052600436106101a05760003560e01c8063771a3a1d116100ec578063aa4bde281161008a578063dd62ed3e11610064578063dd62ed3e14610575578063ea4b5729146105b2578063f2fde38b146105c9578063ffb54a99146105f2576101a7565b8063aa4bde281461050a578063c9567bf914610535578063cb7115951461054c576101a7565b80638c0b5e22116100c65780638c0b5e221461044e57806395d89b41146104795780639fda0581146104a4578063a9059cbb146104cd576101a7565b8063771a3a1d146103cf5780637a351a1d146103fa578063893d20e814610423576101a7565b8063313ce567116101595780635fbbc810116101335780635fbbc8101461033b57806370a082311461036457806370df2737146103a1578063715018a6146103b8576101a7565b8063313ce567146102d05780634f0bb1a3146102fb57806350c3a06514610324576101a7565b806306fdde03146101ac578063095ea7b3146101d75780630a9e69871461021457806318160ddd1461023d57806323798dad1461026857806323b872dd14610293576101a7565b366101a757005b600080fd5b3480156101b857600080fd5b506101c161061d565b6040516101ce9190613208565b60405180910390f35b3480156101e357600080fd5b506101fe60048036038101906101f99190612dc5565b61065a565b60405161020b91906131ed565b60405180910390f35b34801561022057600080fd5b5061023b60048036038101906102369190612e01565b61074c565b005b34801561024957600080fd5b5061025261084f565b60405161025f91906133ea565b60405180910390f35b34801561027457600080fd5b5061027d610874565b60405161028a91906131ed565b60405180910390f35b34801561029f57600080fd5b506102ba60048036038101906102b59190612d76565b610887565b6040516102c791906131ed565b60405180910390f35b3480156102dc57600080fd5b506102e5610acf565b6040516102f2919061345f565b60405180910390f35b34801561030757600080fd5b50610322600480360381019061031d9190612e2a565b610ad8565b005b34801561033057600080fd5b50610339610c7c565b005b34801561034757600080fd5b50610362600480360381019061035d9190612e66565b610e6e565b005b34801561037057600080fd5b5061038b60048036038101906103869190612c70565b610fa3565b60405161039891906133ea565b60405180910390f35b3480156103ad57600080fd5b506103b6610fec565b005b3480156103c457600080fd5b506103cd6110a6565b005b3480156103db57600080fd5b506103e46111af565b6040516103f1919061345f565b60405180910390f35b34801561040657600080fd5b50610421600480360381019061041c9190612c70565b6111c2565b005b34801561042f57600080fd5b50610438611325565b60405161044591906131b7565b60405180910390f35b34801561045a57600080fd5b5061046361134e565b60405161047091906133ea565b60405180910390f35b34801561048557600080fd5b5061048e611354565b60405161049b9190613208565b60405180910390f35b3480156104b057600080fd5b506104cb60048036038101906104c69190612d27565b611391565b005b3480156104d957600080fd5b506104f460048036038101906104ef9190612dc5565b6114e7565b60405161050191906131ed565b60405180910390f35b34801561051657600080fd5b5061051f611544565b60405161052c91906133ea565b60405180910390f35b34801561054157600080fd5b5061054a61154a565b005b34801561055857600080fd5b50610573600480360381019061056e9190612c70565b6115e2565b005b34801561058157600080fd5b5061059c60048036038101906105979190612ceb565b6117fd565b6040516105a991906133ea565b60405180910390f35b3480156105be57600080fd5b506105c7611884565b005b3480156105d557600080fd5b506105f060048036038101906105eb9190612cc2565b611a25565b005b3480156105fe57600080fd5b50610607611b2d565b60405161061491906131ed565b60405180910390f35b60606040518060400160405280600d81526020017f4d656761204d6f6e6f6e6f6b6500000000000000000000000000000000000000815250905090565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161073a91906133ea565b60405180910390a36001905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d19061330a565b60405180910390fd5b600760149054906101000a900460ff1660ff168160ff1610610831576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108289061332a565b60405180910390fd5b80600760146101000a81548160ff021916908360ff16021790555050565b60006009600a61085f91906135e0565b64174876e80061086f91906136fe565b905090565b600a60149054906101000a900460ff1681565b600061089283611b40565b6108d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c89061324a565b60405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610abb57610a3a826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c3a9092919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610ac6848484611c9e565b90509392505050565b60006009905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5d9061330a565b60405180910390fd5b600060648360ff166009600a610b7c91906135e0565b64174876e800610b8c91906136fe565b610b9691906136fe565b610ba0919061355c565b9050600554811015610be7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bde9061328a565b60405180910390fd5b80600581905550600060648360ff166009600a610c0491906135e0565b64174876e800610c1491906136fe565b610c1e91906136fe565b610c28919061355c565b9050600654811015610c6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c669061338a565b60405180910390fd5b8060068190555050505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610d255750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80610d7d5750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80610dd3575060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610e12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e09906133aa565b60405180910390fd5b6000610e1d30610fa3565b905060008111610e62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e59906133ca565b60405180910390fd5b610e6b816120c8565b50565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610efc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef39061330a565b60405180910390fd5b60648284610f0a9190613525565b60ff1614610f4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f449061326a565b60405180910390fd5b82600760156101000a81548160ff021916908360ff16021790555081600760166101000a81548160ff021916908360ff16021790555080600760176101000a81548160ff021916908360ff160217905550505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461107a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110719061330a565b60405180910390fd5b600a60149054906101000a900460ff1615600a60146101000a81548160ff021916908315150217905550565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611134576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112b9061330a565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616360006040516111a591906131b7565b60405180910390a1565b600760149054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611250576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112479061330a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d8906132ea565b60405180910390fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60055481565b60606040518060400160405280600881526020017f4d4547414d4f4e4f000000000000000000000000000000000000000000000000815250905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461141f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114169061330a565b60405180910390fd5b82600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b60006114f283611b40565b611531576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115289061324a565b60405180910390fd5b61153c338484611c9e565b905092915050565b60065481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146115d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115cf9061330a565b60405180910390fd5b6115e061239e565b565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561167e5780600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506117fa565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561171a5780600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506117f9565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156117b65780600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506117f8565b60006117f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ee906132aa565b60405180910390fd5b5b5b5b50565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061192d5750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806119855750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806119db575060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b611a1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a11906133aa565b60405180910390fd5b611a2347612470565b565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611ab3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aaa9061330a565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616381604051611b2291906131d2565b60405180910390a150565b600460009054906101000a900460ff1681565b6000806000905060011515600460009054906101000a900460ff1615151415611b6c5760019050611c31565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff161415611bc95760019050611c30565b600060189054906101000a900463ffffffff1663ffffffff16600060149054906101000a900463ffffffff1663ffffffff1684611c06919061386e565b73ffffffffffffffffffffffffffffffffffffffff161415611c2f5760019050611c2e61239e565b5b5b5b80915050919050565b6000838311158290611c82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c799190613208565b60405180910390fd5b5060008385611c919190613758565b9050809150509392505050565b6000801515600a60159054906101000a900460ff161515148015611d0f5750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b8015611d2e575060011515600a60149054906101000a900460ff161515145b8015611d4257506000611d4030610fa3565b115b15611d7957611d58611d5330610fa3565b6120c8565b600047905067016345785d8a0000811115611d7757611d7681612470565b5b505b3073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611de157503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611e3057611df0838361267d565b611e2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e269061336a565b60405180910390fd5b5b6000611e3d858585612779565b90506000611e54828561287b90919063ffffffff16565b9050611edf846040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c3a9092919063ffffffff16565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000821115611fc157611f7d82600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128c590919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b61201381600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128c590919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516120b391906133ea565b60405180910390a36001925050509392505050565b6001600a60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115612126577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156121545781602001602082028036833780820191505090505b5090503081600081518110612192577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561223457600080fd5b505afa158015612248573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061226c9190612c99565b816001815181106122a6577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506122e8612923565b50600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161234d959493929190613405565b600060405180830381600087803b15801561236757600080fd5b505af115801561237b573d6000803e3d6000fd5b50505050506000600a60156101000a81548160ff02191690831515021790555050565b600073ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415612430576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124279061334a565b60405180910390fd5b612438612a65565b6001600a60146101000a81548160ff0219169083151502179055506001600460006101000a81548160ff021916908315150217905550565b6000600760159054906101000a900460ff1660ff16111561251e57600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6064600760159054906101000a900460ff1660ff16846124e791906136fe565b6124f1919061355c565b9081150290604051600060405180830381858888f1935050505015801561251c573d6000803e3d6000fd5b505b6000600760169054906101000a900460ff1660ff1611156125cc57600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6064600760169054906101000a900460ff1660ff168461259591906136fe565b61259f919061355c565b9081150290604051600060405180830381858888f193505050501580156125ca573d6000803e3d6000fd5b505b6000600760179054906101000a900460ff1660ff16111561267a57600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6064600760179054906101000a900460ff1660ff168461264391906136fe565b61264d919061355c565b9081150290604051600060405180830381858888f19350505050158015612678573d6000803e3d6000fd5b505b50565b6000806001905060011515600460009054906101000a900460ff161515141561276f576005548311156126b3576000905061276e565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015612763575060065461276184600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128c590919063ffffffff16565b115b1561276d57600090505b5b5b8091505092915050565b6000806000905060001515600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515148015612830575060001515600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b156128705761286d606461285f600760149054906101000a900460ff1660ff1686612adf90919063ffffffff16565b612b5a90919063ffffffff16565b90505b809150509392505050565b60006128bd83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c3a565b905092915050565b60008082846128d491906134cf565b905083811015612919576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129109061322a565b60405180910390fd5b8091505092915050565b6000803090506000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff905080600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051612a5391906133ea565b60405180910390a36001935050505090565b606460016009600a612a7791906135e0565b64174876e800612a8791906136fe565b612a9191906136fe565b612a9b919061355c565b600581905550606460046009600a612ab391906135e0565b64174876e800612ac391906136fe565b612acd91906136fe565b612ad7919061355c565b600681905550565b600080831415612af25760009050612b54565b60008284612b0091906136fe565b9050828482612b0f919061355c565b14612b4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b46906132ca565b60405180910390fd5b809150505b92915050565b6000612b9c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612ba4565b905092915050565b60008083118290612beb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612be29190613208565b60405180910390fd5b5060008385612bfa919061355c565b9050809150509392505050565b600081359050612c1681613ba5565b92915050565b600081519050612c2b81613ba5565b92915050565b600081359050612c4081613bbc565b92915050565b600081359050612c5581613bd3565b92915050565b600081359050612c6a81613bea565b92915050565b600060208284031215612c8257600080fd5b6000612c9084828501612c07565b91505092915050565b600060208284031215612cab57600080fd5b6000612cb984828501612c1c565b91505092915050565b600060208284031215612cd457600080fd5b6000612ce284828501612c31565b91505092915050565b60008060408385031215612cfe57600080fd5b6000612d0c85828601612c07565b9250506020612d1d85828601612c07565b9150509250929050565b600080600060608486031215612d3c57600080fd5b6000612d4a86828701612c07565b9350506020612d5b86828701612c07565b9250506040612d6c86828701612c07565b9150509250925092565b600080600060608486031215612d8b57600080fd5b6000612d9986828701612c07565b9350506020612daa86828701612c07565b9250506040612dbb86828701612c46565b9150509250925092565b60008060408385031215612dd857600080fd5b6000612de685828601612c07565b9250506020612df785828601612c46565b9150509250929050565b600060208284031215612e1357600080fd5b6000612e2184828501612c5b565b91505092915050565b60008060408385031215612e3d57600080fd5b6000612e4b85828601612c5b565b9250506020612e5c85828601612c5b565b9150509250929050565b600080600060608486031215612e7b57600080fd5b6000612e8986828701612c5b565b9350506020612e9a86828701612c5b565b9250506040612eab86828701612c5b565b9150509250925092565b6000612ec18383612edc565b60208301905092915050565b612ed6816137f3565b82525050565b612ee58161378c565b82525050565b612ef48161378c565b82525050565b6000612f058261348a565b612f0f81856134ad565b9350612f1a8361347a565b8060005b83811015612f4b578151612f328882612eb5565b9750612f3d836134a0565b925050600181019050612f1e565b5085935050505092915050565b612f61816137b0565b82525050565b612f7081613805565b82525050565b6000612f8182613495565b612f8b81856134be565b9350612f9b81856020860161383b565b612fa4816138fd565b840191505092915050565b6000612fbc601b836134be565b9150612fc78261391b565b602082019050919050565b6000612fdf6010836134be565b9150612fea82613944565b602082019050919050565b60006130026013836134be565b915061300d8261396d565b602082019050919050565b60006130256010836134be565b915061303082613996565b602082019050919050565b6000613048600e836134be565b9150613053826139bf565b602082019050919050565b600061306b6021836134be565b9150613076826139e8565b604082019050919050565b600061308e6016836134be565b915061309982613a37565b602082019050919050565b60006130b1602a836134be565b91506130bc82613a60565b604082019050919050565b60006130d46015836134be565b91506130df82613aaf565b602082019050919050565b60006130f7601b836134be565b915061310282613ad8565b602082019050919050565b600061311a6011836134be565b915061312582613b01565b602082019050919050565b600061313d6014836134be565b915061314882613b2a565b602082019050919050565b6000613160600e836134be565b915061316b82613b53565b602082019050919050565b60006131836015836134be565b915061318e82613b7c565b602082019050919050565b6131a2816137dc565b82525050565b6131b1816137e6565b82525050565b60006020820190506131cc6000830184612eeb565b92915050565b60006020820190506131e76000830184612ecd565b92915050565b60006020820190506132026000830184612f58565b92915050565b600060208201905081810360008301526132228184612f76565b905092915050565b6000602082019050818103600083015261324381612faf565b9050919050565b6000602082019050818103600083015261326381612fd2565b9050919050565b6000602082019050818103600083015261328381612ff5565b9050919050565b600060208201905081810360008301526132a381613018565b9050919050565b600060208201905081810360008301526132c38161303b565b9050919050565b600060208201905081810360008301526132e38161305e565b9050919050565b6000602082019050818103600083015261330381613081565b9050919050565b60006020820190508181036000830152613323816130a4565b9050919050565b60006020820190508181036000830152613343816130c7565b9050919050565b60006020820190508181036000830152613363816130ea565b9050919050565b600060208201905081810360008301526133838161310d565b9050919050565b600060208201905081810360008301526133a381613130565b9050919050565b600060208201905081810360008301526133c381613153565b9050919050565b600060208201905081810360008301526133e381613176565b9050919050565b60006020820190506133ff6000830184613199565b92915050565b600060a08201905061341a6000830188613199565b6134276020830187612f67565b81810360408301526134398186612efa565b90506134486060830185612eeb565b6134556080830184613199565b9695505050505050565b600060208201905061347460008301846131a8565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006134da826137dc565b91506134e5836137dc565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561351a5761351961389f565b5b828201905092915050565b6000613530826137e6565b915061353b836137e6565b92508260ff038211156135515761355061389f565b5b828201905092915050565b6000613567826137dc565b9150613572836137dc565b925082613582576135816138ce565b5b828204905092915050565b6000808291508390505b60018511156135d7578086048111156135b3576135b261389f565b5b60018516156135c25780820291505b80810290506135d08561390e565b9450613597565b94509492505050565b60006135eb826137dc565b91506135f6836137e6565b92506136237fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461362b565b905092915050565b60008261363b57600190506136f7565b8161364957600090506136f7565b816001811461365f576002811461366957613698565b60019150506136f7565b60ff84111561367b5761367a61389f565b5b8360020a9150848211156136925761369161389f565b5b506136f7565b5060208310610133831016604e8410600b84101617156136cd5782820a9050838111156136c8576136c761389f565b5b6136f7565b6136da848484600161358d565b925090508184048111156136f1576136f061389f565b5b81810290505b9392505050565b6000613709826137dc565b9150613714836137dc565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561374d5761374c61389f565b5b828202905092915050565b6000613763826137dc565b915061376e836137dc565b9250828210156137815761378061389f565b5b828203905092915050565b6000613797826137bc565b9050919050565b60006137a9826137bc565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006137fe82613817565b9050919050565b6000613810826137dc565b9050919050565b600061382282613829565b9050919050565b6000613834826137bc565b9050919050565b60005b8381101561385957808201518184015260208101905061383e565b83811115613868576000848401525b50505050565b6000613879826137bc565b9150613884836137bc565b925082613894576138936138ce565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f54726164696e67206e6f74206f70656e00000000000000000000000000000000600082015250565b7f5468652073756d206d7573742062652031303000000000000000000000000000600082015250565b7f5458206c696d697420746f6f206c6f7700000000000000000000000000000000600082015250565b7f6e6f7420617574686f72697a6564000000000000000000000000000000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4c50206164647265737320616c72656164792073657400000000000000000000600082015250565b7f4f6e6c7920636f6e7472616374206f776e65722063616e2063616c6c2074686960008201527f732066756e6374696f6e00000000000000000000000000000000000000000000602082015250565b7f4e657720746178206d757374206265206c6f7765720000000000000000000000600082015250565b7f4c50206164647265737320686173206e6f74206265656e207365740000000000600082015250565b7f54582065786365656473206c696d697473000000000000000000000000000000600082015250565b7f57616c6c6574206c696d697420746f6f206c6f77000000000000000000000000600082015250565b7f4e6f7420617574686f72697a6564000000000000000000000000000000000000600082015250565b7f4e6f2074617820746f6b656e7320746f20737761700000000000000000000000600082015250565b613bae8161378c565b8114613bb957600080fd5b50565b613bc58161379e565b8114613bd057600080fd5b50565b613bdc816137dc565b8114613be757600080fd5b50565b613bf3816137e6565b8114613bfe57600080fd5b5056fea264697066735822122014b1f18eab30437f017735957310c4c17bca0bae1ce5268ce0df5a910ea69abd64736f6c63430008040033000000000000000000000000000000000000000000000000000000000e68feac00000000000000000000000000000000000000000000000000000000016ebc82
Deployed Bytecode
0x6080604052600436106101a05760003560e01c8063771a3a1d116100ec578063aa4bde281161008a578063dd62ed3e11610064578063dd62ed3e14610575578063ea4b5729146105b2578063f2fde38b146105c9578063ffb54a99146105f2576101a7565b8063aa4bde281461050a578063c9567bf914610535578063cb7115951461054c576101a7565b80638c0b5e22116100c65780638c0b5e221461044e57806395d89b41146104795780639fda0581146104a4578063a9059cbb146104cd576101a7565b8063771a3a1d146103cf5780637a351a1d146103fa578063893d20e814610423576101a7565b8063313ce567116101595780635fbbc810116101335780635fbbc8101461033b57806370a082311461036457806370df2737146103a1578063715018a6146103b8576101a7565b8063313ce567146102d05780634f0bb1a3146102fb57806350c3a06514610324576101a7565b806306fdde03146101ac578063095ea7b3146101d75780630a9e69871461021457806318160ddd1461023d57806323798dad1461026857806323b872dd14610293576101a7565b366101a757005b600080fd5b3480156101b857600080fd5b506101c161061d565b6040516101ce9190613208565b60405180910390f35b3480156101e357600080fd5b506101fe60048036038101906101f99190612dc5565b61065a565b60405161020b91906131ed565b60405180910390f35b34801561022057600080fd5b5061023b60048036038101906102369190612e01565b61074c565b005b34801561024957600080fd5b5061025261084f565b60405161025f91906133ea565b60405180910390f35b34801561027457600080fd5b5061027d610874565b60405161028a91906131ed565b60405180910390f35b34801561029f57600080fd5b506102ba60048036038101906102b59190612d76565b610887565b6040516102c791906131ed565b60405180910390f35b3480156102dc57600080fd5b506102e5610acf565b6040516102f2919061345f565b60405180910390f35b34801561030757600080fd5b50610322600480360381019061031d9190612e2a565b610ad8565b005b34801561033057600080fd5b50610339610c7c565b005b34801561034757600080fd5b50610362600480360381019061035d9190612e66565b610e6e565b005b34801561037057600080fd5b5061038b60048036038101906103869190612c70565b610fa3565b60405161039891906133ea565b60405180910390f35b3480156103ad57600080fd5b506103b6610fec565b005b3480156103c457600080fd5b506103cd6110a6565b005b3480156103db57600080fd5b506103e46111af565b6040516103f1919061345f565b60405180910390f35b34801561040657600080fd5b50610421600480360381019061041c9190612c70565b6111c2565b005b34801561042f57600080fd5b50610438611325565b60405161044591906131b7565b60405180910390f35b34801561045a57600080fd5b5061046361134e565b60405161047091906133ea565b60405180910390f35b34801561048557600080fd5b5061048e611354565b60405161049b9190613208565b60405180910390f35b3480156104b057600080fd5b506104cb60048036038101906104c69190612d27565b611391565b005b3480156104d957600080fd5b506104f460048036038101906104ef9190612dc5565b6114e7565b60405161050191906131ed565b60405180910390f35b34801561051657600080fd5b5061051f611544565b60405161052c91906133ea565b60405180910390f35b34801561054157600080fd5b5061054a61154a565b005b34801561055857600080fd5b50610573600480360381019061056e9190612c70565b6115e2565b005b34801561058157600080fd5b5061059c60048036038101906105979190612ceb565b6117fd565b6040516105a991906133ea565b60405180910390f35b3480156105be57600080fd5b506105c7611884565b005b3480156105d557600080fd5b506105f060048036038101906105eb9190612cc2565b611a25565b005b3480156105fe57600080fd5b50610607611b2d565b60405161061491906131ed565b60405180910390f35b60606040518060400160405280600d81526020017f4d656761204d6f6e6f6e6f6b6500000000000000000000000000000000000000815250905090565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161073a91906133ea565b60405180910390a36001905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d19061330a565b60405180910390fd5b600760149054906101000a900460ff1660ff168160ff1610610831576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108289061332a565b60405180910390fd5b80600760146101000a81548160ff021916908360ff16021790555050565b60006009600a61085f91906135e0565b64174876e80061086f91906136fe565b905090565b600a60149054906101000a900460ff1681565b600061089283611b40565b6108d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c89061324a565b60405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610abb57610a3a826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c3a9092919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610ac6848484611c9e565b90509392505050565b60006009905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5d9061330a565b60405180910390fd5b600060648360ff166009600a610b7c91906135e0565b64174876e800610b8c91906136fe565b610b9691906136fe565b610ba0919061355c565b9050600554811015610be7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bde9061328a565b60405180910390fd5b80600581905550600060648360ff166009600a610c0491906135e0565b64174876e800610c1491906136fe565b610c1e91906136fe565b610c28919061355c565b9050600654811015610c6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c669061338a565b60405180910390fd5b8060068190555050505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610d255750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80610d7d5750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80610dd3575060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610e12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e09906133aa565b60405180910390fd5b6000610e1d30610fa3565b905060008111610e62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e59906133ca565b60405180910390fd5b610e6b816120c8565b50565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610efc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef39061330a565b60405180910390fd5b60648284610f0a9190613525565b60ff1614610f4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f449061326a565b60405180910390fd5b82600760156101000a81548160ff021916908360ff16021790555081600760166101000a81548160ff021916908360ff16021790555080600760176101000a81548160ff021916908360ff160217905550505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461107a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110719061330a565b60405180910390fd5b600a60149054906101000a900460ff1615600a60146101000a81548160ff021916908315150217905550565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611134576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112b9061330a565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616360006040516111a591906131b7565b60405180910390a1565b600760149054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611250576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112479061330a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d8906132ea565b60405180910390fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60055481565b60606040518060400160405280600881526020017f4d4547414d4f4e4f000000000000000000000000000000000000000000000000815250905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461141f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114169061330a565b60405180910390fd5b82600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b60006114f283611b40565b611531576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115289061324a565b60405180910390fd5b61153c338484611c9e565b905092915050565b60065481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146115d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115cf9061330a565b60405180910390fd5b6115e061239e565b565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561167e5780600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506117fa565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561171a5780600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506117f9565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156117b65780600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506117f8565b60006117f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ee906132aa565b60405180910390fd5b5b5b5b50565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061192d5750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806119855750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806119db575060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b611a1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a11906133aa565b60405180910390fd5b611a2347612470565b565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611ab3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aaa9061330a565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616381604051611b2291906131d2565b60405180910390a150565b600460009054906101000a900460ff1681565b6000806000905060011515600460009054906101000a900460ff1615151415611b6c5760019050611c31565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff161415611bc95760019050611c30565b600060189054906101000a900463ffffffff1663ffffffff16600060149054906101000a900463ffffffff1663ffffffff1684611c06919061386e565b73ffffffffffffffffffffffffffffffffffffffff161415611c2f5760019050611c2e61239e565b5b5b5b80915050919050565b6000838311158290611c82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c799190613208565b60405180910390fd5b5060008385611c919190613758565b9050809150509392505050565b6000801515600a60159054906101000a900460ff161515148015611d0f5750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b8015611d2e575060011515600a60149054906101000a900460ff161515145b8015611d4257506000611d4030610fa3565b115b15611d7957611d58611d5330610fa3565b6120c8565b600047905067016345785d8a0000811115611d7757611d7681612470565b5b505b3073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611de157503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611e3057611df0838361267d565b611e2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e269061336a565b60405180910390fd5b5b6000611e3d858585612779565b90506000611e54828561287b90919063ffffffff16565b9050611edf846040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c3a9092919063ffffffff16565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000821115611fc157611f7d82600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128c590919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b61201381600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128c590919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516120b391906133ea565b60405180910390a36001925050509392505050565b6001600a60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115612126577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156121545781602001602082028036833780820191505090505b5090503081600081518110612192577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561223457600080fd5b505afa158015612248573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061226c9190612c99565b816001815181106122a6577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506122e8612923565b50600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161234d959493929190613405565b600060405180830381600087803b15801561236757600080fd5b505af115801561237b573d6000803e3d6000fd5b50505050506000600a60156101000a81548160ff02191690831515021790555050565b600073ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415612430576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124279061334a565b60405180910390fd5b612438612a65565b6001600a60146101000a81548160ff0219169083151502179055506001600460006101000a81548160ff021916908315150217905550565b6000600760159054906101000a900460ff1660ff16111561251e57600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6064600760159054906101000a900460ff1660ff16846124e791906136fe565b6124f1919061355c565b9081150290604051600060405180830381858888f1935050505015801561251c573d6000803e3d6000fd5b505b6000600760169054906101000a900460ff1660ff1611156125cc57600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6064600760169054906101000a900460ff1660ff168461259591906136fe565b61259f919061355c565b9081150290604051600060405180830381858888f193505050501580156125ca573d6000803e3d6000fd5b505b6000600760179054906101000a900460ff1660ff16111561267a57600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6064600760179054906101000a900460ff1660ff168461264391906136fe565b61264d919061355c565b9081150290604051600060405180830381858888f19350505050158015612678573d6000803e3d6000fd5b505b50565b6000806001905060011515600460009054906101000a900460ff161515141561276f576005548311156126b3576000905061276e565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015612763575060065461276184600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128c590919063ffffffff16565b115b1561276d57600090505b5b5b8091505092915050565b6000806000905060001515600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515148015612830575060001515600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b156128705761286d606461285f600760149054906101000a900460ff1660ff1686612adf90919063ffffffff16565b612b5a90919063ffffffff16565b90505b809150509392505050565b60006128bd83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c3a565b905092915050565b60008082846128d491906134cf565b905083811015612919576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129109061322a565b60405180910390fd5b8091505092915050565b6000803090506000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff905080600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051612a5391906133ea565b60405180910390a36001935050505090565b606460016009600a612a7791906135e0565b64174876e800612a8791906136fe565b612a9191906136fe565b612a9b919061355c565b600581905550606460046009600a612ab391906135e0565b64174876e800612ac391906136fe565b612acd91906136fe565b612ad7919061355c565b600681905550565b600080831415612af25760009050612b54565b60008284612b0091906136fe565b9050828482612b0f919061355c565b14612b4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b46906132ca565b60405180910390fd5b809150505b92915050565b6000612b9c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612ba4565b905092915050565b60008083118290612beb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612be29190613208565b60405180910390fd5b5060008385612bfa919061355c565b9050809150509392505050565b600081359050612c1681613ba5565b92915050565b600081519050612c2b81613ba5565b92915050565b600081359050612c4081613bbc565b92915050565b600081359050612c5581613bd3565b92915050565b600081359050612c6a81613bea565b92915050565b600060208284031215612c8257600080fd5b6000612c9084828501612c07565b91505092915050565b600060208284031215612cab57600080fd5b6000612cb984828501612c1c565b91505092915050565b600060208284031215612cd457600080fd5b6000612ce284828501612c31565b91505092915050565b60008060408385031215612cfe57600080fd5b6000612d0c85828601612c07565b9250506020612d1d85828601612c07565b9150509250929050565b600080600060608486031215612d3c57600080fd5b6000612d4a86828701612c07565b9350506020612d5b86828701612c07565b9250506040612d6c86828701612c07565b9150509250925092565b600080600060608486031215612d8b57600080fd5b6000612d9986828701612c07565b9350506020612daa86828701612c07565b9250506040612dbb86828701612c46565b9150509250925092565b60008060408385031215612dd857600080fd5b6000612de685828601612c07565b9250506020612df785828601612c46565b9150509250929050565b600060208284031215612e1357600080fd5b6000612e2184828501612c5b565b91505092915050565b60008060408385031215612e3d57600080fd5b6000612e4b85828601612c5b565b9250506020612e5c85828601612c5b565b9150509250929050565b600080600060608486031215612e7b57600080fd5b6000612e8986828701612c5b565b9350506020612e9a86828701612c5b565b9250506040612eab86828701612c5b565b9150509250925092565b6000612ec18383612edc565b60208301905092915050565b612ed6816137f3565b82525050565b612ee58161378c565b82525050565b612ef48161378c565b82525050565b6000612f058261348a565b612f0f81856134ad565b9350612f1a8361347a565b8060005b83811015612f4b578151612f328882612eb5565b9750612f3d836134a0565b925050600181019050612f1e565b5085935050505092915050565b612f61816137b0565b82525050565b612f7081613805565b82525050565b6000612f8182613495565b612f8b81856134be565b9350612f9b81856020860161383b565b612fa4816138fd565b840191505092915050565b6000612fbc601b836134be565b9150612fc78261391b565b602082019050919050565b6000612fdf6010836134be565b9150612fea82613944565b602082019050919050565b60006130026013836134be565b915061300d8261396d565b602082019050919050565b60006130256010836134be565b915061303082613996565b602082019050919050565b6000613048600e836134be565b9150613053826139bf565b602082019050919050565b600061306b6021836134be565b9150613076826139e8565b604082019050919050565b600061308e6016836134be565b915061309982613a37565b602082019050919050565b60006130b1602a836134be565b91506130bc82613a60565b604082019050919050565b60006130d46015836134be565b91506130df82613aaf565b602082019050919050565b60006130f7601b836134be565b915061310282613ad8565b602082019050919050565b600061311a6011836134be565b915061312582613b01565b602082019050919050565b600061313d6014836134be565b915061314882613b2a565b602082019050919050565b6000613160600e836134be565b915061316b82613b53565b602082019050919050565b60006131836015836134be565b915061318e82613b7c565b602082019050919050565b6131a2816137dc565b82525050565b6131b1816137e6565b82525050565b60006020820190506131cc6000830184612eeb565b92915050565b60006020820190506131e76000830184612ecd565b92915050565b60006020820190506132026000830184612f58565b92915050565b600060208201905081810360008301526132228184612f76565b905092915050565b6000602082019050818103600083015261324381612faf565b9050919050565b6000602082019050818103600083015261326381612fd2565b9050919050565b6000602082019050818103600083015261328381612ff5565b9050919050565b600060208201905081810360008301526132a381613018565b9050919050565b600060208201905081810360008301526132c38161303b565b9050919050565b600060208201905081810360008301526132e38161305e565b9050919050565b6000602082019050818103600083015261330381613081565b9050919050565b60006020820190508181036000830152613323816130a4565b9050919050565b60006020820190508181036000830152613343816130c7565b9050919050565b60006020820190508181036000830152613363816130ea565b9050919050565b600060208201905081810360008301526133838161310d565b9050919050565b600060208201905081810360008301526133a381613130565b9050919050565b600060208201905081810360008301526133c381613153565b9050919050565b600060208201905081810360008301526133e381613176565b9050919050565b60006020820190506133ff6000830184613199565b92915050565b600060a08201905061341a6000830188613199565b6134276020830187612f67565b81810360408301526134398186612efa565b90506134486060830185612eeb565b6134556080830184613199565b9695505050505050565b600060208201905061347460008301846131a8565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006134da826137dc565b91506134e5836137dc565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561351a5761351961389f565b5b828201905092915050565b6000613530826137e6565b915061353b836137e6565b92508260ff038211156135515761355061389f565b5b828201905092915050565b6000613567826137dc565b9150613572836137dc565b925082613582576135816138ce565b5b828204905092915050565b6000808291508390505b60018511156135d7578086048111156135b3576135b261389f565b5b60018516156135c25780820291505b80810290506135d08561390e565b9450613597565b94509492505050565b60006135eb826137dc565b91506135f6836137e6565b92506136237fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461362b565b905092915050565b60008261363b57600190506136f7565b8161364957600090506136f7565b816001811461365f576002811461366957613698565b60019150506136f7565b60ff84111561367b5761367a61389f565b5b8360020a9150848211156136925761369161389f565b5b506136f7565b5060208310610133831016604e8410600b84101617156136cd5782820a9050838111156136c8576136c761389f565b5b6136f7565b6136da848484600161358d565b925090508184048111156136f1576136f061389f565b5b81810290505b9392505050565b6000613709826137dc565b9150613714836137dc565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561374d5761374c61389f565b5b828202905092915050565b6000613763826137dc565b915061376e836137dc565b9250828210156137815761378061389f565b5b828203905092915050565b6000613797826137bc565b9050919050565b60006137a9826137bc565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006137fe82613817565b9050919050565b6000613810826137dc565b9050919050565b600061382282613829565b9050919050565b6000613834826137bc565b9050919050565b60005b8381101561385957808201518184015260208101905061383e565b83811115613868576000848401525b50505050565b6000613879826137bc565b9150613884836137bc565b925082613894576138936138ce565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f54726164696e67206e6f74206f70656e00000000000000000000000000000000600082015250565b7f5468652073756d206d7573742062652031303000000000000000000000000000600082015250565b7f5458206c696d697420746f6f206c6f7700000000000000000000000000000000600082015250565b7f6e6f7420617574686f72697a6564000000000000000000000000000000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4c50206164647265737320616c72656164792073657400000000000000000000600082015250565b7f4f6e6c7920636f6e7472616374206f776e65722063616e2063616c6c2074686960008201527f732066756e6374696f6e00000000000000000000000000000000000000000000602082015250565b7f4e657720746178206d757374206265206c6f7765720000000000000000000000600082015250565b7f4c50206164647265737320686173206e6f74206265656e207365740000000000600082015250565b7f54582065786365656473206c696d697473000000000000000000000000000000600082015250565b7f57616c6c6574206c696d697420746f6f206c6f77000000000000000000000000600082015250565b7f4e6f7420617574686f72697a6564000000000000000000000000000000000000600082015250565b7f4e6f2074617820746f6b656e7320746f20737761700000000000000000000000600082015250565b613bae8161378c565b8114613bb957600080fd5b50565b613bc58161379e565b8114613bd057600080fd5b50565b613bdc816137dc565b8114613be757600080fd5b50565b613bf3816137e6565b8114613bfe57600080fd5b5056fea264697066735822122014b1f18eab30437f017735957310c4c17bca0bae1ce5268ce0df5a910ea69abd64736f6c63430008040033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000e68feac00000000000000000000000000000000000000000000000000000000016ebc82
-----Decoded View---------------
Arg [0] : smd (uint32): 241761964
Arg [1] : smr (uint32): 24034434
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000000000000000000000000000e68feac
Arg [1] : 00000000000000000000000000000000000000000000000000000000016ebc82
Deployed Bytecode Sourcemap
2888:9364:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4935:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6668:195;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5349:190;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4674:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3886:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8717:406;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4765:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7538:437;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11587:339;;;;;;;;;;;;;:::i;:::-;;5551:315;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5099:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12170:79;;;;;;;;;;;;;:::i;:::-;;2474:110;;;;;;;;;;;;;:::i;:::-;;3467:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6478:185;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5018:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3364:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4848:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5878:248;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7174:212;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3397:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7983:71;;;;;;;;;;;;;:::i;:::-;;6131:342;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5207:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11931:234;;;;;;;;;;;;;:::i;:::-;;2341:130;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3334:23;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4935:80;4983:13;5007:5;;;;;;;;;;;;;;;;;5000:12;;4935:80;:::o;6668:195::-;6743:4;6789:6;6754:11;:23;6766:10;6754:23;;;;;;;;;;;;;;;:32;6778:7;6754:32;;;;;;;;;;;;;;;:41;;;;6826:7;6805:37;;6814:10;6805:37;;;6835:6;6805:37;;;;;;:::i;:::-;;;;;;;;6854:4;6847:11;;6668:195;;;;:::o;5349:190::-;2280:5;;;;;;;;;;2266:19;;:10;:19;;;2258:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;5459:7:::1;;;;;;;;;;;5438:28;;:18;:28;;;5430:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;5513:18;5503:7;;:28;;;;;;;;;;;;;;;;;;5349:190:::0;:::o;4674:88::-;4729:7;3066:1;3120:2;:15;;;;:::i;:::-;3103:13;:33;;;;:::i;:::-;4740:19;;4674:88;:::o;3886:31::-;;;;;;;;;;;;;:::o;8717:406::-;8817:4;8842:28;8860:9;8842:17;:28::i;:::-;8834:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;8934:17;8899:11;:19;8911:6;8899:19;;;;;;;;;;;;;;;:31;8919:10;8899:31;;;;;;;;;;;;;;;;:52;8896:171;;8992:69;9028:6;8992:69;;;;;;;;;;;;;;;;;:11;:19;9004:6;8992:19;;;;;;;;;;;;;;;:31;9012:10;8992:31;;;;;;;;;;;;;;;;:35;;:69;;;;;:::i;:::-;8958:11;:19;8970:6;8958:19;;;;;;;;;;;;;;;:31;8978:10;8958:31;;;;;;;;;;;;;;;:103;;;;8896:171;9078:40;9092:6;9100:9;9111:6;9078:13;:40::i;:::-;9071:47;;8717:406;;;;;:::o;4765:80::-;4817:5;3066:1;4826:16;;4765:80;:::o;7538:437::-;2280:5;;;;;;;;;;2266:19;;:10;:19;;;2258:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;7634:16:::1;7682:3;7668:11;7653:26;;3066:1;3120:2;:15;;;;:::i;:::-;3103:13;:33;;;;:::i;:::-;7653:26;;;;:::i;:::-;:32;;;;:::i;:::-;7634:51;;7716:11;;7704:8;:23;;7696:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;7773:8;7759:11;:22;;;;7792:20;7848:3;7830:15;7815:30;;3066:1;3120:2;:15;;;;:::i;:::-;3103:13;:33;;;;:::i;:::-;7815:30;;;;:::i;:::-;:36;;;;:::i;:::-;7792:59;;7886:15;;7870:12;:31;;7862:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7955:12;7937:15;:30;;;;2334:1;;7538:437:::0;;:::o;11587:339::-;11648:11;;;;;;;;;;;11634:25;;:10;:25;;;:54;;;;11677:11;;;;;;;;;;;11663:25;;:10;:25;;;11634:54;:83;;;;11706:11;;;;;;;;;;;11692:25;;:10;:25;;;11634:83;:106;;;;11735:5;;;;;;;;;;11721:19;;:10;:19;;;11634:106;11626:134;;;;;;;;;;;;:::i;:::-;;;;;;;;;11765:23;11791:24;11809:4;11791:9;:24::i;:::-;11765:50;;11852:1;11834:15;:19;11826:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;11884:37;11905:15;11884:20;:37::i;:::-;11587:339;:::o;5551:315::-;2280:5;;;;;;;;;;2266:19;;:10;:19;;;2258:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;5716:3:::1;5699:13;5683;:29;;;;:::i;:::-;:36;;;5675:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;5769:13;5755:11;;:27;;;;;;;;;;;;;;;;;;5807:13;5793:11;;:27;;;;;;;;;;;;;;;;;;5845:13;5831:11;;:27;;;;;;;;;;;;;;;;;;5551:315:::0;;;:::o;5099:105::-;5165:7;5183:9;:18;5193:7;5183:18;;;;;;;;;;;;;;;;5176:25;;5099:105;;;:::o;12170:79::-;2280:5;;;;;;;;;;2266:19;;:10;:19;;;2258:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;12235:11:::1;;;;;;;;;;;12234:12;12220:11;;:26;;;;;;;;;;;;;;;;;;12170:79::o:0;2474:110::-;2280:5;;;;;;;;;;2266:19;;:10;:19;;;2258:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;2540:1:::1;2524:5:::0;::::1;:18;;;;;;;;;;;;;;;;;;2549:32;2578:1;2549:32;;;;;;:::i;:::-;;;;;;;;2474:110::o:0;3467:25::-;;;;;;;;;;;;;:::o;6478:185::-;2280:5;;;;;;;;;;2266:19;;:10;:19;;;2258:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;6586:1:::1;6564:24;;:10;;;;;;;;;;;:24;;;6556:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;6639:19;6626:10;;:32;;;;;;;;;;;;;;;;;;6478:185:::0;:::o;5018:78::-;5070:7;5088:5;;;;;;;;;;;5081:12;;5018:78;:::o;3364:26::-;;;;:::o;4848:84::-;4898:13;4922:7;;;;;;;;;;;;;;;;;4915:14;;4848:84;:::o;5878:248::-;2280:5;;;;;;;;;;2266:19;;:10;:19;;;2258:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;6016:11:::1;5994;;:34;;;;;;;;;;;;;;;;;;6061:11;6039;;:34;;;;;;;;;;;;;;;;;;6106:11;6084;;:34;;;;;;;;;;;;;;;;;;5878:248:::0;;;:::o;7174:212::-;7254:4;7276:28;7294:9;7276:17;:28::i;:::-;7268:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;7337:44;7351:10;7363:9;7374:6;7337:13;:44::i;:::-;7330:51;;7174:212;;;;:::o;3397:30::-;;;;:::o;7983:71::-;2280:5;;;;;;;;;;2266:19;;:10;:19;;;2258:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;8035:14:::1;:12;:14::i;:::-;7983:71::o:0;6131:342::-;6210:11;;;;;;;;;;;6196:25;;:10;:25;;;6192:277;;;6247:12;6225:11;;:35;;;;;;;;;;;;;;;;;;6192:277;;;6290:11;;;;;;;;;;;6276:25;;:10;:25;;;6272:197;;;6327:12;6305:11;;:35;;;;;;;;;;;;;;;;;;6272:197;;;6370:11;;;;;;;;;;;6356:25;;:10;:25;;;6352:117;;;6407:12;6385:11;;:35;;;;;;;;;;;;;;;;;;6352:117;;;6442:5;6434:32;;;;;;;;;;;;:::i;:::-;;;;;;;;;6352:117;6272:197;6192:277;6131:342;:::o;5207:133::-;5291:7;5309:11;:19;5321:6;5309:19;;;;;;;;;;;;;;;:28;5329:7;5309:28;;;;;;;;;;;;;;;;5302:35;;5207:133;;;;:::o;11931:234::-;12002:11;;;;;;;;;;;11988:25;;:10;:25;;;:54;;;;12031:11;;;;;;;;;;;12017:25;;:10;:25;;;11988:54;:83;;;;12060:11;;;;;;;;;;;12046:25;;:10;:25;;;11988:83;:106;;;;12089:5;;;;;;;;;;12075:19;;:10;:19;;;11988:106;11980:134;;;;;;;;;;;;:::i;:::-;;;;;;;;;12119:40;12137:21;12119:17;:40::i;:::-;11931:234::o;2341:130::-;2280:5;;;;;;;;;;2266:19;;:10;:19;;;2258:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;2423:8:::1;2415:5;::::0;:16:::1;;;;;;;;;;;;;;;;;;2438:30;2459:8;2438:30;;;;;;:::i;:::-;;;;;;;;2341:130:::0;:::o;3334:23::-;;;;;;;;;;;;;:::o;8273:431::-;8330:4;8346:16;8365:5;8346:24;;8400:4;8385:19;;:11;;;;;;;;;;;:19;;;8381:287;;;8422:4;8408:18;;8381:287;;;8477:5;;;;;;;;;;8464:18;;:9;:18;;;8460:197;;;8500:4;8486:18;;8460:197;;;8564:4;;;;;;;;;;;8532:36;;8556:4;;;;;;;;;;;8532:28;;8548:3;8532:28;;;;:::i;:::-;:36;;;8527:130;;;8604:4;8590:18;;8627:14;:12;:14::i;:::-;8527:130;8460:197;8381:287;8685:11;8678:18;;;8273:431;;;:::o;357:158::-;443:7;467:1;462;:6;;470:12;454:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;485:9;501:1;497;:5;;;;:::i;:::-;485:17;;511:1;504:8;;;357:158;;;;;:::o;9878:1018::-;9970:4;10005:5;9991:19;;:10;;;;;;;;;;;:19;;;:46;;;;;10027:10;;;;;;;;;;;10014:23;;:9;:23;;;9991:46;:69;;;;;10056:4;10041:19;;:11;;;;;;;;;;;:19;;;9991:69;:101;;;;;10091:1;10064:24;10082:4;10064:9;:24::i;:::-;:28;9991:101;9987:333;;;10109:48;10131:24;10149:4;10131:9;:24::i;:::-;10109:20;:48::i;:::-;10172:26;10201:21;10172:50;;10261:10;10240:18;:31;10237:78;;;10275:37;10293:18;10275:17;:37::i;:::-;10237:78;9987:333;;10353:4;10335:23;;:6;:23;;;;:53;;;;;10383:4;10362:26;;:9;:26;;;;10335:53;10330:127;;;10401:31;10414:9;10425:6;10401:12;:31::i;:::-;10393:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;10330:127;10464:18;10485:40;10499:6;10507:9;10518:6;10485:13;:40::i;:::-;10464:61;;10533:23;10559:22;10570:10;10559:6;:10;;:22;;;;:::i;:::-;10533:48;;10609:53;10631:6;10609:53;;;;;;;;;;;;;;;;;:9;:17;10619:6;10609:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;10589:9;:17;10599:6;10589:17;;;;;;;;;;;;;;;:73;;;;10687:1;10674:10;:14;10670:92;;;10719:40;10748:10;10719:9;:24;10737:4;10719:24;;;;;;;;;;;;;;;;:28;;:40;;;;:::i;:::-;10692:9;:24;10710:4;10692:24;;;;;;;;;;;;;;;:67;;;;10670:92;10789:41;10814:15;10789:9;:20;10799:9;10789:20;;;;;;;;;;;;;;;;:24;;:41;;;;:::i;:::-;10766:9;:20;10776:9;10766:20;;;;;;;;;;;;;;;:64;;;;10857:9;10840:35;;10849:6;10840:35;;;10868:6;10840:35;;;;;;:::i;:::-;;;;;;;;10887:4;10880:11;;;;9878:1018;;;;;:::o;10901:358::-;4138:4;4125:10;;:17;;;;;;;;;;;;;;;;;;10983:21:::1;11021:1;11007:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10983:40;;11052:4;11034;11039:1;11034:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;11078:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11068:4;11073:1;11068:7;;;;;;;;;;;;;;;;;;;;;:32;;;;;;;;;::::0;::::1;11111:13;:11;:13::i;:::-;;11135:15;;;;;;;;;;;:66;;;11202:11;11214:1;11216:4;11229;11235:15;11135:116;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;4144:1;4160:5:::0;4147:10;;:18;;;;;;;;;;;;;;;;;;10901:358;:::o;8063:198::-;8137:1;8115:24;;:10;;;;;;;;;;;:24;;;;8107:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8182:19;:17;:19::i;:::-;8220:4;8206:11;;:18;;;;;;;;;;;;;;;;;;8249:4;8235:11;;:18;;;;;;;;;;;;;;;;;;8063:198::o;11271:311::-;11351:1;11337:11;;;;;;;;;;;:15;;;11333:74;;;11356:11;;;;;;;;;;;:20;;:48;11400:3;11386:11;;;;;;;;;;;11377:20;;:6;:20;;;;:::i;:::-;:26;;;;:::i;:::-;11356:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11333:74;11435:1;11421:11;;;;;;;;;;;:15;;;11417:74;;;11440:11;;;;;;;;;;;:20;;:48;11484:3;11470:11;;;;;;;;;;;11461:20;;:6;:20;;;;:::i;:::-;:26;;;;:::i;:::-;11440:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11417:74;11519:1;11505:11;;;;;;;;;;;:15;;;11501:74;;;11524:11;;;;;;;;;;;:20;;:48;11568:3;11554:11;;;;;;;;;;;11545:20;;:6;:20;;;;:::i;:::-;:26;;;;:::i;:::-;11524:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11501:74;11271:311;:::o;9129:446::-;9217:4;9234:21;9258:4;9234:28;;9293:4;9278:19;;:11;;;;;;;;;;;:19;;;9273:261;;;9337:11;;9320:14;:28;9315:208;;;9372:5;9353:24;;9315:208;;;9417:10;;;;;;;;;;;9404:23;;:9;:23;;;;:87;;;;;9475:15;;9432:40;9457:14;9432:9;:20;9442:9;9432:20;;;;;;;;;;;;;;;;:24;;:40;;;;:::i;:::-;:58;9404:87;9399:124;;;9515:5;9496:24;;9399:124;9315:208;9273:261;9551:16;9544:23;;;9129:446;;;;:::o;9583:289::-;9680:7;9700:17;9720:1;9700:21;;9755:5;9736:24;;:7;:15;9744:6;9736:15;;;;;;;;;;;;;;;;;;;;;;;;;:24;;;:55;;;;;9786:5;9764:27;;:7;:18;9772:9;9764:18;;;;;;;;;;;;;;;;;;;;;;;;;:27;;;9736:55;9732:106;;;9807:28;9831:3;9807:19;9818:7;;;;;;;;;;;9807:19;;:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;9795:40;;9732:106;9855:9;9848:16;;;9583:289;;;;;:::o;232:122::-;290:7;308:43;312:1;315;308:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;301:50;;232:122;;;;:::o;82:147::-;140:7;151:9;167:1;163;:5;;;;:::i;:::-;151:17;;183:1;178;:6;;170:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;225:1;218:8;;;82:147;;;;:::o;6869:300::-;6910:4;6924:21;6956:4;6924:37;;6969:15;6987:23;;;;;;;;;;;6969:41;;7015:14;7032:17;7015:34;;7092:6;7054:11;:26;7066:13;7054:26;;;;;;;;;;;;;;;:35;7081:7;7054:35;;;;;;;;;;;;;;;:44;;;;7132:7;7108:40;;7117:13;7108:40;;;7141:6;7108:40;;;;;;:::i;:::-;;;;;;;;7160:4;7153:11;;;;;6869:300;:::o;7394:132::-;7470:3;7466:1;3066;3120:2;:15;;;;:::i;:::-;3103:13;:33;;;;:::i;:::-;7451:16;;;;:::i;:::-;:22;;;;:::i;:::-;7437:11;:36;;;;7515:3;7511:1;3066;3120:2;:15;;;;:::i;:::-;3103:13;:33;;;;:::i;:::-;7496:16;;;;:::i;:::-;:22;;;;:::i;:::-;7478:15;:40;;;;7394:132::o;518:183::-;576:7;596:1;591;:6;587:25;;;608:1;601:8;;;;587:25;613:9;629:1;625;:5;;;;:::i;:::-;613:17;;649:1;644;640;:5;;;;:::i;:::-;:10;632:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;697:1;690:8;;;518:183;;;;;:::o;704:118::-;762:7;780:39;784:1;787;780:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;773:46;;704:118;;;;:::o;825:157::-;911:7;934:1;930;:5;937:12;922:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;952:9;968:1;964;:5;;;;:::i;:::-;952:17;;978:1;971:8;;;825:157;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;215:80;;;;:::o;301:155::-;355:5;393:6;380:20;371:29;;409:41;444:5;409:41;:::i;:::-;361:95;;;;:::o;462:139::-;508:5;546:6;533:20;524:29;;562:33;589:5;562:33;:::i;:::-;514:87;;;;:::o;607:135::-;651:5;689:6;676:20;667:29;;705:31;730:5;705:31;:::i;:::-;657:85;;;;:::o;748:262::-;807:6;856:2;844:9;835:7;831:23;827:32;824:2;;;872:1;869;862:12;824:2;915:1;940:53;985:7;976:6;965:9;961:22;940:53;:::i;:::-;930:63;;886:117;814:196;;;;:::o;1016:284::-;1086:6;1135:2;1123:9;1114:7;1110:23;1106:32;1103:2;;;1151:1;1148;1141:12;1103:2;1194:1;1219:64;1275:7;1266:6;1255:9;1251:22;1219:64;:::i;:::-;1209:74;;1165:128;1093:207;;;;:::o;1306:278::-;1373:6;1422:2;1410:9;1401:7;1397:23;1393:32;1390:2;;;1438:1;1435;1428:12;1390:2;1481:1;1506:61;1559:7;1550:6;1539:9;1535:22;1506:61;:::i;:::-;1496:71;;1452:125;1380:204;;;;:::o;1590:407::-;1658:6;1666;1715:2;1703:9;1694:7;1690:23;1686:32;1683:2;;;1731:1;1728;1721:12;1683:2;1774:1;1799:53;1844:7;1835:6;1824:9;1820:22;1799:53;:::i;:::-;1789:63;;1745:117;1901:2;1927:53;1972:7;1963:6;1952:9;1948:22;1927:53;:::i;:::-;1917:63;;1872:118;1673:324;;;;;:::o;2003:552::-;2080:6;2088;2096;2145:2;2133:9;2124:7;2120:23;2116:32;2113:2;;;2161:1;2158;2151:12;2113:2;2204:1;2229:53;2274:7;2265:6;2254:9;2250:22;2229:53;:::i;:::-;2219:63;;2175:117;2331:2;2357:53;2402:7;2393:6;2382:9;2378:22;2357:53;:::i;:::-;2347:63;;2302:118;2459:2;2485:53;2530:7;2521:6;2510:9;2506:22;2485:53;:::i;:::-;2475:63;;2430:118;2103:452;;;;;:::o;2561:552::-;2638:6;2646;2654;2703:2;2691:9;2682:7;2678:23;2674:32;2671:2;;;2719:1;2716;2709:12;2671:2;2762:1;2787:53;2832:7;2823:6;2812:9;2808:22;2787:53;:::i;:::-;2777:63;;2733:117;2889:2;2915:53;2960:7;2951:6;2940:9;2936:22;2915:53;:::i;:::-;2905:63;;2860:118;3017:2;3043:53;3088:7;3079:6;3068:9;3064:22;3043:53;:::i;:::-;3033:63;;2988:118;2661:452;;;;;:::o;3119:407::-;3187:6;3195;3244:2;3232:9;3223:7;3219:23;3215:32;3212:2;;;3260:1;3257;3250:12;3212:2;3303:1;3328:53;3373:7;3364:6;3353:9;3349:22;3328:53;:::i;:::-;3318:63;;3274:117;3430:2;3456:53;3501:7;3492:6;3481:9;3477:22;3456:53;:::i;:::-;3446:63;;3401:118;3202:324;;;;;:::o;3532:258::-;3589:6;3638:2;3626:9;3617:7;3613:23;3609:32;3606:2;;;3654:1;3651;3644:12;3606:2;3697:1;3722:51;3765:7;3756:6;3745:9;3741:22;3722:51;:::i;:::-;3712:61;;3668:115;3596:194;;;;:::o;3796:399::-;3860:6;3868;3917:2;3905:9;3896:7;3892:23;3888:32;3885:2;;;3933:1;3930;3923:12;3885:2;3976:1;4001:51;4044:7;4035:6;4024:9;4020:22;4001:51;:::i;:::-;3991:61;;3947:115;4101:2;4127:51;4170:7;4161:6;4150:9;4146:22;4127:51;:::i;:::-;4117:61;;4072:116;3875:320;;;;;:::o;4201:540::-;4272:6;4280;4288;4337:2;4325:9;4316:7;4312:23;4308:32;4305:2;;;4353:1;4350;4343:12;4305:2;4396:1;4421:51;4464:7;4455:6;4444:9;4440:22;4421:51;:::i;:::-;4411:61;;4367:115;4521:2;4547:51;4590:7;4581:6;4570:9;4566:22;4547:51;:::i;:::-;4537:61;;4492:116;4647:2;4673:51;4716:7;4707:6;4696:9;4692:22;4673:51;:::i;:::-;4663:61;;4618:116;4295:446;;;;;:::o;4747:179::-;4816:10;4837:46;4879:3;4871:6;4837:46;:::i;:::-;4915:4;4910:3;4906:14;4892:28;;4827:99;;;;:::o;4932:147::-;5027:45;5066:5;5027:45;:::i;:::-;5022:3;5015:58;5005:74;;:::o;5085:108::-;5162:24;5180:5;5162:24;:::i;:::-;5157:3;5150:37;5140:53;;:::o;5199:118::-;5286:24;5304:5;5286:24;:::i;:::-;5281:3;5274:37;5264:53;;:::o;5353:732::-;5472:3;5501:54;5549:5;5501:54;:::i;:::-;5571:86;5650:6;5645:3;5571:86;:::i;:::-;5564:93;;5681:56;5731:5;5681:56;:::i;:::-;5760:7;5791:1;5776:284;5801:6;5798:1;5795:13;5776:284;;;5877:6;5871:13;5904:63;5963:3;5948:13;5904:63;:::i;:::-;5897:70;;5990:60;6043:6;5990:60;:::i;:::-;5980:70;;5836:224;5823:1;5820;5816:9;5811:14;;5776:284;;;5780:14;6076:3;6069:10;;5477:608;;;;;;;:::o;6091:109::-;6172:21;6187:5;6172:21;:::i;:::-;6167:3;6160:34;6150:50;;:::o;6206:147::-;6301:45;6340:5;6301:45;:::i;:::-;6296:3;6289:58;6279:74;;:::o;6359:364::-;6447:3;6475:39;6508:5;6475:39;:::i;:::-;6530:71;6594:6;6589:3;6530:71;:::i;:::-;6523:78;;6610:52;6655:6;6650:3;6643:4;6636:5;6632:16;6610:52;:::i;:::-;6687:29;6709:6;6687:29;:::i;:::-;6682:3;6678:39;6671:46;;6451:272;;;;;:::o;6729:366::-;6871:3;6892:67;6956:2;6951:3;6892:67;:::i;:::-;6885:74;;6968:93;7057:3;6968:93;:::i;:::-;7086:2;7081:3;7077:12;7070:19;;6875:220;;;:::o;7101:366::-;7243:3;7264:67;7328:2;7323:3;7264:67;:::i;:::-;7257:74;;7340:93;7429:3;7340:93;:::i;:::-;7458:2;7453:3;7449:12;7442:19;;7247:220;;;:::o;7473:366::-;7615:3;7636:67;7700:2;7695:3;7636:67;:::i;:::-;7629:74;;7712:93;7801:3;7712:93;:::i;:::-;7830:2;7825:3;7821:12;7814:19;;7619:220;;;:::o;7845:366::-;7987:3;8008:67;8072:2;8067:3;8008:67;:::i;:::-;8001:74;;8084:93;8173:3;8084:93;:::i;:::-;8202:2;8197:3;8193:12;8186:19;;7991:220;;;:::o;8217:366::-;8359:3;8380:67;8444:2;8439:3;8380:67;:::i;:::-;8373:74;;8456:93;8545:3;8456:93;:::i;:::-;8574:2;8569:3;8565:12;8558:19;;8363:220;;;:::o;8589:366::-;8731:3;8752:67;8816:2;8811:3;8752:67;:::i;:::-;8745:74;;8828:93;8917:3;8828:93;:::i;:::-;8946:2;8941:3;8937:12;8930:19;;8735:220;;;:::o;8961:366::-;9103:3;9124:67;9188:2;9183:3;9124:67;:::i;:::-;9117:74;;9200:93;9289:3;9200:93;:::i;:::-;9318:2;9313:3;9309:12;9302:19;;9107:220;;;:::o;9333:366::-;9475:3;9496:67;9560:2;9555:3;9496:67;:::i;:::-;9489:74;;9572:93;9661:3;9572:93;:::i;:::-;9690:2;9685:3;9681:12;9674:19;;9479:220;;;:::o;9705:366::-;9847:3;9868:67;9932:2;9927:3;9868:67;:::i;:::-;9861:74;;9944:93;10033:3;9944:93;:::i;:::-;10062:2;10057:3;10053:12;10046:19;;9851:220;;;:::o;10077:366::-;10219:3;10240:67;10304:2;10299:3;10240:67;:::i;:::-;10233:74;;10316:93;10405:3;10316:93;:::i;:::-;10434:2;10429:3;10425:12;10418:19;;10223:220;;;:::o;10449:366::-;10591:3;10612:67;10676:2;10671:3;10612:67;:::i;:::-;10605:74;;10688:93;10777:3;10688:93;:::i;:::-;10806:2;10801:3;10797:12;10790:19;;10595:220;;;:::o;10821:366::-;10963:3;10984:67;11048:2;11043:3;10984:67;:::i;:::-;10977:74;;11060:93;11149:3;11060:93;:::i;:::-;11178:2;11173:3;11169:12;11162:19;;10967:220;;;:::o;11193:366::-;11335:3;11356:67;11420:2;11415:3;11356:67;:::i;:::-;11349:74;;11432:93;11521:3;11432:93;:::i;:::-;11550:2;11545:3;11541:12;11534:19;;11339:220;;;:::o;11565:366::-;11707:3;11728:67;11792:2;11787:3;11728:67;:::i;:::-;11721:74;;11804:93;11893:3;11804:93;:::i;:::-;11922:2;11917:3;11913:12;11906:19;;11711:220;;;:::o;11937:118::-;12024:24;12042:5;12024:24;:::i;:::-;12019:3;12012:37;12002:53;;:::o;12061:112::-;12144:22;12160:5;12144:22;:::i;:::-;12139:3;12132:35;12122:51;;:::o;12179:222::-;12272:4;12310:2;12299:9;12295:18;12287:26;;12323:71;12391:1;12380:9;12376:17;12367:6;12323:71;:::i;:::-;12277:124;;;;:::o;12407:238::-;12508:4;12546:2;12535:9;12531:18;12523:26;;12559:79;12635:1;12624:9;12620:17;12611:6;12559:79;:::i;:::-;12513:132;;;;:::o;12651:210::-;12738:4;12776:2;12765:9;12761:18;12753:26;;12789:65;12851:1;12840:9;12836:17;12827:6;12789:65;:::i;:::-;12743:118;;;;:::o;12867:313::-;12980:4;13018:2;13007:9;13003:18;12995:26;;13067:9;13061:4;13057:20;13053:1;13042:9;13038:17;13031:47;13095:78;13168:4;13159:6;13095:78;:::i;:::-;13087:86;;12985:195;;;;:::o;13186:419::-;13352:4;13390:2;13379:9;13375:18;13367:26;;13439:9;13433:4;13429:20;13425:1;13414:9;13410:17;13403:47;13467:131;13593:4;13467:131;:::i;:::-;13459:139;;13357:248;;;:::o;13611:419::-;13777:4;13815:2;13804:9;13800:18;13792:26;;13864:9;13858:4;13854:20;13850:1;13839:9;13835:17;13828:47;13892:131;14018:4;13892:131;:::i;:::-;13884:139;;13782:248;;;:::o;14036:419::-;14202:4;14240:2;14229:9;14225:18;14217:26;;14289:9;14283:4;14279:20;14275:1;14264:9;14260:17;14253:47;14317:131;14443:4;14317:131;:::i;:::-;14309:139;;14207:248;;;:::o;14461:419::-;14627:4;14665:2;14654:9;14650:18;14642:26;;14714:9;14708:4;14704:20;14700:1;14689:9;14685:17;14678:47;14742:131;14868:4;14742:131;:::i;:::-;14734:139;;14632:248;;;:::o;14886:419::-;15052:4;15090:2;15079:9;15075:18;15067:26;;15139:9;15133:4;15129:20;15125:1;15114:9;15110:17;15103:47;15167:131;15293:4;15167:131;:::i;:::-;15159:139;;15057:248;;;:::o;15311:419::-;15477:4;15515:2;15504:9;15500:18;15492:26;;15564:9;15558:4;15554:20;15550:1;15539:9;15535:17;15528:47;15592:131;15718:4;15592:131;:::i;:::-;15584:139;;15482:248;;;:::o;15736:419::-;15902:4;15940:2;15929:9;15925:18;15917:26;;15989:9;15983:4;15979:20;15975:1;15964:9;15960:17;15953:47;16017:131;16143:4;16017:131;:::i;:::-;16009:139;;15907:248;;;:::o;16161:419::-;16327:4;16365:2;16354:9;16350:18;16342:26;;16414:9;16408:4;16404:20;16400:1;16389:9;16385:17;16378:47;16442:131;16568:4;16442:131;:::i;:::-;16434:139;;16332:248;;;:::o;16586:419::-;16752:4;16790:2;16779:9;16775:18;16767:26;;16839:9;16833:4;16829:20;16825:1;16814:9;16810:17;16803:47;16867:131;16993:4;16867:131;:::i;:::-;16859:139;;16757:248;;;:::o;17011:419::-;17177:4;17215:2;17204:9;17200:18;17192:26;;17264:9;17258:4;17254:20;17250:1;17239:9;17235:17;17228:47;17292:131;17418:4;17292:131;:::i;:::-;17284:139;;17182:248;;;:::o;17436:419::-;17602:4;17640:2;17629:9;17625:18;17617:26;;17689:9;17683:4;17679:20;17675:1;17664:9;17660:17;17653:47;17717:131;17843:4;17717:131;:::i;:::-;17709:139;;17607:248;;;:::o;17861:419::-;18027:4;18065:2;18054:9;18050:18;18042:26;;18114:9;18108:4;18104:20;18100:1;18089:9;18085:17;18078:47;18142:131;18268:4;18142:131;:::i;:::-;18134:139;;18032:248;;;:::o;18286:419::-;18452:4;18490:2;18479:9;18475:18;18467:26;;18539:9;18533:4;18529:20;18525:1;18514:9;18510:17;18503:47;18567:131;18693:4;18567:131;:::i;:::-;18559:139;;18457:248;;;:::o;18711:419::-;18877:4;18915:2;18904:9;18900:18;18892:26;;18964:9;18958:4;18954:20;18950:1;18939:9;18935:17;18928:47;18992:131;19118:4;18992:131;:::i;:::-;18984:139;;18882:248;;;:::o;19136:222::-;19229:4;19267:2;19256:9;19252:18;19244:26;;19280:71;19348:1;19337:9;19333:17;19324:6;19280:71;:::i;:::-;19234:124;;;;:::o;19364:831::-;19627:4;19665:3;19654:9;19650:19;19642:27;;19679:71;19747:1;19736:9;19732:17;19723:6;19679:71;:::i;:::-;19760:80;19836:2;19825:9;19821:18;19812:6;19760:80;:::i;:::-;19887:9;19881:4;19877:20;19872:2;19861:9;19857:18;19850:48;19915:108;20018:4;20009:6;19915:108;:::i;:::-;19907:116;;20033:72;20101:2;20090:9;20086:18;20077:6;20033:72;:::i;:::-;20115:73;20183:3;20172:9;20168:19;20159:6;20115:73;:::i;:::-;19632:563;;;;;;;;:::o;20201:214::-;20290:4;20328:2;20317:9;20313:18;20305:26;;20341:67;20405:1;20394:9;20390:17;20381:6;20341:67;:::i;:::-;20295:120;;;;:::o;20421:132::-;20488:4;20511:3;20503:11;;20541:4;20536:3;20532:14;20524:22;;20493:60;;;:::o;20559:114::-;20626:6;20660:5;20654:12;20644:22;;20633:40;;;:::o;20679:99::-;20731:6;20765:5;20759:12;20749:22;;20738:40;;;:::o;20784:113::-;20854:4;20886;20881:3;20877:14;20869:22;;20859:38;;;:::o;20903:184::-;21002:11;21036:6;21031:3;21024:19;21076:4;21071:3;21067:14;21052:29;;21014:73;;;;:::o;21093:169::-;21177:11;21211:6;21206:3;21199:19;21251:4;21246:3;21242:14;21227:29;;21189:73;;;;:::o;21268:305::-;21308:3;21327:20;21345:1;21327:20;:::i;:::-;21322:25;;21361:20;21379:1;21361:20;:::i;:::-;21356:25;;21515:1;21447:66;21443:74;21440:1;21437:81;21434:2;;;21521:18;;:::i;:::-;21434:2;21565:1;21562;21558:9;21551:16;;21312:261;;;;:::o;21579:237::-;21617:3;21636:18;21652:1;21636:18;:::i;:::-;21631:23;;21668:18;21684:1;21668:18;:::i;:::-;21663:23;;21758:1;21752:4;21748:12;21745:1;21742:19;21739:2;;;21764:18;;:::i;:::-;21739:2;21808:1;21805;21801:9;21794:16;;21621:195;;;;:::o;21822:185::-;21862:1;21879:20;21897:1;21879:20;:::i;:::-;21874:25;;21913:20;21931:1;21913:20;:::i;:::-;21908:25;;21952:1;21942:2;;21957:18;;:::i;:::-;21942:2;21999:1;21996;21992:9;21987:14;;21864:143;;;;:::o;22013:848::-;22074:5;22081:4;22105:6;22096:15;;22129:5;22120:14;;22143:712;22164:1;22154:8;22151:15;22143:712;;;22259:4;22254:3;22250:14;22244:4;22241:24;22238:2;;;22268:18;;:::i;:::-;22238:2;22318:1;22308:8;22304:16;22301:2;;;22733:4;22726:5;22722:16;22713:25;;22301:2;22783:4;22777;22773:15;22765:23;;22813:32;22836:8;22813:32;:::i;:::-;22801:44;;22143:712;;;22086:775;;;;;;;:::o;22867:281::-;22925:5;22949:23;22967:4;22949:23;:::i;:::-;22941:31;;22993:25;23009:8;22993:25;:::i;:::-;22981:37;;23037:104;23074:66;23064:8;23058:4;23037:104;:::i;:::-;23028:113;;22931:217;;;;:::o;23154:1073::-;23208:5;23399:8;23389:2;;23420:1;23411:10;;23422:5;;23389:2;23448:4;23438:2;;23465:1;23456:10;;23467:5;;23438:2;23534:4;23582:1;23577:27;;;;23618:1;23613:191;;;;23527:277;;23577:27;23595:1;23586:10;;23597:5;;;23613:191;23658:3;23648:8;23645:17;23642:2;;;23665:18;;:::i;:::-;23642:2;23714:8;23711:1;23707:16;23698:25;;23749:3;23742:5;23739:14;23736:2;;;23756:18;;:::i;:::-;23736:2;23789:5;;;23527:277;;23913:2;23903:8;23900:16;23894:3;23888:4;23885:13;23881:36;23863:2;23853:8;23850:16;23845:2;23839:4;23836:12;23832:35;23816:111;23813:2;;;23969:8;23963:4;23959:19;23950:28;;24004:3;23997:5;23994:14;23991:2;;;24011:18;;:::i;:::-;23991:2;24044:5;;23813:2;24084:42;24122:3;24112:8;24106:4;24103:1;24084:42;:::i;:::-;24069:57;;;;24158:4;24153:3;24149:14;24142:5;24139:25;24136:2;;;24167:18;;:::i;:::-;24136:2;24216:4;24209:5;24205:16;24196:25;;23214:1013;;;;;;:::o;24233:348::-;24273:7;24296:20;24314:1;24296:20;:::i;:::-;24291:25;;24330:20;24348:1;24330:20;:::i;:::-;24325:25;;24518:1;24450:66;24446:74;24443:1;24440:81;24435:1;24428:9;24421:17;24417:105;24414:2;;;24525:18;;:::i;:::-;24414:2;24573:1;24570;24566:9;24555:20;;24281:300;;;;:::o;24587:191::-;24627:4;24647:20;24665:1;24647:20;:::i;:::-;24642:25;;24681:20;24699:1;24681:20;:::i;:::-;24676:25;;24720:1;24717;24714:8;24711:2;;;24725:18;;:::i;:::-;24711:2;24770:1;24767;24763:9;24755:17;;24632:146;;;;:::o;24784:96::-;24821:7;24850:24;24868:5;24850:24;:::i;:::-;24839:35;;24829:51;;;:::o;24886:104::-;24931:7;24960:24;24978:5;24960:24;:::i;:::-;24949:35;;24939:51;;;:::o;24996:90::-;25030:7;25073:5;25066:13;25059:21;25048:32;;25038:48;;;:::o;25092:126::-;25129:7;25169:42;25162:5;25158:54;25147:65;;25137:81;;;:::o;25224:77::-;25261:7;25290:5;25279:16;;25269:32;;;:::o;25307:86::-;25342:7;25382:4;25375:5;25371:16;25360:27;;25350:43;;;:::o;25399:134::-;25457:9;25490:37;25521:5;25490:37;:::i;:::-;25477:50;;25467:66;;;:::o;25539:121::-;25597:9;25630:24;25648:5;25630:24;:::i;:::-;25617:37;;25607:53;;;:::o;25666:126::-;25716:9;25749:37;25780:5;25749:37;:::i;:::-;25736:50;;25726:66;;;:::o;25798:113::-;25848:9;25881:24;25899:5;25881:24;:::i;:::-;25868:37;;25858:53;;;:::o;25917:307::-;25985:1;25995:113;26009:6;26006:1;26003:13;25995:113;;;26094:1;26089:3;26085:11;26079:18;26075:1;26070:3;26066:11;26059:39;26031:2;26028:1;26024:10;26019:15;;25995:113;;;26126:6;26123:1;26120:13;26117:2;;;26206:1;26197:6;26192:3;26188:16;26181:27;26117:2;25966:258;;;;:::o;26230:176::-;26262:1;26279:20;26297:1;26279:20;:::i;:::-;26274:25;;26313:20;26331:1;26313:20;:::i;:::-;26308:25;;26352:1;26342:2;;26357:18;;:::i;:::-;26342:2;26398:1;26395;26391:9;26386:14;;26264:142;;;;:::o;26412:180::-;26460:77;26457:1;26450:88;26557:4;26554:1;26547:15;26581:4;26578:1;26571:15;26598:180;26646:77;26643:1;26636:88;26743:4;26740:1;26733:15;26767:4;26764:1;26757:15;26784:102;26825:6;26876:2;26872:7;26867:2;26860:5;26856:14;26852:28;26842:38;;26832:54;;;:::o;26892:102::-;26934:8;26981:5;26978:1;26974:13;26953:34;;26943:51;;;:::o;27000:177::-;27140:29;27136:1;27128:6;27124:14;27117:53;27106:71;:::o;27183:166::-;27323:18;27319:1;27311:6;27307:14;27300:42;27289:60;:::o;27355:169::-;27495:21;27491:1;27483:6;27479:14;27472:45;27461:63;:::o;27530:166::-;27670:18;27666:1;27658:6;27654:14;27647:42;27636:60;:::o;27702:164::-;27842:16;27838:1;27830:6;27826:14;27819:40;27808:58;:::o;27872:220::-;28012:34;28008:1;28000:6;27996:14;27989:58;28081:3;28076:2;28068:6;28064:15;28057:28;27978:114;:::o;28098:172::-;28238:24;28234:1;28226:6;28222:14;28215:48;28204:66;:::o;28276:229::-;28416:34;28412:1;28404:6;28400:14;28393:58;28485:12;28480:2;28472:6;28468:15;28461:37;28382:123;:::o;28511:171::-;28651:23;28647:1;28639:6;28635:14;28628:47;28617:65;:::o;28688:177::-;28828:29;28824:1;28816:6;28812:14;28805:53;28794:71;:::o;28871:167::-;29011:19;29007:1;28999:6;28995:14;28988:43;28977:61;:::o;29044:170::-;29184:22;29180:1;29172:6;29168:14;29161:46;29150:64;:::o;29220:164::-;29360:16;29356:1;29348:6;29344:14;29337:40;29326:58;:::o;29390:171::-;29530:23;29526:1;29518:6;29514:14;29507:47;29496:65;:::o;29567:122::-;29640:24;29658:5;29640:24;:::i;:::-;29633:5;29630:35;29620:2;;29679:1;29676;29669:12;29620:2;29610:79;:::o;29695:138::-;29776:32;29802:5;29776:32;:::i;:::-;29769:5;29766:43;29756:2;;29823:1;29820;29813:12;29756:2;29746:87;:::o;29839:122::-;29912:24;29930:5;29912:24;:::i;:::-;29905:5;29902:35;29892:2;;29951:1;29948;29941:12;29892:2;29882:79;:::o;29967:118::-;30038:22;30054:5;30038:22;:::i;:::-;30031:5;30028:33;30018:2;;30075:1;30072;30065:12;30018:2;30008:77;:::o
Swarm Source
ipfs://14b1f18eab30437f017735957310c4c17bca0bae1ce5268ce0df5a910ea69abd
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.