Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 39 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Buy Tokens Nativ... | 18876551 | 367 days ago | IN | 0.065 ETH | 0.00310142 | ||||
Buy Tokens Nativ... | 18684347 | 394 days ago | IN | 0.044 ETH | 0.0029385 | ||||
Buy Tokens Nativ... | 18670247 | 396 days ago | IN | 0.125 ETH | 0.00308766 | ||||
Buy Tokens Nativ... | 18623919 | 403 days ago | IN | 0.18 ETH | 0.00276308 | ||||
Update Rate Pres... | 18466097 | 425 days ago | IN | 0 ETH | 0.00081642 | ||||
Buy Tokens Nativ... | 18380149 | 437 days ago | IN | 0.007 ETH | 0.00115188 | ||||
Buy Tokens Nativ... | 18376795 | 437 days ago | IN | 0.15 ETH | 0.00064414 | ||||
Update Rate Pres... | 18251065 | 455 days ago | IN | 0 ETH | 0.00029126 | ||||
Buy Tokens Nativ... | 18251038 | 455 days ago | IN | 0.14 ETH | 0.00141276 | ||||
Buy Tokens Nativ... | 18245344 | 456 days ago | IN | 0.07 ETH | 0.00092451 | ||||
Buy Tokens Nativ... | 18242947 | 456 days ago | IN | 0.18 ETH | 0.00183135 | ||||
Buy Tokens Nativ... | 18206060 | 461 days ago | IN | 0.161 ETH | 0.00070327 | ||||
Buy Tokens Nativ... | 18171001 | 466 days ago | IN | 0.053 ETH | 0.00509295 | ||||
Buy Tokens Nativ... | 18166395 | 467 days ago | IN | 0.13 ETH | 0.00078614 | ||||
Buy Tokens Nativ... | 18166286 | 467 days ago | IN | 0.0282 ETH | 0.00176305 | ||||
Buy Tokens Nativ... | 18036174 | 485 days ago | IN | 0.179 ETH | 0.0052027 | ||||
Buy Tokens Nativ... | 18018725 | 488 days ago | IN | 0.005 ETH | 0.00218866 | ||||
Buy Tokens Nativ... | 18018610 | 488 days ago | IN | 0.048 ETH | 0.00201971 | ||||
Buy Tokens Nativ... | 18003354 | 490 days ago | IN | 0.065 ETH | 0.00129924 | ||||
Buy Tokens Nativ... | 18003291 | 490 days ago | IN | 0.088 ETH | 0.00190465 | ||||
Buy Tokens Nativ... | 17969860 | 494 days ago | IN | 0.04 ETH | 0.00251832 | ||||
Buy Tokens Nativ... | 17950641 | 497 days ago | IN | 0.042 ETH | 0.00211989 | ||||
Buy Tokens Nativ... | 17907030 | 503 days ago | IN | 0.05923415 ETH | 0.0037647 | ||||
Transfer | 17887307 | 506 days ago | IN | 0 ETH | 0.00048521 | ||||
Transfer | 17883809 | 507 days ago | IN | 0 ETH | 0.00035092 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
18876551 | 367 days ago | 0.065 ETH | ||||
18684347 | 394 days ago | 0.044 ETH | ||||
18670247 | 396 days ago | 0.125 ETH | ||||
18623919 | 403 days ago | 0.18 ETH | ||||
18380149 | 437 days ago | 0.007 ETH | ||||
18376795 | 437 days ago | 0.15 ETH | ||||
18251038 | 455 days ago | 0.14 ETH | ||||
18245344 | 456 days ago | 0.07 ETH | ||||
18242947 | 456 days ago | 0.18 ETH | ||||
18206060 | 461 days ago | 0.161 ETH | ||||
18171001 | 466 days ago | 0.053 ETH | ||||
18166395 | 467 days ago | 0.13 ETH | ||||
18166286 | 467 days ago | 0.0282 ETH | ||||
18036174 | 485 days ago | 0.179 ETH | ||||
18018725 | 488 days ago | 0.005 ETH | ||||
18018610 | 488 days ago | 0.048 ETH | ||||
18003354 | 490 days ago | 0.065 ETH | ||||
18003291 | 490 days ago | 0.088 ETH | ||||
17969860 | 494 days ago | 0.04 ETH | ||||
17950641 | 497 days ago | 0.042 ETH | ||||
17907030 | 503 days ago | 0.05923415 ETH | ||||
17877861 | 507 days ago | 0.062 ETH | ||||
17877763 | 507 days ago | 0.0617 ETH | ||||
17842782 | 512 days ago | 0.0185 ETH | ||||
17837570 | 513 days ago | 0.01 ETH |
Loading...
Loading
Contract Name:
presale
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-08-04 */ // File: @chainlink/contracts/src/v0.6/interfaces/AggregatorV3Interface.sol // SPDX-License-Identifier: MIT pragma solidity ^0.6.0; interface AggregatorV3Interface { function decimals() external view returns ( uint8 ); function description() external view returns ( string memory ); function version() external view returns ( uint256 ); function getRoundData( uint80 _roundId ) external view returns ( uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound ); function latestRoundData() external view returns ( uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound ); } // File: github/OpenZeppelin/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol pragma solidity ^0.6.0; /** * @dev Contract module that helps prevent reentrant calls to a function. * * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier * available, which can be applied to functions to make sure there are no nested * (reentrant) calls to them. * * Note that because there is a single `nonReentrant` guard, functions marked as * `nonReentrant` may not call one another. This can be worked around by making * those functions `private`, and then adding `external` `nonReentrant` entry * points to them. * * TIP: If you would like to learn more about reentrancy and alternative ways * to protect against it, check out our blog post * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul]. */ abstract contract ReentrancyGuard { // Booleans are more expensive than uint256 or any type that takes up a full // word because each write operation emits an extra SLOAD to first read the // slot's contents, replace the bits taken up by the boolean, and then write // back. This is the compiler's defense against contract upgrades and // pointer aliasing, and it cannot be disabled. // The values being non-zero value makes deployment a bit more expensive, // but in exchange the refund on every call to nonReentrant will be lower in // amount. Since refunds are capped to a percentage of the total // transaction's gas, it is best to keep them low in cases like this one, to // increase the likelihood of the full refund coming into effect. uint256 private constant _NOT_ENTERED = 1; uint256 private constant _ENTERED = 2; uint256 private _status; constructor () public { _status = _NOT_ENTERED; } /** * @dev Prevents a contract from calling itself, directly or indirectly. * Calling a `nonReentrant` function from another `nonReentrant` * function is not supported. It is possible to prevent this from happening * by making the `nonReentrant` function external, and make it call a * `private` function that does the actual work. */ modifier nonReentrant() { // On the first call to nonReentrant, _notEntered will be true require(_status != _ENTERED, "ReentrancyGuard: reentrant call"); // Any calls to nonReentrant after this point will fail _status = _ENTERED; _; // By storing the original value once again, a refund is triggered (see // https://eips.ethereum.org/EIPS/eip-2200) _status = _NOT_ENTERED; } } // File: github/OpenZeppelin/openzeppelin-contracts/contracts/math/SafeMath.sol pragma solidity >=0.6.0 <0.8.0; /** * @dev Wrappers over Solidity's arithmetic operations with added overflow * checks. * * Arithmetic operations in Solidity wrap on overflow. This can easily result * in bugs, because programmers usually assume that an overflow raises an * error, which is the standard behavior in high level programming languages. * `SafeMath` restores this intuition by reverting the transaction when an * operation overflows. * * Using this library instead of the unchecked operations eliminates an entire * class of bugs, so it's recommended to use it always. */ 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; } } // File: github/OpenZeppelin/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol pragma solidity >=0.6.0 <0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ 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); } // File: contracts/ico-eth.sol pragma solidity ^0.6.12; interface IERC20_USDT { function transferFrom(address from, address to, uint value) external; function transfer(address to, uint256 value) external; } contract presale is ReentrancyGuard { using SafeMath for uint256; AggregatorV3Interface internal price_feed; //buyers struct buyer { uint256 bnb_sent; uint256 usdt_sent; uint256 tokens_purchased; address buyer_address; uint256 claimed_tokens; } IERC20 public token_contract; address public presale_owner; uint256 public total_investors; uint256 public total_bnb_received; uint256 public total_usdt_received; uint256 public total_tokens_sent; uint256 public tokens_for_presale_left; uint256 public tokens_for_presale; uint256 public ratePresale; //listing price in wei uint256 public ratePresaleStable; bool public presaleEnded; bool public claimOpened; mapping(address => buyer) public buyers; address public token_usdt; IERC20 public token_usd; address payable private payment_wallet = 0x30f8AF0Bc036A40E5AAaA3C6fADc6d924e6c0Cb4; constructor() public { price_feed = AggregatorV3Interface(0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419); token_usdt = 0xdAC17F958D2ee523a2206206994597C13D831ec7; token_usd = IERC20(0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48); tokens_for_presale = 2100000000000000000000000; tokens_for_presale_left = tokens_for_presale; ratePresale = 230000000000000000; ratePresaleStable = 230000000000; presale_owner = msg.sender; } receive() external payable {} //ETH or BNB function buyTokensNative() public payable nonReentrant { require(msg.value > 0, "Must send BNB"); uint ethUSD = get_feed_price(); uint256 usdtAmount = msg.value.mul(ethUSD); uint256 amount_receieved = msg.value; require(!presaleEnded, "Presale has ended"); uint256 tokens_purchased = usdtAmount * 10 ** 18; tokens_purchased = tokens_purchased.div(ratePresale); buyers[msg.sender].bnb_sent += amount_receieved; buyers[msg.sender].tokens_purchased += tokens_purchased; buyers[msg.sender].buyer_address = msg.sender; total_bnb_received += amount_receieved; tokens_for_presale_left -= tokens_purchased; total_investors++; if(tokens_for_presale_left <= 0) { presaleEnded = true; } payment_wallet.transfer(address(this).balance); emit boughtTokens(amount_receieved, tokens_purchased, total_bnb_received); } //USDT function buyTokensUSDT(uint256 usdtAmount) public payable nonReentrant { require(usdtAmount > 0, "Must send USDT"); require(!presaleEnded, "Presale has ended"); uint256 tokens_purchased = usdtAmount * 10 ** 6; tokens_purchased = tokens_purchased * 10 ** 18; tokens_purchased = tokens_purchased.div(ratePresaleStable); buyers[msg.sender].usdt_sent += usdtAmount * 10 ** 12; //convert to wei buyers[msg.sender].tokens_purchased += tokens_purchased; buyers[msg.sender].buyer_address = msg.sender; total_usdt_received += usdtAmount; tokens_for_presale_left -= tokens_purchased; total_investors++; if(tokens_for_presale_left <= 0) { presaleEnded = true; } IERC20_USDT(address(token_usdt)).transferFrom(msg.sender, payment_wallet, usdtAmount); emit boughtTokensUsdt(usdtAmount, tokens_purchased, total_usdt_received); } //either BUSD or USDC function buyTokensUSD(uint256 usdAmount) public payable nonReentrant { require(usdAmount > 0, "Must send USDC"); require(!presaleEnded, "Presale has ended"); uint256 tokens_purchased = usdAmount * 10 ** 6; tokens_purchased = tokens_purchased * 10 ** 18; tokens_purchased = tokens_purchased.div(ratePresaleStable); buyers[msg.sender].usdt_sent += usdAmount * 10 ** 12; //convert to wei buyers[msg.sender].tokens_purchased += tokens_purchased; buyers[msg.sender].buyer_address = msg.sender; total_usdt_received += usdAmount; tokens_for_presale_left -= tokens_purchased; total_investors++; if(tokens_for_presale_left <= 0) { presaleEnded = true; } token_usd.transferFrom(msg.sender, payment_wallet, usdAmount); emit boughtTokensUsd(usdAmount, tokens_purchased, total_usdt_received); } //claim tokens function claimTokens() external payable nonReentrant { //check not cancelled require(claimOpened, "Claiming not opened."); //check claimant is valid require(isAddressInvestor(msg.sender) > 0, "Address not invested."); //check if address has already claimed require(isAddressClaimed(msg.sender) == 0, "This address has already claimed."); //allow to claim tokens distributeTokens(isAddressInvestor(msg.sender)); } //is address invested function isAddressInvestor(address _wallet) public view returns (uint256) { return buyers[_wallet].tokens_purchased; } //is address claimed function isAddressClaimed(address _wallet) public view returns (uint256) { return buyers[_wallet].claimed_tokens; } function distributeTokens(uint256 tokens_to_send) internal { uint256 tokenBalance = token_contract.balanceOf(address(this)); require(tokens_to_send <= tokenBalance, "Not enough tokens to claim."); token_contract.transfer(msg.sender, tokens_to_send); total_tokens_sent += tokens_to_send; buyers[msg.sender].claimed_tokens = tokens_to_send; } function resetBuyer(address investor, uint256 amount) external owner { buyers[investor].tokens_purchased = amount; buyers[investor].claimed_tokens = 0; } function newRound(uint256 _tokens_for_round, uint256 _rate, uint256 _rateStable) external owner { tokens_for_presale = tokens_for_presale.add(_tokens_for_round); tokens_for_presale_left = _tokens_for_round; ratePresale = _rate; ratePresaleStable = _rateStable; } function fund(address payable _to) external owner { _to.transfer(address(this).balance); } function fundTokens(address _contract, address _to) external owner { uint256 tokenBalance = IERC20(_contract).balanceOf(address(this)); require(tokenBalance > 0, "No tokens available."); IERC20(_contract).transfer(_to, tokenBalance); } function fundUsdt(address _to) external owner { uint256 tokenBalance = IERC20(token_usdt).balanceOf(address(this)); require(tokenBalance > 0, "No tokens available."); IERC20_USDT(address(token_usdt)).transfer(_to, tokenBalance); } function updateClaimOpened(bool _opened) external owner { claimOpened = _opened; } function updateSaleEnded(bool _ended) external owner { presaleEnded = _ended; } function updateTokensForSale(uint256 _amount) external owner { tokens_for_presale = _amount; } function updateRatePresale(uint256 _rate, uint256 _rateStable) external owner { ratePresale = _rate; ratePresaleStable = _rateStable; } function updateTokensLeft(uint256 _amount) external owner { tokens_for_presale_left = _amount; } function updateTokenContract(address _contract) external owner { token_contract = IERC20(_contract); } function get_amount_of_tokens_native(uint256 amount) public view returns (uint256) { uint ethUSD = get_feed_price(); uint256 usdtAmount = amount.mul(ethUSD); uint256 tokens_purchased = usdtAmount * 10 ** 18; tokens_purchased = tokens_purchased.div(ratePresale); return tokens_purchased; } function get_amount_of_tokens_usd(uint256 amount) public view returns (uint256) { uint256 tokens_purchased = amount * 10 ** 6; tokens_purchased = tokens_purchased * 10 ** 18; tokens_purchased = tokens_purchased.div(ratePresaleStable); return tokens_purchased; } function updateFromNoneLaunchChainNative(address[] calldata _buyers, uint256[] calldata _buys, uint256[] calldata _tokens) external owner { require(_buyers.length == _buys.length, "Users does not match deposits"); require(_buyers.length == _tokens.length, "Users does not match tokens"); for(uint256 i = 0; i < _buyers.length; i++) { buyers[_buyers[i]].bnb_sent += _buys[i]; buyers[_buyers[i]].tokens_purchased += _tokens[i]; buyers[_buyers[i]].buyer_address = _buyers[i]; } } function updateFromNoneLaunchChainUsd(address[] calldata _buyers, uint256[] calldata _buys, uint256[] calldata _tokens) external owner { require(_buyers.length == _buys.length, "Users does not match deposits"); require(_buyers.length == _tokens.length, "Users does not match tokens"); for(uint256 i = 0; i < _buyers.length; i++) { buyers[_buyers[i]].usdt_sent += _buys[i]; buyers[_buyers[i]].tokens_purchased += _tokens[i]; buyers[_buyers[i]].buyer_address = _buyers[i]; } } function get_feed_price() public view returns (uint) { ( uint80 feed_roundID, int feed_price, uint feed_startedAt, uint feed_timeStamp, uint80 feed_answeredInRound ) = price_feed.latestRoundData(); uint adjustmentPrice = uint(feed_price) / 10 ** 8; return adjustmentPrice; } modifier owner { bool isOwner = false; if(msg.sender == presale_owner) { isOwner = true; } require(isOwner == true, "Requires owner"); _; } event boughtTokens(uint256 paid, uint256 tokens, uint256 raised); event boughtTokensUsdt(uint256 usdtAmount, uint256 tokens_purchased, uint256 total_usdt_received); event boughtTokensUsd(uint256 usdAmount, uint256 tokens_purchased, uint256 total_usdt_received); }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"paid","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"raised","type":"uint256"}],"name":"boughtTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"usdAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokens_purchased","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"total_usdt_received","type":"uint256"}],"name":"boughtTokensUsd","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"usdtAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokens_purchased","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"total_usdt_received","type":"uint256"}],"name":"boughtTokensUsdt","type":"event"},{"inputs":[],"name":"buyTokensNative","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"usdAmount","type":"uint256"}],"name":"buyTokensUSD","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"usdtAmount","type":"uint256"}],"name":"buyTokensUSDT","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"buyers","outputs":[{"internalType":"uint256","name":"bnb_sent","type":"uint256"},{"internalType":"uint256","name":"usdt_sent","type":"uint256"},{"internalType":"uint256","name":"tokens_purchased","type":"uint256"},{"internalType":"address","name":"buyer_address","type":"address"},{"internalType":"uint256","name":"claimed_tokens","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimOpened","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimTokens","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_to","type":"address"}],"name":"fund","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_contract","type":"address"},{"internalType":"address","name":"_to","type":"address"}],"name":"fundTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"}],"name":"fundUsdt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"get_amount_of_tokens_native","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"get_amount_of_tokens_usd","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"get_feed_price","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_wallet","type":"address"}],"name":"isAddressClaimed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_wallet","type":"address"}],"name":"isAddressInvestor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokens_for_round","type":"uint256"},{"internalType":"uint256","name":"_rate","type":"uint256"},{"internalType":"uint256","name":"_rateStable","type":"uint256"}],"name":"newRound","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"presaleEnded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"presale_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ratePresale","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ratePresaleStable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"investor","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"resetBuyer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"token_contract","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token_usd","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token_usdt","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokens_for_presale","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokens_for_presale_left","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"total_bnb_received","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"total_investors","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"total_tokens_sent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"total_usdt_received","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_opened","type":"bool"}],"name":"updateClaimOpened","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_buyers","type":"address[]"},{"internalType":"uint256[]","name":"_buys","type":"uint256[]"},{"internalType":"uint256[]","name":"_tokens","type":"uint256[]"}],"name":"updateFromNoneLaunchChainNative","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_buyers","type":"address[]"},{"internalType":"uint256[]","name":"_buys","type":"uint256[]"},{"internalType":"uint256[]","name":"_tokens","type":"uint256[]"}],"name":"updateFromNoneLaunchChainUsd","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_rate","type":"uint256"},{"internalType":"uint256","name":"_rateStable","type":"uint256"}],"name":"updateRatePresale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_ended","type":"bool"}],"name":"updateSaleEnded","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_contract","type":"address"}],"name":"updateTokenContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"updateTokensForSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"updateTokensLeft","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052601080546001600160a01b0319167330f8af0bc036a40e5aaaa3c6fadc6d924e6c0cb417905534801561003657600080fd5b506001600081905580546001600160a01b0319908116735f4ec3df9cbd43714fe2740f5e3616155c5b841917909155600e8054821673dac17f958d2ee523a2206206994597c13d831ec7179055600f8054821673a0b86991c6218b36c1d19d4a2e9eb0ce3606eb481790556a01bcb13a657b263880000060098190556008556703311fc80a570000600a5564358d117c00600b5560038054909116331790556122bb806100e46000396000f3fe60806040526004361061021e5760003560e01c8063728fbd0111610123578063989ced26116100ab578063d0aa1e8c1161006f578063d0aa1e8c146108cd578063e580b2b0146108e2578063e961f1b3146108f7578063f676e3b714610921578063fbe9c2621461095457610225565b8063989ced26146108255780639f3b2de414610858578063a25e3ed51461086d578063a6b165ee14610882578063c71bf91a1461089757610225565b806382d4d05d116100f257806382d4d05d1461072557806384d0e2d41461074f5780639535ca69146107645780639563dceb1461078d57806397a993aa146107be57610225565b8063728fbd01146106b857806373d87a3e146106eb57806377332eb4146106f357806379c15a621461071057610225565b80632b76364e116101a65780633d8c233e116101755780633d8c233e1461051d57806348c54b9d146105565780634c02e4d11461055e578063529f36c41461067957806355c91dd31461068e57610225565b80632b76364e146103a55780633098a8e8146103d8578063326157f6146103ed5780633505642d1461050857610225565b8063121fdf5c116101ed578063121fdf5c146102cd57806318c6611f146102f95780631ce902c41461031657806323024408146103425780632a84b2f91461037557610225565b80630217aeb21461022a5780630304859014610267578063065cda451461028e57806309991231146102a357610225565b3661022557005b600080fd5b34801561023657600080fd5b506102656004803603604081101561024d57600080fd5b506001600160a01b0381358116916020013516610969565b005b34801561027357600080fd5b5061027c610b1a565b60408051918252519081900360200190f35b34801561029a57600080fd5b5061027c610b20565b3480156102af57600080fd5b5061027c600480360360208110156102c657600080fd5b5035610b26565b3480156102d957600080fd5b50610265600480360360208110156102f057600080fd5b50351515610b4c565b6102656004803603602081101561030f57600080fd5b5035610bc9565b34801561032257600080fd5b506102656004803603602081101561033957600080fd5b50351515610df6565b34801561034e57600080fd5b506102656004803603602081101561036557600080fd5b50356001600160a01b0316610e6c565b34801561038157600080fd5b506102656004803603604081101561039857600080fd5b5080359060200135610f08565b3480156103b157600080fd5b5061027c600480360360208110156103c857600080fd5b50356001600160a01b0316610f76565b3480156103e457600080fd5b5061027c610f94565b3480156103f957600080fd5b506102656004803603606081101561041057600080fd5b810190602081018135600160201b81111561042a57600080fd5b82018360208201111561043c57600080fd5b803590602001918460208302840111600160201b8311171561045d57600080fd5b919390929091602081019035600160201b81111561047a57600080fd5b82018360208201111561048c57600080fd5b803590602001918460208302840111600160201b831117156104ad57600080fd5b919390929091602081019035600160201b8111156104ca57600080fd5b8201836020820111156104dc57600080fd5b803590602001918460208302840111600160201b831117156104fd57600080fd5b509092509050610f9a565b34801561051457600080fd5b5061027c6111ce565b34801561052957600080fd5b506102656004803603604081101561054057600080fd5b506001600160a01b0381351690602001356111d4565b610265611260565b34801561056a57600080fd5b506102656004803603606081101561058157600080fd5b810190602081018135600160201b81111561059b57600080fd5b8201836020820111156105ad57600080fd5b803590602001918460208302840111600160201b831117156105ce57600080fd5b919390929091602081019035600160201b8111156105eb57600080fd5b8201836020820111156105fd57600080fd5b803590602001918460208302840111600160201b8311171561061e57600080fd5b919390929091602081019035600160201b81111561063b57600080fd5b82018360208201111561064d57600080fd5b803590602001918460208302840111600160201b8311171561066e57600080fd5b5090925090506113b0565b34801561068557600080fd5b5061027c6115d7565b34801561069a57600080fd5b50610265600480360360208110156106b157600080fd5b503561166e565b3480156106c457600080fd5b50610265600480360360208110156106db57600080fd5b50356001600160a01b03166116d6565b61026561186c565b6102656004803603602081101561070957600080fd5b5035611a68565b34801561071c57600080fd5b5061027c611ca9565b34801561073157600080fd5b506102656004803603602081101561074857600080fd5b5035611caf565b34801561075b57600080fd5b5061027c611d17565b34801561077057600080fd5b50610779611d1d565b604080519115158252519081900360200190f35b34801561079957600080fd5b506107a2611d2b565b604080516001600160a01b039092168252519081900360200190f35b3480156107ca57600080fd5b506107f1600480360360208110156107e157600080fd5b50356001600160a01b0316611d3a565b604080519586526020860194909452848401929092526001600160a01b031660608401526080830152519081900360a00190f35b34801561083157600080fd5b506102656004803603602081101561084857600080fd5b50356001600160a01b0316611d72565b34801561086457600080fd5b506107a2611df7565b34801561087957600080fd5b5061027c611e06565b34801561088e57600080fd5b5061027c611e0c565b3480156108a357600080fd5b50610265600480360360608110156108ba57600080fd5b5080359060208101359060400135611e12565b3480156108d957600080fd5b506107a2611e93565b3480156108ee57600080fd5b50610779611ea2565b34801561090357600080fd5b5061027c6004803603602081101561091a57600080fd5b5035611eab565b34801561092d57600080fd5b5061027c6004803603602081101561094457600080fd5b50356001600160a01b0316611eea565b34801561096057600080fd5b506107a2611f08565b6003546000906001600160a01b0316331415610983575060015b6001811515146109cb576040805162461bcd60e51b815260206004820152600e60248201526d2932b8bab4b932b99037bbb732b960911b604482015290519081900360640190fd5b6000836001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610a1a57600080fd5b505afa158015610a2e573d6000803e3d6000fd5b505050506040513d6020811015610a4457600080fd5b5051905080610a91576040805162461bcd60e51b81526020600482015260146024820152732737903a37b5b2b7399030bb30b4b630b136329760611b604482015290519081900360640190fd5b836001600160a01b031663a9059cbb84836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610ae857600080fd5b505af1158015610afc573d6000803e3d6000fd5b505050506040513d6020811015610b1257600080fd5b505050505050565b600a5481565b60055481565b600b5460009069d3c21bcecceda1000000830290610b45908290611f17565b9392505050565b6003546000906001600160a01b0316331415610b66575060015b600181151514610bae576040805162461bcd60e51b815260206004820152600e60248201526d2932b8bab4b932b99037bbb732b960911b604482015290519081900360640190fd5b50600c80549115156101000261ff0019909216919091179055565b60026000541415610c0f576040805162461bcd60e51b815260206004820152601f6024820152600080516020612224833981519152604482015290519081900360640190fd5b600260005580610c57576040805162461bcd60e51b815260206004820152600e60248201526d135d5cdd081cd95b99081554d11560921b604482015290519081900360640190fd5b600c5460ff1615610ca3576040805162461bcd60e51b8152602060048201526011602482015270141c995cd85b19481a185cc8195b991959607a1b604482015290519081900360640190fd5b600b5469d3c21bcecceda1000000820290610cbf908290611f17565b336000818152600d602052604090206001808201805464e8d4a51000880201905560028201805485019055600390910180546001600160a01b0319169092179091556006805485019055600880548390039081905560048054909201909155909150610d3357600c805460ff191660011790555b600e54601054604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101869052905191909216916323b872dd91606480830192600092919082900301818387803b158015610d9157600080fd5b505af1158015610da5573d6000803e3d6000fd5b5050600654604080518681526020810186905280820192909252517fa4556dd862edfd6372f2fab99330cb1977ea752f77b32561ccef2eb27e1f6d779350908190036060019150a150506001600055565b6003546000906001600160a01b0316331415610e10575060015b600181151514610e58576040805162461bcd60e51b815260206004820152600e60248201526d2932b8bab4b932b99037bbb732b960911b604482015290519081900360640190fd5b50600c805460ff1916911515919091179055565b6003546000906001600160a01b0316331415610e86575060015b600181151514610ece576040805162461bcd60e51b815260206004820152600e60248201526d2932b8bab4b932b99037bbb732b960911b604482015290519081900360640190fd5b6040516001600160a01b038316904780156108fc02916000818181858888f19350505050158015610f03573d6000803e3d6000fd5b505050565b6003546000906001600160a01b0316331415610f22575060015b600181151514610f6a576040805162461bcd60e51b815260206004820152600e60248201526d2932b8bab4b932b99037bbb732b960911b604482015290519081900360640190fd5b50600a91909155600b55565b6001600160a01b03166000908152600d602052604090206004015490565b60095481565b6003546000906001600160a01b0316331415610fb4575060015b600181151514610ffc576040805162461bcd60e51b815260206004820152600e60248201526d2932b8bab4b932b99037bbb732b960911b604482015290519081900360640190fd5b858414611050576040805162461bcd60e51b815260206004820152601d60248201527f557365727320646f6573206e6f74206d61746368206465706f73697473000000604482015290519081900360640190fd5b8582146110a4576040805162461bcd60e51b815260206004820152601b60248201527f557365727320646f6573206e6f74206d6174636820746f6b656e730000000000604482015290519081900360640190fd5b60005b868110156111c4578585828181106110bb57fe5b90506020020135600d60008a8a858181106110d257fe5b602090810292909201356001600160a01b0316835250810191909152604001600020600101805491909101905583838281811061110b57fe5b90506020020135600d60008a8a8581811061112257fe5b602090810292909201356001600160a01b0316835250810191909152604001600020600201805491909101905587878281811061115b57fe5b905060200201356001600160a01b0316600d60008a8a8581811061117b57fe5b6001600160a01b03602091820293909301358316845283019390935260409091016000206003018054939091166001600160a01b031990931692909217909155506001016110a7565b5050505050505050565b60075481565b6003546000906001600160a01b03163314156111ee575060015b600181151514611236576040805162461bcd60e51b815260206004820152600e60248201526d2932b8bab4b932b99037bbb732b960911b604482015290519081900360640190fd5b506001600160a01b039091166000908152600d602052604081206002810192909255600490910155565b600260005414156112a6576040805162461bcd60e51b815260206004820152601f6024820152600080516020612224833981519152604482015290519081900360640190fd5b6002600055600c54610100900460ff166112fe576040805162461bcd60e51b815260206004820152601460248201527321b630b4b6b4b733903737ba1037b832b732b21760611b604482015290519081900360640190fd5b600061130933611eea565b11611353576040805162461bcd60e51b815260206004820152601560248201527420b2323932b9b9903737ba1034b73b32b9ba32b21760591b604482015290519081900360640190fd5b61135c33610f76565b156113985760405162461bcd60e51b81526004018080602001828103825260218152602001806122656021913960400191505060405180910390fd5b6113a96113a433611eea565b611f62565b6001600055565b6003546000906001600160a01b03163314156113ca575060015b600181151514611412576040805162461bcd60e51b815260206004820152600e60248201526d2932b8bab4b932b99037bbb732b960911b604482015290519081900360640190fd5b858414611466576040805162461bcd60e51b815260206004820152601d60248201527f557365727320646f6573206e6f74206d61746368206465706f73697473000000604482015290519081900360640190fd5b8582146114ba576040805162461bcd60e51b815260206004820152601b60248201527f557365727320646f6573206e6f74206d6174636820746f6b656e730000000000604482015290519081900360640190fd5b60005b868110156111c4578585828181106114d157fe5b90506020020135600d60008a8a858181106114e857fe5b602090810292909201356001600160a01b0316835250810191909152604001600020805491909101905583838281811061151e57fe5b90506020020135600d60008a8a8581811061153557fe5b602090810292909201356001600160a01b0316835250810191909152604001600020600201805491909101905587878281811061156e57fe5b905060200201356001600160a01b0316600d60008a8a8581811061158e57fe5b6001600160a01b03602091820293909301358316845283019390935260409091016000206003018054939091166001600160a01b031990931692909217909155506001016114bd565b600080600080600080600160009054906101000a90046001600160a01b03166001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b15801561162e57600080fd5b505afa158015611642573d6000803e3d6000fd5b505050506040513d60a081101561165857600080fd5b50602001516305f5e10090049695505050505050565b6003546000906001600160a01b0316331415611688575060015b6001811515146116d0576040805162461bcd60e51b815260206004820152600e60248201526d2932b8bab4b932b99037bbb732b960911b604482015290519081900360640190fd5b50600855565b6003546000906001600160a01b03163314156116f0575060015b600181151514611738576040805162461bcd60e51b815260206004820152600e60248201526d2932b8bab4b932b99037bbb732b960911b604482015290519081900360640190fd5b600e54604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561178357600080fd5b505afa158015611797573d6000803e3d6000fd5b505050506040513d60208110156117ad57600080fd5b50519050806117fa576040805162461bcd60e51b81526020600482015260146024820152732737903a37b5b2b7399030bb30b4b630b136329760611b604482015290519081900360640190fd5b600e546040805163a9059cbb60e01b81526001600160a01b038681166004830152602482018590529151919092169163a9059cbb91604480830192600092919082900301818387803b15801561184f57600080fd5b505af1158015611863573d6000803e3d6000fd5b50505050505050565b600260005414156118b2576040805162461bcd60e51b815260206004820152601f6024820152600080516020612224833981519152604482015290519081900360640190fd5b6002600055346118f9576040805162461bcd60e51b815260206004820152600d60248201526c26bab9ba1039b2b7321021272160991b604482015290519081900360640190fd5b60006119036115d7565b9050600061191134836120ce565b600c54909150349060ff1615611962576040805162461bcd60e51b8152602060048201526011602482015270141c995cd85b19481a185cc8195b991959607a1b604482015290519081900360640190fd5b600a54670de0b6b3a764000083029061197c908290611f17565b336000818152600d602052604090208054850181556002810180548401905560030180546001600160a01b0319169091179055600580548401905560088054829003908190556004805460010190559091506119e057600c805460ff191660011790555b6010546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015611a19573d6000803e3d6000fd5b50600554604080518481526020810184905280820192909252517ffcb403fe93cbf2417002108197ac698c127ade8cac75511a0155f38f6244fa199181900360600190a1505060016000555050565b60026000541415611aae576040805162461bcd60e51b815260206004820152601f6024820152600080516020612224833981519152604482015290519081900360640190fd5b600260005580611af6576040805162461bcd60e51b815260206004820152600e60248201526d4d7573742073656e64205553444360901b604482015290519081900360640190fd5b600c5460ff1615611b42576040805162461bcd60e51b8152602060048201526011602482015270141c995cd85b19481a185cc8195b991959607a1b604482015290519081900360640190fd5b600b5469d3c21bcecceda1000000820290611b5e908290611f17565b336000818152600d602052604090206001808201805464e8d4a51000880201905560028201805485019055600390910180546001600160a01b0319169092179091556006805485019055600880548390039081905560048054909201909155909150611bd257600c805460ff191660011790555b600f54601054604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101869052905191909216916323b872dd9160648083019260209291908290030181600087803b158015611c3157600080fd5b505af1158015611c45573d6000803e3d6000fd5b505050506040513d6020811015611c5b57600080fd5b5050600654604080518481526020810184905280820192909252517f957b53025b854174367abc040ac4db5116afd3b6e07aefe01d8942beac71a6739181900360600190a150506001600055565b60085481565b6003546000906001600160a01b0316331415611cc9575060015b600181151514611d11576040805162461bcd60e51b815260206004820152600e60248201526d2932b8bab4b932b99037bbb732b960911b604482015290519081900360640190fd5b50600955565b600b5481565b600c54610100900460ff1681565b6002546001600160a01b031681565b600d60205260009081526040902080546001820154600283015460038401546004909401549293919290916001600160a01b03169085565b6003546000906001600160a01b0316331415611d8c575060015b600181151514611dd4576040805162461bcd60e51b815260206004820152600e60248201526d2932b8bab4b932b99037bbb732b960911b604482015290519081900360640190fd5b50600280546001600160a01b0319166001600160a01b0392909216919091179055565b600e546001600160a01b031681565b60065481565b60045481565b6003546000906001600160a01b0316331415611e2c575060015b600181151514611e74576040805162461bcd60e51b815260206004820152600e60248201526d2932b8bab4b932b99037bbb732b960911b604482015290519081900360640190fd5b600954611e819085612127565b60095550600892909255600a55600b55565b600f546001600160a01b031681565b600c5460ff1681565b600080611eb66115d7565b90506000611ec484836120ce565b600a54909150670de0b6b3a7640000820290611ee1908290611f17565b95945050505050565b6001600160a01b03166000908152600d602052604090206002015490565b6003546001600160a01b031681565b6000611f5983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612181565b90505b92915050565b600254604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b158015611fad57600080fd5b505afa158015611fc1573d6000803e3d6000fd5b505050506040513d6020811015611fd757600080fd5b5051905080821115612030576040805162461bcd60e51b815260206004820152601b60248201527f4e6f7420656e6f75676820746f6b656e7320746f20636c61696d2e0000000000604482015290519081900360640190fd5b6002546040805163a9059cbb60e01b81523360048201526024810185905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b15801561208457600080fd5b505af1158015612098573d6000803e3d6000fd5b505050506040513d60208110156120ae57600080fd5b5050600780548301905550336000908152600d6020526040902060040155565b6000826120dd57506000611f5c565b828202828482816120ea57fe5b0414611f595760405162461bcd60e51b81526004018080602001828103825260218152602001806122446021913960400191505060405180910390fd5b600082820183811015611f59576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000818361220d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156121d25781810151838201526020016121ba565b50505050905090810190601f1680156121ff5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161221957fe5b049594505050505056fe5265656e7472616e637947756172643a207265656e7472616e742063616c6c00536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775468697320616464726573732068617320616c726561647920636c61696d65642ea2646970667358221220903abc1752d23c473ce5453c246a98bfebb47ad7d24cb512aa7be8b4249d051264736f6c634300060c0033
Deployed Bytecode
0x60806040526004361061021e5760003560e01c8063728fbd0111610123578063989ced26116100ab578063d0aa1e8c1161006f578063d0aa1e8c146108cd578063e580b2b0146108e2578063e961f1b3146108f7578063f676e3b714610921578063fbe9c2621461095457610225565b8063989ced26146108255780639f3b2de414610858578063a25e3ed51461086d578063a6b165ee14610882578063c71bf91a1461089757610225565b806382d4d05d116100f257806382d4d05d1461072557806384d0e2d41461074f5780639535ca69146107645780639563dceb1461078d57806397a993aa146107be57610225565b8063728fbd01146106b857806373d87a3e146106eb57806377332eb4146106f357806379c15a621461071057610225565b80632b76364e116101a65780633d8c233e116101755780633d8c233e1461051d57806348c54b9d146105565780634c02e4d11461055e578063529f36c41461067957806355c91dd31461068e57610225565b80632b76364e146103a55780633098a8e8146103d8578063326157f6146103ed5780633505642d1461050857610225565b8063121fdf5c116101ed578063121fdf5c146102cd57806318c6611f146102f95780631ce902c41461031657806323024408146103425780632a84b2f91461037557610225565b80630217aeb21461022a5780630304859014610267578063065cda451461028e57806309991231146102a357610225565b3661022557005b600080fd5b34801561023657600080fd5b506102656004803603604081101561024d57600080fd5b506001600160a01b0381358116916020013516610969565b005b34801561027357600080fd5b5061027c610b1a565b60408051918252519081900360200190f35b34801561029a57600080fd5b5061027c610b20565b3480156102af57600080fd5b5061027c600480360360208110156102c657600080fd5b5035610b26565b3480156102d957600080fd5b50610265600480360360208110156102f057600080fd5b50351515610b4c565b6102656004803603602081101561030f57600080fd5b5035610bc9565b34801561032257600080fd5b506102656004803603602081101561033957600080fd5b50351515610df6565b34801561034e57600080fd5b506102656004803603602081101561036557600080fd5b50356001600160a01b0316610e6c565b34801561038157600080fd5b506102656004803603604081101561039857600080fd5b5080359060200135610f08565b3480156103b157600080fd5b5061027c600480360360208110156103c857600080fd5b50356001600160a01b0316610f76565b3480156103e457600080fd5b5061027c610f94565b3480156103f957600080fd5b506102656004803603606081101561041057600080fd5b810190602081018135600160201b81111561042a57600080fd5b82018360208201111561043c57600080fd5b803590602001918460208302840111600160201b8311171561045d57600080fd5b919390929091602081019035600160201b81111561047a57600080fd5b82018360208201111561048c57600080fd5b803590602001918460208302840111600160201b831117156104ad57600080fd5b919390929091602081019035600160201b8111156104ca57600080fd5b8201836020820111156104dc57600080fd5b803590602001918460208302840111600160201b831117156104fd57600080fd5b509092509050610f9a565b34801561051457600080fd5b5061027c6111ce565b34801561052957600080fd5b506102656004803603604081101561054057600080fd5b506001600160a01b0381351690602001356111d4565b610265611260565b34801561056a57600080fd5b506102656004803603606081101561058157600080fd5b810190602081018135600160201b81111561059b57600080fd5b8201836020820111156105ad57600080fd5b803590602001918460208302840111600160201b831117156105ce57600080fd5b919390929091602081019035600160201b8111156105eb57600080fd5b8201836020820111156105fd57600080fd5b803590602001918460208302840111600160201b8311171561061e57600080fd5b919390929091602081019035600160201b81111561063b57600080fd5b82018360208201111561064d57600080fd5b803590602001918460208302840111600160201b8311171561066e57600080fd5b5090925090506113b0565b34801561068557600080fd5b5061027c6115d7565b34801561069a57600080fd5b50610265600480360360208110156106b157600080fd5b503561166e565b3480156106c457600080fd5b50610265600480360360208110156106db57600080fd5b50356001600160a01b03166116d6565b61026561186c565b6102656004803603602081101561070957600080fd5b5035611a68565b34801561071c57600080fd5b5061027c611ca9565b34801561073157600080fd5b506102656004803603602081101561074857600080fd5b5035611caf565b34801561075b57600080fd5b5061027c611d17565b34801561077057600080fd5b50610779611d1d565b604080519115158252519081900360200190f35b34801561079957600080fd5b506107a2611d2b565b604080516001600160a01b039092168252519081900360200190f35b3480156107ca57600080fd5b506107f1600480360360208110156107e157600080fd5b50356001600160a01b0316611d3a565b604080519586526020860194909452848401929092526001600160a01b031660608401526080830152519081900360a00190f35b34801561083157600080fd5b506102656004803603602081101561084857600080fd5b50356001600160a01b0316611d72565b34801561086457600080fd5b506107a2611df7565b34801561087957600080fd5b5061027c611e06565b34801561088e57600080fd5b5061027c611e0c565b3480156108a357600080fd5b50610265600480360360608110156108ba57600080fd5b5080359060208101359060400135611e12565b3480156108d957600080fd5b506107a2611e93565b3480156108ee57600080fd5b50610779611ea2565b34801561090357600080fd5b5061027c6004803603602081101561091a57600080fd5b5035611eab565b34801561092d57600080fd5b5061027c6004803603602081101561094457600080fd5b50356001600160a01b0316611eea565b34801561096057600080fd5b506107a2611f08565b6003546000906001600160a01b0316331415610983575060015b6001811515146109cb576040805162461bcd60e51b815260206004820152600e60248201526d2932b8bab4b932b99037bbb732b960911b604482015290519081900360640190fd5b6000836001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610a1a57600080fd5b505afa158015610a2e573d6000803e3d6000fd5b505050506040513d6020811015610a4457600080fd5b5051905080610a91576040805162461bcd60e51b81526020600482015260146024820152732737903a37b5b2b7399030bb30b4b630b136329760611b604482015290519081900360640190fd5b836001600160a01b031663a9059cbb84836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610ae857600080fd5b505af1158015610afc573d6000803e3d6000fd5b505050506040513d6020811015610b1257600080fd5b505050505050565b600a5481565b60055481565b600b5460009069d3c21bcecceda1000000830290610b45908290611f17565b9392505050565b6003546000906001600160a01b0316331415610b66575060015b600181151514610bae576040805162461bcd60e51b815260206004820152600e60248201526d2932b8bab4b932b99037bbb732b960911b604482015290519081900360640190fd5b50600c80549115156101000261ff0019909216919091179055565b60026000541415610c0f576040805162461bcd60e51b815260206004820152601f6024820152600080516020612224833981519152604482015290519081900360640190fd5b600260005580610c57576040805162461bcd60e51b815260206004820152600e60248201526d135d5cdd081cd95b99081554d11560921b604482015290519081900360640190fd5b600c5460ff1615610ca3576040805162461bcd60e51b8152602060048201526011602482015270141c995cd85b19481a185cc8195b991959607a1b604482015290519081900360640190fd5b600b5469d3c21bcecceda1000000820290610cbf908290611f17565b336000818152600d602052604090206001808201805464e8d4a51000880201905560028201805485019055600390910180546001600160a01b0319169092179091556006805485019055600880548390039081905560048054909201909155909150610d3357600c805460ff191660011790555b600e54601054604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101869052905191909216916323b872dd91606480830192600092919082900301818387803b158015610d9157600080fd5b505af1158015610da5573d6000803e3d6000fd5b5050600654604080518681526020810186905280820192909252517fa4556dd862edfd6372f2fab99330cb1977ea752f77b32561ccef2eb27e1f6d779350908190036060019150a150506001600055565b6003546000906001600160a01b0316331415610e10575060015b600181151514610e58576040805162461bcd60e51b815260206004820152600e60248201526d2932b8bab4b932b99037bbb732b960911b604482015290519081900360640190fd5b50600c805460ff1916911515919091179055565b6003546000906001600160a01b0316331415610e86575060015b600181151514610ece576040805162461bcd60e51b815260206004820152600e60248201526d2932b8bab4b932b99037bbb732b960911b604482015290519081900360640190fd5b6040516001600160a01b038316904780156108fc02916000818181858888f19350505050158015610f03573d6000803e3d6000fd5b505050565b6003546000906001600160a01b0316331415610f22575060015b600181151514610f6a576040805162461bcd60e51b815260206004820152600e60248201526d2932b8bab4b932b99037bbb732b960911b604482015290519081900360640190fd5b50600a91909155600b55565b6001600160a01b03166000908152600d602052604090206004015490565b60095481565b6003546000906001600160a01b0316331415610fb4575060015b600181151514610ffc576040805162461bcd60e51b815260206004820152600e60248201526d2932b8bab4b932b99037bbb732b960911b604482015290519081900360640190fd5b858414611050576040805162461bcd60e51b815260206004820152601d60248201527f557365727320646f6573206e6f74206d61746368206465706f73697473000000604482015290519081900360640190fd5b8582146110a4576040805162461bcd60e51b815260206004820152601b60248201527f557365727320646f6573206e6f74206d6174636820746f6b656e730000000000604482015290519081900360640190fd5b60005b868110156111c4578585828181106110bb57fe5b90506020020135600d60008a8a858181106110d257fe5b602090810292909201356001600160a01b0316835250810191909152604001600020600101805491909101905583838281811061110b57fe5b90506020020135600d60008a8a8581811061112257fe5b602090810292909201356001600160a01b0316835250810191909152604001600020600201805491909101905587878281811061115b57fe5b905060200201356001600160a01b0316600d60008a8a8581811061117b57fe5b6001600160a01b03602091820293909301358316845283019390935260409091016000206003018054939091166001600160a01b031990931692909217909155506001016110a7565b5050505050505050565b60075481565b6003546000906001600160a01b03163314156111ee575060015b600181151514611236576040805162461bcd60e51b815260206004820152600e60248201526d2932b8bab4b932b99037bbb732b960911b604482015290519081900360640190fd5b506001600160a01b039091166000908152600d602052604081206002810192909255600490910155565b600260005414156112a6576040805162461bcd60e51b815260206004820152601f6024820152600080516020612224833981519152604482015290519081900360640190fd5b6002600055600c54610100900460ff166112fe576040805162461bcd60e51b815260206004820152601460248201527321b630b4b6b4b733903737ba1037b832b732b21760611b604482015290519081900360640190fd5b600061130933611eea565b11611353576040805162461bcd60e51b815260206004820152601560248201527420b2323932b9b9903737ba1034b73b32b9ba32b21760591b604482015290519081900360640190fd5b61135c33610f76565b156113985760405162461bcd60e51b81526004018080602001828103825260218152602001806122656021913960400191505060405180910390fd5b6113a96113a433611eea565b611f62565b6001600055565b6003546000906001600160a01b03163314156113ca575060015b600181151514611412576040805162461bcd60e51b815260206004820152600e60248201526d2932b8bab4b932b99037bbb732b960911b604482015290519081900360640190fd5b858414611466576040805162461bcd60e51b815260206004820152601d60248201527f557365727320646f6573206e6f74206d61746368206465706f73697473000000604482015290519081900360640190fd5b8582146114ba576040805162461bcd60e51b815260206004820152601b60248201527f557365727320646f6573206e6f74206d6174636820746f6b656e730000000000604482015290519081900360640190fd5b60005b868110156111c4578585828181106114d157fe5b90506020020135600d60008a8a858181106114e857fe5b602090810292909201356001600160a01b0316835250810191909152604001600020805491909101905583838281811061151e57fe5b90506020020135600d60008a8a8581811061153557fe5b602090810292909201356001600160a01b0316835250810191909152604001600020600201805491909101905587878281811061156e57fe5b905060200201356001600160a01b0316600d60008a8a8581811061158e57fe5b6001600160a01b03602091820293909301358316845283019390935260409091016000206003018054939091166001600160a01b031990931692909217909155506001016114bd565b600080600080600080600160009054906101000a90046001600160a01b03166001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b15801561162e57600080fd5b505afa158015611642573d6000803e3d6000fd5b505050506040513d60a081101561165857600080fd5b50602001516305f5e10090049695505050505050565b6003546000906001600160a01b0316331415611688575060015b6001811515146116d0576040805162461bcd60e51b815260206004820152600e60248201526d2932b8bab4b932b99037bbb732b960911b604482015290519081900360640190fd5b50600855565b6003546000906001600160a01b03163314156116f0575060015b600181151514611738576040805162461bcd60e51b815260206004820152600e60248201526d2932b8bab4b932b99037bbb732b960911b604482015290519081900360640190fd5b600e54604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561178357600080fd5b505afa158015611797573d6000803e3d6000fd5b505050506040513d60208110156117ad57600080fd5b50519050806117fa576040805162461bcd60e51b81526020600482015260146024820152732737903a37b5b2b7399030bb30b4b630b136329760611b604482015290519081900360640190fd5b600e546040805163a9059cbb60e01b81526001600160a01b038681166004830152602482018590529151919092169163a9059cbb91604480830192600092919082900301818387803b15801561184f57600080fd5b505af1158015611863573d6000803e3d6000fd5b50505050505050565b600260005414156118b2576040805162461bcd60e51b815260206004820152601f6024820152600080516020612224833981519152604482015290519081900360640190fd5b6002600055346118f9576040805162461bcd60e51b815260206004820152600d60248201526c26bab9ba1039b2b7321021272160991b604482015290519081900360640190fd5b60006119036115d7565b9050600061191134836120ce565b600c54909150349060ff1615611962576040805162461bcd60e51b8152602060048201526011602482015270141c995cd85b19481a185cc8195b991959607a1b604482015290519081900360640190fd5b600a54670de0b6b3a764000083029061197c908290611f17565b336000818152600d602052604090208054850181556002810180548401905560030180546001600160a01b0319169091179055600580548401905560088054829003908190556004805460010190559091506119e057600c805460ff191660011790555b6010546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015611a19573d6000803e3d6000fd5b50600554604080518481526020810184905280820192909252517ffcb403fe93cbf2417002108197ac698c127ade8cac75511a0155f38f6244fa199181900360600190a1505060016000555050565b60026000541415611aae576040805162461bcd60e51b815260206004820152601f6024820152600080516020612224833981519152604482015290519081900360640190fd5b600260005580611af6576040805162461bcd60e51b815260206004820152600e60248201526d4d7573742073656e64205553444360901b604482015290519081900360640190fd5b600c5460ff1615611b42576040805162461bcd60e51b8152602060048201526011602482015270141c995cd85b19481a185cc8195b991959607a1b604482015290519081900360640190fd5b600b5469d3c21bcecceda1000000820290611b5e908290611f17565b336000818152600d602052604090206001808201805464e8d4a51000880201905560028201805485019055600390910180546001600160a01b0319169092179091556006805485019055600880548390039081905560048054909201909155909150611bd257600c805460ff191660011790555b600f54601054604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101869052905191909216916323b872dd9160648083019260209291908290030181600087803b158015611c3157600080fd5b505af1158015611c45573d6000803e3d6000fd5b505050506040513d6020811015611c5b57600080fd5b5050600654604080518481526020810184905280820192909252517f957b53025b854174367abc040ac4db5116afd3b6e07aefe01d8942beac71a6739181900360600190a150506001600055565b60085481565b6003546000906001600160a01b0316331415611cc9575060015b600181151514611d11576040805162461bcd60e51b815260206004820152600e60248201526d2932b8bab4b932b99037bbb732b960911b604482015290519081900360640190fd5b50600955565b600b5481565b600c54610100900460ff1681565b6002546001600160a01b031681565b600d60205260009081526040902080546001820154600283015460038401546004909401549293919290916001600160a01b03169085565b6003546000906001600160a01b0316331415611d8c575060015b600181151514611dd4576040805162461bcd60e51b815260206004820152600e60248201526d2932b8bab4b932b99037bbb732b960911b604482015290519081900360640190fd5b50600280546001600160a01b0319166001600160a01b0392909216919091179055565b600e546001600160a01b031681565b60065481565b60045481565b6003546000906001600160a01b0316331415611e2c575060015b600181151514611e74576040805162461bcd60e51b815260206004820152600e60248201526d2932b8bab4b932b99037bbb732b960911b604482015290519081900360640190fd5b600954611e819085612127565b60095550600892909255600a55600b55565b600f546001600160a01b031681565b600c5460ff1681565b600080611eb66115d7565b90506000611ec484836120ce565b600a54909150670de0b6b3a7640000820290611ee1908290611f17565b95945050505050565b6001600160a01b03166000908152600d602052604090206002015490565b6003546001600160a01b031681565b6000611f5983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612181565b90505b92915050565b600254604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b158015611fad57600080fd5b505afa158015611fc1573d6000803e3d6000fd5b505050506040513d6020811015611fd757600080fd5b5051905080821115612030576040805162461bcd60e51b815260206004820152601b60248201527f4e6f7420656e6f75676820746f6b656e7320746f20636c61696d2e0000000000604482015290519081900360640190fd5b6002546040805163a9059cbb60e01b81523360048201526024810185905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b15801561208457600080fd5b505af1158015612098573d6000803e3d6000fd5b505050506040513d60208110156120ae57600080fd5b5050600780548301905550336000908152600d6020526040902060040155565b6000826120dd57506000611f5c565b828202828482816120ea57fe5b0414611f595760405162461bcd60e51b81526004018080602001828103825260218152602001806122446021913960400191505060405180910390fd5b600082820183811015611f59576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000818361220d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156121d25781810151838201526020016121ba565b50505050905090810190601f1680156121ff5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161221957fe5b049594505050505056fe5265656e7472616e637947756172643a207265656e7472616e742063616c6c00536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775468697320616464726573732068617320616c726561647920636c61696d65642ea2646970667358221220903abc1752d23c473ce5453c246a98bfebb47ad7d24cb512aa7be8b4249d051264736f6c634300060c0033
Deployed Bytecode Sourcemap
12112:10497:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18568:276;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;18568:276:0;;;;;;;;;;:::i;:::-;;12762:26;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;12553:33;;;;;;;;;;;;;:::i;20240:307::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;20240:307:0;;:::i;19140:98::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19140:98:0;;;;:::i;14701:992::-;;;;;;;;;;;;;;;;-1:-1:-1;14701:992:0;;:::i;19246:95::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19246:95:0;;;;:::i;18453:107::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18453:107:0;-1:-1:-1;;;;;18453:107:0;;:::i;19467:160::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19467:160:0;;;;;;;:::i;17413:129::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17413:129:0;-1:-1:-1;;;;;17413:129:0;;:::i;12720:33::-;;;;;;;;;;;;;:::i;21140:574::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;21140:574:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;21140:574:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;21140:574:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;21140:574:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;21140:574:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;21140:574:0;;;;;;;;;;-1:-1:-1;21140:574:0;;-1:-1:-1;21140:574:0;-1:-1:-1;21140:574:0;:::i;12634:32::-;;;;;;;;;;;;;:::i;17954:178::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;17954:178:0;;;;;;;;:::i;16715:497::-;;;:::i;20555:576::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;20555:576:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;20555:576:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;20555:576:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;20555:576:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;20555:576:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;20555:576:0;;;;;;;;;;-1:-1:-1;20555:576:0;;-1:-1:-1;20555:576:0;-1:-1:-1;20555:576:0;:::i;21722:387::-;;;;;;;;;;;;;:::i;19635:112::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19635:112:0;;:::i;18852:280::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18852:280:0;-1:-1:-1;;;;;18852:280:0;;:::i;13683:998::-;;;:::i;15728:959::-;;;;;;;;;;;;;;;;-1:-1:-1;15728:959:0;;:::i;12675:38::-;;;;;;;;;;;;;:::i;19349:110::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19349:110:0;;:::i;12818:32::-;;;;;;;;;;;;;:::i;12890:23::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;12442:28;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;12442:28:0;;;;;;;;;;;;;;12922:39;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12922:39:0;-1:-1:-1;;;;;12922:39:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12922:39:0;;;;;;;;;;;;;;;;;;19755:126;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19755:126:0;-1:-1:-1;;;;;19755:126:0;;:::i;12970:25::-;;;;;;;;;;;;;:::i;12593:34::-;;;;;;;;;;;;;:::i;12516:30::-;;;;;;;;;;;;;:::i;18140:305::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18140:305:0;;;;;;;;;;;;:::i;13002:23::-;;;;;;;;;;;;;:::i;12859:24::-;;;;;;;;;;;;;:::i;19889:343::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19889:343:0;;:::i;17247:132::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17247:132:0;-1:-1:-1;;;;;17247:132:0;;:::i;12479:28::-;;;;;;;;;;;;;:::i;18568:276::-;22195:13;;22145:12;;-1:-1:-1;;;;;22195:13:0;22181:10;:27;22178:73;;;-1:-1:-1;22235:4:0;22178:73;22282:4;22271:15;;;;22263:42;;;;;-1:-1:-1;;;22263:42:0;;;;;;;;;;;;-1:-1:-1;;;22263:42:0;;;;;;;;;;;;;;;18649:20:::1;18679:9;-1:-1:-1::0;;;;;18672:27:0::1;;18708:4;18672:42;;;;;;;;;;;;;-1:-1:-1::0;;;;;18672:42:0::1;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;18672:42:0;;-1:-1:-1;18736:16:0;18728:49:::1;;;::::0;;-1:-1:-1;;;18728:49:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;18728:49:0;;;;;;;;;;;;;::::1;;18798:9;-1:-1:-1::0;;;;;18791:26:0::1;;18818:3;18823:12;18791:45;;;;;;;;;;;;;-1:-1:-1::0;;;;;18791:45:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;;;;;;18568:276:0:o;12762:26::-;;;;:::o;12553:33::-;;;;:::o;20240:307::-;20485:17;;20311:7;;20407:27;;;;20464:39;;20407:27;;20464:20;:39::i;:::-;20445:58;20240:307;-1:-1:-1;;;20240:307:0:o;19140:98::-;22195:13;;22145:12;;-1:-1:-1;;;;;22195:13:0;22181:10;:27;22178:73;;;-1:-1:-1;22235:4:0;22178:73;22282:4;22271:15;;;;22263:42;;;;;-1:-1:-1;;;22263:42:0;;;;;;;;;;;;-1:-1:-1;;;22263:42:0;;;;;;;;;;;;;;;-1:-1:-1;19209:11:0::1;:21:::0;;;::::1;;;;-1:-1:-1::0;;19209:21:0;;::::1;::::0;;;::::1;::::0;;19140:98::o;14701:992::-;2660:1;3264:7;;:19;;3256:63;;;;;-1:-1:-1;;;3256:63:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3256:63:0;;;;;;;;;;;;;;;2660:1;3397:7;:18;14802:14;14794:41:::1;;;::::0;;-1:-1:-1;;;14794:41:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;14794:41:0;;;;;;;;;;;;;::::1;;14857:12;::::0;::::1;;14856:13;14848:43;;;::::0;;-1:-1:-1;;;14848:43:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;14848:43:0;;;;;;;;;;;;;::::1;;15060:17;::::0;14982:27;;;;15039:39:::1;::::0;14982:27;;15039:20:::1;:39::i;:::-;15098:10;15091:18;::::0;;;:6:::1;:18;::::0;;;;:28:::1;::::0;;::::1;:53:::0;;15136:8:::1;15123:21:::0;::::1;15091:53;::::0;;15172:35:::1;::::0;::::1;:55:::0;;;::::1;::::0;;15238:32:::1;::::0;;::::1;:45:::0;;-1:-1:-1;;;;;;15238:45:0::1;::::0;;::::1;::::0;;;15296:19:::1;:33:::0;;;::::1;::::0;;15340:23:::1;:43:::0;;;;::::1;::::0;;;;15394:15:::1;:17:::0;;;;::::1;::::0;;;15020:58;;-1:-1:-1;15424:79:0::1;;15472:12;:19:::0;;-1:-1:-1;;15472:19:0::1;15487:4;15472:19;::::0;;15424:79:::1;15535:10;::::0;15573:14:::1;::::0;15515:85:::1;::::0;;-1:-1:-1;;;15515:85:0;;15561:10:::1;15515:85;::::0;::::1;::::0;-1:-1:-1;;;;;15573:14:0;;::::1;15515:85:::0;;;;;;;;;;;;15535:10;;;::::1;::::0;15515:45:::1;::::0;:85;;;;;15535:10:::1;::::0;15515:85;;;;;;;15535:10;;15515:85;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;15665:19:0::1;::::0;15618:67:::1;::::0;;;;;::::1;::::0;::::1;::::0;;;;;;;;;;;::::1;::::0;-1:-1:-1;15618:67:0;;;;;;;-1:-1:-1;15618:67:0::1;-1:-1:-1::0;;2616:1:0;3576:7;:22;14701:992::o;19246:95::-;22195:13;;22145:12;;-1:-1:-1;;;;;22195:13:0;22181:10;:27;22178:73;;;-1:-1:-1;22235:4:0;22178:73;22282:4;22271:15;;;;22263:42;;;;;-1:-1:-1;;;22263:42:0;;;;;;;;;;;;-1:-1:-1;;;22263:42:0;;;;;;;;;;;;;;;-1:-1:-1;19312:12:0::1;:21:::0;;-1:-1:-1;;19312:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;19246:95::o;18453:107::-;22195:13;;22145:12;;-1:-1:-1;;;;;22195:13:0;22181:10;:27;22178:73;;;-1:-1:-1;22235:4:0;22178:73;22282:4;22271:15;;;;22263:42;;;;;-1:-1:-1;;;22263:42:0;;;;;;;;;;;;-1:-1:-1;;;22263:42:0;;;;;;;;;;;;;;;18517:35:::1;::::0;-1:-1:-1;;;;;18517:12:0;::::1;::::0;18530:21:::1;18517:35:::0;::::1;;;::::0;::::1;::::0;;;18530:21;18517:12;:35;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;18453:107:::0;;:::o;19467:160::-;22195:13;;22145:12;;-1:-1:-1;;;;;22195:13:0;22181:10;:27;22178:73;;;-1:-1:-1;22235:4:0;22178:73;22282:4;22271:15;;;;22263:42;;;;;-1:-1:-1;;;22263:42:0;;;;;;;;;;;;-1:-1:-1;;;22263:42:0;;;;;;;;;;;;;;;-1:-1:-1;19558:11:0::1;:19:::0;;;;19588:17:::1;:31:::0;19467:160::o;17413:129::-;-1:-1:-1;;;;;17504:15:0;17477:7;17504:15;;;:6;:15;;;;;:30;;;;17413:129::o;12720:33::-;;;;:::o;21140:574::-;22195:13;;22145:12;;-1:-1:-1;;;;;22195:13:0;22181:10;:27;22178:73;;;-1:-1:-1;22235:4:0;22178:73;22282:4;22271:15;;;;22263:42;;;;;-1:-1:-1;;;22263:42:0;;;;;;;;;;;;-1:-1:-1;;;22263:42:0;;;;;;;;;;;;;;;21304:30;;::::1;21296:72;;;::::0;;-1:-1:-1;;;21296:72:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;21387:32:::0;;::::1;21379:72;;;::::0;;-1:-1:-1;;;21379:72:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;21476:9;21472:235;21491:18:::0;;::::1;21472:235;;;21563:5;;21569:1;21563:8;;;;;;;;;;;;;21531:6;:18;21538:7;;21546:1;21538:10;;;;;;;;::::0;;::::1;::::0;;;::::1;;-1:-1:-1::0;;;;;21538:10:0::1;21531:18:::0;;-1:-1:-1;21531:18:0;::::1;::::0;;;;;;-1:-1:-1;21531:18:0;:28:::1;;:40:::0;;;;;::::1;::::0;;21625:7;;21633:1;21625:10;;::::1;;;;;;;;;;;21586:6;:18;21593:7;;21601:1;21593:10;;;;;;;;::::0;;::::1;::::0;;;::::1;;-1:-1:-1::0;;;;;21593:10:0::1;21586:18:::0;;-1:-1:-1;21586:18:0;::::1;::::0;;;;;;-1:-1:-1;21586:18:0;:35:::1;;:49:::0;;;;;::::1;::::0;;21685:7;;21693:1;21685:10;;::::1;;;;;;;;;;;-1:-1:-1::0;;;;;21685:10:0::1;21650:6;:18;21657:7;;21665:1;21657:10;;;;;;;-1:-1:-1::0;;;;;21657:10:0::1;::::0;;::::1;::::0;;;::::1;;::::0;::::1;21650:18:::0;;;::::1;::::0;;;;;;;;-1:-1:-1;21650:18:0;:32:::1;;:45:::0;;;;;::::1;-1:-1:-1::0;;;;;;21650:45:0;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;21650:45:0;21511:3:::1;21472:235;;;;21140:574:::0;;;;;;;:::o;12634:32::-;;;;:::o;17954:178::-;22195:13;;22145:12;;-1:-1:-1;;;;;22195:13:0;22181:10;:27;22178:73;;;-1:-1:-1;22235:4:0;22178:73;22282:4;22271:15;;;;22263:42;;;;;-1:-1:-1;;;22263:42:0;;;;;;;;;;;;-1:-1:-1;;;22263:42:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;;18036:16:0;;::::1;;::::0;;;:6:::1;:16;::::0;;;;:33:::1;::::0;::::1;:42:::0;;;;18089:31:::1;::::0;;::::1;:35:::0;17954:178::o;16715:497::-;2660:1;3264:7;;:19;;3256:63;;;;;-1:-1:-1;;;3256:63:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3256:63:0;;;;;;;;;;;;;;;2660:1;3397:7;:18;16820:11:::1;::::0;::::1;::::0;::::1;;;16812:44;;;::::0;;-1:-1:-1;;;16812:44:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;16812:44:0;;;;;;;;;;;;;::::1;;16944:1;16912:29;16930:10;16912:17;:29::i;:::-;:33;16904:67;;;::::0;;-1:-1:-1;;;16904:67:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;16904:67:0;;;;;;;;;;;;;::::1;;17040:28;17057:10;17040:16;:28::i;:::-;:33:::0;17032:79:::1;;;;-1:-1:-1::0;;;17032:79:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17157:47;17174:29;17192:10;17174:17;:29::i;:::-;17157:16;:47::i;:::-;2616:1:::0;3576:7;:22;16715:497::o;20555:576::-;22195:13;;22145:12;;-1:-1:-1;;;;;22195:13:0;22181:10;:27;22178:73;;;-1:-1:-1;22235:4:0;22178:73;22282:4;22271:15;;;;22263:42;;;;;-1:-1:-1;;;22263:42:0;;;;;;;;;;;;-1:-1:-1;;;22263:42:0;;;;;;;;;;;;;;;20722:30;;::::1;20714:72;;;::::0;;-1:-1:-1;;;20714:72:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;20805:32:::0;;::::1;20797:72;;;::::0;;-1:-1:-1;;;20797:72:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;20894:9;20890:234;20909:18:::0;;::::1;20890:234;;;20980:5;;20986:1;20980:8;;;;;;;;;;;;;20949:6;:18;20956:7;;20964:1;20956:10;;;;;;;;::::0;;::::1;::::0;;;::::1;;-1:-1:-1::0;;;;;20956:10:0::1;20949:18:::0;;-1:-1:-1;20949:18:0;::::1;::::0;;;;;;-1:-1:-1;20949:18:0;:39;;;;;::::1;::::0;;21042:7;;21050:1;21042:10;;::::1;;;;;;;;;;;21003:6;:18;21010:7;;21018:1;21010:10;;;;;;;;::::0;;::::1;::::0;;;::::1;;-1:-1:-1::0;;;;;21010:10:0::1;21003:18:::0;;-1:-1:-1;21003:18:0;::::1;::::0;;;;;;-1:-1:-1;21003:18:0;:35:::1;;:49:::0;;;;;::::1;::::0;;21102:7;;21110:1;21102:10;;::::1;;;;;;;;;;;-1:-1:-1::0;;;;;21102:10:0::1;21067:6;:18;21074:7;;21082:1;21074:10;;;;;;;-1:-1:-1::0;;;;;21074:10:0::1;::::0;;::::1;::::0;;;::::1;;::::0;::::1;21067:18:::0;;;::::1;::::0;;;;;;;;-1:-1:-1;21067:18:0;:32:::1;;:45:::0;;;;;::::1;-1:-1:-1::0;;;;;;21067:45:0;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;21067:45:0;20929:3:::1;20890:234;;21722:387:::0;21769:4;21803:19;21838:14;21867:19;21901;21935:27;21976:10;;;;;;;;;-1:-1:-1;;;;;21976:10:0;-1:-1:-1;;;;;21976:26:0;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;21976:28:0;;;22059:7;22040:26;;;21722:387;-1:-1:-1;;;;;;21722:387:0:o;19635:112::-;22195:13;;22145:12;;-1:-1:-1;;;;;22195:13:0;22181:10;:27;22178:73;;;-1:-1:-1;22235:4:0;22178:73;22282:4;22271:15;;;;22263:42;;;;;-1:-1:-1;;;22263:42:0;;;;;;;;;;;;-1:-1:-1;;;22263:42:0;;;;;;;;;;;;;;;-1:-1:-1;19706:23:0::1;:33:::0;19635:112::o;18852:280::-;22195:13;;22145:12;;-1:-1:-1;;;;;22195:13:0;22181:10;:27;22178:73;;;-1:-1:-1;22235:4:0;22178:73;22282:4;22271:15;;;;22263:42;;;;;-1:-1:-1;;;22263:42:0;;;;;;;;;;;;-1:-1:-1;;;22263:42:0;;;;;;;;;;;;;;;18942:10:::1;::::0;18935:43:::1;::::0;;-1:-1:-1;;;18935:43:0;;18972:4:::1;18935:43;::::0;::::1;::::0;;;18912:20:::1;::::0;-1:-1:-1;;;;;18942:10:0::1;::::0;18935:28:::1;::::0;:43;;;;;::::1;::::0;;;;;;;;18942:10;18935:43;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;18935:43:0;;-1:-1:-1;19000:16:0;18992:49:::1;;;::::0;;-1:-1:-1;;;18992:49:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;18992:49:0;;;;;;;;;;;;;::::1;;19084:10;::::0;19064:60:::1;::::0;;-1:-1:-1;;;19064:60:0;;-1:-1:-1;;;;;19064:60:0;;::::1;;::::0;::::1;::::0;;;;;;;;;19084:10;;;::::1;::::0;19064:41:::1;::::0;:60;;;;;19084:10:::1;::::0;19064:60;;;;;;;19084:10;;19064:60;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;22318:1;18852:280:::0;;:::o;13683:998::-;2660:1;3264:7;;:19;;3256:63;;;;;-1:-1:-1;;;3256:63:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3256:63:0;;;;;;;;;;;;;;;2660:1;3397:7;:18;13759:9:::1;13751:39;;;::::0;;-1:-1:-1;;;13751:39:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;13751:39:0;;;;;;;;;;;;;::::1;;13811:11;13825:16;:14;:16::i;:::-;13811:30:::0;-1:-1:-1;13852:18:0::1;13873:21;:9;13811:30:::0;13873:13:::1;:21::i;:::-;13963:12;::::0;13852:42;;-1:-1:-1;13932:9:0::1;::::0;13963:12:::1;;13962:13;13954:43;;;::::0;;-1:-1:-1;;;13954:43:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;13954:43:0;;;;;;;;;;;;;::::1;;14110:11;::::0;14050:8:::1;14037:21:::0;::::1;::::0;14089:33:::1;::::0;14037:21;;14089:20:::1;:33::i;:::-;14142:10;14135:18;::::0;;;:6:::1;:18;::::0;;;;:47;;;::::1;::::0;;14193:35:::1;::::0;::::1;:55:::0;;;::::1;::::0;;14259:32:::1;;:45:::0;;-1:-1:-1;;;;;;14259:45:0::1;::::0;;::::1;::::0;;14317:18:::1;:38:::0;;;::::1;::::0;;14366:23:::1;:43:::0;;;;::::1;::::0;;;;14420:15:::1;:17:::0;;-1:-1:-1;14420:17:0::1;::::0;;14070:52;;-1:-1:-1;14450:79:0::1;;14498:12;:19:::0;;-1:-1:-1;;14498:19:0::1;14513:4;14498:19;::::0;;14450:79:::1;14541:14;::::0;:46:::1;::::0;-1:-1:-1;;;;;14541:14:0;;::::1;::::0;14565:21:::1;14541:46:::0;::::1;;;::::0;:14:::1;:46:::0;:14;:46;14565:21;14541:14;:46;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;14654:18:0::1;::::0;14605:68:::1;::::0;;;;;::::1;::::0;::::1;::::0;;;;;;;;;;;::::1;::::0;;;;;;;::::1;-1:-1:-1::0;;2616:1:0;3576:7;:22;-1:-1:-1;;13683:998:0:o;15728:959::-;2660:1;3264:7;;:19;;3256:63;;;;;-1:-1:-1;;;3256:63:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3256:63:0;;;;;;;;;;;;;;;2660:1;3397:7;:18;15826:13;15818:40:::1;;;::::0;;-1:-1:-1;;;15818:40:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;15818:40:0;;;;;;;;;;;;;::::1;;15880:12;::::0;::::1;;15879:13;15871:43;;;::::0;;-1:-1:-1;;;15871:43:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;15871:43:0;;;;;;;;;;;;;::::1;;16082:17;::::0;16004:27;;;;16061:39:::1;::::0;16004:27;;16061:20:::1;:39::i;:::-;16120:10;16113:18;::::0;;;:6:::1;:18;::::0;;;;:28:::1;::::0;;::::1;:52:::0;;16157:8:::1;16145:20:::0;::::1;16113:52;::::0;;16193:35:::1;::::0;::::1;:55:::0;;;::::1;::::0;;16259:32:::1;::::0;;::::1;:45:::0;;-1:-1:-1;;;;;;16259:45:0::1;::::0;;::::1;::::0;;;16317:19:::1;:32:::0;;;::::1;::::0;;16360:23:::1;:43:::0;;;;::::1;::::0;;;;16414:15:::1;:17:::0;;;;::::1;::::0;;;16042:58;;-1:-1:-1;16444:79:0::1;;16492:12;:19:::0;;-1:-1:-1;;16492:19:0::1;16507:4;16492:19;::::0;;16444:79:::1;16535:9;::::0;16570:14:::1;::::0;16535:61:::1;::::0;;-1:-1:-1;;;16535:61:0;;16558:10:::1;16535:61;::::0;::::1;::::0;-1:-1:-1;;;;;16570:14:0;;::::1;16535:61:::0;;;;;;;;;;;;:9;;;::::1;::::0;:22:::1;::::0;:61;;;;;::::1;::::0;;;;;;;;:9:::1;::::0;:61;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;;16659:19:0::1;::::0;16614:65:::1;::::0;;;;;16535:61:::1;16614:65:::0;::::1;::::0;;;;;;;;;;;::::1;::::0;;;;;;;::::1;-1:-1:-1::0;;2616:1:0;3576:7;:22;15728:959::o;12675:38::-;;;;:::o;19349:110::-;22195:13;;22145:12;;-1:-1:-1;;;;;22195:13:0;22181:10;:27;22178:73;;;-1:-1:-1;22235:4:0;22178:73;22282:4;22271:15;;;;22263:42;;;;;-1:-1:-1;;;22263:42:0;;;;;;;;;;;;-1:-1:-1;;;22263:42:0;;;;;;;;;;;;;;;-1:-1:-1;19423:18:0::1;:28:::0;19349:110::o;12818:32::-;;;;:::o;12890:23::-;;;;;;;;;:::o;12442:28::-;;;-1:-1:-1;;;;;12442:28:0;;:::o;12922:39::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12922:39:0;;;:::o;19755:126::-;22195:13;;22145:12;;-1:-1:-1;;;;;22195:13:0;22181:10;:27;22178:73;;;-1:-1:-1;22235:4:0;22178:73;22282:4;22271:15;;;;22263:42;;;;;-1:-1:-1;;;22263:42:0;;;;;;;;;;;;-1:-1:-1;;;22263:42:0;;;;;;;;;;;;;;;-1:-1:-1;19839:14:0::1;:34:::0;;-1:-1:-1;;;;;;19839:34:0::1;-1:-1:-1::0;;;;;19839:34:0;;;::::1;::::0;;;::::1;::::0;;19755:126::o;12970:25::-;;;-1:-1:-1;;;;;12970:25:0;;:::o;12593:34::-;;;;:::o;12516:30::-;;;;:::o;18140:305::-;22195:13;;22145:12;;-1:-1:-1;;;;;22195:13:0;22181:10;:27;22178:73;;;-1:-1:-1;22235:4:0;22178:73;22282:4;22271:15;;;;22263:42;;;;;-1:-1:-1;;;22263:42:0;;;;;;;;;;;;-1:-1:-1;;;22263:42:0;;;;;;;;;;;;;;;18270:18:::1;::::0;:41:::1;::::0;18293:17;18270:22:::1;:41::i;:::-;18249:18;:62:::0;-1:-1:-1;18322:23:0::1;:43:::0;;;;18376:11:::1;:19:::0;18406:17:::1;:31:::0;18140:305::o;13002:23::-;;;-1:-1:-1;;;;;13002:23:0;;:::o;12859:24::-;;;;;;:::o;19889:343::-;19963:7;19985:11;19999:16;:14;:16::i;:::-;19985:30;-1:-1:-1;20026:18:0;20047;:6;19985:30;20047:10;:18::i;:::-;20176:11;;20026:39;;-1:-1:-1;20116:8:0;20103:21;;;20155:33;;20103:21;;20155:20;:33::i;:::-;20136:52;19889:343;-1:-1:-1;;;;;19889:343:0:o;17247:132::-;-1:-1:-1;;;;;17339:15:0;17312:7;17339:15;;;:6;:15;;;;;:32;;;;17247:132::o;12479:28::-;;;-1:-1:-1;;;;;12479:28:0;;:::o;6874:132::-;6932:7;6959:39;6963:1;6966;6959:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;6952:46;;6874:132;;;;;:::o;17550:396::-;17645:14;;:39;;;-1:-1:-1;;;17645:39:0;;17678:4;17645:39;;;;;;17622:20;;-1:-1:-1;;;;;17645:14:0;;:24;;:39;;;;;;;;;;;;;;:14;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17645:39:0;;-1:-1:-1;17705:30:0;;;;17697:70;;;;;-1:-1:-1;;;17697:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;17780:14;;:51;;;-1:-1:-1;;;17780:51:0;;17804:10;17780:51;;;;;;;;;;;;-1:-1:-1;;;;;17780:14:0;;;;:23;;:51;;;;;;;;;;;;;;;:14;;:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17842:17:0;:35;;;;;;-1:-1:-1;17895:10:0;17842:17;17888:18;;;:6;17780:51;17888:18;;;;:33;;:50;17550:396::o;5927:471::-;5985:7;6230:6;6226:47;;-1:-1:-1;6260:1:0;6253:8;;6226:47;6297:5;;;6301:1;6297;:5;:1;6321:5;;;;;:10;6313:56;;;;-1:-1:-1;;;6313:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4573:181;4631:7;4663:5;;;4687:6;;;;4679:46;;;;;-1:-1:-1;;;4679:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;7502:278;7588:7;7623:12;7616:5;7608:28;;;;-1:-1:-1;;;7608:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7647:9;7663:1;7659;:5;;;;;;;7502:278;-1:-1:-1;;;;;7502:278:0:o
Swarm Source
ipfs://903abc1752d23c473ce5453c246a98bfebb47ad7d24cb512aa7be8b4249d0512
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.