Token
Aretis Creces Protocol (ARIS)
ERC-20
Overview
Max Total Supply
9,000,000 ARIS
Holders
3
Market
Fully Diluted Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 8 Decimals)
Balance
398.20525055 ARISLoading...
Loading
Loading...
Loading
Loading...
Loading
Contract Name:
Aretis
Compiler Version
v0.7.6+commit.7338295f
Contract Source Code (Solidity)
/** *Submitted for verification at testnet.ftmscan.com on 2022-06-25 */ // SPDX-License-Identifier: Unlicensed pragma solidity ^0.7.4; library SafeMathInt { int256 private constant MIN_INT256 = int256(1) << 255; int256 private constant MAX_INT256 = ~(int256(1) << 255); function mul(int256 a, int256 b) internal pure returns (int256) { int256 c = a * b; require(c != MIN_INT256 || (a & MIN_INT256) != (b & MIN_INT256)); require((b == 0) || (c / b == a)); return c; } function div(int256 a, int256 b) internal pure returns (int256) { require(b != -1 || a != MIN_INT256); return a / b; } function sub(int256 a, int256 b) internal pure returns (int256) { int256 c = a - b; require((b >= 0 && c <= a) || (b < 0 && c > a)); return c; } function add(int256 a, int256 b) internal pure returns (int256) { int256 c = a + b; require((b >= 0 && c >= a) || (b < 0 && c < a)); return c; } function abs(int256 a) internal pure returns (int256) { require(a != MIN_INT256); return a < 0 ? -a : a; } } 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; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { require(b != 0); return a % b; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address who) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); function transfer(address to, uint256 value) external returns (bool); function approve(address spender, uint256 value) external returns (bool); function transferFrom( address from, address to, uint256 value ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } interface IPancakeSwapPair { event Approval(address indexed owner, address indexed spender, uint256 value); event Transfer(address indexed from, address indexed to, uint256 value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint256); function balanceOf(address owner) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 value) external returns (bool); function transfer(address to, uint256 value) external returns (bool); function transferFrom( address from, address to, uint256 value ) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint256); function permit( address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) external; event Mint(address indexed sender, uint256 amount0, uint256 amount1); event Burn(address indexed sender, uint256 amount0, uint256 amount1, address indexed to); event Swap( address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint256); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns ( uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast ); function price0CumulativeLast() external view returns (uint256); function price1CumulativeLast() external view returns (uint256); function kLast() external view returns (uint256); function mint(address to) external returns (uint256 liquidity); function burn(address to) external returns (uint256 amount0, uint256 amount1); function swap( uint256 amount0Out, uint256 amount1Out, address to, bytes calldata data ) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } interface IPancakeSwapRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns ( uint256 amountA, uint256 amountB, uint256 liquidity ); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function removeLiquidity( address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns (uint256 amountA, uint256 amountB); function removeLiquidityETH( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external returns (uint256 amountToken, uint256 amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint256 amountA, uint256 amountB); function removeLiquidityETHWithPermit( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint256 amountToken, uint256 amountETH); function swapExactTokensForTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapTokensForExactTokens( uint256 amountOut, uint256 amountInMax, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapExactETHForTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable returns (uint256[] memory amounts); function swapTokensForExactETH( uint256 amountOut, uint256 amountInMax, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapExactTokensForETH( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapETHForExactTokens( uint256 amountOut, address[] calldata path, address to, uint256 deadline ) external payable returns (uint256[] memory amounts); function quote( uint256 amountA, uint256 reserveA, uint256 reserveB ) external pure returns (uint256 amountB); function getAmountOut( uint256 amountIn, uint256 reserveIn, uint256 reserveOut ) external pure returns (uint256 amountOut); function getAmountIn( uint256 amountOut, uint256 reserveIn, uint256 reserveOut ) external pure returns (uint256 amountIn); function getAmountsOut(uint256 amountIn, address[] calldata path) external view returns (uint256[] memory amounts); function getAmountsIn(uint256 amountOut, address[] calldata path) external view returns (uint256[] memory amounts); function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external returns (uint256 amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint256 amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } interface IPancakeSwapFactory { event PairCreated(address indexed token0, address indexed token1, address pair, uint256); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint256) external view returns (address pair); function allPairsLength() external view returns (uint256); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } contract Ownable { address private _owner; event OwnershipRenounced(address indexed previousOwner); event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _owner = msg.sender; } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(isOwner()); _; } function isOwner() public view returns (bool) { return msg.sender == _owner; } function renounceOwnership() public onlyOwner { emit OwnershipRenounced(_owner); _owner = address(0); } function transferOwnership(address newOwner) public onlyOwner { _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal { require(newOwner != address(0)); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } abstract contract ERC20Detailed is IERC20 { string private _name; string private _symbol; uint8 private _decimals; constructor( string memory name_, string memory symbol_, uint8 decimals_ ) { _name = name_; _symbol = symbol_; _decimals = decimals_; } function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public view returns (uint8) { return _decimals; } } interface IArisDAO { function getRelations(address _address) external view returns (address[10] memory); function setDaoReward(uint256 _amount) external; } interface IRouter { function swapBack() external; function addLiquidity(uint256 autoLiquidityAmount) external; } contract Aretis is ERC20Detailed, Ownable { using SafeMath for uint256; using SafeMathInt for int256; event LogRebase(uint256 indexed epoch, uint256 totalSupply); event LogRefferal(address indexed from, address indexed to, uint256 amount); string public _name = 'Aretis Creces Protocol'; string public _symbol = 'ARIS'; uint8 public _decimals = 8; mapping(address => bool) _isFeeExempt; modifier validRecipient(address to) { require(to != address(0x0)); _; } uint256 public constant DECIMALS = 8; uint256 public constant MAX_UINT256 = ~uint256(0); uint8 public constant RATE_DECIMALS = 8; uint256 public liquidityFee = 20; //2% only for buy uint256 public treasuryFee = 50; //5% only for sell uint256 public antiRiskFundFee = 30; //3% only for sell uint256 public daoFee = 60; //6% only for sell uint256 public firePitFee = 20; //2% only for sell uint256 public inviteFee = 100; //10% only for buy uint256 public feeDenominator = 1000; uint256 public totalInviteAmount = 0; address DEAD = 0x000000000000000000000000000000000000dEaD; address ZERO = 0x0000000000000000000000000000000000000000; address public autoLiquidityReceiver; address public treasuryReceiver; address public firePit; bool public swapEnabled = true; IPancakeSwapRouter public router; address public pair; address public usdtAddress; bool inSwap = false; modifier swapping() { inSwap = true; _; inSwap = false; } uint256 private TOTAL_GONS; uint256 private constant MAX_SUPPLY = ~uint128(0) / 1e14; bool public _autoRebase; bool public _autoSwapBack; bool public _autoAddLiquidity; uint256 public _lastRebasedTime; uint256 public _lastAddLiquidityTime; uint256 public _totalSupply; uint256 private _gonsPerFragment; uint256 public pairBalance; mapping(address => uint256) private _gonBalances; mapping(address => mapping(address => uint256)) private _allowedFragments; mapping(address => bool) public blacklist; address public arisDaoAddress; uint256 public startTradingTime; uint256 public autoLiquidityInterval; constructor( address _swapRouter, address _usdt, address _autoLiquidityReceiver, address _firePit, uint256 _initSupply, uint256 _startTradingTime, address _DAO ) ERC20Detailed(_name, _symbol, uint8(DECIMALS)) Ownable() { require(_swapRouter != address(0), 'invalid swap router address'); usdtAddress = _usdt; router = IPancakeSwapRouter(_swapRouter); pair = IPancakeSwapFactory(router.factory()).createPair(usdtAddress, address(this)); require(_initSupply > 0, 'invalid init supply'); _totalSupply = _initSupply * 10**DECIMALS; TOTAL_GONS = MAX_UINT256 / 1e10 - ((MAX_UINT256 / 1e10) % _totalSupply); autoLiquidityReceiver = _autoLiquidityReceiver; firePit = _firePit; arisDaoAddress = _DAO; _gonBalances[msg.sender] = TOTAL_GONS; _gonsPerFragment = TOTAL_GONS.div(_totalSupply); _autoRebase = true; _autoSwapBack = true; _autoAddLiquidity = true; _isFeeExempt[msg.sender] = true; _isFeeExempt[address(this)] = true; _isFeeExempt[arisDaoAddress] = true; setStartTradingTime(_startTradingTime); autoLiquidityInterval = 10 minutes; emit Transfer(address(0x0), msg.sender, _totalSupply); } function manualRebase() external { require(shouldRebase(), 'rebase not required'); rebase(); } function rebase() internal { if (inSwap) return; uint256 rebaseRate = 15012; uint256 deltaTime = block.timestamp - _lastRebasedTime; uint256 times = deltaTime.div(10 minutes); uint256 epoch = times.mul(10); for (uint256 i = 0; i < times; i++) { _totalSupply = _totalSupply.mul((10**RATE_DECIMALS).add(rebaseRate)).div(10**RATE_DECIMALS); } _gonsPerFragment = TOTAL_GONS.div(_totalSupply); _lastRebasedTime = _lastRebasedTime.add(times.mul(10 minutes)); emit LogRebase(epoch, _totalSupply); } function setStartTradingTime(uint256 _time) public onlyOwner { startTradingTime = _time; if (_time > 0) { _lastAddLiquidityTime = _time; if (_lastRebasedTime == 0) { _lastRebasedTime = _time; } } } function transfer(address to, uint256 value) external override validRecipient(to) returns (bool) { _transferFrom(msg.sender, to, value); return true; } function transferFrom( address from, address to, uint256 value ) external override validRecipient(to) returns (bool) { if (_allowedFragments[from][msg.sender] != uint256(-1)) { _allowedFragments[from][msg.sender] = _allowedFragments[from][msg.sender].sub( value, 'Insufficient Allowance' ); } _transferFrom(from, to, value); return true; } function _basicTransfer( address from, address to, uint256 amount ) internal returns (bool) { uint256 gonAmount = amount.mul(_gonsPerFragment); if (from == pair) { pairBalance = pairBalance.sub(amount); } else { _gonBalances[from] = _gonBalances[from].sub(gonAmount); } if (to == pair) { pairBalance = pairBalance.add(amount); } else { _gonBalances[to] = _gonBalances[to].add(gonAmount); } return true; } function _transferFrom( address sender, address recipient, uint256 amount ) internal returns (bool) { require(!blacklist[sender] && !blacklist[recipient], 'in-blacklist'); if (inSwap) { return _basicTransfer(sender, recipient, amount); } if (shouldRebase()) { rebase(); } if (shouldAddLiquidity()) { addLiquidity(); } if (shouldSwapBack()) { swapBack(); } uint256 gonAmount = amount.mul(_gonsPerFragment); if (recipient == pair && _isFeeExempt[sender] == false && _isFeeExempt[recipient] == false) { //only can sell 99% of balance if (gonAmount >= _gonBalances[sender].div(1000).mul(999)) { gonAmount = _gonBalances[sender].div(1000).mul(999); } //require(gonAmount<=_gonBalances[sender].mul(99).div(100),"only can sell 99% of balance"); } if (sender == pair) { pairBalance = pairBalance.sub(amount); } else { _gonBalances[sender] = _gonBalances[sender].sub(gonAmount); } uint256 gonAmountReceived = shouldTakeFee(sender, recipient) ? takeFee(sender, recipient, gonAmount) : gonAmount; if (recipient == pair) { pairBalance = pairBalance.add(gonAmountReceived.div(_gonsPerFragment)); } else { _gonBalances[recipient] = _gonBalances[recipient].add(gonAmountReceived); } emit Transfer(sender, recipient, gonAmountReceived.div(_gonsPerFragment)); return true; } function takeFee( address sender, address recipient, uint256 gonAmount ) internal returns (uint256) { uint256 _totalFee = 0; uint256 _treasuryFee = treasuryFee; uint256 _robotsFee = 550; //sell token or transfer token if (sender != pair) { _totalFee = firePitFee.add(treasuryFee).add(daoFee).add(antiRiskFundFee); //when sell token . _gonBalances[firePit] = _gonBalances[firePit].add(gonAmount.div(feeDenominator).mul(firePitFee)); _gonBalances[treasuryReceiver] = _gonBalances[treasuryReceiver].add( gonAmount.div(feeDenominator).mul(_treasuryFee.add(antiRiskFundFee)) ); _gonBalances[arisDaoAddress] = _gonBalances[arisDaoAddress].add(gonAmount.div(feeDenominator).mul(daoFee)); IArisDAO(arisDaoAddress).setDaoReward(gonAmount.div(_gonsPerFragment).mul(daoFee).div(feeDenominator)); } if (sender == pair) { //when buy token _totalFee = inviteFee.add(liquidityFee); _gonBalances[autoLiquidityReceiver] = _gonBalances[autoLiquidityReceiver].add( gonAmount.div(feeDenominator).mul(liquidityFee) ); } if (recipient == pair || sender == pair) { //sell token require(startTradingTime > 0 && block.timestamp >= startTradingTime, 'can not trade now!'); if (block.timestamp <= startTradingTime + 6) { _totalFee = _totalFee.add(_robotsFee); _gonBalances[autoLiquidityReceiver] = _gonBalances[autoLiquidityReceiver].add( gonAmount.div(feeDenominator).mul(_robotsFee) ); } } uint256 feeAmount = gonAmount.div(feeDenominator).mul(_totalFee); emit Transfer(sender, address(this), feeAmount.div(_gonsPerFragment)); if (sender == pair) { totalInviteAmount = totalInviteAmount.add( gonAmount.div(_gonsPerFragment).mul(inviteFee).div(feeDenominator) ); address[10] memory _parents = IArisDAO(arisDaoAddress).getRelations(recipient); for (uint8 i = 0; i < _parents.length; i++) { uint256 _parentFee = gonAmount.mul(5).div(1000); if (i == 0) { _parentFee = gonAmount.mul(4).div(100); } if (i == 1) { _parentFee = gonAmount.mul(2).div(100); } _gonBalances[_parents[i]] = _gonBalances[_parents[i]].add(_parentFee); emit LogRefferal(recipient, _parents[i], _parentFee.div(_gonsPerFragment)); emit Transfer(recipient, _parents[i], _parentFee.div(_gonsPerFragment)); } } return gonAmount.sub(feeAmount); } function addLiquidity() internal swapping { uint256 autoLiquidityAmount = _gonBalances[autoLiquidityReceiver].div(_gonsPerFragment); if (treasuryReceiver != address(0) && autoLiquidityAmount > 0) { _gonBalances[treasuryReceiver] = _gonBalances[treasuryReceiver].add(_gonBalances[autoLiquidityReceiver]); _gonBalances[autoLiquidityReceiver] = 0; IRouter(treasuryReceiver).addLiquidity(autoLiquidityAmount); _lastAddLiquidityTime = block.timestamp; } } function swapBack() internal swapping { if (treasuryReceiver != address(0)) { IRouter(treasuryReceiver).swapBack(); } } function shouldTakeFee(address from, address to) internal view returns (bool) { return // (pair == from || pair == to) && !_isFeeExempt[from] && !_isFeeExempt[to]; } function shouldRebase() internal view returns (bool) { return _autoRebase && (_totalSupply < MAX_SUPPLY) && msg.sender != pair && !inSwap && block.timestamp >= (_lastRebasedTime + 10 minutes); } function shouldAddLiquidity() internal view returns (bool) { return _autoAddLiquidity && !inSwap && msg.sender != pair && _lastAddLiquidityTime > 0 && block.timestamp >= (_lastAddLiquidityTime + autoLiquidityInterval); } function shouldSwapBack() internal view returns (bool) { return _autoSwapBack && !inSwap && msg.sender != pair; } function setAutoRebase(bool _flag) external onlyOwner { if (_flag) { _autoRebase = _flag; _lastRebasedTime = block.timestamp; } else { _autoRebase = _flag; } } function setAutoSwapBack(bool _flag) external onlyOwner { _autoSwapBack = _flag; } function setAutoLiquidityInterval(uint256 _minutes) external onlyOwner { require(_minutes > 0, 'invalid time'); autoLiquidityInterval = _minutes * 1 minutes; } function setAutoAddLiquidity(bool _flag) external onlyOwner { if (_flag) { _autoAddLiquidity = _flag; _lastAddLiquidityTime = block.timestamp; } else { _autoAddLiquidity = _flag; } } function setArisDaoAddress(address _address) external onlyOwner { require(_address != address(0), 'invalid address'); arisDaoAddress = _address; _isFeeExempt[arisDaoAddress] = true; } function setArisTreasuryAddress(address _address) external onlyOwner { require(_address != address(0), 'invalid address'); treasuryReceiver = _address; _isFeeExempt[treasuryReceiver] = true; _allowedFragments[treasuryReceiver][address(router)] = uint256(-1); } function allowance(address owner_, address spender) external view override returns (uint256) { return _allowedFragments[owner_][spender]; } function decreaseAllowance(address spender, uint256 subtractedValue) external returns (bool) { uint256 oldValue = _allowedFragments[msg.sender][spender]; if (subtractedValue >= oldValue) { _allowedFragments[msg.sender][spender] = 0; } else { _allowedFragments[msg.sender][spender] = oldValue.sub(subtractedValue); } emit Approval(msg.sender, spender, _allowedFragments[msg.sender][spender]); return true; } function increaseAllowance(address spender, uint256 addedValue) external returns (bool) { _allowedFragments[msg.sender][spender] = _allowedFragments[msg.sender][spender].add(addedValue); emit Approval(msg.sender, spender, _allowedFragments[msg.sender][spender]); return true; } function approve(address spender, uint256 value) external override returns (bool) { _allowedFragments[msg.sender][spender] = value; emit Approval(msg.sender, spender, value); return true; } function checkFeeExempt(address _addr) external view returns (bool) { return _isFeeExempt[_addr]; } function getCirculatingSupply() public view returns (uint256) { return (TOTAL_GONS.sub(_gonBalances[DEAD]).sub(_gonBalances[ZERO])).div(_gonsPerFragment); } function isNotInSwap() external view returns (bool) { return !inSwap; } function manualSync() external { IPancakeSwapPair(pair).sync(); } function setFeeReceivers(address _autoLiquidityReceiver, address _firePit) external onlyOwner { autoLiquidityReceiver = _autoLiquidityReceiver; firePit = _firePit; } function setWhitelist(address[] memory _addrs) external onlyOwner { for (uint256 i = 0; i < _addrs.length; i++) { _isFeeExempt[_addrs[i]] = true; } } function setBlacklist(address _address, bool _flag) external onlyOwner { blacklist[_address] = _flag; } function totalSupply() external view override returns (uint256) { return _totalSupply; } function balanceOf(address who) external view override returns (uint256) { if (who == pair) { return pairBalance; } else { return _gonBalances[who].div(_gonsPerFragment); } } function isContract(address addr) internal view returns (bool) { uint256 size; assembly { size := extcodesize(addr) } return size > 0; } }
[{"inputs":[{"internalType":"address","name":"_swapRouter","type":"address"},{"internalType":"address","name":"_usdt","type":"address"},{"internalType":"address","name":"_autoLiquidityReceiver","type":"address"},{"internalType":"address","name":"_firePit","type":"address"},{"internalType":"uint256","name":"_initSupply","type":"uint256"},{"internalType":"uint256","name":"_startTradingTime","type":"uint256"},{"internalType":"address","name":"_DAO","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"epoch","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalSupply","type":"uint256"}],"name":"LogRebase","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":"amount","type":"uint256"}],"name":"LogRefferal","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"}],"name":"OwnershipRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DECIMALS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_UINT256","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"RATE_DECIMALS","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_autoAddLiquidity","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_autoRebase","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_autoSwapBack","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_lastAddLiquidityTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_lastRebasedTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner_","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"antiRiskFundFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"arisDaoAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"autoLiquidityInterval","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"autoLiquidityReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"blacklist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"checkFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"daoFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"firePit","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"firePitFee","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":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"inviteFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isNotInSwap","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualRebase","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSync","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pairBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IPancakeSwapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"setArisDaoAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"setArisTreasuryAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_flag","type":"bool"}],"name":"setAutoAddLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_minutes","type":"uint256"}],"name":"setAutoLiquidityInterval","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_flag","type":"bool"}],"name":"setAutoRebase","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_flag","type":"bool"}],"name":"setAutoSwapBack","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_flag","type":"bool"}],"name":"setBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_autoLiquidityReceiver","type":"address"},{"internalType":"address","name":"_firePit","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_time","type":"uint256"}],"name":"setStartTradingTime","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_addrs","type":"address[]"}],"name":"setWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTradingTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalInviteAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"treasuryFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"treasuryReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"usdtAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
60806040526040518060400160405280601681526020017f417265746973204372656365732050726f746f636f6c00000000000000000000815250600390805190602001906200005192919062000c94565b506040518060400160405280600481526020017f4152495300000000000000000000000000000000000000000000000000000000815250600490805190602001906200009f92919062000c94565b506008600560006101000a81548160ff021916908360ff16021790555060146007556032600855601e600955603c600a556014600b556064600c556103e8600d556000600e5561dead600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601360146101000a81548160ff0219169083151502179055506000601660146101000a81548160ff021916908315150217905550348015620001ad57600080fd5b5060405162005a4938038062005a49833981810160405260e0811015620001d357600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919050505060038054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015620002ba5780601f106200028e57610100808354040283529160200191620002ba565b820191906000526020600020905b8154815290600101906020018083116200029c57829003601f168201915b505050505060048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015620003595780601f106200032d5761010080835404028352916020019162000359565b820191906000526020600020905b8154815290600101906020018083116200033b57829003601f168201915b5050505050600882600090805190602001906200037892919062000c94565b5081600190805190602001906200039192919062000c94565b5080600260006101000a81548160ff021916908360ff16021790555050505033600260016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16141562000495576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f696e76616c6964207377617020726f757465722061646472657373000000000081525060200191505060405180910390fd5b85601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555086601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200058057600080fd5b505afa15801562000595573d6000803e3d6000fd5b505050506040513d6020811015620005ac57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1663c9c65396601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16306040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156200066657600080fd5b505af11580156200067b573d6000803e3d6000fd5b505050506040513d60208110156200069257600080fd5b8101908080519060200190929190505050601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600083116200075a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f696e76616c696420696e697420737570706c790000000000000000000000000081525060200191505060405180910390fd5b6008600a0a8302601b81905550601b546402540be400600019816200077b57fe5b04816200078457fe5b066402540be400600019816200079657fe5b040360178190555084601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080602160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601754601e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620008c5601b5460175462000ad560201b62002a561790919060201c565b601c819055506001601860006101000a81548160ff0219169083151502179055506001601860016101000a81548160ff0219169083151502179055506001601860026101000a81548160ff0219169083151502179055506001600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000a578262000b2760201b60201c565b6102586023819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef601b546040518082815260200191505060405180910390a35050505050505062000d4a565b600062000b1f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062000b7160201b60201c565b905092915050565b62000b3762000c3c60201b60201c565b62000b4157600080fd5b80602281905550600081111562000b6e5780601a819055506000601954141562000b6d57806019819055505b5b50565b6000808311829062000c21576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101562000be557808201518184015260208101905062000bc8565b50505050905090810190601f16801562000c135780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858162000c2e57fe5b049050809150509392505050565b6000600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b828054600181600116156101000203166002900490600052602060002090601f01602090048101928262000ccc576000855562000d18565b82601f1062000ce757805160ff191683800117855562000d18565b8280016001018555821562000d18579182015b8281111562000d1757825182559160200191906001019062000cfa565b5b50905062000d27919062000d2b565b5090565b5b8082111562000d4657600081600090555060010162000d2c565b5090565b614cef8062000d5a6000396000f3fe608060405234801561001057600080fd5b50600436106103ba5760003560e01c806383b4ac68116101f4578063afb9cf6d1161011a578063d4399790116100ad578063f42176481161007c578063f421764814611010578063f887ea40146110c8578063f9d16a0d146110fc578063f9f92be41461112a576103ba565b8063d439979014610eca578063dd62ed3e14610f24578063e15beb8014610f9c578063f2fde38b14610fcc576103ba565b8063ca33e64c116100e9578063ca33e64c14610dc5578063cc32d17614610df9578063cfbac92f14610e17578063d28d885214610e47576103ba565b8063afb9cf6d14610ce6578063b09f126614610d06578063b38a436014610d89578063bf8c37d414610da7576103ba565b80639b2912cc11610192578063a6cf729311610161578063a6cf729314610bec578063a841a6b214610c0a578063a8aa1b3114610c4e578063a9059cbb14610c82576103ba565b80639b2912cc14610ae85780639c426ced14610b06578063a457c2d714610b24578063a4b45c0014610b88576103ba565b80638f32d59b116101ce5780638f32d59b146109f357806395d89b4114610a1357806398118cb414610a965780639ab4a44514610ab4576103ba565b806383b4ac68146109815780638c75ae07146109a15780638da5cb5b146109bf576103ba565b806332424aa3116102e457806361a9d1b11161027757806370ee73951161024657806370ee73951461092f578063715018a61461094f578063753d02a11461095957806376f1a40114610963576103ba565b806361a9d1b11461088d5780636912652c146108975780636ddd1713146108b757806370a08231146108d7576103ba565b80633eaaf86b116102b35780633eaaf86b146107ea57806349d98142146108085780634bc6dd181461083c5780635a604c521461086c576103ba565b806332424aa31461072957806332b756831461074a57806333a581d2146107685780633950935114610786576103ba565b806323b185151161035c5780632b112e491161032b5780632b112e49146106985780632cdc6e0d146106b65780632e0f2625146106ea578063313ce56714610708576103ba565b806323b185151461058457806323b872dd146105b2578063284dda31146106365780632957b8391461067a576103ba565b8063095ea7b311610398578063095ea7b314610494578063153b0d1e146104f8578063180b0d7e1461054857806318160ddd14610566576103ba565b80630671c5be146103bf57806306fdde03146103dd57806308b1fd8f14610460575b600080fd5b6103c7611184565b6040518082815260200191505060405180910390f35b6103e561118a565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561042557808201518184015260208101905061040a565b50505050905090810190601f1680156104525780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61046861122c565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104e0600480360360408110156104aa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611252565b60405180821515815260200191505060405180910390f35b6105466004803603604081101561050e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050611344565b005b6105506113b0565b6040518082815260200191505060405180910390f35b61056e6113b6565b6040518082815260200191505060405180910390f35b6105b06004803603602081101561059a57600080fd5b81019080803590602001909291905050506113c0565b005b61061e600480360360608110156105c857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506113ff565b60405180821515815260200191505060405180910390f35b6106786004803603602081101561064c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061163e565b005b6106826117b0565b6040518082815260200191505060405180910390f35b6106a06117b6565b6040518082815260200191505060405180910390f35b6106be6118ba565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106f26118e0565b6040518082815260200191505060405180910390f35b6107106118e5565b604051808260ff16815260200191505060405180910390f35b6107316118fc565b604051808260ff16815260200191505060405180910390f35b61075261190f565b6040518082815260200191505060405180910390f35b610770611915565b6040518082815260200191505060405180910390f35b6107d26004803603604081101561079c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061191b565b60405180821515815260200191505060405180910390f35b6107f2611b17565b6040518082815260200191505060405180910390f35b610810611b1d565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61086a6004803603602081101561085257600080fd5b81019080803515159060200190929190505050611b43565b005b610874611b71565b604051808260ff16815260200191505060405180910390f35b610895611b76565b005b61089f611bfa565b60405180821515815260200191505060405180910390f35b6108bf611c0d565b60405180821515815260200191505060405180910390f35b610919600480360360208110156108ed57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c20565b6040518082815260200191505060405180910390f35b610937611cde565b60405180821515815260200191505060405180910390f35b610957611cf1565b005b610961611dab565b005b61096b611e2f565b6040518082815260200191505060405180910390f35b610989611e35565b60405180821515815260200191505060405180910390f35b6109a9611e4d565b6040518082815260200191505060405180910390f35b6109c7611e53565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6109fb611e7d565b60405180821515815260200191505060405180910390f35b610a1b611ed5565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a5b578082015181840152602081019050610a40565b50505050905090810190601f168015610a885780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610a9e611f77565b6040518082815260200191505060405180910390f35b610abc611f7d565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610af0611fa3565b6040518082815260200191505060405180910390f35b610b0e611fa9565b6040518082815260200191505060405180910390f35b610b7060048036036040811015610b3a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611faf565b60405180821515815260200191505060405180910390f35b610bea60048036036040811015610b9e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061223f565b005b610bf46122d6565b6040518082815260200191505060405180910390f35b610c4c60048036036020811015610c2057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506122dc565b005b610c56612533565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610cce60048036036040811015610c9857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612559565b60405180821515815260200191505060405180910390f35b610cee6125ad565b60405180821515815260200191505060405180910390f35b610d0e6125c0565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610d4e578082015181840152602081019050610d33565b50505050905090810190601f168015610d7b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610d9161265e565b6040518082815260200191505060405180910390f35b610daf612664565b6040518082815260200191505060405180910390f35b610dcd61266a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610e01612690565b6040518082815260200191505060405180910390f35b610e4560048036036020811015610e2d57600080fd5b81019080803515159060200190929190505050612696565b005b610e4f6126f1565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610e8f578082015181840152602081019050610e74565b50505050905090810190601f168015610ebc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610f0c60048036036020811015610ee057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061278f565b60405180821515815260200191505060405180910390f35b610f8660048036036040811015610f3a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506127e5565b6040518082815260200191505060405180910390f35b610fca60048036036020811015610fb257600080fd5b8101908080351515906020019092919050505061286c565b005b61100e60048036036020811015610fe257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506128c7565b005b6110c66004803603602081101561102657600080fd5b810190808035906020019064010000000081111561104357600080fd5b82018360208201111561105557600080fd5b8035906020019184602083028401116401000000008311171561107757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192905050506128e4565b005b6110d061297d565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6111286004803603602081101561111257600080fd5b81019080803590602001909291905050506129a3565b005b61116c6004803603602081101561114057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612a37565b60405180821515815260200191505060405180910390f35b60235481565b606060008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112225780601f106111f757610100808354040283529160200191611222565b820191906000526020600020905b81548152906001019060200180831161120557829003601f168201915b5050505050905090565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600081601f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b61134c611e7d565b61135557600080fd5b80602060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600d5481565b6000601b54905090565b6113c8611e7d565b6113d157600080fd5b8060228190555060008111156113fc5780601a81905550600060195414156113fb57806019819055505b5b50565b600082600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561143c57600080fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff601f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611626576115a5836040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250601f60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612aa09092919063ffffffff16565b601f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b611631858585612b60565b5060019150509392505050565b611646611e7d565b61164f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156116f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f696e76616c69642061646472657373000000000000000000000000000000000081525060200191505060405180910390fd5b80602160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160066000602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600a5481565b60006118b5601c546118a7601e6000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611899601e6000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546017546131b990919063ffffffff16565b6131b990919063ffffffff16565b612a5690919063ffffffff16565b905090565b602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600881565b6000600260009054906101000a900460ff16905090565b600560009054906101000a900460ff1681565b60195481565b60001981565b60006119ac82601f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461320390919063ffffffff16565b601f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925601f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b601b5481565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611b4b611e7d565b611b5457600080fd5b80601860016101000a81548160ff02191690831515021790555050565b600881565b611b7e61328b565b611bf0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f726562617365206e6f742072657175697265640000000000000000000000000081525060200191505060405180910390fd5b611bf8613369565b565b601860029054906101000a900460ff1681565b601360149054906101000a900460ff1681565b6000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c8257601d549050611cd9565b611cd6601c54601e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a5690919063ffffffff16565b90505b919050565b601860019054906101000a900460ff1681565b611cf9611e7d565b611d0257600080fd5b600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a26000600260016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b158015611e1557600080fd5b505af1158015611e29573d6000803e3d6000fd5b50505050565b60225481565b6000601660149054906101000a900460ff1615905090565b60095481565b6000600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b606060018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611f6d5780601f10611f4257610100808354040283529160200191611f6d565b820191906000526020600020905b815481529060010190602001808311611f5057829003601f168201915b5050505050905090565b60075481565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601a5481565b600e5481565b600080601f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083106120bf576000601f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612153565b6120d283826131b990919063ffffffff16565b601f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925601f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b612247611e7d565b61225057600080fd5b81601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600b5481565b6122e4611e7d565b6122ed57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612390576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f696e76616c69642061646472657373000000000000000000000000000000000081525060200191505060405180910390fd5b80601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160066000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff601f6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600082600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561259657600080fd5b6125a1338585612b60565b50600191505092915050565b601860009054906101000a900460ff1681565b60048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156126565780601f1061262b57610100808354040283529160200191612656565b820191906000526020600020905b81548152906001019060200180831161263957829003601f168201915b505050505081565b600c5481565b601d5481565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60085481565b61269e611e7d565b6126a757600080fd5b80156126d35780601860026101000a81548160ff02191690831515021790555042601a819055506126ee565b80601860026101000a81548160ff0219169083151502179055505b50565b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156127875780601f1061275c57610100808354040283529160200191612787565b820191906000526020600020905b81548152906001019060200180831161276a57829003601f168201915b505050505081565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000601f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b612874611e7d565b61287d57600080fd5b80156128a95780601860006101000a81548160ff021916908315150217905550426019819055506128c4565b80601860006101000a81548160ff0219169083151502179055505b50565b6128cf611e7d565b6128d857600080fd5b6128e1816134b7565b50565b6128ec611e7d565b6128f557600080fd5b60005b81518110156129795760016006600084848151811061291357fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806001019150506128f8565b5050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6129ab611e7d565b6129b457600080fd5b60008111612a2a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f696e76616c69642074696d65000000000000000000000000000000000000000081525060200191505060405180910390fd5b603c810260238190555050565b602080528060005260406000206000915054906101000a900460ff1681565b6000612a9883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506135b1565b905092915050565b6000838311158290612b4d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612b12578082015181840152602081019050612af7565b50505050905090810190601f168015612b3f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000602060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612c065750602060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b612c78576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f696e2d626c61636b6c697374000000000000000000000000000000000000000081525060200191505060405180910390fd5b601660149054906101000a900460ff1615612c9f57612c98848484613677565b90506131b2565b612ca761328b565b15612cb557612cb4613369565b5b612cbd6138b5565b15612ccb57612cca61395f565b5b612cd3613cac565b15612ce157612ce0613d36565b5b6000612cf8601c5484613e4790919063ffffffff16565b9050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015612da7575060001515600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b8015612e03575060001515600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b15612ee257612e706103e7612e626103e8601e60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a5690919063ffffffff16565b613e4790919063ffffffff16565b8110612ee157612ede6103e7612ed06103e8601e60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a5690919063ffffffff16565b613e4790919063ffffffff16565b90505b5b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415612f5857612f4d83601d546131b990919063ffffffff16565b601d81905550612fee565b612faa81601e60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546131b990919063ffffffff16565b601e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6000612ffa8686613ecd565b6130045781613010565b61300f868684613f7b565b5b9050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141561309c57613091613080601c5483612a5690919063ffffffff16565b601d5461320390919063ffffffff16565b601d81905550613132565b6130ee81601e60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461320390919063ffffffff16565b601e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef613196601c5485612a5690919063ffffffff16565b6040518082815260200191505060405180910390a36001925050505b9392505050565b60006131fb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612aa0565b905092915050565b600080828401905083811015613281576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000601860009054906101000a900460ff1680156132df5750655af3107a40006000196fffffffffffffffffffffffffffffffff16816132c757fe5b046fffffffffffffffffffffffffffffffff16601b54105b80156133395750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b80156133525750601660149054906101000a900460ff16155b80156133645750610258601954014210155b905090565b601660149054906101000a900460ff1615613383576134b5565b6000613aa4905060006019544203905060006133aa61025883612a5690919063ffffffff16565b905060006133c2600a83613e4790919063ffffffff16565b905060005b8281101561342957613416600860ff16600a0a6134086133f788600860ff16600a0a61320390919063ffffffff16565b601b54613e4790919063ffffffff16565b612a5690919063ffffffff16565b601b8190555080806001019150506133c7565b50613441601b54601754612a5690919063ffffffff16565b601c8190555061347061345f61025884613e4790919063ffffffff16565b60195461320390919063ffffffff16565b601981905550807f72725a3b1e5bd622d6bcd1339bb31279c351abe8f541ac7fd320f24e1b1641f2601b546040518082815260200191505060405180910390a2505050505b565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156134f157600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600260016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000808311829061365d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613622578082015181840152602081019050613607565b50505050905090810190601f16801561364f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161366957fe5b049050809150509392505050565b60008061368f601c5484613e4790919063ffffffff16565b9050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415613707576136fc83601d546131b990919063ffffffff16565b601d8190555061379d565b61375981601e60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546131b990919063ffffffff16565b601e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156138135761380883601d5461320390919063ffffffff16565b601d819055506138a9565b61386581601e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461320390919063ffffffff16565b601e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b60019150509392505050565b6000601860029054906101000a900460ff1680156138e05750601660149054906101000a900460ff16155b801561393a5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b801561394857506000601a54115b801561395a5750602354601a54014210155b905090565b6001601660146101000a81548160ff02191690831515021790555060006139f2601c54601e6000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a5690919063ffffffff16565b9050600073ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614158015613a535750600081115b15613c8e57613b2d601e6000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054601e6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461320390919063ffffffff16565b601e6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000601e6000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166351c6590a826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015613c6e57600080fd5b505af1158015613c82573d6000803e3d6000fd5b5050505042601a819055505b506000601660146101000a81548160ff021916908315150217905550565b6000601860019054906101000a900460ff168015613cd75750601660149054906101000a900460ff16155b8015613d315750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b905090565b6001601660146101000a81548160ff021916908315150217905550600073ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613e2a57601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636ac5eeee6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015613e1157600080fd5b505af1158015613e25573d6000803e3d6000fd5b505050505b6000601660146101000a81548160ff021916908315150217905550565b600080831415613e5a5760009050613ec7565b6000828402905082848281613e6b57fe5b0414613ec2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180614c996021913960400191505060405180910390fd5b809150505b92915050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015613f735750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b905092915050565b600080600090506000600854905060006102269050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161461440557614024600954614016600a54614008600854600b5461320390919063ffffffff16565b61320390919063ffffffff16565b61320390919063ffffffff16565b92506140c2614052600b54614044600d5489612a5690919063ffffffff16565b613e4790919063ffffffff16565b601e6000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461320390919063ffffffff16565b601e6000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506141d56141656141426009548561320390919063ffffffff16565b614157600d5489612a5690919063ffffffff16565b613e4790919063ffffffff16565b601e6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461320390919063ffffffff16565b601e6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506142d6614266600a54614258600d5489612a5690919063ffffffff16565b613e4790919063ffffffff16565b601e6000602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461320390919063ffffffff16565b601e6000602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f21105b06143b6600d546143a8600a5461439a601c548c612a5690919063ffffffff16565b613e4790919063ffffffff16565b612a5690919063ffffffff16565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156143ec57600080fd5b505af1158015614400573d6000803e3d6000fd5b505050505b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16141561457657614472600754600c5461320390919063ffffffff16565b92506145106144a0600754614492600d5489612a5690919063ffffffff16565b613e4790919063ffffffff16565b601e6000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461320390919063ffffffff16565b601e6000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16148061461f5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16145b156147cc57600060225411801561463857506022544210155b6146aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f63616e206e6f74207472616465206e6f7721000000000000000000000000000081525060200191505060405180910390fd5b60066022540142116147cb576146c9818461320390919063ffffffff16565b92506147656146f5826146e7600d5489612a5690919063ffffffff16565b613e4790919063ffffffff16565b601e6000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461320390919063ffffffff16565b601e6000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b60006147f5846147e7600d5489612a5690919063ffffffff16565b613e4790919063ffffffff16565b90503073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61485b601c5485612a5690919063ffffffff16565b6040518082815260200191505060405180910390a3601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff161415614c7857614917614906600d546148f8600c546148ea601c548c612a5690919063ffffffff16565b613e4790919063ffffffff16565b612a5690919063ffffffff16565b600e5461320390919063ffffffff16565b600e819055506000602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636c5c6425896040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1681526020019150506101406040518083038186803b1580156149a957600080fd5b505afa1580156149bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506101408110156149e357600080fd5b8101908091905050905060005b600a8160ff161015614c75576000614a266103e8614a1860058c613e4790919063ffffffff16565b612a5690919063ffffffff16565b905060008260ff161415614a5e57614a5b6064614a4d60048c613e4790919063ffffffff16565b612a5690919063ffffffff16565b90505b60018260ff161415614a9457614a916064614a8360028c613e4790919063ffffffff16565b612a5690919063ffffffff16565b90505b614af981601e6000868660ff16600a8110614aab57fe5b602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461320390919063ffffffff16565b601e6000858560ff16600a8110614b0c57fe5b602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550828260ff16600a8110614b5e57fe5b602002015173ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167f3f55f24e2841e2fc4b59aa760304e5f0c009e13416f1f0fed15edee5553f8578614bc6601c5485612a5690919063ffffffff16565b6040518082815260200191505060405180910390a3828260ff16600a8110614bea57fe5b602002015173ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef614c52601c5485612a5690919063ffffffff16565b6040518082815260200191505060405180910390a35080806001019150506149f0565b50505b614c8b81876131b990919063ffffffff16565b945050505050939250505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220bf6dee1e238191f78171325204ea9f35f7deb302d1e5decaa5dc51b39494c32164736f6c63430007060033000000000000000000000000d38eff163a0786ae3d2c608158ba275877754fe1000000000000000000000000ccf3579cbfb3d27640320a7bba186687ef9fe02400000000000000000000000064d25c5a2129ed5a98474f2cc77596332f9187ad000000000000000000000000cfd1e1e31d0a400a2f56efa784576d0bdbb191f000000000000000000000000000000000000000000000000000000000008954400000000000000000000000000000000000000000000000000000000062b6b1dc0000000000000000000000009b1e27c44f332c398e4e76f99e7a76c384ba0612
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106103ba5760003560e01c806383b4ac68116101f4578063afb9cf6d1161011a578063d4399790116100ad578063f42176481161007c578063f421764814611010578063f887ea40146110c8578063f9d16a0d146110fc578063f9f92be41461112a576103ba565b8063d439979014610eca578063dd62ed3e14610f24578063e15beb8014610f9c578063f2fde38b14610fcc576103ba565b8063ca33e64c116100e9578063ca33e64c14610dc5578063cc32d17614610df9578063cfbac92f14610e17578063d28d885214610e47576103ba565b8063afb9cf6d14610ce6578063b09f126614610d06578063b38a436014610d89578063bf8c37d414610da7576103ba565b80639b2912cc11610192578063a6cf729311610161578063a6cf729314610bec578063a841a6b214610c0a578063a8aa1b3114610c4e578063a9059cbb14610c82576103ba565b80639b2912cc14610ae85780639c426ced14610b06578063a457c2d714610b24578063a4b45c0014610b88576103ba565b80638f32d59b116101ce5780638f32d59b146109f357806395d89b4114610a1357806398118cb414610a965780639ab4a44514610ab4576103ba565b806383b4ac68146109815780638c75ae07146109a15780638da5cb5b146109bf576103ba565b806332424aa3116102e457806361a9d1b11161027757806370ee73951161024657806370ee73951461092f578063715018a61461094f578063753d02a11461095957806376f1a40114610963576103ba565b806361a9d1b11461088d5780636912652c146108975780636ddd1713146108b757806370a08231146108d7576103ba565b80633eaaf86b116102b35780633eaaf86b146107ea57806349d98142146108085780634bc6dd181461083c5780635a604c521461086c576103ba565b806332424aa31461072957806332b756831461074a57806333a581d2146107685780633950935114610786576103ba565b806323b185151161035c5780632b112e491161032b5780632b112e49146106985780632cdc6e0d146106b65780632e0f2625146106ea578063313ce56714610708576103ba565b806323b185151461058457806323b872dd146105b2578063284dda31146106365780632957b8391461067a576103ba565b8063095ea7b311610398578063095ea7b314610494578063153b0d1e146104f8578063180b0d7e1461054857806318160ddd14610566576103ba565b80630671c5be146103bf57806306fdde03146103dd57806308b1fd8f14610460575b600080fd5b6103c7611184565b6040518082815260200191505060405180910390f35b6103e561118a565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561042557808201518184015260208101905061040a565b50505050905090810190601f1680156104525780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61046861122c565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104e0600480360360408110156104aa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611252565b60405180821515815260200191505060405180910390f35b6105466004803603604081101561050e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050611344565b005b6105506113b0565b6040518082815260200191505060405180910390f35b61056e6113b6565b6040518082815260200191505060405180910390f35b6105b06004803603602081101561059a57600080fd5b81019080803590602001909291905050506113c0565b005b61061e600480360360608110156105c857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506113ff565b60405180821515815260200191505060405180910390f35b6106786004803603602081101561064c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061163e565b005b6106826117b0565b6040518082815260200191505060405180910390f35b6106a06117b6565b6040518082815260200191505060405180910390f35b6106be6118ba565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106f26118e0565b6040518082815260200191505060405180910390f35b6107106118e5565b604051808260ff16815260200191505060405180910390f35b6107316118fc565b604051808260ff16815260200191505060405180910390f35b61075261190f565b6040518082815260200191505060405180910390f35b610770611915565b6040518082815260200191505060405180910390f35b6107d26004803603604081101561079c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061191b565b60405180821515815260200191505060405180910390f35b6107f2611b17565b6040518082815260200191505060405180910390f35b610810611b1d565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61086a6004803603602081101561085257600080fd5b81019080803515159060200190929190505050611b43565b005b610874611b71565b604051808260ff16815260200191505060405180910390f35b610895611b76565b005b61089f611bfa565b60405180821515815260200191505060405180910390f35b6108bf611c0d565b60405180821515815260200191505060405180910390f35b610919600480360360208110156108ed57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c20565b6040518082815260200191505060405180910390f35b610937611cde565b60405180821515815260200191505060405180910390f35b610957611cf1565b005b610961611dab565b005b61096b611e2f565b6040518082815260200191505060405180910390f35b610989611e35565b60405180821515815260200191505060405180910390f35b6109a9611e4d565b6040518082815260200191505060405180910390f35b6109c7611e53565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6109fb611e7d565b60405180821515815260200191505060405180910390f35b610a1b611ed5565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a5b578082015181840152602081019050610a40565b50505050905090810190601f168015610a885780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610a9e611f77565b6040518082815260200191505060405180910390f35b610abc611f7d565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610af0611fa3565b6040518082815260200191505060405180910390f35b610b0e611fa9565b6040518082815260200191505060405180910390f35b610b7060048036036040811015610b3a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611faf565b60405180821515815260200191505060405180910390f35b610bea60048036036040811015610b9e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061223f565b005b610bf46122d6565b6040518082815260200191505060405180910390f35b610c4c60048036036020811015610c2057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506122dc565b005b610c56612533565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610cce60048036036040811015610c9857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612559565b60405180821515815260200191505060405180910390f35b610cee6125ad565b60405180821515815260200191505060405180910390f35b610d0e6125c0565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610d4e578082015181840152602081019050610d33565b50505050905090810190601f168015610d7b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610d9161265e565b6040518082815260200191505060405180910390f35b610daf612664565b6040518082815260200191505060405180910390f35b610dcd61266a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610e01612690565b6040518082815260200191505060405180910390f35b610e4560048036036020811015610e2d57600080fd5b81019080803515159060200190929190505050612696565b005b610e4f6126f1565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610e8f578082015181840152602081019050610e74565b50505050905090810190601f168015610ebc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610f0c60048036036020811015610ee057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061278f565b60405180821515815260200191505060405180910390f35b610f8660048036036040811015610f3a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506127e5565b6040518082815260200191505060405180910390f35b610fca60048036036020811015610fb257600080fd5b8101908080351515906020019092919050505061286c565b005b61100e60048036036020811015610fe257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506128c7565b005b6110c66004803603602081101561102657600080fd5b810190808035906020019064010000000081111561104357600080fd5b82018360208201111561105557600080fd5b8035906020019184602083028401116401000000008311171561107757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192905050506128e4565b005b6110d061297d565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6111286004803603602081101561111257600080fd5b81019080803590602001909291905050506129a3565b005b61116c6004803603602081101561114057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612a37565b60405180821515815260200191505060405180910390f35b60235481565b606060008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112225780601f106111f757610100808354040283529160200191611222565b820191906000526020600020905b81548152906001019060200180831161120557829003601f168201915b5050505050905090565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600081601f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b61134c611e7d565b61135557600080fd5b80602060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600d5481565b6000601b54905090565b6113c8611e7d565b6113d157600080fd5b8060228190555060008111156113fc5780601a81905550600060195414156113fb57806019819055505b5b50565b600082600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561143c57600080fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff601f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611626576115a5836040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250601f60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612aa09092919063ffffffff16565b601f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b611631858585612b60565b5060019150509392505050565b611646611e7d565b61164f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156116f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f696e76616c69642061646472657373000000000000000000000000000000000081525060200191505060405180910390fd5b80602160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160066000602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600a5481565b60006118b5601c546118a7601e6000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611899601e6000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546017546131b990919063ffffffff16565b6131b990919063ffffffff16565b612a5690919063ffffffff16565b905090565b602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600881565b6000600260009054906101000a900460ff16905090565b600560009054906101000a900460ff1681565b60195481565b60001981565b60006119ac82601f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461320390919063ffffffff16565b601f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925601f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b601b5481565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611b4b611e7d565b611b5457600080fd5b80601860016101000a81548160ff02191690831515021790555050565b600881565b611b7e61328b565b611bf0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f726562617365206e6f742072657175697265640000000000000000000000000081525060200191505060405180910390fd5b611bf8613369565b565b601860029054906101000a900460ff1681565b601360149054906101000a900460ff1681565b6000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c8257601d549050611cd9565b611cd6601c54601e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a5690919063ffffffff16565b90505b919050565b601860019054906101000a900460ff1681565b611cf9611e7d565b611d0257600080fd5b600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a26000600260016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b158015611e1557600080fd5b505af1158015611e29573d6000803e3d6000fd5b50505050565b60225481565b6000601660149054906101000a900460ff1615905090565b60095481565b6000600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b606060018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611f6d5780601f10611f4257610100808354040283529160200191611f6d565b820191906000526020600020905b815481529060010190602001808311611f5057829003601f168201915b5050505050905090565b60075481565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601a5481565b600e5481565b600080601f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083106120bf576000601f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612153565b6120d283826131b990919063ffffffff16565b601f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925601f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b612247611e7d565b61225057600080fd5b81601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600b5481565b6122e4611e7d565b6122ed57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612390576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f696e76616c69642061646472657373000000000000000000000000000000000081525060200191505060405180910390fd5b80601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160066000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff601f6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600082600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561259657600080fd5b6125a1338585612b60565b50600191505092915050565b601860009054906101000a900460ff1681565b60048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156126565780601f1061262b57610100808354040283529160200191612656565b820191906000526020600020905b81548152906001019060200180831161263957829003601f168201915b505050505081565b600c5481565b601d5481565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60085481565b61269e611e7d565b6126a757600080fd5b80156126d35780601860026101000a81548160ff02191690831515021790555042601a819055506126ee565b80601860026101000a81548160ff0219169083151502179055505b50565b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156127875780601f1061275c57610100808354040283529160200191612787565b820191906000526020600020905b81548152906001019060200180831161276a57829003601f168201915b505050505081565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000601f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b612874611e7d565b61287d57600080fd5b80156128a95780601860006101000a81548160ff021916908315150217905550426019819055506128c4565b80601860006101000a81548160ff0219169083151502179055505b50565b6128cf611e7d565b6128d857600080fd5b6128e1816134b7565b50565b6128ec611e7d565b6128f557600080fd5b60005b81518110156129795760016006600084848151811061291357fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806001019150506128f8565b5050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6129ab611e7d565b6129b457600080fd5b60008111612a2a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f696e76616c69642074696d65000000000000000000000000000000000000000081525060200191505060405180910390fd5b603c810260238190555050565b602080528060005260406000206000915054906101000a900460ff1681565b6000612a9883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506135b1565b905092915050565b6000838311158290612b4d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612b12578082015181840152602081019050612af7565b50505050905090810190601f168015612b3f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000602060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612c065750602060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b612c78576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f696e2d626c61636b6c697374000000000000000000000000000000000000000081525060200191505060405180910390fd5b601660149054906101000a900460ff1615612c9f57612c98848484613677565b90506131b2565b612ca761328b565b15612cb557612cb4613369565b5b612cbd6138b5565b15612ccb57612cca61395f565b5b612cd3613cac565b15612ce157612ce0613d36565b5b6000612cf8601c5484613e4790919063ffffffff16565b9050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015612da7575060001515600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b8015612e03575060001515600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b15612ee257612e706103e7612e626103e8601e60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a5690919063ffffffff16565b613e4790919063ffffffff16565b8110612ee157612ede6103e7612ed06103e8601e60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a5690919063ffffffff16565b613e4790919063ffffffff16565b90505b5b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415612f5857612f4d83601d546131b990919063ffffffff16565b601d81905550612fee565b612faa81601e60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546131b990919063ffffffff16565b601e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6000612ffa8686613ecd565b6130045781613010565b61300f868684613f7b565b5b9050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141561309c57613091613080601c5483612a5690919063ffffffff16565b601d5461320390919063ffffffff16565b601d81905550613132565b6130ee81601e60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461320390919063ffffffff16565b601e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef613196601c5485612a5690919063ffffffff16565b6040518082815260200191505060405180910390a36001925050505b9392505050565b60006131fb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612aa0565b905092915050565b600080828401905083811015613281576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000601860009054906101000a900460ff1680156132df5750655af3107a40006000196fffffffffffffffffffffffffffffffff16816132c757fe5b046fffffffffffffffffffffffffffffffff16601b54105b80156133395750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b80156133525750601660149054906101000a900460ff16155b80156133645750610258601954014210155b905090565b601660149054906101000a900460ff1615613383576134b5565b6000613aa4905060006019544203905060006133aa61025883612a5690919063ffffffff16565b905060006133c2600a83613e4790919063ffffffff16565b905060005b8281101561342957613416600860ff16600a0a6134086133f788600860ff16600a0a61320390919063ffffffff16565b601b54613e4790919063ffffffff16565b612a5690919063ffffffff16565b601b8190555080806001019150506133c7565b50613441601b54601754612a5690919063ffffffff16565b601c8190555061347061345f61025884613e4790919063ffffffff16565b60195461320390919063ffffffff16565b601981905550807f72725a3b1e5bd622d6bcd1339bb31279c351abe8f541ac7fd320f24e1b1641f2601b546040518082815260200191505060405180910390a2505050505b565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156134f157600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600260016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000808311829061365d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613622578082015181840152602081019050613607565b50505050905090810190601f16801561364f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161366957fe5b049050809150509392505050565b60008061368f601c5484613e4790919063ffffffff16565b9050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415613707576136fc83601d546131b990919063ffffffff16565b601d8190555061379d565b61375981601e60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546131b990919063ffffffff16565b601e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156138135761380883601d5461320390919063ffffffff16565b601d819055506138a9565b61386581601e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461320390919063ffffffff16565b601e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b60019150509392505050565b6000601860029054906101000a900460ff1680156138e05750601660149054906101000a900460ff16155b801561393a5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b801561394857506000601a54115b801561395a5750602354601a54014210155b905090565b6001601660146101000a81548160ff02191690831515021790555060006139f2601c54601e6000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a5690919063ffffffff16565b9050600073ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614158015613a535750600081115b15613c8e57613b2d601e6000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054601e6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461320390919063ffffffff16565b601e6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000601e6000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166351c6590a826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015613c6e57600080fd5b505af1158015613c82573d6000803e3d6000fd5b5050505042601a819055505b506000601660146101000a81548160ff021916908315150217905550565b6000601860019054906101000a900460ff168015613cd75750601660149054906101000a900460ff16155b8015613d315750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b905090565b6001601660146101000a81548160ff021916908315150217905550600073ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613e2a57601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636ac5eeee6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015613e1157600080fd5b505af1158015613e25573d6000803e3d6000fd5b505050505b6000601660146101000a81548160ff021916908315150217905550565b600080831415613e5a5760009050613ec7565b6000828402905082848281613e6b57fe5b0414613ec2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180614c996021913960400191505060405180910390fd5b809150505b92915050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015613f735750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b905092915050565b600080600090506000600854905060006102269050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161461440557614024600954614016600a54614008600854600b5461320390919063ffffffff16565b61320390919063ffffffff16565b61320390919063ffffffff16565b92506140c2614052600b54614044600d5489612a5690919063ffffffff16565b613e4790919063ffffffff16565b601e6000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461320390919063ffffffff16565b601e6000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506141d56141656141426009548561320390919063ffffffff16565b614157600d5489612a5690919063ffffffff16565b613e4790919063ffffffff16565b601e6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461320390919063ffffffff16565b601e6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506142d6614266600a54614258600d5489612a5690919063ffffffff16565b613e4790919063ffffffff16565b601e6000602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461320390919063ffffffff16565b601e6000602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f21105b06143b6600d546143a8600a5461439a601c548c612a5690919063ffffffff16565b613e4790919063ffffffff16565b612a5690919063ffffffff16565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156143ec57600080fd5b505af1158015614400573d6000803e3d6000fd5b505050505b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16141561457657614472600754600c5461320390919063ffffffff16565b92506145106144a0600754614492600d5489612a5690919063ffffffff16565b613e4790919063ffffffff16565b601e6000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461320390919063ffffffff16565b601e6000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16148061461f5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16145b156147cc57600060225411801561463857506022544210155b6146aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f63616e206e6f74207472616465206e6f7721000000000000000000000000000081525060200191505060405180910390fd5b60066022540142116147cb576146c9818461320390919063ffffffff16565b92506147656146f5826146e7600d5489612a5690919063ffffffff16565b613e4790919063ffffffff16565b601e6000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461320390919063ffffffff16565b601e6000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b60006147f5846147e7600d5489612a5690919063ffffffff16565b613e4790919063ffffffff16565b90503073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61485b601c5485612a5690919063ffffffff16565b6040518082815260200191505060405180910390a3601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff161415614c7857614917614906600d546148f8600c546148ea601c548c612a5690919063ffffffff16565b613e4790919063ffffffff16565b612a5690919063ffffffff16565b600e5461320390919063ffffffff16565b600e819055506000602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636c5c6425896040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1681526020019150506101406040518083038186803b1580156149a957600080fd5b505afa1580156149bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506101408110156149e357600080fd5b8101908091905050905060005b600a8160ff161015614c75576000614a266103e8614a1860058c613e4790919063ffffffff16565b612a5690919063ffffffff16565b905060008260ff161415614a5e57614a5b6064614a4d60048c613e4790919063ffffffff16565b612a5690919063ffffffff16565b90505b60018260ff161415614a9457614a916064614a8360028c613e4790919063ffffffff16565b612a5690919063ffffffff16565b90505b614af981601e6000868660ff16600a8110614aab57fe5b602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461320390919063ffffffff16565b601e6000858560ff16600a8110614b0c57fe5b602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550828260ff16600a8110614b5e57fe5b602002015173ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167f3f55f24e2841e2fc4b59aa760304e5f0c009e13416f1f0fed15edee5553f8578614bc6601c5485612a5690919063ffffffff16565b6040518082815260200191505060405180910390a3828260ff16600a8110614bea57fe5b602002015173ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef614c52601c5485612a5690919063ffffffff16565b6040518082815260200191505060405180910390a35080806001019150506149f0565b50505b614c8b81876131b990919063ffffffff16565b945050505050939250505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220bf6dee1e238191f78171325204ea9f35f7deb302d1e5decaa5dc51b39494c32164736f6c63430007060033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000d38eff163a0786ae3d2c608158ba275877754fe1000000000000000000000000ccf3579cbfb3d27640320a7bba186687ef9fe02400000000000000000000000064d25c5a2129ed5a98474f2cc77596332f9187ad000000000000000000000000cfd1e1e31d0a400a2f56efa784576d0bdbb191f000000000000000000000000000000000000000000000000000000000008954400000000000000000000000000000000000000000000000000000000062b6b1dc0000000000000000000000009b1e27c44f332c398e4e76f99e7a76c384ba0612
-----Decoded View---------------
Arg [0] : _swapRouter (address): 0xd38eFF163A0786Ae3d2c608158Ba275877754FE1
Arg [1] : _usdt (address): 0xcCF3579CBfb3D27640320A7bbA186687Ef9fE024
Arg [2] : _autoLiquidityReceiver (address): 0x64d25c5a2129Ed5A98474F2cC77596332F9187Ad
Arg [3] : _firePit (address): 0xCFd1e1e31D0a400A2f56Efa784576D0Bdbb191f0
Arg [4] : _initSupply (uint256): 9000000
Arg [5] : _startTradingTime (uint256): 1656140252
Arg [6] : _DAO (address): 0x9B1e27c44f332c398E4e76f99E7a76C384Ba0612
-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 000000000000000000000000d38eff163a0786ae3d2c608158ba275877754fe1
Arg [1] : 000000000000000000000000ccf3579cbfb3d27640320a7bba186687ef9fe024
Arg [2] : 00000000000000000000000064d25c5a2129ed5a98474f2cc77596332f9187ad
Arg [3] : 000000000000000000000000cfd1e1e31d0a400a2f56efa784576d0bdbb191f0
Arg [4] : 0000000000000000000000000000000000000000000000000000000000895440
Arg [5] : 0000000000000000000000000000000000000000000000000000000062b6b1dc
Arg [6] : 0000000000000000000000009b1e27c44f332c398e4e76f99e7a76c384ba0612
Deployed Bytecode Sourcemap
14106:16254:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16363:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13529:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15396:31;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;28595:221;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;29692:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;15135:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;29817:102;;;:::i;:::-;;;;;;;;;;;;;;;;;;;18504:285;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;18979:472;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;27084:217;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;14971:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;28945:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16289:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;14648:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13715:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;14465:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;15919:31;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14691:49;;;:::i;:::-;;;;;;;;;;;;;;;;;;;28278:309;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;16000:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15434:22;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;26529:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;14747:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;17766:117;;;:::i;:::-;;15883:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;15463:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;29927:232;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15851:25;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;12740:126;;;:::i;:::-;;29216:79;;;:::i;:::-;;16325:31;;;:::i;:::-;;;;;;;;;;;;;;;;;;;29123:85;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;14910:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12475:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;12640:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;13620:87;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14795:32;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15565:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;15957:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15178;;;:::i;:::-;;;;;;;;;;;;;;;;;;;27779:491;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;29303:188;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;15023:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;;27309:301;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;15539:19;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;18797:174;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;15821:23;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;14428:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15079;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16073:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15353:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;14853:31;;;:::i;:::-;;;;;;;;;;;;;;;;;;;26823:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;14375:46;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28824:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;27618:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;26291:230;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12874:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;29499:185;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;15500:32;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;26633:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;16241:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;16363:36;;;;:::o;13529:83::-;13566:13;13599:5;13592:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13529:83;:::o;15396:31::-;;;;;;;;;;;;;:::o;28595:221::-;28671:4;28729:5;28688:17;:29;28706:10;28688:29;;;;;;;;;;;;;;;:38;28718:7;28688:38;;;;;;;;;;;;;;;:46;;;;28771:7;28750:36;;28759:10;28750:36;;;28780:5;28750:36;;;;;;;;;;;;;;;;;;28804:4;28797:11;;28595:221;;;;:::o;29692:117::-;12602:9;:7;:9::i;:::-;12594:18;;;;;;29796:5:::1;29774:9;:19;29784:8;29774:19;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;29692:117:::0;;:::o;15135:36::-;;;;:::o;29817:102::-;29872:7;29899:12;;29892:19;;29817:102;:::o;18504:285::-;12602:9;:7;:9::i;:::-;12594:18;;;;;;18595:5:::1;18576:16;:24;;;;18623:1;18615:5;:9;18611:171;;;18665:5;18641:21;:29;;;;18709:1;18689:16;;:21;18685:86;;;18750:5;18731:16;:24;;;;18685:86;18611:171;18504:285:::0;:::o;18979:472::-;19122:4;19109:2;14615:3;14601:18;;:2;:18;;;;14593:27;;;;;;19190:2:::1;19143:17;:23;19161:4;19143:23;;;;;;;;;;;;;;;:35;19167:10;19143:35;;;;;;;;;;;;;;;;:50;19139:242;;19248:121;19306:5;19248:121;;;;;;;;;;;;;;;;::::0;:17:::1;:23;19266:4;19248:23;;;;;;;;;;;;;;;:35;19272:10;19248:35;;;;;;;;;;;;;;;;:39;;:121;;;;;:::i;:::-;19210:17;:23;19228:4;19210:23;;;;;;;;;;;;;;;:35;19234:10;19210:35;;;;;;;;;;;;;;;:159;;;;19139:242;19391:30;19405:4;19411:2;19415:5;19391:13;:30::i;:::-;;19439:4;19432:11;;18979:472:::0;;;;;;:::o;27084:217::-;12602:9;:7;:9::i;:::-;12594:18;;;;;;27187:1:::1;27167:22;;:8;:22;;;;27159:50;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;27239:8;27222:14;;:25;;;;;;;;;;;;;;;;;;27289:4;27258:12;:28;27271:14;;;;;;;;;;;27258:28;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;27084:217:::0;:::o;14971:26::-;;;;:::o;28945:170::-;28998:7;29025:82;29090:16;;29026:58;29065:12;:18;29078:4;;;;;;;;;;;29065:18;;;;;;;;;;;;;;;;29026:34;29041:12;:18;29054:4;;;;;;;;;;;29041:18;;;;;;;;;;;;;;;;29026:10;;:14;;:34;;;;:::i;:::-;:38;;:58;;;;:::i;:::-;29025:64;;:82;;;;:::i;:::-;29018:89;;28945:170;:::o;16289:29::-;;;;;;;;;;;;;:::o;14648:36::-;14683:1;14648:36;:::o;13715:83::-;13756:5;13781:9;;;;;;;;;;;13774:16;;13715:83;:::o;14465:26::-;;;;;;;;;;;;;:::o;15919:31::-;;;;:::o;14691:49::-;14738:1;14729:11;14691:49;:::o;28278:309::-;28360:4;28418:54;28461:10;28418:17;:29;28436:10;28418:29;;;;;;;;;;;;;;;:38;28448:7;28418:38;;;;;;;;;;;;;;;;:42;;:54;;;;:::i;:::-;28377:17;:29;28395:10;28377:29;;;;;;;;;;;;;;;:38;28407:7;28377:38;;;;;;;;;;;;;;;:95;;;;28509:7;28488:69;;28497:10;28488:69;;;28518:17;:29;28536:10;28518:29;;;;;;;;;;;;;;;:38;28548:7;28518:38;;;;;;;;;;;;;;;;28488:69;;;;;;;;;;;;;;;;;;28575:4;28568:11;;28278:309;;;;:::o;16000:27::-;;;;:::o;15434:22::-;;;;;;;;;;;;;:::o;26529:96::-;12602:9;:7;:9::i;:::-;12594:18;;;;;;26612:5:::1;26596:13;;:21;;;;;;;;;;;;;;;;;;26529:96:::0;:::o;14747:39::-;14785:1;14747:39;:::o;17766:117::-;17818:14;:12;:14::i;:::-;17810:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17867:8;:6;:8::i;:::-;17766:117::o;15883:29::-;;;;;;;;;;;;;:::o;15463:30::-;;;;;;;;;;;;;:::o;29927:232::-;29991:7;30022:4;;;;;;;;;;;30015:11;;:3;:11;;;30011:141;;;30050:11;;30043:18;;;;30011:141;30101:39;30123:16;;30101:12;:17;30114:3;30101:17;;;;;;;;;;;;;;;;:21;;:39;;;;:::i;:::-;30094:46;;29927:232;;;;:::o;15851:25::-;;;;;;;;;;;;;:::o;12740:126::-;12602:9;:7;:9::i;:::-;12594:18;;;;;;12821:6:::1;;;;;;;;;;;12802:26;;;;;;;;;;;;12856:1;12839:6;;:19;;;;;;;;;;;;;;;;;;12740:126::o:0;29216:79::-;29275:4;;;;;;;;;;;29258:27;;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29216:79::o;16325:31::-;;;;:::o;29123:85::-;29169:4;29194:6;;;;;;;;;;;29193:7;29186:14;;29123:85;:::o;14910:35::-;;;;:::o;12475:79::-;12513:7;12540:6;;;;;;;;;;;12533:13;;12475:79;:::o;12640:92::-;12680:4;12718:6;;;;;;;;;;;12704:20;;:10;:20;;;12697:27;;12640:92;:::o;13620:87::-;13659:13;13692:7;13685:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13620:87;:::o;14795:32::-;;;;:::o;15565:26::-;;;;;;;;;;;;;:::o;15957:36::-;;;;:::o;15178:::-;;;;:::o;27779:491::-;27866:4;27883:16;27902:17;:29;27920:10;27902:29;;;;;;;;;;;;;;;:38;27932:7;27902:38;;;;;;;;;;;;;;;;27883:57;;27974:8;27955:15;:27;27951:205;;28040:1;27999:17;:29;28017:10;27999:29;;;;;;;;;;;;;;;:38;28029:7;27999:38;;;;;;;;;;;;;;;:42;;;;27951:205;;;28115:29;28128:15;28115:8;:12;;:29;;;;:::i;:::-;28074:17;:29;28092:10;28074:29;;;;;;;;;;;;;;;:38;28104:7;28074:38;;;;;;;;;;;;;;;:70;;;;27951:205;28192:7;28171:69;;28180:10;28171:69;;;28201:17;:29;28219:10;28201:29;;;;;;;;;;;;;;;:38;28231:7;28201:38;;;;;;;;;;;;;;;;28171:69;;;;;;;;;;;;;;;;;;28258:4;28251:11;;;27779:491;;;;:::o;29303:188::-;12602:9;:7;:9::i;:::-;12594:18;;;;;;29432:22:::1;29408:21;;:46;;;;;;;;;;;;;;;;;;29475:8;29465:7;;:18;;;;;;;;;;;;;;;;;;29303:188:::0;;:::o;15023:30::-;;;;:::o;27309:301::-;12602:9;:7;:9::i;:::-;12594:18;;;;;;27417:1:::1;27397:22;;:8;:22;;;;27389:50;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;27469:8;27450:16;;:27;;;;;;;;;;;;;;;;;;27521:4;27488:12;:30;27501:16;;;;;;;;;;;27488:30;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;27599:2;27536:17;:35;27554:16;;;;;;;;;;;27536:35;;;;;;;;;;;;;;;:52;27580:6;;;;;;;;;;;27536:52;;;;;;;;;;;;;;;:66;;;;27309:301:::0;:::o;15539:19::-;;;;;;;;;;;;;:::o;18797:174::-;18888:4;18875:2;14615:3;14601:18;;:2;:18;;;;14593:27;;;;;;18905:36:::1;18919:10;18931:2;18935:5;18905:13;:36::i;:::-;;18959:4;18952:11;;18797:174:::0;;;;;:::o;15821:23::-;;;;;;;;;;;;;:::o;14428:30::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;15079:::-;;;;:::o;16073:26::-;;;;:::o;15353:36::-;;;;;;;;;;;;;:::o;14853:31::-;;;;:::o;26823:253::-;12602:9;:7;:9::i;:::-;12594:18;;;;;;26898:5:::1;26894:175;;;26940:5;26920:17;;:25;;;;;;;;;;;;;;;;;;26984:15;26960:21;:39;;;;26894:175;;;27052:5;27032:17;;:25;;;;;;;;;;;;;;;;;;26894:175;26823:253:::0;:::o;14375:46::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;28824:113::-;28886:4;28910:12;:19;28923:5;28910:19;;;;;;;;;;;;;;;;;;;;;;;;;28903:26;;28824:113;;;:::o;27618:153::-;27702:7;27729:17;:25;27747:6;27729:25;;;;;;;;;;;;;;;:34;27755:7;27729:34;;;;;;;;;;;;;;;;27722:41;;27618:153;;;;:::o;26291:230::-;12602:9;:7;:9::i;:::-;12594:18;;;;;;26360:5:::1;26356:158;;;26396:5;26382:11;;:19;;;;;;;;;;;;;;;;;;26435:15;26416:16;:34;;;;26356:158;;;26497:5;26483:11;;:19;;;;;;;;;;;;;;;;;;26356:158;26291:230:::0;:::o;12874:109::-;12602:9;:7;:9::i;:::-;12594:18;;;;;;12947:28:::1;12966:8;12947:18;:28::i;:::-;12874:109:::0;:::o;29499:185::-;12602:9;:7;:9::i;:::-;12594:18;;;;;;29581:9:::1;29576:101;29600:6;:13;29596:1;:17;29576:101;;;29661:4;29635:12;:23;29648:6;29655:1;29648:9;;;;;;;;;;;;;;29635:23;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;29615:3;;;;;;;29576:101;;;;29499:185:::0;:::o;15500:32::-;;;;;;;;;;;;;:::o;26633:182::-;12602:9;:7;:9::i;:::-;12594:18;;;;;;26734:1:::1;26723:8;:12;26715:37;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;26798:9;26787:8;:20;26763:21;:44;;;;26633:182:::0;:::o;16241:41::-;;;;;;;;;;;;;;;;;;;;;;:::o;1972:132::-;2030:7;2057:39;2061:1;2064;2057:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2050:46;;1972:132;;;;:::o;1480:226::-;1600:7;1633:1;1628;:6;;1636:12;1620:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1660:9;1676:1;1672;:5;1660:17;;1697:1;1690:8;;;1480:226;;;;;:::o;20032:1694::-;20158:4;20184:9;:17;20194:6;20184:17;;;;;;;;;;;;;;;;;;;;;;;;;20183:18;:43;;;;;20206:9;:20;20216:9;20206:20;;;;;;;;;;;;;;;;;;;;;;;;;20205:21;20183:43;20175:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20260:6;;;;;;;;;;;20256:87;;;20290:41;20305:6;20313:9;20324:6;20290:14;:41::i;:::-;20283:48;;;;20256:87;20357:14;:12;:14::i;:::-;20353:55;;;20388:8;:6;:8::i;:::-;20353:55;20424:20;:18;:20::i;:::-;20420:67;;;20461:14;:12;:14::i;:::-;20420:67;20503:16;:14;:16::i;:::-;20499:59;;;20536:10;:8;:10::i;:::-;20499:59;20570:17;20590:28;20601:16;;20590:6;:10;;:28;;;;:::i;:::-;20570:48;;20646:4;;;;;;;;;;;20633:17;;:9;:17;;;:50;;;;;20678:5;20654:29;;:12;:20;20667:6;20654:20;;;;;;;;;;;;;;;;;;;;;;;;;:29;;;20633:50;:86;;;;;20714:5;20687:32;;:12;:23;20700:9;20687:23;;;;;;;;;;;;;;;;;;;;;;;;;:32;;;20633:86;20629:411;;;20797:39;20832:3;20797:30;20822:4;20797:12;:20;20810:6;20797:20;;;;;;;;;;;;;;;;:24;;:30;;;;:::i;:::-;:34;;:39;;;;:::i;:::-;20784:9;:52;20780:144;;20869:39;20904:3;20869:30;20894:4;20869:12;:20;20882:6;20869:20;;;;;;;;;;;;;;;;:24;;:30;;;;:::i;:::-;:34;;:39;;;;:::i;:::-;20857:51;;20780:144;20629:411;21064:4;;;;;;;;;;;21054:14;;:6;:14;;;21050:175;;;21099:23;21115:6;21099:11;;:15;;:23;;;;:::i;:::-;21085:11;:37;;;;21050:175;;;21178:35;21203:9;21178:12;:20;21191:6;21178:20;;;;;;;;;;;;;;;;:24;;:35;;;;:::i;:::-;21155:12;:20;21168:6;21155:20;;;;;;;;;;;;;;;:58;;;;21050:175;21235:25;21263:32;21277:6;21285:9;21263:13;:32::i;:::-;:110;;21364:9;21263:110;;;21311:37;21319:6;21327:9;21338;21311:7;:37::i;:::-;21263:110;21235:138;;21403:4;;;;;;;;;;;21390:17;;:9;:17;;;21386:225;;;21438:56;21454:39;21476:16;;21454:17;:21;;:39;;;;:::i;:::-;21438:11;;:15;;:56;;;;:::i;:::-;21424:11;:70;;;;21386:225;;;21553:46;21581:17;21553:12;:23;21566:9;21553:23;;;;;;;;;;;;;;;;:27;;:46;;;;:::i;:::-;21527:12;:23;21540:9;21527:23;;;;;;;;;;;;;;;:72;;;;21386:225;21645:9;21628:68;;21637:6;21628:68;;;21656:39;21678:16;;21656:17;:21;;:39;;;;:::i;:::-;21628:68;;;;;;;;;;;;;;;;;;21714:4;21707:11;;;;20032:1694;;;;;;:::o;1336:136::-;1394:7;1421:43;1425:1;1428;1421:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1414:50;;1336:136;;;;:::o;1147:181::-;1205:7;1225:9;1241:1;1237;:5;1225:17;;1266:1;1261;:6;;1253:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1319:1;1312:8;;;1147:181;;;;:::o;25568:273::-;25615:4;25652:11;;;;;;;;;;;:55;;;;;15808:4;15803:1;15794:11;:18;;;;;;;;25696:10;;25681:12;;:25;25652:55;:90;;;;;25738:4;;;;;;;;;;;25724:18;;:10;:18;;;;25652:90;:114;;;;;25760:6;;;;;;;;;;;25759:7;25652:114;:181;;;;;25822:10;25803:16;;:29;25783:15;:50;;25652:181;25632:201;;25568:273;:::o;17891:605::-;17933:6;;;;;;;;;;;17929:19;;;17941:7;;17929:19;17958:18;17979:5;17958:26;;17995:17;18033:16;;18015:15;:34;17995:54;;18060:13;18076:25;18090:10;18076:9;:13;;:25;;;;:::i;:::-;18060:41;;18112:13;18128;18138:2;18128:5;:9;;:13;;;;:::i;:::-;18112:29;;18159:9;18154:154;18178:5;18174:1;:9;18154:154;;;18220:76;14785:1;18278:17;;:2;:17;18220:53;18237:35;18261:10;14785:1;18238:17;;:2;:17;18237:23;;:35;;;;:::i;:::-;18220:12;;:16;;:53;;;;:::i;:::-;:57;;:76;;;;:::i;:::-;18205:12;:91;;;;18185:3;;;;;;;18154:154;;;;18339:28;18354:12;;18339:10;;:14;;:28;;;;:::i;:::-;18320:16;:47;;;;18397:43;18418:21;18428:10;18418:5;:9;;:21;;;;:::i;:::-;18397:16;;:20;;:43;;;;:::i;:::-;18378:16;:62;;;;18468:5;18458:30;18475:12;;18458:30;;;;;;;;;;;;;;;;;;17891:605;;;;;:::o;12991:187::-;13085:1;13065:22;;:8;:22;;;;13057:31;;;;;;13133:8;13104:38;;13125:6;;;;;;;;;;;13104:38;;;;;;;;;;;;13162:8;13153:6;;:17;;;;;;;;;;;;;;;;;;12991:187;:::o;2112:225::-;2232:7;2264:1;2260;:5;2267:12;2252:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2291:9;2307:1;2303;:5;;;;;;2291:17;;2328:1;2321:8;;;2112:225;;;;;:::o;19459:565::-;19577:4;19594:17;19614:28;19625:16;;19614:6;:10;;:28;;;;:::i;:::-;19594:48;;19665:4;;;;;;;;;;;19657:12;;:4;:12;;;19653:169;;;19700:23;19716:6;19700:11;;:15;;:23;;;;:::i;:::-;19686:11;:37;;;;19653:169;;;19777:33;19800:9;19777:12;:18;19790:4;19777:18;;;;;;;;;;;;;;;;:22;;:33;;;;:::i;:::-;19756:12;:18;19769:4;19756:18;;;;;;;;;;;;;;;:54;;;;19653:169;19842:4;;;;;;;;;;;19836:10;;:2;:10;;;19832:163;;;19877:23;19893:6;19877:11;;:15;;:23;;;;:::i;:::-;19863:11;:37;;;;19832:163;;;19952:31;19973:9;19952:12;:16;19965:2;19952:16;;;;;;;;;;;;;;;;:20;;:31;;;;:::i;:::-;19933:12;:16;19946:2;19933:16;;;;;;;;;;;;;;;:50;;;;19832:163;20012:4;20005:11;;;19459:565;;;;;:::o;25849:299::-;25902:4;25939:17;;;;;;;;;;;:41;;;;;25974:6;;;;;;;;;;;25973:7;25939:41;:76;;;;;26011:4;;;;;;;;;;;25997:18;;:10;:18;;;;25939:76;:118;;;;;26056:1;26032:21;;:25;25939:118;:201;;;;;26118:21;;26094;;:45;26074:15;:66;;25939:201;25919:221;;25849:299;:::o;24648:536::-;15664:4;15655:6;;:13;;;;;;;;;;;;;;;;;;24701:27:::1;24731:57;24771:16;;24731:12;:35;24744:21;;;;;;;;;;;24731:35;;;;;;;;;;;;;;;;:39;;:57;;;;:::i;:::-;24701:87;;24831:1;24803:30;;:16;;;;;;;;;;;:30;;;;:57;;;;;24859:1;24837:19;:23;24803:57;24799:378;;;24910:71;24945:12;:35;24958:21;;;;;;;;;;;24945:35;;;;;;;;;;;;;;;;24910:12;:30;24923:16;;;;;;;;;;;24910:30;;;;;;;;;;;;;;;;:34;;:71;;;;:::i;:::-;24877:12;:30;24890:16;;;;;;;;;;;24877:30;;;;;;;;;;;;;;;:104;;;;25034:1;24996:12;:35;25009:21;;;;;;;;;;;24996:35;;;;;;;;;;;;;;;:39;;;;25060:16;;;;;;;;;;;25052:38;;;25091:19;25052:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;25150:15;25126:21;:39;;;;24799:378;15679:1;15700:5:::0;15691:6;;:14;;;;;;;;;;;;;;;;;;24648:536::o;26156:127::-;26205:4;26229:13;;;;;;;;;;;:24;;;;;26247:6;;;;;;;;;;;26246:7;26229:24;:46;;;;;26271:4;;;;;;;;;;;26257:18;;:10;:18;;;;26229:46;26222:53;;26156:127;:::o;25192:155::-;15664:4;15655:6;;:13;;;;;;;;;;;;;;;;;;25273:1:::1;25245:30;;:16;;;;;;;;;;;:30;;;25241:99;;25300:16;;;;;;;;;;;25292:34;;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;25241:99;15700:5:::0;15691:6;;:14;;;;;;;;;;;;;;;;;;25192:155::o;1714:250::-;1772:7;1801:1;1796;:6;1792:47;;;1826:1;1819:8;;;;1792:47;1851:9;1867:1;1863;:5;1851:17;;1896:1;1891;1887;:5;;;;;;:10;1879:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1955:1;1948:8;;;1714:250;;;;;:::o;25355:205::-;25427:4;25513:12;:18;25526:4;25513:18;;;;;;;;;;;;;;;;;;;;;;;;;25512:19;:40;;;;;25536:12;:16;25549:2;25536:16;;;;;;;;;;;;;;;;;;;;;;;;;25535:17;25512:40;25444:108;;25355:205;;;;:::o;21734:2906::-;21857:7;21877:17;21897:1;21877:21;;21909:20;21932:11;;21909:34;;21954:18;21975:3;21954:24;;22043:4;;;;;;;;;;;22033:14;;:6;:14;;;22029:672;;22076:60;22120:15;;22076:39;22108:6;;22076:27;22091:11;;22076:10;;:14;;:27;;;;:::i;:::-;:31;;:39;;;;:::i;:::-;:43;;:60;;;;:::i;:::-;22064:72;;22195;22221:45;22255:10;;22221:29;22235:14;;22221:9;:13;;:29;;;;:::i;:::-;:33;;:45;;;;:::i;:::-;22195:12;:21;22208:7;;;;;;;;;;;22195:21;;;;;;;;;;;;;;;;:25;;:72;;;;:::i;:::-;22171:12;:21;22184:7;;;;;;;;;;;22171:21;;;;;;;;;;;;;;;:96;;;;22315:136;22368:68;22402:33;22419:15;;22402:12;:16;;:33;;;;:::i;:::-;22368:29;22382:14;;22368:9;:13;;:29;;;;:::i;:::-;:33;;:68;;;;:::i;:::-;22315:12;:30;22328:16;;;;;;;;;;;22315:30;;;;;;;;;;;;;;;;:34;;:136;;;;:::i;:::-;22282:12;:30;22295:16;;;;;;;;;;;22282:30;;;;;;;;;;;;;;;:169;;;;22497:75;22530:41;22564:6;;22530:29;22544:14;;22530:9;:13;;:29;;;;:::i;:::-;:33;;:41;;;;:::i;:::-;22497:12;:28;22510:14;;;;;;;;;;;22497:28;;;;;;;;;;;;;;;;:32;;:75;;;;:::i;:::-;22466:12;:28;22479:14;;;;;;;;;;;22466:28;;;;;;;;;;;;;;;:106;;;;22596:14;;;;;;;;;;;22587:37;;;22625:63;22673:14;;22625:43;22661:6;;22625:31;22639:16;;22625:9;:13;;:31;;;;:::i;:::-;:35;;:43;;;;:::i;:::-;:47;;:63;;;;:::i;:::-;22587:102;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22029:672;22725:4;;;;;;;;;;;22715:14;;:6;:14;;;22711:289;;;22788:27;22802:12;;22788:9;;:13;;:27;;;;:::i;:::-;22776:39;;22868:120;22926:47;22960:12;;22926:29;22940:14;;22926:9;:13;;:29;;;;:::i;:::-;:33;;:47;;;;:::i;:::-;22868:12;:35;22881:21;;;;;;;;;;;22868:35;;;;;;;;;;;;;;;;:39;;:120;;;;:::i;:::-;22830:12;:35;22843:21;;;;;;;;;;;22830:35;;;;;;;;;;;;;;;:158;;;;22711:289;23027:4;;;;;;;;;;;23014:17;;:9;:17;;;:35;;;;23045:4;;;;;;;;;;;23035:14;;:6;:14;;;23014:35;23010:498;;;23119:1;23100:16;;:20;:59;;;;;23143:16;;23124:15;:35;;23100:59;23092:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23239:1;23220:16;;:20;23201:15;:39;23197:300;;23273:25;23287:10;23273:9;:13;;:25;;;;:::i;:::-;23261:37;;23355:126;23417:45;23451:10;23417:29;23431:14;;23417:9;:13;;:29;;;;:::i;:::-;:33;;:45;;;;:::i;:::-;23355:12;:35;23368:21;;;;;;;;;;;23355:35;;;;;;;;;;;;;;;;:39;;:126;;;;:::i;:::-;23317:12;:35;23330:21;;;;;;;;;;;23317:35;;;;;;;;;;;;;;;:164;;;;23197:300;23010:498;23518:17;23538:44;23572:9;23538:29;23552:14;;23538:9;:13;;:29;;;;:::i;:::-;:33;;:44;;;;:::i;:::-;23518:64;;23625:4;23600:64;;23609:6;23600:64;;;23632:31;23646:16;;23632:9;:13;;:31;;;;:::i;:::-;23600:64;;;;;;;;;;;;;;;;;;23689:4;;;;;;;;;;;23679:14;;:6;:14;;;23675:914;;;23730:121;23770:66;23821:14;;23770:46;23806:9;;23770:31;23784:16;;23770:9;:13;;:31;;;;:::i;:::-;:35;;:46;;;;:::i;:::-;:50;;:66;;;;:::i;:::-;23730:17;;:21;;:121;;;;:::i;:::-;23710:17;:141;;;;23866:27;23905:14;;;;;;;;;;;23896:37;;;23934:9;23896:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23866:78;;23964:7;23959:619;23981:15;23977:1;:19;;;23959:619;;;24022:18;24043:26;24064:4;24043:16;24057:1;24043:9;:13;;:16;;;;:::i;:::-;:20;;:26;;;;:::i;:::-;24022:47;;24097:1;24092;:6;;;24088:93;;;24136:25;24157:3;24136:16;24150:1;24136:9;:13;;:16;;;;:::i;:::-;:20;;:25;;;;:::i;:::-;24123:38;;24088:93;24208:1;24203;:6;;;24199:93;;;24247:25;24268:3;24247:16;24261:1;24247:9;:13;;:16;;;;:::i;:::-;:20;;:25;;;;:::i;:::-;24234:38;;24199:93;24338:41;24368:10;24338:12;:25;24351:8;24360:1;24351:11;;;;;;;;;;;;;24338:25;;;;;;;;;;;;;;;;:29;;:41;;;;:::i;:::-;24310:12;:25;24323:8;24332:1;24323:11;;;;;;;;;;;;;24310:25;;;;;;;;;;;;;;;:69;;;;24426:8;24435:1;24426:11;;;;;;;;;;;;;24403:69;;24415:9;24403:69;;;24439:32;24454:16;;24439:10;:14;;:32;;;;:::i;:::-;24403:69;;;;;;;;;;;;;;;;;;24516:8;24525:1;24516:11;;;;;;;;;;;;;24496:66;;24505:9;24496:66;;;24529:32;24544:16;;24529:10;:14;;:32;;;;:::i;:::-;24496:66;;;;;;;;;;;;;;;;;;23959:619;23998:3;;;;;;;23959:619;;;;23675:914;;24608:24;24622:9;24608;:13;;:24;;;;:::i;:::-;24601:31;;;;;;21734:2906;;;;;:::o
Swarm Source
ipfs://bf6dee1e238191f78171325204ea9f35f7deb302d1e5decaa5dc51b39494c321
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.