ERC-20
Overview
Max Total Supply
420,000,000 BABYCATE
Holders
112
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
0.000000001 BABYCATEValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
BabyCate
Compiler Version
v0.8.26+commit.8a97fa7a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-09-18 */ // SPDX-License-Identifier: MIT /** $BABYCATE is a tribute token to $CATE, the cat version of $DOGE, ran by an experienced dev and team that aims to bring back the bull run sentiment when crypto was fun and everyone made money. Our goal is to bring back the good old days when the communities were like a family and created connections that eventually became long term friends. Telegram: https://t.me/BabyCatePortal Website: https://www.babycatecoin.vip/ Twitter: https://x.com/BabyCat_e */ pragma solidity 0.8.26; library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, 'SafeMath: addition overflow'); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, 'SafeMath: subtraction overflow'); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, 'SafeMath: multiplication overflow'); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, 'SafeMath: division by zero'); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } interface IUniswapV2Factory { function createPair( address tokenA, address tokenB ) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( 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); } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } 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 transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), 'New owner cannot be the zero address'); require(newOwner != _owner, 'New owner must be different'); address prevOwner = _owner; _owner = newOwner; emit OwnershipTransferred(prevOwner, newOwner); } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function totalSupply() external view returns (uint256); function decimals() external view returns (uint8); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval (address indexed owner, address indexed spender, uint256 value); } contract BabyCate is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _excludedFromFee; address payable private _taxWallet; uint256 private _initialBuyTax = 16; uint256 private _initialSellTax = 16; uint256 private _finalBuyTax = 0; uint256 private _finalSellTax = 0; uint256 private _reduceBuyTaxAt = 5; uint256 private _reduceSellTaxAt = 5; uint256 private _preventSwapBefore = 5; uint256 private _buyCount = 0; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 420000000 * 10 ** _decimals; string private constant _name = unicode"Baby Cate"; string private constant _symbol = unicode"BABYCATE"; uint256 public _maxTxAmount = 6300000 * 10 ** _decimals; uint256 public _maxWalletSize = 6300000 * 10 ** _decimals; uint256 public _taxSwapThreshold= 1000000 * 10 ** _decimals; uint256 public _maxTaxSwap= 1000000 * 10 ** _decimals; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; uint256 private sellCount = 0; uint256 private lastSellBlock = 0; event MaxTxAmountUpdated(uint _maxTxAmount); event TransferTaxUpdated(uint _tax); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _taxWallet = payable(_msgSender()); _balances[address(this)] = _tTotal; _excludedFromFee[owner()] = true; _excludedFromFee[address(this)] = true; _excludedFromFee[_taxWallet] = true; emit Transfer(address(0), address(this), _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()) { if(_buyCount==0){ taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); } if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _excludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); _buyCount++; } 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) { if (block.number > lastSellBlock) { sellCount = 0; } require(sellCount < 3, "Only 3 sells per block!"); swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } sellCount++; lastSellBlock = block.number; } } 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 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 addLiquidityEth() external payable onlyOwner { require(!tradingOpen, "Trading is already open."); uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); IUniswapV2Factory uniswapV2Factory = IUniswapV2Factory( uniswapV2Router.factory() ); uniswapV2Pair = uniswapV2Factory.createPair( address(this), uniswapV2Router.WETH() ); _excludedFromFee[address(uniswapV2Pair)] = true; _approve(address(this), address(uniswapV2Router), totalSupply()); uniswapV2Router.addLiquidityETH{ value: msg.value }( address(this), totalSupply(), 0, 0, owner(), block.timestamp ); tradingOpen = true; swapEnabled = true; } receive() external payable {} function recoverTokens() external { require(_msgSender()==_taxWallet); uint256 tokenBalance=balanceOf(address(this)); require(tokenBalance > 0, "No tokens to recover"); _transfer(address(this), _taxWallet, tokenBalance); } function manualsend() external { require(_msgSender()==_taxWallet); uint256 contractETHBalance = address(this).balance; require(contractETHBalance > 0, "No ETH to recover"); sendETHToFee(contractETHBalance); } }
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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","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":[],"name":"addLiquidityEth","outputs":[],"stateMutability":"payable","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":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"recoverTokens","outputs":[],"stateMutability":"nonpayable","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":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052601060055560106006555f6007555f60085560056009556005600a556005600b555f600c556009600a6100379190610595565b6260216061004591906105df565b600d556009600a6100569190610595565b6260216061006491906105df565b600e556009600a6100759190610595565b620f424061008391906105df565b600f556009600a6100949190610595565b620f42406100a291906105df565b6010555f601260156101000a81548160ff0219169083151502179055505f601260166101000a81548160ff0219169083151502179055505f6013555f6014553480156100ec575f80fd5b505f6100fc6103f660201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506101a66103f660201b60201c565b60045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a6101f39190610595565b631908b10061020291906105df565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f6102566103fd60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055503073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6103cd9190610595565b631908b1006103dc91906105df565b6040516103e9919061062f565b60405180910390a3610648565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156104a65780860481111561048257610481610424565b5b60018516156104915780820291505b808102905061049f85610451565b9450610466565b94509492505050565b5f826104be5760019050610579565b816104cb575f9050610579565b81600181146104e157600281146104eb5761051a565b6001915050610579565b60ff8411156104fd576104fc610424565b5b8360020a91508482111561051457610513610424565b5b50610579565b5060208310610133831016604e8410600b841016171561054f5782820a90508381111561054a57610549610424565b5b610579565b61055c848484600161045d565b9250905081840481111561057357610572610424565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f61059f82610580565b91506105aa83610589565b92506105d77fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846104af565b905092915050565b5f6105e982610580565b91506105f483610580565b925082820261060281610580565b9150828204841483151761061957610618610424565b5b5092915050565b61062981610580565b82525050565b5f6020820190506106425f830184610620565b92915050565b61323a806106555f395ff3fe608060405260043610610122575f3560e01c8063751039fc1161009f578063a9059cbb11610063578063a9059cbb1461037d578063b77f39fe146103b9578063bf474bed146103cf578063dd62ed3e146103f9578063f2fde38b1461043557610129565b8063751039fc146102bf5780637d1db4a5146102d55780638da5cb5b146102ff5780638f9a55c01461032957806395d89b411461035357610129565b806324e34443116100e657806324e3444314610223578063313ce5671461022d5780636fc3eaec1461025757806370a082311461026d578063715018a6146102a957610129565b806306fdde031461012d578063095ea7b3146101575780630faee56f1461019357806318160ddd146101bd57806323b872dd146101e757610129565b3661012957005b5f80fd5b348015610138575f80fd5b5061014161045d565b60405161014e919061222e565b60405180910390f35b348015610162575f80fd5b5061017d600480360381019061017891906122df565b61049a565b60405161018a9190612337565b60405180910390f35b34801561019e575f80fd5b506101a76104b7565b6040516101b4919061235f565b60405180910390f35b3480156101c8575f80fd5b506101d16104bd565b6040516101de919061235f565b60405180910390f35b3480156101f2575f80fd5b5061020d60048036038101906102089190612378565b6104e0565b60405161021a9190612337565b60405180910390f35b61022b6105b4565b005b348015610238575f80fd5b50610241610a5d565b60405161024e91906123e3565b60405180910390f35b348015610262575f80fd5b5061026b610a65565b005b348015610278575f80fd5b50610293600480360381019061028e91906123fc565b610b16565b6040516102a0919061235f565b60405180910390f35b3480156102b4575f80fd5b506102bd610b5c565b005b3480156102ca575f80fd5b506102d3610caa565b005b3480156102e0575f80fd5b506102e9610dd9565b6040516102f6919061235f565b60405180910390f35b34801561030a575f80fd5b50610313610ddf565b6040516103209190612436565b60405180910390f35b348015610334575f80fd5b5061033d610e06565b60405161034a919061235f565b60405180910390f35b34801561035e575f80fd5b50610367610e0c565b604051610374919061222e565b60405180910390f35b348015610388575f80fd5b506103a3600480360381019061039e91906122df565b610e49565b6040516103b09190612337565b60405180910390f35b3480156103c4575f80fd5b506103cd610e66565b005b3480156103da575f80fd5b506103e3610f42565b6040516103f0919061235f565b60405180910390f35b348015610404575f80fd5b5061041f600480360381019061041a919061244f565b610f48565b60405161042c919061235f565b60405180910390f35b348015610440575f80fd5b5061045b600480360381019061045691906123fc565b610fca565b005b60606040518060400160405280600981526020017f4261627920436174650000000000000000000000000000000000000000000000815250905090565b5f6104ad6104a661121a565b8484611221565b6001905092915050565b60105481565b5f6009600a6104cc91906125e9565b631908b1006104db9190612633565b905090565b5f6104ec8484846113e4565b6105a9846104f861121a565b6105a4856040518060600160405280602881526020016131dd6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61055b61121a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611c909092919063ffffffff16565b611221565b600190509392505050565b6105bc61121a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610648576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161063f906126be565b60405180910390fd5b601260149054906101000a900460ff1615610698576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068f90612726565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610757573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061077b9190612758565b90508073ffffffffffffffffffffffffffffffffffffffff1663c9c653963060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610804573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108289190612758565b6040518363ffffffff1660e01b8152600401610845929190612783565b6020604051808303815f875af1158015610861573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108859190612758565b60125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160035f60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555061096d3060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166109686104bd565b611221565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71934306109b46104bd565b5f806109be610ddf565b426040518863ffffffff1660e01b81526004016109e0969594939291906127ec565b60606040518083038185885af11580156109fc573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a21919061285f565b5050506001601260146101000a81548160ff0219169083151502179055506001601260166101000a81548160ff02191690831515021790555050565b5f6009905090565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610aa561121a565b73ffffffffffffffffffffffffffffffffffffffff1614610ac4575f80fd5b5f4790505f8111610b0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b01906128f9565b60405180910390fd5b610b1381611cf2565b50565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610b6461121a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bf0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be7906126be565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610cb261121a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d35906126be565b60405180910390fd5b6009600a610d4c91906125e9565b631908b100610d5b9190612633565b600d819055506009600a610d6f91906125e9565b631908b100610d7e9190612633565b600e819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610db391906125e9565b631908b100610dc29190612633565b604051610dcf919061235f565b60405180910390a1565b600d5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600e5481565b60606040518060400160405280600881526020017f4241425943415445000000000000000000000000000000000000000000000000815250905090565b5f610e5c610e5561121a565b84846113e4565b6001905092915050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ea661121a565b73ffffffffffffffffffffffffffffffffffffffff1614610ec5575f80fd5b5f610ecf30610b16565b90505f8111610f13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0a90612961565b60405180910390fd5b610f3f3060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836113e4565b50565b600f5481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610fd261121a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461105e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611055906126be565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036110cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c3906129ef565b60405180910390fd5b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611159576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115090612a57565b60405180910390fd5b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361128f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128690612ae5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f490612b73565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113d7919061235f565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611452576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144990612c01565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b790612c8f565b60405180910390fd5b5f8111611502576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f990612d1d565b60405180910390fd5b5f61150b610ddf565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156115795750611549610ddf565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156119e0575f600c54036115c6576115c360646115b5600954600c54116115a2576005546115a6565b6007545b85611d5a90919063ffffffff16565b611dd190919063ffffffff16565b90505b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561166f575060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156116c2575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156117ba57600d5482111561170c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170390612d85565b60405180910390fd5b600e548261171985610b16565b6117239190612da3565b1115611764576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175b90612e20565b60405180910390fd5b6117a06064611792600954600c541161177f57600554611783565b6007545b85611d5a90919063ffffffff16565b611dd190919063ffffffff16565b9050600c5f8154809291906117b490612e3e565b91905055505b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561184257503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611886576118836064611875600a54600c541161186257600654611866565b6008545b85611d5a90919063ffffffff16565b611dd190919063ffffffff16565b90505b5f61189030610b16565b9050601260159054906101000a900460ff161580156118fb575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156119135750601260169054906101000a900460ff165b80156119205750600f5481115b801561192f5750600b54600c54115b156119de57601454431115611946575f6013819055505b60036013541061198b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198290612ecf565b60405180910390fd5b6119a86119a38461199e84601054611e1a565b611e1a565b611e32565b5f4790505f8111156119be576119bd47611cf2565b5b60135f8154809291906119d090612e3e565b919050555043601481905550505b505b5f811115611adf57611a388160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461209d90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611ad6919061235f565b60405180910390a35b611b2f8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546120fa90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611bd2611b8682846120fa90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461209d90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611c7584866120fa90919063ffffffff16565b604051611c82919061235f565b60405180910390a350505050565b5f838311158290611cd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cce919061222e565b60405180910390fd5b505f8385611ce59190612eed565b9050809150509392505050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611d56573d5f803e3d5ffd5b5050565b5f808303611d6a575f9050611dcb565b5f8284611d779190612633565b9050828482611d869190612f4d565b14611dc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dbd90612fed565b60405180910390fd5b809150505b92915050565b5f611e1283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612143565b905092915050565b5f818311611e285782611e2a565b815b905092915050565b6001601260156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611e6957611e6861300b565b5b604051908082528060200260200182016040528015611e975781602001602082028036833780820191505090505b50905030815f81518110611eae57611ead613038565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f52573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f769190612758565b81600181518110611f8a57611f89613038565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611ff03060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611221565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161205295949392919061311c565b5f604051808303815f87803b158015612069575f80fd5b505af115801561207b573d5f803e3d5ffd5b50505050505f601260156101000a81548160ff02191690831515021790555050565b5f8082846120ab9190612da3565b9050838110156120f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120e7906131be565b60405180910390fd5b8091505092915050565b5f61213b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c90565b905092915050565b5f8083118290612189576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612180919061222e565b60405180910390fd5b505f83856121979190612f4d565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156121db5780820151818401526020810190506121c0565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612200826121a4565b61220a81856121ae565b935061221a8185602086016121be565b612223816121e6565b840191505092915050565b5f6020820190508181035f83015261224681846121f6565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61227b82612252565b9050919050565b61228b81612271565b8114612295575f80fd5b50565b5f813590506122a681612282565b92915050565b5f819050919050565b6122be816122ac565b81146122c8575f80fd5b50565b5f813590506122d9816122b5565b92915050565b5f80604083850312156122f5576122f461224e565b5b5f61230285828601612298565b9250506020612313858286016122cb565b9150509250929050565b5f8115159050919050565b6123318161231d565b82525050565b5f60208201905061234a5f830184612328565b92915050565b612359816122ac565b82525050565b5f6020820190506123725f830184612350565b92915050565b5f805f6060848603121561238f5761238e61224e565b5b5f61239c86828701612298565b93505060206123ad86828701612298565b92505060406123be868287016122cb565b9150509250925092565b5f60ff82169050919050565b6123dd816123c8565b82525050565b5f6020820190506123f65f8301846123d4565b92915050565b5f602082840312156124115761241061224e565b5b5f61241e84828501612298565b91505092915050565b61243081612271565b82525050565b5f6020820190506124495f830184612427565b92915050565b5f80604083850312156124655761246461224e565b5b5f61247285828601612298565b925050602061248385828601612298565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561250f578086048111156124eb576124ea61248d565b5b60018516156124fa5780820291505b8081029050612508856124ba565b94506124cf565b94509492505050565b5f8261252757600190506125e2565b81612534575f90506125e2565b816001811461254a576002811461255457612583565b60019150506125e2565b60ff8411156125665761256561248d565b5b8360020a91508482111561257d5761257c61248d565b5b506125e2565b5060208310610133831016604e8410600b84101617156125b85782820a9050838111156125b3576125b261248d565b5b6125e2565b6125c584848460016124c6565b925090508184048111156125dc576125db61248d565b5b81810290505b9392505050565b5f6125f3826122ac565b91506125fe836123c8565b925061262b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612518565b905092915050565b5f61263d826122ac565b9150612648836122ac565b9250828202612656816122ac565b9150828204841483151761266d5761266c61248d565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6126a86020836121ae565b91506126b382612674565b602082019050919050565b5f6020820190508181035f8301526126d58161269c565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e2e00000000000000005f82015250565b5f6127106018836121ae565b915061271b826126dc565b602082019050919050565b5f6020820190508181035f83015261273d81612704565b9050919050565b5f8151905061275281612282565b92915050565b5f6020828403121561276d5761276c61224e565b5b5f61277a84828501612744565b91505092915050565b5f6040820190506127965f830185612427565b6127a36020830184612427565b9392505050565b5f819050919050565b5f819050919050565b5f6127d66127d16127cc846127aa565b6127b3565b6122ac565b9050919050565b6127e6816127bc565b82525050565b5f60c0820190506127ff5f830189612427565b61280c6020830188612350565b61281960408301876127dd565b61282660608301866127dd565b6128336080830185612427565b61284060a0830184612350565b979650505050505050565b5f81519050612859816122b5565b92915050565b5f805f606084860312156128765761287561224e565b5b5f6128838682870161284b565b93505060206128948682870161284b565b92505060406128a58682870161284b565b9150509250925092565b7f4e6f2045544820746f207265636f7665720000000000000000000000000000005f82015250565b5f6128e36011836121ae565b91506128ee826128af565b602082019050919050565b5f6020820190508181035f830152612910816128d7565b9050919050565b7f4e6f20746f6b656e7320746f207265636f7665720000000000000000000000005f82015250565b5f61294b6014836121ae565b915061295682612917565b602082019050919050565b5f6020820190508181035f8301526129788161293f565b9050919050565b7f4e6577206f776e65722063616e6e6f7420626520746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6129d96024836121ae565b91506129e48261297f565b604082019050919050565b5f6020820190508181035f830152612a06816129cd565b9050919050565b7f4e6577206f776e6572206d75737420626520646966666572656e7400000000005f82015250565b5f612a41601b836121ae565b9150612a4c82612a0d565b602082019050919050565b5f6020820190508181035f830152612a6e81612a35565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612acf6024836121ae565b9150612ada82612a75565b604082019050919050565b5f6020820190508181035f830152612afc81612ac3565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612b5d6022836121ae565b9150612b6882612b03565b604082019050919050565b5f6020820190508181035f830152612b8a81612b51565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612beb6025836121ae565b9150612bf682612b91565b604082019050919050565b5f6020820190508181035f830152612c1881612bdf565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612c796023836121ae565b9150612c8482612c1f565b604082019050919050565b5f6020820190508181035f830152612ca681612c6d565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612d076029836121ae565b9150612d1282612cad565b604082019050919050565b5f6020820190508181035f830152612d3481612cfb565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612d6f6019836121ae565b9150612d7a82612d3b565b602082019050919050565b5f6020820190508181035f830152612d9c81612d63565b9050919050565b5f612dad826122ac565b9150612db8836122ac565b9250828201905080821115612dd057612dcf61248d565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612e0a601a836121ae565b9150612e1582612dd6565b602082019050919050565b5f6020820190508181035f830152612e3781612dfe565b9050919050565b5f612e48826122ac565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612e7a57612e7961248d565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f612eb96017836121ae565b9150612ec482612e85565b602082019050919050565b5f6020820190508181035f830152612ee681612ead565b9050919050565b5f612ef7826122ac565b9150612f02836122ac565b9250828203905081811115612f1a57612f1961248d565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612f57826122ac565b9150612f62836122ac565b925082612f7257612f71612f20565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612fd76021836121ae565b9150612fe282612f7d565b604082019050919050565b5f6020820190508181035f83015261300481612fcb565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61309781612271565b82525050565b5f6130a8838361308e565b60208301905092915050565b5f602082019050919050565b5f6130ca82613065565b6130d4818561306f565b93506130df8361307f565b805f5b8381101561310f5781516130f6888261309d565b9750613101836130b4565b9250506001810190506130e2565b5085935050505092915050565b5f60a08201905061312f5f830188612350565b61313c60208301876127dd565b818103604083015261314e81866130c0565b905061315d6060830185612427565b61316a6080830184612350565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6131a8601b836121ae565b91506131b382613174565b602082019050919050565b5f6020820190508181035f8301526131d58161319c565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205bdd68e9f59d984af60321aa9d4d42fd176cae01a448cbf3c5bf1580d4a6680264736f6c634300081a0033
Deployed Bytecode
0x608060405260043610610122575f3560e01c8063751039fc1161009f578063a9059cbb11610063578063a9059cbb1461037d578063b77f39fe146103b9578063bf474bed146103cf578063dd62ed3e146103f9578063f2fde38b1461043557610129565b8063751039fc146102bf5780637d1db4a5146102d55780638da5cb5b146102ff5780638f9a55c01461032957806395d89b411461035357610129565b806324e34443116100e657806324e3444314610223578063313ce5671461022d5780636fc3eaec1461025757806370a082311461026d578063715018a6146102a957610129565b806306fdde031461012d578063095ea7b3146101575780630faee56f1461019357806318160ddd146101bd57806323b872dd146101e757610129565b3661012957005b5f80fd5b348015610138575f80fd5b5061014161045d565b60405161014e919061222e565b60405180910390f35b348015610162575f80fd5b5061017d600480360381019061017891906122df565b61049a565b60405161018a9190612337565b60405180910390f35b34801561019e575f80fd5b506101a76104b7565b6040516101b4919061235f565b60405180910390f35b3480156101c8575f80fd5b506101d16104bd565b6040516101de919061235f565b60405180910390f35b3480156101f2575f80fd5b5061020d60048036038101906102089190612378565b6104e0565b60405161021a9190612337565b60405180910390f35b61022b6105b4565b005b348015610238575f80fd5b50610241610a5d565b60405161024e91906123e3565b60405180910390f35b348015610262575f80fd5b5061026b610a65565b005b348015610278575f80fd5b50610293600480360381019061028e91906123fc565b610b16565b6040516102a0919061235f565b60405180910390f35b3480156102b4575f80fd5b506102bd610b5c565b005b3480156102ca575f80fd5b506102d3610caa565b005b3480156102e0575f80fd5b506102e9610dd9565b6040516102f6919061235f565b60405180910390f35b34801561030a575f80fd5b50610313610ddf565b6040516103209190612436565b60405180910390f35b348015610334575f80fd5b5061033d610e06565b60405161034a919061235f565b60405180910390f35b34801561035e575f80fd5b50610367610e0c565b604051610374919061222e565b60405180910390f35b348015610388575f80fd5b506103a3600480360381019061039e91906122df565b610e49565b6040516103b09190612337565b60405180910390f35b3480156103c4575f80fd5b506103cd610e66565b005b3480156103da575f80fd5b506103e3610f42565b6040516103f0919061235f565b60405180910390f35b348015610404575f80fd5b5061041f600480360381019061041a919061244f565b610f48565b60405161042c919061235f565b60405180910390f35b348015610440575f80fd5b5061045b600480360381019061045691906123fc565b610fca565b005b60606040518060400160405280600981526020017f4261627920436174650000000000000000000000000000000000000000000000815250905090565b5f6104ad6104a661121a565b8484611221565b6001905092915050565b60105481565b5f6009600a6104cc91906125e9565b631908b1006104db9190612633565b905090565b5f6104ec8484846113e4565b6105a9846104f861121a565b6105a4856040518060600160405280602881526020016131dd6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61055b61121a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611c909092919063ffffffff16565b611221565b600190509392505050565b6105bc61121a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610648576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161063f906126be565b60405180910390fd5b601260149054906101000a900460ff1615610698576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068f90612726565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610757573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061077b9190612758565b90508073ffffffffffffffffffffffffffffffffffffffff1663c9c653963060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610804573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108289190612758565b6040518363ffffffff1660e01b8152600401610845929190612783565b6020604051808303815f875af1158015610861573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108859190612758565b60125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160035f60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555061096d3060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166109686104bd565b611221565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71934306109b46104bd565b5f806109be610ddf565b426040518863ffffffff1660e01b81526004016109e0969594939291906127ec565b60606040518083038185885af11580156109fc573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a21919061285f565b5050506001601260146101000a81548160ff0219169083151502179055506001601260166101000a81548160ff02191690831515021790555050565b5f6009905090565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610aa561121a565b73ffffffffffffffffffffffffffffffffffffffff1614610ac4575f80fd5b5f4790505f8111610b0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b01906128f9565b60405180910390fd5b610b1381611cf2565b50565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610b6461121a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bf0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be7906126be565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610cb261121a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d35906126be565b60405180910390fd5b6009600a610d4c91906125e9565b631908b100610d5b9190612633565b600d819055506009600a610d6f91906125e9565b631908b100610d7e9190612633565b600e819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610db391906125e9565b631908b100610dc29190612633565b604051610dcf919061235f565b60405180910390a1565b600d5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600e5481565b60606040518060400160405280600881526020017f4241425943415445000000000000000000000000000000000000000000000000815250905090565b5f610e5c610e5561121a565b84846113e4565b6001905092915050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ea661121a565b73ffffffffffffffffffffffffffffffffffffffff1614610ec5575f80fd5b5f610ecf30610b16565b90505f8111610f13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0a90612961565b60405180910390fd5b610f3f3060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836113e4565b50565b600f5481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610fd261121a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461105e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611055906126be565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036110cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c3906129ef565b60405180910390fd5b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611159576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115090612a57565b60405180910390fd5b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361128f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128690612ae5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f490612b73565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113d7919061235f565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611452576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144990612c01565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b790612c8f565b60405180910390fd5b5f8111611502576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f990612d1d565b60405180910390fd5b5f61150b610ddf565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156115795750611549610ddf565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156119e0575f600c54036115c6576115c360646115b5600954600c54116115a2576005546115a6565b6007545b85611d5a90919063ffffffff16565b611dd190919063ffffffff16565b90505b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561166f575060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156116c2575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156117ba57600d5482111561170c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170390612d85565b60405180910390fd5b600e548261171985610b16565b6117239190612da3565b1115611764576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175b90612e20565b60405180910390fd5b6117a06064611792600954600c541161177f57600554611783565b6007545b85611d5a90919063ffffffff16565b611dd190919063ffffffff16565b9050600c5f8154809291906117b490612e3e565b91905055505b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561184257503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611886576118836064611875600a54600c541161186257600654611866565b6008545b85611d5a90919063ffffffff16565b611dd190919063ffffffff16565b90505b5f61189030610b16565b9050601260159054906101000a900460ff161580156118fb575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156119135750601260169054906101000a900460ff165b80156119205750600f5481115b801561192f5750600b54600c54115b156119de57601454431115611946575f6013819055505b60036013541061198b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198290612ecf565b60405180910390fd5b6119a86119a38461199e84601054611e1a565b611e1a565b611e32565b5f4790505f8111156119be576119bd47611cf2565b5b60135f8154809291906119d090612e3e565b919050555043601481905550505b505b5f811115611adf57611a388160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461209d90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611ad6919061235f565b60405180910390a35b611b2f8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546120fa90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611bd2611b8682846120fa90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461209d90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611c7584866120fa90919063ffffffff16565b604051611c82919061235f565b60405180910390a350505050565b5f838311158290611cd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cce919061222e565b60405180910390fd5b505f8385611ce59190612eed565b9050809150509392505050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611d56573d5f803e3d5ffd5b5050565b5f808303611d6a575f9050611dcb565b5f8284611d779190612633565b9050828482611d869190612f4d565b14611dc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dbd90612fed565b60405180910390fd5b809150505b92915050565b5f611e1283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612143565b905092915050565b5f818311611e285782611e2a565b815b905092915050565b6001601260156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611e6957611e6861300b565b5b604051908082528060200260200182016040528015611e975781602001602082028036833780820191505090505b50905030815f81518110611eae57611ead613038565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f52573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f769190612758565b81600181518110611f8a57611f89613038565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611ff03060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611221565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161205295949392919061311c565b5f604051808303815f87803b158015612069575f80fd5b505af115801561207b573d5f803e3d5ffd5b50505050505f601260156101000a81548160ff02191690831515021790555050565b5f8082846120ab9190612da3565b9050838110156120f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120e7906131be565b60405180910390fd5b8091505092915050565b5f61213b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c90565b905092915050565b5f8083118290612189576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612180919061222e565b60405180910390fd5b505f83856121979190612f4d565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156121db5780820151818401526020810190506121c0565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612200826121a4565b61220a81856121ae565b935061221a8185602086016121be565b612223816121e6565b840191505092915050565b5f6020820190508181035f83015261224681846121f6565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61227b82612252565b9050919050565b61228b81612271565b8114612295575f80fd5b50565b5f813590506122a681612282565b92915050565b5f819050919050565b6122be816122ac565b81146122c8575f80fd5b50565b5f813590506122d9816122b5565b92915050565b5f80604083850312156122f5576122f461224e565b5b5f61230285828601612298565b9250506020612313858286016122cb565b9150509250929050565b5f8115159050919050565b6123318161231d565b82525050565b5f60208201905061234a5f830184612328565b92915050565b612359816122ac565b82525050565b5f6020820190506123725f830184612350565b92915050565b5f805f6060848603121561238f5761238e61224e565b5b5f61239c86828701612298565b93505060206123ad86828701612298565b92505060406123be868287016122cb565b9150509250925092565b5f60ff82169050919050565b6123dd816123c8565b82525050565b5f6020820190506123f65f8301846123d4565b92915050565b5f602082840312156124115761241061224e565b5b5f61241e84828501612298565b91505092915050565b61243081612271565b82525050565b5f6020820190506124495f830184612427565b92915050565b5f80604083850312156124655761246461224e565b5b5f61247285828601612298565b925050602061248385828601612298565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561250f578086048111156124eb576124ea61248d565b5b60018516156124fa5780820291505b8081029050612508856124ba565b94506124cf565b94509492505050565b5f8261252757600190506125e2565b81612534575f90506125e2565b816001811461254a576002811461255457612583565b60019150506125e2565b60ff8411156125665761256561248d565b5b8360020a91508482111561257d5761257c61248d565b5b506125e2565b5060208310610133831016604e8410600b84101617156125b85782820a9050838111156125b3576125b261248d565b5b6125e2565b6125c584848460016124c6565b925090508184048111156125dc576125db61248d565b5b81810290505b9392505050565b5f6125f3826122ac565b91506125fe836123c8565b925061262b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612518565b905092915050565b5f61263d826122ac565b9150612648836122ac565b9250828202612656816122ac565b9150828204841483151761266d5761266c61248d565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6126a86020836121ae565b91506126b382612674565b602082019050919050565b5f6020820190508181035f8301526126d58161269c565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e2e00000000000000005f82015250565b5f6127106018836121ae565b915061271b826126dc565b602082019050919050565b5f6020820190508181035f83015261273d81612704565b9050919050565b5f8151905061275281612282565b92915050565b5f6020828403121561276d5761276c61224e565b5b5f61277a84828501612744565b91505092915050565b5f6040820190506127965f830185612427565b6127a36020830184612427565b9392505050565b5f819050919050565b5f819050919050565b5f6127d66127d16127cc846127aa565b6127b3565b6122ac565b9050919050565b6127e6816127bc565b82525050565b5f60c0820190506127ff5f830189612427565b61280c6020830188612350565b61281960408301876127dd565b61282660608301866127dd565b6128336080830185612427565b61284060a0830184612350565b979650505050505050565b5f81519050612859816122b5565b92915050565b5f805f606084860312156128765761287561224e565b5b5f6128838682870161284b565b93505060206128948682870161284b565b92505060406128a58682870161284b565b9150509250925092565b7f4e6f2045544820746f207265636f7665720000000000000000000000000000005f82015250565b5f6128e36011836121ae565b91506128ee826128af565b602082019050919050565b5f6020820190508181035f830152612910816128d7565b9050919050565b7f4e6f20746f6b656e7320746f207265636f7665720000000000000000000000005f82015250565b5f61294b6014836121ae565b915061295682612917565b602082019050919050565b5f6020820190508181035f8301526129788161293f565b9050919050565b7f4e6577206f776e65722063616e6e6f7420626520746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6129d96024836121ae565b91506129e48261297f565b604082019050919050565b5f6020820190508181035f830152612a06816129cd565b9050919050565b7f4e6577206f776e6572206d75737420626520646966666572656e7400000000005f82015250565b5f612a41601b836121ae565b9150612a4c82612a0d565b602082019050919050565b5f6020820190508181035f830152612a6e81612a35565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612acf6024836121ae565b9150612ada82612a75565b604082019050919050565b5f6020820190508181035f830152612afc81612ac3565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612b5d6022836121ae565b9150612b6882612b03565b604082019050919050565b5f6020820190508181035f830152612b8a81612b51565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612beb6025836121ae565b9150612bf682612b91565b604082019050919050565b5f6020820190508181035f830152612c1881612bdf565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612c796023836121ae565b9150612c8482612c1f565b604082019050919050565b5f6020820190508181035f830152612ca681612c6d565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612d076029836121ae565b9150612d1282612cad565b604082019050919050565b5f6020820190508181035f830152612d3481612cfb565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612d6f6019836121ae565b9150612d7a82612d3b565b602082019050919050565b5f6020820190508181035f830152612d9c81612d63565b9050919050565b5f612dad826122ac565b9150612db8836122ac565b9250828201905080821115612dd057612dcf61248d565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612e0a601a836121ae565b9150612e1582612dd6565b602082019050919050565b5f6020820190508181035f830152612e3781612dfe565b9050919050565b5f612e48826122ac565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612e7a57612e7961248d565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f612eb96017836121ae565b9150612ec482612e85565b602082019050919050565b5f6020820190508181035f830152612ee681612ead565b9050919050565b5f612ef7826122ac565b9150612f02836122ac565b9250828203905081811115612f1a57612f1961248d565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612f57826122ac565b9150612f62836122ac565b925082612f7257612f71612f20565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612fd76021836121ae565b9150612fe282612f7d565b604082019050919050565b5f6020820190508181035f83015261300481612fcb565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61309781612271565b82525050565b5f6130a8838361308e565b60208301905092915050565b5f602082019050919050565b5f6130ca82613065565b6130d4818561306f565b93506130df8361307f565b805f5b8381101561310f5781516130f6888261309d565b9750613101836130b4565b9250506001810190506130e2565b5085935050505092915050565b5f60a08201905061312f5f830188612350565b61313c60208301876127dd565b818103604083015261314e81866130c0565b905061315d6060830185612427565b61316a6080830184612350565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6131a8601b836121ae565b91506131b382613174565b602082019050919050565b5f6020820190508181035f8301526131d58161319c565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205bdd68e9f59d984af60321aa9d4d42fd176cae01a448cbf3c5bf1580d4a6680264736f6c634300081a0033
Deployed Bytecode Sourcemap
4544:8176:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6460:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7293:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5610:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6737:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7462:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11287:864;;;:::i;:::-;;6646:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12467:250;;;;;;;;;;;;;:::i;:::-;;6840:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3533:148;;;;;;;;;;;;;:::i;:::-;;11020:159;;;;;;;;;;;;;:::i;:::-;;5418:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2960:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5480:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6551:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6967:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12196:263;;;;;;;;;;;;;:::i;:::-;;5544:59;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7142:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3174:351;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6460:83;6497:13;6530:5;;;;;;;;;;;;;;;;;6523:12;;6460:83;:::o;7293:161::-;7368:4;7385:39;7394:12;:10;:12::i;:::-;7408:7;7417:6;7385:8;:39::i;:::-;7442:4;7435:11;;7293:161;;;;:::o;5610:53::-;;;;:::o;6737:95::-;6790:7;5226:1;5281:2;:15;;;;:::i;:::-;5269:9;:27;;;;:::i;:::-;6810:14;;6737:95;:::o;7462:313::-;7560:4;7577:36;7587:6;7595:9;7606:6;7577:9;:36::i;:::-;7624:121;7633:6;7641:12;:10;:12::i;:::-;7655:89;7693:6;7655:89;;;;;;;;;;;;;;;;;:11;:19;7667:6;7655:19;;;;;;;;;;;;;;;:33;7675:12;:10;:12::i;:::-;7655:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7624:8;:121::i;:::-;7763:4;7756:11;;7462:313;;;;;:::o;11287:864::-;3097:12;:10;:12::i;:::-;3087:22;;:6;;;;;;;;;;:22;;;3079:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11361:11:::1;;;;;;;;;;;11360:12;11352:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;11449:42;11412:15;;:80;;;;;;;;;;;;;;;;;;11503:34;11572:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11503:105;;11635:16;:27;;;11685:4;11706:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11635:104;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11619:13;;:120;;;;;;;;;;;;;;;;;;11793:4;11750:16;:40;11775:13;;;;;;;;;;;11750:40;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;11808:64;11825:4;11840:15;;;;;;;;;;;11858:13;:11;:13::i;:::-;11808:8;:64::i;:::-;11883:15;;;;;;;;;;;:31;;;11923:9;11957:4;11977:13;:11;:13::i;:::-;12005:1;12021::::0;12037:7:::1;:5;:7::i;:::-;12059:15;11883:202;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12110:4;12096:11;;:18;;;;;;;;;;;;;;;;;;12139:4;12125:11;;:18;;;;;;;;;;;;;;;;;;11341:810;11287:864::o:0;6646:83::-;6687:5;5226:1;6705:16;;6646:83;:::o;12467:250::-;12531:10;;;;;;;;;;;12517:24;;:12;:10;:12::i;:::-;:24;;;12509:33;;;;;;12553:26;12582:21;12553:50;;12643:1;12622:18;:22;12614:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;12677:32;12690:18;12677:12;:32::i;:::-;12498:219;12467:250::o;6840:119::-;6906:7;6933:9;:18;6943:7;6933:18;;;;;;;;;;;;;;;;6926:25;;6840:119;;;:::o;3533:148::-;3097:12;:10;:12::i;:::-;3087:22;;:6;;;;;;;;;;:22;;;3079:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3640:1:::1;3603:40;;3624:6;::::0;::::1;;;;;;;;3603:40;;;;;;;;;;;;3671:1;3654:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3533:148::o:0;11020:159::-;3097:12;:10;:12::i;:::-;3087:22;;:6;;;;;;;;;;:22;;;3079:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5226:1:::1;5281:2;:15;;;;:::i;:::-;5269:9;:27;;;;:::i;:::-;11073:12;:22;;;;5226:1;5281:2;:15;;;;:::i;:::-;5269:9;:27;;;;:::i;:::-;11106:14;:22;;;;11144:27;5226:1;5281:2;:15;;;;:::i;:::-;5269:9;:27;;;;:::i;:::-;11144;;;;;;:::i;:::-;;;;;;;;11020:159::o:0;5418:55::-;;;;:::o;2960:79::-;2998:7;3025:6;;;;;;;;;;;3018:13;;2960:79;:::o;5480:57::-;;;;:::o;6551:87::-;6590:13;6623:7;;;;;;;;;;;;;;;;;6616:14;;6551:87;:::o;6967:167::-;7045:4;7062:42;7072:12;:10;:12::i;:::-;7086:9;7097:6;7062:9;:42::i;:::-;7122:4;7115:11;;6967:167;;;;:::o;12196:263::-;12263:10;;;;;;;;;;;12249:24;;:12;:10;:12::i;:::-;:24;;;12241:33;;;;;;12285:20;12306:24;12324:4;12306:9;:24::i;:::-;12285:45;;12364:1;12349:12;:16;12341:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;12401:50;12419:4;12426:10;;;;;;;;;;;12438:12;12401:9;:50::i;:::-;12230:229;12196:263::o;5544:59::-;;;;:::o;7142:143::-;7223:7;7250:11;:18;7262:5;7250:18;;;;;;;;;;;;;;;:27;7269:7;7250:27;;;;;;;;;;;;;;;;7243:34;;7142:143;;;;:::o;3174:351::-;3097:12;:10;:12::i;:::-;3087:22;;:6;;;;;;;;;;:22;;;3079:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3283:1:::1;3263:22;;:8;:22;;::::0;3255:71:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3357:6;::::0;::::1;;;;;;;;3345:18;;:8;:18;;::::0;3337:58:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3406:17;3426:6:::0;::::1;;;;;;;;;;3406:26;;3452:8;3443:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;3508:8;3476:41;;3497:9;3476:41;;;;;;;;;;;;3244:281;3174:351:::0;:::o;2537:98::-;2590:7;2617:10;2610:17;;2537:98;:::o;7783:335::-;7893:1;7876:19;;:5;:19;;;7868:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7974:1;7955:21;;:7;:21;;;7947:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8056:6;8026:11;:18;8038:5;8026:18;;;;;;;;;;;;;;;:27;8045:7;8026:27;;;;;;;;;;;;;;;:36;;;;8094:7;8078:32;;8087:5;8078:32;;;8103:6;8078:32;;;;;;:::i;:::-;;;;;;;;7783:335;;;:::o;8126:2287::-;8230:1;8214:18;;:4;:18;;;8206:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8307:1;8293:16;;:2;:16;;;8285:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8377:1;8368:6;:10;8360:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8435:17;8477:7;:5;:7::i;:::-;8469:15;;:4;:15;;;;:32;;;;;8494:7;:5;:7::i;:::-;8488:13;;:2;:13;;;;8469:32;8465:1592;;;8532:1;8521:9;;:12;8518:139;;8565:76;8637:3;8565:67;8587:15;;8577:9;;:25;8576:55;;8617:14;;8576:55;;;8604:12;;8576:55;8565:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;8553:88;;8518:139;8685:13;;;;;;;;;;;8677:21;;:4;:21;;;:55;;;;;8716:15;;;;;;;;;;;8702:30;;:2;:30;;;;8677:55;:81;;;;;8738:16;:20;8755:2;8738:20;;;;;;;;;;;;;;;;;;;;;;;;;8736:22;8677:81;8673:418;;;8798:12;;8788:6;:22;;8780:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8893:14;;8883:6;8867:13;8877:2;8867:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8859:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8969:76;9041:3;8969:67;8991:15;;8981:9;;:25;8980:55;;9021:14;;8980:55;;;9008:12;;8980:55;8969:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;8957:88;;9064:9;;:11;;;;;;;;;:::i;:::-;;;;;;8673:418;9116:13;;;;;;;;;;;9110:19;;:2;:19;;;:43;;;;;9148:4;9133:20;;:4;:20;;;;9110:43;9107:174;;;9186:79;9261:3;9186:70;9208:16;;9198:9;;:26;9197:58;;9240:15;;9197:58;;;9226:13;;9197:58;9186:6;:10;;:70;;;;:::i;:::-;:74;;:79;;;;:::i;:::-;9174:91;;9107:174;9297:28;9328:24;9346:4;9328:9;:24::i;:::-;9297:55;;9372:6;;;;;;;;;;;9371:7;:30;;;;;9388:13;;;;;;;;;;;9382:19;;:2;:19;;;9371:30;:45;;;;;9405:11;;;;;;;;;;;9371:45;:89;;;;;9443:17;;9420:20;:40;9371:89;:123;;;;;9476:18;;9464:9;;:30;9371:123;9367:679;;;9534:13;;9519:12;:28;9515:90;;;9584:1;9572:9;:13;;;;9515:90;9643:1;9631:9;;:13;9623:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;9691:69;9708:51;9712:6;9720:38;9724:20;9746:11;;9720:3;:38::i;:::-;9708:3;:51::i;:::-;9691:16;:69::i;:::-;9779:26;9808:21;9779:50;;9873:1;9852:18;:22;9848:106;;;9899:35;9912:21;9899:12;:35::i;:::-;9848:106;9972:9;;:11;;;;;;;;;:::i;:::-;;;;;;10018:12;10002:13;:28;;;;9496:550;9367:679;8503:1554;8465:1592;10082:1;10072:9;:11;10069:161;;;10122:39;10151:9;10122;:24;10140:4;10122:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;10097:9;:24;10115:4;10097:24;;;;;;;;;;;;;;;:64;;;;10202:4;10179:39;;10188:4;10179:39;;;10208:9;10179:39;;;;;;:::i;:::-;;;;;;;;10069:161;10256:27;10276:6;10256:9;:15;10266:4;10256:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;10240:9;:15;10250:4;10240:15;;;;;;;;;;;;;;;:43;;;;10308:40;10326:21;10337:9;10326:6;:10;;:21;;;;:::i;:::-;10308:9;:13;10318:2;10308:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;10294:9;:13;10304:2;10294:13;;;;;;;;;;;;;;;:54;;;;10379:2;10364:41;;10373:4;10364:41;;;10383:21;10394:9;10383:6;:10;;:21;;;;:::i;:::-;10364:41;;;;;;:::i;:::-;;;;;;;;8195:2218;8126:2287;;;:::o;896:190::-;982:7;1015:1;1010;:6;;1018:12;1002:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1042:9;1058:1;1054;:5;;;;:::i;:::-;1042:17;;1077:1;1070:8;;;896:190;;;;;:::o;11187:92::-;11244:10;;;;;;;;;;;:19;;:27;11264:6;11244:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11187:92;:::o;1094:246::-;1152:7;1181:1;1176;:6;1172:47;;1206:1;1199:8;;;;1172:47;1229:9;1245:1;1241;:5;;;;:::i;:::-;1229:17;;1274:1;1269;1265;:5;;;;:::i;:::-;:10;1257:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1331:1;1324:8;;;1094:246;;;;;:::o;1348:132::-;1406:7;1433:39;1437:1;1440;1433:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1426:46;;1348:132;;;;:::o;10423:98::-;10480:7;10507:1;10505;:3;10504:9;;10512:1;10504:9;;;10510:1;10504:9;10497:16;;10423:98;;;;:::o;10529:483::-;6082:4;6073:6;;:13;;;;;;;;;;;;;;;;;;10607:21:::1;10645:1;10631:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10607:40;;10676:4;10658;10663:1;10658:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10702:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10692:4;10697:1;10692:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10735:62;10752:4;10767:15;;;;;;;;;;;10785:11;10735:8;:62::i;:::-;10808:15;;;;;;;;;;;:66;;;10889:11;10915:1;10931:4;10958;10978:15;10808:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10596:416;6118:5:::0;6109:6;;:14;;;;;;;;;;;;;;;;;;10529:483;:::o;565:179::-;623:7;643:9;659:1;655;:5;;;;:::i;:::-;643:17;;684:1;679;:6;;671:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;735:1;728:8;;;565:179;;;;:::o;752:136::-;810:7;837:43;841:1;844;837:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;830:50;;752:136;;;;:::o;1488:189::-;1574:7;1606:1;1602;:5;1609:12;1594:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1633:9;1649:1;1645;:5;;;;:::i;:::-;1633:17;;1668:1;1661:8;;;1488: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:248::-;369:1;379:113;393:6;390:1;387:13;379:113;;;478:1;473:3;469:11;463:18;459:1;454:3;450:11;443:39;415:2;412:1;408:10;403:15;;379:113;;;526:1;517:6;512:3;508:16;501:27;349:186;287:248;;;:::o;541:102::-;582:6;633:2;629:7;624:2;617:5;613:14;609:28;599:38;;541:102;;;:::o;649:377::-;737:3;765:39;798:5;765:39;:::i;:::-;820:71;884:6;879:3;820:71;:::i;:::-;813:78;;900:65;958:6;953:3;946:4;939:5;935:16;900:65;:::i;:::-;990:29;1012:6;990:29;:::i;:::-;985:3;981:39;974:46;;741:285;649:377;;;;:::o;1032:313::-;1145:4;1183:2;1172:9;1168:18;1160:26;;1232:9;1226:4;1222:20;1218:1;1207:9;1203:17;1196:47;1260:78;1333:4;1324:6;1260:78;:::i;:::-;1252:86;;1032:313;;;;:::o;1432:117::-;1541:1;1538;1531:12;1678:126;1715:7;1755:42;1748:5;1744:54;1733:65;;1678:126;;;:::o;1810:96::-;1847:7;1876:24;1894:5;1876:24;:::i;:::-;1865:35;;1810:96;;;:::o;1912:122::-;1985:24;2003:5;1985:24;:::i;:::-;1978:5;1975:35;1965:63;;2024:1;2021;2014:12;1965:63;1912:122;:::o;2040:139::-;2086:5;2124:6;2111:20;2102:29;;2140:33;2167:5;2140:33;:::i;:::-;2040:139;;;;:::o;2185:77::-;2222:7;2251:5;2240:16;;2185:77;;;:::o;2268:122::-;2341:24;2359:5;2341:24;:::i;:::-;2334:5;2331:35;2321:63;;2380:1;2377;2370:12;2321:63;2268:122;:::o;2396:139::-;2442:5;2480:6;2467:20;2458:29;;2496:33;2523:5;2496:33;:::i;:::-;2396:139;;;;:::o;2541:474::-;2609:6;2617;2666:2;2654:9;2645:7;2641:23;2637:32;2634:119;;;2672:79;;:::i;:::-;2634:119;2792:1;2817:53;2862:7;2853:6;2842:9;2838:22;2817:53;:::i;:::-;2807:63;;2763:117;2919:2;2945:53;2990:7;2981:6;2970:9;2966:22;2945:53;:::i;:::-;2935:63;;2890:118;2541:474;;;;;:::o;3021:90::-;3055:7;3098:5;3091:13;3084:21;3073:32;;3021:90;;;:::o;3117:109::-;3198:21;3213:5;3198:21;:::i;:::-;3193:3;3186:34;3117:109;;:::o;3232:210::-;3319:4;3357:2;3346:9;3342:18;3334:26;;3370:65;3432:1;3421:9;3417:17;3408:6;3370:65;:::i;:::-;3232:210;;;;:::o;3448:118::-;3535:24;3553:5;3535:24;:::i;:::-;3530:3;3523:37;3448:118;;:::o;3572:222::-;3665:4;3703:2;3692:9;3688:18;3680:26;;3716:71;3784:1;3773:9;3769:17;3760:6;3716:71;:::i;:::-;3572:222;;;;:::o;3800:619::-;3877:6;3885;3893;3942:2;3930:9;3921:7;3917:23;3913:32;3910:119;;;3948:79;;:::i;:::-;3910:119;4068:1;4093:53;4138:7;4129:6;4118:9;4114:22;4093:53;:::i;:::-;4083:63;;4039:117;4195:2;4221:53;4266:7;4257:6;4246:9;4242:22;4221:53;:::i;:::-;4211:63;;4166:118;4323:2;4349:53;4394:7;4385:6;4374:9;4370:22;4349:53;:::i;:::-;4339:63;;4294:118;3800:619;;;;;:::o;4425:86::-;4460:7;4500:4;4493:5;4489:16;4478:27;;4425:86;;;:::o;4517:112::-;4600:22;4616:5;4600:22;:::i;:::-;4595:3;4588:35;4517:112;;:::o;4635:214::-;4724:4;4762:2;4751:9;4747:18;4739:26;;4775:67;4839:1;4828:9;4824:17;4815:6;4775:67;:::i;:::-;4635:214;;;;:::o;4855:329::-;4914:6;4963:2;4951:9;4942:7;4938:23;4934:32;4931:119;;;4969:79;;:::i;:::-;4931:119;5089:1;5114:53;5159:7;5150:6;5139:9;5135:22;5114:53;:::i;:::-;5104:63;;5060:117;4855:329;;;;:::o;5190:118::-;5277:24;5295:5;5277:24;:::i;:::-;5272:3;5265:37;5190:118;;:::o;5314:222::-;5407:4;5445:2;5434:9;5430:18;5422:26;;5458:71;5526:1;5515:9;5511:17;5502:6;5458:71;:::i;:::-;5314:222;;;;:::o;5542:474::-;5610:6;5618;5667:2;5655:9;5646:7;5642:23;5638:32;5635:119;;;5673:79;;:::i;:::-;5635:119;5793:1;5818:53;5863:7;5854:6;5843:9;5839:22;5818:53;:::i;:::-;5808:63;;5764:117;5920:2;5946:53;5991:7;5982:6;5971:9;5967:22;5946:53;:::i;:::-;5936:63;;5891:118;5542:474;;;;;:::o;6022:180::-;6070:77;6067:1;6060:88;6167:4;6164:1;6157:15;6191:4;6188:1;6181:15;6208:102;6250:8;6297:5;6294:1;6290:13;6269:34;;6208:102;;;:::o;6316:848::-;6377:5;6384:4;6408:6;6399:15;;6432:5;6423:14;;6446:712;6467:1;6457:8;6454:15;6446:712;;;6562:4;6557:3;6553:14;6547:4;6544:24;6541:50;;;6571:18;;:::i;:::-;6541:50;6621:1;6611:8;6607:16;6604:451;;;7036:4;7029:5;7025:16;7016:25;;6604:451;7086:4;7080;7076:15;7068:23;;7116:32;7139:8;7116:32;:::i;:::-;7104:44;;6446:712;;;6316:848;;;;;;;:::o;7170:1073::-;7224:5;7415:8;7405:40;;7436:1;7427:10;;7438:5;;7405:40;7464:4;7454:36;;7481:1;7472:10;;7483:5;;7454:36;7550:4;7598:1;7593:27;;;;7634:1;7629:191;;;;7543:277;;7593:27;7611:1;7602:10;;7613:5;;;7629:191;7674:3;7664:8;7661:17;7658:43;;;7681:18;;:::i;:::-;7658:43;7730:8;7727:1;7723:16;7714:25;;7765:3;7758:5;7755:14;7752:40;;;7772:18;;:::i;:::-;7752:40;7805:5;;;7543:277;;7929:2;7919:8;7916:16;7910:3;7904:4;7901:13;7897:36;7879:2;7869:8;7866:16;7861:2;7855:4;7852:12;7848:35;7832:111;7829:246;;;7985:8;7979:4;7975:19;7966:28;;8020:3;8013:5;8010:14;8007:40;;;8027:18;;:::i;:::-;8007:40;8060:5;;7829:246;8100:42;8138:3;8128:8;8122:4;8119:1;8100:42;:::i;:::-;8085:57;;;;8174:4;8169:3;8165:14;8158:5;8155:25;8152:51;;;8183:18;;:::i;:::-;8152:51;8232:4;8225:5;8221:16;8212:25;;7170:1073;;;;;;:::o;8249:281::-;8307:5;8331:23;8349:4;8331:23;:::i;:::-;8323:31;;8375:25;8391:8;8375:25;:::i;:::-;8363:37;;8419:104;8456:66;8446:8;8440:4;8419:104;:::i;:::-;8410:113;;8249:281;;;;:::o;8536:410::-;8576:7;8599:20;8617:1;8599:20;:::i;:::-;8594:25;;8633:20;8651:1;8633:20;:::i;:::-;8628:25;;8688:1;8685;8681:9;8710:30;8728:11;8710:30;:::i;:::-;8699:41;;8889:1;8880:7;8876:15;8873:1;8870:22;8850:1;8843:9;8823:83;8800:139;;8919:18;;:::i;:::-;8800:139;8584:362;8536:410;;;;:::o;8952:182::-;9092:34;9088:1;9080:6;9076:14;9069:58;8952:182;:::o;9140:366::-;9282:3;9303:67;9367:2;9362:3;9303:67;:::i;:::-;9296:74;;9379:93;9468:3;9379:93;:::i;:::-;9497:2;9492:3;9488:12;9481:19;;9140:366;;;:::o;9512:419::-;9678:4;9716:2;9705:9;9701:18;9693:26;;9765:9;9759:4;9755:20;9751:1;9740:9;9736:17;9729:47;9793:131;9919:4;9793:131;:::i;:::-;9785:139;;9512:419;;;:::o;9937:174::-;10077:26;10073:1;10065:6;10061:14;10054:50;9937:174;:::o;10117:366::-;10259:3;10280:67;10344:2;10339:3;10280:67;:::i;:::-;10273:74;;10356:93;10445:3;10356:93;:::i;:::-;10474:2;10469:3;10465:12;10458:19;;10117:366;;;:::o;10489:419::-;10655:4;10693:2;10682:9;10678:18;10670:26;;10742:9;10736:4;10732:20;10728:1;10717:9;10713:17;10706:47;10770:131;10896:4;10770:131;:::i;:::-;10762:139;;10489:419;;;:::o;10914:143::-;10971:5;11002:6;10996:13;10987:22;;11018:33;11045:5;11018:33;:::i;:::-;10914:143;;;;:::o;11063:351::-;11133:6;11182:2;11170:9;11161:7;11157:23;11153:32;11150:119;;;11188:79;;:::i;:::-;11150:119;11308:1;11333:64;11389:7;11380:6;11369:9;11365:22;11333:64;:::i;:::-;11323:74;;11279:128;11063:351;;;;:::o;11420:332::-;11541:4;11579:2;11568:9;11564:18;11556:26;;11592:71;11660:1;11649:9;11645:17;11636:6;11592:71;:::i;:::-;11673:72;11741:2;11730:9;11726:18;11717:6;11673:72;:::i;:::-;11420:332;;;;;:::o;11758:85::-;11803:7;11832:5;11821:16;;11758:85;;;:::o;11849:60::-;11877:3;11898:5;11891:12;;11849:60;;;:::o;11915:158::-;11973:9;12006:61;12024:42;12033:32;12059:5;12033:32;:::i;:::-;12024:42;:::i;:::-;12006:61;:::i;:::-;11993:74;;11915:158;;;:::o;12079:147::-;12174:45;12213:5;12174:45;:::i;:::-;12169:3;12162:58;12079:147;;:::o;12232:807::-;12481:4;12519:3;12508:9;12504:19;12496:27;;12533:71;12601:1;12590:9;12586:17;12577:6;12533:71;:::i;:::-;12614:72;12682:2;12671:9;12667:18;12658:6;12614:72;:::i;:::-;12696:80;12772:2;12761:9;12757:18;12748:6;12696:80;:::i;:::-;12786;12862:2;12851:9;12847:18;12838:6;12786:80;:::i;:::-;12876:73;12944:3;12933:9;12929:19;12920:6;12876:73;:::i;:::-;12959;13027:3;13016:9;13012:19;13003:6;12959:73;:::i;:::-;12232:807;;;;;;;;;:::o;13045:143::-;13102:5;13133:6;13127:13;13118:22;;13149:33;13176:5;13149:33;:::i;:::-;13045:143;;;;:::o;13194:663::-;13282:6;13290;13298;13347:2;13335:9;13326:7;13322:23;13318:32;13315:119;;;13353:79;;:::i;:::-;13315:119;13473:1;13498:64;13554:7;13545:6;13534:9;13530:22;13498:64;:::i;:::-;13488:74;;13444:128;13611:2;13637:64;13693:7;13684:6;13673:9;13669:22;13637:64;:::i;:::-;13627:74;;13582:129;13750:2;13776:64;13832:7;13823:6;13812:9;13808:22;13776:64;:::i;:::-;13766:74;;13721:129;13194:663;;;;;:::o;13863:167::-;14003:19;13999:1;13991:6;13987:14;13980:43;13863:167;:::o;14036:366::-;14178:3;14199:67;14263:2;14258:3;14199:67;:::i;:::-;14192:74;;14275:93;14364:3;14275:93;:::i;:::-;14393:2;14388:3;14384:12;14377:19;;14036:366;;;:::o;14408:419::-;14574:4;14612:2;14601:9;14597:18;14589:26;;14661:9;14655:4;14651:20;14647:1;14636:9;14632:17;14625:47;14689:131;14815:4;14689:131;:::i;:::-;14681:139;;14408:419;;;:::o;14833:170::-;14973:22;14969:1;14961:6;14957:14;14950:46;14833:170;:::o;15009:366::-;15151:3;15172:67;15236:2;15231:3;15172:67;:::i;:::-;15165:74;;15248:93;15337:3;15248:93;:::i;:::-;15366:2;15361:3;15357:12;15350:19;;15009:366;;;:::o;15381:419::-;15547:4;15585:2;15574:9;15570:18;15562:26;;15634:9;15628:4;15624:20;15620:1;15609:9;15605:17;15598:47;15662:131;15788:4;15662:131;:::i;:::-;15654:139;;15381:419;;;:::o;15806:223::-;15946:34;15942:1;15934:6;15930:14;15923:58;16015:6;16010:2;16002:6;15998:15;15991:31;15806:223;:::o;16035:366::-;16177:3;16198:67;16262:2;16257:3;16198:67;:::i;:::-;16191:74;;16274:93;16363:3;16274:93;:::i;:::-;16392:2;16387:3;16383:12;16376:19;;16035:366;;;:::o;16407:419::-;16573:4;16611:2;16600:9;16596:18;16588:26;;16660:9;16654:4;16650:20;16646:1;16635:9;16631:17;16624:47;16688:131;16814:4;16688:131;:::i;:::-;16680:139;;16407:419;;;:::o;16832:177::-;16972:29;16968:1;16960:6;16956:14;16949:53;16832:177;:::o;17015:366::-;17157:3;17178:67;17242:2;17237:3;17178:67;:::i;:::-;17171:74;;17254:93;17343:3;17254:93;:::i;:::-;17372:2;17367:3;17363:12;17356:19;;17015:366;;;:::o;17387:419::-;17553:4;17591:2;17580:9;17576:18;17568:26;;17640:9;17634:4;17630:20;17626:1;17615:9;17611:17;17604:47;17668:131;17794:4;17668:131;:::i;:::-;17660:139;;17387:419;;;:::o;17812:223::-;17952:34;17948:1;17940:6;17936:14;17929:58;18021:6;18016:2;18008:6;18004:15;17997:31;17812:223;:::o;18041:366::-;18183:3;18204:67;18268:2;18263:3;18204:67;:::i;:::-;18197:74;;18280:93;18369:3;18280:93;:::i;:::-;18398:2;18393:3;18389:12;18382:19;;18041:366;;;:::o;18413:419::-;18579:4;18617:2;18606:9;18602:18;18594:26;;18666:9;18660:4;18656:20;18652:1;18641:9;18637:17;18630:47;18694:131;18820:4;18694:131;:::i;:::-;18686:139;;18413:419;;;:::o;18838:221::-;18978:34;18974:1;18966:6;18962:14;18955:58;19047:4;19042:2;19034:6;19030:15;19023:29;18838:221;:::o;19065:366::-;19207:3;19228:67;19292:2;19287:3;19228:67;:::i;:::-;19221:74;;19304:93;19393:3;19304:93;:::i;:::-;19422:2;19417:3;19413:12;19406:19;;19065:366;;;:::o;19437:419::-;19603:4;19641:2;19630:9;19626:18;19618:26;;19690:9;19684:4;19680:20;19676:1;19665:9;19661:17;19654:47;19718:131;19844:4;19718:131;:::i;:::-;19710:139;;19437:419;;;:::o;19862:224::-;20002:34;19998:1;19990:6;19986:14;19979:58;20071:7;20066:2;20058:6;20054:15;20047:32;19862:224;:::o;20092:366::-;20234:3;20255:67;20319:2;20314:3;20255:67;:::i;:::-;20248:74;;20331:93;20420:3;20331:93;:::i;:::-;20449:2;20444:3;20440:12;20433:19;;20092:366;;;:::o;20464:419::-;20630:4;20668:2;20657:9;20653:18;20645:26;;20717:9;20711:4;20707:20;20703:1;20692:9;20688:17;20681:47;20745:131;20871:4;20745:131;:::i;:::-;20737:139;;20464:419;;;:::o;20889:222::-;21029:34;21025:1;21017:6;21013:14;21006:58;21098:5;21093:2;21085:6;21081:15;21074:30;20889:222;:::o;21117:366::-;21259:3;21280:67;21344:2;21339:3;21280:67;:::i;:::-;21273:74;;21356:93;21445:3;21356:93;:::i;:::-;21474:2;21469:3;21465:12;21458:19;;21117:366;;;:::o;21489:419::-;21655:4;21693:2;21682:9;21678:18;21670:26;;21742:9;21736:4;21732:20;21728:1;21717:9;21713:17;21706:47;21770:131;21896:4;21770:131;:::i;:::-;21762:139;;21489:419;;;:::o;21914:228::-;22054:34;22050:1;22042:6;22038:14;22031:58;22123:11;22118:2;22110:6;22106:15;22099:36;21914:228;:::o;22148:366::-;22290:3;22311:67;22375:2;22370:3;22311:67;:::i;:::-;22304:74;;22387:93;22476:3;22387:93;:::i;:::-;22505:2;22500:3;22496:12;22489:19;;22148:366;;;:::o;22520:419::-;22686:4;22724:2;22713:9;22709:18;22701:26;;22773:9;22767:4;22763:20;22759:1;22748:9;22744:17;22737:47;22801:131;22927:4;22801:131;:::i;:::-;22793:139;;22520:419;;;:::o;22945:175::-;23085:27;23081:1;23073:6;23069:14;23062:51;22945:175;:::o;23126:366::-;23268:3;23289:67;23353:2;23348:3;23289:67;:::i;:::-;23282:74;;23365:93;23454:3;23365:93;:::i;:::-;23483:2;23478:3;23474:12;23467:19;;23126:366;;;:::o;23498:419::-;23664:4;23702:2;23691:9;23687:18;23679:26;;23751:9;23745:4;23741:20;23737:1;23726:9;23722:17;23715:47;23779:131;23905:4;23779:131;:::i;:::-;23771:139;;23498:419;;;:::o;23923:191::-;23963:3;23982:20;24000:1;23982:20;:::i;:::-;23977:25;;24016:20;24034:1;24016:20;:::i;:::-;24011:25;;24059:1;24056;24052:9;24045:16;;24080:3;24077:1;24074:10;24071:36;;;24087:18;;:::i;:::-;24071:36;23923:191;;;;:::o;24120:176::-;24260:28;24256:1;24248:6;24244:14;24237:52;24120:176;:::o;24302:366::-;24444:3;24465:67;24529:2;24524:3;24465:67;:::i;:::-;24458:74;;24541:93;24630:3;24541:93;:::i;:::-;24659:2;24654:3;24650:12;24643:19;;24302:366;;;:::o;24674:419::-;24840:4;24878:2;24867:9;24863:18;24855:26;;24927:9;24921:4;24917:20;24913:1;24902:9;24898:17;24891:47;24955:131;25081:4;24955:131;:::i;:::-;24947:139;;24674:419;;;:::o;25099:233::-;25138:3;25161:24;25179:5;25161:24;:::i;:::-;25152:33;;25207:66;25200:5;25197:77;25194:103;;25277:18;;:::i;:::-;25194:103;25324:1;25317:5;25313:13;25306:20;;25099:233;;;:::o;25338:173::-;25478:25;25474:1;25466:6;25462:14;25455:49;25338:173;:::o;25517:366::-;25659:3;25680:67;25744:2;25739:3;25680:67;:::i;:::-;25673:74;;25756:93;25845:3;25756:93;:::i;:::-;25874:2;25869:3;25865:12;25858:19;;25517:366;;;:::o;25889:419::-;26055:4;26093:2;26082:9;26078:18;26070:26;;26142:9;26136:4;26132:20;26128:1;26117:9;26113:17;26106:47;26170:131;26296:4;26170:131;:::i;:::-;26162:139;;25889:419;;;:::o;26314:194::-;26354:4;26374:20;26392:1;26374:20;:::i;:::-;26369:25;;26408:20;26426:1;26408:20;:::i;:::-;26403:25;;26452:1;26449;26445:9;26437:17;;26476:1;26470:4;26467:11;26464:37;;;26481:18;;:::i;:::-;26464:37;26314:194;;;;:::o;26514:180::-;26562:77;26559:1;26552:88;26659:4;26656:1;26649:15;26683:4;26680:1;26673:15;26700:185;26740:1;26757:20;26775:1;26757:20;:::i;:::-;26752:25;;26791:20;26809:1;26791:20;:::i;:::-;26786:25;;26830:1;26820:35;;26835:18;;:::i;:::-;26820:35;26877:1;26874;26870:9;26865:14;;26700:185;;;;:::o;26891:220::-;27031:34;27027:1;27019:6;27015:14;27008:58;27100:3;27095:2;27087:6;27083:15;27076:28;26891:220;:::o;27117:366::-;27259:3;27280:67;27344:2;27339:3;27280:67;:::i;:::-;27273:74;;27356:93;27445:3;27356:93;:::i;:::-;27474:2;27469:3;27465:12;27458:19;;27117:366;;;:::o;27489:419::-;27655:4;27693:2;27682:9;27678:18;27670:26;;27742:9;27736:4;27732:20;27728:1;27717:9;27713:17;27706:47;27770:131;27896:4;27770:131;:::i;:::-;27762:139;;27489:419;;;:::o;27914:180::-;27962:77;27959:1;27952:88;28059:4;28056:1;28049:15;28083:4;28080:1;28073:15;28100:180;28148:77;28145:1;28138:88;28245:4;28242:1;28235:15;28269:4;28266:1;28259:15;28286:114;28353:6;28387:5;28381:12;28371:22;;28286:114;;;:::o;28406:184::-;28505:11;28539:6;28534:3;28527:19;28579:4;28574:3;28570:14;28555:29;;28406:184;;;;:::o;28596:132::-;28663:4;28686:3;28678:11;;28716:4;28711:3;28707:14;28699:22;;28596:132;;;:::o;28734:108::-;28811:24;28829:5;28811:24;:::i;:::-;28806:3;28799:37;28734:108;;:::o;28848:179::-;28917:10;28938:46;28980:3;28972:6;28938:46;:::i;:::-;29016:4;29011:3;29007:14;28993:28;;28848:179;;;;:::o;29033:113::-;29103:4;29135;29130:3;29126:14;29118:22;;29033:113;;;:::o;29182:732::-;29301:3;29330:54;29378:5;29330:54;:::i;:::-;29400:86;29479:6;29474:3;29400:86;:::i;:::-;29393:93;;29510:56;29560:5;29510:56;:::i;:::-;29589:7;29620:1;29605:284;29630:6;29627:1;29624:13;29605:284;;;29706:6;29700:13;29733:63;29792:3;29777:13;29733:63;:::i;:::-;29726:70;;29819:60;29872:6;29819:60;:::i;:::-;29809:70;;29665:224;29652:1;29649;29645:9;29640:14;;29605:284;;;29609:14;29905:3;29898:10;;29306:608;;;29182:732;;;;:::o;29920:831::-;30183:4;30221:3;30210:9;30206:19;30198:27;;30235:71;30303:1;30292:9;30288:17;30279:6;30235:71;:::i;:::-;30316:80;30392:2;30381:9;30377:18;30368:6;30316:80;:::i;:::-;30443:9;30437:4;30433:20;30428:2;30417:9;30413:18;30406:48;30471:108;30574:4;30565:6;30471:108;:::i;:::-;30463:116;;30589:72;30657:2;30646:9;30642:18;30633:6;30589:72;:::i;:::-;30671:73;30739:3;30728:9;30724:19;30715:6;30671:73;:::i;:::-;29920:831;;;;;;;;:::o;30757:177::-;30897:29;30893:1;30885:6;30881:14;30874:53;30757:177;:::o;30940:366::-;31082:3;31103:67;31167:2;31162:3;31103:67;:::i;:::-;31096:74;;31179:93;31268:3;31179:93;:::i;:::-;31297:2;31292:3;31288:12;31281:19;;30940:366;;;:::o;31312:419::-;31478:4;31516:2;31505:9;31501:18;31493:26;;31565:9;31559:4;31555:20;31551:1;31540:9;31536:17;31529:47;31593:131;31719:4;31593:131;:::i;:::-;31585:139;;31312:419;;;:::o
Swarm Source
ipfs://5bdd68e9f59d984af60321aa9d4d42fd176cae01a448cbf3c5bf1580d4a66802
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.