Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
100,000,000,000,000 Ethereum
Holders
54
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
375,000,000,000 EthereumValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
BitcoinWojakMiladyMongBobPepe420inu
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-10-24 */ // Telegram: https://t.me/EthereumERCportal //SPDX-License-Identifier: MIT pragma solidity ^0.8.17; library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } interface ERC20 { function totalSupply() external view returns (uint256); function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); function getOwner() external view returns (address); 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); } abstract contract Ownable { address internal owner; constructor(address _owner) { owner = _owner; } modifier onlyOwner() { require(isOwner(msg.sender), "!OWNER"); _; } function isOwner(address account) public view returns (bool) { return account == owner; } function renounceOwnership() public onlyOwner { owner = address(0); emit OwnershipTransferred(address(0)); } event OwnershipTransferred(address owner); } interface IDEXFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IDEXRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns ( uint256 amountA, uint256 amountB, uint256 liquidity ); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } contract BitcoinWojakMiladyMongBobPepe420inu is ERC20, Ownable { using SafeMath for uint256; address routerAdress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; address DEAD = 0x000000000000000000000000000000000000dEaD; string constant _name = "BitcoinWojakMiladyMongBobPepe420inu"; string constant _symbol = "Ethereum"; uint8 constant _decimals = 9; uint256 public _totalSupply = 100_000_000_000_000 * (10**_decimals); uint256 public _maxWalletAmount = (_totalSupply * 2) / 100; uint256 public _maxTxAmount = _totalSupply.mul(5).div(1000); //0.5% mapping(address => uint256) _balances; mapping(address => mapping(address => uint256)) _allowances; mapping(address => bool) isFeeExempt; mapping(address => bool) isTxLimitExempt; uint256 liquidityFee = 0; uint256 marketingFee = 25; uint256 totalFee = liquidityFee + marketingFee; uint256 feeDenominator = 100; address public marketingFeeReceiver = 0x06dde3fC5A6a4CCfB70EF9B5A0ec57411Ca77DFC; IDEXRouter public router; address public pair; bool public swapEnabled = true; uint256 public swapThreshold = (_totalSupply / 1000) * 2; // 0.2% bool inSwap; modifier swapping() { inSwap = true; _; inSwap = false; } constructor() Ownable(msg.sender) { router = IDEXRouter(routerAdress); pair = IDEXFactory(router.factory()).createPair( router.WETH(), address(this) ); _allowances[address(this)][address(router)] = type(uint256).max; address _owner = owner; isFeeExempt[0x06dde3fC5A6a4CCfB70EF9B5A0ec57411Ca77DFC] = true; isTxLimitExempt[address(router)] = true; isTxLimitExempt[_owner] = true; isTxLimitExempt[0x06dde3fC5A6a4CCfB70EF9B5A0ec57411Ca77DFC] = true; isTxLimitExempt[DEAD] = true; _balances[_owner] = _totalSupply; emit Transfer(address(0), _owner, _totalSupply); } receive() external payable {} function totalSupply() external view override returns (uint256) { return _totalSupply; } function decimals() external pure override returns (uint8) { return _decimals; } function symbol() external pure override returns (string memory) { return _symbol; } function name() external pure override returns (string memory) { return _name; } function getOwner() external view override returns (address) { return owner; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function approveMax(address spender) external returns (bool) { return approve(spender, type(uint256).max); } function transfer(address recipient, uint256 amount) external override returns (bool) { return _transferFrom(msg.sender, recipient, amount); } function transferFrom( address sender, address recipient, uint256 amount ) external override returns (bool) { if (_allowances[sender][msg.sender] != type(uint256).max) { _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub( amount, "Insufficient Allowance" ); } return _transferFrom(sender, recipient, amount); } function _transferFrom( address sender, address recipient, uint256 amount ) internal returns (bool) { if (inSwap) { return _basicTransfer(sender, recipient, amount); } if (recipient != pair && recipient != DEAD) { require( isTxLimitExempt[recipient] || _balances[recipient] + amount <= _maxWalletAmount, "Transfer amount exceeds the bag size." ); } if (shouldSwapBack() && !isTxLimitExempt[recipient]) { swapBack(); } _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); uint256 amountReceived = shouldTakeFee(sender) ? takeFee(sender, amount) : amount; _balances[recipient] = _balances[recipient].add(amountReceived); emit Transfer(sender, recipient, amountReceived); return true; } function _basicTransfer( address sender, address recipient, uint256 amount ) internal returns (bool) { _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function shouldTakeFee(address sender) internal view returns (bool) { return !isFeeExempt[sender]; } function takeFee(address sender, uint256 amount) internal returns (uint256) { uint256 feeAmount = amount.mul(totalFee).div(feeDenominator); _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); return amount.sub(feeAmount); } function shouldSwapBack() internal view returns (bool) { return msg.sender != pair && !inSwap && swapEnabled && _balances[address(this)] >= swapThreshold; } function swapBack() internal swapping { uint256 contractTokenBalance = swapThreshold; uint256 amountToLiquify = contractTokenBalance .mul(liquidityFee) .div(totalFee) .div(2); uint256 amountToSwap = contractTokenBalance.sub(amountToLiquify); address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); uint256 balanceBefore = address(this).balance; router.swapExactTokensForETHSupportingFeeOnTransferTokens( amountToSwap, 0, path, address(this), block.timestamp ); uint256 amountETH = address(this).balance.sub(balanceBefore); uint256 totalETHFee = totalFee.sub(liquidityFee.div(2)); uint256 amountETHLiquidity = amountETH .mul(liquidityFee) .div(totalETHFee) .div(2); uint256 amountETHMarketing = amountETH.mul(marketingFee).div(totalETHFee); ( bool MarketingSuccess, /* bytes memory data */ ) = payable(marketingFeeReceiver).call{ value: amountETHMarketing, gas: 30000 }(""); require(MarketingSuccess, "receiver rejected ETH transfer"); if (amountToLiquify > 0) { router.addLiquidityETH{value: amountETHLiquidity}( address(this), amountToLiquify, 0, 0, 0x06dde3fC5A6a4CCfB70EF9B5A0ec57411Ca77DFC, block.timestamp ); emit AutoLiquify(amountETHLiquidity, amountToLiquify); } } function buyTokens(uint256 amount, address to) internal swapping { address[] memory path = new address[](2); path[0] = router.WETH(); path[1] = address(this); router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}( 0, path, to, block.timestamp ); } function setMarketingFeeReceiver(address _marketingFeeReceiver) external { require( msg.sender == marketingFeeReceiver, "Only marketingFeeReceiver can set marketingFeeReceiver" ); marketingFeeReceiver = _marketingFeeReceiver; } function clearStuckBalance() external { payable(marketingFeeReceiver).transfer(address(this).balance); } function setWalletLimit(uint256 amountPercent) external onlyOwner { _maxWalletAmount = (_totalSupply * amountPercent) / 1000; } function setFee(uint256 _liquidityFee, uint256 _marketingFee) external onlyOwner { liquidityFee = _liquidityFee; marketingFee = _marketingFee; totalFee = liquidityFee + marketingFee; } event AutoLiquify(uint256 amountETH, uint256 amountBOG); }
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":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","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":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","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":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingFeeReceiver","type":"address"}],"name":"setMarketingFeeReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercent","type":"uint256"}],"name":"setWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052737a250d5630b4cf539739df2c5dacb4c659f2488d600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620000ac919062000b0d565b655af3107a4000620000bf919062000b5e565b60035560646002600354620000d5919062000b5e565b620000e1919062000bd8565b6004556200011c6103e86200010860056003546200083660201b62000e701790919060201c565b620008b960201b62000eea1790919060201c565b6005556000600a556019600b55600b54600a546200013b919062000c10565b600c556064600d557306dde3fc5a6a4ccfb70ef9b5a0ec57411ca77dfc600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601060146101000a81548160ff02191690831515021790555060026103e8600354620001c7919062000bd8565b620001d3919062000b5e565b601155348015620001e357600080fd5b5033806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200031d919062000cb5565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003a6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003cc919062000cb5565b306040518363ffffffff1660e01b8152600401620003ec92919062000cf8565b6020604051808303816000875af11580156200040c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000432919062000cb5565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506001600860007306dde3fc5a6a4ccfb70ef9b5a0ec57411ca77dfc73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160096000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600960007306dde3fc5a6a4ccfb70ef9b5a0ec57411ca77dfc73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160096000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600354600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60035460405162000827919062000d36565b60405180910390a35062000ea9565b60008083036200084a5760009050620008b3565b600082846200085a919062000b5e565b90508284826200086b919062000bd8565b14620008ae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008a59062000dda565b60405180910390fd5b809150505b92915050565b60006200090383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200090b60201b60201c565b905092915050565b6000808311829062000955576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200094c919062000e85565b60405180910390fd5b506000838562000966919062000bd8565b9050809150509392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000a0157808604811115620009d957620009d862000973565b5b6001851615620009e95780820291505b8081029050620009f985620009a2565b9450620009b9565b94509492505050565b60008262000a1c576001905062000aef565b8162000a2c576000905062000aef565b816001811462000a45576002811462000a505762000a86565b600191505062000aef565b60ff84111562000a655762000a6462000973565b5b8360020a91508482111562000a7f5762000a7e62000973565b5b5062000aef565b5060208310610133831016604e8410600b841016171562000ac05782820a90508381111562000aba5762000ab962000973565b5b62000aef565b62000acf8484846001620009af565b9250905081840481111562000ae95762000ae862000973565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000b1a8262000af6565b915062000b278362000b00565b925062000b567fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000a0a565b905092915050565b600062000b6b8262000af6565b915062000b788362000af6565b925082820262000b888162000af6565b9150828204841483151762000ba25762000ba162000973565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000be58262000af6565b915062000bf28362000af6565b92508262000c055762000c0462000ba9565b5b828204905092915050565b600062000c1d8262000af6565b915062000c2a8362000af6565b925082820190508082111562000c455762000c4462000973565b5b92915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000c7d8262000c50565b9050919050565b62000c8f8162000c70565b811462000c9b57600080fd5b50565b60008151905062000caf8162000c84565b92915050565b60006020828403121562000cce5762000ccd62000c4b565b5b600062000cde8482850162000c9e565b91505092915050565b62000cf28162000c70565b82525050565b600060408201905062000d0f600083018562000ce7565b62000d1e602083018462000ce7565b9392505050565b62000d308162000af6565b82525050565b600060208201905062000d4d600083018462000d25565b92915050565b600082825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600062000dc260218362000d53565b915062000dcf8262000d64565b604082019050919050565b6000602082019050818103600083015262000df58162000db3565b9050919050565b600081519050919050565b60005b8381101562000e2757808201518184015260208101905062000e0a565b60008484015250505050565b6000601f19601f8301169050919050565b600062000e518262000dfc565b62000e5d818562000d53565b935062000e6f81856020860162000e07565b62000e7a8162000e33565b840191505092915050565b6000602082019050818103600083015262000ea1818462000e44565b905092915050565b6129ed8062000eb96000396000f3fe60806040526004361061016a5760003560e01c80636ddd1713116100d1578063a8aa1b311161008a578063e96fada211610064578063e96fada214610551578063edafd4ad1461057c578063f1d5f517146105a5578063f887ea40146105ce57610171565b8063a8aa1b31146104ac578063a9059cbb146104d7578063dd62ed3e1461051457610171565b80636ddd1713146103ac57806370a08231146103d7578063715018a6146104145780637d1db4a51461042b578063893d20e81461045657806395d89b411461048157610171565b8063313ce56711610123578063313ce567146102ae578063364333f4146102d95780633eaaf86b146102f057806352f7c9881461031b578063571ac8b0146103445780636c0a24eb1461038157610171565b80630445b6671461017657806306fdde03146101a1578063095ea7b3146101cc57806318160ddd1461020957806323b872dd146102345780632f54bf6e1461027157610171565b3661017157005b600080fd5b34801561018257600080fd5b5061018b6105f9565b6040516101989190611e5c565b60405180910390f35b3480156101ad57600080fd5b506101b66105ff565b6040516101c39190611f07565b60405180910390f35b3480156101d857600080fd5b506101f360048036038101906101ee9190611fb8565b61061f565b6040516102009190612013565b60405180910390f35b34801561021557600080fd5b5061021e610711565b60405161022b9190611e5c565b60405180910390f35b34801561024057600080fd5b5061025b6004803603810190610256919061202e565b61071b565b6040516102689190612013565b60405180910390f35b34801561027d57600080fd5b5061029860048036038101906102939190612081565b61091b565b6040516102a59190612013565b60405180910390f35b3480156102ba57600080fd5b506102c3610974565b6040516102d091906120ca565b60405180910390f35b3480156102e557600080fd5b506102ee61097d565b005b3480156102fc57600080fd5b506103056109e8565b6040516103129190611e5c565b60405180910390f35b34801561032757600080fd5b50610342600480360381019061033d91906120e5565b6109ee565b005b34801561035057600080fd5b5061036b60048036038101906103669190612081565b610a5e565b6040516103789190612013565b60405180910390f35b34801561038d57600080fd5b50610396610a91565b6040516103a39190611e5c565b60405180910390f35b3480156103b857600080fd5b506103c1610a97565b6040516103ce9190612013565b60405180910390f35b3480156103e357600080fd5b506103fe60048036038101906103f99190612081565b610aaa565b60405161040b9190611e5c565b60405180910390f35b34801561042057600080fd5b50610429610af3565b005b34801561043757600080fd5b50610440610bb6565b60405161044d9190611e5c565b60405180910390f35b34801561046257600080fd5b5061046b610bbc565b6040516104789190612134565b60405180910390f35b34801561048d57600080fd5b50610496610be5565b6040516104a39190611f07565b60405180910390f35b3480156104b857600080fd5b506104c1610c22565b6040516104ce9190612134565b60405180910390f35b3480156104e357600080fd5b506104fe60048036038101906104f99190611fb8565b610c48565b60405161050b9190612013565b60405180910390f35b34801561052057600080fd5b5061053b6004803603810190610536919061214f565b610c5d565b6040516105489190611e5c565b60405180910390f35b34801561055d57600080fd5b50610566610ce4565b6040516105739190612134565b60405180910390f35b34801561058857600080fd5b506105a3600480360381019061059e9190612081565b610d0a565b005b3480156105b157600080fd5b506105cc60048036038101906105c7919061218f565b610dde565b005b3480156105da57600080fd5b506105e3610e4a565b6040516105f0919061221b565b60405180910390f35b60115481565b606060405180606001604052806023815260200161299560239139905090565b600081600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516106ff9190611e5c565b60405180910390a36001905092915050565b6000600354905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461090757610886826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f349092919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610912848484610f98565b90509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156109e5573d6000803e3d6000fd5b50565b60035481565b6109f73361091b565b610a36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2d90612282565b60405180910390fd5b81600a8190555080600b81905550600b54600a54610a5491906122d1565b600c819055505050565b6000610a8a827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61061f565b9050919050565b60045481565b601060149054906101000a900460ff1681565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610afc3361091b565b610b3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3290612282565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861636000604051610bac9190612134565b60405180910390a1565b60055481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600881526020017f457468657265756d000000000000000000000000000000000000000000000000815250905090565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610c55338484610f98565b905092915050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9190612377565b60405180910390fd5b80600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610de73361091b565b610e26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1d90612282565b60405180910390fd5b6103e881600354610e379190612397565b610e419190612408565b60048190555050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000808303610e825760009050610ee4565b60008284610e909190612397565b9050828482610e9f9190612408565b14610edf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed6906124ab565b60405180910390fd5b809150505b92915050565b6000610f2c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113b7565b905092915050565b6000838311158290610f7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f739190611f07565b60405180910390fd5b5060008385610f8b91906124cb565b9050809150509392505050565b6000601260009054906101000a900460ff1615610fc157610fba84848461141a565b90506113b0565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561106d5750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561115657600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611116575060045482600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461111391906122d1565b11155b611155576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114c90612571565b60405180910390fd5b5b61115e6115ed565b80156111b45750600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156111c2576111c16116c4565b5b61124b826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f349092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600061129985611c00565b6112a357826112ae565b6112ad8584611c57565b5b905061130281600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d9b90919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516113a29190611e5c565b60405180910390a360019150505b9392505050565b600080831182906113fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f59190611f07565b60405180910390fd5b506000838561140d9190612408565b9050809150509392505050565b60006114a5826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f349092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061153a82600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d9b90919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516115da9190611e5c565b60405180910390a3600190509392505050565b6000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415801561165a5750601260009054906101000a900460ff16155b80156116725750601060149054906101000a900460ff165b80156116bf5750601154600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601260006101000a81548160ff0219169083151502179055506000601154905060006117246002611716600c54611708600a5487610e7090919063ffffffff16565b610eea90919063ffffffff16565b610eea90919063ffffffff16565b9050600061173b8284611df990919063ffffffff16565b90506000600267ffffffffffffffff81111561175a57611759612591565b5b6040519080825280602002602001820160405280156117885781602001602082028036833780820191505090505b50905030816000815181106117a05761179f6125c0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611847573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061186b9190612604565b8160018151811061187f5761187e6125c0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000479050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008530426040518663ffffffff1660e01b815260040161192295949392919061272a565b600060405180830381600087803b15801561193c57600080fd5b505af1158015611950573d6000803e3d6000fd5b5050505060006119698247611df990919063ffffffff16565b905060006119976119866002600a54610eea90919063ffffffff16565b600c54611df990919063ffffffff16565b905060006119d560026119c7846119b9600a5488610e7090919063ffffffff16565b610eea90919063ffffffff16565b610eea90919063ffffffff16565b90506000611a00836119f2600b5487610e7090919063ffffffff16565b610eea90919063ffffffff16565b90506000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168261753090604051611a4e906127b5565b600060405180830381858888f193505050503d8060008114611a8c576040519150601f19603f3d011682016040523d82523d6000602084013e611a91565b606091505b5050905080611ad5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611acc90612816565b60405180910390fd5b6000891115611bd957600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71984308c6000807306dde3fc5a6a4ccfb70ef9b5a0ec57411ca77dfc426040518863ffffffff1660e01b8152600401611b5996959493929190612836565b60606040518083038185885af1158015611b77573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611b9c91906128ac565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506838a604051611bd09291906128ff565b60405180910390a15b505050505050505050506000601260006101000a81548160ff021916908315150217905550565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b600080611c83600d54611c75600c5486610e7090919063ffffffff16565b610eea90919063ffffffff16565b9050611cd781600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d9b90919063ffffffff16565b600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d779190611e5c565b60405180910390a3611d928184611df990919063ffffffff16565b91505092915050565b6000808284611daa91906122d1565b905083811015611def576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611de690612974565b60405180910390fd5b8091505092915050565b6000611e3b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f34565b905092915050565b6000819050919050565b611e5681611e43565b82525050565b6000602082019050611e716000830184611e4d565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611eb1578082015181840152602081019050611e96565b60008484015250505050565b6000601f19601f8301169050919050565b6000611ed982611e77565b611ee38185611e82565b9350611ef3818560208601611e93565b611efc81611ebd565b840191505092915050565b60006020820190508181036000830152611f218184611ece565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611f5982611f2e565b9050919050565b611f6981611f4e565b8114611f7457600080fd5b50565b600081359050611f8681611f60565b92915050565b611f9581611e43565b8114611fa057600080fd5b50565b600081359050611fb281611f8c565b92915050565b60008060408385031215611fcf57611fce611f29565b5b6000611fdd85828601611f77565b9250506020611fee85828601611fa3565b9150509250929050565b60008115159050919050565b61200d81611ff8565b82525050565b60006020820190506120286000830184612004565b92915050565b60008060006060848603121561204757612046611f29565b5b600061205586828701611f77565b935050602061206686828701611f77565b925050604061207786828701611fa3565b9150509250925092565b60006020828403121561209757612096611f29565b5b60006120a584828501611f77565b91505092915050565b600060ff82169050919050565b6120c4816120ae565b82525050565b60006020820190506120df60008301846120bb565b92915050565b600080604083850312156120fc576120fb611f29565b5b600061210a85828601611fa3565b925050602061211b85828601611fa3565b9150509250929050565b61212e81611f4e565b82525050565b60006020820190506121496000830184612125565b92915050565b6000806040838503121561216657612165611f29565b5b600061217485828601611f77565b925050602061218585828601611f77565b9150509250929050565b6000602082840312156121a5576121a4611f29565b5b60006121b384828501611fa3565b91505092915050565b6000819050919050565b60006121e16121dc6121d784611f2e565b6121bc565b611f2e565b9050919050565b60006121f3826121c6565b9050919050565b6000612205826121e8565b9050919050565b612215816121fa565b82525050565b6000602082019050612230600083018461220c565b92915050565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b600061226c600683611e82565b915061227782612236565b602082019050919050565b6000602082019050818103600083015261229b8161225f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006122dc82611e43565b91506122e783611e43565b92508282019050808211156122ff576122fe6122a2565b5b92915050565b7f4f6e6c79206d61726b6574696e6746656552656365697665722063616e20736560008201527f74206d61726b6574696e67466565526563656976657200000000000000000000602082015250565b6000612361603683611e82565b915061236c82612305565b604082019050919050565b6000602082019050818103600083015261239081612354565b9050919050565b60006123a282611e43565b91506123ad83611e43565b92508282026123bb81611e43565b915082820484148315176123d2576123d16122a2565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061241382611e43565b915061241e83611e43565b92508261242e5761242d6123d9565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612495602183611e82565b91506124a082612439565b604082019050919050565b600060208201905081810360008301526124c481612488565b9050919050565b60006124d682611e43565b91506124e183611e43565b92508282039050818111156124f9576124f86122a2565b5b92915050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b600061255b602583611e82565b9150612566826124ff565b604082019050919050565b6000602082019050818103600083015261258a8161254e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506125fe81611f60565b92915050565b60006020828403121561261a57612619611f29565b5b6000612628848285016125ef565b91505092915050565b6000819050919050565b600061265661265161264c84612631565b6121bc565b611e43565b9050919050565b6126668161263b565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6126a181611f4e565b82525050565b60006126b38383612698565b60208301905092915050565b6000602082019050919050565b60006126d78261266c565b6126e18185612677565b93506126ec83612688565b8060005b8381101561271d57815161270488826126a7565b975061270f836126bf565b9250506001810190506126f0565b5085935050505092915050565b600060a08201905061273f6000830188611e4d565b61274c602083018761265d565b818103604083015261275e81866126cc565b905061276d6060830185612125565b61277a6080830184611e4d565b9695505050505050565b600081905092915050565b50565b600061279f600083612784565b91506127aa8261278f565b600082019050919050565b60006127c082612792565b9150819050919050565b7f72656365697665722072656a656374656420455448207472616e736665720000600082015250565b6000612800601e83611e82565b915061280b826127ca565b602082019050919050565b6000602082019050818103600083015261282f816127f3565b9050919050565b600060c08201905061284b6000830189612125565b6128586020830188611e4d565b612865604083018761265d565b612872606083018661265d565b61287f6080830185612125565b61288c60a0830184611e4d565b979650505050505050565b6000815190506128a681611f8c565b92915050565b6000806000606084860312156128c5576128c4611f29565b5b60006128d386828701612897565b93505060206128e486828701612897565b92505060406128f586828701612897565b9150509250925092565b60006040820190506129146000830185611e4d565b6129216020830184611e4d565b9392505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061295e601b83611e82565b915061296982612928565b602082019050919050565b6000602082019050818103600083015261298d81612951565b905091905056fe426974636f696e576f6a616b4d696c6164794d6f6e67426f6250657065343230696e75a2646970667358221220a4dfbbc46307a2d554688731f88cc1743cf2ce059abebdabbf0736cf0af84a0a64736f6c63430008110033
Deployed Bytecode
0x60806040526004361061016a5760003560e01c80636ddd1713116100d1578063a8aa1b311161008a578063e96fada211610064578063e96fada214610551578063edafd4ad1461057c578063f1d5f517146105a5578063f887ea40146105ce57610171565b8063a8aa1b31146104ac578063a9059cbb146104d7578063dd62ed3e1461051457610171565b80636ddd1713146103ac57806370a08231146103d7578063715018a6146104145780637d1db4a51461042b578063893d20e81461045657806395d89b411461048157610171565b8063313ce56711610123578063313ce567146102ae578063364333f4146102d95780633eaaf86b146102f057806352f7c9881461031b578063571ac8b0146103445780636c0a24eb1461038157610171565b80630445b6671461017657806306fdde03146101a1578063095ea7b3146101cc57806318160ddd1461020957806323b872dd146102345780632f54bf6e1461027157610171565b3661017157005b600080fd5b34801561018257600080fd5b5061018b6105f9565b6040516101989190611e5c565b60405180910390f35b3480156101ad57600080fd5b506101b66105ff565b6040516101c39190611f07565b60405180910390f35b3480156101d857600080fd5b506101f360048036038101906101ee9190611fb8565b61061f565b6040516102009190612013565b60405180910390f35b34801561021557600080fd5b5061021e610711565b60405161022b9190611e5c565b60405180910390f35b34801561024057600080fd5b5061025b6004803603810190610256919061202e565b61071b565b6040516102689190612013565b60405180910390f35b34801561027d57600080fd5b5061029860048036038101906102939190612081565b61091b565b6040516102a59190612013565b60405180910390f35b3480156102ba57600080fd5b506102c3610974565b6040516102d091906120ca565b60405180910390f35b3480156102e557600080fd5b506102ee61097d565b005b3480156102fc57600080fd5b506103056109e8565b6040516103129190611e5c565b60405180910390f35b34801561032757600080fd5b50610342600480360381019061033d91906120e5565b6109ee565b005b34801561035057600080fd5b5061036b60048036038101906103669190612081565b610a5e565b6040516103789190612013565b60405180910390f35b34801561038d57600080fd5b50610396610a91565b6040516103a39190611e5c565b60405180910390f35b3480156103b857600080fd5b506103c1610a97565b6040516103ce9190612013565b60405180910390f35b3480156103e357600080fd5b506103fe60048036038101906103f99190612081565b610aaa565b60405161040b9190611e5c565b60405180910390f35b34801561042057600080fd5b50610429610af3565b005b34801561043757600080fd5b50610440610bb6565b60405161044d9190611e5c565b60405180910390f35b34801561046257600080fd5b5061046b610bbc565b6040516104789190612134565b60405180910390f35b34801561048d57600080fd5b50610496610be5565b6040516104a39190611f07565b60405180910390f35b3480156104b857600080fd5b506104c1610c22565b6040516104ce9190612134565b60405180910390f35b3480156104e357600080fd5b506104fe60048036038101906104f99190611fb8565b610c48565b60405161050b9190612013565b60405180910390f35b34801561052057600080fd5b5061053b6004803603810190610536919061214f565b610c5d565b6040516105489190611e5c565b60405180910390f35b34801561055d57600080fd5b50610566610ce4565b6040516105739190612134565b60405180910390f35b34801561058857600080fd5b506105a3600480360381019061059e9190612081565b610d0a565b005b3480156105b157600080fd5b506105cc60048036038101906105c7919061218f565b610dde565b005b3480156105da57600080fd5b506105e3610e4a565b6040516105f0919061221b565b60405180910390f35b60115481565b606060405180606001604052806023815260200161299560239139905090565b600081600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516106ff9190611e5c565b60405180910390a36001905092915050565b6000600354905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461090757610886826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f349092919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610912848484610f98565b90509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156109e5573d6000803e3d6000fd5b50565b60035481565b6109f73361091b565b610a36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2d90612282565b60405180910390fd5b81600a8190555080600b81905550600b54600a54610a5491906122d1565b600c819055505050565b6000610a8a827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61061f565b9050919050565b60045481565b601060149054906101000a900460ff1681565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610afc3361091b565b610b3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3290612282565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861636000604051610bac9190612134565b60405180910390a1565b60055481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600881526020017f457468657265756d000000000000000000000000000000000000000000000000815250905090565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610c55338484610f98565b905092915050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9190612377565b60405180910390fd5b80600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610de73361091b565b610e26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1d90612282565b60405180910390fd5b6103e881600354610e379190612397565b610e419190612408565b60048190555050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000808303610e825760009050610ee4565b60008284610e909190612397565b9050828482610e9f9190612408565b14610edf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed6906124ab565b60405180910390fd5b809150505b92915050565b6000610f2c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113b7565b905092915050565b6000838311158290610f7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f739190611f07565b60405180910390fd5b5060008385610f8b91906124cb565b9050809150509392505050565b6000601260009054906101000a900460ff1615610fc157610fba84848461141a565b90506113b0565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561106d5750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561115657600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611116575060045482600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461111391906122d1565b11155b611155576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114c90612571565b60405180910390fd5b5b61115e6115ed565b80156111b45750600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156111c2576111c16116c4565b5b61124b826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f349092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600061129985611c00565b6112a357826112ae565b6112ad8584611c57565b5b905061130281600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d9b90919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516113a29190611e5c565b60405180910390a360019150505b9392505050565b600080831182906113fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f59190611f07565b60405180910390fd5b506000838561140d9190612408565b9050809150509392505050565b60006114a5826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f349092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061153a82600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d9b90919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516115da9190611e5c565b60405180910390a3600190509392505050565b6000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415801561165a5750601260009054906101000a900460ff16155b80156116725750601060149054906101000a900460ff165b80156116bf5750601154600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601260006101000a81548160ff0219169083151502179055506000601154905060006117246002611716600c54611708600a5487610e7090919063ffffffff16565b610eea90919063ffffffff16565b610eea90919063ffffffff16565b9050600061173b8284611df990919063ffffffff16565b90506000600267ffffffffffffffff81111561175a57611759612591565b5b6040519080825280602002602001820160405280156117885781602001602082028036833780820191505090505b50905030816000815181106117a05761179f6125c0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611847573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061186b9190612604565b8160018151811061187f5761187e6125c0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000479050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008530426040518663ffffffff1660e01b815260040161192295949392919061272a565b600060405180830381600087803b15801561193c57600080fd5b505af1158015611950573d6000803e3d6000fd5b5050505060006119698247611df990919063ffffffff16565b905060006119976119866002600a54610eea90919063ffffffff16565b600c54611df990919063ffffffff16565b905060006119d560026119c7846119b9600a5488610e7090919063ffffffff16565b610eea90919063ffffffff16565b610eea90919063ffffffff16565b90506000611a00836119f2600b5487610e7090919063ffffffff16565b610eea90919063ffffffff16565b90506000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168261753090604051611a4e906127b5565b600060405180830381858888f193505050503d8060008114611a8c576040519150601f19603f3d011682016040523d82523d6000602084013e611a91565b606091505b5050905080611ad5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611acc90612816565b60405180910390fd5b6000891115611bd957600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71984308c6000807306dde3fc5a6a4ccfb70ef9b5a0ec57411ca77dfc426040518863ffffffff1660e01b8152600401611b5996959493929190612836565b60606040518083038185885af1158015611b77573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611b9c91906128ac565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506838a604051611bd09291906128ff565b60405180910390a15b505050505050505050506000601260006101000a81548160ff021916908315150217905550565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b600080611c83600d54611c75600c5486610e7090919063ffffffff16565b610eea90919063ffffffff16565b9050611cd781600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d9b90919063ffffffff16565b600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d779190611e5c565b60405180910390a3611d928184611df990919063ffffffff16565b91505092915050565b6000808284611daa91906122d1565b905083811015611def576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611de690612974565b60405180910390fd5b8091505092915050565b6000611e3b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f34565b905092915050565b6000819050919050565b611e5681611e43565b82525050565b6000602082019050611e716000830184611e4d565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611eb1578082015181840152602081019050611e96565b60008484015250505050565b6000601f19601f8301169050919050565b6000611ed982611e77565b611ee38185611e82565b9350611ef3818560208601611e93565b611efc81611ebd565b840191505092915050565b60006020820190508181036000830152611f218184611ece565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611f5982611f2e565b9050919050565b611f6981611f4e565b8114611f7457600080fd5b50565b600081359050611f8681611f60565b92915050565b611f9581611e43565b8114611fa057600080fd5b50565b600081359050611fb281611f8c565b92915050565b60008060408385031215611fcf57611fce611f29565b5b6000611fdd85828601611f77565b9250506020611fee85828601611fa3565b9150509250929050565b60008115159050919050565b61200d81611ff8565b82525050565b60006020820190506120286000830184612004565b92915050565b60008060006060848603121561204757612046611f29565b5b600061205586828701611f77565b935050602061206686828701611f77565b925050604061207786828701611fa3565b9150509250925092565b60006020828403121561209757612096611f29565b5b60006120a584828501611f77565b91505092915050565b600060ff82169050919050565b6120c4816120ae565b82525050565b60006020820190506120df60008301846120bb565b92915050565b600080604083850312156120fc576120fb611f29565b5b600061210a85828601611fa3565b925050602061211b85828601611fa3565b9150509250929050565b61212e81611f4e565b82525050565b60006020820190506121496000830184612125565b92915050565b6000806040838503121561216657612165611f29565b5b600061217485828601611f77565b925050602061218585828601611f77565b9150509250929050565b6000602082840312156121a5576121a4611f29565b5b60006121b384828501611fa3565b91505092915050565b6000819050919050565b60006121e16121dc6121d784611f2e565b6121bc565b611f2e565b9050919050565b60006121f3826121c6565b9050919050565b6000612205826121e8565b9050919050565b612215816121fa565b82525050565b6000602082019050612230600083018461220c565b92915050565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b600061226c600683611e82565b915061227782612236565b602082019050919050565b6000602082019050818103600083015261229b8161225f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006122dc82611e43565b91506122e783611e43565b92508282019050808211156122ff576122fe6122a2565b5b92915050565b7f4f6e6c79206d61726b6574696e6746656552656365697665722063616e20736560008201527f74206d61726b6574696e67466565526563656976657200000000000000000000602082015250565b6000612361603683611e82565b915061236c82612305565b604082019050919050565b6000602082019050818103600083015261239081612354565b9050919050565b60006123a282611e43565b91506123ad83611e43565b92508282026123bb81611e43565b915082820484148315176123d2576123d16122a2565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061241382611e43565b915061241e83611e43565b92508261242e5761242d6123d9565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612495602183611e82565b91506124a082612439565b604082019050919050565b600060208201905081810360008301526124c481612488565b9050919050565b60006124d682611e43565b91506124e183611e43565b92508282039050818111156124f9576124f86122a2565b5b92915050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b600061255b602583611e82565b9150612566826124ff565b604082019050919050565b6000602082019050818103600083015261258a8161254e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506125fe81611f60565b92915050565b60006020828403121561261a57612619611f29565b5b6000612628848285016125ef565b91505092915050565b6000819050919050565b600061265661265161264c84612631565b6121bc565b611e43565b9050919050565b6126668161263b565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6126a181611f4e565b82525050565b60006126b38383612698565b60208301905092915050565b6000602082019050919050565b60006126d78261266c565b6126e18185612677565b93506126ec83612688565b8060005b8381101561271d57815161270488826126a7565b975061270f836126bf565b9250506001810190506126f0565b5085935050505092915050565b600060a08201905061273f6000830188611e4d565b61274c602083018761265d565b818103604083015261275e81866126cc565b905061276d6060830185612125565b61277a6080830184611e4d565b9695505050505050565b600081905092915050565b50565b600061279f600083612784565b91506127aa8261278f565b600082019050919050565b60006127c082612792565b9150819050919050565b7f72656365697665722072656a656374656420455448207472616e736665720000600082015250565b6000612800601e83611e82565b915061280b826127ca565b602082019050919050565b6000602082019050818103600083015261282f816127f3565b9050919050565b600060c08201905061284b6000830189612125565b6128586020830188611e4d565b612865604083018761265d565b612872606083018661265d565b61287f6080830185612125565b61288c60a0830184611e4d565b979650505050505050565b6000815190506128a681611f8c565b92915050565b6000806000606084860312156128c5576128c4611f29565b5b60006128d386828701612897565b93505060206128e486828701612897565b92505060406128f586828701612897565b9150509250925092565b60006040820190506129146000830185611e4d565b6129216020830184611e4d565b9392505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061295e601b83611e82565b915061296982612928565b602082019050919050565b6000602082019050818103600083015261298d81612951565b905091905056fe426974636f696e576f6a616b4d696c6164794d6f6e67426f6250657065343230696e75a2646970667358221220a4dfbbc46307a2d554688731f88cc1743cf2ce059abebdabbf0736cf0af84a0a64736f6c63430008110033
Deployed Bytecode Sourcemap
4125:8122:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5231:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6373:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6848:220;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6079:96;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7370:399;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2347:97;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6181:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11708:112;;;;;;;;;;;;;:::i;:::-;;4500:67;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11967:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7074:116;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4572:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5196:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6559:113;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2450:121;;;;;;;;;;;;;:::i;:::-;;4635:59;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6467:86;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6275:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5170:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7196:168;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6678:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5049:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11443:259;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11826:135;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5141:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5231:56;;;;:::o;6373:88::-;6421:13;6450:5;;;;;;;;;;;;;;;;;6443:12;;6373:88;:::o;6848:220::-;6938:4;6989:6;6954:11;:23;6966:10;6954:23;;;;;;;;;;;;;;;:32;6978:7;6954:32;;;;;;;;;;;;;;;:41;;;;7028:7;7007:37;;7016:10;7007:37;;;7037:6;7007:37;;;;;;:::i;:::-;;;;;;;;7058:4;7051:11;;6848:220;;;;:::o;6079:96::-;6134:7;6157:12;;6150:19;;6079:96;:::o;7370:399::-;7490:4;7542:17;7507:11;:19;7519:6;7507:19;;;;;;;;;;;;;;;:31;7527:10;7507:31;;;;;;;;;;;;;;;;:52;7503:205;;7604:96;7650:6;7604:96;;;;;;;;;;;;;;;;;:11;:19;7616:6;7604:19;;;;;;;;;;;;;;;:31;7624:10;7604:31;;;;;;;;;;;;;;;;:35;;:96;;;;;:::i;:::-;7570:11;:19;7582:6;7570:19;;;;;;;;;;;;;;;:31;7590:10;7570:31;;;;;;;;;;;;;;;:130;;;;7503:205;7723:40;7737:6;7745:9;7756:6;7723:13;:40::i;:::-;7716:47;;7370:399;;;;;:::o;2347:97::-;2402:4;2433:5;;;;;;;;;;;2422:16;;:7;:16;;;2415:23;;2347:97;;;:::o;6181:88::-;6233:5;4492:1;6247:16;;6181:88;:::o;11708:112::-;11761:20;;;;;;;;;;;11753:38;;:61;11792:21;11753:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11708:112::o;4500:67::-;;;;:::o;11967:215::-;2297:19;2305:10;2297:7;:19::i;:::-;2289:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;12083:13:::1;12068:12;:28;;;;12118:13;12103:12;:28;;;;12164:12;;12149;;:27;;;;:::i;:::-;12138:8;:38;;;;11967:215:::0;;:::o;7074:116::-;7129:4;7149:35;7157:7;7166:17;7149:7;:35::i;:::-;7142:42;;7074:116;;;:::o;4572:58::-;;;;:::o;5196:30::-;;;;;;;;;;;;;:::o;6559:113::-;6625:7;6648:9;:18;6658:7;6648:18;;;;;;;;;;;;;;;;6641:25;;6559:113;;;:::o;2450:121::-;2297:19;2305:10;2297:7;:19::i;:::-;2289:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;2519:1:::1;2503:5:::0;::::1;:18;;;;;;;;;;;;;;;;;;2533:32;2562:1;2533:32;;;;;;:::i;:::-;;;;;;;;2450:121::o:0;4635:59::-;;;;:::o;6467:86::-;6519:7;6542:5;;;;;;;;;;;6535:12;;6467:86;:::o;6275:92::-;6325:13;6354:7;;;;;;;;;;;;;;;;;6347:14;;6275:92;:::o;5170:19::-;;;;;;;;;;;;;:::o;7196:168::-;7291:4;7314:44;7328:10;7340:9;7351:6;7314:13;:44::i;:::-;7307:51;;7196:168;;;;:::o;6678:164::-;6782:7;6808:11;:19;6820:6;6808:19;;;;;;;;;;;;;;;:28;6828:7;6808:28;;;;;;;;;;;;;;;;6801:35;;6678:164;;;;:::o;5049:85::-;;;;;;;;;;;;;:::o;11443:259::-;11553:20;;;;;;;;;;;11539:34;;:10;:34;;;11523:122;;;;;;;;;;;;:::i;:::-;;;;;;;;;11675:21;11652:20;;:44;;;;;;;;;;;;;;;;;;11443:259;:::o;11826:135::-;2297:19;2305:10;2297:7;:19::i;:::-;2289:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;11951:4:::1;11934:13;11919:12;;:28;;;;:::i;:::-;11918:37;;;;:::i;:::-;11899:16;:56;;;;11826:135:::0;:::o;5141:24::-;;;;;;;;;;;;;:::o;638:218::-;696:7;721:1;716;:6;712:37;;740:1;733:8;;;;712:37;755:9;771:1;767;:5;;;;:::i;:::-;755:17;;796:1;791;787;:5;;;;:::i;:::-;:10;779:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;849:1;842:8;;;638:218;;;;;:::o;862:126::-;920:7;943:39;947:1;950;943:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;936:46;;862:126;;;;:::o;436:196::-;542:7;571:1;566;:6;;574:12;558:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;594:9;610:1;606;:5;;;;:::i;:::-;594:17;;625:1;618:8;;;436:196;;;;;:::o;7775:862::-;7887:4;7904:6;;;;;;;;;;;7900:77;;;7928:41;7943:6;7951:9;7962:6;7928:14;:41::i;:::-;7921:48;;;;7900:77;8002:4;;;;;;;;;;;7989:17;;:9;:17;;;;:38;;;;;8023:4;;;;;;;;;;;8010:17;;:9;:17;;;;7989:38;7985:228;;;8056:15;:26;8072:9;8056:26;;;;;;;;;;;;;;;;;;;;;;;;;:90;;;;8130:16;;8120:6;8097:9;:20;8107:9;8097:20;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;:49;;8056:90;8038:167;;;;;;;;;;;;:::i;:::-;;;;;;;;;7985:228;8225:16;:14;:16::i;:::-;:47;;;;;8246:15;:26;8262:9;8246:26;;;;;;;;;;;;;;;;;;;;;;;;;8245:27;8225:47;8221:80;;;8283:10;:8;:10::i;:::-;8221:80;8329:53;8351:6;8329:53;;;;;;;;;;;;;;;;;:9;:17;8339:6;8329:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;8309:9;:17;8319:6;8309:17;;;;;;;;;;;;;;;:73;;;;8391:22;8416:21;8430:6;8416:13;:21::i;:::-;:70;;8480:6;8416:70;;;8447:23;8455:6;8463;8447:7;:23::i;:::-;8416:70;8391:95;;8516:40;8541:14;8516:9;:20;8526:9;8516:20;;;;;;;;;;;;;;;;:24;;:40;;;;:::i;:::-;8493:9;:20;8503:9;8493:20;;;;;;;;;;;;;;;:63;;;;8587:9;8570:43;;8579:6;8570:43;;;8598:14;8570:43;;;;;;:::i;:::-;;;;;;;;8627:4;8620:11;;;7775:862;;;;;;:::o;994:195::-;1100:7;1128:1;1124;:5;1131:12;1116:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1151:9;1167:1;1163;:5;;;;:::i;:::-;1151:17;;1182:1;1175:8;;;994:195;;;;;:::o;8643:332::-;8756:4;8789:53;8811:6;8789:53;;;;;;;;;;;;;;;;;:9;:17;8799:6;8789:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;8769:9;:17;8779:6;8769:17;;;;;;;;;;;;;;;:73;;;;8872:32;8897:6;8872:9;:20;8882:9;8872:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;8849:9;:20;8859:9;8849:20;;;;;;;;;;;;;;;:55;;;;8933:9;8916:35;;8925:6;8916:35;;;8944:6;8916:35;;;;;;:::i;:::-;;;;;;;;8965:4;8958:11;;8643:332;;;;;:::o;9412:192::-;9461:4;9502;;;;;;;;;;;9488:18;;:10;:18;;;;:36;;;;;9518:6;;;;;;;;;;;9517:7;9488:36;:58;;;;;9535:11;;;;;;;;;;;9488:58;:110;;;;;9585:13;;9557:9;:24;9575:4;9557:24;;;;;;;;;;;;;;;;:41;;9488:110;9474:124;;9412:192;:::o;9610:1497::-;5352:4;5343:6;;:13;;;;;;;;;;;;;;;;;;9655:28:::1;9686:13;;9655:44;;9706:23;9732:83;9813:1;9732:68;9791:8;;9732:46;9765:12;;9732:20;:32;;:46;;;;:::i;:::-;:58;;:68;;;;:::i;:::-;:80;;:83;;;;:::i;:::-;9706:109;;9822:20;9845:41;9870:15;9845:20;:24;;:41;;;;:::i;:::-;9822:64;;9895:21;9933:1;9919:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9895:40;;9960:4;9942;9947:1;9942:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9982:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9972:4;9977:1;9972:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10004:21;10028;10004:45;;10058:6;;;;;;;;;;;:57;;;10124:12;10145:1;10155:4;10176;10190:15;10058:154;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10219:17;10239:40;10265:13;10239:21;:25;;:40;;;;:::i;:::-;10219:60;;10286:19;10308:33;10321:19;10338:1;10321:12;;:16;;:19;;;;:::i;:::-;10308:8;;:12;;:33;;;;:::i;:::-;10286:55;;10348:26;10377:75;10450:1;10377:60;10425:11;10377:35;10399:12;;10377:9;:21;;:35;;;;:::i;:::-;:47;;:60;;;;:::i;:::-;:72;;:75;;;;:::i;:::-;10348:104;;10459:26;10488:44;10520:11;10488:27;10502:12;;10488:9;:13;;:27;;;;:::i;:::-;:31;;:44;;;;:::i;:::-;10459:73;;10550:21;10616:20;;;;;;;;;;;10608:34;;10660:18;10694:5;10608:104;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10541:171;;;10727:16;10719:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;10809:1;10791:15;:19;10787:315;;;10821:6;;;;;;;;;;;:22;;;10851:18;10889:4;10905:15;10931:1;10943::::0;10955:42:::1;11008:15;10821:211;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11046:48;11058:18;11078:15;11046:48;;;;;;;:::i;:::-;;;;;;;;10787:315;9648:1459;;;;;;;;;;5380:5:::0;5371:6;;:14;;;;;;;;;;;;;;;;;;9610:1497::o;8981:108::-;9043:4;9064:11;:19;9076:6;9064:19;;;;;;;;;;;;;;;;;;;;;;;;;9063:20;9056:27;;8981:108;;;:::o;9095:311::-;9162:7;9178:17;9198:40;9223:14;;9198:20;9209:8;;9198:6;:10;;:20;;;;:::i;:::-;:24;;:40;;;;:::i;:::-;9178:60;;9272:39;9301:9;9272;:24;9290:4;9272:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9245:9;:24;9263:4;9245:24;;;;;;;;;;;;;;;:66;;;;9348:4;9323:42;;9332:6;9323:42;;;9355:9;9323:42;;;;;;:::i;:::-;;;;;;;;9379:21;9390:9;9379:6;:10;;:21;;;;:::i;:::-;9372:28;;;9095:311;;;;:::o;129:165::-;187:7;203:9;219:1;215;:5;;;;:::i;:::-;203:17;;240:1;235;:6;;227:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;287:1;280:8;;;129:165;;;;:::o;300:130::-;358:7;381:43;385:1;388;381:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;374:50;;300:130;;;;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:99::-;494:6;528:5;522:12;512:22;;442:99;;;:::o;547:169::-;631:11;665:6;660:3;653:19;705:4;700:3;696:14;681:29;;547:169;;;;:::o;722:246::-;803:1;813:113;827:6;824:1;821:13;813:113;;;912:1;907:3;903:11;897:18;893:1;888:3;884:11;877:39;849:2;846:1;842:10;837:15;;813:113;;;960:1;951:6;946:3;942:16;935:27;784:184;722:246;;;:::o;974:102::-;1015:6;1066:2;1062:7;1057:2;1050:5;1046:14;1042:28;1032:38;;974:102;;;:::o;1082:377::-;1170:3;1198:39;1231:5;1198:39;:::i;:::-;1253:71;1317:6;1312:3;1253:71;:::i;:::-;1246:78;;1333:65;1391:6;1386:3;1379:4;1372:5;1368:16;1333:65;:::i;:::-;1423:29;1445:6;1423:29;:::i;:::-;1418:3;1414:39;1407:46;;1174:285;1082:377;;;;:::o;1465:313::-;1578:4;1616:2;1605:9;1601:18;1593:26;;1665:9;1659:4;1655:20;1651:1;1640:9;1636:17;1629:47;1693:78;1766:4;1757:6;1693:78;:::i;:::-;1685:86;;1465:313;;;;:::o;1865:117::-;1974:1;1971;1964:12;2111:126;2148:7;2188:42;2181:5;2177:54;2166:65;;2111:126;;;:::o;2243:96::-;2280:7;2309:24;2327:5;2309:24;:::i;:::-;2298:35;;2243:96;;;:::o;2345:122::-;2418:24;2436:5;2418:24;:::i;:::-;2411:5;2408:35;2398:63;;2457:1;2454;2447:12;2398:63;2345:122;:::o;2473:139::-;2519:5;2557:6;2544:20;2535:29;;2573:33;2600:5;2573:33;:::i;:::-;2473:139;;;;:::o;2618:122::-;2691:24;2709:5;2691:24;:::i;:::-;2684:5;2681:35;2671:63;;2730:1;2727;2720:12;2671:63;2618:122;:::o;2746:139::-;2792:5;2830:6;2817:20;2808:29;;2846:33;2873:5;2846:33;:::i;:::-;2746:139;;;;:::o;2891:474::-;2959:6;2967;3016:2;3004:9;2995:7;2991:23;2987:32;2984:119;;;3022:79;;:::i;:::-;2984:119;3142:1;3167:53;3212:7;3203:6;3192:9;3188:22;3167:53;:::i;:::-;3157:63;;3113:117;3269:2;3295:53;3340:7;3331:6;3320:9;3316:22;3295:53;:::i;:::-;3285:63;;3240:118;2891:474;;;;;:::o;3371:90::-;3405:7;3448:5;3441:13;3434:21;3423:32;;3371:90;;;:::o;3467:109::-;3548:21;3563:5;3548:21;:::i;:::-;3543:3;3536:34;3467:109;;:::o;3582:210::-;3669:4;3707:2;3696:9;3692:18;3684:26;;3720:65;3782:1;3771:9;3767:17;3758:6;3720:65;:::i;:::-;3582:210;;;;:::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:329::-;4482:6;4531:2;4519:9;4510:7;4506:23;4502:32;4499:119;;;4537:79;;:::i;:::-;4499:119;4657:1;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4628:117;4423:329;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188:474::-;5256:6;5264;5313:2;5301:9;5292:7;5288:23;5284:32;5281:119;;;5319:79;;:::i;:::-;5281:119;5439:1;5464:53;5509:7;5500:6;5489:9;5485:22;5464:53;:::i;:::-;5454:63;;5410:117;5566:2;5592:53;5637:7;5628:6;5617:9;5613:22;5592:53;:::i;:::-;5582:63;;5537:118;5188:474;;;;;:::o;5668:118::-;5755:24;5773:5;5755:24;:::i;:::-;5750:3;5743:37;5668:118;;:::o;5792:222::-;5885:4;5923:2;5912:9;5908:18;5900:26;;5936:71;6004:1;5993:9;5989:17;5980:6;5936:71;:::i;:::-;5792:222;;;;:::o;6020:474::-;6088:6;6096;6145:2;6133:9;6124:7;6120:23;6116:32;6113:119;;;6151:79;;:::i;:::-;6113:119;6271:1;6296:53;6341:7;6332:6;6321:9;6317:22;6296:53;:::i;:::-;6286:63;;6242:117;6398:2;6424:53;6469:7;6460:6;6449:9;6445:22;6424:53;:::i;:::-;6414:63;;6369:118;6020:474;;;;;:::o;6500:329::-;6559:6;6608:2;6596:9;6587:7;6583:23;6579:32;6576:119;;;6614:79;;:::i;:::-;6576:119;6734:1;6759:53;6804:7;6795:6;6784:9;6780:22;6759:53;:::i;:::-;6749:63;;6705:117;6500:329;;;;:::o;6835:60::-;6863:3;6884:5;6877:12;;6835:60;;;:::o;6901:142::-;6951:9;6984:53;7002:34;7011:24;7029:5;7011:24;:::i;:::-;7002:34;:::i;:::-;6984:53;:::i;:::-;6971:66;;6901:142;;;:::o;7049:126::-;7099:9;7132:37;7163:5;7132:37;:::i;:::-;7119:50;;7049:126;;;:::o;7181:144::-;7249:9;7282:37;7313:5;7282:37;:::i;:::-;7269:50;;7181:144;;;:::o;7331:167::-;7436:55;7485:5;7436:55;:::i;:::-;7431:3;7424:68;7331:167;;:::o;7504:258::-;7615:4;7653:2;7642:9;7638:18;7630:26;;7666:89;7752:1;7741:9;7737:17;7728:6;7666:89;:::i;:::-;7504:258;;;;:::o;7768:156::-;7908:8;7904:1;7896:6;7892:14;7885:32;7768:156;:::o;7930:365::-;8072:3;8093:66;8157:1;8152:3;8093:66;:::i;:::-;8086:73;;8168:93;8257:3;8168:93;:::i;:::-;8286:2;8281:3;8277:12;8270:19;;7930:365;;;:::o;8301:419::-;8467:4;8505:2;8494:9;8490:18;8482:26;;8554:9;8548:4;8544:20;8540:1;8529:9;8525:17;8518:47;8582:131;8708:4;8582:131;:::i;:::-;8574:139;;8301:419;;;:::o;8726:180::-;8774:77;8771:1;8764:88;8871:4;8868:1;8861:15;8895:4;8892:1;8885:15;8912:191;8952:3;8971:20;8989:1;8971:20;:::i;:::-;8966:25;;9005:20;9023:1;9005:20;:::i;:::-;9000:25;;9048:1;9045;9041:9;9034:16;;9069:3;9066:1;9063:10;9060:36;;;9076:18;;:::i;:::-;9060:36;8912:191;;;;:::o;9109:241::-;9249:34;9245:1;9237:6;9233:14;9226:58;9318:24;9313:2;9305:6;9301:15;9294:49;9109:241;:::o;9356:366::-;9498:3;9519:67;9583:2;9578:3;9519:67;:::i;:::-;9512:74;;9595:93;9684:3;9595:93;:::i;:::-;9713:2;9708:3;9704:12;9697:19;;9356:366;;;:::o;9728:419::-;9894:4;9932:2;9921:9;9917:18;9909:26;;9981:9;9975:4;9971:20;9967:1;9956:9;9952:17;9945:47;10009:131;10135:4;10009:131;:::i;:::-;10001:139;;9728:419;;;:::o;10153:410::-;10193:7;10216:20;10234:1;10216:20;:::i;:::-;10211:25;;10250:20;10268:1;10250:20;:::i;:::-;10245:25;;10305:1;10302;10298:9;10327:30;10345:11;10327:30;:::i;:::-;10316:41;;10506:1;10497:7;10493:15;10490:1;10487:22;10467:1;10460:9;10440:83;10417:139;;10536:18;;:::i;:::-;10417:139;10201:362;10153:410;;;;:::o;10569:180::-;10617:77;10614:1;10607:88;10714:4;10711:1;10704:15;10738:4;10735:1;10728:15;10755:185;10795:1;10812:20;10830:1;10812:20;:::i;:::-;10807:25;;10846:20;10864:1;10846:20;:::i;:::-;10841:25;;10885:1;10875:35;;10890:18;;:::i;:::-;10875:35;10932:1;10929;10925:9;10920:14;;10755:185;;;;:::o;10946:220::-;11086:34;11082:1;11074:6;11070:14;11063:58;11155:3;11150:2;11142:6;11138:15;11131:28;10946:220;:::o;11172:366::-;11314:3;11335:67;11399:2;11394:3;11335:67;:::i;:::-;11328:74;;11411:93;11500:3;11411:93;:::i;:::-;11529:2;11524:3;11520:12;11513:19;;11172:366;;;:::o;11544:419::-;11710:4;11748:2;11737:9;11733:18;11725:26;;11797:9;11791:4;11787:20;11783:1;11772:9;11768:17;11761:47;11825:131;11951:4;11825:131;:::i;:::-;11817:139;;11544:419;;;:::o;11969:194::-;12009:4;12029:20;12047:1;12029:20;:::i;:::-;12024:25;;12063:20;12081:1;12063:20;:::i;:::-;12058:25;;12107:1;12104;12100:9;12092:17;;12131:1;12125:4;12122:11;12119:37;;;12136:18;;:::i;:::-;12119:37;11969:194;;;;:::o;12169:224::-;12309:34;12305:1;12297:6;12293:14;12286:58;12378:7;12373:2;12365:6;12361:15;12354:32;12169:224;:::o;12399:366::-;12541:3;12562:67;12626:2;12621:3;12562:67;:::i;:::-;12555:74;;12638:93;12727:3;12638:93;:::i;:::-;12756:2;12751:3;12747:12;12740:19;;12399:366;;;:::o;12771:419::-;12937:4;12975:2;12964:9;12960:18;12952:26;;13024:9;13018:4;13014:20;13010:1;12999:9;12995:17;12988:47;13052:131;13178:4;13052:131;:::i;:::-;13044:139;;12771:419;;;:::o;13196:180::-;13244:77;13241:1;13234:88;13341:4;13338:1;13331:15;13365:4;13362:1;13355:15;13382:180;13430:77;13427:1;13420:88;13527:4;13524:1;13517:15;13551:4;13548:1;13541:15;13568:143;13625:5;13656:6;13650:13;13641:22;;13672:33;13699:5;13672:33;:::i;:::-;13568:143;;;;:::o;13717:351::-;13787:6;13836:2;13824:9;13815:7;13811:23;13807:32;13804:119;;;13842:79;;:::i;:::-;13804:119;13962:1;13987:64;14043:7;14034:6;14023:9;14019:22;13987:64;:::i;:::-;13977:74;;13933:128;13717:351;;;;:::o;14074:85::-;14119:7;14148:5;14137:16;;14074:85;;;:::o;14165:158::-;14223:9;14256:61;14274:42;14283:32;14309:5;14283:32;:::i;:::-;14274:42;:::i;:::-;14256:61;:::i;:::-;14243:74;;14165:158;;;:::o;14329:147::-;14424:45;14463:5;14424:45;:::i;:::-;14419:3;14412:58;14329:147;;:::o;14482:114::-;14549:6;14583:5;14577:12;14567:22;;14482:114;;;:::o;14602:184::-;14701:11;14735:6;14730:3;14723:19;14775:4;14770:3;14766:14;14751:29;;14602:184;;;;:::o;14792:132::-;14859:4;14882:3;14874:11;;14912:4;14907:3;14903:14;14895:22;;14792:132;;;:::o;14930:108::-;15007:24;15025:5;15007:24;:::i;:::-;15002:3;14995:37;14930:108;;:::o;15044:179::-;15113:10;15134:46;15176:3;15168:6;15134:46;:::i;:::-;15212:4;15207:3;15203:14;15189:28;;15044:179;;;;:::o;15229:113::-;15299:4;15331;15326:3;15322:14;15314:22;;15229:113;;;:::o;15378:732::-;15497:3;15526:54;15574:5;15526:54;:::i;:::-;15596:86;15675:6;15670:3;15596:86;:::i;:::-;15589:93;;15706:56;15756:5;15706:56;:::i;:::-;15785:7;15816:1;15801:284;15826:6;15823:1;15820:13;15801:284;;;15902:6;15896:13;15929:63;15988:3;15973:13;15929:63;:::i;:::-;15922:70;;16015:60;16068:6;16015:60;:::i;:::-;16005:70;;15861:224;15848:1;15845;15841:9;15836:14;;15801:284;;;15805:14;16101:3;16094:10;;15502:608;;;15378:732;;;;:::o;16116:831::-;16379:4;16417:3;16406:9;16402:19;16394:27;;16431:71;16499:1;16488:9;16484:17;16475:6;16431:71;:::i;:::-;16512:80;16588:2;16577:9;16573:18;16564:6;16512:80;:::i;:::-;16639:9;16633:4;16629:20;16624:2;16613:9;16609:18;16602:48;16667:108;16770:4;16761:6;16667:108;:::i;:::-;16659:116;;16785:72;16853:2;16842:9;16838:18;16829:6;16785:72;:::i;:::-;16867:73;16935:3;16924:9;16920:19;16911:6;16867:73;:::i;:::-;16116:831;;;;;;;;:::o;16953:147::-;17054:11;17091:3;17076:18;;16953:147;;;;:::o;17106:114::-;;:::o;17226:398::-;17385:3;17406:83;17487:1;17482:3;17406:83;:::i;:::-;17399:90;;17498:93;17587:3;17498:93;:::i;:::-;17616:1;17611:3;17607:11;17600:18;;17226:398;;;:::o;17630:379::-;17814:3;17836:147;17979:3;17836:147;:::i;:::-;17829:154;;18000:3;17993:10;;17630:379;;;:::o;18015:180::-;18155:32;18151:1;18143:6;18139:14;18132:56;18015:180;:::o;18201:366::-;18343:3;18364:67;18428:2;18423:3;18364:67;:::i;:::-;18357:74;;18440:93;18529:3;18440:93;:::i;:::-;18558:2;18553:3;18549:12;18542:19;;18201:366;;;:::o;18573:419::-;18739:4;18777:2;18766:9;18762:18;18754:26;;18826:9;18820:4;18816:20;18812:1;18801:9;18797:17;18790:47;18854:131;18980:4;18854:131;:::i;:::-;18846:139;;18573:419;;;:::o;18998:807::-;19247:4;19285:3;19274:9;19270:19;19262:27;;19299:71;19367:1;19356:9;19352:17;19343:6;19299:71;:::i;:::-;19380:72;19448:2;19437:9;19433:18;19424:6;19380:72;:::i;:::-;19462:80;19538:2;19527:9;19523:18;19514:6;19462:80;:::i;:::-;19552;19628:2;19617:9;19613:18;19604:6;19552:80;:::i;:::-;19642:73;19710:3;19699:9;19695:19;19686:6;19642:73;:::i;:::-;19725;19793:3;19782:9;19778:19;19769:6;19725:73;:::i;:::-;18998:807;;;;;;;;;:::o;19811:143::-;19868:5;19899:6;19893:13;19884:22;;19915:33;19942:5;19915:33;:::i;:::-;19811:143;;;;:::o;19960:663::-;20048:6;20056;20064;20113:2;20101:9;20092:7;20088:23;20084:32;20081:119;;;20119:79;;:::i;:::-;20081:119;20239:1;20264:64;20320:7;20311:6;20300:9;20296:22;20264:64;:::i;:::-;20254:74;;20210:128;20377:2;20403:64;20459:7;20450:6;20439:9;20435:22;20403:64;:::i;:::-;20393:74;;20348:129;20516:2;20542:64;20598:7;20589:6;20578:9;20574:22;20542:64;:::i;:::-;20532:74;;20487:129;19960:663;;;;;:::o;20629:332::-;20750:4;20788:2;20777:9;20773:18;20765:26;;20801:71;20869:1;20858:9;20854:17;20845:6;20801:71;:::i;:::-;20882:72;20950:2;20939:9;20935:18;20926:6;20882:72;:::i;:::-;20629:332;;;;;:::o;20967:177::-;21107:29;21103:1;21095:6;21091:14;21084:53;20967:177;:::o;21150:366::-;21292:3;21313:67;21377:2;21372:3;21313:67;:::i;:::-;21306:74;;21389:93;21478:3;21389:93;:::i;:::-;21507:2;21502:3;21498:12;21491:19;;21150:366;;;:::o;21522:419::-;21688:4;21726:2;21715:9;21711:18;21703:26;;21775:9;21769:4;21765:20;21761:1;21750:9;21746:17;21739:47;21803:131;21929:4;21803:131;:::i;:::-;21795:139;;21522:419;;;:::o
Swarm Source
ipfs://a4dfbbc46307a2d554688731f88cc1743cf2ce059abebdabbf0736cf0af84a0a
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.