Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000 YUME
Holders
119
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
0 YUMEValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
YUME
Compiler Version
v0.8.23+commit.f704f362
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-08-08 */ // SPDX-License-Identifier: MIT /* Meet $YUME, Putin's 4-year-old Akita dog. WEB : https://www.yumeinu.xyz TG : https://t.me/yume_erc X : https://x.com/yumeerc */ pragma solidity 0.8.23; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract YUME is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping (address => bool) private bots; address payable private _taxWallet; uint256 private _initialBuyTax=23; uint256 private _initialSellTax=25; uint256 private _finalBuyTax=0; uint256 private _finalSellTax=0; uint256 private _reduceBuyTaxAt=20; uint256 private _reduceSellTaxAt=25; uint256 private _preventSwapBefore=20; uint256 private _buyCount=0; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 1_000_000_000 * 10**_decimals; string private constant _name = unicode"Yume Putin's Dog"; string private constant _symbol = unicode"YUME"; uint256 public _maxTxAmount = 20_000_000 * 10**_decimals; uint256 public _maxWalletSize = 20_000_000 * 10**_decimals; uint256 public _taxSwapThreshold= 2_000_000 * 10**_decimals; uint256 public _maxTaxSwap= 20_000_000 * 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); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _taxWallet = payable(_msgSender()); _balances[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_taxWallet] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); uint256 taxAmount=0; if (from != owner() && to != owner()) { require(!bots[from] && !bots[to]); taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); _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 withdrawETH(address payable to, uint256 amount) external onlyOwner { require(address(this).balance >= amount, "Insufficient ETH balance"); to.transfer(amount); } function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); swapEnabled = true; tradingOpen = true; } receive() external payable {} function manualSwap() external onlyOwner() { require(_msgSender()==_taxWallet); uint256 tokenBalance=balanceOf(address(this)); if(tokenBalance>0){ swapTokensForEth(tokenBalance); } uint256 ethBalance=address(this).balance; if(ethBalance>0){ sendETHToFee(ethBalance); } } function recoverAllERC20(address tokenAddress) public onlyOwner { uint256 balance = IERC20(tokenAddress).balanceOf(address(this)); IERC20(tokenAddress).transfer(owner(), balance); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"recoverAllERC20","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 payable","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052601760065560196007555f6008555f6009556014600a556019600b556014600c555f600d556009600a620000399190620005f9565b6301312d006200004a919062000649565b600e556009600a6200005d9190620005f9565b6301312d006200006e919062000649565b600f556009600a620000819190620005f9565b621e848062000091919062000649565b6010556009600a620000a49190620005f9565b6301312d00620000b5919062000649565b6011555f601360156101000a81548160ff0219169083151502179055505f601360166101000a81548160ff0219169083151502179055505f6014555f60155534801562000100575f80fd5b505f620001126200043960201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001be6200043960201b60201c565b60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a6200020d9190620005f9565b633b9aca006200021e919062000649565b60015f620002316200043960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f620002836200044060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620003ad6200043960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6200040b9190620005f9565b633b9aca006200041c919062000649565b6040516200042b9190620006a4565b60405180910390a3620006bf565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115620004f157808604811115620004c957620004c862000467565b5b6001851615620004d95780820291505b8081029050620004e98562000494565b9450620004a9565b94509492505050565b5f826200050b5760019050620005dd565b816200051a575f9050620005dd565b81600181146200053357600281146200053e5762000574565b6001915050620005dd565b60ff84111562000553576200055262000467565b5b8360020a9150848211156200056d576200056c62000467565b5b50620005dd565b5060208310610133831016604e8410600b8410161715620005ae5782820a905083811115620005a857620005a762000467565b5b620005dd565b620005bd8484846001620004a0565b92509050818404811115620005d757620005d662000467565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f6200060582620005e4565b91506200061283620005ed565b9250620006417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620004fa565b905092915050565b5f6200065582620005e4565b91506200066283620005e4565b92508282026200067281620005e4565b915082820484148315176200068c576200068b62000467565b5b5092915050565b6200069e81620005e4565b82525050565b5f602082019050620006b95f83018462000693565b92915050565b6132f480620006cd5f395ff3fe608060405260043610610122575f3560e01c8063751039fc1161009f578063a9059cbb11610063578063a9059cbb1461039b578063b054b536146103d7578063bf474bed146103ff578063c9567bf914610429578063dd62ed3e1461043f57610129565b8063751039fc146102dd5780637d1db4a5146102f35780638da5cb5b1461031d5780638f9a55c01461034757806395d89b411461037157610129565b8063313ce567116100e6578063313ce567146102235780634782f7791461024d57806351bc3c851461027557806370a082311461028b578063715018a6146102c757610129565b806306fdde031461012d578063095ea7b3146101575780630faee56f1461019357806318160ddd146101bd57806323b872dd146101e757610129565b3661012957005b5f80fd5b348015610138575f80fd5b5061014161047b565b60405161014e9190612326565b60405180910390f35b348015610162575f80fd5b5061017d600480360381019061017891906123d7565b6104b8565b60405161018a919061242f565b60405180910390f35b34801561019e575f80fd5b506101a76104d5565b6040516101b49190612457565b60405180910390f35b3480156101c8575f80fd5b506101d16104db565b6040516101de9190612457565b60405180910390f35b3480156101f2575f80fd5b5061020d60048036038101906102089190612470565b6104fe565b60405161021a919061242f565b60405180910390f35b34801561022e575f80fd5b506102376105d2565b60405161024491906124db565b60405180910390f35b348015610258575f80fd5b50610273600480360381019061026e919061252f565b6105da565b005b348015610280575f80fd5b506102896106f9565b005b348015610296575f80fd5b506102b160048036038101906102ac919061256d565b610824565b6040516102be9190612457565b60405180910390f35b3480156102d2575f80fd5b506102db61086a565b005b3480156102e8575f80fd5b506102f16109b8565b005b3480156102fe575f80fd5b50610307610ae7565b6040516103149190612457565b60405180910390f35b348015610328575f80fd5b50610331610aed565b60405161033e91906125a7565b60405180910390f35b348015610352575f80fd5b5061035b610b14565b6040516103689190612457565b60405180910390f35b34801561037c575f80fd5b50610385610b1a565b6040516103929190612326565b60405180910390f35b3480156103a6575f80fd5b506103c160048036038101906103bc91906123d7565b610b57565b6040516103ce919061242f565b60405180910390f35b3480156103e2575f80fd5b506103fd60048036038101906103f8919061256d565b610b74565b005b34801561040a575f80fd5b50610413610d0a565b6040516104209190612457565b60405180910390f35b348015610434575f80fd5b5061043d610d10565b005b34801561044a575f80fd5b50610465600480360381019061046091906125c0565b611232565b6040516104729190612457565b60405180910390f35b60606040518060400160405280601081526020017f59756d6520507574696e277320446f6700000000000000000000000000000000815250905090565b5f6104cb6104c46112b4565b84846112bb565b6001905092915050565b60115481565b5f6009600a6104ea919061275a565b633b9aca006104f991906127a4565b905090565b5f61050a84848461147e565b6105c7846105166112b4565b6105c2856040518060600160405280602881526020016132976028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105796112b4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d889092919063ffffffff16565b6112bb565b600190509392505050565b5f6009905090565b6105e26112b4565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461066e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106659061282f565b60405180910390fd5b804710156106b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a890612897565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156106f4573d5f803e3d5ffd5b505050565b6107016112b4565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461078d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107849061282f565b60405180910390fd5b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107cd6112b4565b73ffffffffffffffffffffffffffffffffffffffff16146107ec575f80fd5b5f6107f630610824565b90505f81111561080a5761080981611dea565b5b5f4790505f8111156108205761081f81612055565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6108726112b4565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f59061282f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6109c06112b4565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a439061282f565b60405180910390fd5b6009600a610a5a919061275a565b633b9aca00610a6991906127a4565b600e819055506009600a610a7d919061275a565b633b9aca00610a8c91906127a4565b600f819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610ac1919061275a565b633b9aca00610ad091906127a4565b604051610add9190612457565b60405180910390a1565b600e5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600f5481565b60606040518060400160405280600481526020017f59554d4500000000000000000000000000000000000000000000000000000000815250905090565b5f610b6a610b636112b4565b848461147e565b6001905092915050565b610b7c6112b4565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bff9061282f565b60405180910390fd5b5f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610c4291906125a7565b602060405180830381865afa158015610c5d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c8191906128c9565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb610ca7610aed565b836040518363ffffffff1660e01b8152600401610cc59291906128f4565b6020604051808303815f875af1158015610ce1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d059190612945565b505050565b60105481565b610d186112b4565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610da4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9b9061282f565b60405180910390fd5b601360149054906101000a900460ff1615610df4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610deb906129ba565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610e903060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610e7c919061275a565b633b9aca00610e8b91906127a4565b6112bb565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610efa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f1e91906129ec565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fa4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc891906129ec565b6040518363ffffffff1660e01b8152600401610fe5929190612a17565b6020604051808303815f875af1158015611001573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061102591906129ec565b60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306110ac30610824565b5f806110b6610aed565b426040518863ffffffff1660e01b81526004016110d896959493929190612a80565b60606040518083038185885af11580156110f4573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906111199190612adf565b50505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016111b99291906128f4565b6020604051808303815f875af11580156111d5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111f99190612945565b506001601360166101000a81548160ff0219169083151502179055506001601360146101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611329576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132090612b9f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611397576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138e90612c2d565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114719190612457565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e390612cbb565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361155a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155190612d49565b60405180910390fd5b5f811161159c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159390612dd7565b60405180910390fd5b5f6115a5610aed565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561161357506115e3610aed565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611ad85760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156116b6575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b6116be575f80fd5b6116fa60646116ec600a54600d54116116d9576006546116dd565b6008545b856120bd90919063ffffffff16565b61213490919063ffffffff16565b905060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156117a5575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156117f8575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156118b257600e54821115611842576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183990612e3f565b60405180910390fd5b600f548261184f85610824565b6118599190612e5d565b111561189a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189190612eda565b60405180910390fd5b600d5f8154809291906118ac90612ef8565b91905055505b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561193a57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561197e5761197b606461196d600b54600d541161195a5760075461195e565b6009545b856120bd90919063ffffffff16565b61213490919063ffffffff16565b90505b5f61198830610824565b9050601360159054906101000a900460ff161580156119f3575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611a0b5750601360169054906101000a900460ff165b8015611a18575060105481115b8015611a275750600c54600d54115b15611ad657601554431115611a3e575f6014819055505b600360145410611a83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7a90612f89565b60405180910390fd5b611aa0611a9b84611a968460115461217d565b61217d565b611dea565b5f4790505f811115611ab657611ab547612055565b5b60145f815480929190611ac890612ef8565b919050555043601581905550505b505b5f811115611bd757611b308160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461219590919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611bce9190612457565b60405180910390a35b611c278260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121f290919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611cca611c7e82846121f290919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461219590919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611d6d84866121f290919063ffffffff16565b604051611d7a9190612457565b60405180910390a350505050565b5f838311158290611dcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dc69190612326565b60405180910390fd5b505f8385611ddd9190612fa7565b9050809150509392505050565b6001601360156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611e2157611e20612fda565b5b604051908082528060200260200182016040528015611e4f5781602001602082028036833780820191505090505b50905030815f81518110611e6657611e65613007565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f0a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f2e91906129ec565b81600181518110611f4257611f41613007565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611fa83060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846112bb565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161200a9594939291906130eb565b5f604051808303815f87803b158015612021575f80fd5b505af1158015612033573d5f803e3d5ffd5b50505050505f601360156101000a81548160ff02191690831515021790555050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156120b9573d5f803e3d5ffd5b5050565b5f8083036120cd575f905061212e565b5f82846120da91906127a4565b90508284826120e99190613170565b14612129576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161212090613210565b60405180910390fd5b809150505b92915050565b5f61217583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061223b565b905092915050565b5f81831161218b578261218d565b815b905092915050565b5f8082846121a39190612e5d565b9050838110156121e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121df90613278565b60405180910390fd5b8091505092915050565b5f61223383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d88565b905092915050565b5f8083118290612281576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122789190612326565b60405180910390fd5b505f838561228f9190613170565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156122d35780820151818401526020810190506122b8565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6122f88261229c565b61230281856122a6565b93506123128185602086016122b6565b61231b816122de565b840191505092915050565b5f6020820190508181035f83015261233e81846122ee565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6123738261234a565b9050919050565b61238381612369565b811461238d575f80fd5b50565b5f8135905061239e8161237a565b92915050565b5f819050919050565b6123b6816123a4565b81146123c0575f80fd5b50565b5f813590506123d1816123ad565b92915050565b5f80604083850312156123ed576123ec612346565b5b5f6123fa85828601612390565b925050602061240b858286016123c3565b9150509250929050565b5f8115159050919050565b61242981612415565b82525050565b5f6020820190506124425f830184612420565b92915050565b612451816123a4565b82525050565b5f60208201905061246a5f830184612448565b92915050565b5f805f6060848603121561248757612486612346565b5b5f61249486828701612390565b93505060206124a586828701612390565b92505060406124b6868287016123c3565b9150509250925092565b5f60ff82169050919050565b6124d5816124c0565b82525050565b5f6020820190506124ee5f8301846124cc565b92915050565b5f6124fe8261234a565b9050919050565b61250e816124f4565b8114612518575f80fd5b50565b5f8135905061252981612505565b92915050565b5f806040838503121561254557612544612346565b5b5f6125528582860161251b565b9250506020612563858286016123c3565b9150509250929050565b5f6020828403121561258257612581612346565b5b5f61258f84828501612390565b91505092915050565b6125a181612369565b82525050565b5f6020820190506125ba5f830184612598565b92915050565b5f80604083850312156125d6576125d5612346565b5b5f6125e385828601612390565b92505060206125f485828601612390565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156126805780860481111561265c5761265b6125fe565b5b600185161561266b5780820291505b80810290506126798561262b565b9450612640565b94509492505050565b5f826126985760019050612753565b816126a5575f9050612753565b81600181146126bb57600281146126c5576126f4565b6001915050612753565b60ff8411156126d7576126d66125fe565b5b8360020a9150848211156126ee576126ed6125fe565b5b50612753565b5060208310610133831016604e8410600b84101617156127295782820a905083811115612724576127236125fe565b5b612753565b6127368484846001612637565b9250905081840481111561274d5761274c6125fe565b5b81810290505b9392505050565b5f612764826123a4565b915061276f836124c0565b925061279c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612689565b905092915050565b5f6127ae826123a4565b91506127b9836123a4565b92508282026127c7816123a4565b915082820484148315176127de576127dd6125fe565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6128196020836122a6565b9150612824826127e5565b602082019050919050565b5f6020820190508181035f8301526128468161280d565b9050919050565b7f496e73756666696369656e74204554482062616c616e636500000000000000005f82015250565b5f6128816018836122a6565b915061288c8261284d565b602082019050919050565b5f6020820190508181035f8301526128ae81612875565b9050919050565b5f815190506128c3816123ad565b92915050565b5f602082840312156128de576128dd612346565b5b5f6128eb848285016128b5565b91505092915050565b5f6040820190506129075f830185612598565b6129146020830184612448565b9392505050565b61292481612415565b811461292e575f80fd5b50565b5f8151905061293f8161291b565b92915050565b5f6020828403121561295a57612959612346565b5b5f61296784828501612931565b91505092915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6129a46017836122a6565b91506129af82612970565b602082019050919050565b5f6020820190508181035f8301526129d181612998565b9050919050565b5f815190506129e68161237a565b92915050565b5f60208284031215612a0157612a00612346565b5b5f612a0e848285016129d8565b91505092915050565b5f604082019050612a2a5f830185612598565b612a376020830184612598565b9392505050565b5f819050919050565b5f819050919050565b5f612a6a612a65612a6084612a3e565b612a47565b6123a4565b9050919050565b612a7a81612a50565b82525050565b5f60c082019050612a935f830189612598565b612aa06020830188612448565b612aad6040830187612a71565b612aba6060830186612a71565b612ac76080830185612598565b612ad460a0830184612448565b979650505050505050565b5f805f60608486031215612af657612af5612346565b5b5f612b03868287016128b5565b9350506020612b14868287016128b5565b9250506040612b25868287016128b5565b9150509250925092565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612b896024836122a6565b9150612b9482612b2f565b604082019050919050565b5f6020820190508181035f830152612bb681612b7d565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612c176022836122a6565b9150612c2282612bbd565b604082019050919050565b5f6020820190508181035f830152612c4481612c0b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612ca56025836122a6565b9150612cb082612c4b565b604082019050919050565b5f6020820190508181035f830152612cd281612c99565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612d336023836122a6565b9150612d3e82612cd9565b604082019050919050565b5f6020820190508181035f830152612d6081612d27565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612dc16029836122a6565b9150612dcc82612d67565b604082019050919050565b5f6020820190508181035f830152612dee81612db5565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612e296019836122a6565b9150612e3482612df5565b602082019050919050565b5f6020820190508181035f830152612e5681612e1d565b9050919050565b5f612e67826123a4565b9150612e72836123a4565b9250828201905080821115612e8a57612e896125fe565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612ec4601a836122a6565b9150612ecf82612e90565b602082019050919050565b5f6020820190508181035f830152612ef181612eb8565b9050919050565b5f612f02826123a4565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612f3457612f336125fe565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f612f736017836122a6565b9150612f7e82612f3f565b602082019050919050565b5f6020820190508181035f830152612fa081612f67565b9050919050565b5f612fb1826123a4565b9150612fbc836123a4565b9250828203905081811115612fd457612fd36125fe565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61306681612369565b82525050565b5f613077838361305d565b60208301905092915050565b5f602082019050919050565b5f61309982613034565b6130a3818561303e565b93506130ae8361304e565b805f5b838110156130de5781516130c5888261306c565b97506130d083613083565b9250506001810190506130b1565b5085935050505092915050565b5f60a0820190506130fe5f830188612448565b61310b6020830187612a71565b818103604083015261311d818661308f565b905061312c6060830185612598565b6131396080830184612448565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61317a826123a4565b9150613185836123a4565b92508261319557613194613143565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6131fa6021836122a6565b9150613205826131a0565b604082019050919050565b5f6020820190508181035f830152613227816131ee565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613262601b836122a6565b915061326d8261322e565b602082019050919050565b5f6020820190508181035f83015261328f81613256565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212201d79cd39d282aee1f85d0bff008dcdfe869b10f930f3908112a8233914e7314d64736f6c63430008170033
Deployed Bytecode
0x608060405260043610610122575f3560e01c8063751039fc1161009f578063a9059cbb11610063578063a9059cbb1461039b578063b054b536146103d7578063bf474bed146103ff578063c9567bf914610429578063dd62ed3e1461043f57610129565b8063751039fc146102dd5780637d1db4a5146102f35780638da5cb5b1461031d5780638f9a55c01461034757806395d89b411461037157610129565b8063313ce567116100e6578063313ce567146102235780634782f7791461024d57806351bc3c851461027557806370a082311461028b578063715018a6146102c757610129565b806306fdde031461012d578063095ea7b3146101575780630faee56f1461019357806318160ddd146101bd57806323b872dd146101e757610129565b3661012957005b5f80fd5b348015610138575f80fd5b5061014161047b565b60405161014e9190612326565b60405180910390f35b348015610162575f80fd5b5061017d600480360381019061017891906123d7565b6104b8565b60405161018a919061242f565b60405180910390f35b34801561019e575f80fd5b506101a76104d5565b6040516101b49190612457565b60405180910390f35b3480156101c8575f80fd5b506101d16104db565b6040516101de9190612457565b60405180910390f35b3480156101f2575f80fd5b5061020d60048036038101906102089190612470565b6104fe565b60405161021a919061242f565b60405180910390f35b34801561022e575f80fd5b506102376105d2565b60405161024491906124db565b60405180910390f35b348015610258575f80fd5b50610273600480360381019061026e919061252f565b6105da565b005b348015610280575f80fd5b506102896106f9565b005b348015610296575f80fd5b506102b160048036038101906102ac919061256d565b610824565b6040516102be9190612457565b60405180910390f35b3480156102d2575f80fd5b506102db61086a565b005b3480156102e8575f80fd5b506102f16109b8565b005b3480156102fe575f80fd5b50610307610ae7565b6040516103149190612457565b60405180910390f35b348015610328575f80fd5b50610331610aed565b60405161033e91906125a7565b60405180910390f35b348015610352575f80fd5b5061035b610b14565b6040516103689190612457565b60405180910390f35b34801561037c575f80fd5b50610385610b1a565b6040516103929190612326565b60405180910390f35b3480156103a6575f80fd5b506103c160048036038101906103bc91906123d7565b610b57565b6040516103ce919061242f565b60405180910390f35b3480156103e2575f80fd5b506103fd60048036038101906103f8919061256d565b610b74565b005b34801561040a575f80fd5b50610413610d0a565b6040516104209190612457565b60405180910390f35b348015610434575f80fd5b5061043d610d10565b005b34801561044a575f80fd5b50610465600480360381019061046091906125c0565b611232565b6040516104729190612457565b60405180910390f35b60606040518060400160405280601081526020017f59756d6520507574696e277320446f6700000000000000000000000000000000815250905090565b5f6104cb6104c46112b4565b84846112bb565b6001905092915050565b60115481565b5f6009600a6104ea919061275a565b633b9aca006104f991906127a4565b905090565b5f61050a84848461147e565b6105c7846105166112b4565b6105c2856040518060600160405280602881526020016132976028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105796112b4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d889092919063ffffffff16565b6112bb565b600190509392505050565b5f6009905090565b6105e26112b4565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461066e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106659061282f565b60405180910390fd5b804710156106b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a890612897565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156106f4573d5f803e3d5ffd5b505050565b6107016112b4565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461078d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107849061282f565b60405180910390fd5b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107cd6112b4565b73ffffffffffffffffffffffffffffffffffffffff16146107ec575f80fd5b5f6107f630610824565b90505f81111561080a5761080981611dea565b5b5f4790505f8111156108205761081f81612055565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6108726112b4565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f59061282f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6109c06112b4565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a439061282f565b60405180910390fd5b6009600a610a5a919061275a565b633b9aca00610a6991906127a4565b600e819055506009600a610a7d919061275a565b633b9aca00610a8c91906127a4565b600f819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610ac1919061275a565b633b9aca00610ad091906127a4565b604051610add9190612457565b60405180910390a1565b600e5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600f5481565b60606040518060400160405280600481526020017f59554d4500000000000000000000000000000000000000000000000000000000815250905090565b5f610b6a610b636112b4565b848461147e565b6001905092915050565b610b7c6112b4565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bff9061282f565b60405180910390fd5b5f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610c4291906125a7565b602060405180830381865afa158015610c5d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c8191906128c9565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb610ca7610aed565b836040518363ffffffff1660e01b8152600401610cc59291906128f4565b6020604051808303815f875af1158015610ce1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d059190612945565b505050565b60105481565b610d186112b4565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610da4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9b9061282f565b60405180910390fd5b601360149054906101000a900460ff1615610df4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610deb906129ba565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610e903060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610e7c919061275a565b633b9aca00610e8b91906127a4565b6112bb565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610efa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f1e91906129ec565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fa4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc891906129ec565b6040518363ffffffff1660e01b8152600401610fe5929190612a17565b6020604051808303815f875af1158015611001573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061102591906129ec565b60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306110ac30610824565b5f806110b6610aed565b426040518863ffffffff1660e01b81526004016110d896959493929190612a80565b60606040518083038185885af11580156110f4573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906111199190612adf565b50505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016111b99291906128f4565b6020604051808303815f875af11580156111d5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111f99190612945565b506001601360166101000a81548160ff0219169083151502179055506001601360146101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611329576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132090612b9f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611397576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138e90612c2d565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114719190612457565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e390612cbb565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361155a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155190612d49565b60405180910390fd5b5f811161159c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159390612dd7565b60405180910390fd5b5f6115a5610aed565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561161357506115e3610aed565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611ad85760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156116b6575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b6116be575f80fd5b6116fa60646116ec600a54600d54116116d9576006546116dd565b6008545b856120bd90919063ffffffff16565b61213490919063ffffffff16565b905060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156117a5575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156117f8575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156118b257600e54821115611842576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183990612e3f565b60405180910390fd5b600f548261184f85610824565b6118599190612e5d565b111561189a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189190612eda565b60405180910390fd5b600d5f8154809291906118ac90612ef8565b91905055505b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561193a57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561197e5761197b606461196d600b54600d541161195a5760075461195e565b6009545b856120bd90919063ffffffff16565b61213490919063ffffffff16565b90505b5f61198830610824565b9050601360159054906101000a900460ff161580156119f3575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611a0b5750601360169054906101000a900460ff165b8015611a18575060105481115b8015611a275750600c54600d54115b15611ad657601554431115611a3e575f6014819055505b600360145410611a83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7a90612f89565b60405180910390fd5b611aa0611a9b84611a968460115461217d565b61217d565b611dea565b5f4790505f811115611ab657611ab547612055565b5b60145f815480929190611ac890612ef8565b919050555043601581905550505b505b5f811115611bd757611b308160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461219590919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611bce9190612457565b60405180910390a35b611c278260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121f290919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611cca611c7e82846121f290919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461219590919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611d6d84866121f290919063ffffffff16565b604051611d7a9190612457565b60405180910390a350505050565b5f838311158290611dcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dc69190612326565b60405180910390fd5b505f8385611ddd9190612fa7565b9050809150509392505050565b6001601360156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611e2157611e20612fda565b5b604051908082528060200260200182016040528015611e4f5781602001602082028036833780820191505090505b50905030815f81518110611e6657611e65613007565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f0a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f2e91906129ec565b81600181518110611f4257611f41613007565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611fa83060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846112bb565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161200a9594939291906130eb565b5f604051808303815f87803b158015612021575f80fd5b505af1158015612033573d5f803e3d5ffd5b50505050505f601360156101000a81548160ff02191690831515021790555050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156120b9573d5f803e3d5ffd5b5050565b5f8083036120cd575f905061212e565b5f82846120da91906127a4565b90508284826120e99190613170565b14612129576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161212090613210565b60405180910390fd5b809150505b92915050565b5f61217583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061223b565b905092915050565b5f81831161218b578261218d565b815b905092915050565b5f8082846121a39190612e5d565b9050838110156121e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121df90613278565b60405180910390fd5b8091505092915050565b5f61223383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d88565b905092915050565b5f8083118290612281576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122789190612326565b60405180910390fd5b505f838561228f9190613170565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156122d35780820151818401526020810190506122b8565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6122f88261229c565b61230281856122a6565b93506123128185602086016122b6565b61231b816122de565b840191505092915050565b5f6020820190508181035f83015261233e81846122ee565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6123738261234a565b9050919050565b61238381612369565b811461238d575f80fd5b50565b5f8135905061239e8161237a565b92915050565b5f819050919050565b6123b6816123a4565b81146123c0575f80fd5b50565b5f813590506123d1816123ad565b92915050565b5f80604083850312156123ed576123ec612346565b5b5f6123fa85828601612390565b925050602061240b858286016123c3565b9150509250929050565b5f8115159050919050565b61242981612415565b82525050565b5f6020820190506124425f830184612420565b92915050565b612451816123a4565b82525050565b5f60208201905061246a5f830184612448565b92915050565b5f805f6060848603121561248757612486612346565b5b5f61249486828701612390565b93505060206124a586828701612390565b92505060406124b6868287016123c3565b9150509250925092565b5f60ff82169050919050565b6124d5816124c0565b82525050565b5f6020820190506124ee5f8301846124cc565b92915050565b5f6124fe8261234a565b9050919050565b61250e816124f4565b8114612518575f80fd5b50565b5f8135905061252981612505565b92915050565b5f806040838503121561254557612544612346565b5b5f6125528582860161251b565b9250506020612563858286016123c3565b9150509250929050565b5f6020828403121561258257612581612346565b5b5f61258f84828501612390565b91505092915050565b6125a181612369565b82525050565b5f6020820190506125ba5f830184612598565b92915050565b5f80604083850312156125d6576125d5612346565b5b5f6125e385828601612390565b92505060206125f485828601612390565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156126805780860481111561265c5761265b6125fe565b5b600185161561266b5780820291505b80810290506126798561262b565b9450612640565b94509492505050565b5f826126985760019050612753565b816126a5575f9050612753565b81600181146126bb57600281146126c5576126f4565b6001915050612753565b60ff8411156126d7576126d66125fe565b5b8360020a9150848211156126ee576126ed6125fe565b5b50612753565b5060208310610133831016604e8410600b84101617156127295782820a905083811115612724576127236125fe565b5b612753565b6127368484846001612637565b9250905081840481111561274d5761274c6125fe565b5b81810290505b9392505050565b5f612764826123a4565b915061276f836124c0565b925061279c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612689565b905092915050565b5f6127ae826123a4565b91506127b9836123a4565b92508282026127c7816123a4565b915082820484148315176127de576127dd6125fe565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6128196020836122a6565b9150612824826127e5565b602082019050919050565b5f6020820190508181035f8301526128468161280d565b9050919050565b7f496e73756666696369656e74204554482062616c616e636500000000000000005f82015250565b5f6128816018836122a6565b915061288c8261284d565b602082019050919050565b5f6020820190508181035f8301526128ae81612875565b9050919050565b5f815190506128c3816123ad565b92915050565b5f602082840312156128de576128dd612346565b5b5f6128eb848285016128b5565b91505092915050565b5f6040820190506129075f830185612598565b6129146020830184612448565b9392505050565b61292481612415565b811461292e575f80fd5b50565b5f8151905061293f8161291b565b92915050565b5f6020828403121561295a57612959612346565b5b5f61296784828501612931565b91505092915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6129a46017836122a6565b91506129af82612970565b602082019050919050565b5f6020820190508181035f8301526129d181612998565b9050919050565b5f815190506129e68161237a565b92915050565b5f60208284031215612a0157612a00612346565b5b5f612a0e848285016129d8565b91505092915050565b5f604082019050612a2a5f830185612598565b612a376020830184612598565b9392505050565b5f819050919050565b5f819050919050565b5f612a6a612a65612a6084612a3e565b612a47565b6123a4565b9050919050565b612a7a81612a50565b82525050565b5f60c082019050612a935f830189612598565b612aa06020830188612448565b612aad6040830187612a71565b612aba6060830186612a71565b612ac76080830185612598565b612ad460a0830184612448565b979650505050505050565b5f805f60608486031215612af657612af5612346565b5b5f612b03868287016128b5565b9350506020612b14868287016128b5565b9250506040612b25868287016128b5565b9150509250925092565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612b896024836122a6565b9150612b9482612b2f565b604082019050919050565b5f6020820190508181035f830152612bb681612b7d565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612c176022836122a6565b9150612c2282612bbd565b604082019050919050565b5f6020820190508181035f830152612c4481612c0b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612ca56025836122a6565b9150612cb082612c4b565b604082019050919050565b5f6020820190508181035f830152612cd281612c99565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612d336023836122a6565b9150612d3e82612cd9565b604082019050919050565b5f6020820190508181035f830152612d6081612d27565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612dc16029836122a6565b9150612dcc82612d67565b604082019050919050565b5f6020820190508181035f830152612dee81612db5565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612e296019836122a6565b9150612e3482612df5565b602082019050919050565b5f6020820190508181035f830152612e5681612e1d565b9050919050565b5f612e67826123a4565b9150612e72836123a4565b9250828201905080821115612e8a57612e896125fe565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612ec4601a836122a6565b9150612ecf82612e90565b602082019050919050565b5f6020820190508181035f830152612ef181612eb8565b9050919050565b5f612f02826123a4565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612f3457612f336125fe565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f612f736017836122a6565b9150612f7e82612f3f565b602082019050919050565b5f6020820190508181035f830152612fa081612f67565b9050919050565b5f612fb1826123a4565b9150612fbc836123a4565b9250828203905081811115612fd457612fd36125fe565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61306681612369565b82525050565b5f613077838361305d565b60208301905092915050565b5f602082019050919050565b5f61309982613034565b6130a3818561303e565b93506130ae8361304e565b805f5b838110156130de5781516130c5888261306c565b97506130d083613083565b9250506001810190506130b1565b5085935050505092915050565b5f60a0820190506130fe5f830188612448565b61310b6020830187612a71565b818103604083015261311d818661308f565b905061312c6060830185612598565b6131396080830184612448565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61317a826123a4565b9150613185836123a4565b92508261319557613194613143565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6131fa6021836122a6565b9150613205826131a0565b604082019050919050565b5f6020820190508181035f830152613227816131ee565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613262601b836122a6565b915061326d8261322e565b602082019050919050565b5f6020820190508181035f83015261328f81613256565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212201d79cd39d282aee1f85d0bff008dcdfe869b10f930f3908112a8233914e7314d64736f6c63430008170033
Deployed Bytecode Sourcemap
3630:8122:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5538:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6371:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4733:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5815:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6540:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5724:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10258:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11175:360;;;;;;;;;;;;;:::i;:::-;;5918:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2711:148;;;;;;;;;;;;;:::i;:::-;;9991:159;;;;;;;;;;;;;:::i;:::-;;4539:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2497:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4602:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5629:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6045:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11543:204;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4667:59;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10459:671;;;;;;;;;;;;;:::i;:::-;;6220:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5538:83;5575:13;5608:5;;;;;;;;;;;;;;;;;5601:12;;5538:83;:::o;6371:161::-;6446:4;6463:39;6472:12;:10;:12::i;:::-;6486:7;6495:6;6463:8;:39::i;:::-;6520:4;6513:11;;6371:161;;;;:::o;4733:54::-;;;;:::o;5815:95::-;5868:7;4342:1;4401:2;:13;;;;:::i;:::-;4385;:29;;;;:::i;:::-;5888:14;;5815:95;:::o;6540:313::-;6638:4;6655:36;6665:6;6673:9;6684:6;6655:9;:36::i;:::-;6702:121;6711:6;6719:12;:10;:12::i;:::-;6733:89;6771:6;6733:89;;;;;;;;;;;;;;;;;:11;:19;6745:6;6733:19;;;;;;;;;;;;;;;:33;6753:12;:10;:12::i;:::-;6733:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6702:8;:121::i;:::-;6841:4;6834:11;;6540:313;;;;;:::o;5724:83::-;5765:5;4342:1;5783:16;;5724:83;:::o;10258:193::-;2634:12;:10;:12::i;:::-;2624:22;;:6;;;;;;;;;;:22;;;2616:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10378:6:::1;10353:21;:31;;10345:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10424:2;:11;;:19;10436:6;10424:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;10258:193:::0;;:::o;11175:360::-;2634:12;:10;:12::i;:::-;2624:22;;:6;;;;;;;;;;:22;;;2616:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11251:10:::1;;;;;;;;;;;11237:24;;:12;:10;:12::i;:::-;:24;;;11229:33;;;::::0;::::1;;11273:20;11294:24;11312:4;11294:9;:24::i;:::-;11273:45;;11345:1;11332:12;:14;11329:73;;;11360:30;11377:12;11360:16;:30::i;:::-;11329:73;11412:18;11431:21;11412:40;;11477:1;11466:10;:12;11463:65;;;11492:24;11505:10;11492:12;:24::i;:::-;11463:65;11218:317;;11175:360::o:0;5918:119::-;5984:7;6011:9;:18;6021:7;6011:18;;;;;;;;;;;;;;;;6004:25;;5918:119;;;:::o;2711:148::-;2634:12;:10;:12::i;:::-;2624:22;;:6;;;;;;;;;;:22;;;2616:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2818:1:::1;2781:40;;2802:6;::::0;::::1;;;;;;;;2781:40;;;;;;;;;;;;2849:1;2832:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2711:148::o:0;9991:159::-;2634:12;:10;:12::i;:::-;2624:22;;:6;;;;;;;;;;:22;;;2616:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4342:1:::1;4401:2;:13;;;;:::i;:::-;4385;:29;;;;:::i;:::-;10044:12;:22;;;;4342:1;4401:2;:13;;;;:::i;:::-;4385;:29;;;;:::i;:::-;10077:14;:22;;;;10115:27;4342:1;4401:2;:13;;;;:::i;:::-;4385;:29;;;;:::i;:::-;10115:27;;;;;;:::i;:::-;;;;;;;;9991:159::o:0;4539:56::-;;;;:::o;2497:79::-;2535:7;2562:6;;;;;;;;;;;2555:13;;2497:79;:::o;4602:58::-;;;;:::o;5629:87::-;5668:13;5701:7;;;;;;;;;;;;;;;;;5694:14;;5629:87;:::o;6045:167::-;6123:4;6140:42;6150:12;:10;:12::i;:::-;6164:9;6175:6;6140:9;:42::i;:::-;6200:4;6193:11;;6045:167;;;;:::o;11543:204::-;2634:12;:10;:12::i;:::-;2624:22;;:6;;;;;;;;;;:22;;;2616:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11618:15:::1;11643:12;11636:30;;;11675:4;11636:45;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11618:63;;11699:12;11692:29;;;11722:7;:5;:7::i;:::-;11731;11692:47;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11607:140;11543:204:::0;:::o;4667:59::-;;;;:::o;10459:671::-;2634:12;:10;:12::i;:::-;2624:22;;:6;;;;;;;;;;:22;;;2616:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10523:11:::1;;;;;;;;;;;10522:12;10514:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;10609:42;10572:15;;:80;;;;;;;;;;;;;;;;;;10663:58;10680:4;10695:15;;;;;;;;;;;4342:1;4401:2;:13;;;;:::i;:::-;4385;:29;;;;:::i;:::-;10663:8;:58::i;:::-;10766:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10748:55;;;10812:4;10819:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10748:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10732:13;;:110;;;;;;;;;;;;;;;;;;10853:15;;;;;;;;;;;:31;;;10892:21;10923:4;10929:24;10947:4;10929:9;:24::i;:::-;10954:1;10956::::0;10958:7:::1;:5;:7::i;:::-;10966:15;10853:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11000:13;;;;;;;;;;;10993:29;;;11031:15;;;;;;;;;;;11049:14;10993:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11089:4;11075:11;;:18;;;;;;;;;;;;;;;;;;11118:4;11104:11;;:18;;;;;;;;;;;;;;;;;;10459:671::o:0;6220:143::-;6301:7;6328:11;:18;6340:5;6328:18;;;;;;;;;;;;;;;:27;6347:7;6328:27;;;;;;;;;;;;;;;;6321:34;;6220:143;;;;:::o;252:98::-;305:7;332:10;325:17;;252:98;:::o;6861:335::-;6971:1;6954:19;;:5;:19;;;6946:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7052:1;7033:21;;:7;:21;;;7025:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7134:6;7104:11;:18;7116:5;7104:18;;;;;;;;;;;;;;;:27;7123:7;7104:27;;;;;;;;;;;;;;;:36;;;;7172:7;7156:32;;7165:5;7156:32;;;7181:6;7156:32;;;;;;:::i;:::-;;;;;;;;6861:335;;;:::o;7204:2180::-;7308:1;7292:18;;:4;:18;;;7284:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7385:1;7371:16;;:2;:16;;;7363:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7455:1;7446:6;:10;7438:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7513:17;7555:7;:5;:7::i;:::-;7547:15;;:4;:15;;;;:32;;;;;7572:7;:5;:7::i;:::-;7566:13;;:2;:13;;;;7547:32;7543:1485;;;7605:4;:10;7610:4;7605:10;;;;;;;;;;;;;;;;;;;;;;;;;7604:11;:24;;;;;7620:4;:8;7625:2;7620:8;;;;;;;;;;;;;;;;;;;;;;;;;7619:9;7604:24;7596:33;;;;;;7656:76;7728:3;7656:67;7678:15;;7668:9;;:25;7667:55;;7708:14;;7667:55;;;7695:12;;7667:55;7656:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;7644:88;;7761:13;;;;;;;;;;;7753:21;;:4;:21;;;:55;;;;;7792:15;;;;;;;;;;;7778:30;;:2;:30;;;;7753:55;:83;;;;;7814:18;:22;7833:2;7814:22;;;;;;;;;;;;;;;;;;;;;;;;;7812:24;7753:83;7749:313;;;7876:12;;7866:6;:22;;7858:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;7971:14;;7961:6;7945:13;7955:2;7945:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;7937:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8035:9;;:11;;;;;;;;;:::i;:::-;;;;;;7749:313;8087:13;;;;;;;;;;;8081:19;;:2;:19;;;:43;;;;;8119:4;8104:20;;:4;:20;;;;8081:43;8078:174;;;8157:79;8232:3;8157:70;8179:16;;8169:9;;:26;8168:58;;8211:15;;8168:58;;;8197:13;;8168:58;8157:6;:10;;:70;;;;:::i;:::-;:74;;:79;;;;:::i;:::-;8145:91;;8078:174;8268:28;8299:24;8317:4;8299:9;:24::i;:::-;8268:55;;8343:6;;;;;;;;;;;8342:7;:30;;;;;8359:13;;;;;;;;;;;8353:19;;:2;:19;;;8342:30;:45;;;;;8376:11;;;;;;;;;;;8342:45;:89;;;;;8414:17;;8391:20;:40;8342:89;:123;;;;;8447:18;;8435:9;;:30;8342:123;8338:679;;;8505:13;;8490:12;:28;8486:90;;;8555:1;8543:9;:13;;;;8486:90;8614:1;8602:9;;:13;8594:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;8662:69;8679:51;8683:6;8691:38;8695:20;8717:11;;8691:3;:38::i;:::-;8679:3;:51::i;:::-;8662:16;:69::i;:::-;8750:26;8779:21;8750:50;;8844:1;8823:18;:22;8819:106;;;8870:35;8883:21;8870:12;:35::i;:::-;8819:106;8943:9;;:11;;;;;;;;;:::i;:::-;;;;;;8989:12;8973:13;:28;;;;8467:550;8338:679;7581:1447;7543:1485;9053:1;9043:9;:11;9040:161;;;9093:39;9122:9;9093;:24;9111:4;9093:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9068:9;:24;9086:4;9068:24;;;;;;;;;;;;;;;:64;;;;9173:4;9150:39;;9159:4;9150:39;;;9179:9;9150:39;;;;;;:::i;:::-;;;;;;;;9040:161;9227:27;9247:6;9227:9;:15;9237:4;9227:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9211:9;:15;9221:4;9211:15;;;;;;;;;;;;;;;:43;;;;9279:40;9297:21;9308:9;9297:6;:10;;:21;;;;:::i;:::-;9279:9;:13;9289:2;9279:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;9265:9;:13;9275:2;9265:13;;;;;;;;;;;;;;;:54;;;;9350:2;9335:41;;9344:4;9335:41;;;9354:21;9365:9;9354:6;:10;;:21;;;;:::i;:::-;9335:41;;;;;;:::i;:::-;;;;;;;;7273:2111;7204:2180;;;:::o;1389:190::-;1475:7;1508:1;1503;:6;;1511:12;1495:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1535:9;1551:1;1547;:5;;;;:::i;:::-;1535:17;;1570:1;1563:8;;;1389:190;;;;;:::o;9500:483::-;5156:4;5147:6;;:13;;;;;;;;;;;;;;;;;;9578:21:::1;9616:1;9602:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9578:40;;9647:4;9629;9634:1;9629:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9673:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9663:4;9668:1;9663:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9706:62;9723:4;9738:15;;;;;;;;;;;9756:11;9706:8;:62::i;:::-;9779:15;;;;;;;;;;;:66;;;9860:11;9886:1;9902:4;9929;9949:15;9779:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9567:416;5192:5:::0;5183:6;;:14;;;;;;;;;;;;;;;;;;9500:483;:::o;10158:92::-;10215:10;;;;;;;;;;;:19;;:27;10235:6;10215:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10158:92;:::o;1587:246::-;1645:7;1674:1;1669;:6;1665:47;;1699:1;1692:8;;;;1665:47;1722:9;1738:1;1734;:5;;;;:::i;:::-;1722:17;;1767:1;1762;1758;:5;;;;:::i;:::-;:10;1750:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1824:1;1817:8;;;1587:246;;;;;:::o;1841:132::-;1899:7;1926:39;1930:1;1933;1926:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1919:46;;1841:132;;;;:::o;9394:98::-;9451:7;9478:1;9476;:3;9475:9;;9483:1;9475:9;;;9481:1;9475:9;9468:16;;9394:98;;;;:::o;1058:179::-;1116:7;1136:9;1152:1;1148;:5;;;;:::i;:::-;1136:17;;1177:1;1172;:6;;1164:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1228:1;1221:8;;;1058:179;;;;:::o;1245:136::-;1303:7;1330:43;1334:1;1337;1330:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1323:50;;1245:136;;;;:::o;1981:189::-;2067:7;2099:1;2095;:5;2102:12;2087:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2126:9;2142:1;2138;:5;;;;:::i;:::-;2126:17;;2161:1;2154:8;;;1981:189;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:104::-;4898:7;4927:24;4945:5;4927:24;:::i;:::-;4916:35;;4853:104;;;:::o;4963:138::-;5044:32;5070:5;5044:32;:::i;:::-;5037:5;5034:43;5024:71;;5091:1;5088;5081:12;5024:71;4963:138;:::o;5107:155::-;5161:5;5199:6;5186:20;5177:29;;5215:41;5250:5;5215:41;:::i;:::-;5107:155;;;;:::o;5268:490::-;5344:6;5352;5401:2;5389:9;5380:7;5376:23;5372:32;5369:119;;;5407:79;;:::i;:::-;5369:119;5527:1;5552:61;5605:7;5596:6;5585:9;5581:22;5552:61;:::i;:::-;5542:71;;5498:125;5662:2;5688:53;5733:7;5724:6;5713:9;5709:22;5688:53;:::i;:::-;5678:63;;5633:118;5268:490;;;;;:::o;5764:329::-;5823:6;5872:2;5860:9;5851:7;5847:23;5843:32;5840:119;;;5878:79;;:::i;:::-;5840:119;5998:1;6023:53;6068:7;6059:6;6048:9;6044:22;6023:53;:::i;:::-;6013:63;;5969:117;5764:329;;;;:::o;6099:118::-;6186:24;6204:5;6186:24;:::i;:::-;6181:3;6174:37;6099:118;;:::o;6223:222::-;6316:4;6354:2;6343:9;6339:18;6331:26;;6367:71;6435:1;6424:9;6420:17;6411:6;6367:71;:::i;:::-;6223:222;;;;:::o;6451:474::-;6519:6;6527;6576:2;6564:9;6555:7;6551:23;6547:32;6544:119;;;6582:79;;:::i;:::-;6544:119;6702:1;6727:53;6772:7;6763:6;6752:9;6748:22;6727:53;:::i;:::-;6717:63;;6673:117;6829:2;6855:53;6900:7;6891:6;6880:9;6876:22;6855:53;:::i;:::-;6845:63;;6800:118;6451:474;;;;;:::o;6931:180::-;6979:77;6976:1;6969:88;7076:4;7073:1;7066:15;7100:4;7097:1;7090:15;7117:102;7159:8;7206:5;7203:1;7199:13;7178:34;;7117:102;;;:::o;7225:848::-;7286:5;7293:4;7317:6;7308:15;;7341:5;7332:14;;7355:712;7376:1;7366:8;7363:15;7355:712;;;7471:4;7466:3;7462:14;7456:4;7453:24;7450:50;;;7480:18;;:::i;:::-;7450:50;7530:1;7520:8;7516:16;7513:451;;;7945:4;7938:5;7934:16;7925:25;;7513:451;7995:4;7989;7985:15;7977:23;;8025:32;8048:8;8025:32;:::i;:::-;8013:44;;7355:712;;;7225:848;;;;;;;:::o;8079:1073::-;8133:5;8324:8;8314:40;;8345:1;8336:10;;8347:5;;8314:40;8373:4;8363:36;;8390:1;8381:10;;8392:5;;8363:36;8459:4;8507:1;8502:27;;;;8543:1;8538:191;;;;8452:277;;8502:27;8520:1;8511:10;;8522:5;;;8538:191;8583:3;8573:8;8570:17;8567:43;;;8590:18;;:::i;:::-;8567:43;8639:8;8636:1;8632:16;8623:25;;8674:3;8667:5;8664:14;8661:40;;;8681:18;;:::i;:::-;8661:40;8714:5;;;8452:277;;8838:2;8828:8;8825:16;8819:3;8813:4;8810:13;8806:36;8788:2;8778:8;8775:16;8770:2;8764:4;8761:12;8757:35;8741:111;8738:246;;;8894:8;8888:4;8884:19;8875:28;;8929:3;8922:5;8919:14;8916:40;;;8936:18;;:::i;:::-;8916:40;8969:5;;8738:246;9009:42;9047:3;9037:8;9031:4;9028:1;9009:42;:::i;:::-;8994:57;;;;9083:4;9078:3;9074:14;9067:5;9064:25;9061:51;;;9092:18;;:::i;:::-;9061:51;9141:4;9134:5;9130:16;9121:25;;8079:1073;;;;;;:::o;9158:281::-;9216:5;9240:23;9258:4;9240:23;:::i;:::-;9232:31;;9284:25;9300:8;9284:25;:::i;:::-;9272:37;;9328:104;9365:66;9355:8;9349:4;9328:104;:::i;:::-;9319:113;;9158:281;;;;:::o;9445:410::-;9485:7;9508:20;9526:1;9508:20;:::i;:::-;9503:25;;9542:20;9560:1;9542:20;:::i;:::-;9537:25;;9597:1;9594;9590:9;9619:30;9637:11;9619:30;:::i;:::-;9608:41;;9798:1;9789:7;9785:15;9782:1;9779:22;9759:1;9752:9;9732:83;9709:139;;9828:18;;:::i;:::-;9709:139;9493:362;9445:410;;;;:::o;9861:182::-;10001:34;9997:1;9989:6;9985:14;9978:58;9861:182;:::o;10049:366::-;10191:3;10212:67;10276:2;10271:3;10212:67;:::i;:::-;10205:74;;10288:93;10377:3;10288:93;:::i;:::-;10406:2;10401:3;10397:12;10390:19;;10049:366;;;:::o;10421:419::-;10587:4;10625:2;10614:9;10610:18;10602:26;;10674:9;10668:4;10664:20;10660:1;10649:9;10645:17;10638:47;10702:131;10828:4;10702:131;:::i;:::-;10694:139;;10421:419;;;:::o;10846:174::-;10986:26;10982:1;10974:6;10970:14;10963:50;10846:174;:::o;11026:366::-;11168:3;11189:67;11253:2;11248:3;11189:67;:::i;:::-;11182:74;;11265:93;11354:3;11265:93;:::i;:::-;11383:2;11378:3;11374:12;11367:19;;11026:366;;;:::o;11398:419::-;11564:4;11602:2;11591:9;11587:18;11579:26;;11651:9;11645:4;11641:20;11637:1;11626:9;11622:17;11615:47;11679:131;11805:4;11679:131;:::i;:::-;11671:139;;11398:419;;;:::o;11823:143::-;11880:5;11911:6;11905:13;11896:22;;11927:33;11954:5;11927:33;:::i;:::-;11823:143;;;;:::o;11972:351::-;12042:6;12091:2;12079:9;12070:7;12066:23;12062:32;12059:119;;;12097:79;;:::i;:::-;12059:119;12217:1;12242:64;12298:7;12289:6;12278:9;12274:22;12242:64;:::i;:::-;12232:74;;12188:128;11972:351;;;;:::o;12329:332::-;12450:4;12488:2;12477:9;12473:18;12465:26;;12501:71;12569:1;12558:9;12554:17;12545:6;12501:71;:::i;:::-;12582:72;12650:2;12639:9;12635:18;12626:6;12582:72;:::i;:::-;12329:332;;;;;:::o;12667:116::-;12737:21;12752:5;12737:21;:::i;:::-;12730:5;12727:32;12717:60;;12773:1;12770;12763:12;12717:60;12667:116;:::o;12789:137::-;12843:5;12874:6;12868:13;12859:22;;12890:30;12914:5;12890:30;:::i;:::-;12789:137;;;;:::o;12932:345::-;12999:6;13048:2;13036:9;13027:7;13023:23;13019:32;13016:119;;;13054:79;;:::i;:::-;13016:119;13174:1;13199:61;13252:7;13243:6;13232:9;13228:22;13199:61;:::i;:::-;13189:71;;13145:125;12932:345;;;;:::o;13283:173::-;13423:25;13419:1;13411:6;13407:14;13400:49;13283:173;:::o;13462:366::-;13604:3;13625:67;13689:2;13684:3;13625:67;:::i;:::-;13618:74;;13701:93;13790:3;13701:93;:::i;:::-;13819:2;13814:3;13810:12;13803:19;;13462:366;;;:::o;13834:419::-;14000:4;14038:2;14027:9;14023:18;14015:26;;14087:9;14081:4;14077:20;14073:1;14062:9;14058:17;14051:47;14115:131;14241:4;14115:131;:::i;:::-;14107:139;;13834:419;;;:::o;14259:143::-;14316:5;14347:6;14341:13;14332:22;;14363:33;14390:5;14363:33;:::i;:::-;14259:143;;;;:::o;14408:351::-;14478:6;14527:2;14515:9;14506:7;14502:23;14498:32;14495:119;;;14533:79;;:::i;:::-;14495:119;14653:1;14678:64;14734:7;14725:6;14714:9;14710:22;14678:64;:::i;:::-;14668:74;;14624:128;14408:351;;;;:::o;14765:332::-;14886:4;14924:2;14913:9;14909:18;14901:26;;14937:71;15005:1;14994:9;14990:17;14981:6;14937:71;:::i;:::-;15018:72;15086:2;15075:9;15071:18;15062:6;15018:72;:::i;:::-;14765:332;;;;;:::o;15103:85::-;15148:7;15177:5;15166:16;;15103:85;;;:::o;15194:60::-;15222:3;15243:5;15236:12;;15194:60;;;:::o;15260:158::-;15318:9;15351:61;15369:42;15378:32;15404:5;15378:32;:::i;:::-;15369:42;:::i;:::-;15351:61;:::i;:::-;15338:74;;15260:158;;;:::o;15424:147::-;15519:45;15558:5;15519:45;:::i;:::-;15514:3;15507:58;15424:147;;:::o;15577:807::-;15826:4;15864:3;15853:9;15849:19;15841:27;;15878:71;15946:1;15935:9;15931:17;15922:6;15878:71;:::i;:::-;15959:72;16027:2;16016:9;16012:18;16003:6;15959:72;:::i;:::-;16041:80;16117:2;16106:9;16102:18;16093:6;16041:80;:::i;:::-;16131;16207:2;16196:9;16192:18;16183:6;16131:80;:::i;:::-;16221:73;16289:3;16278:9;16274:19;16265:6;16221:73;:::i;:::-;16304;16372:3;16361:9;16357:19;16348:6;16304:73;:::i;:::-;15577:807;;;;;;;;;:::o;16390:663::-;16478:6;16486;16494;16543:2;16531:9;16522:7;16518:23;16514:32;16511:119;;;16549:79;;:::i;:::-;16511:119;16669:1;16694:64;16750:7;16741:6;16730:9;16726:22;16694:64;:::i;:::-;16684:74;;16640:128;16807:2;16833:64;16889:7;16880:6;16869:9;16865:22;16833:64;:::i;:::-;16823:74;;16778:129;16946:2;16972:64;17028:7;17019:6;17008:9;17004:22;16972:64;:::i;:::-;16962:74;;16917:129;16390:663;;;;;:::o;17059:223::-;17199:34;17195:1;17187:6;17183:14;17176:58;17268:6;17263:2;17255:6;17251:15;17244:31;17059:223;:::o;17288:366::-;17430:3;17451:67;17515:2;17510:3;17451:67;:::i;:::-;17444:74;;17527:93;17616:3;17527:93;:::i;:::-;17645:2;17640:3;17636:12;17629:19;;17288:366;;;:::o;17660:419::-;17826:4;17864:2;17853:9;17849:18;17841:26;;17913:9;17907:4;17903:20;17899:1;17888:9;17884:17;17877:47;17941:131;18067:4;17941:131;:::i;:::-;17933:139;;17660:419;;;:::o;18085:221::-;18225:34;18221:1;18213:6;18209:14;18202:58;18294:4;18289:2;18281:6;18277:15;18270:29;18085:221;:::o;18312:366::-;18454:3;18475:67;18539:2;18534:3;18475:67;:::i;:::-;18468:74;;18551:93;18640:3;18551:93;:::i;:::-;18669:2;18664:3;18660:12;18653:19;;18312:366;;;:::o;18684:419::-;18850:4;18888:2;18877:9;18873:18;18865:26;;18937:9;18931:4;18927:20;18923:1;18912:9;18908:17;18901:47;18965:131;19091:4;18965:131;:::i;:::-;18957:139;;18684:419;;;:::o;19109:224::-;19249:34;19245:1;19237:6;19233:14;19226:58;19318:7;19313:2;19305:6;19301:15;19294:32;19109:224;:::o;19339:366::-;19481:3;19502:67;19566:2;19561:3;19502:67;:::i;:::-;19495:74;;19578:93;19667:3;19578:93;:::i;:::-;19696:2;19691:3;19687:12;19680:19;;19339:366;;;:::o;19711:419::-;19877:4;19915:2;19904:9;19900:18;19892:26;;19964:9;19958:4;19954:20;19950:1;19939:9;19935:17;19928:47;19992:131;20118:4;19992:131;:::i;:::-;19984:139;;19711:419;;;:::o;20136:222::-;20276:34;20272:1;20264:6;20260:14;20253:58;20345:5;20340:2;20332:6;20328:15;20321:30;20136:222;:::o;20364:366::-;20506:3;20527:67;20591:2;20586:3;20527:67;:::i;:::-;20520:74;;20603:93;20692:3;20603:93;:::i;:::-;20721:2;20716:3;20712:12;20705:19;;20364:366;;;:::o;20736:419::-;20902:4;20940:2;20929:9;20925:18;20917:26;;20989:9;20983:4;20979:20;20975:1;20964:9;20960:17;20953:47;21017:131;21143:4;21017:131;:::i;:::-;21009:139;;20736:419;;;:::o;21161:228::-;21301:34;21297:1;21289:6;21285:14;21278:58;21370:11;21365:2;21357:6;21353:15;21346:36;21161:228;:::o;21395:366::-;21537:3;21558:67;21622:2;21617:3;21558:67;:::i;:::-;21551:74;;21634:93;21723:3;21634:93;:::i;:::-;21752:2;21747:3;21743:12;21736:19;;21395:366;;;:::o;21767:419::-;21933:4;21971:2;21960:9;21956:18;21948:26;;22020:9;22014:4;22010:20;22006:1;21995:9;21991:17;21984:47;22048:131;22174:4;22048:131;:::i;:::-;22040:139;;21767:419;;;:::o;22192:175::-;22332:27;22328:1;22320:6;22316:14;22309:51;22192:175;:::o;22373:366::-;22515:3;22536:67;22600:2;22595:3;22536:67;:::i;:::-;22529:74;;22612:93;22701:3;22612:93;:::i;:::-;22730:2;22725:3;22721:12;22714:19;;22373:366;;;:::o;22745:419::-;22911:4;22949:2;22938:9;22934:18;22926:26;;22998:9;22992:4;22988:20;22984:1;22973:9;22969:17;22962:47;23026:131;23152:4;23026:131;:::i;:::-;23018:139;;22745:419;;;:::o;23170:191::-;23210:3;23229:20;23247:1;23229:20;:::i;:::-;23224:25;;23263:20;23281:1;23263:20;:::i;:::-;23258:25;;23306:1;23303;23299:9;23292:16;;23327:3;23324:1;23321:10;23318:36;;;23334:18;;:::i;:::-;23318:36;23170:191;;;;:::o;23367:176::-;23507:28;23503:1;23495:6;23491:14;23484:52;23367:176;:::o;23549:366::-;23691:3;23712:67;23776:2;23771:3;23712:67;:::i;:::-;23705:74;;23788:93;23877:3;23788:93;:::i;:::-;23906:2;23901:3;23897:12;23890:19;;23549:366;;;:::o;23921:419::-;24087:4;24125:2;24114:9;24110:18;24102:26;;24174:9;24168:4;24164:20;24160:1;24149:9;24145:17;24138:47;24202:131;24328:4;24202:131;:::i;:::-;24194:139;;23921:419;;;:::o;24346:233::-;24385:3;24408:24;24426:5;24408:24;:::i;:::-;24399:33;;24454:66;24447:5;24444:77;24441:103;;24524:18;;:::i;:::-;24441:103;24571:1;24564:5;24560:13;24553:20;;24346:233;;;:::o;24585:173::-;24725:25;24721:1;24713:6;24709:14;24702:49;24585:173;:::o;24764:366::-;24906:3;24927:67;24991:2;24986:3;24927:67;:::i;:::-;24920:74;;25003:93;25092:3;25003:93;:::i;:::-;25121:2;25116:3;25112:12;25105:19;;24764:366;;;:::o;25136:419::-;25302:4;25340:2;25329:9;25325:18;25317:26;;25389:9;25383:4;25379:20;25375:1;25364:9;25360:17;25353:47;25417:131;25543:4;25417:131;:::i;:::-;25409:139;;25136:419;;;:::o;25561:194::-;25601:4;25621:20;25639:1;25621:20;:::i;:::-;25616:25;;25655:20;25673:1;25655:20;:::i;:::-;25650:25;;25699:1;25696;25692:9;25684:17;;25723:1;25717:4;25714:11;25711:37;;;25728:18;;:::i;:::-;25711:37;25561:194;;;;:::o;25761:180::-;25809:77;25806:1;25799:88;25906:4;25903:1;25896:15;25930:4;25927:1;25920:15;25947:180;25995:77;25992:1;25985:88;26092:4;26089:1;26082:15;26116:4;26113:1;26106:15;26133:114;26200:6;26234:5;26228:12;26218:22;;26133:114;;;:::o;26253:184::-;26352:11;26386:6;26381:3;26374:19;26426:4;26421:3;26417:14;26402:29;;26253:184;;;;:::o;26443:132::-;26510:4;26533:3;26525:11;;26563:4;26558:3;26554:14;26546:22;;26443:132;;;:::o;26581:108::-;26658:24;26676:5;26658:24;:::i;:::-;26653:3;26646:37;26581:108;;:::o;26695:179::-;26764:10;26785:46;26827:3;26819:6;26785:46;:::i;:::-;26863:4;26858:3;26854:14;26840:28;;26695:179;;;;:::o;26880:113::-;26950:4;26982;26977:3;26973:14;26965:22;;26880:113;;;:::o;27029:732::-;27148:3;27177:54;27225:5;27177:54;:::i;:::-;27247:86;27326:6;27321:3;27247:86;:::i;:::-;27240:93;;27357:56;27407:5;27357:56;:::i;:::-;27436:7;27467:1;27452:284;27477:6;27474:1;27471:13;27452:284;;;27553:6;27547:13;27580:63;27639:3;27624:13;27580:63;:::i;:::-;27573:70;;27666:60;27719:6;27666:60;:::i;:::-;27656:70;;27512:224;27499:1;27496;27492:9;27487:14;;27452:284;;;27456:14;27752:3;27745:10;;27153:608;;;27029:732;;;;:::o;27767:831::-;28030:4;28068:3;28057:9;28053:19;28045:27;;28082:71;28150:1;28139:9;28135:17;28126:6;28082:71;:::i;:::-;28163:80;28239:2;28228:9;28224:18;28215:6;28163:80;:::i;:::-;28290:9;28284:4;28280:20;28275:2;28264:9;28260:18;28253:48;28318:108;28421:4;28412:6;28318:108;:::i;:::-;28310:116;;28436:72;28504:2;28493:9;28489:18;28480:6;28436:72;:::i;:::-;28518:73;28586:3;28575:9;28571:19;28562:6;28518:73;:::i;:::-;27767:831;;;;;;;;:::o;28604:180::-;28652:77;28649:1;28642:88;28749:4;28746:1;28739:15;28773:4;28770:1;28763:15;28790:185;28830:1;28847:20;28865:1;28847:20;:::i;:::-;28842:25;;28881:20;28899:1;28881:20;:::i;:::-;28876:25;;28920:1;28910:35;;28925:18;;:::i;:::-;28910:35;28967:1;28964;28960:9;28955:14;;28790:185;;;;:::o;28981:220::-;29121:34;29117:1;29109:6;29105:14;29098:58;29190:3;29185:2;29177:6;29173:15;29166:28;28981:220;:::o;29207:366::-;29349:3;29370:67;29434:2;29429:3;29370:67;:::i;:::-;29363:74;;29446:93;29535:3;29446:93;:::i;:::-;29564:2;29559:3;29555:12;29548:19;;29207:366;;;:::o;29579:419::-;29745:4;29783:2;29772:9;29768:18;29760:26;;29832:9;29826:4;29822:20;29818:1;29807:9;29803:17;29796:47;29860:131;29986:4;29860:131;:::i;:::-;29852:139;;29579:419;;;:::o;30004:177::-;30144:29;30140:1;30132:6;30128:14;30121:53;30004:177;:::o;30187:366::-;30329:3;30350:67;30414:2;30409:3;30350:67;:::i;:::-;30343:74;;30426:93;30515:3;30426:93;:::i;:::-;30544:2;30539:3;30535:12;30528:19;;30187:366;;;:::o;30559:419::-;30725:4;30763:2;30752:9;30748:18;30740:26;;30812:9;30806:4;30802:20;30798:1;30787:9;30783:17;30776:47;30840:131;30966:4;30840:131;:::i;:::-;30832:139;;30559:419;;;:::o
Swarm Source
ipfs://1d79cd39d282aee1f85d0bff008dcdfe869b10f930f3908112a8233914e7314d
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.