ERC-20
Overview
Max Total Supply
1,000,000,000 EVERURANUS
Holders
113
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
4,720.271035442 EVERURANUSValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
EverUranus
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-06-27 */ /** ..;===+. .:=iiiiii=+= .=i))=;::+)i=+, ,=i);)I)))I):=i=; .=i==))))ii)))I:i++ +)+))iiiiiiii))I=i+:' .,:;;++++++;:,. )iii+:::;iii))+i=' .:;++=iiiiiiiiii=++;. =::,,,:::=i));=+' ,;+==ii)))))))))))ii==+;, ,,,:=i))+=: ,;+=ii))))))IIIIII))))ii===;. ,,:=i)=i+ ;+=ii)))IIIIITIIIIII))))iiii=+, ,:=));=, ,+=i))IIIIIITTTTTITIIIIII)))I)i=+,,:+i)=i+ ,+i))IIIIIITTTTTTTTTTTTI))IIII))i=::i))i=' ,=i))IIIIITLLTTTTTTTTTTIITTTTIII)+;+i)+i` =i))IIITTLTLTTTTTTTTTIITTLLTTTII+:i)ii:' +i))IITTTLLLTTTTTTTTTTTTLLLTTTT+:i)))=, =))ITTTTTTTTTTTLTTTTTTLLLLLLTi:=)IIiii; .i)IIITTTTTTTTLTTTITLLLLLLLT);=)I)))))i; :))IIITTTTTLTTTTTTLLHLLLLL);=)II)IIIIi=: :i)IIITTTTTTTTTLLLHLLHLL)+=)II)ITTTI)i= .i)IIITTTTITTLLLHHLLLL);=)II)ITTTTII)i+ =i)IIIIIITTLLLLLLHLL=:i)II)TTTTTTIII)i' +i)i)))IITTLLLLLLLLT=:i)II)TTTTLTTIII)i; +ii)i:)IITTLLTLLLLT=;+i)I)ITTTTLTTTII))i; =;)i=:,=)ITTTTLTTI=:i))I)TTTLLLTTTTTII)i; +i)ii::, +)IIITI+:+i)I))TTTTLLTTTTTII))=, :=;)i=:,, ,i++::i))I)ITTTTTTTTTTIIII)=+' .+ii)i=::,, ,,::=i)))iIITTTTTTTTIIIII)=+ ,==)ii=;:,,,,:::=ii)i)iIIIITIIITIIII))i+:' +=:))i==;:::;=iii)+)= `:i)))IIIII)ii+' .+=:))iiiiiiii)))+ii; .+=;))iiiiii)));ii+ .+=i:)))))))=+ii+ .;==i+::::=)i=; ,+==iiiiii+, `+=+++;` ███████╗██╗░░░██╗███████╗██████╗░██╗░░░██╗██████╗░░█████╗░███╗░░██╗██╗░░░██╗░██████╗ ██╔════╝██║░░░██║██╔════╝██╔══██╗██║░░░██║██╔══██╗██╔══██╗████╗░██║██║░░░██║██╔════╝ █████╗░░╚██╗░██╔╝█████╗░░██████╔╝██║░░░██║██████╔╝███████║██╔██╗██║██║░░░██║╚█████╗░ ██╔══╝░░░╚████╔╝░██╔══╝░░██╔══██╗██║░░░██║██╔══██╗██╔══██║██║╚████║██║░░░██║░╚═══██╗ ███████╗░░╚██╔╝░░███████╗██║░░██║╚██████╔╝██║░░██║██║░░██║██║░╚███║╚██████╔╝██████╔╝ ╚══════╝░░░╚═╝░░░╚══════╝╚═╝░░╚═╝░╚═════╝░╚═╝░░╚═╝╚═╝░░╚═╝╚═╝░░╚══╝░╚═════╝░╚═════╝░ ********* - The moon is 238,000 miles from earth. - Mars is 140 million miles from earth. - Uranus is 1.78 billion miles from earth. You do the math. 5% Reflections Token Website: https://everuranus.com/ Telegram: https://t.me/EverUranus Twitter: https://twitter.com/EverUranus ********* **/ // SPDX-License-Identifier: MIT pragma solidity ^0.8.9; 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 ); } contract Ownable is Context { address internal _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); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( 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 EverUranus is Context, IERC20, Ownable { using SafeMath for uint256; string private constant _name = "EverUranus"; string private constant _symbol = "EVERURANUS"; uint8 private constant _decimals = 9; mapping(address => uint256) private _rOwned; mapping(address => uint256) private _tOwned; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFee; mapping(address => bool) private _isExcludedFromMax; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 1_000_000_000 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _redisFeeOnBuy = 5; uint256 private _taxFeeOnBuy = 15; uint256 private _redisFeeOnSell = 5; uint256 private _taxFeeOnSell = 35; uint256 private _redisFee = _redisFeeOnSell; uint256 private _taxFee = _taxFeeOnSell; uint256 private _previousredisFee = _redisFee; uint256 private _previoustaxFee = _taxFee; address payable private _marketingAddress = payable(0xe9d8D2ede2dFAaE42469e0750A7e9f2dF681cA1D); IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = true; uint256 public _maxWalletSize = _tTotal.mul(2).div(100); uint256 public _swapTokensAtAmount = _tTotal.mul(2).div(1000); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor() { _rOwned[_msgSender()] = _rTotal; IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_marketingAddress] = true; _isExcludedFromFee[address(_uniswapV2Router)] = true; _isExcludedFromMax[owner()] = true; _isExcludedFromMax[address(this)] = true; _isExcludedFromMax[_marketingAddress] = true; _isExcludedFromMax[address(_uniswapV2Router)] = 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 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 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 (_redisFee == 0 && _taxFee == 0) return; _previousredisFee = _redisFee; _previoustaxFee = _taxFee; _redisFee = 0; _taxFee = 0; } function restoreAllFee() private { _redisFee = _previousredisFee; _taxFee = _previoustaxFee; } 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()) { //Trade start check if (!tradingOpen) { require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled"); } if(to != uniswapV2Pair && !_isExcludedFromMax[to]) { require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!"); } uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance >= _swapTokensAtAmount; if (canSwap && !inSwap && from != uniswapV2Pair && to == uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } bool takeFee = true; //Transfer Tokens if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) { takeFee = false; } else { //Set Fee for Buys if(from == uniswapV2Pair && to != address(uniswapV2Router)) { _redisFee = _redisFeeOnBuy; _taxFee = _taxFeeOnBuy; } //Set Fee for Sells if (to == uniswapV2Pair && from != address(uniswapV2Router)) { _redisFee = _redisFeeOnSell; _taxFee = _taxFeeOnSell; } } _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 { _marketingAddress.transfer(amount); } function setTrading(bool _tradingOpen) public onlyOwner { tradingOpen = _tradingOpen; } function manualSwap() external { require(_msgSender()==_marketingAddress); uint256 tokenBalance=balanceOf(address(this)); if(tokenBalance>0){ swapTokensForEth(tokenBalance); } uint256 ethBalance=address(this).balance; if(ethBalance>0){ sendETHToFee(ethBalance); } } 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, _redisFee, _taxFee); 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 redisFee, uint256 taxFee ) private pure returns ( uint256, uint256, uint256 ) { uint256 tFee = tAmount.mul(redisFee).div(100); uint256 tTeam = tAmount.mul(taxFee).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 setFee(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner { _redisFeeOnBuy = redisFeeOnBuy; _redisFeeOnSell = redisFeeOnSell; _taxFeeOnBuy = taxFeeOnBuy; _taxFeeOnSell = taxFeeOnSell; } function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner { _swapTokensAtAmount = swapTokensAtAmount; } function setMaxWalletSize(uint256 amountPercent) public onlyOwner { require(amountPercent>0); _maxWalletSize = (_tTotal * amountPercent ) / 100; } function removeLimits() external onlyOwner{ _maxWalletSize = _tTotal; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"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":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercent","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"}],"name":"setTrading","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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052670de0b6b3a76400005f196200001b919062000978565b5f19620000299190620009dc565b6007556005600955600f600a556005600b556023600c55600b54600d55600c54600e55600d54600f55600e5460105573e9d8d2ede2dfaae42469e0750a7e9f2df681ca1d60115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f601360156101000a81548160ff0219169083151502179055506001601360166101000a81548160ff021916908315150217905550620001146064620001056002670de0b6b3a7640000620007dd60201b90919060201c565b6200085d60201b90919060201c565b6014556200014b6103e86200013c6002670de0b6b3a7640000620007dd60201b90919060201c565b6200085d60201b90919060201c565b6015553480156200015a575f80fd5b505f6200016c620008ae60201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060075460025f6200021e620008ae60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f737a250d5630b4cf539739df2c5dacb4c659f2488d90508060125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002fd573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000323919062000a7b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000389573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003af919062000a7b565b6040518363ffffffff1660e01b8152600401620003ce92919062000abc565b6020604051808303815f875af1158015620003eb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000411919062000a7b565b60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160055f62000465620008b560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160055f60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160065f620005e9620008b560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160065f60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555062000768620008ae60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a7640000604051620007ce919062000af8565b60405180910390a35062000cde565b5f808303620007ef575f905062000857565b5f8284620007fe919062000b13565b90508284826200080f919062000b5d565b1462000852576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008499062000c18565b60405180910390fd5b809150505b92915050565b5f620008a683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620008dc60201b60201c565b905092915050565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f808311829062000925576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200091c919062000cbc565b60405180910390fd5b505f838562000935919062000b5d565b9050809150509392505050565b5f819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f620009848262000942565b9150620009918362000942565b925082620009a457620009a36200094b565b5b828206905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f620009e88262000942565b9150620009f58362000942565b925082820390508181111562000a105762000a0f620009af565b5b92915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000a458262000a1a565b9050919050565b62000a578162000a39565b811462000a62575f80fd5b50565b5f8151905062000a758162000a4c565b92915050565b5f6020828403121562000a935762000a9262000a16565b5b5f62000aa28482850162000a65565b91505092915050565b62000ab68162000a39565b82525050565b5f60408201905062000ad15f83018562000aab565b62000ae0602083018462000aab565b9392505050565b62000af28162000942565b82525050565b5f60208201905062000b0d5f83018462000ae7565b92915050565b5f62000b1f8262000942565b915062000b2c8362000942565b925082820262000b3c8162000942565b9150828204841483151762000b565762000b55620009af565b5b5092915050565b5f62000b698262000942565b915062000b768362000942565b92508262000b895762000b886200094b565b5b828204905092915050565b5f82825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f62000c0060218362000b94565b915062000c0d8262000ba4565b604082019050919050565b5f6020820190508181035f83015262000c318162000bf2565b9050919050565b5f81519050919050565b5f5b8381101562000c6157808201518184015260208101905062000c44565b5f8484015250505050565b5f601f19601f8301169050919050565b5f62000c888262000c38565b62000c94818562000b94565b935062000ca681856020860162000c42565b62000cb18162000c6c565b840191505092915050565b5f6020820190508181035f83015262000cd6818462000c7c565b905092915050565b6131368062000cec5f395ff3fe608060405260043610610138575f3560e01c8063751039fc116100aa57806398a5c3151161006e57806398a5c315146103db578063a2a957bb14610403578063a9059cbb1461042b578063dd62ed3e14610467578063ea1644d5146104a3578063f2fde38b146104cb5761013f565b8063751039fc1461031f5780638da5cb5b146103355780638f70ccf71461035f5780638f9a55c01461038757806395d89b41146103b15761013f565b80632fd689e3116100fc5780632fd689e314610239578063313ce5671461026357806349bd5a5e1461028d57806351bc3c85146102b757806370a08231146102cd578063715018a6146103095761013f565b806306fdde0314610143578063095ea7b31461016d5780631694505e146101a957806318160ddd146101d357806323b872dd146101fd5761013f565b3661013f57005b5f80fd5b34801561014e575f80fd5b506101576104f3565b60405161016491906123b3565b60405180910390f35b348015610178575f80fd5b50610193600480360381019061018e9190612464565b610530565b6040516101a091906124bc565b60405180910390f35b3480156101b4575f80fd5b506101bd61054d565b6040516101ca9190612530565b60405180910390f35b3480156101de575f80fd5b506101e7610572565b6040516101f49190612558565b60405180910390f35b348015610208575f80fd5b50610223600480360381019061021e9190612571565b610581565b60405161023091906124bc565b60405180910390f35b348015610244575f80fd5b5061024d610655565b60405161025a9190612558565b60405180910390f35b34801561026e575f80fd5b5061027761065b565b60405161028491906125dc565b60405180910390f35b348015610298575f80fd5b506102a1610663565b6040516102ae9190612604565b60405180910390f35b3480156102c2575f80fd5b506102cb610688565b005b3480156102d8575f80fd5b506102f360048036038101906102ee919061261d565b61071f565b6040516103009190612558565b60405180910390f35b348015610314575f80fd5b5061031d61076d565b005b34801561032a575f80fd5b506103336108bb565b005b348015610340575f80fd5b50610349610960565b6040516103569190612604565b60405180910390f35b34801561036a575f80fd5b5061038560048036038101906103809190612672565b610987565b005b348015610392575f80fd5b5061039b610a38565b6040516103a89190612558565b60405180910390f35b3480156103bc575f80fd5b506103c5610a3e565b6040516103d291906123b3565b60405180910390f35b3480156103e6575f80fd5b5061040160048036038101906103fc919061269d565b610a7b565b005b34801561040e575f80fd5b50610429600480360381019061042491906126c8565b610b19565b005b348015610436575f80fd5b50610451600480360381019061044c9190612464565b610bcf565b60405161045e91906124bc565b60405180910390f35b348015610472575f80fd5b5061048d6004803603810190610488919061272c565b610bec565b60405161049a9190612558565b60405180910390f35b3480156104ae575f80fd5b506104c960048036038101906104c4919061269d565b610c6e565b005b3480156104d6575f80fd5b506104f160048036038101906104ec919061261d565b610d36565b005b60606040518060400160405280600a81526020017f457665725572616e757300000000000000000000000000000000000000000000815250905090565b5f61054361053c610ef3565b8484610efa565b6001905092915050565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f670de0b6b3a7640000905090565b5f61058d8484846110bd565b61064a84610599610ef3565b610645856040518060600160405280602881526020016130d96028913960045f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105fc610ef3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461189b9092919063ffffffff16565b610efa565b600190509392505050565b60155481565b5f6009905090565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106c8610ef3565b73ffffffffffffffffffffffffffffffffffffffff16146106e7575f80fd5b5f6106f13061071f565b90505f81111561070557610704816118fd565b5b5f4790505f81111561071b5761071a81611b68565b5b5050565b5f61076660025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611bd0565b9050919050565b610775610ef3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610801576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f8906127b4565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6108c3610ef3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461094f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610946906127b4565b60405180910390fd5b670de0b6b3a7640000601481905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61098f610ef3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a12906127b4565b60405180910390fd5b80601360146101000a81548160ff02191690831515021790555050565b60145481565b60606040518060400160405280600a81526020017f455645525552414e555300000000000000000000000000000000000000000000815250905090565b610a83610ef3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b06906127b4565b60405180910390fd5b8060158190555050565b610b21610ef3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba4906127b4565b60405180910390fd5b8360098190555082600b8190555081600a8190555080600c8190555050505050565b5f610be2610bdb610ef3565b84846110bd565b6001905092915050565b5f60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610c76610ef3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf9906127b4565b60405180910390fd5b5f8111610d0d575f80fd5b606481670de0b6b3a7640000610d2391906127ff565b610d2d919061286d565b60148190555050565b610d3e610ef3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc1906127b4565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2f9061290d565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5f9061299b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fcd90612a29565b60405180910390fd5b8060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110b09190612558565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361112b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112290612ab7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611199576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119090612b45565b60405180910390fd5b5f81116111db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d290612bd3565b60405180910390fd5b6111e3610960565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156112515750611221610960565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156115a857601360149054906101000a900460ff166112e057611272610960565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146112df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d690612c61565b60405180910390fd5b5b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611384575060065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156113e157601454816113968461071f565b6113a09190612c7f565b106113e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d790612d22565b60405180910390fd5b5b5f6113eb3061071f565b90505f60155482101590508080156114105750601360159054906101000a900460ff16155b8015611469575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156114c1575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156114d95750601360169054906101000a900460ff165b801561152c575060055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b801561157f575060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156115a55761158d826118fd565b5f4790505f8111156115a3576115a247611b68565b5b505b50505b5f6001905060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611648575060055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b806116f9575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156116f8575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611706575f9050611889565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156117af575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156117c757600954600d81905550600a54600e819055505b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611870575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561188857600b54600d81905550600c54600e819055505b5b61189584848484611c3c565b50505050565b5f8383111582906118e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d991906123b3565b60405180910390fd5b505f83856118f09190612d40565b9050809150509392505050565b6001601360156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff81111561193457611933612d73565b5b6040519080825280602002602001820160405280156119625781602001602082028036833780820191505090505b50905030815f8151811061197957611978612da0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a1d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a419190612de1565b81600181518110611a5557611a54612da0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611abb3060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610efa565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611b1d959493929190612efc565b5f604051808303815f87803b158015611b34575f80fd5b505af1158015611b46573d5f803e3d5ffd5b50505050505f601360156101000a81548160ff02191690831515021790555050565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611bcc573d5f803e3d5ffd5b5050565b5f600754821115611c16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0d90612fc4565b60405180910390fd5b5f611c1f611c69565b9050611c348184611c9290919063ffffffff16565b915050919050565b80611c4a57611c49611cdb565b5b611c55848484611d14565b80611c6357611c62611ed4565b5b50505050565b5f805f611c74611ee8565b91509150611c8b8183611c9290919063ffffffff16565b9250505090565b5f611cd383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f44565b905092915050565b5f600d54148015611ced57505f600e54145b611d1257600d54600f81905550600e546010819055505f600d819055505f600e819055505b565b5f805f805f80611d2387611fa5565b955095509550955095509550611d7f8660025f8c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461200590919063ffffffff16565b60025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611e108560025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461204e90919063ffffffff16565b60025f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611e5a816120ab565b611e648483612162565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611ec19190612558565b60405180910390a3505050505050505050565b600f54600d81905550601054600e81905550565b5f805f60075490505f670de0b6b3a76400009050611f19670de0b6b3a7640000600754611c9290919063ffffffff16565b821015611f3757600754670de0b6b3a7640000935093505050611f40565b81819350935050505b9091565b5f8083118290611f8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f8191906123b3565b60405180910390fd5b505f8385611f98919061286d565b9050809150509392505050565b5f805f805f805f805f611fbd8a600d54600e5461219c565b9250925092505f611fcc611c69565b90505f805f611fdd8e87878761222e565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b5f61204683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061189b565b905092915050565b5f80828461205c9190612c7f565b9050838110156120a1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120989061302c565b60405180910390fd5b8091505092915050565b5f6120b4611c69565b90505f6120ca82846122b290919063ffffffff16565b905061211c8160025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461204e90919063ffffffff16565b60025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505050565b6121778260075461200590919063ffffffff16565b6007819055506121928160085461204e90919063ffffffff16565b6008819055505050565b5f805f806121c660646121b8888a6122b290919063ffffffff16565b611c9290919063ffffffff16565b90505f6121ef60646121e1888b6122b290919063ffffffff16565b611c9290919063ffffffff16565b90505f61221782612209858c61200590919063ffffffff16565b61200590919063ffffffff16565b905080838395509550955050505093509350939050565b5f805f8061224585896122b290919063ffffffff16565b90505f61225b86896122b290919063ffffffff16565b90505f61227187896122b290919063ffffffff16565b90505f6122998261228b858761200590919063ffffffff16565b61200590919063ffffffff16565b9050838184965096509650505050509450945094915050565b5f8083036122c2575f9050612323565b5f82846122cf91906127ff565b90508284826122de919061286d565b1461231e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612315906130ba565b60405180910390fd5b809150505b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612360578082015181840152602081019050612345565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61238582612329565b61238f8185612333565b935061239f818560208601612343565b6123a88161236b565b840191505092915050565b5f6020820190508181035f8301526123cb818461237b565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612400826123d7565b9050919050565b612410816123f6565b811461241a575f80fd5b50565b5f8135905061242b81612407565b92915050565b5f819050919050565b61244381612431565b811461244d575f80fd5b50565b5f8135905061245e8161243a565b92915050565b5f806040838503121561247a576124796123d3565b5b5f6124878582860161241d565b925050602061249885828601612450565b9150509250929050565b5f8115159050919050565b6124b6816124a2565b82525050565b5f6020820190506124cf5f8301846124ad565b92915050565b5f819050919050565b5f6124f86124f36124ee846123d7565b6124d5565b6123d7565b9050919050565b5f612509826124de565b9050919050565b5f61251a826124ff565b9050919050565b61252a81612510565b82525050565b5f6020820190506125435f830184612521565b92915050565b61255281612431565b82525050565b5f60208201905061256b5f830184612549565b92915050565b5f805f60608486031215612588576125876123d3565b5b5f6125958682870161241d565b93505060206125a68682870161241d565b92505060406125b786828701612450565b9150509250925092565b5f60ff82169050919050565b6125d6816125c1565b82525050565b5f6020820190506125ef5f8301846125cd565b92915050565b6125fe816123f6565b82525050565b5f6020820190506126175f8301846125f5565b92915050565b5f60208284031215612632576126316123d3565b5b5f61263f8482850161241d565b91505092915050565b612651816124a2565b811461265b575f80fd5b50565b5f8135905061266c81612648565b92915050565b5f60208284031215612687576126866123d3565b5b5f6126948482850161265e565b91505092915050565b5f602082840312156126b2576126b16123d3565b5b5f6126bf84828501612450565b91505092915050565b5f805f80608085870312156126e0576126df6123d3565b5b5f6126ed87828801612450565b94505060206126fe87828801612450565b935050604061270f87828801612450565b925050606061272087828801612450565b91505092959194509250565b5f8060408385031215612742576127416123d3565b5b5f61274f8582860161241d565b92505060206127608582860161241d565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61279e602083612333565b91506127a98261276a565b602082019050919050565b5f6020820190508181035f8301526127cb81612792565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61280982612431565b915061281483612431565b925082820261282281612431565b91508282048414831517612839576128386127d2565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61287782612431565b915061288283612431565b92508261289257612891612840565b5b828204905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6128f7602683612333565b91506129028261289d565b604082019050919050565b5f6020820190508181035f830152612924816128eb565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612985602483612333565b91506129908261292b565b604082019050919050565b5f6020820190508181035f8301526129b281612979565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612a13602283612333565b9150612a1e826129b9565b604082019050919050565b5f6020820190508181035f830152612a4081612a07565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612aa1602583612333565b9150612aac82612a47565b604082019050919050565b5f6020820190508181035f830152612ace81612a95565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612b2f602383612333565b9150612b3a82612ad5565b604082019050919050565b5f6020820190508181035f830152612b5c81612b23565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612bbd602983612333565b9150612bc882612b63565b604082019050919050565b5f6020820190508181035f830152612bea81612bb1565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e64205f8201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b5f612c4b603f83612333565b9150612c5682612bf1565b604082019050919050565b5f6020820190508181035f830152612c7881612c3f565b9050919050565b5f612c8982612431565b9150612c9483612431565b9250828201905080821115612cac57612cab6127d2565b5b92915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073695f8201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b5f612d0c602383612333565b9150612d1782612cb2565b604082019050919050565b5f6020820190508181035f830152612d3981612d00565b9050919050565b5f612d4a82612431565b9150612d5583612431565b9250828203905081811115612d6d57612d6c6127d2565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050612ddb81612407565b92915050565b5f60208284031215612df657612df56123d3565b5b5f612e0384828501612dcd565b91505092915050565b5f819050919050565b5f612e2f612e2a612e2584612e0c565b6124d5565b612431565b9050919050565b612e3f81612e15565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612e77816123f6565b82525050565b5f612e888383612e6e565b60208301905092915050565b5f602082019050919050565b5f612eaa82612e45565b612eb48185612e4f565b9350612ebf83612e5f565b805f5b83811015612eef578151612ed68882612e7d565b9750612ee183612e94565b925050600181019050612ec2565b5085935050505092915050565b5f60a082019050612f0f5f830188612549565b612f1c6020830187612e36565b8181036040830152612f2e8186612ea0565b9050612f3d60608301856125f5565b612f4a6080830184612549565b9695505050505050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c20725f8201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b5f612fae602a83612333565b9150612fb982612f54565b604082019050919050565b5f6020820190508181035f830152612fdb81612fa2565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613016601b83612333565b915061302182612fe2565b602082019050919050565b5f6020820190508181035f8301526130438161300a565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6130a4602183612333565b91506130af8261304a565b604082019050919050565b5f6020820190508181035f8301526130d181613098565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208e13aecac2b7ce9647337721bd2099504707363abc4b9a17cc4be5e713be5e4664736f6c63430008140033
Deployed Bytecode
0x608060405260043610610138575f3560e01c8063751039fc116100aa57806398a5c3151161006e57806398a5c315146103db578063a2a957bb14610403578063a9059cbb1461042b578063dd62ed3e14610467578063ea1644d5146104a3578063f2fde38b146104cb5761013f565b8063751039fc1461031f5780638da5cb5b146103355780638f70ccf71461035f5780638f9a55c01461038757806395d89b41146103b15761013f565b80632fd689e3116100fc5780632fd689e314610239578063313ce5671461026357806349bd5a5e1461028d57806351bc3c85146102b757806370a08231146102cd578063715018a6146103095761013f565b806306fdde0314610143578063095ea7b31461016d5780631694505e146101a957806318160ddd146101d357806323b872dd146101fd5761013f565b3661013f57005b5f80fd5b34801561014e575f80fd5b506101576104f3565b60405161016491906123b3565b60405180910390f35b348015610178575f80fd5b50610193600480360381019061018e9190612464565b610530565b6040516101a091906124bc565b60405180910390f35b3480156101b4575f80fd5b506101bd61054d565b6040516101ca9190612530565b60405180910390f35b3480156101de575f80fd5b506101e7610572565b6040516101f49190612558565b60405180910390f35b348015610208575f80fd5b50610223600480360381019061021e9190612571565b610581565b60405161023091906124bc565b60405180910390f35b348015610244575f80fd5b5061024d610655565b60405161025a9190612558565b60405180910390f35b34801561026e575f80fd5b5061027761065b565b60405161028491906125dc565b60405180910390f35b348015610298575f80fd5b506102a1610663565b6040516102ae9190612604565b60405180910390f35b3480156102c2575f80fd5b506102cb610688565b005b3480156102d8575f80fd5b506102f360048036038101906102ee919061261d565b61071f565b6040516103009190612558565b60405180910390f35b348015610314575f80fd5b5061031d61076d565b005b34801561032a575f80fd5b506103336108bb565b005b348015610340575f80fd5b50610349610960565b6040516103569190612604565b60405180910390f35b34801561036a575f80fd5b5061038560048036038101906103809190612672565b610987565b005b348015610392575f80fd5b5061039b610a38565b6040516103a89190612558565b60405180910390f35b3480156103bc575f80fd5b506103c5610a3e565b6040516103d291906123b3565b60405180910390f35b3480156103e6575f80fd5b5061040160048036038101906103fc919061269d565b610a7b565b005b34801561040e575f80fd5b50610429600480360381019061042491906126c8565b610b19565b005b348015610436575f80fd5b50610451600480360381019061044c9190612464565b610bcf565b60405161045e91906124bc565b60405180910390f35b348015610472575f80fd5b5061048d6004803603810190610488919061272c565b610bec565b60405161049a9190612558565b60405180910390f35b3480156104ae575f80fd5b506104c960048036038101906104c4919061269d565b610c6e565b005b3480156104d6575f80fd5b506104f160048036038101906104ec919061261d565b610d36565b005b60606040518060400160405280600a81526020017f457665725572616e757300000000000000000000000000000000000000000000815250905090565b5f61054361053c610ef3565b8484610efa565b6001905092915050565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f670de0b6b3a7640000905090565b5f61058d8484846110bd565b61064a84610599610ef3565b610645856040518060600160405280602881526020016130d96028913960045f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105fc610ef3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461189b9092919063ffffffff16565b610efa565b600190509392505050565b60155481565b5f6009905090565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106c8610ef3565b73ffffffffffffffffffffffffffffffffffffffff16146106e7575f80fd5b5f6106f13061071f565b90505f81111561070557610704816118fd565b5b5f4790505f81111561071b5761071a81611b68565b5b5050565b5f61076660025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611bd0565b9050919050565b610775610ef3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610801576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f8906127b4565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6108c3610ef3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461094f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610946906127b4565b60405180910390fd5b670de0b6b3a7640000601481905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61098f610ef3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a12906127b4565b60405180910390fd5b80601360146101000a81548160ff02191690831515021790555050565b60145481565b60606040518060400160405280600a81526020017f455645525552414e555300000000000000000000000000000000000000000000815250905090565b610a83610ef3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b06906127b4565b60405180910390fd5b8060158190555050565b610b21610ef3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba4906127b4565b60405180910390fd5b8360098190555082600b8190555081600a8190555080600c8190555050505050565b5f610be2610bdb610ef3565b84846110bd565b6001905092915050565b5f60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610c76610ef3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf9906127b4565b60405180910390fd5b5f8111610d0d575f80fd5b606481670de0b6b3a7640000610d2391906127ff565b610d2d919061286d565b60148190555050565b610d3e610ef3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc1906127b4565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2f9061290d565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5f9061299b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fcd90612a29565b60405180910390fd5b8060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110b09190612558565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361112b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112290612ab7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611199576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119090612b45565b60405180910390fd5b5f81116111db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d290612bd3565b60405180910390fd5b6111e3610960565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156112515750611221610960565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156115a857601360149054906101000a900460ff166112e057611272610960565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146112df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d690612c61565b60405180910390fd5b5b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611384575060065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156113e157601454816113968461071f565b6113a09190612c7f565b106113e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d790612d22565b60405180910390fd5b5b5f6113eb3061071f565b90505f60155482101590508080156114105750601360159054906101000a900460ff16155b8015611469575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156114c1575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156114d95750601360169054906101000a900460ff165b801561152c575060055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b801561157f575060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156115a55761158d826118fd565b5f4790505f8111156115a3576115a247611b68565b5b505b50505b5f6001905060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611648575060055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b806116f9575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156116f8575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611706575f9050611889565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156117af575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156117c757600954600d81905550600a54600e819055505b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611870575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561188857600b54600d81905550600c54600e819055505b5b61189584848484611c3c565b50505050565b5f8383111582906118e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d991906123b3565b60405180910390fd5b505f83856118f09190612d40565b9050809150509392505050565b6001601360156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff81111561193457611933612d73565b5b6040519080825280602002602001820160405280156119625781602001602082028036833780820191505090505b50905030815f8151811061197957611978612da0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a1d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a419190612de1565b81600181518110611a5557611a54612da0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611abb3060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610efa565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611b1d959493929190612efc565b5f604051808303815f87803b158015611b34575f80fd5b505af1158015611b46573d5f803e3d5ffd5b50505050505f601360156101000a81548160ff02191690831515021790555050565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611bcc573d5f803e3d5ffd5b5050565b5f600754821115611c16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0d90612fc4565b60405180910390fd5b5f611c1f611c69565b9050611c348184611c9290919063ffffffff16565b915050919050565b80611c4a57611c49611cdb565b5b611c55848484611d14565b80611c6357611c62611ed4565b5b50505050565b5f805f611c74611ee8565b91509150611c8b8183611c9290919063ffffffff16565b9250505090565b5f611cd383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f44565b905092915050565b5f600d54148015611ced57505f600e54145b611d1257600d54600f81905550600e546010819055505f600d819055505f600e819055505b565b5f805f805f80611d2387611fa5565b955095509550955095509550611d7f8660025f8c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461200590919063ffffffff16565b60025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611e108560025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461204e90919063ffffffff16565b60025f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611e5a816120ab565b611e648483612162565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611ec19190612558565b60405180910390a3505050505050505050565b600f54600d81905550601054600e81905550565b5f805f60075490505f670de0b6b3a76400009050611f19670de0b6b3a7640000600754611c9290919063ffffffff16565b821015611f3757600754670de0b6b3a7640000935093505050611f40565b81819350935050505b9091565b5f8083118290611f8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f8191906123b3565b60405180910390fd5b505f8385611f98919061286d565b9050809150509392505050565b5f805f805f805f805f611fbd8a600d54600e5461219c565b9250925092505f611fcc611c69565b90505f805f611fdd8e87878761222e565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b5f61204683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061189b565b905092915050565b5f80828461205c9190612c7f565b9050838110156120a1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120989061302c565b60405180910390fd5b8091505092915050565b5f6120b4611c69565b90505f6120ca82846122b290919063ffffffff16565b905061211c8160025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461204e90919063ffffffff16565b60025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505050565b6121778260075461200590919063ffffffff16565b6007819055506121928160085461204e90919063ffffffff16565b6008819055505050565b5f805f806121c660646121b8888a6122b290919063ffffffff16565b611c9290919063ffffffff16565b90505f6121ef60646121e1888b6122b290919063ffffffff16565b611c9290919063ffffffff16565b90505f61221782612209858c61200590919063ffffffff16565b61200590919063ffffffff16565b905080838395509550955050505093509350939050565b5f805f8061224585896122b290919063ffffffff16565b90505f61225b86896122b290919063ffffffff16565b90505f61227187896122b290919063ffffffff16565b90505f6122998261228b858761200590919063ffffffff16565b61200590919063ffffffff16565b9050838184965096509650505050509450945094915050565b5f8083036122c2575f9050612323565b5f82846122cf91906127ff565b90508284826122de919061286d565b1461231e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612315906130ba565b60405180910390fd5b809150505b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612360578082015181840152602081019050612345565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61238582612329565b61238f8185612333565b935061239f818560208601612343565b6123a88161236b565b840191505092915050565b5f6020820190508181035f8301526123cb818461237b565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612400826123d7565b9050919050565b612410816123f6565b811461241a575f80fd5b50565b5f8135905061242b81612407565b92915050565b5f819050919050565b61244381612431565b811461244d575f80fd5b50565b5f8135905061245e8161243a565b92915050565b5f806040838503121561247a576124796123d3565b5b5f6124878582860161241d565b925050602061249885828601612450565b9150509250929050565b5f8115159050919050565b6124b6816124a2565b82525050565b5f6020820190506124cf5f8301846124ad565b92915050565b5f819050919050565b5f6124f86124f36124ee846123d7565b6124d5565b6123d7565b9050919050565b5f612509826124de565b9050919050565b5f61251a826124ff565b9050919050565b61252a81612510565b82525050565b5f6020820190506125435f830184612521565b92915050565b61255281612431565b82525050565b5f60208201905061256b5f830184612549565b92915050565b5f805f60608486031215612588576125876123d3565b5b5f6125958682870161241d565b93505060206125a68682870161241d565b92505060406125b786828701612450565b9150509250925092565b5f60ff82169050919050565b6125d6816125c1565b82525050565b5f6020820190506125ef5f8301846125cd565b92915050565b6125fe816123f6565b82525050565b5f6020820190506126175f8301846125f5565b92915050565b5f60208284031215612632576126316123d3565b5b5f61263f8482850161241d565b91505092915050565b612651816124a2565b811461265b575f80fd5b50565b5f8135905061266c81612648565b92915050565b5f60208284031215612687576126866123d3565b5b5f6126948482850161265e565b91505092915050565b5f602082840312156126b2576126b16123d3565b5b5f6126bf84828501612450565b91505092915050565b5f805f80608085870312156126e0576126df6123d3565b5b5f6126ed87828801612450565b94505060206126fe87828801612450565b935050604061270f87828801612450565b925050606061272087828801612450565b91505092959194509250565b5f8060408385031215612742576127416123d3565b5b5f61274f8582860161241d565b92505060206127608582860161241d565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61279e602083612333565b91506127a98261276a565b602082019050919050565b5f6020820190508181035f8301526127cb81612792565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61280982612431565b915061281483612431565b925082820261282281612431565b91508282048414831517612839576128386127d2565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61287782612431565b915061288283612431565b92508261289257612891612840565b5b828204905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6128f7602683612333565b91506129028261289d565b604082019050919050565b5f6020820190508181035f830152612924816128eb565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612985602483612333565b91506129908261292b565b604082019050919050565b5f6020820190508181035f8301526129b281612979565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612a13602283612333565b9150612a1e826129b9565b604082019050919050565b5f6020820190508181035f830152612a4081612a07565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612aa1602583612333565b9150612aac82612a47565b604082019050919050565b5f6020820190508181035f830152612ace81612a95565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612b2f602383612333565b9150612b3a82612ad5565b604082019050919050565b5f6020820190508181035f830152612b5c81612b23565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612bbd602983612333565b9150612bc882612b63565b604082019050919050565b5f6020820190508181035f830152612bea81612bb1565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e64205f8201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b5f612c4b603f83612333565b9150612c5682612bf1565b604082019050919050565b5f6020820190508181035f830152612c7881612c3f565b9050919050565b5f612c8982612431565b9150612c9483612431565b9250828201905080821115612cac57612cab6127d2565b5b92915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073695f8201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b5f612d0c602383612333565b9150612d1782612cb2565b604082019050919050565b5f6020820190508181035f830152612d3981612d00565b9050919050565b5f612d4a82612431565b9150612d5583612431565b9250828203905081811115612d6d57612d6c6127d2565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050612ddb81612407565b92915050565b5f60208284031215612df657612df56123d3565b5b5f612e0384828501612dcd565b91505092915050565b5f819050919050565b5f612e2f612e2a612e2584612e0c565b6124d5565b612431565b9050919050565b612e3f81612e15565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612e77816123f6565b82525050565b5f612e888383612e6e565b60208301905092915050565b5f602082019050919050565b5f612eaa82612e45565b612eb48185612e4f565b9350612ebf83612e5f565b805f5b83811015612eef578151612ed68882612e7d565b9750612ee183612e94565b925050600181019050612ec2565b5085935050505092915050565b5f60a082019050612f0f5f830188612549565b612f1c6020830187612e36565b8181036040830152612f2e8186612ea0565b9050612f3d60608301856125f5565b612f4a6080830184612549565b9695505050505050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c20725f8201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b5f612fae602a83612333565b9150612fb982612f54565b604082019050919050565b5f6020820190508181035f830152612fdb81612fa2565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613016601b83612333565b915061302182612fe2565b602082019050919050565b5f6020820190508181035f8301526130438161300a565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6130a4602183612333565b91506130af8261304a565b604082019050919050565b5f6020820190508181035f8301526130d181613098565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208e13aecac2b7ce9647337721bd2099504707363abc4b9a17cc4be5e713be5e4664736f6c63430008140033
Deployed Bytecode Sourcemap
7976:12474:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10493:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11425:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9196:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10773:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11627:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9451:61;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10681:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9244:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15954:355;;;;;;;;;;;;;:::i;:::-;;10877:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5450:148;;;;;;;;;;;;;:::i;:::-;;20358:85;;;;;;;;;;;;;:::i;:::-;;5234:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15844:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9388:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10585:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20033:139;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19729:295;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11024:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11232:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20181:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5607:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10493:83;10530:13;10563:5;;;;;;;;;;;;;;;;;10556:12;;10493:83;:::o;11425:193::-;11527:4;11549:39;11558:12;:10;:12::i;:::-;11572:7;11581:6;11549:8;:39::i;:::-;11606:4;11599:11;;11425:193;;;;:::o;9196:41::-;;;;;;;;;;;;;:::o;10773:95::-;10826:7;8597:21;10846:14;;10773:95;:::o;11627:446::-;11759:4;11776:36;11786:6;11794:9;11805:6;11776:9;:36::i;:::-;11823:220;11846:6;11867:12;:10;:12::i;:::-;11894:138;11950:6;11894:138;;;;;;;;;;;;;;;;;:11;:19;11906:6;11894:19;;;;;;;;;;;;;;;:33;11914:12;:10;:12::i;:::-;11894:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;11823:8;:220::i;:::-;12061:4;12054:11;;11627:446;;;;;:::o;9451:61::-;;;;:::o;10681:83::-;10722:5;8210:1;10740:16;;10681:83;:::o;9244:28::-;;;;;;;;;;;;;:::o;15954:355::-;16018:17;;;;;;;;;;;16004:31;;:12;:10;:12::i;:::-;:31;;;15996:40;;;;;;16047:20;16068:24;16086:4;16068:9;:24::i;:::-;16047:45;;16119:1;16106:12;:14;16103:73;;;16134:30;16151:12;16134:16;:30::i;:::-;16103:73;16186:18;16205:21;16186:40;;16251:1;16240:10;:12;16237:65;;;16266:24;16279:10;16266:12;:24::i;:::-;16237:65;15985:324;;15954:355::o;10877:138::-;10943:7;10970:37;10990:7;:16;10998:7;10990:16;;;;;;;;;;;;;;;;10970:19;:37::i;:::-;10963:44;;10877:138;;;:::o;5450:148::-;5372:12;:10;:12::i;:::-;5362:22;;:6;;;;;;;;;;:22;;;5354:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5557:1:::1;5520:40;;5541:6;::::0;::::1;;;;;;;;5520:40;;;;;;;;;;;;5588:1;5571:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;5450:148::o:0;20358:85::-;5372:12;:10;:12::i;:::-;5362:22;;:6;;;;;;;;;;:22;;;5354:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8597:21:::1;20411:14;:24;;;;20358:85::o:0;5234:79::-;5272:7;5299:6;;;;;;;;;;;5292:13;;5234:79;:::o;15844:101::-;5372:12;:10;:12::i;:::-;5362:22;;:6;;;;;;;;;;:22;;;5354:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15925:12:::1;15911:11;;:26;;;;;;;;;;;;;;;;;;15844:101:::0;:::o;9388:55::-;;;;:::o;10585:87::-;10624:13;10657:7;;;;;;;;;;;;;;;;;10650:14;;10585:87;:::o;20033:139::-;5372:12;:10;:12::i;:::-;5362:22;;:6;;;;;;;;;;:22;;;5354:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20146:18:::1;20124:19;:40;;;;20033:139:::0;:::o;19729:295::-;5372:12;:10;:12::i;:::-;5362:22;;:6;;;;;;;;;;:22;;;5354:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19882:13:::1;19865:14;:30;;;;19924:14;19906:15;:32;;;;19964:11;19949:12;:26;;;;20002:12;19986:13;:28;;;;19729:295:::0;;;;:::o;11024:199::-;11129:4;11151:42;11161:12;:10;:12::i;:::-;11175:9;11186:6;11151:9;:42::i;:::-;11211:4;11204:11;;11024:199;;;;:::o;11232:184::-;11349:7;11381:11;:18;11393:5;11381:18;;;;;;;;;;;;;;;:27;11400:7;11381:27;;;;;;;;;;;;;;;;11374:34;;11232:184;;;;:::o;20181:169::-;5372:12;:10;:12::i;:::-;5362:22;;:6;;;;;;;;;;:22;;;5354:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20280:1:::1;20266:13;:15;20258:24;;;::::0;::::1;;20339:3;20321:13;8597:21;20311:23;;;;:::i;:::-;20310:32;;;;:::i;:::-;20293:14;:49;;;;20181:169:::0;:::o;5607:244::-;5372:12;:10;:12::i;:::-;5362:22;;:6;;;;;;;;;;:22;;;5354:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5716:1:::1;5696:22;;:8;:22;;::::0;5688:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;5806:8;5777:38;;5798:6;::::0;::::1;;;;;;;;5777:38;;;;;;;;;;;;5835:8;5826:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;5607:244:::0;:::o;3982:98::-;4035:7;4062:10;4055:17;;3982:98;:::o;12770:369::-;12914:1;12897:19;;:5;:19;;;12889:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12995:1;12976:21;;:7;:21;;;12968:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13077:6;13047:11;:18;13059:5;13047:18;;;;;;;;;;;;;;;:27;13066:7;13047:27;;;;;;;;;;;;;;;:36;;;;13115:7;13099:32;;13108:5;13099:32;;;13124:6;13099:32;;;;;;:::i;:::-;;;;;;;;12770:369;;;:::o;13148:2087::-;13286:1;13270:18;;:4;:18;;;13262:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13363:1;13349:16;;:2;:16;;;13341:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;13433:1;13424:6;:10;13416:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;13506:7;:5;:7::i;:::-;13498:15;;:4;:15;;;;:32;;;;;13523:7;:5;:7::i;:::-;13517:13;;:2;:13;;;;13498:32;13494:1008;;;13588:11;;;;;;;;;;;13583:144;;13636:7;:5;:7::i;:::-;13628:15;;:4;:15;;;13620:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;13583:144;13752:13;;;;;;;;;;;13746:19;;:2;:19;;;;:46;;;;;13770:18;:22;13789:2;13770:22;;;;;;;;;;;;;;;;;;;;;;;;;13769:23;13746:46;13743:173;;;13846:14;;13837:6;13821:13;13831:2;13821:9;:13::i;:::-;:22;;;;:::i;:::-;:39;13813:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;13743:173;13933:28;13964:24;13982:4;13964:9;:24::i;:::-;13933:55;;14003:12;14042:19;;14018:20;:43;;14003:58;;14086:7;:18;;;;;14098:6;;;;;;;;;;;14097:7;14086:18;:43;;;;;14116:13;;;;;;;;;;;14108:21;;:4;:21;;;;14086:43;:66;;;;;14139:13;;;;;;;;;;;14133:19;;:2;:19;;;14086:66;:81;;;;;14156:11;;;;;;;;;;;14086:81;:110;;;;;14172:18;:24;14191:4;14172:24;;;;;;;;;;;;;;;;;;;;;;;;;14171:25;14086:110;:137;;;;;14201:18;:22;14220:2;14201:22;;;;;;;;;;;;;;;;;;;;;;;;;14200:23;14086:137;14082:409;;;14244:38;14261:20;14244:16;:38::i;:::-;14301:26;14330:21;14301:50;;14395:1;14374:18;:22;14370:106;;;14421:35;14434:21;14421:12;:35::i;:::-;14370:106;14225:266;14082:409;13532:970;;13494:1008;14516:12;14531:4;14516:19;;14581:18;:24;14600:4;14581:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;14609:18;:22;14628:2;14609:22;;;;;;;;;;;;;;;;;;;;;;;;;14581:50;14580:102;;;;14645:13;;;;;;;;;;;14637:21;;:4;:21;;;;:44;;;;;14668:13;;;;;;;;;;;14662:19;;:2;:19;;;;14637:44;14580:102;14576:597;;;14709:5;14699:15;;14576:597;;;14793:13;;;;;;;;;;;14785:21;;:4;:21;;;:55;;;;;14824:15;;;;;;;;;;;14810:30;;:2;:30;;;;14785:55;14782:162;;;14873:14;;14861:9;:26;;;;14916:12;;14906:7;:22;;;;14782:162;15004:13;;;;;;;;;;;14998:19;;:2;:19;;;:55;;;;;15037:15;;;;;;;;;;;15021:32;;:4;:32;;;;14998:55;14994:165;;;15086:15;;15074:9;:27;;;;15130:13;;15120:7;:23;;;;14994:165;14576:597;15186:41;15201:4;15207:2;15211:6;15219:7;15186:14;:41::i;:::-;13251:1984;13148:2087;;;:::o;6218:224::-;6338:7;6371:1;6366;:6;;6374:12;6358:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;6398:9;6414:1;6410;:5;;;;:::i;:::-;6398:17;;6433:1;6426:8;;;6218:224;;;;;:::o;15244:483::-;9565:4;9556:6;;:13;;;;;;;;;;;;;;;;;;15322:21:::1;15360:1;15346:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15322:40;;15391:4;15373;15378:1;15373:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;15417:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15407:4;15412:1;15407:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;15450:62;15467:4;15482:15;;;;;;;;;;;15500:11;15450:8;:62::i;:::-;15523:15;;;;;;;;;;;:66;;;15604:11;15630:1;15646:4;15673;15693:15;15523:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;15311:416;9601:5:::0;9592:6;;:14;;;;;;;;;;;;;;;;;;15244:483;:::o;15736:99::-;15793:17;;;;;;;;;;;:26;;:34;15820:6;15793:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15736:99;:::o;12082:323::-;12177:7;12235;;12224;:18;;12202:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;12323:19;12345:10;:8;:10::i;:::-;12323:32;;12373:24;12385:11;12373:7;:11;;:24;;;;:::i;:::-;12366:31;;;12082:323;;;:::o;16321:282::-;16477:7;16472:28;;16486:14;:12;:14::i;:::-;16472:28;16511:44;16529:6;16537:9;16548:6;16511:17;:44::i;:::-;16571:7;16566:29;;16580:15;:13;:15::i;:::-;16566:29;16321:282;;;;:::o;19290:164::-;19332:7;19353:15;19370;19389:19;:17;:19::i;:::-;19352:56;;;;19426:20;19438:7;19426;:11;;:20;;;;:::i;:::-;19419:27;;;;19290:164;:::o;6706:132::-;6764:7;6791:39;6795:1;6798;6791:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;6784:46;;6706:132;;;;:::o;12414:221::-;12474:1;12461:9;;:14;:30;;;;;12490:1;12479:7;;:12;12461:30;12493:7;12457:43;12533:9;;12513:17;:29;;;;12571:7;;12553:15;:25;;;;12604:1;12592:9;:13;;;;12626:1;12616:7;:11;;;;12414:221;:::o;16612:610::-;16759:15;16789:23;16827:12;16854:23;16892:12;16919:13;16946:19;16957:7;16946:10;:19::i;:::-;16744:221;;;;;;;;;;;;16994:28;17014:7;16994;:15;17002:6;16994:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;16976:7;:15;16984:6;16976:15;;;;;;;;;;;;;;;:46;;;;17054:39;17077:15;17054:7;:18;17062:9;17054:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;17033:7;:18;17041:9;17033:18;;;;;;;;;;;;;;;:60;;;;17104:16;17114:5;17104:9;:16::i;:::-;17131:23;17143:4;17149;17131:11;:23::i;:::-;17187:9;17170:44;;17179:6;17170:44;;;17198:15;17170:44;;;;;;:::i;:::-;;;;;;;;16733:489;;;;;;16612:610;;;:::o;12644:117::-;12700:17;;12688:9;:29;;;;12738:15;;12728:7;:25;;;;12644:117::o;19463:257::-;19514:7;19523;19543:15;19561:7;;19543:25;;19579:15;8597:21;19579:25;;19629:20;8597:21;19629:7;;:11;;:20;;;;:::i;:::-;19619:7;:30;19615:61;;;19659:7;;8597:21;19651:25;;;;;;;;19615:61;19695:7;19704;19687:25;;;;;;19463:257;;;:::o;6847:223::-;6967:7;6999:1;6995;:5;7002:12;6987:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;7026:9;7042:1;7038;:5;;;;:::i;:::-;7026:17;;7061:1;7054:8;;;6847:223;;;;;:::o;17645:615::-;17745:7;17767;17789;17811;17833;17855;17891:23;17916:12;17930:13;17960:40;17972:7;17981:9;;17992:7;;17960:11;:40::i;:::-;17890:110;;;;;;18011:19;18033:10;:8;:10::i;:::-;18011:32;;18055:15;18072:23;18097:12;18126:46;18138:7;18147:4;18153:5;18160:11;18126;:46::i;:::-;18054:118;;;;;;18191:7;18200:15;18217:4;18223:15;18240:4;18246:5;18183:69;;;;;;;;;;;;;;;;;;;17645:615;;;;;;;:::o;6073:136::-;6131:7;6158:43;6162:1;6165;6158:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;6151:50;;6073:136;;;;:::o;5885:179::-;5943:7;5963:9;5979:1;5975;:5;;;;:::i;:::-;5963:17;;6004:1;5999;:6;;5991:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;6055:1;6048:8;;;5885:179;;;;:::o;17231:211::-;17284:19;17306:10;:8;:10::i;:::-;17284:32;;17327:13;17343:22;17353:11;17343:5;:9;;:22;;;;:::i;:::-;17327:38;;17401:33;17428:5;17401:7;:22;17417:4;17401:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;17376:7;:22;17392:4;17376:22;;;;;;;;;;;;;;;:58;;;;17273:169;;17231:211;:::o;17451:147::-;17529:17;17541:4;17529:7;;:11;;:17;;;;:::i;:::-;17519:7;:27;;;;17570:20;17585:4;17570:10;;:14;;:20;;;;:::i;:::-;17557:10;:33;;;;17451:147;;:::o;18269:469::-;18438:7;18460;18482;18517:12;18532:30;18558:3;18532:21;18544:8;18532:7;:11;;:21;;;;:::i;:::-;:25;;:30;;;;:::i;:::-;18517:45;;18573:13;18589:28;18613:3;18589:19;18601:6;18589:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;18573:44;;18628:23;18654:28;18676:5;18654:17;18666:4;18654:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;18628:54;;18701:15;18718:4;18724:5;18693:37;;;;;;;;;18269:469;;;;;;;:::o;18747:534::-;18941:7;18963;18985;19020:15;19038:24;19050:11;19038:7;:11;;:24;;;;:::i;:::-;19020:42;;19073:12;19088:21;19097:11;19088:4;:8;;:21;;;;:::i;:::-;19073:36;;19120:13;19136:22;19146:11;19136:5;:9;;:22;;;;:::i;:::-;19120:38;;19169:23;19195:28;19217:5;19195:17;19207:4;19195:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;19169:54;;19242:7;19251:15;19268:4;19234:39;;;;;;;;;;18747:534;;;;;;;;:::o;6451:246::-;6509:7;6538:1;6533;:6;6529:47;;6563:1;6556:8;;;;6529:47;6586:9;6602:1;6598;:5;;;;:::i;:::-;6586:17;;6631:1;6626;6622;:5;;;;:::i;:::-;:10;6614:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;6688:1;6681:8;;;6451:246;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:60::-;3474:3;3495:5;3488:12;;3446:60;;;:::o;3512:142::-;3562:9;3595:53;3613:34;3622:24;3640:5;3622:24;:::i;:::-;3613:34;:::i;:::-;3595:53;:::i;:::-;3582:66;;3512:142;;;:::o;3660:126::-;3710:9;3743:37;3774:5;3743:37;:::i;:::-;3730:50;;3660:126;;;:::o;3792:152::-;3868:9;3901:37;3932:5;3901:37;:::i;:::-;3888:50;;3792:152;;;:::o;3950:183::-;4063:63;4120:5;4063:63;:::i;:::-;4058:3;4051:76;3950:183;;:::o;4139:274::-;4258:4;4296:2;4285:9;4281:18;4273:26;;4309:97;4403:1;4392:9;4388:17;4379:6;4309:97;:::i;:::-;4139:274;;;;:::o;4419:118::-;4506:24;4524:5;4506:24;:::i;:::-;4501:3;4494:37;4419:118;;:::o;4543:222::-;4636:4;4674:2;4663:9;4659:18;4651:26;;4687:71;4755:1;4744:9;4740:17;4731:6;4687:71;:::i;:::-;4543:222;;;;:::o;4771:619::-;4848:6;4856;4864;4913:2;4901:9;4892:7;4888:23;4884:32;4881:119;;;4919:79;;:::i;:::-;4881:119;5039:1;5064:53;5109:7;5100:6;5089:9;5085:22;5064:53;:::i;:::-;5054:63;;5010:117;5166:2;5192:53;5237:7;5228:6;5217:9;5213:22;5192:53;:::i;:::-;5182:63;;5137:118;5294:2;5320:53;5365:7;5356:6;5345:9;5341:22;5320:53;:::i;:::-;5310:63;;5265:118;4771:619;;;;;:::o;5396:86::-;5431:7;5471:4;5464:5;5460:16;5449:27;;5396:86;;;:::o;5488:112::-;5571:22;5587:5;5571:22;:::i;:::-;5566:3;5559:35;5488:112;;:::o;5606:214::-;5695:4;5733:2;5722:9;5718:18;5710:26;;5746:67;5810:1;5799:9;5795:17;5786:6;5746:67;:::i;:::-;5606:214;;;;:::o;5826:118::-;5913:24;5931:5;5913:24;:::i;:::-;5908:3;5901:37;5826:118;;:::o;5950:222::-;6043:4;6081:2;6070:9;6066:18;6058:26;;6094:71;6162:1;6151:9;6147:17;6138:6;6094:71;:::i;:::-;5950:222;;;;:::o;6178:329::-;6237:6;6286:2;6274:9;6265:7;6261:23;6257:32;6254:119;;;6292:79;;:::i;:::-;6254:119;6412:1;6437:53;6482:7;6473:6;6462:9;6458:22;6437:53;:::i;:::-;6427:63;;6383:117;6178:329;;;;:::o;6513:116::-;6583:21;6598:5;6583:21;:::i;:::-;6576:5;6573:32;6563:60;;6619:1;6616;6609:12;6563:60;6513:116;:::o;6635:133::-;6678:5;6716:6;6703:20;6694:29;;6732:30;6756:5;6732:30;:::i;:::-;6635:133;;;;:::o;6774:323::-;6830:6;6879:2;6867:9;6858:7;6854:23;6850:32;6847:119;;;6885:79;;:::i;:::-;6847:119;7005:1;7030:50;7072:7;7063:6;7052:9;7048:22;7030:50;:::i;:::-;7020:60;;6976:114;6774:323;;;;:::o;7103:329::-;7162:6;7211:2;7199:9;7190:7;7186:23;7182:32;7179:119;;;7217:79;;:::i;:::-;7179:119;7337:1;7362:53;7407:7;7398:6;7387:9;7383:22;7362:53;:::i;:::-;7352:63;;7308:117;7103:329;;;;:::o;7438:765::-;7524:6;7532;7540;7548;7597:3;7585:9;7576:7;7572:23;7568:33;7565:120;;;7604:79;;:::i;:::-;7565:120;7724:1;7749:53;7794:7;7785:6;7774:9;7770:22;7749:53;:::i;:::-;7739:63;;7695:117;7851:2;7877:53;7922:7;7913:6;7902:9;7898:22;7877:53;:::i;:::-;7867:63;;7822:118;7979:2;8005:53;8050:7;8041:6;8030:9;8026:22;8005:53;:::i;:::-;7995:63;;7950:118;8107:2;8133:53;8178:7;8169:6;8158:9;8154:22;8133:53;:::i;:::-;8123:63;;8078:118;7438:765;;;;;;;:::o;8209:474::-;8277:6;8285;8334:2;8322:9;8313:7;8309:23;8305:32;8302:119;;;8340:79;;:::i;:::-;8302:119;8460:1;8485:53;8530:7;8521:6;8510:9;8506:22;8485:53;:::i;:::-;8475:63;;8431:117;8587:2;8613:53;8658:7;8649:6;8638:9;8634:22;8613:53;:::i;:::-;8603:63;;8558:118;8209:474;;;;;:::o;8689:182::-;8829:34;8825:1;8817:6;8813:14;8806:58;8689:182;:::o;8877:366::-;9019:3;9040:67;9104:2;9099:3;9040:67;:::i;:::-;9033:74;;9116:93;9205:3;9116:93;:::i;:::-;9234:2;9229:3;9225:12;9218:19;;8877:366;;;:::o;9249:419::-;9415:4;9453:2;9442:9;9438:18;9430:26;;9502:9;9496:4;9492:20;9488:1;9477:9;9473:17;9466:47;9530:131;9656:4;9530:131;:::i;:::-;9522:139;;9249:419;;;:::o;9674:180::-;9722:77;9719:1;9712:88;9819:4;9816:1;9809:15;9843:4;9840:1;9833:15;9860:410;9900:7;9923:20;9941:1;9923:20;:::i;:::-;9918:25;;9957:20;9975:1;9957:20;:::i;:::-;9952:25;;10012:1;10009;10005:9;10034:30;10052:11;10034:30;:::i;:::-;10023:41;;10213:1;10204:7;10200:15;10197:1;10194:22;10174:1;10167:9;10147:83;10124:139;;10243:18;;:::i;:::-;10124:139;9908:362;9860:410;;;;:::o;10276:180::-;10324:77;10321:1;10314:88;10421:4;10418:1;10411:15;10445:4;10442:1;10435:15;10462:185;10502:1;10519:20;10537:1;10519:20;:::i;:::-;10514:25;;10553:20;10571:1;10553:20;:::i;:::-;10548:25;;10592:1;10582:35;;10597:18;;:::i;:::-;10582:35;10639:1;10636;10632:9;10627:14;;10462:185;;;;:::o;10653:225::-;10793:34;10789:1;10781:6;10777:14;10770:58;10862:8;10857:2;10849:6;10845:15;10838:33;10653:225;:::o;10884:366::-;11026:3;11047:67;11111:2;11106:3;11047:67;:::i;:::-;11040:74;;11123:93;11212:3;11123:93;:::i;:::-;11241:2;11236:3;11232:12;11225:19;;10884:366;;;:::o;11256:419::-;11422:4;11460:2;11449:9;11445:18;11437:26;;11509:9;11503:4;11499:20;11495:1;11484:9;11480:17;11473:47;11537:131;11663:4;11537:131;:::i;:::-;11529:139;;11256:419;;;:::o;11681:223::-;11821:34;11817:1;11809:6;11805:14;11798:58;11890:6;11885:2;11877:6;11873:15;11866:31;11681:223;:::o;11910:366::-;12052:3;12073:67;12137:2;12132:3;12073:67;:::i;:::-;12066:74;;12149:93;12238:3;12149:93;:::i;:::-;12267:2;12262:3;12258:12;12251:19;;11910:366;;;:::o;12282:419::-;12448:4;12486:2;12475:9;12471:18;12463:26;;12535:9;12529:4;12525:20;12521:1;12510:9;12506:17;12499:47;12563:131;12689:4;12563:131;:::i;:::-;12555:139;;12282:419;;;:::o;12707:221::-;12847:34;12843:1;12835:6;12831:14;12824:58;12916:4;12911:2;12903:6;12899:15;12892:29;12707:221;:::o;12934:366::-;13076:3;13097:67;13161:2;13156:3;13097:67;:::i;:::-;13090:74;;13173:93;13262:3;13173:93;:::i;:::-;13291:2;13286:3;13282:12;13275:19;;12934:366;;;:::o;13306:419::-;13472:4;13510:2;13499:9;13495:18;13487:26;;13559:9;13553:4;13549:20;13545:1;13534:9;13530:17;13523:47;13587:131;13713:4;13587:131;:::i;:::-;13579:139;;13306:419;;;:::o;13731:224::-;13871:34;13867:1;13859:6;13855:14;13848:58;13940:7;13935:2;13927:6;13923:15;13916:32;13731:224;:::o;13961:366::-;14103:3;14124:67;14188:2;14183:3;14124:67;:::i;:::-;14117:74;;14200:93;14289:3;14200:93;:::i;:::-;14318:2;14313:3;14309:12;14302:19;;13961:366;;;:::o;14333:419::-;14499:4;14537:2;14526:9;14522:18;14514:26;;14586:9;14580:4;14576:20;14572:1;14561:9;14557:17;14550:47;14614:131;14740:4;14614:131;:::i;:::-;14606:139;;14333:419;;;:::o;14758:222::-;14898:34;14894:1;14886:6;14882:14;14875:58;14967:5;14962:2;14954:6;14950:15;14943:30;14758:222;:::o;14986:366::-;15128:3;15149:67;15213:2;15208:3;15149:67;:::i;:::-;15142:74;;15225:93;15314:3;15225:93;:::i;:::-;15343:2;15338:3;15334:12;15327:19;;14986:366;;;:::o;15358:419::-;15524:4;15562:2;15551:9;15547:18;15539:26;;15611:9;15605:4;15601:20;15597:1;15586:9;15582:17;15575:47;15639:131;15765:4;15639:131;:::i;:::-;15631:139;;15358:419;;;:::o;15783:228::-;15923:34;15919:1;15911:6;15907:14;15900:58;15992:11;15987:2;15979:6;15975:15;15968:36;15783:228;:::o;16017:366::-;16159:3;16180:67;16244:2;16239:3;16180:67;:::i;:::-;16173:74;;16256:93;16345:3;16256:93;:::i;:::-;16374:2;16369:3;16365:12;16358:19;;16017:366;;;:::o;16389:419::-;16555:4;16593:2;16582:9;16578:18;16570:26;;16642:9;16636:4;16632:20;16628:1;16617:9;16613:17;16606:47;16670:131;16796:4;16670:131;:::i;:::-;16662:139;;16389:419;;;:::o;16814:250::-;16954:34;16950:1;16942:6;16938:14;16931:58;17023:33;17018:2;17010:6;17006:15;16999:58;16814:250;:::o;17070:366::-;17212:3;17233:67;17297:2;17292:3;17233:67;:::i;:::-;17226:74;;17309:93;17398:3;17309:93;:::i;:::-;17427:2;17422:3;17418:12;17411:19;;17070:366;;;:::o;17442:419::-;17608:4;17646:2;17635:9;17631:18;17623:26;;17695:9;17689:4;17685:20;17681:1;17670:9;17666:17;17659:47;17723:131;17849:4;17723:131;:::i;:::-;17715:139;;17442:419;;;:::o;17867:191::-;17907:3;17926:20;17944:1;17926:20;:::i;:::-;17921:25;;17960:20;17978:1;17960:20;:::i;:::-;17955:25;;18003:1;18000;17996:9;17989:16;;18024:3;18021:1;18018:10;18015:36;;;18031:18;;:::i;:::-;18015:36;17867:191;;;;:::o;18064:222::-;18204:34;18200:1;18192:6;18188:14;18181:58;18273:5;18268:2;18260:6;18256:15;18249:30;18064:222;:::o;18292:366::-;18434:3;18455:67;18519:2;18514:3;18455:67;:::i;:::-;18448:74;;18531:93;18620:3;18531:93;:::i;:::-;18649:2;18644:3;18640:12;18633:19;;18292:366;;;:::o;18664:419::-;18830:4;18868:2;18857:9;18853:18;18845:26;;18917:9;18911:4;18907:20;18903:1;18892:9;18888:17;18881:47;18945:131;19071:4;18945:131;:::i;:::-;18937:139;;18664:419;;;:::o;19089:194::-;19129:4;19149:20;19167:1;19149:20;:::i;:::-;19144:25;;19183:20;19201:1;19183:20;:::i;:::-;19178:25;;19227:1;19224;19220:9;19212:17;;19251:1;19245:4;19242:11;19239:37;;;19256:18;;:::i;:::-;19239:37;19089:194;;;;:::o;19289:180::-;19337:77;19334:1;19327:88;19434:4;19431:1;19424:15;19458:4;19455:1;19448:15;19475:180;19523:77;19520:1;19513:88;19620:4;19617:1;19610:15;19644:4;19641:1;19634:15;19661:143;19718:5;19749:6;19743:13;19734:22;;19765:33;19792:5;19765:33;:::i;:::-;19661:143;;;;:::o;19810:351::-;19880:6;19929:2;19917:9;19908:7;19904:23;19900:32;19897:119;;;19935:79;;:::i;:::-;19897:119;20055:1;20080:64;20136:7;20127:6;20116:9;20112:22;20080:64;:::i;:::-;20070:74;;20026:128;19810:351;;;;:::o;20167:85::-;20212:7;20241:5;20230:16;;20167:85;;;:::o;20258:158::-;20316:9;20349:61;20367:42;20376:32;20402:5;20376:32;:::i;:::-;20367:42;:::i;:::-;20349:61;:::i;:::-;20336:74;;20258:158;;;:::o;20422:147::-;20517:45;20556:5;20517:45;:::i;:::-;20512:3;20505:58;20422:147;;:::o;20575:114::-;20642:6;20676:5;20670:12;20660:22;;20575:114;;;:::o;20695:184::-;20794:11;20828:6;20823:3;20816:19;20868:4;20863:3;20859:14;20844:29;;20695:184;;;;:::o;20885:132::-;20952:4;20975:3;20967:11;;21005:4;21000:3;20996:14;20988:22;;20885:132;;;:::o;21023:108::-;21100:24;21118:5;21100:24;:::i;:::-;21095:3;21088:37;21023:108;;:::o;21137:179::-;21206:10;21227:46;21269:3;21261:6;21227:46;:::i;:::-;21305:4;21300:3;21296:14;21282:28;;21137:179;;;;:::o;21322:113::-;21392:4;21424;21419:3;21415:14;21407:22;;21322:113;;;:::o;21471:732::-;21590:3;21619:54;21667:5;21619:54;:::i;:::-;21689:86;21768:6;21763:3;21689:86;:::i;:::-;21682:93;;21799:56;21849:5;21799:56;:::i;:::-;21878:7;21909:1;21894:284;21919:6;21916:1;21913:13;21894:284;;;21995:6;21989:13;22022:63;22081:3;22066:13;22022:63;:::i;:::-;22015:70;;22108:60;22161:6;22108:60;:::i;:::-;22098:70;;21954:224;21941:1;21938;21934:9;21929:14;;21894:284;;;21898:14;22194:3;22187:10;;21595:608;;;21471:732;;;;:::o;22209:831::-;22472:4;22510:3;22499:9;22495:19;22487:27;;22524:71;22592:1;22581:9;22577:17;22568:6;22524:71;:::i;:::-;22605:80;22681:2;22670:9;22666:18;22657:6;22605:80;:::i;:::-;22732:9;22726:4;22722:20;22717:2;22706:9;22702:18;22695:48;22760:108;22863:4;22854:6;22760:108;:::i;:::-;22752:116;;22878:72;22946:2;22935:9;22931:18;22922:6;22878:72;:::i;:::-;22960:73;23028:3;23017:9;23013:19;23004:6;22960:73;:::i;:::-;22209:831;;;;;;;;:::o;23046:229::-;23186:34;23182:1;23174:6;23170:14;23163:58;23255:12;23250:2;23242:6;23238:15;23231:37;23046:229;:::o;23281:366::-;23423:3;23444:67;23508:2;23503:3;23444:67;:::i;:::-;23437:74;;23520:93;23609:3;23520:93;:::i;:::-;23638:2;23633:3;23629:12;23622:19;;23281:366;;;:::o;23653:419::-;23819:4;23857:2;23846:9;23842:18;23834:26;;23906:9;23900:4;23896:20;23892:1;23881:9;23877:17;23870:47;23934:131;24060:4;23934:131;:::i;:::-;23926:139;;23653:419;;;:::o;24078:177::-;24218:29;24214:1;24206:6;24202:14;24195:53;24078:177;:::o;24261:366::-;24403:3;24424:67;24488:2;24483:3;24424:67;:::i;:::-;24417:74;;24500:93;24589:3;24500:93;:::i;:::-;24618:2;24613:3;24609:12;24602:19;;24261:366;;;:::o;24633:419::-;24799:4;24837:2;24826:9;24822:18;24814:26;;24886:9;24880:4;24876:20;24872:1;24861:9;24857:17;24850:47;24914:131;25040:4;24914:131;:::i;:::-;24906:139;;24633:419;;;:::o;25058:220::-;25198:34;25194:1;25186:6;25182:14;25175:58;25267:3;25262:2;25254:6;25250:15;25243:28;25058:220;:::o;25284:366::-;25426:3;25447:67;25511:2;25506:3;25447:67;:::i;:::-;25440:74;;25523:93;25612:3;25523:93;:::i;:::-;25641:2;25636:3;25632:12;25625:19;;25284:366;;;:::o;25656:419::-;25822:4;25860:2;25849:9;25845:18;25837:26;;25909:9;25903:4;25899:20;25895:1;25884:9;25880:17;25873:47;25937:131;26063:4;25937:131;:::i;:::-;25929:139;;25656:419;;;:::o
Swarm Source
ipfs://8e13aecac2b7ce9647337721bd2099504707363abc4b9a17cc4be5e713be5e46
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.