ERC-20
Overview
Max Total Supply
100,000,000 CVBANK
Holders
25
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
1,040,000 CVBANKValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
CloudVaultBank
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-02-21 */ // Cloud Vault Bank | $CVBANK // Decentralized Banking Services // https://cloudvaultbank.com/ // SPDX-License-Identifier: MIT pragma solidity 0.8.19; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract CloudVaultBank is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; address payable private _taxWallet; address payable private _revShare; address private uniswapV2Pair; IUniswapV2Router02 private uniswapV2Router; uint256 private constant _initialBuyTax =20; uint256 private constant _initialSellTax=50; uint256 private constant _reduceBuyTaxAt=35; uint256 private constant _reduceSellTaxAt=45; uint256 private constant _preventSwapBefore=40; uint256 private _finalBuyTax=10; uint256 private _finalSellTax=20; uint256 private _buyCount=0; uint256 private _countTax; string private constant _name = unicode"Cloud Vault Bank"; string private constant _symbol = unicode"CVBANK"; uint8 private constant _decimals = 18; uint256 private constant _totalSupply = 100_000_000 * 10**_decimals; uint256 private constant _countTrigger = 81_000 * 10**_decimals; // 0.081% uint256 public constant _taxSwapThreshold = 200_000 * 10**_decimals; // 0.2% uint256 public constant _maxTaxSwap = 500_000 * 10**_decimals; // 0.5% uint256 public _maxTxAmount = 1_300_000 * 10**_decimals; // 1.3% uint256 public _maxWalletSize = 1_300_000 * 10**_decimals; // 1.3% bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; event FinalTax (uint256 _valueBuy, uint256 _valueSell); event TradingActive (bool _tradingOpen,bool _swapEnabled); event maxAmount(uint256 _value); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor (address taxWallet, address revShare) { _taxWallet = payable(taxWallet); _revShare = payable(revShare); _balances[_msgSender()] = _totalSupply; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[_taxWallet] = true; _isExcludedFromFee[_revShare] = true; _isExcludedFromFee[address(this)] = true; emit Transfer(address(0), _msgSender(), _totalSupply); } 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 _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balances[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 _approve(address owner, address spender, uint256 amount) private { require(owner != address(0) && spender != address(0), "ERC20: approve 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) && to != address(0), "ERC20: transfer the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); uint256 taxAmount=0; if (from != owner() && to != owner()) { if(!tradingOpen){ require( _isExcludedFromFee[to] || _isExcludedFromFee[from], "trading not yet open" ); } if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); _buyCount++; } if ( to == uniswapV2Pair && from!= address(this) ){ taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax)/100; } else if (from == uniswapV2Pair && to!= address(this) ){ taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax)/100; } _countTax += taxAmount; uint256 contractTokenBalance = balanceOf(address(this)); if ( !inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore && _countTax > _countTrigger ){ uint256 getMinValue = (contractTokenBalance > _maxTaxSwap)?_maxTaxSwap:contractTokenBalance; swapTokensForEth((amount > getMinValue)?getMinValue:amount); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(contractETHBalance); } _countTax = 0; } } if(taxAmount>0){ _balances[address(this)]=_balances[address(this)].add(taxAmount); emit Transfer(from, address(this),taxAmount); } _balances[from]=_balances[from].sub(amount); _balances[to]=_balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } function sendETHToFee(uint256 amount) private { uint256 tax = (_buyCount > _reduceBuyTaxAt) ? _finalBuyTax : _initialBuyTax; uint256 taxAmount; uint256 revShareAmount; if (tax == _finalBuyTax) { taxAmount = amount * 3 / 5; revShareAmount = amount * 2 / 5; } else if (tax == _initialBuyTax) { taxAmount = amount * 17 / 20; revShareAmount = amount * 3 / 20; } _taxWallet.transfer(taxAmount); _revShare.transfer(revShareAmount); } 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 initialize () external onlyOwner { require(!tradingOpen,"init already called"); uint256 tokenAmount = balanceOf(address(this)); uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(uniswapV2Router), _totalSupply); uniswapV2Pair = IUniswapV2Factory( uniswapV2Router.factory()) .createPair(address(this), uniswapV2Router.WETH() ); uniswapV2Router.addLiquidityETH{value: address(this).balance} ( address(this), tokenAmount, 0, 0, _msgSender(), block.timestamp ); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); } function openTrading () external onlyOwner { require(!tradingOpen,"trading already open"); swapEnabled = true; tradingOpen = true; emit TradingActive (tradingOpen,swapEnabled); } function removeLimits () external onlyOwner { _maxTxAmount = _totalSupply; _maxWalletSize = _totalSupply; emit maxAmount (_totalSupply); } function setFinalTax (uint256 _valueBuy, uint256 _valueSell) external onlyOwner { require(_valueBuy <= 5 && _valueSell <= 5 && tradingOpen, "Exceeds value"); _finalBuyTax = _valueBuy; _finalSellTax = _valueSell; emit FinalTax(_valueBuy, _valueSell); } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"taxWallet","type":"address"},{"internalType":"address","name":"revShare","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_valueBuy","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_valueSell","type":"uint256"}],"name":"FinalTax","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":false,"internalType":"bool","name":"_tradingOpen","type":"bool"},{"indexed":false,"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"TradingActive","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"maxAmount","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","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":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_valueBuy","type":"uint256"},{"internalType":"uint256","name":"_valueSell","type":"uint256"}],"name":"setFinalTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600a60085560146009556000600a556012600a62000023919062000684565b6213d620620000339190620006d5565b600c556012600a62000046919062000684565b6213d620620000569190620006d5565b600d556000600e60016101000a81548160ff0219169083151502179055506000600e60026101000a81548160ff0219169083151502179055503480156200009c57600080fd5b5060405162003a8038038062003a808339818101604052810190620000c291906200078a565b6000620000d4620004b960201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35081600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a62000204919062000684565b6305f5e100620002159190620006d5565b6001600062000229620004b960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600360006200027d620004c160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200042a620004b960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a62000489919062000684565b6305f5e1006200049a9190620006d5565b604051620004a99190620007e2565b60405180910390a35050620007ff565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620005785780860481111562000550576200054f620004ea565b5b6001851615620005605780820291505b8081029050620005708562000519565b945062000530565b94509492505050565b60008262000593576001905062000666565b81620005a3576000905062000666565b8160018114620005bc5760028114620005c757620005fd565b600191505062000666565b60ff841115620005dc57620005db620004ea565b5b8360020a915084821115620005f657620005f5620004ea565b5b5062000666565b5060208310610133831016604e8410600b8410161715620006375782820a905083811115620006315762000630620004ea565b5b62000666565b62000646848484600162000526565b9250905081840481111562000660576200065f620004ea565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000691826200066d565b91506200069e8362000677565b9250620006cd7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000581565b905092915050565b6000620006e2826200066d565b9150620006ef836200066d565b9250828202620006ff816200066d565b91508282048414831517620007195762000718620004ea565b5b5092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620007528262000725565b9050919050565b620007648162000745565b81146200077057600080fd5b50565b600081519050620007848162000759565b92915050565b60008060408385031215620007a457620007a362000720565b5b6000620007b48582860162000773565b9250506020620007c78582860162000773565b9150509250929050565b620007dc816200066d565b82525050565b6000602082019050620007f96000830184620007d1565b92915050565b613271806200080f6000396000f3fe6080604052600436106101185760003560e01c80637d1db4a5116100a057806395d89b411161006457806395d89b4114610376578063a9059cbb146103a1578063bf474bed146103de578063c9567bf914610409578063dd62ed3e146104205761011f565b80637d1db4a5146102b55780638129fc1c146102e057806382116718146102f75780638da5cb5b146103205780638f9a55c01461034b5761011f565b806323b872dd116100e757806323b872dd146101e2578063313ce5671461021f57806370a082311461024a578063715018a614610287578063751039fc1461029e5761011f565b806306fdde0314610124578063095ea7b31461014f5780630faee56f1461018c57806318160ddd146101b75761011f565b3661011f57005b600080fd5b34801561013057600080fd5b5061013961045d565b6040516101469190612339565b60405180910390f35b34801561015b57600080fd5b50610176600480360381019061017191906123f4565b61049a565b604051610183919061244f565b60405180910390f35b34801561019857600080fd5b506101a16104b8565b6040516101ae9190612479565b60405180910390f35b3480156101c357600080fd5b506101cc6104d7565b6040516101d99190612479565b60405180910390f35b3480156101ee57600080fd5b5061020960048036038101906102049190612494565b6104fb565b604051610216919061244f565b60405180910390f35b34801561022b57600080fd5b506102346105d4565b6040516102419190612503565b60405180910390f35b34801561025657600080fd5b50610271600480360381019061026c919061251e565b6105dd565b60405161027e9190612479565b60405180910390f35b34801561029357600080fd5b5061029c610626565b005b3480156102aa57600080fd5b506102b3610779565b005b3480156102c157600080fd5b506102ca6108a9565b6040516102d79190612479565b60405180910390f35b3480156102ec57600080fd5b506102f56108af565b005b34801561030357600080fd5b5061031e6004803603810190610319919061254b565b610db7565b005b34801561032c57600080fd5b50610335610f00565b604051610342919061259a565b60405180910390f35b34801561035757600080fd5b50610360610f29565b60405161036d9190612479565b60405180910390f35b34801561038257600080fd5b5061038b610f2f565b6040516103989190612339565b60405180910390f35b3480156103ad57600080fd5b506103c860048036038101906103c391906123f4565b610f6c565b6040516103d5919061244f565b60405180910390f35b3480156103ea57600080fd5b506103f3610f8a565b6040516104009190612479565b60405180910390f35b34801561041557600080fd5b5061041e610fa9565b005b34801561042c57600080fd5b50610447600480360381019061044291906125b5565b61111d565b6040516104549190612479565b60405180910390f35b60606040518060400160405280601081526020017f436c6f7564205661756c742042616e6b00000000000000000000000000000000815250905090565b60006104ae6104a76111a4565b84846111ac565b6001905092915050565b6012600a6104c69190612757565b6207a1206104d491906127a2565b81565b60006012600a6104e79190612757565b6305f5e1006104f691906127a2565b905090565b6000610508848484611340565b6105c9846105146111a4565b6105c48560405180606001604052806028815260200161321460289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061057a6111a4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d329092919063ffffffff16565b6111ac565b600190509392505050565b60006012905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61062e6111a4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b290612830565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6107816111a4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461080e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080590612830565b60405180910390fd5b6012600a61081c9190612757565b6305f5e10061082b91906127a2565b600c819055506012600a61083f9190612757565b6305f5e10061084e91906127a2565b600d819055507f69ada53addde5123341ce3a822c5f66292103b2771e41e1f3c00c2de8a63a7f96012600a6108839190612757565b6305f5e10061089291906127a2565b60405161089f9190612479565b60405180910390a1565b600c5481565b6108b76111a4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610944576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093b90612830565b60405180910390fd5b600e60009054906101000a900460ff1615610994576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098b9061289c565b60405180910390fd5b600061099f306105dd565b9050737a250d5630b4cf539739df2c5dacb4c659f2488d600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610a3f30600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a610a2b9190612757565b6305f5e100610a3a91906127a2565b6111ac565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610aac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad091906128d1565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b59573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7d91906128d1565b6040518363ffffffff1660e01b8152600401610b9a9291906128fe565b6020604051808303816000875af1158015610bb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bdd91906128d1565b600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473084600080610c696111a4565b426040518863ffffffff1660e01b8152600401610c8b9695949392919061296c565b60606040518083038185885af1158015610ca9573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610cce91906129e2565b505050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610d70929190612a35565b6020604051808303816000875af1158015610d8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db39190612a8a565b5050565b610dbf6111a4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4390612830565b60405180910390fd5b60058211158015610e5e575060058111155b8015610e765750600e60009054906101000a900460ff165b610eb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eac90612b03565b60405180910390fd5b81600881905550806009819055507f78009e5656a5c60b3c047015fb856b2efbc6f42beed76119406d7d4e3fc161f48282604051610ef4929190612b23565b60405180910390a15050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600d5481565b60606040518060400160405280600681526020017f435642414e4b0000000000000000000000000000000000000000000000000000815250905090565b6000610f80610f796111a4565b8484611340565b6001905092915050565b6012600a610f989190612757565b62030d40610fa691906127a2565b81565b610fb16111a4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461103e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103590612830565b60405180910390fd5b600e60009054906101000a900460ff161561108e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108590612b98565b60405180910390fd5b6001600e60026101000a81548160ff0219169083151502179055506001600e60006101000a81548160ff0219169083151502179055507f41a09f17206aad1ccd4bae176b5c5e0b2154e569947545c9019e6bb0cb4ef59c600e60009054906101000a900460ff16600e60029054906101000a900460ff16604051611113929190612bb8565b60405180910390a1565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156112165750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b611255576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124c90612c2d565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113339190612479565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156113aa5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6113e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e090612c99565b60405180910390fd5b6000811161142c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142390612d2b565b60405180910390fd5b6000611436610f00565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156114a45750611474610f00565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611a7557600e60009054906101000a900460ff1661159e57600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061155e5750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61159d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159490612d97565b60405180910390fd5b5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156116495750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561169f5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561175a57600c548211156116e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e090612e03565b60405180910390fd5b600d54826116f6856105dd565b6117009190612e23565b1115611741576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173890612ea3565b60405180910390fd5b600a600081548092919061175490612ec3565b91905055505b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156117e357503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611822576064611811602d600a54116117fe576032611802565b6009545b84611d9690919063ffffffff16565b61181b9190612f3a565b90506118e7565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156118ab57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156118e65760646118d96023600a54116118c65760146118ca565b6008545b84611d9690919063ffffffff16565b6118e39190612f3a565b90505b5b80600b60008282546118f99190612e23565b92505081905550600061190b306105dd565b9050600e60019054906101000a900460ff161580156119775750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b801561198f5750600e60029054906101000a900460ff165b80156119b557506012600a6119a49190612757565b62030d406119b291906127a2565b81115b80156119c357506028600a54115b80156119eb57506012600a6119d89190612757565b62013c686119e691906127a2565b600b54115b15611a735760006012600a611a009190612757565b6207a120611a0e91906127a2565b8211611a1a5781611a37565b6012600a611a289190612757565b6207a120611a3691906127a2565b5b9050611a50818511611a495784611a4b565b815b611e10565b60004790506000811115611a6857611a6781612089565b5b6000600b8190555050505b505b6000811115611b7957611ad081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461220190919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b709190612479565b60405180910390a35b611bcb82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461225f90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c72611c24828461225f90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461220190919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611d17848661225f90919063ffffffff16565b604051611d249190612479565b60405180910390a350505050565b6000838311158290611d7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d719190612339565b60405180910390fd5b5060008385611d899190612f6b565b9050809150509392505050565b6000808303611da85760009050611e0a565b60008284611db691906127a2565b9050828482611dc59190612f3a565b14611e05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dfc90613011565b60405180910390fd5b809150505b92915050565b6001600e60016101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611e4857611e47613031565b5b604051908082528060200260200182016040528015611e765781602001602082028036833780820191505090505b5090503081600081518110611e8e57611e8d613060565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f5991906128d1565b81600181518110611f6d57611f6c613060565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611fd430600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846111ac565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161203895949392919061314d565b600060405180830381600087803b15801561205257600080fd5b505af1158015612066573d6000803e3d6000fd5b50505050506000600e60016101000a81548160ff02191690831515021790555050565b60006023600a541161209c5760146120a0565b6008545b905060008060085483036120e95760056003856120bd91906127a2565b6120c79190612f3a565b915060056002856120d891906127a2565b6120e29190612f3a565b9050612129565b6014830361212857601460118561210091906127a2565b61210a9190612f3a565b9150601460038561211b91906127a2565b6121259190612f3a565b90505b5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015612191573d6000803e3d6000fd5b50600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156121fa573d6000803e3d6000fd5b5050505050565b60008082846122109190612e23565b905083811015612255576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224c906131f3565b60405180910390fd5b8091505092915050565b60006122a183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d32565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156122e35780820151818401526020810190506122c8565b60008484015250505050565b6000601f19601f8301169050919050565b600061230b826122a9565b61231581856122b4565b93506123258185602086016122c5565b61232e816122ef565b840191505092915050565b600060208201905081810360008301526123538184612300565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061238b82612360565b9050919050565b61239b81612380565b81146123a657600080fd5b50565b6000813590506123b881612392565b92915050565b6000819050919050565b6123d1816123be565b81146123dc57600080fd5b50565b6000813590506123ee816123c8565b92915050565b6000806040838503121561240b5761240a61235b565b5b6000612419858286016123a9565b925050602061242a858286016123df565b9150509250929050565b60008115159050919050565b61244981612434565b82525050565b60006020820190506124646000830184612440565b92915050565b612473816123be565b82525050565b600060208201905061248e600083018461246a565b92915050565b6000806000606084860312156124ad576124ac61235b565b5b60006124bb868287016123a9565b93505060206124cc868287016123a9565b92505060406124dd868287016123df565b9150509250925092565b600060ff82169050919050565b6124fd816124e7565b82525050565b600060208201905061251860008301846124f4565b92915050565b6000602082840312156125345761253361235b565b5b6000612542848285016123a9565b91505092915050565b600080604083850312156125625761256161235b565b5b6000612570858286016123df565b9250506020612581858286016123df565b9150509250929050565b61259481612380565b82525050565b60006020820190506125af600083018461258b565b92915050565b600080604083850312156125cc576125cb61235b565b5b60006125da858286016123a9565b92505060206125eb858286016123a9565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111561267b57808604811115612657576126566125f5565b5b60018516156126665780820291505b808102905061267485612624565b945061263b565b94509492505050565b6000826126945760019050612750565b816126a25760009050612750565b81600181146126b857600281146126c2576126f1565b6001915050612750565b60ff8411156126d4576126d36125f5565b5b8360020a9150848211156126eb576126ea6125f5565b5b50612750565b5060208310610133831016604e8410600b84101617156127265782820a905083811115612721576127206125f5565b5b612750565b6127338484846001612631565b9250905081840481111561274a576127496125f5565b5b81810290505b9392505050565b6000612762826123be565b915061276d836124e7565b925061279a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612684565b905092915050565b60006127ad826123be565b91506127b8836123be565b92508282026127c6816123be565b915082820484148315176127dd576127dc6125f5565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061281a6020836122b4565b9150612825826127e4565b602082019050919050565b600060208201905081810360008301526128498161280d565b9050919050565b7f696e697420616c72656164792063616c6c656400000000000000000000000000600082015250565b60006128866013836122b4565b915061289182612850565b602082019050919050565b600060208201905081810360008301526128b581612879565b9050919050565b6000815190506128cb81612392565b92915050565b6000602082840312156128e7576128e661235b565b5b60006128f5848285016128bc565b91505092915050565b6000604082019050612913600083018561258b565b612920602083018461258b565b9392505050565b6000819050919050565b6000819050919050565b600061295661295161294c84612927565b612931565b6123be565b9050919050565b6129668161293b565b82525050565b600060c082019050612981600083018961258b565b61298e602083018861246a565b61299b604083018761295d565b6129a8606083018661295d565b6129b5608083018561258b565b6129c260a083018461246a565b979650505050505050565b6000815190506129dc816123c8565b92915050565b6000806000606084860312156129fb576129fa61235b565b5b6000612a09868287016129cd565b9350506020612a1a868287016129cd565b9250506040612a2b868287016129cd565b9150509250925092565b6000604082019050612a4a600083018561258b565b612a57602083018461246a565b9392505050565b612a6781612434565b8114612a7257600080fd5b50565b600081519050612a8481612a5e565b92915050565b600060208284031215612aa057612a9f61235b565b5b6000612aae84828501612a75565b91505092915050565b7f457863656564732076616c756500000000000000000000000000000000000000600082015250565b6000612aed600d836122b4565b9150612af882612ab7565b602082019050919050565b60006020820190508181036000830152612b1c81612ae0565b9050919050565b6000604082019050612b38600083018561246a565b612b45602083018461246a565b9392505050565b7f74726164696e6720616c7265616479206f70656e000000000000000000000000600082015250565b6000612b826014836122b4565b9150612b8d82612b4c565b602082019050919050565b60006020820190508181036000830152612bb181612b75565b9050919050565b6000604082019050612bcd6000830185612440565b612bda6020830184612440565b9392505050565b7f45524332303a20617070726f766520746865207a65726f206164647265737300600082015250565b6000612c17601f836122b4565b9150612c2282612be1565b602082019050919050565b60006020820190508181036000830152612c4681612c0a565b9050919050565b7f45524332303a207472616e7366657220746865207a65726f2061646472657373600082015250565b6000612c836020836122b4565b9150612c8e82612c4d565b602082019050919050565b60006020820190508181036000830152612cb281612c76565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612d156029836122b4565b9150612d2082612cb9565b604082019050919050565b60006020820190508181036000830152612d4481612d08565b9050919050565b7f74726164696e67206e6f7420796574206f70656e000000000000000000000000600082015250565b6000612d816014836122b4565b9150612d8c82612d4b565b602082019050919050565b60006020820190508181036000830152612db081612d74565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000612ded6019836122b4565b9150612df882612db7565b602082019050919050565b60006020820190508181036000830152612e1c81612de0565b9050919050565b6000612e2e826123be565b9150612e39836123be565b9250828201905080821115612e5157612e506125f5565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000612e8d601a836122b4565b9150612e9882612e57565b602082019050919050565b60006020820190508181036000830152612ebc81612e80565b9050919050565b6000612ece826123be565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612f0057612eff6125f5565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612f45826123be565b9150612f50836123be565b925082612f6057612f5f612f0b565b5b828204905092915050565b6000612f76826123be565b9150612f81836123be565b9250828203905081811115612f9957612f986125f5565b5b92915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612ffb6021836122b4565b915061300682612f9f565b604082019050919050565b6000602082019050818103600083015261302a81612fee565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6130c481612380565b82525050565b60006130d683836130bb565b60208301905092915050565b6000602082019050919050565b60006130fa8261308f565b613104818561309a565b935061310f836130ab565b8060005b8381101561314057815161312788826130ca565b9750613132836130e2565b925050600181019050613113565b5085935050505092915050565b600060a082019050613162600083018861246a565b61316f602083018761295d565b818103604083015261318181866130ef565b9050613190606083018561258b565b61319d608083018461246a565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006131dd601b836122b4565b91506131e8826131a7565b602082019050919050565b6000602082019050818103600083015261320c816131d0565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220bd4f691d0ea8451baab14035e453f7145f51c5a5fb0e1c11e3dfe204d1df745d64736f6c63430008130033000000000000000000000000a79591467bbf2e878f30ea272c758cdfa47d6222000000000000000000000000755e3fb6cb1a606acb9f51d7424140c12632274a
Deployed Bytecode
0x6080604052600436106101185760003560e01c80637d1db4a5116100a057806395d89b411161006457806395d89b4114610376578063a9059cbb146103a1578063bf474bed146103de578063c9567bf914610409578063dd62ed3e146104205761011f565b80637d1db4a5146102b55780638129fc1c146102e057806382116718146102f75780638da5cb5b146103205780638f9a55c01461034b5761011f565b806323b872dd116100e757806323b872dd146101e2578063313ce5671461021f57806370a082311461024a578063715018a614610287578063751039fc1461029e5761011f565b806306fdde0314610124578063095ea7b31461014f5780630faee56f1461018c57806318160ddd146101b75761011f565b3661011f57005b600080fd5b34801561013057600080fd5b5061013961045d565b6040516101469190612339565b60405180910390f35b34801561015b57600080fd5b50610176600480360381019061017191906123f4565b61049a565b604051610183919061244f565b60405180910390f35b34801561019857600080fd5b506101a16104b8565b6040516101ae9190612479565b60405180910390f35b3480156101c357600080fd5b506101cc6104d7565b6040516101d99190612479565b60405180910390f35b3480156101ee57600080fd5b5061020960048036038101906102049190612494565b6104fb565b604051610216919061244f565b60405180910390f35b34801561022b57600080fd5b506102346105d4565b6040516102419190612503565b60405180910390f35b34801561025657600080fd5b50610271600480360381019061026c919061251e565b6105dd565b60405161027e9190612479565b60405180910390f35b34801561029357600080fd5b5061029c610626565b005b3480156102aa57600080fd5b506102b3610779565b005b3480156102c157600080fd5b506102ca6108a9565b6040516102d79190612479565b60405180910390f35b3480156102ec57600080fd5b506102f56108af565b005b34801561030357600080fd5b5061031e6004803603810190610319919061254b565b610db7565b005b34801561032c57600080fd5b50610335610f00565b604051610342919061259a565b60405180910390f35b34801561035757600080fd5b50610360610f29565b60405161036d9190612479565b60405180910390f35b34801561038257600080fd5b5061038b610f2f565b6040516103989190612339565b60405180910390f35b3480156103ad57600080fd5b506103c860048036038101906103c391906123f4565b610f6c565b6040516103d5919061244f565b60405180910390f35b3480156103ea57600080fd5b506103f3610f8a565b6040516104009190612479565b60405180910390f35b34801561041557600080fd5b5061041e610fa9565b005b34801561042c57600080fd5b50610447600480360381019061044291906125b5565b61111d565b6040516104549190612479565b60405180910390f35b60606040518060400160405280601081526020017f436c6f7564205661756c742042616e6b00000000000000000000000000000000815250905090565b60006104ae6104a76111a4565b84846111ac565b6001905092915050565b6012600a6104c69190612757565b6207a1206104d491906127a2565b81565b60006012600a6104e79190612757565b6305f5e1006104f691906127a2565b905090565b6000610508848484611340565b6105c9846105146111a4565b6105c48560405180606001604052806028815260200161321460289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061057a6111a4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d329092919063ffffffff16565b6111ac565b600190509392505050565b60006012905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61062e6111a4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b290612830565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6107816111a4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461080e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080590612830565b60405180910390fd5b6012600a61081c9190612757565b6305f5e10061082b91906127a2565b600c819055506012600a61083f9190612757565b6305f5e10061084e91906127a2565b600d819055507f69ada53addde5123341ce3a822c5f66292103b2771e41e1f3c00c2de8a63a7f96012600a6108839190612757565b6305f5e10061089291906127a2565b60405161089f9190612479565b60405180910390a1565b600c5481565b6108b76111a4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610944576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093b90612830565b60405180910390fd5b600e60009054906101000a900460ff1615610994576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098b9061289c565b60405180910390fd5b600061099f306105dd565b9050737a250d5630b4cf539739df2c5dacb4c659f2488d600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610a3f30600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a610a2b9190612757565b6305f5e100610a3a91906127a2565b6111ac565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610aac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad091906128d1565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b59573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7d91906128d1565b6040518363ffffffff1660e01b8152600401610b9a9291906128fe565b6020604051808303816000875af1158015610bb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bdd91906128d1565b600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473084600080610c696111a4565b426040518863ffffffff1660e01b8152600401610c8b9695949392919061296c565b60606040518083038185885af1158015610ca9573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610cce91906129e2565b505050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610d70929190612a35565b6020604051808303816000875af1158015610d8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db39190612a8a565b5050565b610dbf6111a4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4390612830565b60405180910390fd5b60058211158015610e5e575060058111155b8015610e765750600e60009054906101000a900460ff165b610eb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eac90612b03565b60405180910390fd5b81600881905550806009819055507f78009e5656a5c60b3c047015fb856b2efbc6f42beed76119406d7d4e3fc161f48282604051610ef4929190612b23565b60405180910390a15050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600d5481565b60606040518060400160405280600681526020017f435642414e4b0000000000000000000000000000000000000000000000000000815250905090565b6000610f80610f796111a4565b8484611340565b6001905092915050565b6012600a610f989190612757565b62030d40610fa691906127a2565b81565b610fb16111a4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461103e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103590612830565b60405180910390fd5b600e60009054906101000a900460ff161561108e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108590612b98565b60405180910390fd5b6001600e60026101000a81548160ff0219169083151502179055506001600e60006101000a81548160ff0219169083151502179055507f41a09f17206aad1ccd4bae176b5c5e0b2154e569947545c9019e6bb0cb4ef59c600e60009054906101000a900460ff16600e60029054906101000a900460ff16604051611113929190612bb8565b60405180910390a1565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156112165750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b611255576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124c90612c2d565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113339190612479565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156113aa5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6113e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e090612c99565b60405180910390fd5b6000811161142c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142390612d2b565b60405180910390fd5b6000611436610f00565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156114a45750611474610f00565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611a7557600e60009054906101000a900460ff1661159e57600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061155e5750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61159d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159490612d97565b60405180910390fd5b5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156116495750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561169f5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561175a57600c548211156116e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e090612e03565b60405180910390fd5b600d54826116f6856105dd565b6117009190612e23565b1115611741576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173890612ea3565b60405180910390fd5b600a600081548092919061175490612ec3565b91905055505b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156117e357503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611822576064611811602d600a54116117fe576032611802565b6009545b84611d9690919063ffffffff16565b61181b9190612f3a565b90506118e7565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156118ab57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156118e65760646118d96023600a54116118c65760146118ca565b6008545b84611d9690919063ffffffff16565b6118e39190612f3a565b90505b5b80600b60008282546118f99190612e23565b92505081905550600061190b306105dd565b9050600e60019054906101000a900460ff161580156119775750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b801561198f5750600e60029054906101000a900460ff165b80156119b557506012600a6119a49190612757565b62030d406119b291906127a2565b81115b80156119c357506028600a54115b80156119eb57506012600a6119d89190612757565b62013c686119e691906127a2565b600b54115b15611a735760006012600a611a009190612757565b6207a120611a0e91906127a2565b8211611a1a5781611a37565b6012600a611a289190612757565b6207a120611a3691906127a2565b5b9050611a50818511611a495784611a4b565b815b611e10565b60004790506000811115611a6857611a6781612089565b5b6000600b8190555050505b505b6000811115611b7957611ad081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461220190919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b709190612479565b60405180910390a35b611bcb82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461225f90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c72611c24828461225f90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461220190919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611d17848661225f90919063ffffffff16565b604051611d249190612479565b60405180910390a350505050565b6000838311158290611d7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d719190612339565b60405180910390fd5b5060008385611d899190612f6b565b9050809150509392505050565b6000808303611da85760009050611e0a565b60008284611db691906127a2565b9050828482611dc59190612f3a565b14611e05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dfc90613011565b60405180910390fd5b809150505b92915050565b6001600e60016101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611e4857611e47613031565b5b604051908082528060200260200182016040528015611e765781602001602082028036833780820191505090505b5090503081600081518110611e8e57611e8d613060565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f5991906128d1565b81600181518110611f6d57611f6c613060565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611fd430600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846111ac565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161203895949392919061314d565b600060405180830381600087803b15801561205257600080fd5b505af1158015612066573d6000803e3d6000fd5b50505050506000600e60016101000a81548160ff02191690831515021790555050565b60006023600a541161209c5760146120a0565b6008545b905060008060085483036120e95760056003856120bd91906127a2565b6120c79190612f3a565b915060056002856120d891906127a2565b6120e29190612f3a565b9050612129565b6014830361212857601460118561210091906127a2565b61210a9190612f3a565b9150601460038561211b91906127a2565b6121259190612f3a565b90505b5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015612191573d6000803e3d6000fd5b50600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156121fa573d6000803e3d6000fd5b5050505050565b60008082846122109190612e23565b905083811015612255576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224c906131f3565b60405180910390fd5b8091505092915050565b60006122a183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d32565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156122e35780820151818401526020810190506122c8565b60008484015250505050565b6000601f19601f8301169050919050565b600061230b826122a9565b61231581856122b4565b93506123258185602086016122c5565b61232e816122ef565b840191505092915050565b600060208201905081810360008301526123538184612300565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061238b82612360565b9050919050565b61239b81612380565b81146123a657600080fd5b50565b6000813590506123b881612392565b92915050565b6000819050919050565b6123d1816123be565b81146123dc57600080fd5b50565b6000813590506123ee816123c8565b92915050565b6000806040838503121561240b5761240a61235b565b5b6000612419858286016123a9565b925050602061242a858286016123df565b9150509250929050565b60008115159050919050565b61244981612434565b82525050565b60006020820190506124646000830184612440565b92915050565b612473816123be565b82525050565b600060208201905061248e600083018461246a565b92915050565b6000806000606084860312156124ad576124ac61235b565b5b60006124bb868287016123a9565b93505060206124cc868287016123a9565b92505060406124dd868287016123df565b9150509250925092565b600060ff82169050919050565b6124fd816124e7565b82525050565b600060208201905061251860008301846124f4565b92915050565b6000602082840312156125345761253361235b565b5b6000612542848285016123a9565b91505092915050565b600080604083850312156125625761256161235b565b5b6000612570858286016123df565b9250506020612581858286016123df565b9150509250929050565b61259481612380565b82525050565b60006020820190506125af600083018461258b565b92915050565b600080604083850312156125cc576125cb61235b565b5b60006125da858286016123a9565b92505060206125eb858286016123a9565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111561267b57808604811115612657576126566125f5565b5b60018516156126665780820291505b808102905061267485612624565b945061263b565b94509492505050565b6000826126945760019050612750565b816126a25760009050612750565b81600181146126b857600281146126c2576126f1565b6001915050612750565b60ff8411156126d4576126d36125f5565b5b8360020a9150848211156126eb576126ea6125f5565b5b50612750565b5060208310610133831016604e8410600b84101617156127265782820a905083811115612721576127206125f5565b5b612750565b6127338484846001612631565b9250905081840481111561274a576127496125f5565b5b81810290505b9392505050565b6000612762826123be565b915061276d836124e7565b925061279a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612684565b905092915050565b60006127ad826123be565b91506127b8836123be565b92508282026127c6816123be565b915082820484148315176127dd576127dc6125f5565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061281a6020836122b4565b9150612825826127e4565b602082019050919050565b600060208201905081810360008301526128498161280d565b9050919050565b7f696e697420616c72656164792063616c6c656400000000000000000000000000600082015250565b60006128866013836122b4565b915061289182612850565b602082019050919050565b600060208201905081810360008301526128b581612879565b9050919050565b6000815190506128cb81612392565b92915050565b6000602082840312156128e7576128e661235b565b5b60006128f5848285016128bc565b91505092915050565b6000604082019050612913600083018561258b565b612920602083018461258b565b9392505050565b6000819050919050565b6000819050919050565b600061295661295161294c84612927565b612931565b6123be565b9050919050565b6129668161293b565b82525050565b600060c082019050612981600083018961258b565b61298e602083018861246a565b61299b604083018761295d565b6129a8606083018661295d565b6129b5608083018561258b565b6129c260a083018461246a565b979650505050505050565b6000815190506129dc816123c8565b92915050565b6000806000606084860312156129fb576129fa61235b565b5b6000612a09868287016129cd565b9350506020612a1a868287016129cd565b9250506040612a2b868287016129cd565b9150509250925092565b6000604082019050612a4a600083018561258b565b612a57602083018461246a565b9392505050565b612a6781612434565b8114612a7257600080fd5b50565b600081519050612a8481612a5e565b92915050565b600060208284031215612aa057612a9f61235b565b5b6000612aae84828501612a75565b91505092915050565b7f457863656564732076616c756500000000000000000000000000000000000000600082015250565b6000612aed600d836122b4565b9150612af882612ab7565b602082019050919050565b60006020820190508181036000830152612b1c81612ae0565b9050919050565b6000604082019050612b38600083018561246a565b612b45602083018461246a565b9392505050565b7f74726164696e6720616c7265616479206f70656e000000000000000000000000600082015250565b6000612b826014836122b4565b9150612b8d82612b4c565b602082019050919050565b60006020820190508181036000830152612bb181612b75565b9050919050565b6000604082019050612bcd6000830185612440565b612bda6020830184612440565b9392505050565b7f45524332303a20617070726f766520746865207a65726f206164647265737300600082015250565b6000612c17601f836122b4565b9150612c2282612be1565b602082019050919050565b60006020820190508181036000830152612c4681612c0a565b9050919050565b7f45524332303a207472616e7366657220746865207a65726f2061646472657373600082015250565b6000612c836020836122b4565b9150612c8e82612c4d565b602082019050919050565b60006020820190508181036000830152612cb281612c76565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612d156029836122b4565b9150612d2082612cb9565b604082019050919050565b60006020820190508181036000830152612d4481612d08565b9050919050565b7f74726164696e67206e6f7420796574206f70656e000000000000000000000000600082015250565b6000612d816014836122b4565b9150612d8c82612d4b565b602082019050919050565b60006020820190508181036000830152612db081612d74565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000612ded6019836122b4565b9150612df882612db7565b602082019050919050565b60006020820190508181036000830152612e1c81612de0565b9050919050565b6000612e2e826123be565b9150612e39836123be565b9250828201905080821115612e5157612e506125f5565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000612e8d601a836122b4565b9150612e9882612e57565b602082019050919050565b60006020820190508181036000830152612ebc81612e80565b9050919050565b6000612ece826123be565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612f0057612eff6125f5565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612f45826123be565b9150612f50836123be565b925082612f6057612f5f612f0b565b5b828204905092915050565b6000612f76826123be565b9150612f81836123be565b9250828203905081811115612f9957612f986125f5565b5b92915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612ffb6021836122b4565b915061300682612f9f565b604082019050919050565b6000602082019050818103600083015261302a81612fee565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6130c481612380565b82525050565b60006130d683836130bb565b60208301905092915050565b6000602082019050919050565b60006130fa8261308f565b613104818561309a565b935061310f836130ab565b8060005b8381101561314057815161312788826130ca565b9750613132836130e2565b925050600181019050613113565b5085935050505092915050565b600060a082019050613162600083018861246a565b61316f602083018761295d565b818103604083015261318181866130ef565b9050613190606083018561258b565b61319d608083018461246a565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006131dd601b836122b4565b91506131e8826131a7565b602082019050919050565b6000602082019050818103600083015261320c816131d0565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220bd4f691d0ea8451baab14035e453f7145f51c5a5fb0e1c11e3dfe204d1df745d64736f6c63430008130033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000a79591467bbf2e878f30ea272c758cdfa47d6222000000000000000000000000755e3fb6cb1a606acb9f51d7424140c12632274a
-----Decoded View---------------
Arg [0] : taxWallet (address): 0xA79591467bbf2e878f30EA272c758Cdfa47D6222
Arg [1] : revShare (address): 0x755e3Fb6cB1a606ACb9f51D7424140c12632274a
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000a79591467bbf2e878f30ea272c758cdfa47d6222
Arg [1] : 000000000000000000000000755e3fb6cb1a606acb9f51d7424140c12632274a
Deployed Bytecode Sourcemap
3567:8995:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5881:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6719:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4827:62;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6158:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6888:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6067:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6266:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2650:148;;;;;;;;;;;;;:::i;:::-;;12048:170;;;;;;;;;;;;;:::i;:::-;;4904:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11004:809;;;;;;;;;;;;;:::i;:::-;;12230:292;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2436:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4974:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5972:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6393:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4744:68;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11821:219;;;;;;;;;;;;;:::i;:::-;;6568:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5881:83;5918:13;5951:5;;;;;;;;;;;;;;;;;5944:12;;5881:83;:::o;6719:161::-;6794:4;6811:39;6820:12;:10;:12::i;:::-;6834:7;6843:6;6811:8;:39::i;:::-;6868:4;6861:11;;6719:161;;;;:::o;4827:62::-;4581:2;4876;:13;;;;:::i;:::-;4866:7;:23;;;;:::i;:::-;4827:62;:::o;6158:100::-;6211:7;4581:2;4644;:13;;;;:::i;:::-;4630:11;:27;;;;:::i;:::-;6231:19;;6158:100;:::o;6888:313::-;6986:4;7003:36;7013:6;7021:9;7032:6;7003:9;:36::i;:::-;7050:121;7059:6;7067:12;:10;:12::i;:::-;7081:89;7119:6;7081:89;;;;;;;;;;;;;;;;;:11;:19;7093:6;7081:19;;;;;;;;;;;;;;;:33;7101:12;:10;:12::i;:::-;7081:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7050:8;:121::i;:::-;7189:4;7182:11;;6888:313;;;;;:::o;6067:83::-;6108:5;4581:2;6126:16;;6067:83;:::o;6266:119::-;6332:7;6359:9;:18;6369:7;6359:18;;;;;;;;;;;;;;;;6352:25;;6266:119;;;:::o;2650:148::-;2573:12;:10;:12::i;:::-;2563:22;;:6;;;;;;;;;;:22;;;2555:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2757:1:::1;2720:40;;2741:6;::::0;::::1;;;;;;;;2720:40;;;;;;;;;;;;2788:1;2771:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2650:148::o:0;12048:170::-;2573:12;:10;:12::i;:::-;2563:22;;:6;;;;;;;;;;:22;;;2555:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4581:2:::1;4644;:13;;;;:::i;:::-;4630:11;:27;;;;:::i;:::-;12103:12;:27;;;;4581:2;4644;:13;;;;:::i;:::-;4630:11;:27;;;;:::i;:::-;12141:14;:29;;;;12186:24;4581:2;4644;:13;;;;:::i;:::-;4630:11;:27;;;;:::i;:::-;12186:24;;;;;;:::i;:::-;;;;;;;;12048:170::o:0;4904:55::-;;;;:::o;11004:809::-;2573:12;:10;:12::i;:::-;2563:22;;:6;;;;;;;;;;:22;;;2555:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11066:11:::1;;;;;;;;;;;11065:12;11057:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;11111:19;11133:24;11151:4;11133:9;:24::i;:::-;11111:46;;11205:42;11168:15;;:80;;;;;;;;;;;;;;;;;;11259:63;11276:4;11291:15;;;;;;;;;;;4581:2;4644;:13;;;;:::i;:::-;4630:11;:27;;;;:::i;:::-;11259:8;:63::i;:::-;11381:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11349:83;;;11441:4;11462:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11349:146;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11333:13;;:162;;;;;;;;;;;;;;;;;;11506:15;;;;;;;;;;;:31;;;11545:21;11591:4;11611:11;11637:1;11653::::0;11669:12:::1;:10;:12::i;:::-;11696:15;11506:216;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11740:13;;;;;;;;;;;11733:29;;;11771:15;;;;;;;;;;;11789:14;11733:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11046:767;11004:809::o:0;12230:292::-;2573:12;:10;:12::i;:::-;2563:22;;:6;;;;;;;;;;:22;;;2555:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12342:1:::1;12329:9;:14;;:33;;;;;12361:1;12347:10;:15;;12329:33;:48;;;;;12366:11;;;;;;;;;;;12329:48;12321:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;12421:9;12406:12;:24;;;;12457:10;12441:13;:26;;;;12483:31;12492:9;12503:10;12483:31;;;;;;;:::i;:::-;;;;;;;;12230:292:::0;;:::o;2436:79::-;2474:7;2501:6;;;;;;;;;;;2494:13;;2436:79;:::o;4974:57::-;;;;:::o;5972:87::-;6011:13;6044:7;;;;;;;;;;;;;;;;;6037:14;;5972:87;:::o;6393:167::-;6471:4;6488:42;6498:12;:10;:12::i;:::-;6512:9;6523:6;6488:9;:42::i;:::-;6548:4;6541:11;;6393:167;;;;:::o;4744:68::-;4581:2;4799;:13;;;;:::i;:::-;4789:7;:23;;;;:::i;:::-;4744:68;:::o;11821:219::-;2573:12;:10;:12::i;:::-;2563:22;;:6;;;;;;;;;;:22;;;2555:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11884:11:::1;;;;;;;;;;;11883:12;11875:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;11944:4;11930:11;;:18;;;;;;;;;;;;;;;;;;11973:4;11959:11;;:18;;;;;;;;;;;;;;;;;;11993:39;12008:11;;;;;;;;;;;12020;;;;;;;;;;;11993:39;;;;;;;:::i;:::-;;;;;;;;11821:219::o:0;6568:143::-;6649:7;6676:11;:18;6688:5;6676:18;;;;;;;;;;;;;;;:27;6695:7;6676:27;;;;;;;;;;;;;;;;6669:34;;6568:143;;;;:::o;193:98::-;246:7;273:10;266:17;;193:98;:::o;7209:276::-;7319:1;7302:19;;:5;:19;;;;:44;;;;;7344:1;7325:21;;:7;:21;;;;7302:44;7294:88;;;;;;;;;;;;:::i;:::-;;;;;;;;;7423:6;7393:11;:18;7405:5;7393:18;;;;;;;;;;;;;;;:27;7412:7;7393:27;;;;;;;;;;;;;;;:36;;;;7461:7;7445:32;;7454:5;7445:32;;;7470:6;7445:32;;;;;;:::i;:::-;;;;;;;;7209:276;;;:::o;7493:2444::-;7597:1;7581:18;;:4;:18;;;;:38;;;;;7617:1;7603:16;;:2;:16;;;;7581:38;7573:83;;;;;;;;;;;;:::i;:::-;;;;;;;;;7684:1;7675:6;:10;7667:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7742:17;7786:7;:5;:7::i;:::-;7778:15;;:4;:15;;;;:32;;;;;7803:7;:5;:7::i;:::-;7797:13;;:2;:13;;;;7778:32;7774:1807;;;7834:11;;;;;;;;;;;7830:195;;7895:18;:22;7914:2;7895:22;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;7921:18;:24;7940:4;7921:24;;;;;;;;;;;;;;;;;;;;;;;;;7895:50;7865:144;;;;;;;;;;;;:::i;:::-;;;;;;;;;7830:195;8053:13;;;;;;;;;;;8045:21;;:4;:21;;;:55;;;;;8084:15;;;;;;;;;;;8070:30;;:2;:30;;;;8045:55;:83;;;;;8106:18;:22;8125:2;8106:22;;;;;;;;;;;;;;;;;;;;;;;;;8104:24;8045:83;8041:313;;;8168:12;;8158:6;:22;;8150:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8263:14;;8253:6;8237:13;8247:2;8237:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8229:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8327:9;;:11;;;;;;;;;:::i;:::-;;;;;;8041:313;8393:13;;;;;;;;;;;8387:19;;:2;:19;;;:43;;;;;8425:4;8410:20;;:4;:20;;;;8387:43;8382:362;;;8534:3;8463:70;4209:2;8475:9;;:26;8474:58;;4108:2;8474:58;;;8503:13;;8474:58;8463:6;:10;;:70;;;;:::i;:::-;:74;;;;:::i;:::-;8451:86;;8382:362;;;8589:13;;;;;;;;;;;8581:21;;:4;:21;;;:43;;;;;8619:4;8606:18;;:2;:18;;;;8581:43;8577:167;;;8725:3;8657:67;4158:2;8669:9;;:25;8668:55;;4058:2;8668:55;;;8696:12;;8668:55;8657:6;:10;;:67;;;;:::i;:::-;:71;;;;:::i;:::-;8645:83;;8577:167;8382:362;8773:9;8760;;:22;;;;;;;:::i;:::-;;;;;;;;8797:28;8828:24;8846:4;8828:9;:24::i;:::-;8797:55;;8890:6;;;;;;;;;;;8889:7;:48;;;;;8924:13;;;;;;;;;;;8918:19;;:2;:19;;;8889:48;:81;;;;;8959:11;;;;;;;;;;;8889:81;:143;;;;;4581:2;4799;:13;;;;:::i;:::-;4789:7;:23;;;;:::i;:::-;8992:20;:40;8889:143;:195;;;;;4262:2;9054:9;;:30;8889:195;:241;;;;;4581:2;4714;:13;;;;:::i;:::-;4705:6;:22;;;;:::i;:::-;9105:9;;:25;8889:241;8867:703;;;9164:19;4581:2;4876;:13;;;;:::i;:::-;4866:7;:23;;;;:::i;:::-;9187:20;:34;9186:69;;9235:20;9186:69;;;4581:2;4876;:13;;;;:::i;:::-;4866:7;:23;;;;:::i;:::-;9186:69;9164:91;;9274:59;9301:11;9292:6;:20;9291:41;;9326:6;9291:41;;;9314:11;9291:41;9274:16;:59::i;:::-;9352:26;9381:21;9352:50;;9445:1;9424:18;:22;9421:102;;;9471:32;9484:18;9471:12;:32::i;:::-;9421:102;9553:1;9541:9;:13;;;;9145:425;;8867:703;7812:1769;7774:1807;9606:1;9596:9;:11;9593:161;;;9646:39;9675:9;9646;:24;9664:4;9646:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9621:9;:24;9639:4;9621:24;;;;;;;;;;;;;;;:64;;;;9726:4;9703:39;;9712:4;9703:39;;;9732:9;9703:39;;;;;;:::i;:::-;;;;;;;;9593:161;9780:27;9800:6;9780:9;:15;9790:4;9780:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9764:9;:15;9774:4;9764:15;;;;;;;;;;;;;;;:43;;;;9832:40;9850:21;9861:9;9850:6;:10;;:21;;;;:::i;:::-;9832:9;:13;9842:2;9832:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;9818:9;:13;9828:2;9818:13;;;;;;;;;;;;;;;:54;;;;9903:2;9888:41;;9897:4;9888:41;;;9907:21;9918:9;9907:6;:10;;:21;;;;:::i;:::-;9888:41;;;;;;:::i;:::-;;;;;;;;7562:2375;7493:2444;;;:::o;1330:190::-;1416:7;1449:1;1444;:6;;1452:12;1436:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1476:9;1492:1;1488;:5;;;;:::i;:::-;1476:17;;1511:1;1504:8;;;1330:190;;;;;:::o;1528:246::-;1586:7;1615:1;1610;:6;1606:47;;1640:1;1633:8;;;;1606:47;1663:9;1679:1;1675;:5;;;;:::i;:::-;1663:17;;1708:1;1703;1699;:5;;;;:::i;:::-;:10;1691:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1765:1;1758:8;;;1528:246;;;;;:::o;10513:483::-;5360:4;5351:6;;:13;;;;;;;;;;;;;;;;;;10591:21:::1;10629:1;10615:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10591:40;;10660:4;10642;10647:1;10642:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10686:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10676:4;10681:1;10676:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10719:62;10736:4;10751:15;;;;;;;;;;;10769:11;10719:8;:62::i;:::-;10792:15;;;;;;;;;;;:66;;;10873:11;10899:1;10915:4;10942;10962:15;10792:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10580:416;5396:5:::0;5387:6;;:14;;;;;;;;;;;;;;;;;;10513:483;:::o;9945:560::-;10002:11;4158:2;10017:9;;:27;10016:61;;4058:2;10016:61;;;10048:12;;10016:61;10002:75;;10088:17;10116:22;10162:12;;10155:3;:19;10151:259;;10216:1;10212;10203:6;:10;;;;:::i;:::-;:14;;;;:::i;:::-;10191:26;;10262:1;10258;10249:6;:10;;;;:::i;:::-;:14;;;;:::i;:::-;10232:31;;10151:259;;;4058:2;10285:3;:21;10281:129;;10349:2;10344;10335:6;:11;;;;:::i;:::-;:16;;;;:::i;:::-;10323:28;;10396:2;10392:1;10383:6;:10;;;;:::i;:::-;:15;;;;:::i;:::-;10366:32;;10281:129;10151:259;10422:10;;;;;;;;;;;:19;;:30;10442:9;10422:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10463:9;;;;;;;;;;;:18;;:34;10482:14;10463:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9991:514;;;9945:560;:::o;999:179::-;1057:7;1077:9;1093:1;1089;:5;;;;:::i;:::-;1077:17;;1118:1;1113;:6;;1105:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1169:1;1162:8;;;999:179;;;;:::o;1186:136::-;1244:7;1271:43;1275:1;1278;1271:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1264:50;;1186:136;;;;:::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:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:474::-;5256:6;5264;5313:2;5301:9;5292:7;5288:23;5284:32;5281:119;;;5319:79;;:::i;:::-;5281:119;5439:1;5464:53;5509:7;5500:6;5489:9;5485:22;5464:53;:::i;:::-;5454:63;;5410:117;5566:2;5592:53;5637:7;5628:6;5617:9;5613:22;5592:53;:::i;:::-;5582:63;;5537:118;5188:474;;;;;:::o;5668:118::-;5755:24;5773:5;5755:24;:::i;:::-;5750:3;5743:37;5668:118;;:::o;5792:222::-;5885:4;5923:2;5912:9;5908:18;5900:26;;5936:71;6004:1;5993:9;5989:17;5980:6;5936:71;:::i;:::-;5792:222;;;;:::o;6020:474::-;6088:6;6096;6145:2;6133:9;6124:7;6120:23;6116:32;6113:119;;;6151:79;;:::i;:::-;6113:119;6271:1;6296:53;6341:7;6332:6;6321:9;6317:22;6296:53;:::i;:::-;6286:63;;6242:117;6398:2;6424:53;6469:7;6460:6;6449:9;6445:22;6424:53;:::i;:::-;6414:63;;6369:118;6020:474;;;;;:::o;6500:180::-;6548:77;6545:1;6538:88;6645:4;6642:1;6635:15;6669:4;6666:1;6659:15;6686:102;6728:8;6775:5;6772:1;6768:13;6747:34;;6686:102;;;:::o;6794:848::-;6855:5;6862:4;6886:6;6877:15;;6910:5;6901:14;;6924:712;6945:1;6935:8;6932:15;6924:712;;;7040:4;7035:3;7031:14;7025:4;7022:24;7019:50;;;7049:18;;:::i;:::-;7019:50;7099:1;7089:8;7085:16;7082:451;;;7514:4;7507:5;7503:16;7494:25;;7082:451;7564:4;7558;7554:15;7546:23;;7594:32;7617:8;7594:32;:::i;:::-;7582:44;;6924:712;;;6794:848;;;;;;;:::o;7648:1073::-;7702:5;7893:8;7883:40;;7914:1;7905:10;;7916:5;;7883:40;7942:4;7932:36;;7959:1;7950:10;;7961:5;;7932:36;8028:4;8076:1;8071:27;;;;8112:1;8107:191;;;;8021:277;;8071:27;8089:1;8080:10;;8091:5;;;8107:191;8152:3;8142:8;8139:17;8136:43;;;8159:18;;:::i;:::-;8136:43;8208:8;8205:1;8201:16;8192:25;;8243:3;8236:5;8233:14;8230:40;;;8250:18;;:::i;:::-;8230:40;8283:5;;;8021:277;;8407:2;8397:8;8394:16;8388:3;8382:4;8379:13;8375:36;8357:2;8347:8;8344:16;8339:2;8333:4;8330:12;8326:35;8310:111;8307:246;;;8463:8;8457:4;8453:19;8444:28;;8498:3;8491:5;8488:14;8485:40;;;8505:18;;:::i;:::-;8485:40;8538:5;;8307:246;8578:42;8616:3;8606:8;8600:4;8597:1;8578:42;:::i;:::-;8563:57;;;;8652:4;8647:3;8643:14;8636:5;8633:25;8630:51;;;8661:18;;:::i;:::-;8630:51;8710:4;8703:5;8699:16;8690:25;;7648:1073;;;;;;:::o;8727:281::-;8785:5;8809:23;8827:4;8809:23;:::i;:::-;8801:31;;8853:25;8869:8;8853:25;:::i;:::-;8841:37;;8897:104;8934:66;8924:8;8918:4;8897:104;:::i;:::-;8888:113;;8727:281;;;;:::o;9014:410::-;9054:7;9077:20;9095:1;9077:20;:::i;:::-;9072:25;;9111:20;9129:1;9111:20;:::i;:::-;9106:25;;9166:1;9163;9159:9;9188:30;9206:11;9188:30;:::i;:::-;9177:41;;9367:1;9358:7;9354:15;9351:1;9348:22;9328:1;9321:9;9301:83;9278:139;;9397:18;;:::i;:::-;9278:139;9062:362;9014:410;;;;:::o;9430:182::-;9570:34;9566:1;9558:6;9554:14;9547:58;9430:182;:::o;9618:366::-;9760:3;9781:67;9845:2;9840:3;9781:67;:::i;:::-;9774:74;;9857:93;9946:3;9857:93;:::i;:::-;9975:2;9970:3;9966:12;9959:19;;9618:366;;;:::o;9990:419::-;10156:4;10194:2;10183:9;10179:18;10171:26;;10243:9;10237:4;10233:20;10229:1;10218:9;10214:17;10207:47;10271:131;10397:4;10271:131;:::i;:::-;10263:139;;9990:419;;;:::o;10415:169::-;10555:21;10551:1;10543:6;10539:14;10532:45;10415:169;:::o;10590:366::-;10732:3;10753:67;10817:2;10812:3;10753:67;:::i;:::-;10746:74;;10829:93;10918:3;10829:93;:::i;:::-;10947:2;10942:3;10938:12;10931:19;;10590:366;;;:::o;10962:419::-;11128:4;11166:2;11155:9;11151:18;11143:26;;11215:9;11209:4;11205:20;11201:1;11190:9;11186:17;11179:47;11243:131;11369:4;11243:131;:::i;:::-;11235:139;;10962:419;;;:::o;11387:143::-;11444:5;11475:6;11469:13;11460:22;;11491:33;11518:5;11491:33;:::i;:::-;11387:143;;;;:::o;11536:351::-;11606:6;11655:2;11643:9;11634:7;11630:23;11626:32;11623:119;;;11661:79;;:::i;:::-;11623:119;11781:1;11806:64;11862:7;11853:6;11842:9;11838:22;11806:64;:::i;:::-;11796:74;;11752:128;11536:351;;;;:::o;11893:332::-;12014:4;12052:2;12041:9;12037:18;12029:26;;12065:71;12133:1;12122:9;12118:17;12109:6;12065:71;:::i;:::-;12146:72;12214:2;12203:9;12199:18;12190:6;12146:72;:::i;:::-;11893:332;;;;;:::o;12231:85::-;12276:7;12305:5;12294:16;;12231:85;;;:::o;12322:60::-;12350:3;12371:5;12364:12;;12322:60;;;:::o;12388:158::-;12446:9;12479:61;12497:42;12506:32;12532:5;12506:32;:::i;:::-;12497:42;:::i;:::-;12479:61;:::i;:::-;12466:74;;12388:158;;;:::o;12552:147::-;12647:45;12686:5;12647:45;:::i;:::-;12642:3;12635:58;12552:147;;:::o;12705:807::-;12954:4;12992:3;12981:9;12977:19;12969:27;;13006:71;13074:1;13063:9;13059:17;13050:6;13006:71;:::i;:::-;13087:72;13155:2;13144:9;13140:18;13131:6;13087:72;:::i;:::-;13169:80;13245:2;13234:9;13230:18;13221:6;13169:80;:::i;:::-;13259;13335:2;13324:9;13320:18;13311:6;13259:80;:::i;:::-;13349:73;13417:3;13406:9;13402:19;13393:6;13349:73;:::i;:::-;13432;13500:3;13489:9;13485:19;13476:6;13432:73;:::i;:::-;12705:807;;;;;;;;;:::o;13518:143::-;13575:5;13606:6;13600:13;13591:22;;13622:33;13649:5;13622:33;:::i;:::-;13518:143;;;;:::o;13667:663::-;13755:6;13763;13771;13820:2;13808:9;13799:7;13795:23;13791:32;13788:119;;;13826:79;;:::i;:::-;13788:119;13946:1;13971:64;14027:7;14018:6;14007:9;14003:22;13971:64;:::i;:::-;13961:74;;13917:128;14084:2;14110:64;14166:7;14157:6;14146:9;14142:22;14110:64;:::i;:::-;14100:74;;14055:129;14223:2;14249:64;14305:7;14296:6;14285:9;14281:22;14249:64;:::i;:::-;14239:74;;14194:129;13667:663;;;;;:::o;14336:332::-;14457:4;14495:2;14484:9;14480:18;14472:26;;14508:71;14576:1;14565:9;14561:17;14552:6;14508:71;:::i;:::-;14589:72;14657:2;14646:9;14642:18;14633:6;14589:72;:::i;:::-;14336:332;;;;;:::o;14674:116::-;14744:21;14759:5;14744:21;:::i;:::-;14737:5;14734:32;14724:60;;14780:1;14777;14770:12;14724:60;14674:116;:::o;14796:137::-;14850:5;14881:6;14875:13;14866:22;;14897:30;14921:5;14897:30;:::i;:::-;14796:137;;;;:::o;14939:345::-;15006:6;15055:2;15043:9;15034:7;15030:23;15026:32;15023:119;;;15061:79;;:::i;:::-;15023:119;15181:1;15206:61;15259:7;15250:6;15239:9;15235:22;15206:61;:::i;:::-;15196:71;;15152:125;14939:345;;;;:::o;15290:163::-;15430:15;15426:1;15418:6;15414:14;15407:39;15290:163;:::o;15459:366::-;15601:3;15622:67;15686:2;15681:3;15622:67;:::i;:::-;15615:74;;15698:93;15787:3;15698:93;:::i;:::-;15816:2;15811:3;15807:12;15800:19;;15459:366;;;:::o;15831:419::-;15997:4;16035:2;16024:9;16020:18;16012:26;;16084:9;16078:4;16074:20;16070:1;16059:9;16055:17;16048:47;16112:131;16238:4;16112:131;:::i;:::-;16104:139;;15831:419;;;:::o;16256:332::-;16377:4;16415:2;16404:9;16400:18;16392:26;;16428:71;16496:1;16485:9;16481:17;16472:6;16428:71;:::i;:::-;16509:72;16577:2;16566:9;16562:18;16553:6;16509:72;:::i;:::-;16256:332;;;;;:::o;16594:170::-;16734:22;16730:1;16722:6;16718:14;16711:46;16594:170;:::o;16770:366::-;16912:3;16933:67;16997:2;16992:3;16933:67;:::i;:::-;16926:74;;17009:93;17098:3;17009:93;:::i;:::-;17127:2;17122:3;17118:12;17111:19;;16770:366;;;:::o;17142:419::-;17308:4;17346:2;17335:9;17331:18;17323:26;;17395:9;17389:4;17385:20;17381:1;17370:9;17366:17;17359:47;17423:131;17549:4;17423:131;:::i;:::-;17415:139;;17142:419;;;:::o;17567:308::-;17676:4;17714:2;17703:9;17699:18;17691:26;;17727:65;17789:1;17778:9;17774:17;17765:6;17727:65;:::i;:::-;17802:66;17864:2;17853:9;17849:18;17840:6;17802:66;:::i;:::-;17567:308;;;;;:::o;17881:181::-;18021:33;18017:1;18009:6;18005:14;17998:57;17881:181;:::o;18068:366::-;18210:3;18231:67;18295:2;18290:3;18231:67;:::i;:::-;18224:74;;18307:93;18396:3;18307:93;:::i;:::-;18425:2;18420:3;18416:12;18409:19;;18068:366;;;:::o;18440:419::-;18606:4;18644:2;18633:9;18629:18;18621:26;;18693:9;18687:4;18683:20;18679:1;18668:9;18664:17;18657:47;18721:131;18847:4;18721:131;:::i;:::-;18713:139;;18440:419;;;:::o;18865:182::-;19005:34;19001:1;18993:6;18989:14;18982:58;18865:182;:::o;19053:366::-;19195:3;19216:67;19280:2;19275:3;19216:67;:::i;:::-;19209:74;;19292:93;19381:3;19292:93;:::i;:::-;19410:2;19405:3;19401:12;19394:19;;19053:366;;;:::o;19425:419::-;19591:4;19629:2;19618:9;19614:18;19606:26;;19678:9;19672:4;19668:20;19664:1;19653:9;19649:17;19642:47;19706:131;19832:4;19706:131;:::i;:::-;19698:139;;19425:419;;;:::o;19850:228::-;19990:34;19986:1;19978:6;19974:14;19967:58;20059:11;20054:2;20046:6;20042:15;20035:36;19850:228;:::o;20084:366::-;20226:3;20247:67;20311:2;20306:3;20247:67;:::i;:::-;20240:74;;20323:93;20412:3;20323:93;:::i;:::-;20441:2;20436:3;20432:12;20425:19;;20084:366;;;:::o;20456:419::-;20622:4;20660:2;20649:9;20645:18;20637:26;;20709:9;20703:4;20699:20;20695:1;20684:9;20680:17;20673:47;20737:131;20863:4;20737:131;:::i;:::-;20729:139;;20456:419;;;:::o;20881:170::-;21021:22;21017:1;21009:6;21005:14;20998:46;20881:170;:::o;21057:366::-;21199:3;21220:67;21284:2;21279:3;21220:67;:::i;:::-;21213:74;;21296:93;21385:3;21296:93;:::i;:::-;21414:2;21409:3;21405:12;21398:19;;21057:366;;;:::o;21429:419::-;21595:4;21633:2;21622:9;21618:18;21610:26;;21682:9;21676:4;21672:20;21668:1;21657:9;21653:17;21646:47;21710:131;21836:4;21710:131;:::i;:::-;21702:139;;21429:419;;;:::o;21854:175::-;21994:27;21990:1;21982:6;21978:14;21971:51;21854:175;:::o;22035:366::-;22177:3;22198:67;22262:2;22257:3;22198:67;:::i;:::-;22191:74;;22274:93;22363:3;22274:93;:::i;:::-;22392:2;22387:3;22383:12;22376:19;;22035:366;;;:::o;22407:419::-;22573:4;22611:2;22600:9;22596:18;22588:26;;22660:9;22654:4;22650:20;22646:1;22635:9;22631:17;22624:47;22688:131;22814:4;22688:131;:::i;:::-;22680:139;;22407:419;;;:::o;22832:191::-;22872:3;22891:20;22909:1;22891:20;:::i;:::-;22886:25;;22925:20;22943:1;22925:20;:::i;:::-;22920:25;;22968:1;22965;22961:9;22954:16;;22989:3;22986:1;22983:10;22980:36;;;22996:18;;:::i;:::-;22980:36;22832:191;;;;:::o;23029:176::-;23169:28;23165:1;23157:6;23153:14;23146:52;23029:176;:::o;23211:366::-;23353:3;23374:67;23438:2;23433:3;23374:67;:::i;:::-;23367:74;;23450:93;23539:3;23450:93;:::i;:::-;23568:2;23563:3;23559:12;23552:19;;23211:366;;;:::o;23583:419::-;23749:4;23787:2;23776:9;23772:18;23764:26;;23836:9;23830:4;23826:20;23822:1;23811:9;23807:17;23800:47;23864:131;23990:4;23864:131;:::i;:::-;23856:139;;23583:419;;;:::o;24008:233::-;24047:3;24070:24;24088:5;24070:24;:::i;:::-;24061:33;;24116:66;24109:5;24106:77;24103:103;;24186:18;;:::i;:::-;24103:103;24233:1;24226:5;24222:13;24215:20;;24008:233;;;:::o;24247:180::-;24295:77;24292:1;24285:88;24392:4;24389:1;24382:15;24416:4;24413:1;24406:15;24433:185;24473:1;24490:20;24508:1;24490:20;:::i;:::-;24485:25;;24524:20;24542:1;24524:20;:::i;:::-;24519:25;;24563:1;24553:35;;24568:18;;:::i;:::-;24553:35;24610:1;24607;24603:9;24598:14;;24433:185;;;;:::o;24624:194::-;24664:4;24684:20;24702:1;24684:20;:::i;:::-;24679:25;;24718:20;24736:1;24718:20;:::i;:::-;24713:25;;24762:1;24759;24755:9;24747:17;;24786:1;24780:4;24777:11;24774:37;;;24791:18;;:::i;:::-;24774:37;24624:194;;;;:::o;24824:220::-;24964:34;24960:1;24952:6;24948:14;24941:58;25033:3;25028:2;25020:6;25016:15;25009:28;24824:220;:::o;25050:366::-;25192:3;25213:67;25277:2;25272:3;25213:67;:::i;:::-;25206:74;;25289:93;25378:3;25289:93;:::i;:::-;25407:2;25402:3;25398:12;25391:19;;25050:366;;;:::o;25422:419::-;25588:4;25626:2;25615:9;25611:18;25603:26;;25675:9;25669:4;25665:20;25661:1;25650:9;25646:17;25639:47;25703:131;25829:4;25703:131;:::i;:::-;25695:139;;25422:419;;;:::o;25847:180::-;25895:77;25892:1;25885:88;25992:4;25989:1;25982:15;26016:4;26013:1;26006:15;26033:180;26081:77;26078:1;26071:88;26178:4;26175:1;26168:15;26202:4;26199:1;26192:15;26219:114;26286:6;26320:5;26314:12;26304:22;;26219:114;;;:::o;26339:184::-;26438:11;26472:6;26467:3;26460:19;26512:4;26507:3;26503:14;26488:29;;26339:184;;;;:::o;26529:132::-;26596:4;26619:3;26611:11;;26649:4;26644:3;26640:14;26632:22;;26529:132;;;:::o;26667:108::-;26744:24;26762:5;26744:24;:::i;:::-;26739:3;26732:37;26667:108;;:::o;26781:179::-;26850:10;26871:46;26913:3;26905:6;26871:46;:::i;:::-;26949:4;26944:3;26940:14;26926:28;;26781:179;;;;:::o;26966:113::-;27036:4;27068;27063:3;27059:14;27051:22;;26966:113;;;:::o;27115:732::-;27234:3;27263:54;27311:5;27263:54;:::i;:::-;27333:86;27412:6;27407:3;27333:86;:::i;:::-;27326:93;;27443:56;27493:5;27443:56;:::i;:::-;27522:7;27553:1;27538:284;27563:6;27560:1;27557:13;27538:284;;;27639:6;27633:13;27666:63;27725:3;27710:13;27666:63;:::i;:::-;27659:70;;27752:60;27805:6;27752:60;:::i;:::-;27742:70;;27598:224;27585:1;27582;27578:9;27573:14;;27538:284;;;27542:14;27838:3;27831:10;;27239:608;;;27115:732;;;;:::o;27853:831::-;28116:4;28154:3;28143:9;28139:19;28131:27;;28168:71;28236:1;28225:9;28221:17;28212:6;28168:71;:::i;:::-;28249:80;28325:2;28314:9;28310:18;28301:6;28249:80;:::i;:::-;28376:9;28370:4;28366:20;28361:2;28350:9;28346:18;28339:48;28404:108;28507:4;28498:6;28404:108;:::i;:::-;28396:116;;28522:72;28590:2;28579:9;28575:18;28566:6;28522:72;:::i;:::-;28604:73;28672:3;28661:9;28657:19;28648:6;28604:73;:::i;:::-;27853:831;;;;;;;;:::o;28690:177::-;28830:29;28826:1;28818:6;28814:14;28807:53;28690:177;:::o;28873:366::-;29015:3;29036:67;29100:2;29095:3;29036:67;:::i;:::-;29029:74;;29112:93;29201:3;29112:93;:::i;:::-;29230:2;29225:3;29221:12;29214:19;;28873:366;;;:::o;29245:419::-;29411:4;29449:2;29438:9;29434:18;29426:26;;29498:9;29492:4;29488:20;29484:1;29473:9;29469:17;29462:47;29526:131;29652:4;29526:131;:::i;:::-;29518:139;;29245:419;;;:::o
Swarm Source
ipfs://bd4f691d0ea8451baab14035e453f7145f51c5a5fb0e1c11e3dfe204d1df745d
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.