Contract 0x4c76a10a658d71adb6431765a0a3ca13b6e2d491 3
[ Download CSV Export ]
OVERVIEW
Crotama is a community driven token promoting financial well-being by empowering people of all ages, and cultures to be in control of their money, and create their own wealth opportunities via a Play-to-Earn game and NFT trading on the Cronos chain.
Latest 25 internal transaction
[ Download CSV Export ]
Contract Name:
CROTAMA
Compiler Version
v0.8.9+commit.e5eed63a
Contract Source Code (Solidity)
/** *Submitted for verification at cronoscan.com on 2022-03-28 */ // SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.9; 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 Auth { address internal owner; mapping (address => bool) internal authorizations; constructor(address _owner) { owner = _owner; authorizations[_owner] = true; } modifier onlyOwner() { require(isOwner(msg.sender), "!OWNER"); _; } modifier authorized() { require(isAuthorized(msg.sender), "!AUTHORIZED"); _; } function authorize(address adr) public onlyOwner { authorizations[adr] = true; } function unauthorize(address adr) public onlyOwner { authorizations[adr] = false; } function isOwner(address account) public view returns (bool) { return account == owner; } function isAuthorized(address adr) public view returns (bool) { return authorizations[adr]; } function transferOwnership(address payable adr) public onlyOwner { owner = adr; authorizations[adr] = true; emit OwnershipTransferred(adr); } event OwnershipTransferred(address owner); } interface IDEXFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IDEXRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } interface InterfaceLP { function sync() external; } contract CROTAMA is ERC20, Auth { using SafeMath for uint256; address WETH = 0x5C7F8A570d578ED84E63fdFA7b1eE72dEae1AE23; address DEAD = 0x000000000000000000000000000000000000dEaD; address ZERO = 0x0000000000000000000000000000000000000000; string constant _name = "CROTAMA"; string constant _symbol = "CROTAMA"; uint8 constant _decimals = 2; uint256 _totalSupply = 10 * 10**9 * 10**_decimals; uint256 public _maxTxAmount = _totalSupply / 50; uint256 public _maxWalletToken = _totalSupply / 50; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) _allowances; bool public blacklistMode = true; mapping (address => bool) public isBlacklisted; bool public whitelistMode = true; mapping (address => bool) public isWhitelisted; mapping (address => bool) isFeeExempt; mapping (address => bool) isTxLimitExempt; uint256 public liquidityFee = 1; uint256 public marketingFee = 3; uint256 public devFee = 1; uint256 public teamFee = 2; uint256 public burnFee = 0; uint256 public totalFee = teamFee + marketingFee + liquidityFee + devFee + burnFee; uint256 public feeDenominator = 100; uint256 public sellMultiplier = 100; address public autoLiquidityReceiver; address public marketingFeeReceiver; address public devFeeReceiver; address public teamFeeReceiver; address public burnFeeReceiver; uint256 targetLiquidity = 100; uint256 targetLiquidityDenominator = 100; IDEXRouter public router; address public pair; InterfaceLP public pairContract; bool public tradingOpen = false; bool public swapEnabled = true; uint256 public swapThreshold = _totalSupply * 8 / 1000; bool inSwap; modifier swapping() { inSwap = true; _; inSwap = false; } constructor () Auth(msg.sender) { router = IDEXRouter(0x145677FC4d9b8F19B5D56d1820c48e0443049a30); WETH = router.WETH(); pair = IDEXFactory(router.factory()).createPair(WETH, address(this)); pairContract = InterfaceLP(pair); _allowances[address(this)][address(router)] = type(uint256).max; isFeeExempt[msg.sender] = true; isTxLimitExempt[msg.sender] = true; autoLiquidityReceiver = msg.sender; marketingFeeReceiver = 0xf2fAbDFA8e9c1bF2092aC6e857C101e2f8591f3E; devFeeReceiver = 0xA03AA9Cb50Bc1e04d0B5F4429143A371d76EBE3f; teamFeeReceiver = 0xf72c554A395e9375EEE5352E9102b805e1Ea7ACa; burnFeeReceiver = DEAD; _balances[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _totalSupply); } receive() external payable { } function totalSupply() external view override returns (uint256) { return _totalSupply; } function decimals() external pure override returns (uint8) { return _decimals; } function symbol() external pure override returns (string memory) { return _symbol; } function name() external pure override returns (string memory) { return _name; } function getOwner() external view override returns (address) { return owner; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function approveMax(address spender) external returns (bool) { return approve(spender, type(uint256).max); } function transfer(address recipient, uint256 amount) external override returns (bool) { return _transferFrom(msg.sender, recipient, amount); } function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) { if(_allowances[sender][msg.sender] != type(uint256).max){ _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance"); } return _transferFrom(sender, recipient, amount); } function setMaxWalletPercent_base10000(uint256 maxWallPercent_base10000) external onlyOwner() { _maxWalletToken = (_totalSupply * maxWallPercent_base10000 ) / 10000; } function setMaxTxPercent_base10000(uint256 maxTXPercentage_base10000) external onlyOwner() { _maxTxAmount = (_totalSupply * maxTXPercentage_base10000 ) / 10000; } function setTxLimit(uint256 amount) external authorized { _maxTxAmount = amount; } function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) { if(inSwap){ return _basicTransfer(sender, recipient, amount); } if(!authorizations[sender] && !authorizations[recipient]){ require(tradingOpen,"Trading not open yet"); } // Blacklist if(blacklistMode){ require(!isBlacklisted[sender],"Blacklisted"); } if (!authorizations[sender] && recipient != address(this) && recipient != address(DEAD) && recipient != pair && recipient != burnFeeReceiver){ uint256 heldTokens = balanceOf(recipient); require((heldTokens + amount) <= _maxWalletToken,"Total Holding is currently limited, you can not buy that much.");} // Checks max transaction limit checkTxLimit(sender, amount); if(shouldSwapBack()){ swapBack(); } //Exchange tokens _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); uint256 amountReceived = (!shouldTakeFee(sender) || !shouldTakeFee(recipient)) ? amount : takeFee(sender, amount,(recipient == pair),recipient); _balances[recipient] = _balances[recipient].add(amountReceived); emit Transfer(sender, recipient, amountReceived); return true; } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function checkTxLimit(address sender, uint256 amount) internal view { require(amount <= _maxTxAmount || isTxLimitExempt[sender], "TX Limit Exceeded"); } function shouldTakeFee(address sender) internal view returns (bool) { return !isFeeExempt[sender]; } function takeFee(address sender, uint256 amount, bool isSell, address receiver) internal returns (uint256) { uint256 multiplier = isSell ? sellMultiplier : 100; if(whitelistMode && !isWhitelisted[receiver] && !isSell){ multiplier = 1400; } uint256 feeAmount = amount.mul(totalFee).mul(multiplier).div(feeDenominator * 100); uint256 burnTokens = feeAmount.mul(burnFee).div(totalFee); uint256 contractTokens = feeAmount.sub(burnTokens); _balances[address(this)] = _balances[address(this)].add(contractTokens); _balances[burnFeeReceiver] = _balances[burnFeeReceiver].add(burnTokens); emit Transfer(sender, address(this), contractTokens); if(burnTokens > 0){ emit Transfer(sender, burnFeeReceiver, burnTokens); } return amount.sub(feeAmount); } function shouldSwapBack() internal view returns (bool) { return msg.sender != pair && !inSwap && swapEnabled && _balances[address(this)] >= swapThreshold; } function clearStuckBalance(uint256 amountPercentage) external authorized { uint256 amountETH = address(this).balance; payable(msg.sender).transfer(amountETH * amountPercentage / 100); } function clearStuckToken(address tokenAddress, uint256 tokens) public onlyOwner returns (bool) { if(tokens == 0){ tokens = ERC20(tokenAddress).balanceOf(address(this)); } return ERC20(tokenAddress).transfer(msg.sender, tokens); } function set_sell_multiplier(uint256 _multiplier) external onlyOwner{ sellMultiplier = _multiplier; } // switch Trading function tradingStatus(bool _status) public onlyOwner { tradingOpen = _status; } function swapBack() internal swapping { uint256 dynamicLiquidityFee = isOverLiquified(targetLiquidity, targetLiquidityDenominator) ? 0 : liquidityFee; uint256 amountToLiquify = swapThreshold.mul(dynamicLiquidityFee).div(totalFee).div(2); uint256 amountToSwap = swapThreshold.sub(amountToLiquify); address[] memory path = new address[](2); path[0] = address(this); path[1] = WETH; uint256 balanceBefore = address(this).balance; router.swapExactTokensForETHSupportingFeeOnTransferTokens( amountToSwap, 0, path, address(this), block.timestamp ); uint256 amountETH = address(this).balance.sub(balanceBefore); uint256 totalETHFee = totalFee.sub(dynamicLiquidityFee.div(2)); uint256 amountETHLiquidity = amountETH.mul(dynamicLiquidityFee).div(totalETHFee).div(2); uint256 amountETHMarketing = amountETH.mul(marketingFee).div(totalETHFee); uint256 amountETHteam = amountETH.mul(teamFee).div(totalETHFee); uint256 amountETHdev = amountETH.mul(devFee).div(totalETHFee); (bool tmpSuccess,) = payable(marketingFeeReceiver).call{value: amountETHMarketing}(""); (tmpSuccess,) = payable(devFeeReceiver).call{value: amountETHdev}(""); (tmpSuccess,) = payable(teamFeeReceiver).call{value: amountETHteam}(""); // life sucks tmpSuccess = false; if(amountToLiquify > 0){ router.addLiquidityETH{value: amountETHLiquidity}( address(this), amountToLiquify, 0, 0, autoLiquidityReceiver, block.timestamp ); emit AutoLiquify(amountETHLiquidity, amountToLiquify); } } function enable_blacklist(bool _status) public onlyOwner { blacklistMode = _status; } function enable_whitelist(bool _status) public onlyOwner { whitelistMode = _status; } function manage_blacklist(address[] calldata addresses, bool status) public onlyOwner { for (uint256 i; i < addresses.length; ++i) { isBlacklisted[addresses[i]] = status; } } function manage_whitelist(address[] calldata addresses, bool status) public onlyOwner { for (uint256 i; i < addresses.length; ++i) { isWhitelisted[addresses[i]] = status; } } function setIsFeeExempt(address holder, bool exempt) external authorized { isFeeExempt[holder] = exempt; } function setIsTxLimitExempt(address holder, bool exempt) external authorized { isTxLimitExempt[holder] = exempt; } function setFees(uint256 _liquidityFee, uint256 _teamFee, uint256 _marketingFee, uint256 _devFee, uint256 _burnFee, uint256 _feeDenominator) external authorized { liquidityFee = _liquidityFee; teamFee = _teamFee; marketingFee = _marketingFee; devFee = _devFee; burnFee = _burnFee; totalFee = _liquidityFee.add(_teamFee).add(_marketingFee).add(_devFee).add(_burnFee); feeDenominator = _feeDenominator; require(totalFee < feeDenominator/2, "Fees cannot be more than 50%"); } function setFeeReceivers(address _autoLiquidityReceiver, address _marketingFeeReceiver, address _devFeeReceiver, address _burnFeeReceiver, address _teamFeeReceiver) external authorized { autoLiquidityReceiver = _autoLiquidityReceiver; marketingFeeReceiver = _marketingFeeReceiver; devFeeReceiver = _devFeeReceiver; burnFeeReceiver = _burnFeeReceiver; teamFeeReceiver = _teamFeeReceiver; } function setSwapBackSettings(bool _enabled, uint256 _amount) external authorized { swapEnabled = _enabled; swapThreshold = _amount; } function setTargetLiquidity(uint256 _target, uint256 _denominator) external authorized { targetLiquidity = _target; targetLiquidityDenominator = _denominator; } function getCirculatingSupply() public view returns (uint256) { return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO)); } function getLiquidityBacking(uint256 accuracy) public view returns (uint256) { return accuracy.mul(balanceOf(pair).mul(2)).div(getCirculatingSupply()); } function isOverLiquified(uint256 target, uint256 accuracy) public view returns (bool) { return getLiquidityBacking(accuracy) > target; } /* Airdrop Begins */ function multiTransfer(address from, address[] calldata addresses, uint256[] calldata tokens) external onlyOwner { require(addresses.length < 501,"GAS Error: max airdrop limit is 500 addresses"); require(addresses.length == tokens.length,"Mismatch between Address and token count"); uint256 SCCC = 0; for(uint i=0; i < addresses.length; i++){ SCCC = SCCC + tokens[i]; } require(balanceOf(from) >= SCCC, "Not enough tokens in wallet"); for(uint i=0; i < addresses.length; i++){ _basicTransfer(from,addresses[i],tokens[i]); } } event AutoLiquify(uint256 amountETH, uint256 amountTokens); }
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountTokens","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"authorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"autoLiquidityReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"blacklistMode","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burnFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercentage","type":"uint256"}],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"clearStuckToken","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"devFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"devFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"enable_blacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"enable_whitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"getLiquidityBacking","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"isAuthorized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"target","type":"uint256"},{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"isOverLiquified","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":[{"internalType":"address","name":"","type":"address"}],"name":"isWhitelisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manage_blacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manage_whitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"uint256[]","name":"tokens","type":"uint256[]"}],"name":"multiTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pairContract","outputs":[{"internalType":"contract InterfaceLP","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellMultiplier","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_autoLiquidityReceiver","type":"address"},{"internalType":"address","name":"_marketingFeeReceiver","type":"address"},{"internalType":"address","name":"_devFeeReceiver","type":"address"},{"internalType":"address","name":"_burnFeeReceiver","type":"address"},{"internalType":"address","name":"_teamFeeReceiver","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_teamFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_devFee","type":"uint256"},{"internalType":"uint256","name":"_burnFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTXPercentage_base10000","type":"uint256"}],"name":"setMaxTxPercent_base10000","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallPercent_base10000","type":"uint256"}],"name":"setMaxWalletPercent_base10000","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_target","type":"uint256"},{"internalType":"uint256","name":"_denominator","type":"uint256"}],"name":"setTargetLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_multiplier","type":"uint256"}],"name":"set_sell_multiplier","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"teamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"teamFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"tradingStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"unauthorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"whitelistMode","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600280546001600160a01b0319908116735c7f8a570d578ed84e63fdfa7b1ee72deae1ae2317825560038054821661dead1790556004805490911690556200004e90600a6200057f565b6200005f906402540be40062000597565b6005556032600554620000739190620005b9565b6006556032600554620000879190620005b9565b600755600a8054600160ff199182168117909255600c8054909116821790556010819055600360118190556012829055600260138190556000601481905592918291620000d59190620005dc565b620000e19190620005dc565b620000ed9190620005dc565b620000f99190620005dc565b601555606460168190556017819055601d819055601e556021805461ffff60a01b1916600160a81b1790556005546103e8906200013890600862000597565b620001449190620005b9565b6022553480156200015457600080fd5b5060008054336001600160a01b031991821681178355825260016020818152604093849020805460ff1916909217909155601f805473145677fc4d9b8f19b5d56d1820c48e0443049a3093168317905582516315ab88c960e31b81529251919263ad5c46489260048083019392829003018186803b158015620001d657600080fd5b505afa158015620001eb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002119190620005f7565b600280546001600160a01b0319166001600160a01b03928316179055601f546040805163c45a015560e01b81529051919092169163c45a0155916004808301926020929190829003018186803b1580156200026b57600080fd5b505afa15801562000280573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002a69190620005f7565b6002546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c6539690604401602060405180830381600087803b158015620002f357600080fd5b505af115801562000308573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200032e9190620005f7565b602080546001600160a01b039283166001600160a01b0319918216811783556021805483169091179055306000908152600983526040808220601f54861683528452808220600019905533808352600e8552818320805460ff199081166001908117909255600f8752838520805490911690911790556018805485168217905560198054851673f2fabdfa8e9c1bf2092ac6e857c101e2f8591f3e179055601a8054851673a03aa9cb50bc1e04d0b5f4429143a371d76ebe3f179055601b8054851673f72c554a395e9375eee5352e9102b805e1ea7aca179055600354601c80549095169616959095179092556005546008909352818120839055905190917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef916200045c91815260200190565b60405180910390a362000622565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620004c1578160001904821115620004a557620004a56200046a565b80851615620004b357918102915b93841c939080029062000485565b509250929050565b600082620004da5750600162000579565b81620004e95750600062000579565b81600181146200050257600281146200050d576200052d565b600191505062000579565b60ff8411156200052157620005216200046a565b50506001821b62000579565b5060208310610133831016604e8410600b841016171562000552575081810a62000579565b6200055e838362000480565b80600019048211156200057557620005756200046a565b0290505b92915050565b60006200059060ff841683620004c9565b9392505050565b6000816000190483118215151615620005b457620005b46200046a565b500290565b600082620005d757634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115620005f257620005f26200046a565b500190565b6000602082840312156200060a57600080fd5b81516001600160a01b03811681146200059057600080fd5b612a3580620006326000396000f3fe6080604052600436106103b15760003560e01c806378109e54116101e7578063dd62ed3e1161010d578063f2fde38b116100a0578063fe575a871161006f578063fe575a8714610b00578063fe9fbb8014610b30578063fed0d2a114610b50578063ffb54a9914610b6657600080fd5b8063f2fde38b14610a8a578063f84ba65d14610aaa578063f887ea4014610aca578063fce589d814610aea57600080fd5b8063e96fada2116100dc578063e96fada214610a0a578063ec72d65f14610a2a578063f0b37c0414610a4a578063f12418a814610a6a57600080fd5b8063dd62ed3e14610964578063df20fd49146109aa578063e1950fa4146109ca578063e3763ded146109ea57600080fd5b806398118cb411610185578063ca33e64c11610154578063ca33e64c146108ee578063d51ed1c81461090e578063d7c94efd1461092e578063dab84ee71461094457600080fd5b806398118cb414610878578063a8aa1b311461088e578063a9059cbb146108ae578063b6a5d7de146108ce57600080fd5b8063893d20e8116101c1578063893d20e814610820578063896648c11461083e5780638e2eee841461085857806395d89b411461042857600080fd5b806378109e54146107d45780637d1db4a5146107ea57806386f6c3c11461080057600080fd5b80632b112e49116102d75780635e562f3b1161026a5780636ddd1713116102395780636ddd17131461074357806370a082311461076457806370c757ec1461079a57806377b54bad146107b457600080fd5b80635e562f3b146106d7578063658d4b7f146106f75780636827e764146107175780636b67c4df1461072d57600080fd5b806340291143116102a6578063402911431461063f5780634d709adf14610677578063571ac8b0146106975780635c85974f146106b757600080fd5b80632b112e49146105af5780632f54bf6e146105c4578063313ce567146105f35780633af32abf1461060f57600080fd5b8063180b0d7e1161034f5780631da1db5e1161031e5780631da1db5e146105395780631df4ccfc14610559578063201e79911461056f57806323b872dd1461058f57600080fd5b8063180b0d7e146104ce57806318160ddd146104e457806318abb635146104f95780631ca0a28d1461051957600080fd5b806306fdde031161038b57806306fdde0314610428578063095ea7b31461045e5780630d2959801461048e5780631161ae39146104ae57600080fd5b8063012aa912146103bd5780630445b667146103df5780630477e4761461040857600080fd5b366103b857005b600080fd5b3480156103c957600080fd5b506103dd6103d8366004612452565b610b87565b005b3480156103eb57600080fd5b506103f560225481565b6040519081526020015b60405180910390f35b34801561041457600080fd5b506103dd6104233660046124c8565b610bdb565b34801561043457600080fd5b50604080518082018252600781526643524f54414d4160c81b602082015290516103ff919061251f565b34801561046a57600080fd5b5061047e610479366004612589565b610c7a565b60405190151581526020016103ff565b34801561049a57600080fd5b506103dd6104a93660046125b5565b610ce7565b3480156104ba57600080fd5b5061047e6104c93660046125d2565b610d2f565b3480156104da57600080fd5b506103f560165481565b3480156104f057600080fd5b506005546103f5565b34801561050557600080fd5b506103dd6105143660046125f4565b610d43565b34801561052557600080fd5b506103dd610534366004612665565b610dc7565b34801561054557600080fd5b506103dd610554366004612452565b610fdb565b34801561056557600080fd5b506103f560155481565b34801561057b57600080fd5b506103dd61058a3660046125d2565b611048565b34801561059b57600080fd5b5061047e6105aa3660046126e8565b611078565b3480156105bb57600080fd5b506103f561113a565b3480156105d057600080fd5b5061047e6105df366004612729565b6000546001600160a01b0391821691161490565b3480156105ff57600080fd5b50604051600281526020016103ff565b34801561061b57600080fd5b5061047e61062a366004612729565b600d6020526000908152604090205460ff1681565b34801561064b57600080fd5b50601b5461065f906001600160a01b031681565b6040516001600160a01b0390911681526020016103ff565b34801561068357600080fd5b5060215461065f906001600160a01b031681565b3480156106a357600080fd5b5061047e6106b2366004612729565b61118c565b3480156106c357600080fd5b506103dd6106d2366004612452565b61119a565b3480156106e357600080fd5b506103dd6106f23660046125b5565b6111c4565b34801561070357600080fd5b506103dd610712366004612746565b611201565b34801561072357600080fd5b506103f560125481565b34801561073957600080fd5b506103f560115481565b34801561074f57600080fd5b5060215461047e90600160a81b900460ff1681565b34801561077057600080fd5b506103f561077f366004612729565b6001600160a01b031660009081526008602052604090205490565b3480156107a657600080fd5b50600c5461047e9060ff1681565b3480156107c057600080fd5b5061047e6107cf366004612589565b611251565b3480156107e057600080fd5b506103f560075481565b3480156107f657600080fd5b506103f560065481565b34801561080c57600080fd5b506103dd61081b36600461277f565b61137b565b34801561082c57600080fd5b506000546001600160a01b031661065f565b34801561084a57600080fd5b50600a5461047e9060ff1681565b34801561086457600080fd5b506103dd6108733660046124c8565b61143c565b34801561088457600080fd5b506103f560105481565b34801561089a57600080fd5b5060205461065f906001600160a01b031681565b3480156108ba57600080fd5b5061047e6108c9366004612589565b6114d5565b3480156108da57600080fd5b506103dd6108e9366004612729565b6114e2565b3480156108fa57600080fd5b5060185461065f906001600160a01b031681565b34801561091a57600080fd5b506103f5610929366004612452565b611533565b34801561093a57600080fd5b506103f560135481565b34801561095057600080fd5b50601a5461065f906001600160a01b031681565b34801561097057600080fd5b506103f561097f3660046127c2565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b3480156109b657600080fd5b506103dd6109c53660046127f0565b61157b565b3480156109d657600080fd5b506103dd6109e53660046125b5565b6115c2565b3480156109f657600080fd5b50601c5461065f906001600160a01b031681565b348015610a1657600080fd5b5060195461065f906001600160a01b031681565b348015610a3657600080fd5b506103dd610a45366004612452565b6115ff565b348015610a5657600080fd5b506103dd610a65366004612729565b61162e565b348015610a7657600080fd5b506103dd610a85366004612452565b611679565b348015610a9657600080fd5b506103dd610aa5366004612729565b6116c4565b348015610ab657600080fd5b506103dd610ac5366004612746565b61175a565b348015610ad657600080fd5b50601f5461065f906001600160a01b031681565b348015610af657600080fd5b506103f560145481565b348015610b0c57600080fd5b5061047e610b1b366004612729565b600b6020526000908152604090205460ff1681565b348015610b3c57600080fd5b5061047e610b4b366004612729565b6117aa565b348015610b5c57600080fd5b506103f560175481565b348015610b7257600080fd5b5060215461047e90600160a01b900460ff1681565b6000546001600160a01b03163314610bba5760405162461bcd60e51b8152600401610bb19061280e565b60405180910390fd5b61271081600554610bcb9190612844565b610bd59190612863565b60075550565b6000546001600160a01b03163314610c055760405162461bcd60e51b8152600401610bb19061280e565b60005b82811015610c745781600d6000868685818110610c2757610c27612885565b9050602002016020810190610c3c9190612729565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610c6d8161289b565b9050610c08565b50505050565b3360008181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610cd59086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b03163314610d115760405162461bcd60e51b8152600401610bb19061280e565b60218054911515600160a01b0260ff60a01b19909216919091179055565b600082610d3b83611533565b119392505050565b610d4c336117aa565b610d685760405162461bcd60e51b8152600401610bb1906128b6565b601880546001600160a01b03199081166001600160a01b039788161790915560198054821695871695909517909455601a8054851693861693909317909255601c80548416918516919091179055601b80549092169216919091179055565b6000546001600160a01b03163314610df15760405162461bcd60e51b8152600401610bb19061280e565b6101f58310610e585760405162461bcd60e51b815260206004820152602d60248201527f474153204572726f723a206d61782061697264726f70206c696d69742069732060448201526c3530302061646472657373657360981b6064820152608401610bb1565b828114610eb85760405162461bcd60e51b815260206004820152602860248201527f4d69736d61746368206265747765656e204164647265737320616e6420746f6b604482015267195b8818dbdd5b9d60c21b6064820152608401610bb1565b6000805b84811015610efc57838382818110610ed657610ed6612885565b9050602002013582610ee891906128db565b915080610ef48161289b565b915050610ebc565b5080610f1d876001600160a01b031660009081526008602052604090205490565b1015610f6b5760405162461bcd60e51b815260206004820152601b60248201527f4e6f7420656e6f75676820746f6b656e7320696e2077616c6c657400000000006044820152606401610bb1565b60005b84811015610fd257610fbf87878784818110610f8c57610f8c612885565b9050602002016020810190610fa19190612729565b868685818110610fb357610fb3612885565b905060200201356117c8565b5080610fca8161289b565b915050610f6e565b50505050505050565b610fe4336117aa565b6110005760405162461bcd60e51b8152600401610bb1906128b6565b47336108fc60646110118585612844565b61101b9190612863565b6040518115909202916000818181858888f19350505050158015611043573d6000803e3d6000fd5b505050565b611051336117aa565b61106d5760405162461bcd60e51b8152600401610bb1906128b6565b601d91909155601e55565b6001600160a01b038316600090815260096020908152604080832033845290915281205460001914611125576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260098252838120338252909152919091205461110091849061189c565b6001600160a01b03851660009081526009602090815260408083203384529091529020555b6111308484846118d6565b90505b9392505050565b6004546001600160a01b0316600090815260086020526040812054611187906003546001600160a01b03166000908152600860205260409020546111819060055490611c77565b90611c77565b905090565b6000610ce182600019610c7a565b6111a3336117aa565b6111bf5760405162461bcd60e51b8152600401610bb1906128b6565b600655565b6000546001600160a01b031633146111ee5760405162461bcd60e51b8152600401610bb19061280e565b600a805460ff1916911515919091179055565b61120a336117aa565b6112265760405162461bcd60e51b8152600401610bb1906128b6565b6001600160a01b03919091166000908152600e60205260409020805460ff1916911515919091179055565b600080546001600160a01b0316331461127c5760405162461bcd60e51b8152600401610bb19061280e565b816112fb576040516370a0823160e01b81523060048201526001600160a01b038416906370a082319060240160206040518083038186803b1580156112c057600080fd5b505afa1580156112d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112f891906128f3565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb90604401602060405180830381600087803b15801561134357600080fd5b505af1158015611357573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611133919061290c565b611384336117aa565b6113a05760405162461bcd60e51b8152600401610bb1906128b6565b601086905560138590556011849055601283905560148290556113d1826113cb858188818c8c611cb9565b90611cb9565b60155560168190556113e4600282612863565b601554106114345760405162461bcd60e51b815260206004820152601c60248201527f466565732063616e6e6f74206265206d6f7265207468616e20353025000000006044820152606401610bb1565b505050505050565b6000546001600160a01b031633146114665760405162461bcd60e51b8152600401610bb19061280e565b60005b82811015610c745781600b600086868581811061148857611488612885565b905060200201602081019061149d9190612729565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556114ce8161289b565b9050611469565b60006111333384846118d6565b6000546001600160a01b0316331461150c5760405162461bcd60e51b8152600401610bb19061280e565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b6000610ce161154061113a565b602080546001600160a01b03166000908152600890915260409020546115759061156e906002905b90611d18565b8590611d18565b90611d97565b611584336117aa565b6115a05760405162461bcd60e51b8152600401610bb1906128b6565b60218054921515600160a81b0260ff60a81b1990931692909217909155602255565b6000546001600160a01b031633146115ec5760405162461bcd60e51b8152600401610bb19061280e565b600c805460ff1916911515919091179055565b6000546001600160a01b031633146116295760405162461bcd60e51b8152600401610bb19061280e565b601755565b6000546001600160a01b031633146116585760405162461bcd60e51b8152600401610bb19061280e565b6001600160a01b03166000908152600160205260409020805460ff19169055565b6000546001600160a01b031633146116a35760405162461bcd60e51b8152600401610bb19061280e565b612710816005546116b49190612844565b6116be9190612863565b60065550565b6000546001600160a01b031633146116ee5760405162461bcd60e51b8152600401610bb19061280e565b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b611763336117aa565b61177f5760405162461bcd60e51b8152600401610bb1906128b6565b6001600160a01b03919091166000908152600f60205260409020805460ff1916911515919091179055565b6001600160a01b031660009081526001602052604090205460ff1690565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260089091529182205461181991849061189c565b6001600160a01b0380861660009081526008602052604080822093909355908516815220546118489083611cb9565b6001600160a01b0380851660008181526008602052604090819020939093559151908616906000805160206129e08339815191529061188a9086815260200190565b60405180910390a35060019392505050565b600081848411156118c05760405162461bcd60e51b8152600401610bb1919061251f565b5060006118cd8486612929565b95945050505050565b60235460009060ff16156118f6576118ef8484846117c8565b9050611133565b6001600160a01b03841660009081526001602052604090205460ff1615801561193857506001600160a01b03831660009081526001602052604090205460ff16155b1561198d57602154600160a01b900460ff1661198d5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b6044820152606401610bb1565b600a5460ff16156119ef576001600160a01b0384166000908152600b602052604090205460ff16156119ef5760405162461bcd60e51b815260206004820152600b60248201526a109b1858dadb1a5cdd195960aa1b6044820152606401610bb1565b6001600160a01b03841660009081526001602052604090205460ff16158015611a2157506001600160a01b0383163014155b8015611a3b57506003546001600160a01b03848116911614155b8015611a5557506020546001600160a01b03848116911614155b8015611a6f5750601c546001600160a01b03848116911614155b15611b10576001600160a01b038316600090815260086020526040902054600754611a9a84836128db565b1115611b0e5760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e00006064820152608401610bb1565b505b611b1a8483611dd9565b611b22611e46565b15611b2f57611b2f611e9c565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260089091529190912054611b8191849061189c565b6001600160a01b038516600090815260086020908152604080832093909355600e90529081205460ff16151580611bd257506001600160a01b0384166000908152600e602052604090205460ff1615155b611bfa57602054611bf590869085906001600160a01b0388811691161487612292565b611bfc565b825b6001600160a01b038516600090815260086020526040902054909150611c229082611cb9565b6001600160a01b0380861660008181526008602052604090819020939093559151908716906000805160206129e083398151915290611c649085815260200190565b60405180910390a3506001949350505050565b600061113383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061189c565b600080611cc683856128db565b9050838110156111335760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610bb1565b600082611d2757506000610ce1565b6000611d338385612844565b905082611d408583612863565b146111335760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610bb1565b600061113383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612424565b60065481111580611e0257506001600160a01b0382166000908152600f602052604090205460ff165b611e425760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610bb1565b5050565b6020546000906001600160a01b03163314801590611e67575060235460ff16155b8015611e7c5750602154600160a81b900460ff165b801561118757505060225430600090815260086020526040902054101590565b6023805460ff19166001179055601d54601e54600091611ebb91610d2f565b611ec757601054611eca565b60005b90506000611eee600261157560155461157586602254611d1890919063ffffffff16565b90506000611f0782602254611c7790919063ffffffff16565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110611f4157611f41612885565b6001600160a01b039283166020918202929092010152600254825191169082906001908110611f7257611f72612885565b6001600160a01b039283166020918202929092010152601f5460405163791ac94760e01b81524792919091169063791ac94790611fbc908690600090879030904290600401612940565b600060405180830381600087803b158015611fd657600080fd5b505af1158015611fea573d6000803e3d6000fd5b5050505060006120038247611c7790919063ffffffff16565b9050600061201e612015886002611d97565b60155490611c77565b9050600061203360026115758481878d611d18565b905060006120508361157560115487611d1890919063ffffffff16565b9050600061206d8461157560135488611d1890919063ffffffff16565b9050600061208a8561157560125489611d1890919063ffffffff16565b6019546040519192506000916001600160a01b039091169085908381818185875af1925050503d80600081146120dc576040519150601f19603f3d011682016040523d82523d6000602084013e6120e1565b606091505b5050601a546040519192506001600160a01b0316908390600081818185875af1925050503d8060008114612131576040519150601f19603f3d011682016040523d82523d6000602084013e612136565b606091505b5050601b546040519192506001600160a01b0316908490600081818185875af1925050503d8060008114612186576040519150601f19603f3d011682016040523d82523d6000602084013e61218b565b606091505b5060009250508b15905061227a57601f5460185460405163f305d71960e01b8152306004820152602481018e905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c4016060604051808303818588803b15801561220457600080fd5b505af1158015612218573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061223d91906129b1565b505060408051878152602081018e90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506023805460ff1916905550505050505050505050565b600080836122a15760646122a5565b6017545b600c5490915060ff1680156122d357506001600160a01b0383166000908152600d602052604090205460ff16155b80156122dd575083155b156122e757506105785b600061231460165460646122fb9190612844565b611575846115686015548b611d1890919063ffffffff16565b9050600061233360155461157560145485611d1890919063ffffffff16565b905060006123418383611c77565b3060009081526008602052604090205490915061235e9082611cb9565b3060009081526008602052604080822092909255601c546001600160a01b03168152205461238c9083611cb9565b601c546001600160a01b0390811660009081526008602090815260409182902093909355518381523092918c16916000805160206129e0833981519152910160405180910390a3811561240d57601c546040518381526001600160a01b03918216918b16906000805160206129e08339815191529060200160405180910390a35b6124178884611c77565b9998505050505050505050565b600081836124455760405162461bcd60e51b8152600401610bb1919061251f565b5060006118cd8486612863565b60006020828403121561246457600080fd5b5035919050565b60008083601f84011261247d57600080fd5b50813567ffffffffffffffff81111561249557600080fd5b6020830191508360208260051b85010111156124b057600080fd5b9250929050565b80151581146124c557600080fd5b50565b6000806000604084860312156124dd57600080fd5b833567ffffffffffffffff8111156124f457600080fd5b6125008682870161246b565b9094509250506020840135612514816124b7565b809150509250925092565b600060208083528351808285015260005b8181101561254c57858101830151858201604001528201612530565b8181111561255e576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146124c557600080fd5b6000806040838503121561259c57600080fd5b82356125a781612574565b946020939093013593505050565b6000602082840312156125c757600080fd5b8135611133816124b7565b600080604083850312156125e557600080fd5b50508035926020909101359150565b600080600080600060a0868803121561260c57600080fd5b853561261781612574565b9450602086013561262781612574565b9350604086013561263781612574565b9250606086013561264781612574565b9150608086013561265781612574565b809150509295509295909350565b60008060008060006060868803121561267d57600080fd5b853561268881612574565b9450602086013567ffffffffffffffff808211156126a557600080fd5b6126b189838a0161246b565b909650945060408801359150808211156126ca57600080fd5b506126d78882890161246b565b969995985093965092949392505050565b6000806000606084860312156126fd57600080fd5b833561270881612574565b9250602084013561271881612574565b929592945050506040919091013590565b60006020828403121561273b57600080fd5b813561113381612574565b6000806040838503121561275957600080fd5b823561276481612574565b91506020830135612774816124b7565b809150509250929050565b60008060008060008060c0878903121561279857600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b600080604083850312156127d557600080fd5b82356127e081612574565b9150602083013561277481612574565b6000806040838503121561280357600080fd5b82356125a7816124b7565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561285e5761285e61282e565b500290565b60008261288057634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60006000198214156128af576128af61282e565b5060010190565b6020808252600b908201526a085055551213d49256915160aa1b604082015260600190565b600082198211156128ee576128ee61282e565b500190565b60006020828403121561290557600080fd5b5051919050565b60006020828403121561291e57600080fd5b8151611133816124b7565b60008282101561293b5761293b61282e565b500390565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156129905784516001600160a01b03168352938301939183019160010161296b565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156129c657600080fd5b835192506020840151915060408401519050925092509256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122099c81314e1e9a5451d2ba7bca3e7846c3ba61ecb9935d8db5fdcc3d12a622e7a64736f6c63430008090033
Deployed Bytecode
0x6080604052600436106103b15760003560e01c806378109e54116101e7578063dd62ed3e1161010d578063f2fde38b116100a0578063fe575a871161006f578063fe575a8714610b00578063fe9fbb8014610b30578063fed0d2a114610b50578063ffb54a9914610b6657600080fd5b8063f2fde38b14610a8a578063f84ba65d14610aaa578063f887ea4014610aca578063fce589d814610aea57600080fd5b8063e96fada2116100dc578063e96fada214610a0a578063ec72d65f14610a2a578063f0b37c0414610a4a578063f12418a814610a6a57600080fd5b8063dd62ed3e14610964578063df20fd49146109aa578063e1950fa4146109ca578063e3763ded146109ea57600080fd5b806398118cb411610185578063ca33e64c11610154578063ca33e64c146108ee578063d51ed1c81461090e578063d7c94efd1461092e578063dab84ee71461094457600080fd5b806398118cb414610878578063a8aa1b311461088e578063a9059cbb146108ae578063b6a5d7de146108ce57600080fd5b8063893d20e8116101c1578063893d20e814610820578063896648c11461083e5780638e2eee841461085857806395d89b411461042857600080fd5b806378109e54146107d45780637d1db4a5146107ea57806386f6c3c11461080057600080fd5b80632b112e49116102d75780635e562f3b1161026a5780636ddd1713116102395780636ddd17131461074357806370a082311461076457806370c757ec1461079a57806377b54bad146107b457600080fd5b80635e562f3b146106d7578063658d4b7f146106f75780636827e764146107175780636b67c4df1461072d57600080fd5b806340291143116102a6578063402911431461063f5780634d709adf14610677578063571ac8b0146106975780635c85974f146106b757600080fd5b80632b112e49146105af5780632f54bf6e146105c4578063313ce567146105f35780633af32abf1461060f57600080fd5b8063180b0d7e1161034f5780631da1db5e1161031e5780631da1db5e146105395780631df4ccfc14610559578063201e79911461056f57806323b872dd1461058f57600080fd5b8063180b0d7e146104ce57806318160ddd146104e457806318abb635146104f95780631ca0a28d1461051957600080fd5b806306fdde031161038b57806306fdde0314610428578063095ea7b31461045e5780630d2959801461048e5780631161ae39146104ae57600080fd5b8063012aa912146103bd5780630445b667146103df5780630477e4761461040857600080fd5b366103b857005b600080fd5b3480156103c957600080fd5b506103dd6103d8366004612452565b610b87565b005b3480156103eb57600080fd5b506103f560225481565b6040519081526020015b60405180910390f35b34801561041457600080fd5b506103dd6104233660046124c8565b610bdb565b34801561043457600080fd5b50604080518082018252600781526643524f54414d4160c81b602082015290516103ff919061251f565b34801561046a57600080fd5b5061047e610479366004612589565b610c7a565b60405190151581526020016103ff565b34801561049a57600080fd5b506103dd6104a93660046125b5565b610ce7565b3480156104ba57600080fd5b5061047e6104c93660046125d2565b610d2f565b3480156104da57600080fd5b506103f560165481565b3480156104f057600080fd5b506005546103f5565b34801561050557600080fd5b506103dd6105143660046125f4565b610d43565b34801561052557600080fd5b506103dd610534366004612665565b610dc7565b34801561054557600080fd5b506103dd610554366004612452565b610fdb565b34801561056557600080fd5b506103f560155481565b34801561057b57600080fd5b506103dd61058a3660046125d2565b611048565b34801561059b57600080fd5b5061047e6105aa3660046126e8565b611078565b3480156105bb57600080fd5b506103f561113a565b3480156105d057600080fd5b5061047e6105df366004612729565b6000546001600160a01b0391821691161490565b3480156105ff57600080fd5b50604051600281526020016103ff565b34801561061b57600080fd5b5061047e61062a366004612729565b600d6020526000908152604090205460ff1681565b34801561064b57600080fd5b50601b5461065f906001600160a01b031681565b6040516001600160a01b0390911681526020016103ff565b34801561068357600080fd5b5060215461065f906001600160a01b031681565b3480156106a357600080fd5b5061047e6106b2366004612729565b61118c565b3480156106c357600080fd5b506103dd6106d2366004612452565b61119a565b3480156106e357600080fd5b506103dd6106f23660046125b5565b6111c4565b34801561070357600080fd5b506103dd610712366004612746565b611201565b34801561072357600080fd5b506103f560125481565b34801561073957600080fd5b506103f560115481565b34801561074f57600080fd5b5060215461047e90600160a81b900460ff1681565b34801561077057600080fd5b506103f561077f366004612729565b6001600160a01b031660009081526008602052604090205490565b3480156107a657600080fd5b50600c5461047e9060ff1681565b3480156107c057600080fd5b5061047e6107cf366004612589565b611251565b3480156107e057600080fd5b506103f560075481565b3480156107f657600080fd5b506103f560065481565b34801561080c57600080fd5b506103dd61081b36600461277f565b61137b565b34801561082c57600080fd5b506000546001600160a01b031661065f565b34801561084a57600080fd5b50600a5461047e9060ff1681565b34801561086457600080fd5b506103dd6108733660046124c8565b61143c565b34801561088457600080fd5b506103f560105481565b34801561089a57600080fd5b5060205461065f906001600160a01b031681565b3480156108ba57600080fd5b5061047e6108c9366004612589565b6114d5565b3480156108da57600080fd5b506103dd6108e9366004612729565b6114e2565b3480156108fa57600080fd5b5060185461065f906001600160a01b031681565b34801561091a57600080fd5b506103f5610929366004612452565b611533565b34801561093a57600080fd5b506103f560135481565b34801561095057600080fd5b50601a5461065f906001600160a01b031681565b34801561097057600080fd5b506103f561097f3660046127c2565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b3480156109b657600080fd5b506103dd6109c53660046127f0565b61157b565b3480156109d657600080fd5b506103dd6109e53660046125b5565b6115c2565b3480156109f657600080fd5b50601c5461065f906001600160a01b031681565b348015610a1657600080fd5b5060195461065f906001600160a01b031681565b348015610a3657600080fd5b506103dd610a45366004612452565b6115ff565b348015610a5657600080fd5b506103dd610a65366004612729565b61162e565b348015610a7657600080fd5b506103dd610a85366004612452565b611679565b348015610a9657600080fd5b506103dd610aa5366004612729565b6116c4565b348015610ab657600080fd5b506103dd610ac5366004612746565b61175a565b348015610ad657600080fd5b50601f5461065f906001600160a01b031681565b348015610af657600080fd5b506103f560145481565b348015610b0c57600080fd5b5061047e610b1b366004612729565b600b6020526000908152604090205460ff1681565b348015610b3c57600080fd5b5061047e610b4b366004612729565b6117aa565b348015610b5c57600080fd5b506103f560175481565b348015610b7257600080fd5b5060215461047e90600160a01b900460ff1681565b6000546001600160a01b03163314610bba5760405162461bcd60e51b8152600401610bb19061280e565b60405180910390fd5b61271081600554610bcb9190612844565b610bd59190612863565b60075550565b6000546001600160a01b03163314610c055760405162461bcd60e51b8152600401610bb19061280e565b60005b82811015610c745781600d6000868685818110610c2757610c27612885565b9050602002016020810190610c3c9190612729565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610c6d8161289b565b9050610c08565b50505050565b3360008181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610cd59086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b03163314610d115760405162461bcd60e51b8152600401610bb19061280e565b60218054911515600160a01b0260ff60a01b19909216919091179055565b600082610d3b83611533565b119392505050565b610d4c336117aa565b610d685760405162461bcd60e51b8152600401610bb1906128b6565b601880546001600160a01b03199081166001600160a01b039788161790915560198054821695871695909517909455601a8054851693861693909317909255601c80548416918516919091179055601b80549092169216919091179055565b6000546001600160a01b03163314610df15760405162461bcd60e51b8152600401610bb19061280e565b6101f58310610e585760405162461bcd60e51b815260206004820152602d60248201527f474153204572726f723a206d61782061697264726f70206c696d69742069732060448201526c3530302061646472657373657360981b6064820152608401610bb1565b828114610eb85760405162461bcd60e51b815260206004820152602860248201527f4d69736d61746368206265747765656e204164647265737320616e6420746f6b604482015267195b8818dbdd5b9d60c21b6064820152608401610bb1565b6000805b84811015610efc57838382818110610ed657610ed6612885565b9050602002013582610ee891906128db565b915080610ef48161289b565b915050610ebc565b5080610f1d876001600160a01b031660009081526008602052604090205490565b1015610f6b5760405162461bcd60e51b815260206004820152601b60248201527f4e6f7420656e6f75676820746f6b656e7320696e2077616c6c657400000000006044820152606401610bb1565b60005b84811015610fd257610fbf87878784818110610f8c57610f8c612885565b9050602002016020810190610fa19190612729565b868685818110610fb357610fb3612885565b905060200201356117c8565b5080610fca8161289b565b915050610f6e565b50505050505050565b610fe4336117aa565b6110005760405162461bcd60e51b8152600401610bb1906128b6565b47336108fc60646110118585612844565b61101b9190612863565b6040518115909202916000818181858888f19350505050158015611043573d6000803e3d6000fd5b505050565b611051336117aa565b61106d5760405162461bcd60e51b8152600401610bb1906128b6565b601d91909155601e55565b6001600160a01b038316600090815260096020908152604080832033845290915281205460001914611125576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260098252838120338252909152919091205461110091849061189c565b6001600160a01b03851660009081526009602090815260408083203384529091529020555b6111308484846118d6565b90505b9392505050565b6004546001600160a01b0316600090815260086020526040812054611187906003546001600160a01b03166000908152600860205260409020546111819060055490611c77565b90611c77565b905090565b6000610ce182600019610c7a565b6111a3336117aa565b6111bf5760405162461bcd60e51b8152600401610bb1906128b6565b600655565b6000546001600160a01b031633146111ee5760405162461bcd60e51b8152600401610bb19061280e565b600a805460ff1916911515919091179055565b61120a336117aa565b6112265760405162461bcd60e51b8152600401610bb1906128b6565b6001600160a01b03919091166000908152600e60205260409020805460ff1916911515919091179055565b600080546001600160a01b0316331461127c5760405162461bcd60e51b8152600401610bb19061280e565b816112fb576040516370a0823160e01b81523060048201526001600160a01b038416906370a082319060240160206040518083038186803b1580156112c057600080fd5b505afa1580156112d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112f891906128f3565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb90604401602060405180830381600087803b15801561134357600080fd5b505af1158015611357573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611133919061290c565b611384336117aa565b6113a05760405162461bcd60e51b8152600401610bb1906128b6565b601086905560138590556011849055601283905560148290556113d1826113cb858188818c8c611cb9565b90611cb9565b60155560168190556113e4600282612863565b601554106114345760405162461bcd60e51b815260206004820152601c60248201527f466565732063616e6e6f74206265206d6f7265207468616e20353025000000006044820152606401610bb1565b505050505050565b6000546001600160a01b031633146114665760405162461bcd60e51b8152600401610bb19061280e565b60005b82811015610c745781600b600086868581811061148857611488612885565b905060200201602081019061149d9190612729565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556114ce8161289b565b9050611469565b60006111333384846118d6565b6000546001600160a01b0316331461150c5760405162461bcd60e51b8152600401610bb19061280e565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b6000610ce161154061113a565b602080546001600160a01b03166000908152600890915260409020546115759061156e906002905b90611d18565b8590611d18565b90611d97565b611584336117aa565b6115a05760405162461bcd60e51b8152600401610bb1906128b6565b60218054921515600160a81b0260ff60a81b1990931692909217909155602255565b6000546001600160a01b031633146115ec5760405162461bcd60e51b8152600401610bb19061280e565b600c805460ff1916911515919091179055565b6000546001600160a01b031633146116295760405162461bcd60e51b8152600401610bb19061280e565b601755565b6000546001600160a01b031633146116585760405162461bcd60e51b8152600401610bb19061280e565b6001600160a01b03166000908152600160205260409020805460ff19169055565b6000546001600160a01b031633146116a35760405162461bcd60e51b8152600401610bb19061280e565b612710816005546116b49190612844565b6116be9190612863565b60065550565b6000546001600160a01b031633146116ee5760405162461bcd60e51b8152600401610bb19061280e565b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b611763336117aa565b61177f5760405162461bcd60e51b8152600401610bb1906128b6565b6001600160a01b03919091166000908152600f60205260409020805460ff1916911515919091179055565b6001600160a01b031660009081526001602052604090205460ff1690565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260089091529182205461181991849061189c565b6001600160a01b0380861660009081526008602052604080822093909355908516815220546118489083611cb9565b6001600160a01b0380851660008181526008602052604090819020939093559151908616906000805160206129e08339815191529061188a9086815260200190565b60405180910390a35060019392505050565b600081848411156118c05760405162461bcd60e51b8152600401610bb1919061251f565b5060006118cd8486612929565b95945050505050565b60235460009060ff16156118f6576118ef8484846117c8565b9050611133565b6001600160a01b03841660009081526001602052604090205460ff1615801561193857506001600160a01b03831660009081526001602052604090205460ff16155b1561198d57602154600160a01b900460ff1661198d5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b6044820152606401610bb1565b600a5460ff16156119ef576001600160a01b0384166000908152600b602052604090205460ff16156119ef5760405162461bcd60e51b815260206004820152600b60248201526a109b1858dadb1a5cdd195960aa1b6044820152606401610bb1565b6001600160a01b03841660009081526001602052604090205460ff16158015611a2157506001600160a01b0383163014155b8015611a3b57506003546001600160a01b03848116911614155b8015611a5557506020546001600160a01b03848116911614155b8015611a6f5750601c546001600160a01b03848116911614155b15611b10576001600160a01b038316600090815260086020526040902054600754611a9a84836128db565b1115611b0e5760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e00006064820152608401610bb1565b505b611b1a8483611dd9565b611b22611e46565b15611b2f57611b2f611e9c565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260089091529190912054611b8191849061189c565b6001600160a01b038516600090815260086020908152604080832093909355600e90529081205460ff16151580611bd257506001600160a01b0384166000908152600e602052604090205460ff1615155b611bfa57602054611bf590869085906001600160a01b0388811691161487612292565b611bfc565b825b6001600160a01b038516600090815260086020526040902054909150611c229082611cb9565b6001600160a01b0380861660008181526008602052604090819020939093559151908716906000805160206129e083398151915290611c649085815260200190565b60405180910390a3506001949350505050565b600061113383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061189c565b600080611cc683856128db565b9050838110156111335760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610bb1565b600082611d2757506000610ce1565b6000611d338385612844565b905082611d408583612863565b146111335760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610bb1565b600061113383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612424565b60065481111580611e0257506001600160a01b0382166000908152600f602052604090205460ff165b611e425760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610bb1565b5050565b6020546000906001600160a01b03163314801590611e67575060235460ff16155b8015611e7c5750602154600160a81b900460ff165b801561118757505060225430600090815260086020526040902054101590565b6023805460ff19166001179055601d54601e54600091611ebb91610d2f565b611ec757601054611eca565b60005b90506000611eee600261157560155461157586602254611d1890919063ffffffff16565b90506000611f0782602254611c7790919063ffffffff16565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110611f4157611f41612885565b6001600160a01b039283166020918202929092010152600254825191169082906001908110611f7257611f72612885565b6001600160a01b039283166020918202929092010152601f5460405163791ac94760e01b81524792919091169063791ac94790611fbc908690600090879030904290600401612940565b600060405180830381600087803b158015611fd657600080fd5b505af1158015611fea573d6000803e3d6000fd5b5050505060006120038247611c7790919063ffffffff16565b9050600061201e612015886002611d97565b60155490611c77565b9050600061203360026115758481878d611d18565b905060006120508361157560115487611d1890919063ffffffff16565b9050600061206d8461157560135488611d1890919063ffffffff16565b9050600061208a8561157560125489611d1890919063ffffffff16565b6019546040519192506000916001600160a01b039091169085908381818185875af1925050503d80600081146120dc576040519150601f19603f3d011682016040523d82523d6000602084013e6120e1565b606091505b5050601a546040519192506001600160a01b0316908390600081818185875af1925050503d8060008114612131576040519150601f19603f3d011682016040523d82523d6000602084013e612136565b606091505b5050601b546040519192506001600160a01b0316908490600081818185875af1925050503d8060008114612186576040519150601f19603f3d011682016040523d82523d6000602084013e61218b565b606091505b5060009250508b15905061227a57601f5460185460405163f305d71960e01b8152306004820152602481018e905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c4016060604051808303818588803b15801561220457600080fd5b505af1158015612218573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061223d91906129b1565b505060408051878152602081018e90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506023805460ff1916905550505050505050505050565b600080836122a15760646122a5565b6017545b600c5490915060ff1680156122d357506001600160a01b0383166000908152600d602052604090205460ff16155b80156122dd575083155b156122e757506105785b600061231460165460646122fb9190612844565b611575846115686015548b611d1890919063ffffffff16565b9050600061233360155461157560145485611d1890919063ffffffff16565b905060006123418383611c77565b3060009081526008602052604090205490915061235e9082611cb9565b3060009081526008602052604080822092909255601c546001600160a01b03168152205461238c9083611cb9565b601c546001600160a01b0390811660009081526008602090815260409182902093909355518381523092918c16916000805160206129e0833981519152910160405180910390a3811561240d57601c546040518381526001600160a01b03918216918b16906000805160206129e08339815191529060200160405180910390a35b6124178884611c77565b9998505050505050505050565b600081836124455760405162461bcd60e51b8152600401610bb1919061251f565b5060006118cd8486612863565b60006020828403121561246457600080fd5b5035919050565b60008083601f84011261247d57600080fd5b50813567ffffffffffffffff81111561249557600080fd5b6020830191508360208260051b85010111156124b057600080fd5b9250929050565b80151581146124c557600080fd5b50565b6000806000604084860312156124dd57600080fd5b833567ffffffffffffffff8111156124f457600080fd5b6125008682870161246b565b9094509250506020840135612514816124b7565b809150509250925092565b600060208083528351808285015260005b8181101561254c57858101830151858201604001528201612530565b8181111561255e576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146124c557600080fd5b6000806040838503121561259c57600080fd5b82356125a781612574565b946020939093013593505050565b6000602082840312156125c757600080fd5b8135611133816124b7565b600080604083850312156125e557600080fd5b50508035926020909101359150565b600080600080600060a0868803121561260c57600080fd5b853561261781612574565b9450602086013561262781612574565b9350604086013561263781612574565b9250606086013561264781612574565b9150608086013561265781612574565b809150509295509295909350565b60008060008060006060868803121561267d57600080fd5b853561268881612574565b9450602086013567ffffffffffffffff808211156126a557600080fd5b6126b189838a0161246b565b909650945060408801359150808211156126ca57600080fd5b506126d78882890161246b565b969995985093965092949392505050565b6000806000606084860312156126fd57600080fd5b833561270881612574565b9250602084013561271881612574565b929592945050506040919091013590565b60006020828403121561273b57600080fd5b813561113381612574565b6000806040838503121561275957600080fd5b823561276481612574565b91506020830135612774816124b7565b809150509250929050565b60008060008060008060c0878903121561279857600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b600080604083850312156127d557600080fd5b82356127e081612574565b9150602083013561277481612574565b6000806040838503121561280357600080fd5b82356125a7816124b7565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561285e5761285e61282e565b500290565b60008261288057634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60006000198214156128af576128af61282e565b5060010190565b6020808252600b908201526a085055551213d49256915160aa1b604082015260600190565b600082198211156128ee576128ee61282e565b500190565b60006020828403121561290557600080fd5b5051919050565b60006020828403121561291e57600080fd5b8151611133816124b7565b60008282101561293b5761293b61282e565b500390565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156129905784516001600160a01b03168352938301939183019160010161296b565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156129c657600080fd5b835192506020840151915060408401519050925092509256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122099c81314e1e9a5451d2ba7bca3e7846c3ba61ecb9935d8db5fdcc3d12a622e7a64736f6c63430008090033
Deployed ByteCode Sourcemap
4737:14093:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9156:181;;;;;;;;;;-1:-1:-1;9156:181:0;;;;;:::i;:::-;;:::i;:::-;;6538:54;;;;;;;;;;;;;;;;;;;345:25:1;;;333:2;318:18;6538:54:0;;;;;;;;15819:210;;;;;;;;;;-1:-1:-1;15819:210:0;;;;;:::i;:::-;;:::i;7838:80::-;;;;;;;;;;-1:-1:-1;7910:5:0;;;;;;;;;;;-1:-1:-1;;;7910:5:0;;;;7838:80;;;;7910:5;7838:80;:::i;8260:216::-;;;;;;;;;;-1:-1:-1;8260:216:0;;;;;:::i;:::-;;:::i;:::-;;;2670:14:1;;2663:22;2645:41;;2633:2;2618:18;8260:216:0;2505:187:1;13393:94:0;;;;;;;;;;-1:-1:-1;13393:94:0;;;;;:::i;:::-;;:::i;17988:150::-;;;;;;;;;;-1:-1:-1;17988:150:0;;;;;:::i;:::-;;:::i;5992:36::-;;;;;;;;;;;;;;;;7568:88;;;;;;;;;;-1:-1:-1;7641:12:0;;7568:88;;16858:438;;;;;;;;;;-1:-1:-1;16858:438:0;;;;;:::i;:::-;;:::i;18168:594::-;;;;;;;;;;-1:-1:-1;18168:594:0;;;;;:::i;:::-;;:::i;12744:208::-;;;;;;;;;;-1:-1:-1;12744:208:0;;;;;:::i;:::-;;:::i;5896:89::-;;;;;;;;;;;;;;;;17468:183;;;;;;;;;;-1:-1:-1;17468:183:0;;;;;:::i;:::-;;:::i;8778:370::-;;;;;;;;;;-1:-1:-1;8778:370:0;;;;;:::i;:::-;;:::i;17663:142::-;;;;;;;;;;;;;:::i;2745:103::-;;;;;;;;;;-1:-1:-1;2745:103:0;;;;;:::i;:::-;2800:4;2835:5;-1:-1:-1;;;;;2824:16:0;;;2835:5;;2824:16;;2745:103;7662:80;;;;;;;;;;-1:-1:-1;7662:80:0;;5114:1;5782:36:1;;5770:2;5755:18;7662:80:0;5640:184:1;5543:46:0;;;;;;;;;;-1:-1:-1;5543:46:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6203:30;;;;;;;;;;-1:-1:-1;6203:30:0;;;;-1:-1:-1;;;;;6203:30:0;;;;;;-1:-1:-1;;;;;5993:32:1;;;5975:51;;5963:2;5948:18;6203:30:0;5829:203:1;6421:31:0;;;;;;;;;;-1:-1:-1;6421:31:0;;;;-1:-1:-1;;;;;6421:31:0;;;8484:122;;;;;;;;;;-1:-1:-1;8484:122:0;;;;;:::i;:::-;;:::i;9527:96::-;;;;;;;;;;-1:-1:-1;9527:96:0;;;;;:::i;:::-;;:::i;15387:99::-;;;;;;;;;;-1:-1:-1;15387:99:0;;;;;:::i;:::-;;:::i;16037:120::-;;;;;;;;;;-1:-1:-1;16037:120:0;;;;;:::i;:::-;;:::i;5774:33::-;;;;;;;;;;;;;;;;5733:34;;;;;;;;;;;;;;;;6499:30;;;;;;;;;;-1:-1:-1;6499:30:0;;;;-1:-1:-1;;;6499:30:0;;;;;;8008:105;;;;;;;;;;-1:-1:-1;8008:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;8092:18:0;8074:7;8092:18;;;:9;:18;;;;;;;8008:105;5504:32;;;;;;;;;;-1:-1:-1;5504:32:0;;;;;;;;12960:271;;;;;;;;;;-1:-1:-1;12960:271:0;;;;;:::i;:::-;;:::i;5236:50::-;;;;;;;;;;;;;;;;5182:47;;;;;;;;;;;;;;;;16301:549;;;;;;;;;;-1:-1:-1;16301:549:0;;;;;:::i;:::-;;:::i;7924:78::-;;;;;;;;;;-1:-1:-1;7976:7:0;7994:5;-1:-1:-1;;;;;7994:5:0;7924:78;;5410:32;;;;;;;;;;-1:-1:-1;5410:32:0;;;;;;;;15601:210;;;;;;;;;;-1:-1:-1;15601:210:0;;;;;:::i;:::-;;:::i;5692:34::-;;;;;;;;;;;;;;;;6395:19;;;;;;;;;;-1:-1:-1;6395:19:0;;;;-1:-1:-1;;;;;6395:19:0;;;8614:156;;;;;;;;;;-1:-1:-1;8614:156:0;;;;;:::i;:::-;;:::i;2538:94::-;;;;;;;;;;-1:-1:-1;2538:94:0;;;;;:::i;:::-;;:::i;6082:36::-;;;;;;;;;;-1:-1:-1;6082:36:0;;;;-1:-1:-1;;;;;6082:36:0;;;17813:167;;;;;;;;;;-1:-1:-1;17813:167:0;;;;;:::i;:::-;;:::i;5814:34::-;;;;;;;;;;;;;;;;6167:29;;;;;;;;;;-1:-1:-1;6167:29:0;;;;-1:-1:-1;;;;;6167:29:0;;;8119:133;;;;;;;;;;-1:-1:-1;8119:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;8221:19:0;;;8203:7;8221:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;8119:133;17304:156;;;;;;;;;;-1:-1:-1;17304:156:0;;;;;:::i;:::-;;:::i;15494:99::-;;;;;;;;;;-1:-1:-1;15494:99:0;;;;;:::i;:::-;;:::i;6240:30::-;;;;;;;;;;-1:-1:-1;6240:30:0;;;;-1:-1:-1;;;;;6240:30:0;;;6125:35;;;;;;;;;;-1:-1:-1;6125:35:0;;;;-1:-1:-1;;;;;6125:35:0;;;13239:123;;;;;;;;;;-1:-1:-1;13239:123:0;;;;;:::i;:::-;;:::i;2640:97::-;;;;;;;;;;-1:-1:-1;2640:97:0;;;;;:::i;:::-;;:::i;9343:176::-;;;;;;;;;;-1:-1:-1;9343:176:0;;;;;:::i;:::-;;:::i;2971:173::-;;;;;;;;;;-1:-1:-1;2971:173:0;;;;;:::i;:::-;;:::i;16165:128::-;;;;;;;;;;-1:-1:-1;16165:128:0;;;;;:::i;:::-;;:::i;6364:24::-;;;;;;;;;;-1:-1:-1;6364:24:0;;;;-1:-1:-1;;;;;6364:24:0;;;5855:34;;;;;;;;;;;;;;;;5449:46;;;;;;;;;;-1:-1:-1;5449:46:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;2856:107;;;;;;;;;;-1:-1:-1;2856:107:0;;;;;:::i;:::-;;:::i;6037:36::-;;;;;;;;;;;;;;;;6461:31;;;;;;;;;;-1:-1:-1;6461:31:0;;;;-1:-1:-1;;;6461:31:0;;;;;;9156:181;2800:4;2835:5;-1:-1:-1;;;;;2835:5:0;2397:10;2824:16;2381:38;;;;-1:-1:-1;;;2381:38:0;;;;;;;:::i;:::-;;;;;;;;;9324:5:::1;9295:24;9280:12;;:39;;;;:::i;:::-;9279:50;;;;:::i;:::-;9261:15;:68:::0;-1:-1:-1;9156:181:0:o;15819:210::-;2800:4;2835:5;-1:-1:-1;;;;;2835:5:0;2397:10;2824:16;2381:38;;;;-1:-1:-1;;;2381:38:0;;;;;;;:::i;:::-;15921:9:::1;15916:106;15932:20:::0;;::::1;15916:106;;;16004:6;15974:13;:27;15988:9;;15998:1;15988:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15974:27:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;15974:27:0;:36;;-1:-1:-1;;15974:36:0::1;::::0;::::1;;::::0;;;::::1;::::0;;15954:3:::1;::::0;::::1;:::i;:::-;;;15916:106;;;;15819:210:::0;;;:::o;8260:216::-;8364:10;8335:4;8352:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;8352:32:0;;;;;;;;;;:41;;;8409:37;8335:4;;8352:32;;8409:37;;;;8387:6;345:25:1;;333:2;318:18;;199:177;8409:37:0;;;;;;;;-1:-1:-1;8464:4:0;8260:216;;;;;:::o;13393:94::-;2800:4;2835:5;-1:-1:-1;;;;;2835:5:0;2397:10;2824:16;2381:38;;;;-1:-1:-1;;;2381:38:0;;;;;;;:::i;:::-;13458:11:::1;:21:::0;;;::::1;;-1:-1:-1::0;;;13458:21:0::1;-1:-1:-1::0;;;;13458:21:0;;::::1;::::0;;;::::1;::::0;;13393:94::o;17988:150::-;18068:4;18124:6;18092:29;18112:8;18092:19;:29::i;:::-;:38;;17988:150;-1:-1:-1;;;17988:150:0:o;16858:438::-;2479:24;2492:10;2479:12;:24::i;:::-;2471:48;;;;-1:-1:-1;;;2471:48:0;;;;;;;:::i;:::-;17054:21:::1;:46:::0;;-1:-1:-1;;;;;;17054:46:0;;::::1;-1:-1:-1::0;;;;;17054:46:0;;::::1;;::::0;;;17111:20:::1;:44:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;17166:14:::1;:32:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;17209:15:::1;:34:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;17254:15:::1;:34:::0;;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;16858:438::o;18168:594::-;2800:4;2835:5;-1:-1:-1;;;;;2835:5:0;2397:10;2824:16;2381:38;;;;-1:-1:-1;;;2381:38:0;;;;;;;:::i;:::-;18317:3:::1;18298:22:::0;::::1;18290:79;;;::::0;-1:-1:-1;;;18290:79:0;;10047:2:1;18290:79:0::1;::::0;::::1;10029:21:1::0;10086:2;10066:18;;;10059:30;10125:34;10105:18;;;10098:62;-1:-1:-1;;;10176:18:1;;;10169:43;10229:19;;18290:79:0::1;9845:409:1::0;18290:79:0::1;18384:33:::0;;::::1;18376:85;;;::::0;-1:-1:-1;;;18376:85:0;;10461:2:1;18376:85:0::1;::::0;::::1;10443:21:1::0;10500:2;10480:18;;;10473:30;10539:34;10519:18;;;10512:62;-1:-1:-1;;;10590:18:1;;;10583:38;10638:19;;18376:85:0::1;10259:404:1::0;18376:85:0::1;18470:12;18499:6:::0;18495:82:::1;18509:20:::0;;::::1;18495:82;;;18560:6;;18567:1;18560:9;;;;;;;:::i;:::-;;;;;;;18553:4;:16;;;;:::i;:::-;18546:23:::0;-1:-1:-1;18531:3:0;::::1;::::0;::::1;:::i;:::-;;;;18495:82;;;;18612:4;18593:15;18603:4;-1:-1:-1::0;;;;;8092:18:0;8074:7;8092:18;;;:9;:18;;;;;;;8008:105;18593:15:::1;:23;;18585:63;;;::::0;-1:-1:-1;;;18585:63:0;;11003:2:1;18585:63:0::1;::::0;::::1;10985:21:1::0;11042:2;11022:18;;;11015:30;11081:29;11061:18;;;11054:57;11128:18;;18585:63:0::1;10801:351:1::0;18585:63:0::1;18661:6;18657:102;18671:20:::0;;::::1;18657:102;;;18708:43;18723:4;18728:9;;18738:1;18728:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;18741:6;;18748:1;18741:9;;;;;;;:::i;:::-;;;;;;;18708:14;:43::i;:::-;-1:-1:-1::0;18693:3:0;::::1;::::0;::::1;:::i;:::-;;;;18657:102;;;;18281:481;18168:594:::0;;;;;:::o;12744:208::-;2479:24;2492:10;2479:12;:24::i;:::-;2471:48;;;;-1:-1:-1;;;2471:48:0;;;;;;;:::i;:::-;12848:21:::1;12888:10;12880:64;12940:3;12909:28;12921:16:::0;12848:21;12909:28:::1;:::i;:::-;:34;;;;:::i;:::-;12880:64;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;12817:135;12744:208:::0;:::o;17468:183::-;2479:24;2492:10;2479:12;:24::i;:::-;2471:48;;;;-1:-1:-1;;;2471:48:0;;;;;;;:::i;:::-;17566:15:::1;:25:::0;;;;17602:26:::1;:41:::0;17468:183::o;8778:370::-;-1:-1:-1;;;;;8898:19:0;;8878:4;8898:19;;;:11;:19;;;;;;;;8918:10;8898:31;;;;;;;;-1:-1:-1;;8898:52:0;8895:186;;9000:69;;;;;;;;;;;-1:-1:-1;;;9000:69:0;;;;;;;;-1:-1:-1;;;;;9000:19:0;;-1:-1:-1;9000:19:0;;;:11;:19;;;;;9020:10;9000:31;;;;;;;;;;:69;;9036:6;;9000:35;:69::i;:::-;-1:-1:-1;;;;;8966:19:0;;;;;;:11;:19;;;;;;;;8986:10;8966:31;;;;;;;:103;8895:186;9100:40;9114:6;9122:9;9133:6;9100:13;:40::i;:::-;9093:47;;8778:370;;;;;;:::o;17663:142::-;17791:4;;-1:-1:-1;;;;;17791:4:0;17716:7;8092:18;;;:9;:18;;;;;;17743:54;;17770:4;;-1:-1:-1;;;;;17770:4:0;8074:7;8092:18;;;:9;:18;;;;;;17743:33;;:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;17736:61;;17663:142;:::o;8484:122::-;8539:4;8563:35;8571:7;-1:-1:-1;;8563:7:0;:35::i;9527:96::-;2479:24;2492:10;2479:12;:24::i;:::-;2471:48;;;;-1:-1:-1;;;2471:48:0;;;;;;;:::i;:::-;9594:12:::1;:21:::0;9527:96::o;15387:99::-;2800:4;2835:5;-1:-1:-1;;;;;2835:5:0;2397:10;2824:16;2381:38;;;;-1:-1:-1;;;2381:38:0;;;;;;;:::i;:::-;15455:13:::1;:23:::0;;-1:-1:-1;;15455:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;15387:99::o;16037:120::-;2479:24;2492:10;2479:12;:24::i;:::-;2471:48;;;;-1:-1:-1;;;2471:48:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16121:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;16121:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16037:120::o;12960:271::-;13049:4;2835:5;;-1:-1:-1;;;;;2835:5:0;2397:10;2824:16;2381:38;;;;-1:-1:-1;;;2381:38:0;;;;;;;:::i;:::-;13066:11;13063:95:::1;;13102:44;::::0;-1:-1:-1;;;13102:44:0;;13140:4:::1;13102:44;::::0;::::1;5975:51:1::0;-1:-1:-1;;;;;13102:29:0;::::1;::::0;::::1;::::0;5948:18:1;;13102:44:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13093:53;;13063:95;13175:48;::::0;-1:-1:-1;;;13175:48:0;;13204:10:::1;13175:48;::::0;::::1;11520:51:1::0;11587:18;;;11580:34;;;-1:-1:-1;;;;;13175:28:0;::::1;::::0;::::1;::::0;11493:18:1;;13175:48:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;16301:549::-:0;2479:24;2492:10;2479:12;:24::i;:::-;2471:48;;;;-1:-1:-1;;;2471:48:0;;;;;;;:::i;:::-;16473:12:::1;:28:::0;;;16512:7:::1;:18:::0;;;16541:12:::1;:28:::0;;;16580:6:::1;:16:::0;;;16607:7:::1;:18:::0;;;16647:73:::1;16617:8:::0;16647:59:::1;16589:7:::0;16647:59;16556:13;16647:59;16488:13;16522:8;16647:17:::1;:27::i;:::-;:31:::0;::::1;:46::i;:73::-;16636:8;:84:::0;16731:14:::1;:32:::0;;;16793:16:::1;16808:1;16748:15:::0;16793:16:::1;:::i;:::-;16782:8;;:27;16774:68;;;::::0;-1:-1:-1;;;16774:68:0;;12077:2:1;16774:68:0::1;::::0;::::1;12059:21:1::0;12116:2;12096:18;;;12089:30;12155;12135:18;;;12128:58;12203:18;;16774:68:0::1;11875:352:1::0;16774:68:0::1;16301:549:::0;;;;;;:::o;15601:210::-;2800:4;2835:5;-1:-1:-1;;;;;2835:5:0;2397:10;2824:16;2381:38;;;;-1:-1:-1;;;2381:38:0;;;;;;;:::i;:::-;15703:9:::1;15698:106;15714:20:::0;;::::1;15698:106;;;15786:6;15756:13;:27;15770:9;;15780:1;15770:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15756:27:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;15756:27:0;:36;;-1:-1:-1;;15756:36:0::1;::::0;::::1;;::::0;;;::::1;::::0;;15736:3:::1;::::0;::::1;:::i;:::-;;;15698:106;;8614:156:::0;8694:4;8718:44;8732:10;8744:9;8755:6;8718:13;:44::i;2538:94::-;2800:4;2835:5;-1:-1:-1;;;;;2835:5:0;2397:10;2824:16;2381:38;;;;-1:-1:-1;;;2381:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2598:19:0::1;;::::0;;;2620:4:::1;2598:19;::::0;;;;;;;:26;;-1:-1:-1;;2598:26:0::1;::::0;;::::1;::::0;;2538:94::o;17813:167::-;17881:7;17908:64;17949:22;:20;:22::i;:::-;17931:4;;;-1:-1:-1;;;;;17931:4:0;8074:7;8092:18;;;:9;:18;;;;;;;17908:36;;17921:22;;17941:1;;17921:15;:19;;:22::i;:::-;17908:8;;:12;:36::i;:::-;:40;;:64::i;17304:156::-;2479:24;2492:10;2479:12;:24::i;:::-;2471:48;;;;-1:-1:-1;;;2471:48:0;;;;;;;:::i;:::-;17396:11:::1;:22:::0;;;::::1;;-1:-1:-1::0;;;17396:22:0::1;-1:-1:-1::0;;;;17396:22:0;;::::1;::::0;;;::::1;::::0;;;17429:13:::1;:23:::0;17304:156::o;15494:99::-;2800:4;2835:5;-1:-1:-1;;;;;2835:5:0;2397:10;2824:16;2381:38;;;;-1:-1:-1;;;2381:38:0;;;;;;;:::i;:::-;15562:13:::1;:23:::0;;-1:-1:-1;;15562:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;15494:99::o;13239:123::-;2800:4;2835:5;-1:-1:-1;;;;;2835:5:0;2397:10;2824:16;2381:38;;;;-1:-1:-1;;;2381:38:0;;;;;;;:::i;:::-;13318:14:::1;:28:::0;13239:123::o;2640:97::-;2800:4;2835:5;-1:-1:-1;;;;;2835:5:0;2397:10;2824:16;2381:38;;;;-1:-1:-1;;;2381:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2702:19:0::1;2724:5;2702:19:::0;;;:14:::1;:19;::::0;;;;:27;;-1:-1:-1;;2702:27:0::1;::::0;;2640:97::o;9343:176::-;2800:4;2835:5;-1:-1:-1;;;;;2835:5:0;2397:10;2824:16;2381:38;;;;-1:-1:-1;;;2381:38:0;;;;;;;:::i;:::-;9506:5:::1;9476:25;9461:12;;:40;;;;:::i;:::-;9460:51;;;;:::i;:::-;9445:12;:66:::0;-1:-1:-1;9343:176:0:o;2971:173::-;2800:4;2835:5;-1:-1:-1;;;;;2835:5:0;2397:10;2824:16;2381:38;;;;-1:-1:-1;;;2381:38:0;;;;;;;:::i;:::-;3047:5:::1;:11:::0;;-1:-1:-1;;;;;;3047:11:0::1;-1:-1:-1::0;;;;;3047:11:0;::::1;::::0;;::::1;::::0;;3069:19;;;-1:-1:-1;3069:19:0::1;::::0;;;;;;;;:26;;-1:-1:-1;;3069:26:0::1;::::0;;::::1;::::0;;;3111:25;;5975:51:1;;;3111:25:0::1;::::0;5948:18:1;3111:25:0::1;;;;;;;2971:173:::0;:::o;16165:128::-;2479:24;2492:10;2479:12;:24::i;:::-;2471:48;;;;-1:-1:-1;;;2471:48:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16253:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;16253:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16165:128::o;2856:107::-;-1:-1:-1;;;;;2936:19:0;2912:4;2936:19;;;:14;:19;;;;;;;;;2856:107::o;10986:330::-;11116:53;;;;;;;;;;;-1:-1:-1;;;11116:53:0;;;;;;;;-1:-1:-1;;;;;11116:17:0;;11079:4;11116:17;;;:9;:17;;;;;;;:53;;11138:6;;11116:21;:53::i;:::-;-1:-1:-1;;;;;11096:17:0;;;;;;;:9;:17;;;;;;:73;;;;11203:20;;;;;;;:32;;11228:6;11203:24;:32::i;:::-;-1:-1:-1;;;;;11180:20:0;;;;;;;:9;:20;;;;;;;:55;;;;11251:35;;;;;;-1:-1:-1;;;;;;;;;;;11251:35:0;;;11279:6;345:25:1;;333:2;318:18;;199:177;11251:35:0;;;;;;;;-1:-1:-1;11304:4:0;10986:330;;;;;:::o;422:192::-;508:7;544:12;536:6;;;;528:29;;;;-1:-1:-1;;;528:29:0;;;;;;;;:::i;:::-;-1:-1:-1;568:9:0;580:5;584:1;580;:5;:::i;:::-;568:17;422:192;-1:-1:-1;;;;;422:192:0:o;9631:1343::-;9743:6;;9723:4;;9743:6;;9740:63;;;9759:41;9774:6;9782:9;9793:6;9759:14;:41::i;:::-;9752:48;;;;9740:63;-1:-1:-1;;;;;9819:22:0;;;;;;:14;:22;;;;;;;;9818:23;:53;;;;-1:-1:-1;;;;;;9846:25:0;;;;;;:14;:25;;;;;;;;9845:26;9818:53;9815:127;;;9895:11;;-1:-1:-1;;;9895:11:0;;;;9887:43;;;;-1:-1:-1;;;9887:43:0;;12780:2:1;9887:43:0;;;12762:21:1;12819:2;12799:18;;;12792:30;-1:-1:-1;;;12838:18:1;;;12831:50;12898:18;;9887:43:0;12578:344:1;9887:43:0;9979:13;;;;9976:93;;;-1:-1:-1;;;;;10017:21:0;;;;;;:13;:21;;;;;;;;10016:22;10008:45;;;;-1:-1:-1;;;10008:45:0;;13129:2:1;10008:45:0;;;13111:21:1;13168:2;13148:18;;;13141:30;-1:-1:-1;;;13187:18:1;;;13180:41;13238:18;;10008:45:0;12927:335:1;10008:45:0;-1:-1:-1;;;;;10086:22:0;;;;;;:14;:22;;;;;;;;10085:23;:53;;;;-1:-1:-1;;;;;;10112:26:0;;10133:4;10112:26;;10085:53;:84;;;;-1:-1:-1;10164:4:0;;-1:-1:-1;;;;;10143:26:0;;;10164:4;;10143:26;;10085:84;:105;;;;-1:-1:-1;10186:4:0;;-1:-1:-1;;;;;10173:17:0;;;10186:4;;10173:17;;10085:105;:137;;;;-1:-1:-1;10207:15:0;;-1:-1:-1;;;;;10194:28:0;;;10207:15;;10194:28;;10085:137;10081:329;;;-1:-1:-1;;;;;8092:18:0;;10238;8092;;;:9;:18;;;;;;10327:15;;10303:19;10316:6;8092:18;10303:19;:::i;:::-;10302:40;;10294:114;;;;-1:-1:-1;;;10294:114:0;;13469:2:1;10294:114:0;;;13451:21:1;13508:2;13488:18;;;13481:30;13547:34;13527:18;;;13520:62;13618:32;13598:18;;;13591:60;13668:19;;10294:114:0;13267:426:1;10294:114:0;10223:187;10081:329;10465:28;10478:6;10486;10465:12;:28::i;:::-;10509:16;:14;:16::i;:::-;10506:35;;;10528:10;:8;:10::i;:::-;10600:53;;;;;;;;;;;-1:-1:-1;;;10600:53:0;;;;;;;;-1:-1:-1;;;;;10600:17:0;;-1:-1:-1;10600:17:0;;;:9;:17;;;;;;;;:53;;10622:6;;10600:21;:53::i;:::-;-1:-1:-1;;;;;10580:17:0;;;;;;:9;:17;;;;;;;;:73;;;;11585:11;:19;;;;;;;;11584:20;10692:22;:51;;;-1:-1:-1;;;;;;11585:19:0;;11560:4;11585:19;;;:11;:19;;;;;;;;11584:20;10718:25;10692:51;10691:118;;10793:4;;10756:53;;10764:6;;10772;;-1:-1:-1;;;;;10780:17:0;;;10793:4;;10780:17;:9;10756:7;:53::i;:::-;10691:118;;;10747:6;10691:118;-1:-1:-1;;;;;10843:20:0;;;;;;:9;:20;;;;;;10666:143;;-1:-1:-1;10843:40:0;;10666:143;10843:24;:40::i;:::-;-1:-1:-1;;;;;10820:20:0;;;;;;;:9;:20;;;;;;;:63;;;;10901:43;;;;;;-1:-1:-1;;;;;;;;;;;10901:43:0;;;10929:14;345:25:1;;333:2;318:18;;199:177;10901:43:0;;;;;;;;-1:-1:-1;10962:4:0;;9631:1343;-1:-1:-1;;;;9631:1343:0:o;280:136::-;338:7;365:43;369:1;372;365:43;;;;;;;;;;;;;;;;;:3;:43::i;93:181::-;151:7;;183:5;187:1;183;:5;:::i;:::-;171:17;;212:1;207;:6;;199:46;;;;-1:-1:-1;;;199:46:0;;13900:2:1;199:46:0;;;13882:21:1;13939:2;13919:18;;;13912:30;13978:29;13958:18;;;13951:57;14025:18;;199:46:0;13698:351:1;620:250:0;678:7;702:6;698:47;;-1:-1:-1;732:1:0;725:8;;698:47;757:9;769:5;773:1;769;:5;:::i;:::-;757:17;-1:-1:-1;802:1:0;793:5;797:1;757:17;793:5;:::i;:::-;:10;785:56;;;;-1:-1:-1;;;785:56:0;;14256:2:1;785:56:0;;;14238:21:1;14295:2;14275:18;;;14268:30;14334:34;14314:18;;;14307:62;-1:-1:-1;;;14385:18:1;;;14378:31;14426:19;;785:56:0;14054:397:1;876:132:0;934:7;961:39;965:1;968;961:39;;;;;;;;;;;;;;;;;:3;:39::i;11324:166::-;11421:12;;11411:6;:22;;:49;;;-1:-1:-1;;;;;;11437:23:0;;;;;;:15;:23;;;;;;;;11411:49;11403:79;;;;-1:-1:-1;;;11403:79:0;;14658:2:1;11403:79:0;;;14640:21:1;14697:2;14677:18;;;14670:30;-1:-1:-1;;;14716:18:1;;;14709:47;14773:18;;11403:79:0;14456:341:1;11403:79:0;11324:166;;:::o;12539:197::-;12626:4;;12588;;-1:-1:-1;;;;;12626:4:0;12612:10;:18;;;;:38;;-1:-1:-1;12644:6:0;;;;12643:7;12612:38;:62;;;;-1:-1:-1;12663:11:0;;-1:-1:-1;;;12663:11:0;;;;12612:62;:116;;;;-1:-1:-1;;12715:13:0;;12705:4;12687:24;;;;:9;:24;;;;;;:41;;;12539:197::o;13495:1884::-;6639:6;:13;;-1:-1:-1;;6639:13:0;6648:4;6639:13;;;13590:15:::1;::::0;13607:26:::1;::::0;6639:6;;13574:60:::1;::::0;:15:::1;:60::i;:::-;:79;;13641:12;;13574:79;;;13637:1;13574:79;13544:109;;13664:23;13690:59;13747:1;13690:52;13733:8;;13690:38;13708:19;13690:13;;:17;;:38;;;;:::i;:59::-;13664:85;;13760:20;13783:34;13801:15;13783:13;;:17;;:34;;;;:::i;:::-;13854:16;::::0;;13868:1:::1;13854:16:::0;;;;;::::1;::::0;;13760:57;;-1:-1:-1;13830:21:0::1;::::0;13854:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;13854:16:0::1;13830:40;;13899:4;13881;13886:1;13881:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13881:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;13925:4:::1;::::0;13915:7;;13925:4;::::1;::::0;13915;;13925;;13915:7;::::1;;;;;:::i;:::-;-1:-1:-1::0;;;;;13915:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;14000:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;14000:188:0;;13966:21:::1;::::0;14000:6;;;::::1;::::0;:57:::1;::::0;:188:::1;::::0;14072:12;;13942:21:::1;::::0;14115:4;;14142::::1;::::0;14162:15:::1;::::0;14000:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;14201:17;14221:40;14247:13;14221:21;:25;;:40;;;;:::i;:::-;14201:60:::0;-1:-1:-1;14274:19:0::1;14296:40;14309:26;:19:::0;14333:1:::1;14309:23;:26::i;:::-;14296:8;::::0;;:12:::1;:40::i;:::-;14274:62:::0;-1:-1:-1;14357:26:0::1;14386:58;14442:1;14386:51;14274:62:::0;14386:51;:9;14400:19;14386:13:::1;:34::i;:58::-;14357:87;;14455:26;14484:44;14516:11;14484:27;14498:12;;14484:9;:13;;:27;;;;:::i;:44::-;14455:73;;14539:21;14563:39;14590:11;14563:22;14577:7;;14563:9;:13;;:22;;;;:::i;:39::-;14539:63;;14613:20;14636:38;14662:11;14636:21;14650:6;;14636:9;:13;;:21;;;;:::i;:38::-;14716:20;::::0;14708:65:::1;::::0;14613:61;;-1:-1:-1;14688:15:0::1;::::0;-1:-1:-1;;;;;14716:20:0;;::::1;::::0;14750:18;;14688:15;14708:65;14688:15;14708:65;14750:18;14716:20;14708:65:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;14808:14:0::1;::::0;14800:53:::1;::::0;14687:86;;-1:-1:-1;;;;;;14808:14:0::1;::::0;14836:12;;14800:53:::1;::::0;;;14836:12;14808:14;14800:53:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;14888:15:0::1;::::0;14880:55:::1;::::0;14784:69;;-1:-1:-1;;;;;;14888:15:0::1;::::0;14917:13;;14880:55:::1;::::0;;;14917:13;14888:15;14880:55:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;14992:5:0::1;::::0;-1:-1:-1;;15013:19:0;;;-1:-1:-1;15010:362:0::1;;15048:6;::::0;15222:21:::1;::::0;15048:244:::1;::::0;-1:-1:-1;;;15048:244:0;;15124:4:::1;15048:244;::::0;::::1;16470:34:1::0;16520:18;;;16513:34;;;15048:6:0::1;16563:18:1::0;;;16556:34;;;16606:18;;;16599:34;-1:-1:-1;;;;;15222:21:0;;::::1;16649:19:1::0;;;16642:44;15262:15:0::1;16702:19:1::0;;;16695:35;15048:6:0;::::1;::::0;:22:::1;::::0;15078:18;;16404:19:1;;15048:244:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;15312:48:0::1;::::0;;17226:25:1;;;17282:2;17267:18;;17260:34;;;15312:48:0::1;::::0;-1:-1:-1;17199:18:1;15312:48:0::1;;;;;;;15010:362;-1:-1:-1::0;;6657:6:0;:14;;-1:-1:-1;;6657:14:0;;;-1:-1:-1;;;;;;;;;;13495:1884:0:o;11620:911::-;11718:7;11748:18;11769:6;:29;;11795:3;11769:29;;;11778:14;;11769:29;11812:13;;11748:50;;-1:-1:-1;11812:13:0;;:41;;;;-1:-1:-1;;;;;;11830:23:0;;;;;;:13;:23;;;;;;;;11829:24;11812:41;:52;;;;;11858:6;11857:7;11812:52;11809:100;;;-1:-1:-1;11893:4:0;11809:100;11921:17;11941:62;11982:14;;11999:3;11982:20;;;;:::i;:::-;11941:36;11966:10;11941:20;11952:8;;11941:6;:10;;:20;;;;:::i;:62::-;11921:82;;12016:18;12037:36;12064:8;;12037:22;12051:7;;12037:9;:13;;:22;;;;:::i;:36::-;12016:57;-1:-1:-1;12084:22:0;12109:25;:9;12016:57;12109:13;:25::i;:::-;12192:4;12174:24;;;;:9;:24;;;;;;12084:50;;-1:-1:-1;12174:44:0;;12084:50;12174:28;:44::i;:::-;12165:4;12147:24;;;;:9;:24;;;;;;:71;;;;12268:15;;-1:-1:-1;;;;;12268:15:0;12258:26;;;;:42;;12289:10;12258:30;:42::i;:::-;12239:15;;-1:-1:-1;;;;;12239:15:0;;;12229:26;;;;:9;:26;;;;;;;;;:71;;;;12316:47;345:25:1;;;12341:4:0;;12316:47;;;;-1:-1:-1;;;;;;;;;;;12316:47:0;318:18:1;12316:47:0;;;;;;;12387:14;;12384:99;;12439:15;;12422:45;;345:25:1;;;-1:-1:-1;;;;;12439:15:0;;;;12422:45;;;-1:-1:-1;;;;;;;;;;;12422:45:0;333:2:1;318:18;12422:45:0;;;;;;;12384:99;12502:21;:6;12513:9;12502:10;:21::i;:::-;12495:28;11620:911;-1:-1:-1;;;;;;;;;11620:911:0:o;1014:189::-;1100:7;1135:12;1128:5;1120:28;;;;-1:-1:-1;;;1120:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1159:9:0;1171:5;1175:1;1171;:5;:::i;14:180:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:1;;14:180;-1:-1:-1;14:180:1:o;381:367::-;444:8;454:6;508:3;501:4;493:6;489:17;485:27;475:55;;526:1;523;516:12;475:55;-1:-1:-1;549:20:1;;592:18;581:30;;578:50;;;624:1;621;614:12;578:50;661:4;653:6;649:17;637:29;;721:3;714:4;704:6;701:1;697:14;689:6;685:27;681:38;678:47;675:67;;;738:1;735;728:12;675:67;381:367;;;;;:::o;753:118::-;839:5;832:13;825:21;818:5;815:32;805:60;;861:1;858;851:12;805:60;753:118;:::o;876:566::-;968:6;976;984;1037:2;1025:9;1016:7;1012:23;1008:32;1005:52;;;1053:1;1050;1043:12;1005:52;1093:9;1080:23;1126:18;1118:6;1115:30;1112:50;;;1158:1;1155;1148:12;1112:50;1197:70;1259:7;1250:6;1239:9;1235:22;1197:70;:::i;:::-;1286:8;;-1:-1:-1;1171:96:1;-1:-1:-1;;1371:2:1;1356:18;;1343:32;1384:28;1343:32;1384:28;:::i;:::-;1431:5;1421:15;;;876:566;;;;;:::o;1447:597::-;1559:4;1588:2;1617;1606:9;1599:21;1649:6;1643:13;1692:6;1687:2;1676:9;1672:18;1665:34;1717:1;1727:140;1741:6;1738:1;1735:13;1727:140;;;1836:14;;;1832:23;;1826:30;1802:17;;;1821:2;1798:26;1791:66;1756:10;;1727:140;;;1885:6;1882:1;1879:13;1876:91;;;1955:1;1950:2;1941:6;1930:9;1926:22;1922:31;1915:42;1876:91;-1:-1:-1;2028:2:1;2007:15;-1:-1:-1;;2003:29:1;1988:45;;;;2035:2;1984:54;;1447:597;-1:-1:-1;;;1447:597:1:o;2049:131::-;-1:-1:-1;;;;;2124:31:1;;2114:42;;2104:70;;2170:1;2167;2160:12;2185:315;2253:6;2261;2314:2;2302:9;2293:7;2289:23;2285:32;2282:52;;;2330:1;2327;2320:12;2282:52;2369:9;2356:23;2388:31;2413:5;2388:31;:::i;:::-;2438:5;2490:2;2475:18;;;;2462:32;;-1:-1:-1;;;2185:315:1:o;2697:241::-;2753:6;2806:2;2794:9;2785:7;2781:23;2777:32;2774:52;;;2822:1;2819;2812:12;2774:52;2861:9;2848:23;2880:28;2902:5;2880:28;:::i;2943:248::-;3011:6;3019;3072:2;3060:9;3051:7;3047:23;3043:32;3040:52;;;3088:1;3085;3078:12;3040:52;-1:-1:-1;;3111:23:1;;;3181:2;3166:18;;;3153:32;;-1:-1:-1;2943:248:1:o;3196:813::-;3291:6;3299;3307;3315;3323;3376:3;3364:9;3355:7;3351:23;3347:33;3344:53;;;3393:1;3390;3383:12;3344:53;3432:9;3419:23;3451:31;3476:5;3451:31;:::i;:::-;3501:5;-1:-1:-1;3558:2:1;3543:18;;3530:32;3571:33;3530:32;3571:33;:::i;:::-;3623:7;-1:-1:-1;3682:2:1;3667:18;;3654:32;3695:33;3654:32;3695:33;:::i;:::-;3747:7;-1:-1:-1;3806:2:1;3791:18;;3778:32;3819:33;3778:32;3819:33;:::i;:::-;3871:7;-1:-1:-1;3930:3:1;3915:19;;3902:33;3944;3902;3944;:::i;:::-;3996:7;3986:17;;;3196:813;;;;;;;;:::o;4014:908::-;4145:6;4153;4161;4169;4177;4230:2;4218:9;4209:7;4205:23;4201:32;4198:52;;;4246:1;4243;4236:12;4198:52;4285:9;4272:23;4304:31;4329:5;4304:31;:::i;:::-;4354:5;-1:-1:-1;4410:2:1;4395:18;;4382:32;4433:18;4463:14;;;4460:34;;;4490:1;4487;4480:12;4460:34;4529:70;4591:7;4582:6;4571:9;4567:22;4529:70;:::i;:::-;4618:8;;-1:-1:-1;4503:96:1;-1:-1:-1;4706:2:1;4691:18;;4678:32;;-1:-1:-1;4722:16:1;;;4719:36;;;4751:1;4748;4741:12;4719:36;;4790:72;4854:7;4843:8;4832:9;4828:24;4790:72;:::i;:::-;4014:908;;;;-1:-1:-1;4014:908:1;;-1:-1:-1;4881:8:1;;4764:98;4014:908;-1:-1:-1;;;4014:908:1:o;4927:456::-;5004:6;5012;5020;5073:2;5061:9;5052:7;5048:23;5044:32;5041:52;;;5089:1;5086;5079:12;5041:52;5128:9;5115:23;5147:31;5172:5;5147:31;:::i;:::-;5197:5;-1:-1:-1;5254:2:1;5239:18;;5226:32;5267:33;5226:32;5267:33;:::i;:::-;4927:456;;5319:7;;-1:-1:-1;;;5373:2:1;5358:18;;;;5345:32;;4927:456::o;5388:247::-;5447:6;5500:2;5488:9;5479:7;5475:23;5471:32;5468:52;;;5516:1;5513;5506:12;5468:52;5555:9;5542:23;5574:31;5599:5;5574:31;:::i;6264:382::-;6329:6;6337;6390:2;6378:9;6369:7;6365:23;6361:32;6358:52;;;6406:1;6403;6396:12;6358:52;6445:9;6432:23;6464:31;6489:5;6464:31;:::i;:::-;6514:5;-1:-1:-1;6571:2:1;6556:18;;6543:32;6584:30;6543:32;6584:30;:::i;:::-;6633:7;6623:17;;;6264:382;;;;;:::o;6651:523::-;6755:6;6763;6771;6779;6787;6795;6848:3;6836:9;6827:7;6823:23;6819:33;6816:53;;;6865:1;6862;6855:12;6816:53;-1:-1:-1;;6888:23:1;;;6958:2;6943:18;;6930:32;;-1:-1:-1;7009:2:1;6994:18;;6981:32;;7060:2;7045:18;;7032:32;;-1:-1:-1;7111:3:1;7096:19;;7083:33;;-1:-1:-1;7163:3:1;7148:19;7135:33;;-1:-1:-1;6651:523:1;-1:-1:-1;6651:523:1:o;7179:388::-;7247:6;7255;7308:2;7296:9;7287:7;7283:23;7279:32;7276:52;;;7324:1;7321;7314:12;7276:52;7363:9;7350:23;7382:31;7407:5;7382:31;:::i;:::-;7432:5;-1:-1:-1;7489:2:1;7474:18;;7461:32;7502:33;7461:32;7502:33;:::i;7572:309::-;7637:6;7645;7698:2;7686:9;7677:7;7673:23;7669:32;7666:52;;;7714:1;7711;7704:12;7666:52;7753:9;7740:23;7772:28;7794:5;7772:28;:::i;8372:329::-;8574:2;8556:21;;;8613:1;8593:18;;;8586:29;-1:-1:-1;;;8646:2:1;8631:18;;8624:36;8692:2;8677:18;;8372:329::o;8706:127::-;8767:10;8762:3;8758:20;8755:1;8748:31;8798:4;8795:1;8788:15;8822:4;8819:1;8812:15;8838:168;8878:7;8944:1;8940;8936:6;8932:14;8929:1;8926:21;8921:1;8914:9;8907:17;8903:45;8900:71;;;8951:18;;:::i;:::-;-1:-1:-1;8991:9:1;;8838:168::o;9011:217::-;9051:1;9077;9067:132;;9121:10;9116:3;9112:20;9109:1;9102:31;9156:4;9153:1;9146:15;9184:4;9181:1;9174:15;9067:132;-1:-1:-1;9213:9:1;;9011:217::o;9233:127::-;9294:10;9289:3;9285:20;9282:1;9275:31;9325:4;9322:1;9315:15;9349:4;9346:1;9339:15;9365:135;9404:3;-1:-1:-1;;9425:17:1;;9422:43;;;9445:18;;:::i;:::-;-1:-1:-1;9492:1:1;9481:13;;9365:135::o;9505:335::-;9707:2;9689:21;;;9746:2;9726:18;;;9719:30;-1:-1:-1;;;9780:2:1;9765:18;;9758:41;9831:2;9816:18;;9505:335::o;10668:128::-;10708:3;10739:1;10735:6;10732:1;10729:13;10726:39;;;10745:18;;:::i;:::-;-1:-1:-1;10781:9:1;;10668:128::o;11157:184::-;11227:6;11280:2;11268:9;11259:7;11255:23;11251:32;11248:52;;;11296:1;11293;11286:12;11248:52;-1:-1:-1;11319:16:1;;11157:184;-1:-1:-1;11157:184:1:o;11625:245::-;11692:6;11745:2;11733:9;11724:7;11720:23;11716:32;11713:52;;;11761:1;11758;11751:12;11713:52;11793:9;11787:16;11812:28;11834:5;11812:28;:::i;12448:125::-;12488:4;12516:1;12513;12510:8;12507:34;;;12521:18;;:::i;:::-;-1:-1:-1;12558:9:1;;12448:125::o;14934:980::-;15196:4;15244:3;15233:9;15229:19;15275:6;15264:9;15257:25;15301:2;15339:6;15334:2;15323:9;15319:18;15312:34;15382:3;15377:2;15366:9;15362:18;15355:31;15406:6;15441;15435:13;15472:6;15464;15457:22;15510:3;15499:9;15495:19;15488:26;;15549:2;15541:6;15537:15;15523:29;;15570:1;15580:195;15594:6;15591:1;15588:13;15580:195;;;15659:13;;-1:-1:-1;;;;;15655:39:1;15643:52;;15750:15;;;;15715:12;;;;15691:1;15609:9;15580:195;;;-1:-1:-1;;;;;;;15831:32:1;;;;15826:2;15811:18;;15804:60;-1:-1:-1;;;15895:3:1;15880:19;15873:35;15792:3;14934:980;-1:-1:-1;;;14934:980:1:o;16741:306::-;16829:6;16837;16845;16898:2;16886:9;16877:7;16873:23;16869:32;16866:52;;;16914:1;16911;16904:12;16866:52;16943:9;16937:16;16927:26;;16993:2;16982:9;16978:18;16972:25;16962:35;;17037:2;17026:9;17022:18;17016:25;17006:35;;16741:306;;;;;:::o
Swarm Source
ipfs://99c81314e1e9a5451d2ba7bca3e7846c3ba61ecb9935d8db5fdcc3d12a622e7a
Age | Block | Fee Address | BC Fee Address | Voting Power | Jailed | Incoming |
---|
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.