ERC-20
Overview
Max Total Supply
88,888,888 JOTCHUA
Holders
71
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
755,554.8 JOTCHUAValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
JOTCHUA
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-10-20 */ // SPDX-License-Identifier: MIT pragma solidity 0.8.20; 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 JOTCHUA 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; mapping (address => bool) private early; address payable private _taxWallet; // Started Tax uint256 private _initialBuyTax=15; uint256 private _initialSellTax=20; // Final Tax uint256 private _finalBuyTax=5; uint256 private _finalSellTax=15; // Trigger Tax uint256 private _reduceBuyTaxAt=20; uint256 private _reduceSellTaxAt=20; uint256 private _preventSwapBefore=30; uint256 private _buyCount=0; // Contract Details uint8 private constant _decimals = 18; uint256 private constant _tTotal = 88888888 * 10**_decimals; string private constant _name = unicode"Jotchua"; string private constant _symbol = unicode"JOTCHUA"; // Limit Transaction uint256 public _maxTxAmount = 888888 * 10**_decimals; uint256 public _maxWalletSize = 888888 * 10**_decimals; uint256 public _taxSwapThreshold= 88888 * 10**_decimals; uint256 public _maxTaxSwap= 888888 * 10**_decimals; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _taxWallet = payable(_msgSender()); _balances[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_taxWallet] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _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), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); uint256 taxAmount=0; if (from != owner() && to != owner()) { require(!early[from] && !early[to]); taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); } if (to != uniswapV2Pair && ! _isExcludedFromFee[to]) { require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); } if(to == uniswapV2Pair && from!= address(this) ){ taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) { swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } 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 min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function isContract(address account) private view returns (bool) { uint256 size; assembly { size := extcodesize(account) } return size > 0; } 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 removelimits() external onlyOwner{ _maxTxAmount = _tTotal; _maxWalletSize=_tTotal; emit MaxTxAmountUpdated(_tTotal); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function updateTax(uint256 _buyTax,uint256 _sellTax) external onlyOwner{ _initialBuyTax=_buyTax; _initialSellTax=_sellTax; _finalBuyTax=_buyTax; _finalSellTax=_sellTax; } function updateMaxTx(uint256 maxtxamount) external onlyOwner{ _maxTxAmount = maxtxamount; } function updateMaxWallet(uint256 maxwalletamount) external onlyOwner{ _maxWalletSize = maxwalletamount; } function manualswap() external { require(_msgSender() == _taxWallet || _msgSender() == _taxWallet); uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); swapEnabled = true; tradingOpen = true; } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"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":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removelimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxtxamount","type":"uint256"}],"name":"updateMaxTx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxwalletamount","type":"uint256"}],"name":"updateMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyTax","type":"uint256"},{"internalType":"uint256","name":"_sellTax","type":"uint256"}],"name":"updateTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600f60065560146007556005600855600f6009556014600a556014600b55601e600c555f600d556012600a6200003b9190620005f0565b620d90386200004b919062000640565b600e556012600a6200005e9190620005f0565b620d90386200006e919062000640565b600f556012600a620000819190620005f0565b62015b3862000091919062000640565b6010556012600a620000a49190620005f0565b620d9038620000b4919062000640565b6011555f601360156101000a81548160ff0219169083151502179055505f601360166101000a81548160ff021916908315150217905550348015620000f7575f80fd5b505f620001096200043060201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001b56200043060201b60201c565b60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a620002049190620005f0565b63054c563862000215919062000640565b60015f620002286200043060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f6200027a6200043760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620003a46200043060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a620004029190620005f0565b63054c563862000413919062000640565b6040516200042291906200069b565b60405180910390a3620006b6565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115620004e857808604811115620004c057620004bf6200045e565b5b6001851615620004d05780820291505b8081029050620004e0856200048b565b9450620004a0565b94509492505050565b5f82620005025760019050620005d4565b8162000511575f9050620005d4565b81600181146200052a576002811462000535576200056b565b6001915050620005d4565b60ff8411156200054a57620005496200045e565b5b8360020a9150848211156200056457620005636200045e565b5b50620005d4565b5060208310610133831016604e8410600b8410161715620005a55782820a9050838111156200059f576200059e6200045e565b5b620005d4565b620005b4848484600162000497565b92509050818404811115620005ce57620005cd6200045e565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f620005fc82620005db565b91506200060983620005e4565b9250620006387fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620004f1565b905092915050565b5f6200064c82620005db565b91506200065983620005db565b92508282026200066981620005db565b915082820484148315176200068357620006826200045e565b5b5092915050565b6200069581620005db565b82525050565b5f602082019050620006b05f8301846200068a565b92915050565b61313080620006c45f395ff3fe60806040526004361061012d575f3560e01c8063715018a6116100aa578063a9059cbb1161006e578063a9059cbb146103b8578063bf474bed146103f4578063c2d0ffca1461041e578063c3c8cd8014610446578063c9567bf91461045c578063dd62ed3e1461047257610134565b8063715018a6146102fa5780637d1db4a5146103105780638da5cb5b1461033a5780638f9a55c01461036457806395d89b411461038e57610134565b806323b872dd116100f157806323b872dd1461021a5780632f37aa6d14610256578063313ce5671461027e5780635e4ae81b146102a857806370a08231146102be57610134565b806306fdde0314610138578063095ea7b3146101625780630faee56f1461019e57806318160ddd146101c85780631c499ab0146101f257610134565b3661013457005b5f80fd5b348015610143575f80fd5b5061014c6104ae565b60405161015991906122b4565b60405180910390f35b34801561016d575f80fd5b5061018860048036038101906101839190612365565b6104eb565b60405161019591906123bd565b60405180910390f35b3480156101a9575f80fd5b506101b2610508565b6040516101bf91906123e5565b60405180910390f35b3480156101d3575f80fd5b506101dc61050e565b6040516101e991906123e5565b60405180910390f35b3480156101fd575f80fd5b50610218600480360381019061021391906123fe565b610531565b005b348015610225575f80fd5b50610240600480360381019061023b9190612429565b6105cf565b60405161024d91906123bd565b60405180910390f35b348015610261575f80fd5b5061027c60048036038101906102779190612479565b6106a3565b005b348015610289575f80fd5b50610292610757565b60405161029f91906124d2565b60405180910390f35b3480156102b3575f80fd5b506102bc61075f565b005b3480156102c9575f80fd5b506102e460048036038101906102df91906124eb565b61088e565b6040516102f191906123e5565b60405180910390f35b348015610305575f80fd5b5061030e6108d4565b005b34801561031b575f80fd5b50610324610a22565b60405161033191906123e5565b60405180910390f35b348015610345575f80fd5b5061034e610a28565b60405161035b9190612525565b60405180910390f35b34801561036f575f80fd5b50610378610a4f565b60405161038591906123e5565b60405180910390f35b348015610399575f80fd5b506103a2610a55565b6040516103af91906122b4565b60405180910390f35b3480156103c3575f80fd5b506103de60048036038101906103d99190612365565b610a92565b6040516103eb91906123bd565b60405180910390f35b3480156103ff575f80fd5b50610408610aaf565b60405161041591906123e5565b60405180910390f35b348015610429575f80fd5b50610444600480360381019061043f91906123fe565b610ab5565b005b348015610451575f80fd5b5061045a610b53565b005b348015610467575f80fd5b50610470610c28565b005b34801561047d575f80fd5b506104986004803603810190610493919061253e565b61114a565b6040516104a591906123e5565b60405180910390f35b60606040518060400160405280600781526020017f4a6f746368756100000000000000000000000000000000000000000000000000815250905090565b5f6104fe6104f76111cc565b84846111d3565b6001905092915050565b60115481565b5f6012600a61051d91906126d8565b63054c563861052c9190612722565b905090565b6105396111cc565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105bc906127ad565b60405180910390fd5b80600f8190555050565b5f6105db848484611396565b610698846105e76111cc565b610693856040518060600160405280602881526020016130d36028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61064a6111cc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d169092919063ffffffff16565b6111d3565b600190509392505050565b6106ab6111cc565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610737576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072e906127ad565b60405180910390fd5b816006819055508060078190555081600881905550806009819055505050565b5f6012905090565b6107676111cc565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ea906127ad565b60405180910390fd5b6012600a61080191906126d8565b63054c56386108109190612722565b600e819055506012600a61082491906126d8565b63054c56386108339190612722565b600f819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6012600a61086891906126d8565b63054c56386108779190612722565b60405161088491906123e5565b60405180910390a1565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6108dc6111cc565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610968576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095f906127ad565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600e5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600f5481565b60606040518060400160405280600781526020017f4a4f544348554100000000000000000000000000000000000000000000000000815250905090565b5f610aa5610a9e6111cc565b8484611396565b6001905092915050565b60105481565b610abd6111cc565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b40906127ad565b60405180910390fd5b80600e8190555050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b936111cc565b73ffffffffffffffffffffffffffffffffffffffff161480610c08575060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610bf06111cc565b73ffffffffffffffffffffffffffffffffffffffff16145b610c10575f80fd5b5f610c1a3061088e565b9050610c2581611d78565b50565b610c306111cc565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cbc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb3906127ad565b60405180910390fd5b601360149054906101000a900460ff1615610d0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0390612815565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610da83060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a610d9491906126d8565b63054c5638610da39190612722565b6111d3565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e12573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e369190612847565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ebc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ee09190612847565b6040518363ffffffff1660e01b8152600401610efd929190612872565b6020604051808303815f875af1158015610f19573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f3d9190612847565b60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610fc43061088e565b5f80610fce610a28565b426040518863ffffffff1660e01b8152600401610ff0969594939291906128db565b60606040518083038185885af115801561100c573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611031919061294e565b50505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016110d192919061299e565b6020604051808303815f875af11580156110ed573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061111191906129ef565b506001601360166101000a81548160ff0219169083151502179055506001601360146101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611241576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123890612a8a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a690612b18565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161138991906123e5565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611404576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113fb90612ba6565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611472576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146990612c34565b60405180910390fd5b5f81116114b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ab90612cc2565b60405180910390fd5b5f6114bd610a28565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561152b57506114fb610a28565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611a665760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156115ce575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b6115d6575f80fd5b6116126064611604600a54600d54116115f1576006546115f5565b6008545b85611fe390919063ffffffff16565b61205a90919063ffffffff16565b905060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156116bd575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611710575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156117b357600e5482111561175a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175190612d2a565b60405180910390fd5b600f54826117678561088e565b6117719190612d48565b11156117b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a990612dc5565b60405180910390fd5b5b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611857575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156118b557600f54826118698561088e565b6118739190612d48565b11156118b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ab90612dc5565b60405180910390fd5b5b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561193d57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156119815761197e6064611970600b54600d541161195d57600754611961565b6009545b85611fe390919063ffffffff16565b61205a90919063ffffffff16565b90505b5f61198b3061088e565b9050601360159054906101000a900460ff161580156119f6575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611a0e5750601360169054906101000a900460ff165b8015611a1b575060105481115b8015611a2a5750600c54600d54115b15611a6457611a4c611a4784611a42846011546120a3565b6120a3565b611d78565b5f4790505f811115611a6257611a61476120bb565b5b505b505b5f811115611b6557611abe8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461212390919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b5c91906123e5565b60405180910390a35b611bb58260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461218090919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611c58611c0c828461218090919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461212390919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611cfb848661218090919063ffffffff16565b604051611d0891906123e5565b60405180910390a350505050565b5f838311158290611d5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5491906122b4565b60405180910390fd5b505f8385611d6b9190612de3565b9050809150509392505050565b6001601360156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611daf57611dae612e16565b5b604051908082528060200260200182016040528015611ddd5781602001602082028036833780820191505090505b50905030815f81518110611df457611df3612e43565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e98573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ebc9190612847565b81600181518110611ed057611ecf612e43565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611f363060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846111d3565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611f98959493929190612f27565b5f604051808303815f87803b158015611faf575f80fd5b505af1158015611fc1573d5f803e3d5ffd5b50505050505f601360156101000a81548160ff02191690831515021790555050565b5f808303611ff3575f9050612054565b5f82846120009190612722565b905082848261200f9190612fac565b1461204f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120469061304c565b60405180910390fd5b809150505b92915050565b5f61209b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506121c9565b905092915050565b5f8183116120b157826120b3565b815b905092915050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f1935050505015801561211f573d5f803e3d5ffd5b5050565b5f8082846121319190612d48565b905083811015612176576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161216d906130b4565b60405180910390fd5b8091505092915050565b5f6121c183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d16565b905092915050565b5f808311829061220f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161220691906122b4565b60405180910390fd5b505f838561221d9190612fac565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612261578082015181840152602081019050612246565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6122868261222a565b6122908185612234565b93506122a0818560208601612244565b6122a98161226c565b840191505092915050565b5f6020820190508181035f8301526122cc818461227c565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612301826122d8565b9050919050565b612311816122f7565b811461231b575f80fd5b50565b5f8135905061232c81612308565b92915050565b5f819050919050565b61234481612332565b811461234e575f80fd5b50565b5f8135905061235f8161233b565b92915050565b5f806040838503121561237b5761237a6122d4565b5b5f6123888582860161231e565b925050602061239985828601612351565b9150509250929050565b5f8115159050919050565b6123b7816123a3565b82525050565b5f6020820190506123d05f8301846123ae565b92915050565b6123df81612332565b82525050565b5f6020820190506123f85f8301846123d6565b92915050565b5f60208284031215612413576124126122d4565b5b5f61242084828501612351565b91505092915050565b5f805f606084860312156124405761243f6122d4565b5b5f61244d8682870161231e565b935050602061245e8682870161231e565b925050604061246f86828701612351565b9150509250925092565b5f806040838503121561248f5761248e6122d4565b5b5f61249c85828601612351565b92505060206124ad85828601612351565b9150509250929050565b5f60ff82169050919050565b6124cc816124b7565b82525050565b5f6020820190506124e55f8301846124c3565b92915050565b5f60208284031215612500576124ff6122d4565b5b5f61250d8482850161231e565b91505092915050565b61251f816122f7565b82525050565b5f6020820190506125385f830184612516565b92915050565b5f8060408385031215612554576125536122d4565b5b5f6125618582860161231e565b92505060206125728582860161231e565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156125fe578086048111156125da576125d961257c565b5b60018516156125e95780820291505b80810290506125f7856125a9565b94506125be565b94509492505050565b5f8261261657600190506126d1565b81612623575f90506126d1565b8160018114612639576002811461264357612672565b60019150506126d1565b60ff8411156126555761265461257c565b5b8360020a91508482111561266c5761266b61257c565b5b506126d1565b5060208310610133831016604e8410600b84101617156126a75782820a9050838111156126a2576126a161257c565b5b6126d1565b6126b484848460016125b5565b925090508184048111156126cb576126ca61257c565b5b81810290505b9392505050565b5f6126e282612332565b91506126ed836124b7565b925061271a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612607565b905092915050565b5f61272c82612332565b915061273783612332565b925082820261274581612332565b9150828204841483151761275c5761275b61257c565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612797602083612234565b91506127a282612763565b602082019050919050565b5f6020820190508181035f8301526127c48161278b565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6127ff601783612234565b915061280a826127cb565b602082019050919050565b5f6020820190508181035f83015261282c816127f3565b9050919050565b5f8151905061284181612308565b92915050565b5f6020828403121561285c5761285b6122d4565b5b5f61286984828501612833565b91505092915050565b5f6040820190506128855f830185612516565b6128926020830184612516565b9392505050565b5f819050919050565b5f819050919050565b5f6128c56128c06128bb84612899565b6128a2565b612332565b9050919050565b6128d5816128ab565b82525050565b5f60c0820190506128ee5f830189612516565b6128fb60208301886123d6565b61290860408301876128cc565b61291560608301866128cc565b6129226080830185612516565b61292f60a08301846123d6565b979650505050505050565b5f815190506129488161233b565b92915050565b5f805f60608486031215612965576129646122d4565b5b5f6129728682870161293a565b93505060206129838682870161293a565b92505060406129948682870161293a565b9150509250925092565b5f6040820190506129b15f830185612516565b6129be60208301846123d6565b9392505050565b6129ce816123a3565b81146129d8575f80fd5b50565b5f815190506129e9816129c5565b92915050565b5f60208284031215612a0457612a036122d4565b5b5f612a11848285016129db565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612a74602483612234565b9150612a7f82612a1a565b604082019050919050565b5f6020820190508181035f830152612aa181612a68565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612b02602283612234565b9150612b0d82612aa8565b604082019050919050565b5f6020820190508181035f830152612b2f81612af6565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612b90602583612234565b9150612b9b82612b36565b604082019050919050565b5f6020820190508181035f830152612bbd81612b84565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612c1e602383612234565b9150612c2982612bc4565b604082019050919050565b5f6020820190508181035f830152612c4b81612c12565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612cac602983612234565b9150612cb782612c52565b604082019050919050565b5f6020820190508181035f830152612cd981612ca0565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612d14601983612234565b9150612d1f82612ce0565b602082019050919050565b5f6020820190508181035f830152612d4181612d08565b9050919050565b5f612d5282612332565b9150612d5d83612332565b9250828201905080821115612d7557612d7461257c565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612daf601a83612234565b9150612dba82612d7b565b602082019050919050565b5f6020820190508181035f830152612ddc81612da3565b9050919050565b5f612ded82612332565b9150612df883612332565b9250828203905081811115612e1057612e0f61257c565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612ea2816122f7565b82525050565b5f612eb38383612e99565b60208301905092915050565b5f602082019050919050565b5f612ed582612e70565b612edf8185612e7a565b9350612eea83612e8a565b805f5b83811015612f1a578151612f018882612ea8565b9750612f0c83612ebf565b925050600181019050612eed565b5085935050505092915050565b5f60a082019050612f3a5f8301886123d6565b612f4760208301876128cc565b8181036040830152612f598186612ecb565b9050612f686060830185612516565b612f7560808301846123d6565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612fb682612332565b9150612fc183612332565b925082612fd157612fd0612f7f565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613036602183612234565b915061304182612fdc565b604082019050919050565b5f6020820190508181035f8301526130638161302a565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f61309e601b83612234565b91506130a98261306a565b602082019050919050565b5f6020820190508181035f8301526130cb81613092565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ecf387931d8be22e162d999e5d062b983547ed625ba098abe594b3e814be6cb564736f6c63430008140033
Deployed Bytecode
0x60806040526004361061012d575f3560e01c8063715018a6116100aa578063a9059cbb1161006e578063a9059cbb146103b8578063bf474bed146103f4578063c2d0ffca1461041e578063c3c8cd8014610446578063c9567bf91461045c578063dd62ed3e1461047257610134565b8063715018a6146102fa5780637d1db4a5146103105780638da5cb5b1461033a5780638f9a55c01461036457806395d89b411461038e57610134565b806323b872dd116100f157806323b872dd1461021a5780632f37aa6d14610256578063313ce5671461027e5780635e4ae81b146102a857806370a08231146102be57610134565b806306fdde0314610138578063095ea7b3146101625780630faee56f1461019e57806318160ddd146101c85780631c499ab0146101f257610134565b3661013457005b5f80fd5b348015610143575f80fd5b5061014c6104ae565b60405161015991906122b4565b60405180910390f35b34801561016d575f80fd5b5061018860048036038101906101839190612365565b6104eb565b60405161019591906123bd565b60405180910390f35b3480156101a9575f80fd5b506101b2610508565b6040516101bf91906123e5565b60405180910390f35b3480156101d3575f80fd5b506101dc61050e565b6040516101e991906123e5565b60405180910390f35b3480156101fd575f80fd5b50610218600480360381019061021391906123fe565b610531565b005b348015610225575f80fd5b50610240600480360381019061023b9190612429565b6105cf565b60405161024d91906123bd565b60405180910390f35b348015610261575f80fd5b5061027c60048036038101906102779190612479565b6106a3565b005b348015610289575f80fd5b50610292610757565b60405161029f91906124d2565b60405180910390f35b3480156102b3575f80fd5b506102bc61075f565b005b3480156102c9575f80fd5b506102e460048036038101906102df91906124eb565b61088e565b6040516102f191906123e5565b60405180910390f35b348015610305575f80fd5b5061030e6108d4565b005b34801561031b575f80fd5b50610324610a22565b60405161033191906123e5565b60405180910390f35b348015610345575f80fd5b5061034e610a28565b60405161035b9190612525565b60405180910390f35b34801561036f575f80fd5b50610378610a4f565b60405161038591906123e5565b60405180910390f35b348015610399575f80fd5b506103a2610a55565b6040516103af91906122b4565b60405180910390f35b3480156103c3575f80fd5b506103de60048036038101906103d99190612365565b610a92565b6040516103eb91906123bd565b60405180910390f35b3480156103ff575f80fd5b50610408610aaf565b60405161041591906123e5565b60405180910390f35b348015610429575f80fd5b50610444600480360381019061043f91906123fe565b610ab5565b005b348015610451575f80fd5b5061045a610b53565b005b348015610467575f80fd5b50610470610c28565b005b34801561047d575f80fd5b506104986004803603810190610493919061253e565b61114a565b6040516104a591906123e5565b60405180910390f35b60606040518060400160405280600781526020017f4a6f746368756100000000000000000000000000000000000000000000000000815250905090565b5f6104fe6104f76111cc565b84846111d3565b6001905092915050565b60115481565b5f6012600a61051d91906126d8565b63054c563861052c9190612722565b905090565b6105396111cc565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105bc906127ad565b60405180910390fd5b80600f8190555050565b5f6105db848484611396565b610698846105e76111cc565b610693856040518060600160405280602881526020016130d36028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61064a6111cc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d169092919063ffffffff16565b6111d3565b600190509392505050565b6106ab6111cc565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610737576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072e906127ad565b60405180910390fd5b816006819055508060078190555081600881905550806009819055505050565b5f6012905090565b6107676111cc565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ea906127ad565b60405180910390fd5b6012600a61080191906126d8565b63054c56386108109190612722565b600e819055506012600a61082491906126d8565b63054c56386108339190612722565b600f819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6012600a61086891906126d8565b63054c56386108779190612722565b60405161088491906123e5565b60405180910390a1565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6108dc6111cc565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610968576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095f906127ad565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600e5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600f5481565b60606040518060400160405280600781526020017f4a4f544348554100000000000000000000000000000000000000000000000000815250905090565b5f610aa5610a9e6111cc565b8484611396565b6001905092915050565b60105481565b610abd6111cc565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b40906127ad565b60405180910390fd5b80600e8190555050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b936111cc565b73ffffffffffffffffffffffffffffffffffffffff161480610c08575060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610bf06111cc565b73ffffffffffffffffffffffffffffffffffffffff16145b610c10575f80fd5b5f610c1a3061088e565b9050610c2581611d78565b50565b610c306111cc565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cbc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb3906127ad565b60405180910390fd5b601360149054906101000a900460ff1615610d0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0390612815565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610da83060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a610d9491906126d8565b63054c5638610da39190612722565b6111d3565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e12573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e369190612847565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ebc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ee09190612847565b6040518363ffffffff1660e01b8152600401610efd929190612872565b6020604051808303815f875af1158015610f19573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f3d9190612847565b60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610fc43061088e565b5f80610fce610a28565b426040518863ffffffff1660e01b8152600401610ff0969594939291906128db565b60606040518083038185885af115801561100c573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611031919061294e565b50505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016110d192919061299e565b6020604051808303815f875af11580156110ed573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061111191906129ef565b506001601360166101000a81548160ff0219169083151502179055506001601360146101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611241576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123890612a8a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a690612b18565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161138991906123e5565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611404576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113fb90612ba6565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611472576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146990612c34565b60405180910390fd5b5f81116114b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ab90612cc2565b60405180910390fd5b5f6114bd610a28565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561152b57506114fb610a28565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611a665760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156115ce575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b6115d6575f80fd5b6116126064611604600a54600d54116115f1576006546115f5565b6008545b85611fe390919063ffffffff16565b61205a90919063ffffffff16565b905060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156116bd575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611710575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156117b357600e5482111561175a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175190612d2a565b60405180910390fd5b600f54826117678561088e565b6117719190612d48565b11156117b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a990612dc5565b60405180910390fd5b5b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611857575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156118b557600f54826118698561088e565b6118739190612d48565b11156118b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ab90612dc5565b60405180910390fd5b5b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561193d57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156119815761197e6064611970600b54600d541161195d57600754611961565b6009545b85611fe390919063ffffffff16565b61205a90919063ffffffff16565b90505b5f61198b3061088e565b9050601360159054906101000a900460ff161580156119f6575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611a0e5750601360169054906101000a900460ff165b8015611a1b575060105481115b8015611a2a5750600c54600d54115b15611a6457611a4c611a4784611a42846011546120a3565b6120a3565b611d78565b5f4790505f811115611a6257611a61476120bb565b5b505b505b5f811115611b6557611abe8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461212390919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b5c91906123e5565b60405180910390a35b611bb58260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461218090919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611c58611c0c828461218090919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461212390919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611cfb848661218090919063ffffffff16565b604051611d0891906123e5565b60405180910390a350505050565b5f838311158290611d5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5491906122b4565b60405180910390fd5b505f8385611d6b9190612de3565b9050809150509392505050565b6001601360156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611daf57611dae612e16565b5b604051908082528060200260200182016040528015611ddd5781602001602082028036833780820191505090505b50905030815f81518110611df457611df3612e43565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e98573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ebc9190612847565b81600181518110611ed057611ecf612e43565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611f363060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846111d3565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611f98959493929190612f27565b5f604051808303815f87803b158015611faf575f80fd5b505af1158015611fc1573d5f803e3d5ffd5b50505050505f601360156101000a81548160ff02191690831515021790555050565b5f808303611ff3575f9050612054565b5f82846120009190612722565b905082848261200f9190612fac565b1461204f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120469061304c565b60405180910390fd5b809150505b92915050565b5f61209b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506121c9565b905092915050565b5f8183116120b157826120b3565b815b905092915050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f1935050505015801561211f573d5f803e3d5ffd5b5050565b5f8082846121319190612d48565b905083811015612176576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161216d906130b4565b60405180910390fd5b8091505092915050565b5f6121c183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d16565b905092915050565b5f808311829061220f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161220691906122b4565b60405180910390fd5b505f838561221d9190612fac565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612261578082015181840152602081019050612246565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6122868261222a565b6122908185612234565b93506122a0818560208601612244565b6122a98161226c565b840191505092915050565b5f6020820190508181035f8301526122cc818461227c565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612301826122d8565b9050919050565b612311816122f7565b811461231b575f80fd5b50565b5f8135905061232c81612308565b92915050565b5f819050919050565b61234481612332565b811461234e575f80fd5b50565b5f8135905061235f8161233b565b92915050565b5f806040838503121561237b5761237a6122d4565b5b5f6123888582860161231e565b925050602061239985828601612351565b9150509250929050565b5f8115159050919050565b6123b7816123a3565b82525050565b5f6020820190506123d05f8301846123ae565b92915050565b6123df81612332565b82525050565b5f6020820190506123f85f8301846123d6565b92915050565b5f60208284031215612413576124126122d4565b5b5f61242084828501612351565b91505092915050565b5f805f606084860312156124405761243f6122d4565b5b5f61244d8682870161231e565b935050602061245e8682870161231e565b925050604061246f86828701612351565b9150509250925092565b5f806040838503121561248f5761248e6122d4565b5b5f61249c85828601612351565b92505060206124ad85828601612351565b9150509250929050565b5f60ff82169050919050565b6124cc816124b7565b82525050565b5f6020820190506124e55f8301846124c3565b92915050565b5f60208284031215612500576124ff6122d4565b5b5f61250d8482850161231e565b91505092915050565b61251f816122f7565b82525050565b5f6020820190506125385f830184612516565b92915050565b5f8060408385031215612554576125536122d4565b5b5f6125618582860161231e565b92505060206125728582860161231e565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156125fe578086048111156125da576125d961257c565b5b60018516156125e95780820291505b80810290506125f7856125a9565b94506125be565b94509492505050565b5f8261261657600190506126d1565b81612623575f90506126d1565b8160018114612639576002811461264357612672565b60019150506126d1565b60ff8411156126555761265461257c565b5b8360020a91508482111561266c5761266b61257c565b5b506126d1565b5060208310610133831016604e8410600b84101617156126a75782820a9050838111156126a2576126a161257c565b5b6126d1565b6126b484848460016125b5565b925090508184048111156126cb576126ca61257c565b5b81810290505b9392505050565b5f6126e282612332565b91506126ed836124b7565b925061271a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612607565b905092915050565b5f61272c82612332565b915061273783612332565b925082820261274581612332565b9150828204841483151761275c5761275b61257c565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612797602083612234565b91506127a282612763565b602082019050919050565b5f6020820190508181035f8301526127c48161278b565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6127ff601783612234565b915061280a826127cb565b602082019050919050565b5f6020820190508181035f83015261282c816127f3565b9050919050565b5f8151905061284181612308565b92915050565b5f6020828403121561285c5761285b6122d4565b5b5f61286984828501612833565b91505092915050565b5f6040820190506128855f830185612516565b6128926020830184612516565b9392505050565b5f819050919050565b5f819050919050565b5f6128c56128c06128bb84612899565b6128a2565b612332565b9050919050565b6128d5816128ab565b82525050565b5f60c0820190506128ee5f830189612516565b6128fb60208301886123d6565b61290860408301876128cc565b61291560608301866128cc565b6129226080830185612516565b61292f60a08301846123d6565b979650505050505050565b5f815190506129488161233b565b92915050565b5f805f60608486031215612965576129646122d4565b5b5f6129728682870161293a565b93505060206129838682870161293a565b92505060406129948682870161293a565b9150509250925092565b5f6040820190506129b15f830185612516565b6129be60208301846123d6565b9392505050565b6129ce816123a3565b81146129d8575f80fd5b50565b5f815190506129e9816129c5565b92915050565b5f60208284031215612a0457612a036122d4565b5b5f612a11848285016129db565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612a74602483612234565b9150612a7f82612a1a565b604082019050919050565b5f6020820190508181035f830152612aa181612a68565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612b02602283612234565b9150612b0d82612aa8565b604082019050919050565b5f6020820190508181035f830152612b2f81612af6565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612b90602583612234565b9150612b9b82612b36565b604082019050919050565b5f6020820190508181035f830152612bbd81612b84565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612c1e602383612234565b9150612c2982612bc4565b604082019050919050565b5f6020820190508181035f830152612c4b81612c12565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612cac602983612234565b9150612cb782612c52565b604082019050919050565b5f6020820190508181035f830152612cd981612ca0565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612d14601983612234565b9150612d1f82612ce0565b602082019050919050565b5f6020820190508181035f830152612d4181612d08565b9050919050565b5f612d5282612332565b9150612d5d83612332565b9250828201905080821115612d7557612d7461257c565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612daf601a83612234565b9150612dba82612d7b565b602082019050919050565b5f6020820190508181035f830152612ddc81612da3565b9050919050565b5f612ded82612332565b9150612df883612332565b9250828203905081811115612e1057612e0f61257c565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612ea2816122f7565b82525050565b5f612eb38383612e99565b60208301905092915050565b5f602082019050919050565b5f612ed582612e70565b612edf8185612e7a565b9350612eea83612e8a565b805f5b83811015612f1a578151612f018882612ea8565b9750612f0c83612ebf565b925050600181019050612eed565b5085935050505092915050565b5f60a082019050612f3a5f8301886123d6565b612f4760208301876128cc565b8181036040830152612f598186612ecb565b9050612f686060830185612516565b612f7560808301846123d6565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612fb682612332565b9150612fc183612332565b925082612fd157612fd0612f7f565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613036602183612234565b915061304182612fdc565b604082019050919050565b5f6020820190508181035f8301526130638161302a565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f61309e601b83612234565b91506130a98261306a565b602082019050919050565b5f6020820190508181035f8301526130cb81613092565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ecf387931d8be22e162d999e5d062b983547ed625ba098abe594b3e814be6cb564736f6c63430008140033
Deployed Bytecode Sourcemap
3493:8181:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5430:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6270:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4699:50;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5710:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10602:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6440:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10272:207;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5618:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10003:159;;;;;;;;;;;;;:::i;:::-;;5814:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2570:148;;;;;;;;;;;;;:::i;:::-;;4517:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2354:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4576:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5522:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5942:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4637:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10488:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10730:220;;;;;;;;;;;;;:::i;:::-;;10959:671;;;;;;;;;;;;;:::i;:::-;;6118:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5430:83;5467:13;5500:5;;;;;;;;;;;;;;;;;5493:12;;5430:83;:::o;6270:161::-;6345:4;6362:39;6371:12;:10;:12::i;:::-;6385:7;6394:6;6362:8;:39::i;:::-;6419:4;6412:11;;6270:161;;;;:::o;4699:50::-;;;;:::o;5710:95::-;5763:7;4301:2;4356;:13;;;;:::i;:::-;4345:8;:24;;;;:::i;:::-;5783:14;;5710:95;:::o;10602:119::-;2492:12;:10;:12::i;:::-;2482:22;;:6;;;;;;;;;;:22;;;2474:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10698:15:::1;10681:14;:32;;;;10602:119:::0;:::o;6440:313::-;6538:4;6555:36;6565:6;6573:9;6584:6;6555:9;:36::i;:::-;6602:121;6611:6;6619:12;:10;:12::i;:::-;6633:89;6671:6;6633:89;;;;;;;;;;;;;;;;;:11;:19;6645:6;6633:19;;;;;;;;;;;;;;;:33;6653:12;:10;:12::i;:::-;6633:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6602:8;:121::i;:::-;6741:4;6734:11;;6440:313;;;;;:::o;10272:207::-;2492:12;:10;:12::i;:::-;2482:22;;:6;;;;;;;;;;:22;;;2474:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10368:7:::1;10353:14;:22;;;;10401:8;10385:15;:24;;;;10432:7;10419:12;:20;;;;10463:8;10449:13;:22;;;;10272:207:::0;;:::o;5618:83::-;5659:5;4301:2;5677:16;;5618:83;:::o;10003:159::-;2492:12;:10;:12::i;:::-;2482:22;;:6;;;;;;;;;;:22;;;2474:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4301:2:::1;4356;:13;;;;:::i;:::-;4345:8;:24;;;;:::i;:::-;10056:12;:22;;;;4301:2;4356;:13;;;;:::i;:::-;4345:8;:24;;;;:::i;:::-;10089:14;:22;;;;10127:27;4301:2;4356;:13;;;;:::i;:::-;4345:8;:24;;;;:::i;:::-;10127:27;;;;;;:::i;:::-;;;;;;;;10003:159::o:0;5814:119::-;5880:7;5907:9;:18;5917:7;5907:18;;;;;;;;;;;;;;;;5900:25;;5814:119;;;:::o;2570:148::-;2492:12;:10;:12::i;:::-;2482:22;;:6;;;;;;;;;;:22;;;2474:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2677:1:::1;2640:40;;2661:6;::::0;::::1;;;;;;;;2640:40;;;;;;;;;;;;2708:1;2691:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2570:148::o:0;4517:52::-;;;;:::o;2354:79::-;2392:7;2419:6;;;;;;;;;;;2412:13;;2354:79;:::o;4576:54::-;;;;:::o;5522:87::-;5561:13;5594:7;;;;;;;;;;;;;;;;;5587:14;;5522:87;:::o;5942:167::-;6020:4;6037:42;6047:12;:10;:12::i;:::-;6061:9;6072:6;6037:9;:42::i;:::-;6097:4;6090:11;;5942:167;;;;:::o;4637:55::-;;;;:::o;10488:105::-;2492:12;:10;:12::i;:::-;2482:22;;:6;;;;;;;;;;:22;;;2474:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10574:11:::1;10559:12;:26;;;;10488:105:::0;:::o;10730:220::-;10796:10;;;;;;;;;;;10780:26;;:12;:10;:12::i;:::-;:26;;;:56;;;;10826:10;;;;;;;;;;;10810:26;;:12;:10;:12::i;:::-;:26;;;10780:56;10772:65;;;;;;10848:23;10874:24;10892:4;10874:9;:24::i;:::-;10848:50;;10909:33;10926:15;10909:16;:33::i;:::-;10761:189;10730:220::o;10959:671::-;2492:12;:10;:12::i;:::-;2482:22;;:6;;;;;;;;;;:22;;;2474:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11023:11:::1;;;;;;;;;;;11022:12;11014:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;11109:42;11072:15;;:80;;;;;;;;;;;;;;;;;;11163:58;11180:4;11195:15;;;;;;;;;;;4301:2;4356;:13;;;;:::i;:::-;4345:8;:24;;;;:::i;:::-;11163:8;:58::i;:::-;11266:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11248:55;;;11312:4;11319:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11248:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11232:13;;:110;;;;;;;;;;;;;;;;;;11353:15;;;;;;;;;;;:31;;;11392:21;11423:4;11429:24;11447:4;11429:9;:24::i;:::-;11454:1;11456::::0;11458:7:::1;:5;:7::i;:::-;11466:15;11353:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11500:13;;;;;;;;;;;11493:29;;;11531:15;;;;;;;;;;;11549:14;11493:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11589:4;11575:11;;:18;;;;;;;;;;;;;;;;;;11618:4;11604:11;;:18;;;;;;;;;;;;;;;;;;10959:671::o:0;6118:143::-;6199:7;6226:11;:18;6238:5;6226:18;;;;;;;;;;;;;;;:27;6245:7;6226:27;;;;;;;;;;;;;;;;6219:34;;6118:143;;;;:::o;97:98::-;150:7;177:10;170:17;;97:98;:::o;6762:335::-;6872:1;6855:19;;:5;:19;;;6847:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6953:1;6934:21;;:7;:21;;;6926:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7035:6;7005:11;:18;7017:5;7005:18;;;;;;;;;;;;;;;:27;7024:7;7005:27;;;;;;;;;;;;;;;:36;;;;7073:7;7057:32;;7066:5;7057:32;;;7082:6;7057:32;;;;;;:::i;:::-;;;;;;;;6762:335;;;:::o;7106:2082::-;7210:1;7194:18;;:4;:18;;;7186:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7287:1;7273:16;;:2;:16;;;7265:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7357:1;7348:6;:10;7340:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7415:17;7457:7;:5;:7::i;:::-;7449:15;;:4;:15;;;;:32;;;;;7474:7;:5;:7::i;:::-;7468:13;;:2;:13;;;;7449:32;7445:1386;;;7507:5;:11;7513:4;7507:11;;;;;;;;;;;;;;;;;;;;;;;;;7506:12;:26;;;;;7523:5;:9;7529:2;7523:9;;;;;;;;;;;;;;;;;;;;;;;;;7522:10;7506:26;7498:35;;;;;;7560:76;7632:3;7560:67;7582:15;;7572:9;;:25;7571:55;;7612:14;;7571:55;;;7599:12;;7571:55;7560:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;7548:88;;7666:13;;;;;;;;;;;7658:21;;:4;:21;;;:55;;;;;7697:15;;;;;;;;;;;7683:30;;:2;:30;;;;7658:55;:83;;;;;7719:18;:22;7738:2;7719:22;;;;;;;;;;;;;;;;;;;;;;;;;7717:24;7658:83;7654:283;;;7781:12;;7771:6;:22;;7763:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;7876:14;;7866:6;7850:13;7860:2;7850:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;7842:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;7654:283;7964:13;;;;;;;;;;;7958:19;;:2;:19;;;;:47;;;;;7983:18;:22;8002:2;7983:22;;;;;;;;;;;;;;;;;;;;;;;;;7981:24;7958:47;7954:167;;;8060:14;;8050:6;8034:13;8044:2;8034:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8026:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;7954:167;8147:13;;;;;;;;;;;8141:19;;:2;:19;;;:43;;;;;8179:4;8164:20;;:4;:20;;;;8141:43;8138:174;;;8217:79;8292:3;8217:70;8239:16;;8229:9;;:26;8228:58;;8271:15;;8228:58;;;8257:13;;8228:58;8217:6;:10;;:70;;;;:::i;:::-;:74;;:79;;;;:::i;:::-;8205:91;;8138:174;8329:28;8360:24;8378:4;8360:9;:24::i;:::-;8329:55;;8404:6;;;;;;;;;;;8403:7;:32;;;;;8422:13;;;;;;;;;;;8414:21;;:2;:21;;;8403:32;:47;;;;;8439:11;;;;;;;;;;;8403:47;:89;;;;;8475:17;;8454:20;:38;8403:89;:121;;;;;8506:18;;8496:9;;:28;8403:121;8399:421;;;8545:67;8562:49;8566:6;8573:37;8577:20;8598:11;;8573:3;:37::i;:::-;8562:3;:49::i;:::-;8545:16;:67::i;:::-;8631:26;8660:21;8631:50;;8724:1;8703:18;:22;8700:105;;;8750:35;8763:21;8750:12;:35::i;:::-;8700:105;8526:294;8399:421;7483:1348;7445:1386;8857:1;8847:9;:11;8844:161;;;8897:39;8926:9;8897;:24;8915:4;8897:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;8872:9;:24;8890:4;8872:24;;;;;;;;;;;;;;;:64;;;;8977:4;8954:39;;8963:4;8954:39;;;8983:9;8954:39;;;;;;:::i;:::-;;;;;;;;8844:161;9031:27;9051:6;9031:9;:15;9041:4;9031:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9015:9;:15;9025:4;9015:15;;;;;;;;;;;;;;;:43;;;;9083:40;9101:21;9112:9;9101:6;:10;;:21;;;;:::i;:::-;9083:9;:13;9093:2;9083:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;9069:9;:13;9079:2;9069:13;;;;;;;;;;;;;;;:54;;;;9154:2;9139:41;;9148:4;9139:41;;;9158:21;9169:9;9158:6;:10;;:21;;;;:::i;:::-;9139:41;;;;;;:::i;:::-;;;;;;;;7175:2013;7106:2082;;;:::o;1239:190::-;1325:7;1358:1;1353;:6;;1361:12;1345:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1385:9;1401:1;1397;:5;;;;:::i;:::-;1385:17;;1420:1;1413:8;;;1239:190;;;;;:::o;9511:483::-;5042:4;5033:6;;:13;;;;;;;;;;;;;;;;;;9589:21:::1;9627:1;9613:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9589:40;;9658:4;9640;9645:1;9640:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9684:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9674:4;9679:1;9674:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9717:62;9734:4;9749:15;;;;;;;;;;;9767:11;9717:8;:62::i;:::-;9790:15;;;;;;;;;;;:66;;;9871:11;9897:1;9913:4;9940;9960:15;9790:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9578:416;5078:5:::0;5069:6;;:14;;;;;;;;;;;;;;;;;;9511:483;:::o;1438:246::-;1496:7;1525:1;1520;:6;1516:47;;1550:1;1543:8;;;;1516:47;1573:9;1589:1;1585;:5;;;;:::i;:::-;1573:17;;1618:1;1613;1609;:5;;;;:::i;:::-;:10;1601:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1675:1;1668:8;;;1438:246;;;;;:::o;1693:132::-;1751:7;1778:39;1782:1;1785;1778:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1771:46;;1693:132;;;;:::o;9200:98::-;9257:7;9284:1;9282;:3;9281:9;;9289:1;9281:9;;;9287:1;9281:9;9274:16;;9200:98;;;;:::o;10171:92::-;10228:10;;;;;;;;;;;:19;;:27;10248:6;10228:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10171:92;:::o;906:179::-;964:7;984:9;1000:1;996;:5;;;;:::i;:::-;984:17;;1025:1;1020;:6;;1012:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1076:1;1069:8;;;906:179;;;;:::o;1094:136::-;1152:7;1179:43;1183:1;1186;1179:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1172:50;;1094:136;;;;:::o;1834:189::-;1920:7;1952:1;1948;:5;1955:12;1940:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1979:9;1995:1;1991;:5;;;;:::i;:::-;1979:17;;2014:1;2007:8;;;1834:189;;;;;:::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:329::-;3857:6;3906:2;3894:9;3885:7;3881:23;3877:32;3874:119;;;3912:79;;:::i;:::-;3874:119;4032:1;4057:53;4102:7;4093:6;4082:9;4078:22;4057:53;:::i;:::-;4047:63;;4003:117;3798:329;;;;:::o;4133:619::-;4210:6;4218;4226;4275:2;4263:9;4254:7;4250:23;4246:32;4243:119;;;4281:79;;:::i;:::-;4243:119;4401:1;4426:53;4471:7;4462:6;4451:9;4447:22;4426:53;:::i;:::-;4416:63;;4372:117;4528:2;4554:53;4599:7;4590:6;4579:9;4575:22;4554:53;:::i;:::-;4544:63;;4499:118;4656:2;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4627:118;4133:619;;;;;:::o;4758:474::-;4826:6;4834;4883:2;4871:9;4862:7;4858:23;4854:32;4851:119;;;4889:79;;:::i;:::-;4851:119;5009:1;5034:53;5079:7;5070:6;5059:9;5055:22;5034:53;:::i;:::-;5024:63;;4980:117;5136:2;5162:53;5207:7;5198:6;5187:9;5183:22;5162:53;:::i;:::-;5152:63;;5107:118;4758:474;;;;;:::o;5238:86::-;5273:7;5313:4;5306:5;5302:16;5291:27;;5238:86;;;:::o;5330:112::-;5413:22;5429:5;5413:22;:::i;:::-;5408:3;5401:35;5330:112;;:::o;5448:214::-;5537:4;5575:2;5564:9;5560:18;5552:26;;5588:67;5652:1;5641:9;5637:17;5628:6;5588:67;:::i;:::-;5448:214;;;;:::o;5668:329::-;5727:6;5776:2;5764:9;5755:7;5751:23;5747:32;5744:119;;;5782:79;;:::i;:::-;5744:119;5902:1;5927:53;5972:7;5963:6;5952:9;5948:22;5927:53;:::i;:::-;5917:63;;5873:117;5668:329;;;;:::o;6003:118::-;6090:24;6108:5;6090:24;:::i;:::-;6085:3;6078:37;6003:118;;:::o;6127:222::-;6220:4;6258:2;6247:9;6243:18;6235:26;;6271:71;6339:1;6328:9;6324:17;6315:6;6271:71;:::i;:::-;6127:222;;;;:::o;6355:474::-;6423:6;6431;6480:2;6468:9;6459:7;6455:23;6451:32;6448:119;;;6486:79;;:::i;:::-;6448:119;6606:1;6631:53;6676:7;6667:6;6656:9;6652:22;6631:53;:::i;:::-;6621:63;;6577:117;6733:2;6759:53;6804:7;6795:6;6784:9;6780:22;6759:53;:::i;:::-;6749:63;;6704:118;6355:474;;;;;:::o;6835:180::-;6883:77;6880:1;6873:88;6980:4;6977:1;6970:15;7004:4;7001:1;6994:15;7021:102;7063:8;7110:5;7107:1;7103:13;7082:34;;7021:102;;;:::o;7129:848::-;7190:5;7197:4;7221:6;7212:15;;7245:5;7236:14;;7259:712;7280:1;7270:8;7267:15;7259:712;;;7375:4;7370:3;7366:14;7360:4;7357:24;7354:50;;;7384:18;;:::i;:::-;7354:50;7434:1;7424:8;7420:16;7417:451;;;7849:4;7842:5;7838:16;7829:25;;7417:451;7899:4;7893;7889:15;7881:23;;7929:32;7952:8;7929:32;:::i;:::-;7917:44;;7259:712;;;7129:848;;;;;;;:::o;7983:1073::-;8037:5;8228:8;8218:40;;8249:1;8240:10;;8251:5;;8218:40;8277:4;8267:36;;8294:1;8285:10;;8296:5;;8267:36;8363:4;8411:1;8406:27;;;;8447:1;8442:191;;;;8356:277;;8406:27;8424:1;8415:10;;8426:5;;;8442:191;8487:3;8477:8;8474:17;8471:43;;;8494:18;;:::i;:::-;8471:43;8543:8;8540:1;8536:16;8527:25;;8578:3;8571:5;8568:14;8565:40;;;8585:18;;:::i;:::-;8565:40;8618:5;;;8356:277;;8742:2;8732:8;8729:16;8723:3;8717:4;8714:13;8710:36;8692:2;8682:8;8679:16;8674:2;8668:4;8665:12;8661:35;8645:111;8642:246;;;8798:8;8792:4;8788:19;8779:28;;8833:3;8826:5;8823:14;8820:40;;;8840:18;;:::i;:::-;8820:40;8873:5;;8642:246;8913:42;8951:3;8941:8;8935:4;8932:1;8913:42;:::i;:::-;8898:57;;;;8987:4;8982:3;8978:14;8971:5;8968:25;8965:51;;;8996:18;;:::i;:::-;8965:51;9045:4;9038:5;9034:16;9025:25;;7983:1073;;;;;;:::o;9062:281::-;9120:5;9144:23;9162:4;9144:23;:::i;:::-;9136:31;;9188:25;9204:8;9188:25;:::i;:::-;9176:37;;9232:104;9269:66;9259:8;9253:4;9232:104;:::i;:::-;9223:113;;9062:281;;;;:::o;9349:410::-;9389:7;9412:20;9430:1;9412:20;:::i;:::-;9407:25;;9446:20;9464:1;9446:20;:::i;:::-;9441:25;;9501:1;9498;9494:9;9523:30;9541:11;9523:30;:::i;:::-;9512:41;;9702:1;9693:7;9689:15;9686:1;9683:22;9663:1;9656:9;9636:83;9613:139;;9732:18;;:::i;:::-;9613:139;9397:362;9349:410;;;;:::o;9765:182::-;9905:34;9901:1;9893:6;9889:14;9882:58;9765:182;:::o;9953:366::-;10095:3;10116:67;10180:2;10175:3;10116:67;:::i;:::-;10109:74;;10192:93;10281:3;10192:93;:::i;:::-;10310:2;10305:3;10301:12;10294:19;;9953:366;;;:::o;10325:419::-;10491:4;10529:2;10518:9;10514:18;10506:26;;10578:9;10572:4;10568:20;10564:1;10553:9;10549:17;10542:47;10606:131;10732:4;10606:131;:::i;:::-;10598:139;;10325:419;;;:::o;10750:173::-;10890:25;10886:1;10878:6;10874:14;10867:49;10750:173;:::o;10929:366::-;11071:3;11092:67;11156:2;11151:3;11092:67;:::i;:::-;11085:74;;11168:93;11257:3;11168:93;:::i;:::-;11286:2;11281:3;11277:12;11270:19;;10929:366;;;:::o;11301:419::-;11467:4;11505:2;11494:9;11490:18;11482:26;;11554:9;11548:4;11544:20;11540:1;11529:9;11525:17;11518:47;11582:131;11708:4;11582:131;:::i;:::-;11574:139;;11301:419;;;:::o;11726:143::-;11783:5;11814:6;11808:13;11799:22;;11830:33;11857:5;11830:33;:::i;:::-;11726:143;;;;:::o;11875:351::-;11945:6;11994:2;11982:9;11973:7;11969:23;11965:32;11962:119;;;12000:79;;:::i;:::-;11962:119;12120:1;12145:64;12201:7;12192:6;12181:9;12177:22;12145:64;:::i;:::-;12135:74;;12091:128;11875:351;;;;:::o;12232:332::-;12353:4;12391:2;12380:9;12376:18;12368:26;;12404:71;12472:1;12461:9;12457:17;12448:6;12404:71;:::i;:::-;12485:72;12553:2;12542:9;12538:18;12529:6;12485:72;:::i;:::-;12232:332;;;;;:::o;12570:85::-;12615:7;12644:5;12633:16;;12570:85;;;:::o;12661:60::-;12689:3;12710:5;12703:12;;12661:60;;;:::o;12727:158::-;12785:9;12818:61;12836:42;12845:32;12871:5;12845:32;:::i;:::-;12836:42;:::i;:::-;12818:61;:::i;:::-;12805:74;;12727:158;;;:::o;12891:147::-;12986:45;13025:5;12986:45;:::i;:::-;12981:3;12974:58;12891:147;;:::o;13044:807::-;13293:4;13331:3;13320:9;13316:19;13308:27;;13345:71;13413:1;13402:9;13398:17;13389:6;13345:71;:::i;:::-;13426:72;13494:2;13483:9;13479:18;13470:6;13426:72;:::i;:::-;13508:80;13584:2;13573:9;13569:18;13560:6;13508:80;:::i;:::-;13598;13674:2;13663:9;13659:18;13650:6;13598:80;:::i;:::-;13688:73;13756:3;13745:9;13741:19;13732:6;13688:73;:::i;:::-;13771;13839:3;13828:9;13824:19;13815:6;13771:73;:::i;:::-;13044:807;;;;;;;;;:::o;13857:143::-;13914:5;13945:6;13939:13;13930:22;;13961:33;13988:5;13961:33;:::i;:::-;13857:143;;;;:::o;14006:663::-;14094:6;14102;14110;14159:2;14147:9;14138:7;14134:23;14130:32;14127:119;;;14165:79;;:::i;:::-;14127:119;14285:1;14310:64;14366:7;14357:6;14346:9;14342:22;14310:64;:::i;:::-;14300:74;;14256:128;14423:2;14449:64;14505:7;14496:6;14485:9;14481:22;14449:64;:::i;:::-;14439:74;;14394:129;14562:2;14588:64;14644:7;14635:6;14624:9;14620:22;14588:64;:::i;:::-;14578:74;;14533:129;14006:663;;;;;:::o;14675:332::-;14796:4;14834:2;14823:9;14819:18;14811:26;;14847:71;14915:1;14904:9;14900:17;14891:6;14847:71;:::i;:::-;14928:72;14996:2;14985:9;14981:18;14972:6;14928:72;:::i;:::-;14675:332;;;;;:::o;15013:116::-;15083:21;15098:5;15083:21;:::i;:::-;15076:5;15073:32;15063:60;;15119:1;15116;15109:12;15063:60;15013:116;:::o;15135:137::-;15189:5;15220:6;15214:13;15205:22;;15236:30;15260:5;15236:30;:::i;:::-;15135:137;;;;:::o;15278:345::-;15345:6;15394:2;15382:9;15373:7;15369:23;15365:32;15362:119;;;15400:79;;:::i;:::-;15362:119;15520:1;15545:61;15598:7;15589:6;15578:9;15574:22;15545:61;:::i;:::-;15535:71;;15491:125;15278:345;;;;:::o;15629:223::-;15769:34;15765:1;15757:6;15753:14;15746:58;15838:6;15833:2;15825:6;15821:15;15814:31;15629:223;:::o;15858:366::-;16000:3;16021:67;16085:2;16080:3;16021:67;:::i;:::-;16014:74;;16097:93;16186:3;16097:93;:::i;:::-;16215:2;16210:3;16206:12;16199:19;;15858:366;;;:::o;16230:419::-;16396:4;16434:2;16423:9;16419:18;16411:26;;16483:9;16477:4;16473:20;16469:1;16458:9;16454:17;16447:47;16511:131;16637:4;16511:131;:::i;:::-;16503:139;;16230:419;;;:::o;16655:221::-;16795:34;16791:1;16783:6;16779:14;16772:58;16864:4;16859:2;16851:6;16847:15;16840:29;16655:221;:::o;16882:366::-;17024:3;17045:67;17109:2;17104:3;17045:67;:::i;:::-;17038:74;;17121:93;17210:3;17121:93;:::i;:::-;17239:2;17234:3;17230:12;17223:19;;16882:366;;;:::o;17254:419::-;17420:4;17458:2;17447:9;17443:18;17435:26;;17507:9;17501:4;17497:20;17493:1;17482:9;17478:17;17471:47;17535:131;17661:4;17535:131;:::i;:::-;17527:139;;17254:419;;;:::o;17679:224::-;17819:34;17815:1;17807:6;17803:14;17796:58;17888:7;17883:2;17875:6;17871:15;17864:32;17679:224;:::o;17909:366::-;18051:3;18072:67;18136:2;18131:3;18072:67;:::i;:::-;18065:74;;18148:93;18237:3;18148:93;:::i;:::-;18266:2;18261:3;18257:12;18250:19;;17909:366;;;:::o;18281:419::-;18447:4;18485:2;18474:9;18470:18;18462:26;;18534:9;18528:4;18524:20;18520:1;18509:9;18505:17;18498:47;18562:131;18688:4;18562:131;:::i;:::-;18554:139;;18281:419;;;:::o;18706:222::-;18846:34;18842:1;18834:6;18830:14;18823:58;18915:5;18910:2;18902:6;18898:15;18891:30;18706:222;:::o;18934:366::-;19076:3;19097:67;19161:2;19156:3;19097:67;:::i;:::-;19090:74;;19173:93;19262:3;19173:93;:::i;:::-;19291:2;19286:3;19282:12;19275:19;;18934:366;;;:::o;19306:419::-;19472:4;19510:2;19499:9;19495:18;19487:26;;19559:9;19553:4;19549:20;19545:1;19534:9;19530:17;19523:47;19587:131;19713:4;19587:131;:::i;:::-;19579:139;;19306:419;;;:::o;19731:228::-;19871:34;19867:1;19859:6;19855:14;19848:58;19940:11;19935:2;19927:6;19923:15;19916:36;19731:228;:::o;19965:366::-;20107:3;20128:67;20192:2;20187:3;20128:67;:::i;:::-;20121:74;;20204:93;20293:3;20204:93;:::i;:::-;20322:2;20317:3;20313:12;20306:19;;19965:366;;;:::o;20337:419::-;20503:4;20541:2;20530:9;20526:18;20518:26;;20590:9;20584:4;20580:20;20576:1;20565:9;20561:17;20554:47;20618:131;20744:4;20618:131;:::i;:::-;20610:139;;20337:419;;;:::o;20762:175::-;20902:27;20898:1;20890:6;20886:14;20879:51;20762:175;:::o;20943:366::-;21085:3;21106:67;21170:2;21165:3;21106:67;:::i;:::-;21099:74;;21182:93;21271:3;21182:93;:::i;:::-;21300:2;21295:3;21291:12;21284:19;;20943:366;;;:::o;21315:419::-;21481:4;21519:2;21508:9;21504:18;21496:26;;21568:9;21562:4;21558:20;21554:1;21543:9;21539:17;21532:47;21596:131;21722:4;21596:131;:::i;:::-;21588:139;;21315:419;;;:::o;21740:191::-;21780:3;21799:20;21817:1;21799:20;:::i;:::-;21794:25;;21833:20;21851:1;21833:20;:::i;:::-;21828:25;;21876:1;21873;21869:9;21862:16;;21897:3;21894:1;21891:10;21888:36;;;21904:18;;:::i;:::-;21888:36;21740:191;;;;:::o;21937:176::-;22077:28;22073:1;22065:6;22061:14;22054:52;21937:176;:::o;22119:366::-;22261:3;22282:67;22346:2;22341:3;22282:67;:::i;:::-;22275:74;;22358:93;22447:3;22358:93;:::i;:::-;22476:2;22471:3;22467:12;22460:19;;22119:366;;;:::o;22491:419::-;22657:4;22695:2;22684:9;22680:18;22672:26;;22744:9;22738:4;22734:20;22730:1;22719:9;22715:17;22708:47;22772:131;22898:4;22772:131;:::i;:::-;22764:139;;22491:419;;;:::o;22916:194::-;22956:4;22976:20;22994:1;22976:20;:::i;:::-;22971:25;;23010:20;23028:1;23010:20;:::i;:::-;23005:25;;23054:1;23051;23047:9;23039:17;;23078:1;23072:4;23069:11;23066:37;;;23083:18;;:::i;:::-;23066:37;22916:194;;;;:::o;23116:180::-;23164:77;23161:1;23154:88;23261:4;23258:1;23251:15;23285:4;23282:1;23275:15;23302:180;23350:77;23347:1;23340:88;23447:4;23444:1;23437:15;23471:4;23468:1;23461:15;23488:114;23555:6;23589:5;23583:12;23573:22;;23488:114;;;:::o;23608:184::-;23707:11;23741:6;23736:3;23729:19;23781:4;23776:3;23772:14;23757:29;;23608:184;;;;:::o;23798:132::-;23865:4;23888:3;23880:11;;23918:4;23913:3;23909:14;23901:22;;23798:132;;;:::o;23936:108::-;24013:24;24031:5;24013:24;:::i;:::-;24008:3;24001:37;23936:108;;:::o;24050:179::-;24119:10;24140:46;24182:3;24174:6;24140:46;:::i;:::-;24218:4;24213:3;24209:14;24195:28;;24050:179;;;;:::o;24235:113::-;24305:4;24337;24332:3;24328:14;24320:22;;24235:113;;;:::o;24384:732::-;24503:3;24532:54;24580:5;24532:54;:::i;:::-;24602:86;24681:6;24676:3;24602:86;:::i;:::-;24595:93;;24712:56;24762:5;24712:56;:::i;:::-;24791:7;24822:1;24807:284;24832:6;24829:1;24826:13;24807:284;;;24908:6;24902:13;24935:63;24994:3;24979:13;24935:63;:::i;:::-;24928:70;;25021:60;25074:6;25021:60;:::i;:::-;25011:70;;24867:224;24854:1;24851;24847:9;24842:14;;24807:284;;;24811:14;25107:3;25100:10;;24508:608;;;24384:732;;;;:::o;25122:831::-;25385:4;25423:3;25412:9;25408:19;25400:27;;25437:71;25505:1;25494:9;25490:17;25481:6;25437:71;:::i;:::-;25518:80;25594:2;25583:9;25579:18;25570:6;25518:80;:::i;:::-;25645:9;25639:4;25635:20;25630:2;25619:9;25615:18;25608:48;25673:108;25776:4;25767:6;25673:108;:::i;:::-;25665:116;;25791:72;25859:2;25848:9;25844:18;25835:6;25791:72;:::i;:::-;25873:73;25941:3;25930:9;25926:19;25917:6;25873:73;:::i;:::-;25122:831;;;;;;;;:::o;25959:180::-;26007:77;26004:1;25997:88;26104:4;26101:1;26094:15;26128:4;26125:1;26118:15;26145:185;26185:1;26202:20;26220:1;26202:20;:::i;:::-;26197:25;;26236:20;26254:1;26236:20;:::i;:::-;26231:25;;26275:1;26265:35;;26280:18;;:::i;:::-;26265:35;26322:1;26319;26315:9;26310:14;;26145:185;;;;:::o;26336:220::-;26476:34;26472:1;26464:6;26460:14;26453:58;26545:3;26540:2;26532:6;26528:15;26521:28;26336:220;:::o;26562:366::-;26704:3;26725:67;26789:2;26784:3;26725:67;:::i;:::-;26718:74;;26801:93;26890:3;26801:93;:::i;:::-;26919:2;26914:3;26910:12;26903:19;;26562:366;;;:::o;26934:419::-;27100:4;27138:2;27127:9;27123:18;27115:26;;27187:9;27181:4;27177:20;27173:1;27162:9;27158:17;27151:47;27215:131;27341:4;27215:131;:::i;:::-;27207:139;;26934:419;;;:::o;27359:177::-;27499:29;27495:1;27487:6;27483:14;27476:53;27359:177;:::o;27542:366::-;27684:3;27705:67;27769:2;27764:3;27705:67;:::i;:::-;27698:74;;27781:93;27870:3;27781:93;:::i;:::-;27899:2;27894:3;27890:12;27883:19;;27542:366;;;:::o;27914:419::-;28080:4;28118:2;28107:9;28103:18;28095:26;;28167:9;28161:4;28157:20;28153:1;28142:9;28138:17;28131:47;28195:131;28321:4;28195:131;:::i;:::-;28187:139;;27914:419;;;:::o
Swarm Source
ipfs://ecf387931d8be22e162d999e5d062b983547ed625ba098abe594b3e814be6cb5
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.