ERC-20
Overview
Max Total Supply
120,000,000,000,000,000 Ly
Holders
1
Total Transfers
-
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
Lilly
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-11-12 */ // _ _ _ _ _____ _ // | | (_) | |_ _ | ___(_)_ __ __ _ _ __ ___ ___ // | | | | | | | | | | |_ | | '_ \ / _` | '_ \ / __/ _ \ // | |___| | | | |_| | | _| | | | | | (_| | | | | (_| __/ // |_____|_|_|_|\__, | |_| |_|_| |_|\__,_|_| |_|\___\___| // |___/ //lillyfinance.com/ // SPDX-License-Identifier: Unlicensed /** *Submitted for verification at Etherscan.io on 2021-05-30 */ //SAITAMAINU.COM // SPDX-License-Identifier: Unlicensed pragma solidity ^0.6.12; abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return msg.sender; } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers. Reverts on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } /** * @dev Returns the integer division of two unsigned integers. Reverts with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts with custom message when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } library Address { /** * @dev Returns true if `account` is a contract. * * [IMPORTANT] * ==== * It is unsafe to assume that an address for which this function returns * false is an externally-owned account (EOA) and not a contract. * * Among others, `isContract` will return false for the following * types of addresses: * * - an externally-owned account * - a contract in construction * - an address where a contract will be created * - an address where a contract lived, but was destroyed * ==== */ function isContract(address account) internal view returns (bool) { // According to EIP-1052, 0x0 is the value returned for not-yet created accounts // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned // for accounts without code, i.e. `keccak256('')` bytes32 codehash; bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470; // solhint-disable-next-line no-inline-assembly assembly { codehash := extcodehash(account) } return (codehash != accountHash && codehash != 0x0); } /** * @dev Replacement for Solidity's `transfer`: sends `amount` wei to * `recipient`, forwarding all available gas and reverting on errors. * * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost * of certain opcodes, possibly making contracts go over the 2300 gas limit * imposed by `transfer`, making them unable to receive funds via * `transfer`. {sendValue} removes this limitation. * * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more]. * * IMPORTANT: because control is transferred to `recipient`, care must be * taken to not create reentrancy vulnerabilities. Consider using * {ReentrancyGuard} or the * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]. */ function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); // solhint-disable-next-line avoid-low-level-calls, avoid-call-value (bool success, ) = recipient.call{ value: amount }(""); require(success, "Address: unable to send value, recipient may have reverted"); } /** * @dev Performs a Solidity function call using a low level `call`. A * plain`call` is an unsafe replacement for a function call: use this * function instead. * * If `target` reverts with a revert reason, it is bubbled up by this * function (like regular Solidity function calls). * * Returns the raw returned data. To convert to the expected return value, * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`]. * * Requirements: * * - `target` must be a contract. * - calling `target` with `data` must not revert. * * _Available since v3.1._ */ function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with * `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { return _functionCallWithValue(target, data, 0, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but also transferring `value` wei to `target`. * * Requirements: * * - the calling contract must have an ETH balance of at least `value`. * - the called Solidity function must be `payable`. * * _Available since v3.1._ */ function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } /** * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but * with `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); return _functionCallWithValue(target, data, value, errorMessage); } function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) { require(isContract(target), "Address: call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.call{ value: weiValue }(data); if (success) { return returndata; } else { // Look for revert reason and bubble it up if present if (returndata.length > 0) { // The easiest way to bubble the revert reason is using memory via assembly // solhint-disable-next-line no-inline-assembly assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor () internal { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } /** * @dev Returns the address of the current owner. */ function owner() public view returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } contract Lilly is Context, IERC20, Ownable { using SafeMath for uint256; using Address for address; mapping (address => uint256) private _rOwned; mapping (address => uint256) private _tOwned; mapping (address => uint256) private _lpOwned; mapping (address => uint256) private _mktOwned; mapping (address => uint256) private _burnerOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcluded; address[] private _excluded; address private _lpAddress; address private _mktAddress; address private _burnerAddress; uint256 private constant MAX = ~uint256(0); uint256 private _tTotal = 120000000000 * 10**6 * 10**9; // 100000000000000000000000000 uint256 private _rTotal = (MAX - (MAX % _tTotal)); // 1157920892373161954235709850086879078532699846656405640394575800000000000000000000000000 uint256 private _tFeeTotal; uint256 private _burnFeeTotal; uint256 private _lpFeeTotal; uint256 private _mktFeeTotal; string private _name = 'Lilly'; string private _symbol = 'Ly'; uint8 private _decimals = 9; uint256 public _maxTxAmount = 1200000000 * 10**6 * 10**9; constructor (address lpAddress, address mktAddress) public { _rOwned[_msgSender()] = _rTotal; _lpAddress = lpAddress; _mktAddress = mktAddress; _burnerAddress = 0x000000000000000000000000000000000000dEaD; emit Transfer(address(0), _msgSender(), _tTotal); } 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; } function totalSupply() public view override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { if (_isExcluded[account]) { return _tOwned[account]; } else if (account == _lpAddress) { return _lpOwned[account]; } else if (account == _mktAddress) { return _mktOwned[account]; } else if (account == _burnerAddress) { return _burnerOwned[account]; } return tokenFromReflection(_rOwned[account]); } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } function isExcluded(address account) public view returns (bool) { return _isExcluded[account]; } function totalFees() public view returns (uint256) { return _tFeeTotal; } function setMaxTxPercent(uint256 maxTxPercent) external onlyOwner() { _maxTxAmount = _tTotal.mul(maxTxPercent).div( 10**2 ); } function changelpAddress(address newLpAddress) external onlyOwner() returns(bool success) { _lpAddress = newLpAddress; return true; } function changeMktAddress(address newMktAddress) external onlyOwner() returns(bool success) { _mktAddress = newMktAddress; return true; } function reflect(uint256 tAmount) public { address sender = _msgSender(); require(!_isExcluded[sender], "Excluded addresses cannot call this function"); (uint256 rAmount,,,,) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rTotal = _rTotal.sub(rAmount); _tFeeTotal = _tFeeTotal.add(tAmount); } function reflectionFromToken(uint256 tAmount, bool deductTransferFee) public view returns(uint256) { require(tAmount <= _tTotal, "Amount must be less than supply"); if (!deductTransferFee) { (uint256 rAmount,,,,) = _getValues(tAmount); return rAmount; } else { (,uint256 rTransferAmount,,,) = _getValues(tAmount); return rTransferAmount; } } function tokenFromReflection(uint256 rAmount) public view returns(uint256) { require(rAmount <= _rTotal, "Amount must be less than total reflections"); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function excludeAccount(address account) external onlyOwner() { require(!_isExcluded[account], "Account is already excluded"); if(_rOwned[account] > 0) { _tOwned[account] = tokenFromReflection(_rOwned[account]); } _isExcluded[account] = true; _excluded.push(account); } function includeAccount(address account) external onlyOwner() { require(_isExcluded[account], "Account is already excluded"); for (uint256 i = 0; i < _excluded.length; i++) { if (_excluded[i] == account) { _excluded[i] = _excluded[_excluded.length - 1]; _tOwned[account] = 0; _isExcluded[account] = false; _excluded.pop(); break; } } } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address sender, address recipient, uint256 amount) private { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); if(sender != owner() && recipient != owner()) require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount."); if (_isExcluded[sender] && !_isExcluded[recipient]) { _transferFromExcluded(sender, recipient, amount); } else if (!_isExcluded[sender] && _isExcluded[recipient]) { _transferToExcluded(sender, recipient, amount); } else if (!_isExcluded[sender] && !_isExcluded[recipient]) { _transferStandard(sender, recipient, amount); } else if (_isExcluded[sender] && _isExcluded[recipient]) { _transferBothExcluded(sender, recipient, amount); } else { _transferStandard(sender, recipient, amount); } } function _transferStandard(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount); (uint256 burnFee, uint256 lpFee, uint256 mktFee) = _getAddValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _reflectFee(rFee, tFee); _reflectAddFee(burnFee, lpFee, mktFee); emit Transfer(sender, recipient, tTransferAmount); } function _transferToExcluded(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount); (uint256 burnFee, uint256 lpFee, uint256 mktFee) = _getAddValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _reflectFee(rFee, tFee); _reflectAddFee(burnFee, lpFee, mktFee); emit Transfer(sender, recipient, tTransferAmount); } function _transferFromExcluded(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount); (uint256 burnFee, uint256 lpFee, uint256 mktFee) = _getAddValues(tAmount); _tOwned[sender] = _tOwned[sender].sub(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _reflectFee(rFee, tFee); _reflectAddFee(burnFee, lpFee, mktFee); emit Transfer(sender, recipient, tTransferAmount); } function _transferBothExcluded(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount); (uint256 burnFee, uint256 lpFee, uint256 mktFee) = _getAddValues(tAmount); _tOwned[sender] = _tOwned[sender].sub(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _reflectFee(rFee, tFee); _reflectAddFee(burnFee, lpFee, mktFee); emit Transfer(sender, recipient, tTransferAmount); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } function _reflectAddFee(uint256 burnFee, uint256 lpFee, uint256 mktFee) private { _burnFeeTotal = _burnFeeTotal.add(burnFee); _lpFeeTotal = _lpFeeTotal.add(lpFee); _mktFeeTotal = _mktFeeTotal.add(mktFee); _lpOwned[_lpAddress] = _lpOwned[_lpAddress].add(lpFee); _mktOwned[_mktAddress] = _mktOwned[_mktAddress].add(mktFee); _burnerOwned[_burnerAddress] = _mktOwned[_burnerAddress].add(burnFee); } function _getAddValues(uint256 tAmount) private view returns (uint256, uint256, uint256) { uint256 burnFee = 0; uint256 lpFee = 0; uint256 mktFee = 0; if (_msgSender() != owner()){ burnFee = tAmount.div(100).mul(2); lpFee = tAmount.div(100).mul(2); mktFee = tAmount.div(100).mul(2); } return (burnFee, lpFee, mktFee); } function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256) { (uint256 burnFee, uint256 lpFee, uint256 mktFee) = _getAddValues(tAmount); (uint256 tTransferAmount, uint256 tFee) = _getTValues(tAmount, burnFee, lpFee, mktFee); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, burnFee, lpFee, mktFee, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee); } function _getTValues(uint256 tAmount, uint256 burnFee, uint256 lpFee, uint256 mktFee) private view returns (uint256, uint256) { uint256 tFee = 0; if (_msgSender() != owner()){ tFee = tAmount.div(100).mul(4); } uint256 tTransferAmount = tAmount.sub(tFee.add(burnFee).add(lpFee).add(mktFee)); return (tTransferAmount, tFee); } function _getRValues(uint256 tAmount, uint256 tFee, uint256 burnFee, uint256 lpFee, uint256 mktFee, uint256 currentRate) private pure returns (uint256, uint256, uint256) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rBurnFee = burnFee.mul(currentRate); uint256 rLpFee = lpFee.mul(currentRate); uint256 rMktFee = mktFee.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee.add(rBurnFee).add(rLpFee).add(rMktFee)); return (rAmount, rTransferAmount, rFee); } function _getRate() private view returns(uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns(uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; for (uint256 i = 0; i < _excluded.length; i++) { if (_rOwned[_excluded[i]] > rSupply || _tOwned[_excluded[i]] > tSupply) return (_rTotal, _tTotal); rSupply = rSupply.sub(_rOwned[_excluded[i]]); tSupply = tSupply.sub(_tOwned[_excluded[i]]); } if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"lpAddress","type":"address"},{"internalType":"address","name":"mktAddress","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":"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":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newMktAddress","type":"address"}],"name":"changeMktAddress","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newLpAddress","type":"address"}],"name":"changelpAddress","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","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":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeAccount","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":[{"internalType":"uint256","name":"tAmount","type":"uint256"}],"name":"reflect","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferFee","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxPercent","type":"uint256"}],"name":"setMaxTxPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFees","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":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040526a6342fd08f00f6378000000600c55600c54600019816200002157fe5b0660001903600d556040518060400160405280600581526020017f4c696c6c7900000000000000000000000000000000000000000000000000000081525060129080519060200190620000769291906200038e565b506040518060400160405280600281526020017f4c7900000000000000000000000000000000000000000000000000000000000081525060139080519060200190620000c49291906200038e565b506009601460006101000a81548160ff021916908360ff16021790555069fe1c215e8f838e000000601555348015620000fc57600080fd5b506040516200441538038062004415833981810160405260408110156200012257600080fd5b81019080805190602001909291908051906020019092919050505060006200014f6200038660201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350600d5460016000620002046200038660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620003176200038660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600c546040518082815260200191505060405180910390a3505062000434565b600033905090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620003d157805160ff191683800117855562000402565b8280016001018555821562000402579182015b8281111562000401578251825591602001919060010190620003e4565b5b50905062000411919062000415565b5090565b5b808211156200043057600081600090555060010162000416565b5090565b613fd180620004446000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c80637d1db4a5116100de578063a9059cbb11610097578063dd62ed3e11610071578063dd62ed3e1461079d578063f2cc0c1814610815578063f2fde38b14610859578063f84354f11461089d57610173565b8063a9059cbb146106b1578063cba0e99614610715578063d543dbeb1461076f57610173565b80637d1db4a5146104c4578063813380d7146104e25780638da5cb5b1461053c57806395d89b41146105705780639c826daa146105f3578063a457c2d71461064d57610173565b80632d838119116101305780632d8381191461034d578063313ce5671461038f57806339509351146103b05780634549b0391461041457806370a0823114610462578063715018a6146104ba57610173565b8063053ab1821461017857806306fdde03146101a6578063095ea7b31461022957806313114a9d1461028d57806318160ddd146102ab57806323b872dd146102c9575b600080fd5b6101a46004803603602081101561018e57600080fd5b81019080803590602001909291905050506108e1565b005b6101ae610a71565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101ee5780820151818401526020810190506101d3565b50505050905090810190601f16801561021b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102756004803603604081101561023f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b13565b60405180821515815260200191505060405180910390f35b610295610b31565b6040518082815260200191505060405180910390f35b6102b3610b3b565b6040518082815260200191505060405180910390f35b610335600480360360608110156102df57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b45565b60405180821515815260200191505060405180910390f35b6103796004803603602081101561036357600080fd5b8101908080359060200190929190505050610c1e565b6040518082815260200191505060405180910390f35b610397610ca2565b604051808260ff16815260200191505060405180910390f35b6103fc600480360360408110156103c657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610cb9565b60405180821515815260200191505060405180910390f35b61044c6004803603604081101561042a57600080fd5b8101908080359060200190929190803515159060200190929190505050610d6c565b6040518082815260200191505060405180910390f35b6104a46004803603602081101561047857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e21565b6040518082815260200191505060405180910390f35b6104c26110e3565b005b6104cc611269565b6040518082815260200191505060405180910390f35b610524600480360360208110156104f857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061126f565b60405180821515815260200191505060405180910390f35b610544611383565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105786113ac565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105b857808201518184015260208101905061059d565b50505050905090810190601f1680156105e55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6106356004803603602081101561060957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061144e565b60405180821515815260200191505060405180910390f35b6106996004803603604081101561066357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611562565b60405180821515815260200191505060405180910390f35b6106fd600480360360408110156106c757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061162f565b60405180821515815260200191505060405180910390f35b6107576004803603602081101561072b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061164d565b60405180821515815260200191505060405180910390f35b61079b6004803603602081101561078557600080fd5b81019080803590602001909291905050506116a3565b005b6107ff600480360360408110156107b357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061179c565b6040518082815260200191505060405180910390f35b6108576004803603602081101561082b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611823565b005b61089b6004803603602081101561086f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b3d565b005b6108df600480360360208110156108b357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d48565b005b60006108eb6120d2565b9050600760008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610990576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180613f4b602c913960400191505060405180910390fd5b600061099b836120da565b5050505090506109f381600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461214e90919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a4b81600d5461214e90919063ffffffff16565b600d81905550610a6683600e5461219890919063ffffffff16565b600e81905550505050565b606060128054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b095780601f10610ade57610100808354040283529160200191610b09565b820191906000526020600020905b815481529060010190602001808311610aec57829003601f168201915b5050505050905090565b6000610b27610b206120d2565b8484612220565b6001905092915050565b6000600e54905090565b6000600c54905090565b6000610b52848484612417565b610c1384610b5e6120d2565b610c0e85604051806060016040528060288152602001613eb160289139600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610bc46120d2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129479092919063ffffffff16565b612220565b600190509392505050565b6000600d54821115610c7b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180613df6602a913960400191505060405180910390fd5b6000610c85612a07565b9050610c9a8184612a3290919063ffffffff16565b915050919050565b6000601460009054906101000a900460ff16905090565b6000610d62610cc66120d2565b84610d5d8560066000610cd76120d2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461219890919063ffffffff16565b612220565b6001905092915050565b6000600c54831115610de6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f416d6f756e74206d757374206265206c657373207468616e20737570706c790081525060200191505060405180910390fd5b81610e05576000610df6846120da565b50505050905080915050610e1b565b6000610e10846120da565b505050915050809150505b92915050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610ebc57600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506110de565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f5957600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506110de565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ff657600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506110de565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561109357600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506110de565b6110db600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c1e565b90505b919050565b6110eb6120d2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60155481565b60006112796120d2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611339576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b81600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060138054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114445780601f1061141957610100808354040283529160200191611444565b820191906000526020600020905b81548152906001019060200180831161142757829003601f168201915b5050505050905090565b60006114586120d2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611518576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b81600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b600061162561156f6120d2565b8461162085604051806060016040528060258152602001613f7760259139600660006115996120d2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129479092919063ffffffff16565b612220565b6001905092915050565b600061164361163c6120d2565b8484612417565b6001905092915050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6116ab6120d2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461176b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b611793606461178583600c54612a7c90919063ffffffff16565b612a3290919063ffffffff16565b60158190555050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61182b6120d2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600760008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156119ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4163636f756e7420697320616c7265616479206578636c75646564000000000081525060200191505060405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611a7f57611a3b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c1e565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506008819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611b456120d2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c05576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611c8b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180613e206026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611d506120d2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611e10576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600760008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611ecf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4163636f756e7420697320616c7265616479206578636c75646564000000000081525060200191505060405180910390fd5b60005b6008805490508110156120ce578173ffffffffffffffffffffffffffffffffffffffff1660088281548110611f0357fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156120c157600860016008805490500381548110611f5f57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660088281548110611f9757fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600880548061208757fe5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905590556120ce565b8080600101915050611ed2565b5050565b600033905090565b6000806000806000806000806120ef89612b02565b9250925092506000806121048b868686612bdf565b915091506000612112612a07565b905060008060006121278f868b8b8b89612cad565b92509250925082828288889d509d509d509d509d5050505050505050505091939590929450565b600061219083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612947565b905092915050565b600080828401905083811015612216576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156122a6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180613f276024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561232c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180613e466022913960400191505060405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561249d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180613f026025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612523576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180613dd36023913960400191505060405180910390fd5b6000811161257c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180613ed96029913960400191505060405180910390fd5b612584611383565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156125f257506125c2611383565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561265357601554811115612652576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180613e686028913960400191505060405180910390fd5b5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156126f65750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561270b57612706838383612d8c565b612942565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156127ae5750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156127c3576127be838383613001565b612941565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156128675750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561287c57612877838383613276565b612940565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561291e5750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156129335761292e838383613456565b61293f565b61293e838383613276565b5b5b5b5b505050565b60008383111582906129f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156129b957808201518184015260208101905061299e565b50505050905090810190601f1680156129e65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000806000612a14613760565b91509150612a2b8183612a3290919063ffffffff16565b9250505090565b6000612a7483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506139f1565b905092915050565b600080831415612a8f5760009050612afc565b6000828402905082848281612aa057fe5b0414612af7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613e906021913960400191505060405180910390fd5b809150505b92915050565b60008060008060009050600080612b17611383565b73ffffffffffffffffffffffffffffffffffffffff16612b356120d2565b73ffffffffffffffffffffffffffffffffffffffff1614612bcc57612b776002612b6960648a612a3290919063ffffffff16565b612a7c90919063ffffffff16565b9250612ba06002612b9260648a612a3290919063ffffffff16565b612a7c90919063ffffffff16565b9150612bc96002612bbb60648a612a3290919063ffffffff16565b612a7c90919063ffffffff16565b90505b8282829550955095505050509193909250565b6000806000612bec611383565b73ffffffffffffffffffffffffffffffffffffffff16612c0a6120d2565b73ffffffffffffffffffffffffffffffffffffffff1614612c4f57612c4c6004612c3e60648a612a3290919063ffffffff16565b612a7c90919063ffffffff16565b90505b6000612c9a612c8b86612c7d89612c6f8c8861219890919063ffffffff16565b61219890919063ffffffff16565b61219890919063ffffffff16565b8961214e90919063ffffffff16565b9050808293509350505094509492505050565b600080600080612cc6858b612a7c90919063ffffffff16565b90506000612cdd868b612a7c90919063ffffffff16565b90506000612cf4878b612a7c90919063ffffffff16565b90506000612d0b888b612a7c90919063ffffffff16565b90506000612d22898b612a7c90919063ffffffff16565b90506000612d6f612d6083612d5286612d44898b61219890919063ffffffff16565b61219890919063ffffffff16565b61219890919063ffffffff16565b8761214e90919063ffffffff16565b905085818698509850985050505050505096509650969350505050565b6000806000806000612d9d866120da565b945094509450945094506000806000612db589612b02565b925092509250612e0d89600260008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461214e90919063ffffffff16565b600260008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ea288600160008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461214e90919063ffffffff16565b600160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612f3787600160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461219890919063ffffffff16565b600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612f848685613ab7565b612f8f838383613af1565b8973ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040518082815260200191505060405180910390a35050505050505050505050565b6000806000806000613012866120da565b94509450945094509450600080600061302a89612b02565b92509250925061308288600160008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461214e90919063ffffffff16565b600160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061311785600260008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461219890919063ffffffff16565b600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506131ac87600160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461219890919063ffffffff16565b600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506131f98685613ab7565b613204838383613af1565b8973ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040518082815260200191505060405180910390a35050505050505050505050565b6000806000806000613287866120da565b94509450945094509450600080600061329f89612b02565b9250925092506132f788600160008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461214e90919063ffffffff16565b600160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061338c87600160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461219890919063ffffffff16565b600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506133d98685613ab7565b6133e4838383613af1565b8973ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040518082815260200191505060405180910390a35050505050505050505050565b6000806000806000613467866120da565b94509450945094509450600080600061347f89612b02565b9250925092506134d789600260008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461214e90919063ffffffff16565b600260008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061356c88600160008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461214e90919063ffffffff16565b600160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061360185600260008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461219890919063ffffffff16565b600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061369687600160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461219890919063ffffffff16565b600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506136e38685613ab7565b6136ee838383613af1565b8973ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040518082815260200191505060405180910390a35050505050505050505050565b6000806000600d5490506000600c54905060005b6008805490508110156139b45782600160006008848154811061379357fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054118061387a575081600260006008848154811061381257fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b1561389157600d54600c54945094505050506139ed565b61391a60016000600884815481106138a557fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548461214e90919063ffffffff16565b92506139a5600260006008848154811061393057fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548361214e90919063ffffffff16565b91508080600101915050613774565b506139cc600c54600d54612a3290919063ffffffff16565b8210156139e457600d54600c549350935050506139ed565b81819350935050505b9091565b60008083118290613a9d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613a62578082015181840152602081019050613a47565b50505050905090810190601f168015613a8f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581613aa957fe5b049050809150509392505050565b613acc82600d5461214e90919063ffffffff16565b600d81905550613ae781600e5461219890919063ffffffff16565b600e819055505050565b613b0683600f5461219890919063ffffffff16565b600f81905550613b218260105461219890919063ffffffff16565b601081905550613b3c8160115461219890919063ffffffff16565b601181905550613bb68260036000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461219890919063ffffffff16565b60036000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613c8f8160046000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461219890919063ffffffff16565b60046000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613d688360046000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461219890919063ffffffff16565b60056000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573735472616e7366657220616d6f756e74206578636565647320746865206d61785478416d6f756e742e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573734578636c75646564206164647265737365732063616e6e6f742063616c6c20746869732066756e6374696f6e45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122082ee774b4993e1fc538feffc70e8684607705fe2168c326315889b9a1c67274b64736f6c634300060c00330000000000000000000000004c5593c3672ab5de37f14ac6bfa7446e7f90f3da000000000000000000000000369b0c0b9cefa83d1e5996bc737dfd3f1e513afc
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101735760003560e01c80637d1db4a5116100de578063a9059cbb11610097578063dd62ed3e11610071578063dd62ed3e1461079d578063f2cc0c1814610815578063f2fde38b14610859578063f84354f11461089d57610173565b8063a9059cbb146106b1578063cba0e99614610715578063d543dbeb1461076f57610173565b80637d1db4a5146104c4578063813380d7146104e25780638da5cb5b1461053c57806395d89b41146105705780639c826daa146105f3578063a457c2d71461064d57610173565b80632d838119116101305780632d8381191461034d578063313ce5671461038f57806339509351146103b05780634549b0391461041457806370a0823114610462578063715018a6146104ba57610173565b8063053ab1821461017857806306fdde03146101a6578063095ea7b31461022957806313114a9d1461028d57806318160ddd146102ab57806323b872dd146102c9575b600080fd5b6101a46004803603602081101561018e57600080fd5b81019080803590602001909291905050506108e1565b005b6101ae610a71565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101ee5780820151818401526020810190506101d3565b50505050905090810190601f16801561021b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102756004803603604081101561023f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b13565b60405180821515815260200191505060405180910390f35b610295610b31565b6040518082815260200191505060405180910390f35b6102b3610b3b565b6040518082815260200191505060405180910390f35b610335600480360360608110156102df57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b45565b60405180821515815260200191505060405180910390f35b6103796004803603602081101561036357600080fd5b8101908080359060200190929190505050610c1e565b6040518082815260200191505060405180910390f35b610397610ca2565b604051808260ff16815260200191505060405180910390f35b6103fc600480360360408110156103c657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610cb9565b60405180821515815260200191505060405180910390f35b61044c6004803603604081101561042a57600080fd5b8101908080359060200190929190803515159060200190929190505050610d6c565b6040518082815260200191505060405180910390f35b6104a46004803603602081101561047857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e21565b6040518082815260200191505060405180910390f35b6104c26110e3565b005b6104cc611269565b6040518082815260200191505060405180910390f35b610524600480360360208110156104f857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061126f565b60405180821515815260200191505060405180910390f35b610544611383565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105786113ac565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105b857808201518184015260208101905061059d565b50505050905090810190601f1680156105e55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6106356004803603602081101561060957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061144e565b60405180821515815260200191505060405180910390f35b6106996004803603604081101561066357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611562565b60405180821515815260200191505060405180910390f35b6106fd600480360360408110156106c757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061162f565b60405180821515815260200191505060405180910390f35b6107576004803603602081101561072b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061164d565b60405180821515815260200191505060405180910390f35b61079b6004803603602081101561078557600080fd5b81019080803590602001909291905050506116a3565b005b6107ff600480360360408110156107b357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061179c565b6040518082815260200191505060405180910390f35b6108576004803603602081101561082b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611823565b005b61089b6004803603602081101561086f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b3d565b005b6108df600480360360208110156108b357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d48565b005b60006108eb6120d2565b9050600760008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610990576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180613f4b602c913960400191505060405180910390fd5b600061099b836120da565b5050505090506109f381600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461214e90919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a4b81600d5461214e90919063ffffffff16565b600d81905550610a6683600e5461219890919063ffffffff16565b600e81905550505050565b606060128054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b095780601f10610ade57610100808354040283529160200191610b09565b820191906000526020600020905b815481529060010190602001808311610aec57829003601f168201915b5050505050905090565b6000610b27610b206120d2565b8484612220565b6001905092915050565b6000600e54905090565b6000600c54905090565b6000610b52848484612417565b610c1384610b5e6120d2565b610c0e85604051806060016040528060288152602001613eb160289139600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610bc46120d2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129479092919063ffffffff16565b612220565b600190509392505050565b6000600d54821115610c7b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180613df6602a913960400191505060405180910390fd5b6000610c85612a07565b9050610c9a8184612a3290919063ffffffff16565b915050919050565b6000601460009054906101000a900460ff16905090565b6000610d62610cc66120d2565b84610d5d8560066000610cd76120d2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461219890919063ffffffff16565b612220565b6001905092915050565b6000600c54831115610de6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f416d6f756e74206d757374206265206c657373207468616e20737570706c790081525060200191505060405180910390fd5b81610e05576000610df6846120da565b50505050905080915050610e1b565b6000610e10846120da565b505050915050809150505b92915050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610ebc57600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506110de565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f5957600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506110de565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ff657600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506110de565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561109357600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506110de565b6110db600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c1e565b90505b919050565b6110eb6120d2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60155481565b60006112796120d2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611339576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b81600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060138054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114445780601f1061141957610100808354040283529160200191611444565b820191906000526020600020905b81548152906001019060200180831161142757829003601f168201915b5050505050905090565b60006114586120d2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611518576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b81600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b600061162561156f6120d2565b8461162085604051806060016040528060258152602001613f7760259139600660006115996120d2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129479092919063ffffffff16565b612220565b6001905092915050565b600061164361163c6120d2565b8484612417565b6001905092915050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6116ab6120d2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461176b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b611793606461178583600c54612a7c90919063ffffffff16565b612a3290919063ffffffff16565b60158190555050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61182b6120d2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600760008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156119ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4163636f756e7420697320616c7265616479206578636c75646564000000000081525060200191505060405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611a7f57611a3b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c1e565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506008819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611b456120d2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c05576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611c8b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180613e206026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611d506120d2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611e10576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600760008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611ecf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4163636f756e7420697320616c7265616479206578636c75646564000000000081525060200191505060405180910390fd5b60005b6008805490508110156120ce578173ffffffffffffffffffffffffffffffffffffffff1660088281548110611f0357fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156120c157600860016008805490500381548110611f5f57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660088281548110611f9757fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600880548061208757fe5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905590556120ce565b8080600101915050611ed2565b5050565b600033905090565b6000806000806000806000806120ef89612b02565b9250925092506000806121048b868686612bdf565b915091506000612112612a07565b905060008060006121278f868b8b8b89612cad565b92509250925082828288889d509d509d509d509d5050505050505050505091939590929450565b600061219083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612947565b905092915050565b600080828401905083811015612216576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156122a6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180613f276024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561232c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180613e466022913960400191505060405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561249d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180613f026025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612523576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180613dd36023913960400191505060405180910390fd5b6000811161257c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180613ed96029913960400191505060405180910390fd5b612584611383565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156125f257506125c2611383565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561265357601554811115612652576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180613e686028913960400191505060405180910390fd5b5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156126f65750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561270b57612706838383612d8c565b612942565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156127ae5750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156127c3576127be838383613001565b612941565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156128675750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561287c57612877838383613276565b612940565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561291e5750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156129335761292e838383613456565b61293f565b61293e838383613276565b5b5b5b5b505050565b60008383111582906129f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156129b957808201518184015260208101905061299e565b50505050905090810190601f1680156129e65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000806000612a14613760565b91509150612a2b8183612a3290919063ffffffff16565b9250505090565b6000612a7483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506139f1565b905092915050565b600080831415612a8f5760009050612afc565b6000828402905082848281612aa057fe5b0414612af7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613e906021913960400191505060405180910390fd5b809150505b92915050565b60008060008060009050600080612b17611383565b73ffffffffffffffffffffffffffffffffffffffff16612b356120d2565b73ffffffffffffffffffffffffffffffffffffffff1614612bcc57612b776002612b6960648a612a3290919063ffffffff16565b612a7c90919063ffffffff16565b9250612ba06002612b9260648a612a3290919063ffffffff16565b612a7c90919063ffffffff16565b9150612bc96002612bbb60648a612a3290919063ffffffff16565b612a7c90919063ffffffff16565b90505b8282829550955095505050509193909250565b6000806000612bec611383565b73ffffffffffffffffffffffffffffffffffffffff16612c0a6120d2565b73ffffffffffffffffffffffffffffffffffffffff1614612c4f57612c4c6004612c3e60648a612a3290919063ffffffff16565b612a7c90919063ffffffff16565b90505b6000612c9a612c8b86612c7d89612c6f8c8861219890919063ffffffff16565b61219890919063ffffffff16565b61219890919063ffffffff16565b8961214e90919063ffffffff16565b9050808293509350505094509492505050565b600080600080612cc6858b612a7c90919063ffffffff16565b90506000612cdd868b612a7c90919063ffffffff16565b90506000612cf4878b612a7c90919063ffffffff16565b90506000612d0b888b612a7c90919063ffffffff16565b90506000612d22898b612a7c90919063ffffffff16565b90506000612d6f612d6083612d5286612d44898b61219890919063ffffffff16565b61219890919063ffffffff16565b61219890919063ffffffff16565b8761214e90919063ffffffff16565b905085818698509850985050505050505096509650969350505050565b6000806000806000612d9d866120da565b945094509450945094506000806000612db589612b02565b925092509250612e0d89600260008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461214e90919063ffffffff16565b600260008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ea288600160008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461214e90919063ffffffff16565b600160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612f3787600160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461219890919063ffffffff16565b600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612f848685613ab7565b612f8f838383613af1565b8973ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040518082815260200191505060405180910390a35050505050505050505050565b6000806000806000613012866120da565b94509450945094509450600080600061302a89612b02565b92509250925061308288600160008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461214e90919063ffffffff16565b600160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061311785600260008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461219890919063ffffffff16565b600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506131ac87600160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461219890919063ffffffff16565b600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506131f98685613ab7565b613204838383613af1565b8973ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040518082815260200191505060405180910390a35050505050505050505050565b6000806000806000613287866120da565b94509450945094509450600080600061329f89612b02565b9250925092506132f788600160008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461214e90919063ffffffff16565b600160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061338c87600160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461219890919063ffffffff16565b600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506133d98685613ab7565b6133e4838383613af1565b8973ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040518082815260200191505060405180910390a35050505050505050505050565b6000806000806000613467866120da565b94509450945094509450600080600061347f89612b02565b9250925092506134d789600260008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461214e90919063ffffffff16565b600260008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061356c88600160008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461214e90919063ffffffff16565b600160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061360185600260008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461219890919063ffffffff16565b600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061369687600160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461219890919063ffffffff16565b600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506136e38685613ab7565b6136ee838383613af1565b8973ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040518082815260200191505060405180910390a35050505050505050505050565b6000806000600d5490506000600c54905060005b6008805490508110156139b45782600160006008848154811061379357fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054118061387a575081600260006008848154811061381257fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b1561389157600d54600c54945094505050506139ed565b61391a60016000600884815481106138a557fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548461214e90919063ffffffff16565b92506139a5600260006008848154811061393057fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548361214e90919063ffffffff16565b91508080600101915050613774565b506139cc600c54600d54612a3290919063ffffffff16565b8210156139e457600d54600c549350935050506139ed565b81819350935050505b9091565b60008083118290613a9d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613a62578082015181840152602081019050613a47565b50505050905090810190601f168015613a8f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581613aa957fe5b049050809150509392505050565b613acc82600d5461214e90919063ffffffff16565b600d81905550613ae781600e5461219890919063ffffffff16565b600e819055505050565b613b0683600f5461219890919063ffffffff16565b600f81905550613b218260105461219890919063ffffffff16565b601081905550613b3c8160115461219890919063ffffffff16565b601181905550613bb68260036000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461219890919063ffffffff16565b60036000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613c8f8160046000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461219890919063ffffffff16565b60046000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613d688360046000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461219890919063ffffffff16565b60056000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573735472616e7366657220616d6f756e74206578636565647320746865206d61785478416d6f756e742e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573734578636c75646564206164647265737365732063616e6e6f742063616c6c20746869732066756e6374696f6e45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122082ee774b4993e1fc538feffc70e8684607705fe2168c326315889b9a1c67274b64736f6c634300060c0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000004c5593c3672ab5de37f14ac6bfa7446e7f90f3da000000000000000000000000369b0c0b9cefa83d1e5996bc737dfd3f1e513afc
-----Decoded View---------------
Arg [0] : lpAddress (address): 0x4C5593C3672Ab5De37f14aC6BfA7446E7F90F3Da
Arg [1] : mktAddress (address): 0x369B0c0B9ceFA83D1e5996Bc737Dfd3F1E513AfC
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000004c5593c3672ab5de37f14ac6bfa7446e7f90f3da
Arg [1] : 000000000000000000000000369b0c0b9cefa83d1e5996bc737dfd3f1e513afc
Deployed Bytecode Sourcemap
16132:13911:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20634:376;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;17712:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18914:161;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;20025:87;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17989:95;;;:::i;:::-;;;;;;;;;;;;;;;;;;;19083:313;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;21460:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17898:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;19404:218;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;21018:434;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;18092:488;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15574:148;;;:::i;:::-;;17333:56;;;:::i;:::-;;;;;;;;;;;;;;;;;;;20466:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;14932:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;17803:87;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20298:156;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;19630:269;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;18588:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;19907:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;20124:162;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;18763:143;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;21721:332;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;15877:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;22061:478;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;20634:376;20686:14;20703:12;:10;:12::i;:::-;20686:29;;20735:11;:19;20747:6;20735:19;;;;;;;;;;;;;;;;;;;;;;;;;20734:20;20726:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20815:15;20838:19;20849:7;20838:10;:19::i;:::-;20814:43;;;;;;20886:28;20906:7;20886;:15;20894:6;20886:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;20868:7;:15;20876:6;20868:15;;;;;;;;;;;;;;;:46;;;;20935:20;20947:7;20935;;:11;;:20;;;;:::i;:::-;20925:7;:30;;;;20979:23;20994:7;20979:10;;:14;;:23;;;;:::i;:::-;20966:10;:36;;;;20634:376;;;:::o;17712:83::-;17749:13;17782:5;17775:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17712:83;:::o;18914:161::-;18989:4;19006:39;19015:12;:10;:12::i;:::-;19029:7;19038:6;19006:8;:39::i;:::-;19063:4;19056:11;;18914:161;;;;:::o;20025:87::-;20067:7;20094:10;;20087:17;;20025:87;:::o;17989:95::-;18042:7;18069;;18062:14;;17989:95;:::o;19083:313::-;19181:4;19198:36;19208:6;19216:9;19227:6;19198:9;:36::i;:::-;19245:121;19254:6;19262:12;:10;:12::i;:::-;19276:89;19314:6;19276:89;;;;;;;;;;;;;;;;;:11;:19;19288:6;19276:19;;;;;;;;;;;;;;;:33;19296:12;:10;:12::i;:::-;19276:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;19245:8;:121::i;:::-;19384:4;19377:11;;19083:313;;;;;:::o;21460:253::-;21526:7;21565;;21554;:18;;21546:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21630:19;21653:10;:8;:10::i;:::-;21630:33;;21681:24;21693:11;21681:7;:11;;:24;;;;:::i;:::-;21674:31;;;21460:253;;;:::o;17898:83::-;17939:5;17964:9;;;;;;;;;;;17957:16;;17898:83;:::o;19404:218::-;19492:4;19509:83;19518:12;:10;:12::i;:::-;19532:7;19541:50;19580:10;19541:11;:25;19553:12;:10;:12::i;:::-;19541:25;;;;;;;;;;;;;;;:34;19567:7;19541:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;19509:8;:83::i;:::-;19610:4;19603:11;;19404:218;;;;:::o;21018:434::-;21108:7;21147;;21136;:18;;21128:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21206:17;21201:244;;21241:15;21264:19;21275:7;21264:10;:19::i;:::-;21240:43;;;;;;21305:7;21298:14;;;;;21201:244;21347:23;21377:19;21388:7;21377:10;:19::i;:::-;21345:51;;;;;;21418:15;21411:22;;;21018:434;;;;;:::o;18092:488::-;18158:7;18182:11;:20;18194:7;18182:20;;;;;;;;;;;;;;;;;;;;;;;;;18178:338;;;18226:7;:16;18234:7;18226:16;;;;;;;;;;;;;;;;18219:23;;;;18178:338;18275:10;;;;;;;;;;;18264:21;;:7;:21;;;18260:256;;;18309:8;:17;18318:7;18309:17;;;;;;;;;;;;;;;;18302:24;;;;18260:256;18359:11;;;;;;;;;;;18348:22;;:7;:22;;;18344:172;;;18394:9;:18;18404:7;18394:18;;;;;;;;;;;;;;;;18387:25;;;;18344:172;18445:14;;;;;;;;;;;18434:25;;:7;:25;;;18430:86;;;18483:12;:21;18496:7;18483:21;;;;;;;;;;;;;;;;18476:28;;;;18430:86;18535:37;18555:7;:16;18563:7;18555:16;;;;;;;;;;;;;;;;18535:19;:37::i;:::-;18528:44;;18092:488;;;;:::o;15574:148::-;15154:12;:10;:12::i;:::-;15144:22;;:6;;;;;;;;;;:22;;;15136:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15681:1:::1;15644:40;;15665:6;::::0;::::1;;;;;;;;15644:40;;;;;;;;;;;;15712:1;15695:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;15574:148::o:0;17333:56::-;;;;:::o;20466:160::-;20544:12;15154;:10;:12::i;:::-;15144:22;;:6;;;;;;;;;;:22;;;15136:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20583:13:::1;20569:11;;:27;;;;;;;;;;;;;;;;;;20614:4;20607:11;;20466:160:::0;;;:::o;14932:79::-;14970:7;14997:6;;;;;;;;;;;14990:13;;14932:79;:::o;17803:87::-;17842:13;17875:7;17868:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17803:87;:::o;20298:156::-;20374:12;15154;:10;:12::i;:::-;15144:22;;:6;;;;;;;;;;:22;;;15136:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20412:12:::1;20399:10;;:25;;;;;;;;;;;;;;;;;;20442:4;20435:11;;20298:156:::0;;;:::o;19630:269::-;19723:4;19740:129;19749:12;:10;:12::i;:::-;19763:7;19772:96;19811:15;19772:96;;;;;;;;;;;;;;;;;:11;:25;19784:12;:10;:12::i;:::-;19772:25;;;;;;;;;;;;;;;:34;19798:7;19772:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;19740:8;:129::i;:::-;19887:4;19880:11;;19630:269;;;;:::o;18588:167::-;18666:4;18683:42;18693:12;:10;:12::i;:::-;18707:9;18718:6;18683:9;:42::i;:::-;18743:4;18736:11;;18588:167;;;;:::o;19907:110::-;19965:4;19989:11;:20;20001:7;19989:20;;;;;;;;;;;;;;;;;;;;;;;;;19982:27;;19907:110;;;:::o;20124:162::-;15154:12;:10;:12::i;:::-;15144:22;;:6;;;;;;;;;;:22;;;15136:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20218:60:::1;20262:5;20218:25;20230:12;20218:7;;:11;;:25;;;;:::i;:::-;:29;;:60;;;;:::i;:::-;20203:12;:75;;;;20124:162:::0;:::o;18763:143::-;18844:7;18871:11;:18;18883:5;18871:18;;;;;;;;;;;;;;;:27;18890:7;18871:27;;;;;;;;;;;;;;;;18864:34;;18763:143;;;;:::o;21721:332::-;15154:12;:10;:12::i;:::-;15144:22;;:6;;;;;;;;;;:22;;;15136:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21803:11:::1;:20;21815:7;21803:20;;;;;;;;;;;;;;;;;;;;;;;;;21802:21;21794:61;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;21888:1;21869:7;:16;21877:7;21869:16;;;;;;;;;;;;;;;;:20;21866:108;;;21925:37;21945:7;:16;21953:7;21945:16;;;;;;;;;;;;;;;;21925:19;:37::i;:::-;21906:7;:16;21914:7;21906:16;;;;;;;;;;;;;;;:56;;;;21866:108;22007:4;21984:11;:20;21996:7;21984:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;22022:9;22037:7;22022:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21721:332:::0;:::o;15877:244::-;15154:12;:10;:12::i;:::-;15144:22;;:6;;;;;;;;;;:22;;;15136:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15986:1:::1;15966:22;;:8;:22;;;;15958:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16076:8;16047:38;;16068:6;::::0;::::1;;;;;;;;16047:38;;;;;;;;;;;;16105:8;16096:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;15877:244:::0;:::o;22061:478::-;15154:12;:10;:12::i;:::-;15144:22;;:6;;;;;;;;;;:22;;;15136:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22142:11:::1;:20;22154:7;22142:20;;;;;;;;;;;;;;;;;;;;;;;;;22134:60;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;22210:9;22205:327;22229:9;:16;;;;22225:1;:20;22205:327;;;22287:7;22271:23;;:9;22281:1;22271:12;;;;;;;;;;;;;;;;;;;;;;;;;:23;;;22267:254;;;22330:9;22359:1;22340:9;:16;;;;:20;22330:31;;;;;;;;;;;;;;;;;;;;;;;;;22315:9;22325:1;22315:12;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;22399:1;22380:7;:16;22388:7;22380:16;;;;;;;;;;;;;;;:20;;;;22442:5;22419:11;:20;22431:7;22419:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;22466:9;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22500:5;;22267:254;22247:3;;;;;;;22205:327;;;;22061:478:::0;:::o;627:106::-;680:15;715:10;708:17;;627:106;:::o;27776:544::-;27835:7;27844;27853;27862;27871;27892:15;27909:13;27924:14;27942:22;27956:7;27942:13;:22::i;:::-;27891:73;;;;;;27976:23;28001:12;28017:45;28029:7;28039;28048:5;28055:6;28017:11;:45::i;:::-;27975:87;;;;28073:19;28096:10;:8;:10::i;:::-;28073:33;;28118:15;28135:23;28160:12;28176:63;28188:7;28197:4;28203:7;28212:5;28219:6;28227:11;28176;:63::i;:::-;28117:122;;;;;;28258:7;28267:15;28284:4;28290:15;28307:4;28250:62;;;;;;;;;;;;;;;;;;;27776:544;;;;;;;:::o;4347:136::-;4405:7;4432:43;4436:1;4439;4432:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;4425:50;;4347:136;;;;:::o;3883:181::-;3941:7;3961:9;3977:1;3973;:5;3961:17;;4002:1;3997;:6;;3989:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4055:1;4048:8;;;3883:181;;;;:::o;22547:337::-;22657:1;22640:19;;:5;:19;;;;22632:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22738:1;22719:21;;:7;:21;;;;22711:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22822:6;22792:11;:18;22804:5;22792:18;;;;;;;;;;;;;;;:27;22811:7;22792:27;;;;;;;;;;;;;;;:36;;;;22860:7;22844:32;;22853:5;22844:32;;;22869:6;22844:32;;;;;;;;;;;;;;;;;;22547:337;;;:::o;22892:1088::-;23007:1;22989:20;;:6;:20;;;;22981:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23091:1;23070:23;;:9;:23;;;;23062:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23161:1;23152:6;:10;23144:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23232:7;:5;:7::i;:::-;23222:17;;:6;:17;;;;:41;;;;;23256:7;:5;:7::i;:::-;23243:20;;:9;:20;;;;23222:41;23219:132;;;23294:12;;23284:6;:22;;23276:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23219:132;23380:11;:19;23392:6;23380:19;;;;;;;;;;;;;;;;;;;;;;;;;:46;;;;;23404:11;:22;23416:9;23404:22;;;;;;;;;;;;;;;;;;;;;;;;;23403:23;23380:46;23376:597;;;23443:48;23465:6;23473:9;23484:6;23443:21;:48::i;:::-;23376:597;;;23514:11;:19;23526:6;23514:19;;;;;;;;;;;;;;;;;;;;;;;;;23513:20;:46;;;;;23537:11;:22;23549:9;23537:22;;;;;;;;;;;;;;;;;;;;;;;;;23513:46;23509:464;;;23576:46;23596:6;23604:9;23615:6;23576:19;:46::i;:::-;23509:464;;;23645:11;:19;23657:6;23645:19;;;;;;;;;;;;;;;;;;;;;;;;;23644:20;:47;;;;;23669:11;:22;23681:9;23669:22;;;;;;;;;;;;;;;;;;;;;;;;;23668:23;23644:47;23640:333;;;23708:44;23726:6;23734:9;23745:6;23708:17;:44::i;:::-;23640:333;;;23774:11;:19;23786:6;23774:19;;;;;;;;;;;;;;;;;;;;;;;;;:45;;;;;23797:11;:22;23809:9;23797:22;;;;;;;;;;;;;;;;;;;;;;;;;23774:45;23770:203;;;23836:48;23858:6;23866:9;23877:6;23836:21;:48::i;:::-;23770:203;;;23917:44;23935:6;23943:9;23954:6;23917:17;:44::i;:::-;23770:203;23640:333;23509:464;23376:597;22892:1088;;;:::o;4786:192::-;4872:7;4905:1;4900;:6;;4908:12;4892:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4932:9;4948:1;4944;:5;4932:17;;4969:1;4962:8;;;4786:192;;;;;:::o;29308:163::-;29349:7;29370:15;29387;29406:19;:17;:19::i;:::-;29369:56;;;;29443:20;29455:7;29443;:11;;:20;;;;:::i;:::-;29436:27;;;;29308:163;:::o;6184:132::-;6242:7;6269:39;6273:1;6276;6269:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;6262:46;;6184:132;;;;:::o;5237:471::-;5295:7;5545:1;5540;:6;5536:47;;;5570:1;5563:8;;;;5536:47;5595:9;5611:1;5607;:5;5595:17;;5640:1;5635;5631;:5;;;;;;:10;5623:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5699:1;5692:8;;;5237:471;;;;;:::o;27341:427::-;27403:7;27412;27421;27441:15;27459:1;27441:19;;27471:13;27499:14;27548:7;:5;:7::i;:::-;27532:23;;:12;:10;:12::i;:::-;:23;;;27528:190;;27590:23;27611:1;27590:16;27602:3;27590:7;:11;;:16;;;;:::i;:::-;:20;;:23;;;;:::i;:::-;27580:33;;27636:23;27657:1;27636:16;27648:3;27636:7;:11;;:16;;;;:::i;:::-;:20;;:23;;;;:::i;:::-;27628:31;;27683:23;27704:1;27683:16;27695:3;27683:7;:11;;:16;;;;:::i;:::-;:20;;:23;;;;:::i;:::-;27674:32;;27528:190;27737:7;27746:5;27753:6;27729:31;;;;;;;;;27341:427;;;;;:::o;28328:387::-;28436:7;28445;28465:12;28512:7;:5;:7::i;:::-;28496:23;;:12;:10;:12::i;:::-;:23;;;28492:85;;28542:23;28563:1;28542:16;28554:3;28542:7;:11;;:16;;;;:::i;:::-;:20;;:23;;;;:::i;:::-;28535:30;;28492:85;28587:23;28613:53;28625:40;28658:6;28625:28;28647:5;28625:17;28634:7;28625:4;:8;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;:32;;:40;;;;:::i;:::-;28613:7;:11;;:53;;;;:::i;:::-;28587:79;;28685:15;28702:4;28677:30;;;;;;28328:387;;;;;;;:::o;28723:577::-;28866:7;28875;28884;28904:15;28922:24;28934:11;28922:7;:11;;:24;;;;:::i;:::-;28904:42;;28957:12;28972:21;28981:11;28972:4;:8;;:21;;;;:::i;:::-;28957:36;;29004:16;29023:24;29035:11;29023:7;:11;;:24;;;;:::i;:::-;29004:43;;29058:14;29075:22;29085:11;29075:5;:9;;:22;;;;:::i;:::-;29058:39;;29108:15;29126:23;29137:11;29126:6;:10;;:23;;;;:::i;:::-;29108:41;;29160:23;29186:56;29198:43;29233:7;29198:30;29221:6;29198:18;29207:8;29198:4;:8;;:18;;;;:::i;:::-;:22;;:30;;;;:::i;:::-;:34;;:43;;;;:::i;:::-;29186:7;:11;;:56;;;;:::i;:::-;29160:82;;29261:7;29270:15;29287:4;29253:39;;;;;;;;;;;;28723:577;;;;;;;;;;:::o;25291:662::-;25394:15;25411:23;25436:12;25450:23;25475:12;25491:19;25502:7;25491:10;:19::i;:::-;25393:117;;;;;;;;;;25522:15;25539:13;25554:14;25572:22;25586:7;25572:13;:22::i;:::-;25521:73;;;;;;25633:28;25653:7;25633;:15;25641:6;25633:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;25615:7;:15;25623:6;25615:15;;;;;;;;;;;;;;;:46;;;;25690:28;25710:7;25690;:15;25698:6;25690:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;25672:7;:15;25680:6;25672:15;;;;;;;;;;;;;;;:46;;;;25750:39;25773:15;25750:7;:18;25758:9;25750:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;25729:7;:18;25737:9;25729:18;;;;;;;;;;;;;;;:60;;;;25803:23;25815:4;25821;25803:11;:23::i;:::-;25837:38;25852:7;25861:5;25868:6;25837:14;:38::i;:::-;25918:9;25901:44;;25910:6;25901:44;;;25929:15;25901:44;;;;;;;;;;;;;;;;;;25291:662;;;;;;;;;;;:::o;24601:682::-;24702:15;24719:23;24744:12;24758:23;24783:12;24799:19;24810:7;24799:10;:19::i;:::-;24701:117;;;;;;;;;;24830:15;24847:13;24862:14;24880:22;24894:7;24880:13;:22::i;:::-;24829:73;;;;;;24941:28;24961:7;24941;:15;24949:6;24941:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;24923:7;:15;24931:6;24923:15;;;;;;;;;;;;;;;:46;;;;25001:39;25024:15;25001:7;:18;25009:9;25001:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;24980:7;:18;24988:9;24980:18;;;;;;;;;;;;;;;:60;;;;25072:39;25095:15;25072:7;:18;25080:9;25072:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;25051:7;:18;25059:9;25051:18;;;;;;;;;;;;;;;:60;;;;25133:23;25145:4;25151;25133:11;:23::i;:::-;25167:38;25182:7;25191:5;25198:6;25167:14;:38::i;:::-;25248:9;25231:44;;25240:6;25231:44;;;25259:15;25231:44;;;;;;;;;;;;;;;;;;24601:682;;;;;;;;;;;:::o;23988:605::-;24087:15;24104:23;24129:12;24143:23;24168:12;24184:19;24195:7;24184:10;:19::i;:::-;24086:117;;;;;;;;;;24215:15;24232:13;24247:14;24265:22;24279:7;24265:13;:22::i;:::-;24214:73;;;;;;24326:28;24346:7;24326;:15;24334:6;24326:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;24308:7;:15;24316:6;24308:15;;;;;;;;;;;;;;;:46;;;;24386:39;24409:15;24386:7;:18;24394:9;24386:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;24365:7;:18;24373:9;24365:18;;;;;;;;;;;;;;;:60;;;;24443:23;24455:4;24461;24443:11;:23::i;:::-;24477:38;24492:7;24501:5;24508:6;24477:14;:38::i;:::-;24558:9;24541:44;;24550:6;24541:44;;;24569:15;24541:44;;;;;;;;;;;;;;;;;;23988:605;;;;;;;;;;;:::o;25961:738::-;26064:15;26081:23;26106:12;26120:23;26145:12;26161:19;26172:7;26161:10;:19::i;:::-;26063:117;;;;;;;;;;26192:15;26209:13;26224:14;26242:22;26256:7;26242:13;:22::i;:::-;26191:73;;;;;;26303:28;26323:7;26303;:15;26311:6;26303:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;26285:7;:15;26293:6;26285:15;;;;;;;;;;;;;;;:46;;;;26360:28;26380:7;26360;:15;26368:6;26360:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;26342:7;:15;26350:6;26342:15;;;;;;;;;;;;;;;:46;;;;26420:39;26443:15;26420:7;:18;26428:9;26420:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;26399:7;:18;26407:9;26399:18;;;;;;;;;;;;;;;:60;;;;26491:39;26514:15;26491:7;:18;26499:9;26491:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;26470:7;:18;26478:9;26470:18;;;;;;;;;;;;;;;:60;;;;26549:23;26561:4;26567;26549:11;:23::i;:::-;26583:38;26598:7;26607:5;26614:6;26583:14;:38::i;:::-;26664:9;26647:44;;26656:6;26647:44;;;26675:15;26647:44;;;;;;;;;;;;;;;;;;25961:738;;;;;;;;;;;:::o;29479:561::-;29529:7;29538;29558:15;29576:7;;29558:25;;29594:15;29612:7;;29594:25;;29641:9;29636:289;29660:9;:16;;;;29656:1;:20;29636:289;;;29726:7;29702;:21;29710:9;29720:1;29710:12;;;;;;;;;;;;;;;;;;;;;;;;;29702:21;;;;;;;;;;;;;;;;:31;:66;;;;29761:7;29737;:21;29745:9;29755:1;29745:12;;;;;;;;;;;;;;;;;;;;;;;;;29737:21;;;;;;;;;;;;;;;;:31;29702:66;29698:97;;;29778:7;;29787;;29770:25;;;;;;;;;29698:97;29820:34;29832:7;:21;29840:9;29850:1;29840:12;;;;;;;;;;;;;;;;;;;;;;;;;29832:21;;;;;;;;;;;;;;;;29820:7;:11;;:34;;;;:::i;:::-;29810:44;;29879:34;29891:7;:21;29899:9;29909:1;29899:12;;;;;;;;;;;;;;;;;;;;;;;;;29891:21;;;;;;;;;;;;;;;;29879:7;:11;;:34;;;;:::i;:::-;29869:44;;29678:3;;;;;;;29636:289;;;;29949:20;29961:7;;29949;;:11;;:20;;;;:::i;:::-;29939:7;:30;29935:61;;;29979:7;;29988;;29971:25;;;;;;;;29935:61;30015:7;30024;30007:25;;;;;;29479:561;;;:::o;6812:278::-;6898:7;6930:1;6926;:5;6933:12;6918:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6957:9;6973:1;6969;:5;;;;;;6957:17;;7081:1;7074:8;;;6812:278;;;;;:::o;26707:147::-;26785:17;26797:4;26785:7;;:11;;:17;;;;:::i;:::-;26775:7;:27;;;;26826:20;26841:4;26826:10;;:14;;:20;;;;:::i;:::-;26813:10;:33;;;;26707:147;;:::o;26866:463::-;26973:26;26991:7;26973:13;;:17;;:26;;;;:::i;:::-;26957:13;:42;;;;27024:22;27040:5;27024:11;;:15;;:22;;;;:::i;:::-;27010:11;:36;;;;27072:24;27089:6;27072:12;;:16;;:24;;;;:::i;:::-;27057:12;:39;;;;27140:31;27165:5;27140:8;:20;27149:10;;;;;;;;;;;27140:20;;;;;;;;;;;;;;;;:24;;:31;;;;:::i;:::-;27117:8;:20;27126:10;;;;;;;;;;;27117:20;;;;;;;;;;;;;;;:54;;;;27207:34;27234:6;27207:9;:22;27217:11;;;;;;;;;;;27207:22;;;;;;;;;;;;;;;;:26;;:34;;;;:::i;:::-;27182:9;:22;27192:11;;;;;;;;;;;27182:22;;;;;;;;;;;;;;;:59;;;;27283:38;27313:7;27283:9;:25;27293:14;;;;;;;;;;;27283:25;;;;;;;;;;;;;;;;:29;;:38;;;;:::i;:::-;27252:12;:28;27265:14;;;;;;;;;;;27252:28;;;;;;;;;;;;;;;:69;;;;26866:463;;;:::o
Swarm Source
ipfs://82ee774b4993e1fc538feffc70e8684607705fe2168c326315889b9a1c67274b
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.