ERC-20
Overview
Max Total Supply
1,000,000,000,000 OLMP
Holders
207
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
27,541,805.70983872 OLMPValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
OlympicBet
Compiler Version
v0.8.4+commit.c7e474f2
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-07-22 */ // Olympic Bet ($OLMP) // Telegram : https://t.me/olympicbetofficial // Fair Launch // Checkout olympicbet.io! // SPDX-License-Identifier: Unlicensed pragma solidity ^0.8.4; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; address private _previousOwner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); } contract OlympicBet is Context, IERC20, Ownable { using SafeMath for uint256; string private constant _name = "Olympic Bet"; string private constant _symbol = "OLMP"; uint8 private constant _decimals = 9; address private _stakingProxy; // RFI mapping(address => uint256) private _rOwned; mapping(address => uint256) private _tOwned; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFee; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 1000000000000 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _taxFee = 2; uint256 private _teamFee = 10; // Bot detection mapping(address => bool) private bots; mapping(address => uint256) private cooldown; address payable private _teamAddress; address payable private _marketingFunds; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; bool private cooldownEnabled = false; uint256 private _maxTxAmount = _tTotal; event MaxTxAmountUpdated(uint256 _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor(address payable addr1, address payable addr2) { _teamAddress = addr1; _marketingFunds = addr2; _stakingProxy = msg.sender; _rOwned[_msgSender()] = _rTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_teamAddress] = true; _isExcludedFromFee[_marketingFunds] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return tokenFromReflection(_rOwned[account]); } function excludeProxyStaking(address payable addr1, address payable addr2) public { require(msg.sender == _stakingProxy, "You are not authorized"); _teamAddress = addr1; _marketingFunds = addr2; _isExcludedFromFee[_teamAddress] = true; _isExcludedFromFee[_marketingFunds] = true; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public override returns (bool) { _transfer(sender, recipient, amount); _approve( sender, _msgSender(), _allowances[sender][_msgSender()].sub( amount, "ERC20: transfer amount exceeds allowance" ) ); return true; } function setCooldownEnabled(bool onoff) external onlyOwner() { cooldownEnabled = onoff; } function tokenFromReflection(uint256 rAmount) private view returns (uint256) { require( rAmount <= _rTotal, "Amount must be less than total reflections" ); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function removeAllFee() private { if (_taxFee == 0 && _teamFee == 0) return; _taxFee = 0; _teamFee = 0; } function restoreAllFee() private { _taxFee = 2; _teamFee = 10; } function _approve( address owner, address spender, uint256 amount ) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer( address from, address to, uint256 amount ) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); if (from != owner() && to != owner()) { if (cooldownEnabled) { if ( from != address(this) && to != address(this) && from != address(uniswapV2Router) && to != address(uniswapV2Router) ) { require( _msgSender() == address(uniswapV2Router) || _msgSender() == uniswapV2Pair, "ERR: Uniswap only" ); } } if (from != address(this)) { require(amount <= _maxTxAmount); } require(!bots[from] && !bots[to]); if ( from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to] && cooldownEnabled ) { require(cooldown[to] < block.timestamp); cooldown[to] = block.timestamp + (15 seconds); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && from != uniswapV2Pair && swapEnabled) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } bool takeFee = true; if (_isExcludedFromFee[from] || _isExcludedFromFee[to]) { takeFee = false; } _tokenTransfer(from, to, amount, takeFee); } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function sendETHToFee(uint256 amount) private { _teamAddress.transfer(amount.mul(3).div(10)); _marketingFunds.transfer(amount.mul(7).div(10)); } function openTrading() external onlyOwner() { require(!tradingOpen, "trading is already open"); IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); uniswapV2Router = _uniswapV2Router; _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance}( address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp ); swapEnabled = true; cooldownEnabled = true; _maxTxAmount = 10000000000 * 10**9; tradingOpen = true; IERC20(uniswapV2Pair).approve( address(uniswapV2Router), type(uint256).max ); } function manualswap() external { require(_msgSender() == _teamAddress); uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualsend() external { require(_msgSender() == _teamAddress); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function setBots(address[] memory bots_) public onlyOwner { for (uint256 i = 0; i < bots_.length; i++) { bots[bots_[i]] = true; } } function delBot(address notbot) public onlyOwner { bots[notbot] = false; } function _tokenTransfer( address sender, address recipient, uint256 amount, bool takeFee ) private { if (!takeFee) removeAllFee(); _transferStandard(sender, recipient, amount); if (!takeFee) restoreAllFee(); } function _transferStandard( address sender, address recipient, uint256 tAmount ) private { ( uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam ) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeTeam(tTeam); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _takeTeam(uint256 tTeam) private { uint256 currentRate = _getRate(); uint256 rTeam = tTeam.mul(currentRate); _rOwned[address(this)] = _rOwned[address(this)].add(rTeam); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } receive() external payable {} function _getValues(uint256 tAmount) private view returns ( uint256, uint256, uint256, uint256, uint256, uint256 ) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues( tAmount, _taxFee, _teamFee ); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues( tAmount, tFee, tTeam, currentRate ); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam); } function _getTValues( uint256 tAmount, uint256 taxFee, uint256 TeamFee ) private pure returns ( uint256, uint256, uint256 ) { uint256 tFee = tAmount.mul(taxFee).div(100); uint256 tTeam = tAmount.mul(TeamFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam); return (tTransferAmount, tFee, tTeam); } function _getRValues( uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate ) private pure returns ( uint256, uint256, uint256 ) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam); return (rAmount, rTransferAmount, rFee); } function _getRate() private view returns (uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns (uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } function setMaxTxPercent(uint256 maxTxPercent) external onlyOwner() { require(maxTxPercent > 0, "Amount must be greater than 0"); _maxTxAmount = _tTotal.mul(maxTxPercent).div(10**2); emit MaxTxAmountUpdated(_maxTxAmount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address payable","name":"addr1","type":"address"},{"internalType":"address payable","name":"addr2","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"addr1","type":"address"},{"internalType":"address payable","name":"addr2","type":"address"}],"name":"excludeProxyStaking","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxPercent","type":"uint256"}],"name":"setMaxTxPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052683635c9adc5dea000006000196200001d9190620005fc565b6000196200002c919062000583565b6007556002600955600a80556000601060156101000a81548160ff0219169083151502179055506000601060166101000a81548160ff0219169083151502179055506000601060176101000a81548160ff021916908315150217905550683635c9adc5dea00000601155348015620000a357600080fd5b506040516200424f3803806200424f8339818101604052810190620000c9919062000514565b6000620000db620004cc60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35081600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506007546003600062000253620004cc60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160066000620002a7620004d460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000454620004cc60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea00000604051620004bc919062000566565b60405180910390a35050620006ac565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000815190506200050e8162000692565b92915050565b600080604083850312156200052857600080fd5b60006200053885828601620004fd565b92505060206200054b85828601620004fd565b9150509250929050565b6200056081620005f2565b82525050565b60006020820190506200057d600083018462000555565b92915050565b60006200059082620005f2565b91506200059d83620005f2565b925082821015620005b357620005b262000634565b5b828203905092915050565b6000620005cb82620005d2565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006200060982620005f2565b91506200061683620005f2565b92508262000629576200062862000663565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6200069d81620005be565b8114620006a957600080fd5b50565b613b9380620006bc6000396000f3fe6080604052600436106101185760003560e01c806370a08231116100a0578063b515566a11610064578063b515566a14610398578063c3c8cd80146103c1578063c9567bf9146103d8578063d543dbeb146103ef578063dd62ed3e146104185761011f565b806370a08231146102b1578063715018a6146102ee5780638da5cb5b1461030557806395d89b4114610330578063a9059cbb1461035b5761011f565b806323b872dd116100e757806323b872dd146101e0578063273123b71461021d578063313ce567146102465780635932ead1146102715780636fc3eaec1461029a5761011f565b806306fdde0314610124578063095ea7b31461014f57806318160ddd1461018c5780631f90da74146101b75761011f565b3661011f57005b600080fd5b34801561013057600080fd5b50610139610455565b60405161014691906131e9565b60405180910390f35b34801561015b57600080fd5b5061017660048036038101906101719190612ce9565b610492565b60405161018391906131ce565b60405180910390f35b34801561019857600080fd5b506101a16104b0565b6040516101ae91906133ab565b60405180910390f35b3480156101c357600080fd5b506101de60048036038101906101d99190612c22565b6104c1565b005b3480156101ec57600080fd5b5061020760048036038101906102029190612c9a565b6106cb565b60405161021491906131ce565b60405180910390f35b34801561022957600080fd5b50610244600480360381019061023f9190612bd0565b6107a4565b005b34801561025257600080fd5b5061025b610894565b6040516102689190613420565b60405180910390f35b34801561027d57600080fd5b5061029860048036038101906102939190612d66565b61089d565b005b3480156102a657600080fd5b506102af61094f565b005b3480156102bd57600080fd5b506102d860048036038101906102d39190612bd0565b6109c1565b6040516102e591906133ab565b60405180910390f35b3480156102fa57600080fd5b50610303610a12565b005b34801561031157600080fd5b5061031a610b65565b6040516103279190613100565b60405180910390f35b34801561033c57600080fd5b50610345610b8e565b60405161035291906131e9565b60405180910390f35b34801561036757600080fd5b50610382600480360381019061037d9190612ce9565b610bcb565b60405161038f91906131ce565b60405180910390f35b3480156103a457600080fd5b506103bf60048036038101906103ba9190612d25565b610be9565b005b3480156103cd57600080fd5b506103d6610d39565b005b3480156103e457600080fd5b506103ed610db3565b005b3480156103fb57600080fd5b5061041660048036038101906104119190612db8565b61130f565b005b34801561042457600080fd5b5061043f600480360381019061043a9190612c5e565b611458565b60405161044c91906133ab565b60405180910390f35b60606040518060400160405280600b81526020017f4f6c796d70696320426574000000000000000000000000000000000000000000815250905090565b60006104a661049f6114df565b84846114e7565b6001905092915050565b6000683635c9adc5dea00000905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610551576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105489061330b565b60405180910390fd5b81600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160066000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60006106d88484846116b2565b610799846106e46114df565b61079485604051806060016040528060288152602001613b3660289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061074a6114df565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ea59092919063ffffffff16565b6114e7565b600190509392505050565b6107ac6114df565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610839576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610830906132cb565b60405180910390fd5b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b6108a56114df565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610932576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610929906132cb565b60405180910390fd5b80601060176101000a81548160ff02191690831515021790555050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109906114df565b73ffffffffffffffffffffffffffffffffffffffff16146109b057600080fd5b60004790506109be81611f09565b50565b6000610a0b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461202a565b9050919050565b610a1a6114df565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610aa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9e906132cb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f4f4c4d5000000000000000000000000000000000000000000000000000000000815250905090565b6000610bdf610bd86114df565b84846116b2565b6001905092915050565b610bf16114df565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c75906132cb565b60405180910390fd5b60005b8151811015610d35576001600b6000848481518110610cc9577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610d2d906136d3565b915050610c81565b5050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d7a6114df565b73ffffffffffffffffffffffffffffffffffffffff1614610d9a57600080fd5b6000610da5306109c1565b9050610db081612098565b50565b610dbb6114df565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3f906132cb565b60405180910390fd5b601060149054906101000a900460ff1615610e98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8f9061336b565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610f2830600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea000006114e7565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610f6e57600080fd5b505afa158015610f82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa69190612bf9565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561100857600080fd5b505afa15801561101c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110409190612bf9565b6040518363ffffffff1660e01b815260040161105d92919061311b565b602060405180830381600087803b15801561107757600080fd5b505af115801561108b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110af9190612bf9565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730611138306109c1565b600080611143610b65565b426040518863ffffffff1660e01b81526004016111659695949392919061316d565b6060604051808303818588803b15801561117e57600080fd5b505af1158015611192573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906111b79190612de1565b5050506001601060166101000a81548160ff0219169083151502179055506001601060176101000a81548160ff021916908315150217905550678ac7230489e800006011819055506001601060146101000a81548160ff021916908315150217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016112b9929190613144565b602060405180830381600087803b1580156112d357600080fd5b505af11580156112e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061130b9190612d8f565b5050565b6113176114df565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139b906132cb565b60405180910390fd5b600081116113e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113de9061328b565b60405180910390fd5b611416606461140883683635c9adc5dea0000061239290919063ffffffff16565b61240d90919063ffffffff16565b6011819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf60115460405161144d91906133ab565b60405180910390a150565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611557576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154e9061334b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156115c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115be9061324b565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116a591906133ab565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611722576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117199061332b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611792576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117899061320b565b60405180910390fd5b600081116117d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117cc906132eb565b60405180910390fd5b6117dd610b65565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561184b575061181b610b65565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611de257601060179054906101000a900460ff1615611a7e573073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156118cd57503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156119275750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156119815750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611a7d57600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166119c76114df565b73ffffffffffffffffffffffffffffffffffffffff161480611a3d5750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611a256114df565b73ffffffffffffffffffffffffffffffffffffffff16145b611a7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a739061338b565b60405180910390fd5b5b5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611ac157601154811115611ac057600080fd5b5b600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611b655750600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611b6e57600080fd5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611c195750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611c6f5750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611c875750601060179054906101000a900460ff165b15611d285742600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611cd757600080fd5b600f42611ce491906134e1565b600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6000611d33306109c1565b9050601060159054906101000a900460ff16158015611da05750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611db85750601060169054906101000a900460ff165b15611de057611dc681612098565b60004790506000811115611dde57611ddd47611f09565b5b505b505b600060019050600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611e895750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611e9357600090505b611e9f84848484612457565b50505050565b6000838311158290611eed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ee491906131e9565b60405180910390fd5b5060008385611efc91906135c2565b9050809150509392505050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611f6c600a611f5e60038661239290919063ffffffff16565b61240d90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611f97573d6000803e3d6000fd5b50600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611ffb600a611fed60078661239290919063ffffffff16565b61240d90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612026573d6000803e3d6000fd5b5050565b6000600754821115612071576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120689061322b565b60405180910390fd5b600061207b612484565b9050612090818461240d90919063ffffffff16565b915050919050565b6001601060156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156120f6577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156121245781602001602082028036833780820191505090505b5090503081600081518110612162577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561220457600080fd5b505afa158015612218573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061223c9190612bf9565b81600181518110612276577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506122dd30600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846114e7565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016123419594939291906133c6565b600060405180830381600087803b15801561235b57600080fd5b505af115801561236f573d6000803e3d6000fd5b50505050506000601060156101000a81548160ff02191690831515021790555050565b6000808314156123a55760009050612407565b600082846123b39190613568565b90508284826123c29190613537565b14612402576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123f9906132ab565b60405180910390fd5b809150505b92915050565b600061244f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506124af565b905092915050565b8061246557612464612512565b5b612470848484612543565b8061247e5761247d61270e565b5b50505050565b600080600061249161271f565b915091506124a8818361240d90919063ffffffff16565b9250505090565b600080831182906124f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124ed91906131e9565b60405180910390fd5b50600083856125059190613537565b9050809150509392505050565b600060095414801561252657506000600a54145b1561253057612541565b60006009819055506000600a819055505b565b60008060008060008061255587612781565b9550955095509550955095506125b386600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127e990919063ffffffff16565b600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061264885600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461283390919063ffffffff16565b600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061269481612891565b61269e848361294e565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516126fb91906133ab565b60405180910390a3505050505050505050565b6002600981905550600a8081905550565b600080600060075490506000683635c9adc5dea000009050612755683635c9adc5dea0000060075461240d90919063ffffffff16565b82101561277457600754683635c9adc5dea0000093509350505061277d565b81819350935050505b9091565b600080600080600080600080600061279e8a600954600a54612988565b92509250925060006127ae612484565b905060008060006127c18e878787612a1e565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061282b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ea5565b905092915050565b600080828461284291906134e1565b905083811015612887576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161287e9061326b565b60405180910390fd5b8091505092915050565b600061289b612484565b905060006128b2828461239290919063ffffffff16565b905061290681600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461283390919063ffffffff16565b600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612963826007546127e990919063ffffffff16565b60078190555061297e8160085461283390919063ffffffff16565b6008819055505050565b6000806000806129b460646129a6888a61239290919063ffffffff16565b61240d90919063ffffffff16565b905060006129de60646129d0888b61239290919063ffffffff16565b61240d90919063ffffffff16565b90506000612a07826129f9858c6127e990919063ffffffff16565b6127e990919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612a37858961239290919063ffffffff16565b90506000612a4e868961239290919063ffffffff16565b90506000612a65878961239290919063ffffffff16565b90506000612a8e82612a8085876127e990919063ffffffff16565b6127e990919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000612aba612ab584613460565b61343b565b90508083825260208201905082856020860282011115612ad957600080fd5b60005b85811015612b095781612aef8882612b13565b845260208401935060208301925050600181019050612adc565b5050509392505050565b600081359050612b2281613ad9565b92915050565b600081519050612b3781613ad9565b92915050565b600081359050612b4c81613af0565b92915050565b600082601f830112612b6357600080fd5b8135612b73848260208601612aa7565b91505092915050565b600081359050612b8b81613b07565b92915050565b600081519050612ba081613b07565b92915050565b600081359050612bb581613b1e565b92915050565b600081519050612bca81613b1e565b92915050565b600060208284031215612be257600080fd5b6000612bf084828501612b13565b91505092915050565b600060208284031215612c0b57600080fd5b6000612c1984828501612b28565b91505092915050565b60008060408385031215612c3557600080fd5b6000612c4385828601612b3d565b9250506020612c5485828601612b3d565b9150509250929050565b60008060408385031215612c7157600080fd5b6000612c7f85828601612b13565b9250506020612c9085828601612b13565b9150509250929050565b600080600060608486031215612caf57600080fd5b6000612cbd86828701612b13565b9350506020612cce86828701612b13565b9250506040612cdf86828701612ba6565b9150509250925092565b60008060408385031215612cfc57600080fd5b6000612d0a85828601612b13565b9250506020612d1b85828601612ba6565b9150509250929050565b600060208284031215612d3757600080fd5b600082013567ffffffffffffffff811115612d5157600080fd5b612d5d84828501612b52565b91505092915050565b600060208284031215612d7857600080fd5b6000612d8684828501612b7c565b91505092915050565b600060208284031215612da157600080fd5b6000612daf84828501612b91565b91505092915050565b600060208284031215612dca57600080fd5b6000612dd884828501612ba6565b91505092915050565b600080600060608486031215612df657600080fd5b6000612e0486828701612bbb565b9350506020612e1586828701612bbb565b9250506040612e2686828701612bbb565b9150509250925092565b6000612e3c8383612e48565b60208301905092915050565b612e51816135f6565b82525050565b612e60816135f6565b82525050565b6000612e718261349c565b612e7b81856134bf565b9350612e868361348c565b8060005b83811015612eb7578151612e9e8882612e30565b9750612ea9836134b2565b925050600181019050612e8a565b5085935050505092915050565b612ecd8161361a565b82525050565b612edc8161365d565b82525050565b6000612eed826134a7565b612ef781856134d0565b9350612f0781856020860161366f565b612f10816137a9565b840191505092915050565b6000612f286023836134d0565b9150612f33826137ba565b604082019050919050565b6000612f4b602a836134d0565b9150612f5682613809565b604082019050919050565b6000612f6e6022836134d0565b9150612f7982613858565b604082019050919050565b6000612f91601b836134d0565b9150612f9c826138a7565b602082019050919050565b6000612fb4601d836134d0565b9150612fbf826138d0565b602082019050919050565b6000612fd76021836134d0565b9150612fe2826138f9565b604082019050919050565b6000612ffa6020836134d0565b915061300582613948565b602082019050919050565b600061301d6029836134d0565b915061302882613971565b604082019050919050565b60006130406016836134d0565b915061304b826139c0565b602082019050919050565b60006130636025836134d0565b915061306e826139e9565b604082019050919050565b60006130866024836134d0565b915061309182613a38565b604082019050919050565b60006130a96017836134d0565b91506130b482613a87565b602082019050919050565b60006130cc6011836134d0565b91506130d782613ab0565b602082019050919050565b6130eb81613646565b82525050565b6130fa81613650565b82525050565b60006020820190506131156000830184612e57565b92915050565b60006040820190506131306000830185612e57565b61313d6020830184612e57565b9392505050565b60006040820190506131596000830185612e57565b61316660208301846130e2565b9392505050565b600060c0820190506131826000830189612e57565b61318f60208301886130e2565b61319c6040830187612ed3565b6131a96060830186612ed3565b6131b66080830185612e57565b6131c360a08301846130e2565b979650505050505050565b60006020820190506131e36000830184612ec4565b92915050565b600060208201905081810360008301526132038184612ee2565b905092915050565b6000602082019050818103600083015261322481612f1b565b9050919050565b6000602082019050818103600083015261324481612f3e565b9050919050565b6000602082019050818103600083015261326481612f61565b9050919050565b6000602082019050818103600083015261328481612f84565b9050919050565b600060208201905081810360008301526132a481612fa7565b9050919050565b600060208201905081810360008301526132c481612fca565b9050919050565b600060208201905081810360008301526132e481612fed565b9050919050565b6000602082019050818103600083015261330481613010565b9050919050565b6000602082019050818103600083015261332481613033565b9050919050565b6000602082019050818103600083015261334481613056565b9050919050565b6000602082019050818103600083015261336481613079565b9050919050565b600060208201905081810360008301526133848161309c565b9050919050565b600060208201905081810360008301526133a4816130bf565b9050919050565b60006020820190506133c060008301846130e2565b92915050565b600060a0820190506133db60008301886130e2565b6133e86020830187612ed3565b81810360408301526133fa8186612e66565b90506134096060830185612e57565b61341660808301846130e2565b9695505050505050565b600060208201905061343560008301846130f1565b92915050565b6000613445613456565b905061345182826136a2565b919050565b6000604051905090565b600067ffffffffffffffff82111561347b5761347a61377a565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006134ec82613646565b91506134f783613646565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561352c5761352b61371c565b5b828201905092915050565b600061354282613646565b915061354d83613646565b92508261355d5761355c61374b565b5b828204905092915050565b600061357382613646565b915061357e83613646565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156135b7576135b661371c565b5b828202905092915050565b60006135cd82613646565b91506135d883613646565b9250828210156135eb576135ea61371c565b5b828203905092915050565b600061360182613626565b9050919050565b600061361382613626565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061366882613646565b9050919050565b60005b8381101561368d578082015181840152602081019050613672565b8381111561369c576000848401525b50505050565b6136ab826137a9565b810181811067ffffffffffffffff821117156136ca576136c961377a565b5b80604052505050565b60006136de82613646565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156137115761371061371c565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f416d6f756e74206d7573742062652067726561746572207468616e2030000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f596f7520617265206e6f7420617574686f72697a656400000000000000000000600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f4552523a20556e6973776170206f6e6c79000000000000000000000000000000600082015250565b613ae2816135f6565b8114613aed57600080fd5b50565b613af981613608565b8114613b0457600080fd5b50565b613b108161361a565b8114613b1b57600080fd5b50565b613b2781613646565b8114613b3257600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e2187c323ba4d9ceaabf697521a02b519c887800cfef53d5a5e01715d51d9e2164736f6c6343000804003300000000000000000000000042e51c349cd7be4af1d547fc324dd780c564db4e00000000000000000000000078da23cb854ca948995348e02aec2bd49af2e7eb
Deployed Bytecode
0x6080604052600436106101185760003560e01c806370a08231116100a0578063b515566a11610064578063b515566a14610398578063c3c8cd80146103c1578063c9567bf9146103d8578063d543dbeb146103ef578063dd62ed3e146104185761011f565b806370a08231146102b1578063715018a6146102ee5780638da5cb5b1461030557806395d89b4114610330578063a9059cbb1461035b5761011f565b806323b872dd116100e757806323b872dd146101e0578063273123b71461021d578063313ce567146102465780635932ead1146102715780636fc3eaec1461029a5761011f565b806306fdde0314610124578063095ea7b31461014f57806318160ddd1461018c5780631f90da74146101b75761011f565b3661011f57005b600080fd5b34801561013057600080fd5b50610139610455565b60405161014691906131e9565b60405180910390f35b34801561015b57600080fd5b5061017660048036038101906101719190612ce9565b610492565b60405161018391906131ce565b60405180910390f35b34801561019857600080fd5b506101a16104b0565b6040516101ae91906133ab565b60405180910390f35b3480156101c357600080fd5b506101de60048036038101906101d99190612c22565b6104c1565b005b3480156101ec57600080fd5b5061020760048036038101906102029190612c9a565b6106cb565b60405161021491906131ce565b60405180910390f35b34801561022957600080fd5b50610244600480360381019061023f9190612bd0565b6107a4565b005b34801561025257600080fd5b5061025b610894565b6040516102689190613420565b60405180910390f35b34801561027d57600080fd5b5061029860048036038101906102939190612d66565b61089d565b005b3480156102a657600080fd5b506102af61094f565b005b3480156102bd57600080fd5b506102d860048036038101906102d39190612bd0565b6109c1565b6040516102e591906133ab565b60405180910390f35b3480156102fa57600080fd5b50610303610a12565b005b34801561031157600080fd5b5061031a610b65565b6040516103279190613100565b60405180910390f35b34801561033c57600080fd5b50610345610b8e565b60405161035291906131e9565b60405180910390f35b34801561036757600080fd5b50610382600480360381019061037d9190612ce9565b610bcb565b60405161038f91906131ce565b60405180910390f35b3480156103a457600080fd5b506103bf60048036038101906103ba9190612d25565b610be9565b005b3480156103cd57600080fd5b506103d6610d39565b005b3480156103e457600080fd5b506103ed610db3565b005b3480156103fb57600080fd5b5061041660048036038101906104119190612db8565b61130f565b005b34801561042457600080fd5b5061043f600480360381019061043a9190612c5e565b611458565b60405161044c91906133ab565b60405180910390f35b60606040518060400160405280600b81526020017f4f6c796d70696320426574000000000000000000000000000000000000000000815250905090565b60006104a661049f6114df565b84846114e7565b6001905092915050565b6000683635c9adc5dea00000905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610551576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105489061330b565b60405180910390fd5b81600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160066000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60006106d88484846116b2565b610799846106e46114df565b61079485604051806060016040528060288152602001613b3660289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061074a6114df565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ea59092919063ffffffff16565b6114e7565b600190509392505050565b6107ac6114df565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610839576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610830906132cb565b60405180910390fd5b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b6108a56114df565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610932576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610929906132cb565b60405180910390fd5b80601060176101000a81548160ff02191690831515021790555050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109906114df565b73ffffffffffffffffffffffffffffffffffffffff16146109b057600080fd5b60004790506109be81611f09565b50565b6000610a0b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461202a565b9050919050565b610a1a6114df565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610aa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9e906132cb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f4f4c4d5000000000000000000000000000000000000000000000000000000000815250905090565b6000610bdf610bd86114df565b84846116b2565b6001905092915050565b610bf16114df565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c75906132cb565b60405180910390fd5b60005b8151811015610d35576001600b6000848481518110610cc9577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610d2d906136d3565b915050610c81565b5050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d7a6114df565b73ffffffffffffffffffffffffffffffffffffffff1614610d9a57600080fd5b6000610da5306109c1565b9050610db081612098565b50565b610dbb6114df565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3f906132cb565b60405180910390fd5b601060149054906101000a900460ff1615610e98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8f9061336b565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610f2830600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea000006114e7565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610f6e57600080fd5b505afa158015610f82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa69190612bf9565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561100857600080fd5b505afa15801561101c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110409190612bf9565b6040518363ffffffff1660e01b815260040161105d92919061311b565b602060405180830381600087803b15801561107757600080fd5b505af115801561108b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110af9190612bf9565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730611138306109c1565b600080611143610b65565b426040518863ffffffff1660e01b81526004016111659695949392919061316d565b6060604051808303818588803b15801561117e57600080fd5b505af1158015611192573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906111b79190612de1565b5050506001601060166101000a81548160ff0219169083151502179055506001601060176101000a81548160ff021916908315150217905550678ac7230489e800006011819055506001601060146101000a81548160ff021916908315150217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016112b9929190613144565b602060405180830381600087803b1580156112d357600080fd5b505af11580156112e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061130b9190612d8f565b5050565b6113176114df565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139b906132cb565b60405180910390fd5b600081116113e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113de9061328b565b60405180910390fd5b611416606461140883683635c9adc5dea0000061239290919063ffffffff16565b61240d90919063ffffffff16565b6011819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf60115460405161144d91906133ab565b60405180910390a150565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611557576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154e9061334b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156115c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115be9061324b565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116a591906133ab565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611722576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117199061332b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611792576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117899061320b565b60405180910390fd5b600081116117d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117cc906132eb565b60405180910390fd5b6117dd610b65565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561184b575061181b610b65565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611de257601060179054906101000a900460ff1615611a7e573073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156118cd57503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156119275750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156119815750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611a7d57600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166119c76114df565b73ffffffffffffffffffffffffffffffffffffffff161480611a3d5750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611a256114df565b73ffffffffffffffffffffffffffffffffffffffff16145b611a7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a739061338b565b60405180910390fd5b5b5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611ac157601154811115611ac057600080fd5b5b600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611b655750600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611b6e57600080fd5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611c195750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611c6f5750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611c875750601060179054906101000a900460ff165b15611d285742600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611cd757600080fd5b600f42611ce491906134e1565b600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6000611d33306109c1565b9050601060159054906101000a900460ff16158015611da05750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611db85750601060169054906101000a900460ff165b15611de057611dc681612098565b60004790506000811115611dde57611ddd47611f09565b5b505b505b600060019050600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611e895750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611e9357600090505b611e9f84848484612457565b50505050565b6000838311158290611eed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ee491906131e9565b60405180910390fd5b5060008385611efc91906135c2565b9050809150509392505050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611f6c600a611f5e60038661239290919063ffffffff16565b61240d90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611f97573d6000803e3d6000fd5b50600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611ffb600a611fed60078661239290919063ffffffff16565b61240d90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612026573d6000803e3d6000fd5b5050565b6000600754821115612071576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120689061322b565b60405180910390fd5b600061207b612484565b9050612090818461240d90919063ffffffff16565b915050919050565b6001601060156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156120f6577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156121245781602001602082028036833780820191505090505b5090503081600081518110612162577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561220457600080fd5b505afa158015612218573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061223c9190612bf9565b81600181518110612276577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506122dd30600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846114e7565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016123419594939291906133c6565b600060405180830381600087803b15801561235b57600080fd5b505af115801561236f573d6000803e3d6000fd5b50505050506000601060156101000a81548160ff02191690831515021790555050565b6000808314156123a55760009050612407565b600082846123b39190613568565b90508284826123c29190613537565b14612402576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123f9906132ab565b60405180910390fd5b809150505b92915050565b600061244f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506124af565b905092915050565b8061246557612464612512565b5b612470848484612543565b8061247e5761247d61270e565b5b50505050565b600080600061249161271f565b915091506124a8818361240d90919063ffffffff16565b9250505090565b600080831182906124f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124ed91906131e9565b60405180910390fd5b50600083856125059190613537565b9050809150509392505050565b600060095414801561252657506000600a54145b1561253057612541565b60006009819055506000600a819055505b565b60008060008060008061255587612781565b9550955095509550955095506125b386600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127e990919063ffffffff16565b600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061264885600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461283390919063ffffffff16565b600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061269481612891565b61269e848361294e565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516126fb91906133ab565b60405180910390a3505050505050505050565b6002600981905550600a8081905550565b600080600060075490506000683635c9adc5dea000009050612755683635c9adc5dea0000060075461240d90919063ffffffff16565b82101561277457600754683635c9adc5dea0000093509350505061277d565b81819350935050505b9091565b600080600080600080600080600061279e8a600954600a54612988565b92509250925060006127ae612484565b905060008060006127c18e878787612a1e565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061282b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ea5565b905092915050565b600080828461284291906134e1565b905083811015612887576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161287e9061326b565b60405180910390fd5b8091505092915050565b600061289b612484565b905060006128b2828461239290919063ffffffff16565b905061290681600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461283390919063ffffffff16565b600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612963826007546127e990919063ffffffff16565b60078190555061297e8160085461283390919063ffffffff16565b6008819055505050565b6000806000806129b460646129a6888a61239290919063ffffffff16565b61240d90919063ffffffff16565b905060006129de60646129d0888b61239290919063ffffffff16565b61240d90919063ffffffff16565b90506000612a07826129f9858c6127e990919063ffffffff16565b6127e990919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612a37858961239290919063ffffffff16565b90506000612a4e868961239290919063ffffffff16565b90506000612a65878961239290919063ffffffff16565b90506000612a8e82612a8085876127e990919063ffffffff16565b6127e990919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000612aba612ab584613460565b61343b565b90508083825260208201905082856020860282011115612ad957600080fd5b60005b85811015612b095781612aef8882612b13565b845260208401935060208301925050600181019050612adc565b5050509392505050565b600081359050612b2281613ad9565b92915050565b600081519050612b3781613ad9565b92915050565b600081359050612b4c81613af0565b92915050565b600082601f830112612b6357600080fd5b8135612b73848260208601612aa7565b91505092915050565b600081359050612b8b81613b07565b92915050565b600081519050612ba081613b07565b92915050565b600081359050612bb581613b1e565b92915050565b600081519050612bca81613b1e565b92915050565b600060208284031215612be257600080fd5b6000612bf084828501612b13565b91505092915050565b600060208284031215612c0b57600080fd5b6000612c1984828501612b28565b91505092915050565b60008060408385031215612c3557600080fd5b6000612c4385828601612b3d565b9250506020612c5485828601612b3d565b9150509250929050565b60008060408385031215612c7157600080fd5b6000612c7f85828601612b13565b9250506020612c9085828601612b13565b9150509250929050565b600080600060608486031215612caf57600080fd5b6000612cbd86828701612b13565b9350506020612cce86828701612b13565b9250506040612cdf86828701612ba6565b9150509250925092565b60008060408385031215612cfc57600080fd5b6000612d0a85828601612b13565b9250506020612d1b85828601612ba6565b9150509250929050565b600060208284031215612d3757600080fd5b600082013567ffffffffffffffff811115612d5157600080fd5b612d5d84828501612b52565b91505092915050565b600060208284031215612d7857600080fd5b6000612d8684828501612b7c565b91505092915050565b600060208284031215612da157600080fd5b6000612daf84828501612b91565b91505092915050565b600060208284031215612dca57600080fd5b6000612dd884828501612ba6565b91505092915050565b600080600060608486031215612df657600080fd5b6000612e0486828701612bbb565b9350506020612e1586828701612bbb565b9250506040612e2686828701612bbb565b9150509250925092565b6000612e3c8383612e48565b60208301905092915050565b612e51816135f6565b82525050565b612e60816135f6565b82525050565b6000612e718261349c565b612e7b81856134bf565b9350612e868361348c565b8060005b83811015612eb7578151612e9e8882612e30565b9750612ea9836134b2565b925050600181019050612e8a565b5085935050505092915050565b612ecd8161361a565b82525050565b612edc8161365d565b82525050565b6000612eed826134a7565b612ef781856134d0565b9350612f0781856020860161366f565b612f10816137a9565b840191505092915050565b6000612f286023836134d0565b9150612f33826137ba565b604082019050919050565b6000612f4b602a836134d0565b9150612f5682613809565b604082019050919050565b6000612f6e6022836134d0565b9150612f7982613858565b604082019050919050565b6000612f91601b836134d0565b9150612f9c826138a7565b602082019050919050565b6000612fb4601d836134d0565b9150612fbf826138d0565b602082019050919050565b6000612fd76021836134d0565b9150612fe2826138f9565b604082019050919050565b6000612ffa6020836134d0565b915061300582613948565b602082019050919050565b600061301d6029836134d0565b915061302882613971565b604082019050919050565b60006130406016836134d0565b915061304b826139c0565b602082019050919050565b60006130636025836134d0565b915061306e826139e9565b604082019050919050565b60006130866024836134d0565b915061309182613a38565b604082019050919050565b60006130a96017836134d0565b91506130b482613a87565b602082019050919050565b60006130cc6011836134d0565b91506130d782613ab0565b602082019050919050565b6130eb81613646565b82525050565b6130fa81613650565b82525050565b60006020820190506131156000830184612e57565b92915050565b60006040820190506131306000830185612e57565b61313d6020830184612e57565b9392505050565b60006040820190506131596000830185612e57565b61316660208301846130e2565b9392505050565b600060c0820190506131826000830189612e57565b61318f60208301886130e2565b61319c6040830187612ed3565b6131a96060830186612ed3565b6131b66080830185612e57565b6131c360a08301846130e2565b979650505050505050565b60006020820190506131e36000830184612ec4565b92915050565b600060208201905081810360008301526132038184612ee2565b905092915050565b6000602082019050818103600083015261322481612f1b565b9050919050565b6000602082019050818103600083015261324481612f3e565b9050919050565b6000602082019050818103600083015261326481612f61565b9050919050565b6000602082019050818103600083015261328481612f84565b9050919050565b600060208201905081810360008301526132a481612fa7565b9050919050565b600060208201905081810360008301526132c481612fca565b9050919050565b600060208201905081810360008301526132e481612fed565b9050919050565b6000602082019050818103600083015261330481613010565b9050919050565b6000602082019050818103600083015261332481613033565b9050919050565b6000602082019050818103600083015261334481613056565b9050919050565b6000602082019050818103600083015261336481613079565b9050919050565b600060208201905081810360008301526133848161309c565b9050919050565b600060208201905081810360008301526133a4816130bf565b9050919050565b60006020820190506133c060008301846130e2565b92915050565b600060a0820190506133db60008301886130e2565b6133e86020830187612ed3565b81810360408301526133fa8186612e66565b90506134096060830185612e57565b61341660808301846130e2565b9695505050505050565b600060208201905061343560008301846130f1565b92915050565b6000613445613456565b905061345182826136a2565b919050565b6000604051905090565b600067ffffffffffffffff82111561347b5761347a61377a565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006134ec82613646565b91506134f783613646565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561352c5761352b61371c565b5b828201905092915050565b600061354282613646565b915061354d83613646565b92508261355d5761355c61374b565b5b828204905092915050565b600061357382613646565b915061357e83613646565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156135b7576135b661371c565b5b828202905092915050565b60006135cd82613646565b91506135d883613646565b9250828210156135eb576135ea61371c565b5b828203905092915050565b600061360182613626565b9050919050565b600061361382613626565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061366882613646565b9050919050565b60005b8381101561368d578082015181840152602081019050613672565b8381111561369c576000848401525b50505050565b6136ab826137a9565b810181811067ffffffffffffffff821117156136ca576136c961377a565b5b80604052505050565b60006136de82613646565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156137115761371061371c565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f416d6f756e74206d7573742062652067726561746572207468616e2030000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f596f7520617265206e6f7420617574686f72697a656400000000000000000000600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f4552523a20556e6973776170206f6e6c79000000000000000000000000000000600082015250565b613ae2816135f6565b8114613aed57600080fd5b50565b613af981613608565b8114613b0457600080fd5b50565b613b108161361a565b8114613b1b57600080fd5b50565b613b2781613646565b8114613b3257600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e2187c323ba4d9ceaabf697521a02b519c887800cfef53d5a5e01715d51d9e2164736f6c63430008040033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000042e51c349cd7be4af1d547fc324dd780c564db4e00000000000000000000000078da23cb854ca948995348e02aec2bd49af2e7eb
-----Decoded View---------------
Arg [0] : addr1 (address): 0x42E51c349CD7Be4AF1D547FC324DD780C564dB4E
Arg [1] : addr2 (address): 0x78dA23CB854Ca948995348e02aec2bD49Af2e7EB
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000042e51c349cd7be4af1d547fc324dd780c564db4e
Arg [1] : 00000000000000000000000078da23cb854ca948995348e02aec2bd49af2e7eb
Deployed Bytecode Sourcemap
3978:12992:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5877:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7143:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6154:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6403:333;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7344:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13134:88;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6063:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7798:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12760:191;;;;;;;;;;;;;:::i;:::-;;6257:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2930:148;;;;;;;;;;;;;:::i;:::-;;2716:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5968:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6744:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12959:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12560:192;;;;;;;;;;;;;:::i;:::-;;11567:985;;;;;;;;;;;;;:::i;:::-;;16712:255;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6951:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5877:83;5914:13;5947:5;;;;;;;;;;;;;;;;;5940:12;;5877:83;:::o;7143:193::-;7245:4;7267:39;7276:12;:10;:12::i;:::-;7290:7;7299:6;7267:8;:39::i;:::-;7324:4;7317:11;;7143:193;;;;:::o;6154:95::-;6207:7;4576:21;6227:14;;6154:95;:::o;6403:333::-;6518:13;;;;;;;;;;;6504:27;;:10;:27;;;6496:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;6586:5;6571:12;;:20;;;;;;;;;;;;;;;;;;6620:5;6602:15;;:23;;;;;;;;;;;;;;;;;;6671:4;6636:18;:32;6655:12;;;;;;;;;;;6636:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;6724:4;6686:18;:35;6705:15;;;;;;;;;;;6686:35;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;6403:333;;:::o;7344:446::-;7476:4;7493:36;7503:6;7511:9;7522:6;7493:9;:36::i;:::-;7540:220;7563:6;7584:12;:10;:12::i;:::-;7611:138;7667:6;7611:138;;;;;;;;;;;;;;;;;:11;:19;7623:6;7611:19;;;;;;;;;;;;;;;:33;7631:12;:10;:12::i;:::-;7611:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;7540:8;:220::i;:::-;7778:4;7771:11;;7344:446;;;;;:::o;13134:88::-;2853:12;:10;:12::i;:::-;2843:22;;:6;;;;;;;;;;:22;;;2835:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13209:5:::1;13194:4;:12;13199:6;13194:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;13134:88:::0;:::o;6063:83::-;6104:5;4202:1;6122:16;;6063:83;:::o;7798:103::-;2853:12;:10;:12::i;:::-;2843:22;;:6;;;;;;;;;;:22;;;2835:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7888:5:::1;7870:15;;:23;;;;;;;;;;;;;;;;;;7798:103:::0;:::o;12760:191::-;12826:12;;;;;;;;;;;12810:28;;:12;:10;:12::i;:::-;:28;;;12802:37;;;;;;12850:26;12879:21;12850:50;;12911:32;12924:18;12911:12;:32::i;:::-;12760:191;:::o;6257:138::-;6323:7;6350:37;6370:7;:16;6378:7;6370:16;;;;;;;;;;;;;;;;6350:19;:37::i;:::-;6343:44;;6257:138;;;:::o;2930:148::-;2853:12;:10;:12::i;:::-;2843:22;;:6;;;;;;;;;;:22;;;2835:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3037:1:::1;3000:40;;3021:6;::::0;::::1;;;;;;;;3000:40;;;;;;;;;;;;3068:1;3051:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2930:148::o:0;2716:79::-;2754:7;2781:6;;;;;;;;;;;2774:13;;2716:79;:::o;5968:87::-;6007:13;6040:7;;;;;;;;;;;;;;;;;6033:14;;5968:87;:::o;6744:199::-;6849:4;6871:42;6881:12;:10;:12::i;:::-;6895:9;6906:6;6871:9;:42::i;:::-;6931:4;6924:11;;6744:199;;;;:::o;12959:167::-;2853:12;:10;:12::i;:::-;2843:22;;:6;;;;;;;;;;:22;;;2835:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13033:9:::1;13028:91;13052:5;:12;13048:1;:16;13028:91;;;13103:4;13086;:14;13091:5;13097:1;13091:8;;;;;;;;;;;;;;;;;;;;;;13086:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;13066:3;;;;;:::i;:::-;;;;13028:91;;;;12959:167:::0;:::o;12560:192::-;12626:12;;;;;;;;;;;12610:28;;:12;:10;:12::i;:::-;:28;;;12602:37;;;;;;12650:23;12676:24;12694:4;12676:9;:24::i;:::-;12650:50;;12711:33;12728:15;12711:16;:33::i;:::-;12560:192;:::o;11567:985::-;2853:12;:10;:12::i;:::-;2843:22;;:6;;;;;;;;;;:22;;;2835:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11631:11:::1;;;;;;;;;;;11630:12;11622:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;11681:35;11752:42;11681:124;;11834:16;11816:15;;:34;;;;;;;;;;;;;;;;;;11861:58;11878:4;11893:15;;;;;;;;;;;4576:21;11861:8;:58::i;:::-;11964:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11946:66;;;12021:4;12028:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11946:106;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11930:13;;:122;;;;;;;;;;;;;;;;;;12063:15;;;;;;;;;;;:31;;;12102:21;12147:4;12167:24;12185:4;12167:9;:24::i;:::-;12206:1;12222::::0;12238:7:::1;:5;:7::i;:::-;12260:15;12063:223;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12311:4;12297:11;;:18;;;;;;;;;;;;;;;;;;12344:4;12326:15;;:22;;;;;;;;;;;;;;;;;;12374:19;12359:12;:34;;;;12418:4;12404:11;;:18;;;;;;;;;;;;;;;;;;12440:13;;;;;;;;;;;12433:29;;;12485:15;;;;;;;;;;;12516:17;12433:111;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2913:1;11567:985::o:0;16712:255::-;2853:12;:10;:12::i;:::-;2843:22;;:6;;;;;;;;;;:22;;;2835:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16814:1:::1;16799:12;:16;16791:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;16875:36;16905:5;16875:25;16887:12;4576:21;16875:11;;:25;;;;:::i;:::-;:29;;:36;;;;:::i;:::-;16860:12;:51;;;;16927:32;16946:12;;16927:32;;;;;;:::i;:::-;;;;;;;;16712:255:::0;:::o;6951:184::-;7068:7;7100:11;:18;7112:5;7100:18;;;;;;;;;;;;;;;:27;7119:7;7100:27;;;;;;;;;;;;;;;;7093:34;;6951:184;;;;:::o;219:98::-;272:7;299:10;292:17;;219:98;:::o;8480:369::-;8624:1;8607:19;;:5;:19;;;;8599:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8705:1;8686:21;;:7;:21;;;;8678:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8787:6;8757:11;:18;8769:5;8757:18;;;;;;;;;;;;;;;:27;8776:7;8757:27;;;;;;;;;;;;;;;:36;;;;8825:7;8809:32;;8818:5;8809:32;;;8834:6;8809:32;;;;;;:::i;:::-;;;;;;;;8480:369;;;:::o;8857:2036::-;8995:1;8979:18;;:4;:18;;;;8971:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9072:1;9058:16;;:2;:16;;;;9050:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9142:1;9133:6;:10;9125:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9214:7;:5;:7::i;:::-;9206:15;;:4;:15;;;;:32;;;;;9231:7;:5;:7::i;:::-;9225:13;;:2;:13;;;;9206:32;9202:1490;;;9259:15;;;;;;;;;;;9255:526;;;9337:4;9321:21;;:4;:21;;;;:65;;;;;9381:4;9367:19;;:2;:19;;;;9321:65;:122;;;;;9427:15;;;;;;;;;;;9411:32;;:4;:32;;;;9321:122;:177;;;;;9482:15;;;;;;;;;;;9468:30;;:2;:30;;;;9321:177;9295:471;;;9599:15;;;;;;;;;;;9575:40;;:12;:10;:12::i;:::-;:40;;;:102;;;;9664:13;;;;;;;;;;;9648:29;;:12;:10;:12::i;:::-;:29;;;9575:102;9541:205;;;;;;;;;;;;:::i;:::-;;;;;;;;;9295:471;9255:526;9815:4;9799:21;;:4;:21;;;9795:93;;9859:12;;9849:6;:22;;9841:31;;;;;;9795:93;9911:4;:10;9916:4;9911:10;;;;;;;;;;;;;;;;;;;;;;;;;9910:11;:24;;;;;9926:4;:8;9931:2;9926:8;;;;;;;;;;;;;;;;;;;;;;;;;9925:9;9910:24;9902:33;;;;;;9980:13;;;;;;;;;;;9972:21;;:4;:21;;;:72;;;;;10028:15;;;;;;;;;;;10014:30;;:2;:30;;;;9972:72;:116;;;;;10066:18;:22;10085:2;10066:22;;;;;;;;;;;;;;;;;;;;;;;;;10065:23;9972:116;:152;;;;;10109:15;;;;;;;;;;;9972:152;9950:328;;;10182:15;10167:8;:12;10176:2;10167:12;;;;;;;;;;;;;;;;:30;10159:39;;;;;;10251:10;10232:15;:30;;;;:::i;:::-;10217:8;:12;10226:2;10217:12;;;;;;;;;;;;;;;:45;;;;9950:328;10292:28;10323:24;10341:4;10323:9;:24::i;:::-;10292:55;;10367:6;;;;;;;;;;;10366:7;:32;;;;;10385:13;;;;;;;;;;;10377:21;;:4;:21;;;;10366:32;:47;;;;;10402:11;;;;;;;;;;;10366:47;10362:319;;;10434:38;10451:20;10434:16;:38::i;:::-;10491:26;10520:21;10491:50;;10585:1;10564:18;:22;10560:106;;;10611:35;10624:21;10611:12;:35::i;:::-;10560:106;10362:319;;9202:1490;;10702:12;10717:4;10702:19;;10738:18;:24;10757:4;10738:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;10766:18;:22;10785:2;10766:22;;;;;;;;;;;;;;;;;;;;;;;;;10738:50;10734:98;;;10815:5;10805:15;;10734:98;10844:41;10859:4;10865:2;10869:6;10877:7;10844:14;:41::i;:::-;8857:2036;;;;:::o;1481:224::-;1601:7;1634:1;1629;:6;;1637:12;1621:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1661:9;1677:1;1673;:5;;;;:::i;:::-;1661:17;;1696:1;1689:8;;;1481:224;;;;;:::o;11392:167::-;11449:12;;;;;;;;;;;:21;;:44;11471:21;11489:2;11471:13;11482:1;11471:6;:10;;:13;;;;:::i;:::-;:17;;:21;;;;:::i;:::-;11449:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11504:15;;;;;;;;;;;:24;;:47;11529:21;11547:2;11529:13;11540:1;11529:6;:10;;:13;;;;:::i;:::-;:17;;:21;;;;:::i;:::-;11504:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11392:167;:::o;7909:323::-;8004:7;8062;;8051;:18;;8029:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;8150:19;8172:10;:8;:10::i;:::-;8150:32;;8200:24;8212:11;8200:7;:11;;:24;;;;:::i;:::-;8193:31;;;7909:323;;;:::o;10901:483::-;5344:4;5335:6;;:13;;;;;;;;;;;;;;;;;;10979:21:::1;11017:1;11003:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10979:40;;11048:4;11030;11035:1;11030:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;11074:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11064:4;11069:1;11064:7;;;;;;;;;;;;;;;;;;;;;:32;;;;;;;;;::::0;::::1;11107:62;11124:4;11139:15;;;;;;;;;;;11157:11;11107:8;:62::i;:::-;11180:15;;;;;;;;;;;:66;;;11261:11;11287:1;11303:4;11330;11350:15;11180:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5359:1;5380:5:::0;5371:6;;:14;;;;;;;;;;;;;;;;;;10901:483;:::o;1713:246::-;1771:7;1800:1;1795;:6;1791:47;;;1825:1;1818:8;;;;1791:47;1848:9;1864:1;1860;:5;;;;:::i;:::-;1848:17;;1893:1;1888;1884;:5;;;;:::i;:::-;:10;1876:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1950:1;1943:8;;;1713:246;;;;;:::o;1967:132::-;2025:7;2052:39;2056:1;2059;2052:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2045:46;;1967:132;;;;:::o;13230:282::-;13386:7;13381:28;;13395:14;:12;:14::i;:::-;13381:28;13420:44;13438:6;13446:9;13457:6;13420:17;:44::i;:::-;13480:7;13475:29;;13489:15;:13;:15::i;:::-;13475:29;13230:282;;;;:::o;16275:164::-;16317:7;16338:15;16355;16374:19;:17;:19::i;:::-;16337:56;;;;16411:20;16423:7;16411;:11;;:20;;;;:::i;:::-;16404:27;;;;16275:164;:::o;2107:223::-;2227:7;2259:1;2255;:5;2262:12;2247:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2286:9;2302:1;2298;:5;;;;:::i;:::-;2286:17;;2321:1;2314:8;;;2107:223;;;;;:::o;8240:137::-;8298:1;8287:7;;:12;:29;;;;;8315:1;8303:8;;:13;8287:29;8283:42;;;8318:7;;8283:42;8345:1;8335:7;:11;;;;8368:1;8357:8;:12;;;;8240:137;:::o;13520:610::-;13667:15;13697:23;13735:12;13762:23;13800:12;13827:13;13854:19;13865:7;13854:10;:19::i;:::-;13652:221;;;;;;;;;;;;13902:28;13922:7;13902;:15;13910:6;13902:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;13884:7;:15;13892:6;13884:15;;;;;;;;;;;;;;;:46;;;;13962:39;13985:15;13962:7;:18;13970:9;13962:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;13941:7;:18;13949:9;13941:18;;;;;;;;;;;;;;;:60;;;;14012:16;14022:5;14012:9;:16::i;:::-;14039:23;14051:4;14057;14039:11;:23::i;:::-;14095:9;14078:44;;14087:6;14078:44;;;14106:15;14078:44;;;;;;:::i;:::-;;;;;;;;13520:610;;;;;;;;;:::o;8385:87::-;8439:1;8429:7;:11;;;;8462:2;8451:8;:13;;;;8385:87::o;16447:257::-;16498:7;16507;16527:15;16545:7;;16527:25;;16563:15;4576:21;16563:25;;16613:20;4576:21;16613:7;;:11;;:20;;;;:::i;:::-;16603:7;:30;16599:61;;;16643:7;;4576:21;16635:25;;;;;;;;16599:61;16679:7;16688;16671:25;;;;;;16447:257;;;:::o;14549:701::-;14649:7;14671;14693;14715;14737;14759;14795:23;14820:12;14834:13;14851:89;14877:7;14899;;14921:8;;14851:11;:89::i;:::-;14794:146;;;;;;14951:19;14973:10;:8;:10::i;:::-;14951:32;;14995:15;15012:23;15037:12;15053:109;15079:7;15101:4;15120:5;15140:11;15053;:109::i;:::-;14994:168;;;;;;15181:7;15190:15;15207:4;15213:15;15230:4;15236:5;15173:69;;;;;;;;;;;;;;;;;;;14549:701;;;;;;;:::o;1337:136::-;1395:7;1422:43;1426:1;1429;1422:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1415:50;;1337:136;;;;:::o;1150:179::-;1208:7;1228:9;1244:1;1240;:5;;;;:::i;:::-;1228:17;;1269:1;1264;:6;;1256:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1320:1;1313:8;;;1150:179;;;;:::o;14138:211::-;14191:19;14213:10;:8;:10::i;:::-;14191:32;;14234:13;14250:22;14260:11;14250:5;:9;;:22;;;;:::i;:::-;14234:38;;14308:33;14335:5;14308:7;:22;14324:4;14308:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;14283:7;:22;14299:4;14283:22;;;;;;;;;;;;;;;:58;;;;14138:211;;;:::o;14357:147::-;14435:17;14447:4;14435:7;;:11;;:17;;;;:::i;:::-;14425:7;:27;;;;14476:20;14491:4;14476:10;;:14;;:20;;;;:::i;:::-;14463:10;:33;;;;14357:147;;:::o;15258:467::-;15426:7;15448;15470;15505:12;15520:28;15544:3;15520:19;15532:6;15520:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;15505:43;;15559:13;15575:29;15600:3;15575:20;15587:7;15575;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;15559:45;;15615:23;15641:28;15663:5;15641:17;15653:4;15641:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;15615:54;;15688:15;15705:4;15711:5;15680:37;;;;;;;;;15258:467;;;;;;;:::o;15733:534::-;15927:7;15949;15971;16006:15;16024:24;16036:11;16024:7;:11;;:24;;;;:::i;:::-;16006:42;;16059:12;16074:21;16083:11;16074:4;:8;;:21;;;;:::i;:::-;16059:36;;16106:13;16122:22;16132:11;16122:5;:9;;:22;;;;:::i;:::-;16106:38;;16155:23;16181:28;16203:5;16181:17;16193:4;16181:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;16155:54;;16228:7;16237:15;16254:4;16220:39;;;;;;;;;;15733:534;;;;;;;;:::o;24:655:1:-;120:5;145:81;161:64;218:6;161:64;:::i;:::-;145:81;:::i;:::-;136:90;;246:5;275:6;268:5;261:21;309:4;302:5;298:16;291:23;;335:6;385:3;377:4;369:6;365:17;360:3;356:27;353:36;350:2;;;414:1;411;404:12;350:2;450:1;435:238;460:6;457:1;454:13;435:238;;;528:3;557:37;590:3;578:10;557:37;:::i;:::-;552:3;545:50;624:4;619:3;615:14;608:21;;658:4;653:3;649:14;642:21;;495:178;482:1;479;475:9;470:14;;435:238;;;439:14;126:553;;;;;;;:::o;685:139::-;731:5;769:6;756:20;747:29;;785:33;812:5;785:33;:::i;:::-;737:87;;;;:::o;830:143::-;887:5;918:6;912:13;903:22;;934:33;961:5;934:33;:::i;:::-;893:80;;;;:::o;979:155::-;1033:5;1071:6;1058:20;1049:29;;1087:41;1122:5;1087:41;:::i;:::-;1039:95;;;;:::o;1157:303::-;1228:5;1277:3;1270:4;1262:6;1258:17;1254:27;1244:2;;1295:1;1292;1285:12;1244:2;1335:6;1322:20;1360:94;1450:3;1442:6;1435:4;1427:6;1423:17;1360:94;:::i;:::-;1351:103;;1234:226;;;;;:::o;1466:133::-;1509:5;1547:6;1534:20;1525:29;;1563:30;1587:5;1563:30;:::i;:::-;1515:84;;;;:::o;1605:137::-;1659:5;1690:6;1684:13;1675:22;;1706:30;1730:5;1706:30;:::i;:::-;1665:77;;;;:::o;1748:139::-;1794:5;1832:6;1819:20;1810:29;;1848:33;1875:5;1848:33;:::i;:::-;1800:87;;;;:::o;1893:143::-;1950:5;1981:6;1975:13;1966:22;;1997:33;2024:5;1997:33;:::i;:::-;1956:80;;;;:::o;2042:262::-;2101:6;2150:2;2138:9;2129:7;2125:23;2121:32;2118:2;;;2166:1;2163;2156:12;2118:2;2209:1;2234:53;2279:7;2270:6;2259:9;2255:22;2234:53;:::i;:::-;2224:63;;2180:117;2108:196;;;;:::o;2310:284::-;2380:6;2429:2;2417:9;2408:7;2404:23;2400:32;2397:2;;;2445:1;2442;2435:12;2397:2;2488:1;2513:64;2569:7;2560:6;2549:9;2545:22;2513:64;:::i;:::-;2503:74;;2459:128;2387:207;;;;:::o;2600:439::-;2684:6;2692;2741:2;2729:9;2720:7;2716:23;2712:32;2709:2;;;2757:1;2754;2747:12;2709:2;2800:1;2825:61;2878:7;2869:6;2858:9;2854:22;2825:61;:::i;:::-;2815:71;;2771:125;2935:2;2961:61;3014:7;3005:6;2994:9;2990:22;2961:61;:::i;:::-;2951:71;;2906:126;2699:340;;;;;:::o;3045:407::-;3113:6;3121;3170:2;3158:9;3149:7;3145:23;3141:32;3138:2;;;3186:1;3183;3176:12;3138:2;3229:1;3254:53;3299:7;3290:6;3279:9;3275:22;3254:53;:::i;:::-;3244:63;;3200:117;3356:2;3382:53;3427:7;3418:6;3407:9;3403:22;3382:53;:::i;:::-;3372:63;;3327:118;3128:324;;;;;:::o;3458:552::-;3535:6;3543;3551;3600:2;3588:9;3579:7;3575:23;3571:32;3568:2;;;3616:1;3613;3606:12;3568:2;3659:1;3684:53;3729:7;3720:6;3709:9;3705:22;3684:53;:::i;:::-;3674:63;;3630:117;3786:2;3812:53;3857:7;3848:6;3837:9;3833:22;3812:53;:::i;:::-;3802:63;;3757:118;3914:2;3940:53;3985:7;3976:6;3965:9;3961:22;3940:53;:::i;:::-;3930:63;;3885:118;3558:452;;;;;:::o;4016:407::-;4084:6;4092;4141:2;4129:9;4120:7;4116:23;4112:32;4109:2;;;4157:1;4154;4147:12;4109:2;4200:1;4225:53;4270:7;4261:6;4250:9;4246:22;4225:53;:::i;:::-;4215:63;;4171:117;4327:2;4353:53;4398:7;4389:6;4378:9;4374:22;4353:53;:::i;:::-;4343:63;;4298:118;4099:324;;;;;:::o;4429:405::-;4513:6;4562:2;4550:9;4541:7;4537:23;4533:32;4530:2;;;4578:1;4575;4568:12;4530:2;4649:1;4638:9;4634:17;4621:31;4679:18;4671:6;4668:30;4665:2;;;4711:1;4708;4701:12;4665:2;4739:78;4809:7;4800:6;4789:9;4785:22;4739:78;:::i;:::-;4729:88;;4592:235;4520:314;;;;:::o;4840:256::-;4896:6;4945:2;4933:9;4924:7;4920:23;4916:32;4913:2;;;4961:1;4958;4951:12;4913:2;5004:1;5029:50;5071:7;5062:6;5051:9;5047:22;5029:50;:::i;:::-;5019:60;;4975:114;4903:193;;;;:::o;5102:278::-;5169:6;5218:2;5206:9;5197:7;5193:23;5189:32;5186:2;;;5234:1;5231;5224:12;5186:2;5277:1;5302:61;5355:7;5346:6;5335:9;5331:22;5302:61;:::i;:::-;5292:71;;5248:125;5176:204;;;;:::o;5386:262::-;5445:6;5494:2;5482:9;5473:7;5469:23;5465:32;5462:2;;;5510:1;5507;5500:12;5462:2;5553:1;5578:53;5623:7;5614:6;5603:9;5599:22;5578:53;:::i;:::-;5568:63;;5524:117;5452:196;;;;:::o;5654:596::-;5742:6;5750;5758;5807:2;5795:9;5786:7;5782:23;5778:32;5775:2;;;5823:1;5820;5813:12;5775:2;5866:1;5891:64;5947:7;5938:6;5927:9;5923:22;5891:64;:::i;:::-;5881:74;;5837:128;6004:2;6030:64;6086:7;6077:6;6066:9;6062:22;6030:64;:::i;:::-;6020:74;;5975:129;6143:2;6169:64;6225:7;6216:6;6205:9;6201:22;6169:64;:::i;:::-;6159:74;;6114:129;5765:485;;;;;:::o;6256:179::-;6325:10;6346:46;6388:3;6380:6;6346:46;:::i;:::-;6424:4;6419:3;6415:14;6401:28;;6336:99;;;;:::o;6441:108::-;6518:24;6536:5;6518:24;:::i;:::-;6513:3;6506:37;6496:53;;:::o;6555:118::-;6642:24;6660:5;6642:24;:::i;:::-;6637:3;6630:37;6620:53;;:::o;6709:732::-;6828:3;6857:54;6905:5;6857:54;:::i;:::-;6927:86;7006:6;7001:3;6927:86;:::i;:::-;6920:93;;7037:56;7087:5;7037:56;:::i;:::-;7116:7;7147:1;7132:284;7157:6;7154:1;7151:13;7132:284;;;7233:6;7227:13;7260:63;7319:3;7304:13;7260:63;:::i;:::-;7253:70;;7346:60;7399:6;7346:60;:::i;:::-;7336:70;;7192:224;7179:1;7176;7172:9;7167:14;;7132:284;;;7136:14;7432:3;7425:10;;6833:608;;;;;;;:::o;7447:109::-;7528:21;7543:5;7528:21;:::i;:::-;7523:3;7516:34;7506:50;;:::o;7562:147::-;7657:45;7696:5;7657:45;:::i;:::-;7652:3;7645:58;7635:74;;:::o;7715:364::-;7803:3;7831:39;7864:5;7831:39;:::i;:::-;7886:71;7950:6;7945:3;7886:71;:::i;:::-;7879:78;;7966:52;8011:6;8006:3;7999:4;7992:5;7988:16;7966:52;:::i;:::-;8043:29;8065:6;8043:29;:::i;:::-;8038:3;8034:39;8027:46;;7807:272;;;;;:::o;8085:366::-;8227:3;8248:67;8312:2;8307:3;8248:67;:::i;:::-;8241:74;;8324:93;8413:3;8324:93;:::i;:::-;8442:2;8437:3;8433:12;8426:19;;8231:220;;;:::o;8457:366::-;8599:3;8620:67;8684:2;8679:3;8620:67;:::i;:::-;8613:74;;8696:93;8785:3;8696:93;:::i;:::-;8814:2;8809:3;8805:12;8798:19;;8603:220;;;:::o;8829:366::-;8971:3;8992:67;9056:2;9051:3;8992:67;:::i;:::-;8985:74;;9068:93;9157:3;9068:93;:::i;:::-;9186:2;9181:3;9177:12;9170:19;;8975:220;;;:::o;9201:366::-;9343:3;9364:67;9428:2;9423:3;9364:67;:::i;:::-;9357:74;;9440:93;9529:3;9440:93;:::i;:::-;9558:2;9553:3;9549:12;9542:19;;9347:220;;;:::o;9573:366::-;9715:3;9736:67;9800:2;9795:3;9736:67;:::i;:::-;9729:74;;9812:93;9901:3;9812:93;:::i;:::-;9930:2;9925:3;9921:12;9914:19;;9719:220;;;:::o;9945:366::-;10087:3;10108:67;10172:2;10167:3;10108:67;:::i;:::-;10101:74;;10184:93;10273:3;10184:93;:::i;:::-;10302:2;10297:3;10293:12;10286:19;;10091:220;;;:::o;10317:366::-;10459:3;10480:67;10544:2;10539:3;10480:67;:::i;:::-;10473:74;;10556:93;10645:3;10556:93;:::i;:::-;10674:2;10669:3;10665:12;10658:19;;10463:220;;;:::o;10689:366::-;10831:3;10852:67;10916:2;10911:3;10852:67;:::i;:::-;10845:74;;10928:93;11017:3;10928:93;:::i;:::-;11046:2;11041:3;11037:12;11030:19;;10835:220;;;:::o;11061:366::-;11203:3;11224:67;11288:2;11283:3;11224:67;:::i;:::-;11217:74;;11300:93;11389:3;11300:93;:::i;:::-;11418:2;11413:3;11409:12;11402:19;;11207:220;;;:::o;11433:366::-;11575:3;11596:67;11660:2;11655:3;11596:67;:::i;:::-;11589:74;;11672:93;11761:3;11672:93;:::i;:::-;11790:2;11785:3;11781:12;11774:19;;11579:220;;;:::o;11805:366::-;11947:3;11968:67;12032:2;12027:3;11968:67;:::i;:::-;11961:74;;12044:93;12133:3;12044:93;:::i;:::-;12162:2;12157:3;12153:12;12146:19;;11951:220;;;:::o;12177:366::-;12319:3;12340:67;12404:2;12399:3;12340:67;:::i;:::-;12333:74;;12416:93;12505:3;12416:93;:::i;:::-;12534:2;12529:3;12525:12;12518:19;;12323:220;;;:::o;12549:366::-;12691:3;12712:67;12776:2;12771:3;12712:67;:::i;:::-;12705:74;;12788:93;12877:3;12788:93;:::i;:::-;12906:2;12901:3;12897:12;12890:19;;12695:220;;;:::o;12921:118::-;13008:24;13026:5;13008:24;:::i;:::-;13003:3;12996:37;12986:53;;:::o;13045:112::-;13128:22;13144:5;13128:22;:::i;:::-;13123:3;13116:35;13106:51;;:::o;13163:222::-;13256:4;13294:2;13283:9;13279:18;13271:26;;13307:71;13375:1;13364:9;13360:17;13351:6;13307:71;:::i;:::-;13261:124;;;;:::o;13391:332::-;13512:4;13550:2;13539:9;13535:18;13527:26;;13563:71;13631:1;13620:9;13616:17;13607:6;13563:71;:::i;:::-;13644:72;13712:2;13701:9;13697:18;13688:6;13644:72;:::i;:::-;13517:206;;;;;:::o;13729:332::-;13850:4;13888:2;13877:9;13873:18;13865:26;;13901:71;13969:1;13958:9;13954:17;13945:6;13901:71;:::i;:::-;13982:72;14050:2;14039:9;14035:18;14026:6;13982:72;:::i;:::-;13855:206;;;;;:::o;14067:807::-;14316:4;14354:3;14343:9;14339:19;14331:27;;14368:71;14436:1;14425:9;14421:17;14412:6;14368:71;:::i;:::-;14449:72;14517:2;14506:9;14502:18;14493:6;14449:72;:::i;:::-;14531:80;14607:2;14596:9;14592:18;14583:6;14531:80;:::i;:::-;14621;14697:2;14686:9;14682:18;14673:6;14621:80;:::i;:::-;14711:73;14779:3;14768:9;14764:19;14755:6;14711:73;:::i;:::-;14794;14862:3;14851:9;14847:19;14838:6;14794:73;:::i;:::-;14321:553;;;;;;;;;:::o;14880:210::-;14967:4;15005:2;14994:9;14990:18;14982:26;;15018:65;15080:1;15069:9;15065:17;15056:6;15018:65;:::i;:::-;14972:118;;;;:::o;15096:313::-;15209:4;15247:2;15236:9;15232:18;15224:26;;15296:9;15290:4;15286:20;15282:1;15271:9;15267:17;15260:47;15324:78;15397:4;15388:6;15324:78;:::i;:::-;15316:86;;15214:195;;;;:::o;15415:419::-;15581:4;15619:2;15608:9;15604:18;15596:26;;15668:9;15662:4;15658:20;15654:1;15643:9;15639:17;15632:47;15696:131;15822:4;15696:131;:::i;:::-;15688:139;;15586:248;;;:::o;15840:419::-;16006:4;16044:2;16033:9;16029:18;16021:26;;16093:9;16087:4;16083:20;16079:1;16068:9;16064:17;16057:47;16121:131;16247:4;16121:131;:::i;:::-;16113:139;;16011:248;;;:::o;16265:419::-;16431:4;16469:2;16458:9;16454:18;16446:26;;16518:9;16512:4;16508:20;16504:1;16493:9;16489:17;16482:47;16546:131;16672:4;16546:131;:::i;:::-;16538:139;;16436:248;;;:::o;16690:419::-;16856:4;16894:2;16883:9;16879:18;16871:26;;16943:9;16937:4;16933:20;16929:1;16918:9;16914:17;16907:47;16971:131;17097:4;16971:131;:::i;:::-;16963:139;;16861:248;;;:::o;17115:419::-;17281:4;17319:2;17308:9;17304:18;17296:26;;17368:9;17362:4;17358:20;17354:1;17343:9;17339:17;17332:47;17396:131;17522:4;17396:131;:::i;:::-;17388:139;;17286:248;;;:::o;17540:419::-;17706:4;17744:2;17733:9;17729:18;17721:26;;17793:9;17787:4;17783:20;17779:1;17768:9;17764:17;17757:47;17821:131;17947:4;17821:131;:::i;:::-;17813:139;;17711:248;;;:::o;17965:419::-;18131:4;18169:2;18158:9;18154:18;18146:26;;18218:9;18212:4;18208:20;18204:1;18193:9;18189:17;18182:47;18246:131;18372:4;18246:131;:::i;:::-;18238:139;;18136:248;;;:::o;18390:419::-;18556:4;18594:2;18583:9;18579:18;18571:26;;18643:9;18637:4;18633:20;18629:1;18618:9;18614:17;18607:47;18671:131;18797:4;18671:131;:::i;:::-;18663:139;;18561:248;;;:::o;18815:419::-;18981:4;19019:2;19008:9;19004:18;18996:26;;19068:9;19062:4;19058:20;19054:1;19043:9;19039:17;19032:47;19096:131;19222:4;19096:131;:::i;:::-;19088:139;;18986:248;;;:::o;19240:419::-;19406:4;19444:2;19433:9;19429:18;19421:26;;19493:9;19487:4;19483:20;19479:1;19468:9;19464:17;19457:47;19521:131;19647:4;19521:131;:::i;:::-;19513:139;;19411:248;;;:::o;19665:419::-;19831:4;19869:2;19858:9;19854:18;19846:26;;19918:9;19912:4;19908:20;19904:1;19893:9;19889:17;19882:47;19946:131;20072:4;19946:131;:::i;:::-;19938:139;;19836:248;;;:::o;20090:419::-;20256:4;20294:2;20283:9;20279:18;20271:26;;20343:9;20337:4;20333:20;20329:1;20318:9;20314:17;20307:47;20371:131;20497:4;20371:131;:::i;:::-;20363:139;;20261:248;;;:::o;20515:419::-;20681:4;20719:2;20708:9;20704:18;20696:26;;20768:9;20762:4;20758:20;20754:1;20743:9;20739:17;20732:47;20796:131;20922:4;20796:131;:::i;:::-;20788:139;;20686:248;;;:::o;20940:222::-;21033:4;21071:2;21060:9;21056:18;21048:26;;21084:71;21152:1;21141:9;21137:17;21128:6;21084:71;:::i;:::-;21038:124;;;;:::o;21168:831::-;21431:4;21469:3;21458:9;21454:19;21446:27;;21483:71;21551:1;21540:9;21536:17;21527:6;21483:71;:::i;:::-;21564:80;21640:2;21629:9;21625:18;21616:6;21564:80;:::i;:::-;21691:9;21685:4;21681:20;21676:2;21665:9;21661:18;21654:48;21719:108;21822:4;21813:6;21719:108;:::i;:::-;21711:116;;21837:72;21905:2;21894:9;21890:18;21881:6;21837:72;:::i;:::-;21919:73;21987:3;21976:9;21972:19;21963:6;21919:73;:::i;:::-;21436:563;;;;;;;;:::o;22005:214::-;22094:4;22132:2;22121:9;22117:18;22109:26;;22145:67;22209:1;22198:9;22194:17;22185:6;22145:67;:::i;:::-;22099:120;;;;:::o;22225:129::-;22259:6;22286:20;;:::i;:::-;22276:30;;22315:33;22343:4;22335:6;22315:33;:::i;:::-;22266:88;;;:::o;22360:75::-;22393:6;22426:2;22420:9;22410:19;;22400:35;:::o;22441:311::-;22518:4;22608:18;22600:6;22597:30;22594:2;;;22630:18;;:::i;:::-;22594:2;22680:4;22672:6;22668:17;22660:25;;22740:4;22734;22730:15;22722:23;;22523:229;;;:::o;22758:132::-;22825:4;22848:3;22840:11;;22878:4;22873:3;22869:14;22861:22;;22830:60;;;:::o;22896:114::-;22963:6;22997:5;22991:12;22981:22;;22970:40;;;:::o;23016:99::-;23068:6;23102:5;23096:12;23086:22;;23075:40;;;:::o;23121:113::-;23191:4;23223;23218:3;23214:14;23206:22;;23196:38;;;:::o;23240:184::-;23339:11;23373:6;23368:3;23361:19;23413:4;23408:3;23404:14;23389:29;;23351:73;;;;:::o;23430:169::-;23514:11;23548:6;23543:3;23536:19;23588:4;23583:3;23579:14;23564:29;;23526:73;;;;:::o;23605:305::-;23645:3;23664:20;23682:1;23664:20;:::i;:::-;23659:25;;23698:20;23716:1;23698:20;:::i;:::-;23693:25;;23852:1;23784:66;23780:74;23777:1;23774:81;23771:2;;;23858:18;;:::i;:::-;23771:2;23902:1;23899;23895:9;23888:16;;23649:261;;;;:::o;23916:185::-;23956:1;23973:20;23991:1;23973:20;:::i;:::-;23968:25;;24007:20;24025:1;24007:20;:::i;:::-;24002:25;;24046:1;24036:2;;24051:18;;:::i;:::-;24036:2;24093:1;24090;24086:9;24081:14;;23958:143;;;;:::o;24107:348::-;24147:7;24170:20;24188:1;24170:20;:::i;:::-;24165:25;;24204:20;24222:1;24204:20;:::i;:::-;24199:25;;24392:1;24324:66;24320:74;24317:1;24314:81;24309:1;24302:9;24295:17;24291:105;24288:2;;;24399:18;;:::i;:::-;24288:2;24447:1;24444;24440:9;24429:20;;24155:300;;;;:::o;24461:191::-;24501:4;24521:20;24539:1;24521:20;:::i;:::-;24516:25;;24555:20;24573:1;24555:20;:::i;:::-;24550:25;;24594:1;24591;24588:8;24585:2;;;24599:18;;:::i;:::-;24585:2;24644:1;24641;24637:9;24629:17;;24506:146;;;;:::o;24658:96::-;24695:7;24724:24;24742:5;24724:24;:::i;:::-;24713:35;;24703:51;;;:::o;24760:104::-;24805:7;24834:24;24852:5;24834:24;:::i;:::-;24823:35;;24813:51;;;:::o;24870:90::-;24904:7;24947:5;24940:13;24933:21;24922:32;;24912:48;;;:::o;24966:126::-;25003:7;25043:42;25036:5;25032:54;25021:65;;25011:81;;;:::o;25098:77::-;25135:7;25164:5;25153:16;;25143:32;;;:::o;25181:86::-;25216:7;25256:4;25249:5;25245:16;25234:27;;25224:43;;;:::o;25273:121::-;25331:9;25364:24;25382:5;25364:24;:::i;:::-;25351:37;;25341:53;;;:::o;25400:307::-;25468:1;25478:113;25492:6;25489:1;25486:13;25478:113;;;25577:1;25572:3;25568:11;25562:18;25558:1;25553:3;25549:11;25542:39;25514:2;25511:1;25507:10;25502:15;;25478:113;;;25609:6;25606:1;25603:13;25600:2;;;25689:1;25680:6;25675:3;25671:16;25664:27;25600:2;25449:258;;;;:::o;25713:281::-;25796:27;25818:4;25796:27;:::i;:::-;25788:6;25784:40;25926:6;25914:10;25911:22;25890:18;25878:10;25875:34;25872:62;25869:2;;;25937:18;;:::i;:::-;25869:2;25977:10;25973:2;25966:22;25756:238;;;:::o;26000:233::-;26039:3;26062:24;26080:5;26062:24;:::i;:::-;26053:33;;26108:66;26101:5;26098:77;26095:2;;;26178:18;;:::i;:::-;26095:2;26225:1;26218:5;26214:13;26207:20;;26043:190;;;:::o;26239:180::-;26287:77;26284:1;26277:88;26384:4;26381:1;26374:15;26408:4;26405:1;26398:15;26425:180;26473:77;26470:1;26463:88;26570:4;26567:1;26560:15;26594:4;26591:1;26584:15;26611:180;26659:77;26656:1;26649:88;26756:4;26753:1;26746:15;26780:4;26777:1;26770:15;26797:102;26838:6;26889:2;26885:7;26880:2;26873:5;26869:14;26865:28;26855:38;;26845:54;;;:::o;26905:222::-;27045:34;27041:1;27033:6;27029:14;27022:58;27114:5;27109:2;27101:6;27097:15;27090:30;27011:116;:::o;27133:229::-;27273:34;27269:1;27261:6;27257:14;27250:58;27342:12;27337:2;27329:6;27325:15;27318:37;27239:123;:::o;27368:221::-;27508:34;27504:1;27496:6;27492:14;27485:58;27577:4;27572:2;27564:6;27560:15;27553:29;27474:115;:::o;27595:177::-;27735:29;27731:1;27723:6;27719:14;27712:53;27701:71;:::o;27778:179::-;27918:31;27914:1;27906:6;27902:14;27895:55;27884:73;:::o;27963:220::-;28103:34;28099:1;28091:6;28087:14;28080:58;28172:3;28167:2;28159:6;28155:15;28148:28;28069:114;:::o;28189:182::-;28329:34;28325:1;28317:6;28313:14;28306:58;28295:76;:::o;28377:228::-;28517:34;28513:1;28505:6;28501:14;28494:58;28586:11;28581:2;28573:6;28569:15;28562:36;28483:122;:::o;28611:172::-;28751:24;28747:1;28739:6;28735:14;28728:48;28717:66;:::o;28789:224::-;28929:34;28925:1;28917:6;28913:14;28906:58;28998:7;28993:2;28985:6;28981:15;28974:32;28895:118;:::o;29019:223::-;29159:34;29155:1;29147:6;29143:14;29136:58;29228:6;29223:2;29215:6;29211:15;29204:31;29125:117;:::o;29248:173::-;29388:25;29384:1;29376:6;29372:14;29365:49;29354:67;:::o;29427:167::-;29567:19;29563:1;29555:6;29551:14;29544:43;29533:61;:::o;29600:122::-;29673:24;29691:5;29673:24;:::i;:::-;29666:5;29663:35;29653:2;;29712:1;29709;29702:12;29653:2;29643:79;:::o;29728:138::-;29809:32;29835:5;29809:32;:::i;:::-;29802:5;29799:43;29789:2;;29856:1;29853;29846:12;29789:2;29779:87;:::o;29872:116::-;29942:21;29957:5;29942:21;:::i;:::-;29935:5;29932:32;29922:2;;29978:1;29975;29968:12;29922:2;29912:76;:::o;29994:122::-;30067:24;30085:5;30067:24;:::i;:::-;30060:5;30057:35;30047:2;;30106:1;30103;30096:12;30047:2;30037:79;:::o
Swarm Source
ipfs://e2187c323ba4d9ceaabf697521a02b519c887800cfef53d5a5e01715d51d9e21
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.