ERC-20
Overview
Max Total Supply
1,737,667,023.00380060511444371 BTCETF
Holders
6,422
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
200,070 BTCETFValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
BitcoinETFToken
Compiler Version
v0.8.9+commit.e5eed63a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-10-31 */ // SPDX-License-Identifier: MIT pragma solidity 0.8.9; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @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); /** * @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 `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, 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 `from` to `to` 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 from, address to, uint256 amount) external returns (bool); } /** * @dev Interface for the optional metadata functions from the ERC20 standard. * * _Available since v4.1._ */ interface IERC20Metadata is IERC20 { /** * @dev Returns the name of the token. */ function name() external view returns (string memory); /** * @dev Returns the symbol of the token. */ function symbol() external view returns (string memory); /** * @dev Returns the decimals places of the token. */ function decimals() external view returns (uint8); } /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract 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() { _transferOwnership(_msgSender()); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { require(owner() == _msgSender(), 'Ownable: caller is not the owner'); } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby disabling any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(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'); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } contract BitcoinETFToken is Context, IERC20Metadata, Ownable { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; uint8 private constant _decimals = 18; uint256 public burnPercentage = 5; uint256 public constant presaleReserve = 840_000_000 * (10 ** _decimals); uint256 public constant stakingReserve = 525_000_000 * (10 ** _decimals); uint256 public constant burnReserve = 525_000_000 * (10 ** _decimals); uint256 public constant liquidityReserve = 210_000_000 * (10 ** _decimals); mapping(address => bool) public isWhitelisted; event BurnPercentageChanged(uint256 oldBurnPercentage, uint256 newBurnPercentage, uint256 timestamp); /** * @dev Contract constructor. * @param name_ The name of the token. * @param symbol_ The symbol of the token. */ constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; _mint(0xDd1F2861E95295eA691fdA2cc558833E1C6eecB2, presaleReserve); _mint(0x8AaB0A7f226957bd1b5573cDc6819Ee39f671C40, stakingReserve); _mint(0x204b34F04874e749F176433F621e6a7d018773B9, burnReserve); _mint(0xe8B5F9E179e36B85003DE7fFA52a4FF9aB96b339, liquidityReserve); } /** * @dev Decreases the burn percentage of tokens during transfers.Can only be called by the contract owner. * Emits a `BurnPercentageChanged` event if the burn percentage is decreased successfully. * @param _burnPercentage The burn percentage to be set, must be between 0 and 5 inclusive and less than the current burn percentage. */ function decreaseBurnPercentage(uint256 _burnPercentage) external onlyOwner { require(_burnPercentage >= 0 && _burnPercentage <= 5, 'unrecognised burn percentage'); require(_burnPercentage < burnPercentage, 'New burn percentage must be less than current value'); emit BurnPercentageChanged(burnPercentage, _burnPercentage, block.timestamp); burnPercentage = _burnPercentage; } /** * @dev change whitelist status of a particular address * @param _address address of the user to change status * @param _status bool value for the status */ function whitelistAddress(address _address, bool _status) external onlyOwner { isWhitelisted[_address] = _status; } /** * @dev Returns the name of the token. * @return The name of the token. */ function name() public view virtual override returns (string memory) { return _name; } /** * @dev Returns the symbol of the token. * @return The symbol of the token. */ function symbol() public view virtual override returns (string memory) { return _symbol; } /** * @dev Returns the number of decimals used for token display. * @return The number of decimals. */ function decimals() public view virtual override returns (uint8) { return _decimals; } /** * @dev Returns the total supply of the token. * @return The total supply. */ function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } /** * @dev Returns the balance of the specified account. * @param account The address to check the balance for. * @return The balance of the account. */ function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } /** * @dev Transfers tokens from the caller to a specified recipient. * @param recipient The address to transfer tokens to. * @param amount The amount of tokens to transfer. * @return A boolean value indicating whether the transfer was successful. */ function transfer(address recipient, uint256 amount) public virtual override returns (bool) { uint256 burnTax = isWhitelisted[_msgSender()] || isWhitelisted[recipient] ? 0 : ((amount * burnPercentage) / 100); if (burnTax > 0) _burn(_msgSender(), burnTax); _transfer(_msgSender(), recipient, amount - burnTax); return true; } /** * @dev Returns the amount of tokens that the spender is allowed to spend on behalf of the owner. * @param from The address that approves the spending. * @param to The address that is allowed to spend. * @return The remaining allowance for the spender. */ function allowance(address from, address to) public view virtual override returns (uint256) { return _allowances[from][to]; } /** * @dev Approves the specified address to spend the specified amount of tokens on behalf of the caller. * @param to The address to approve the spending for. * @param amount The amount of tokens to approve. * @return A boolean value indicating whether the approval was successful. */ function approve(address to, uint256 amount) public virtual override returns (bool) { _approve(_msgSender(), to, amount); return true; } /** * @dev Transfers tokens from one address to another. * @param sender The address to transfer tokens from. * @param recipient The address to transfer tokens to. * @param amount The amount of tokens to transfer. * @return A boolean value indicating whether the transfer was successful. */ function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) { uint256 burnTax = isWhitelisted[sender] || isWhitelisted[recipient] ? 0 : ((amount * burnPercentage) / 100); if (burnTax > 0) _burn(sender, burnTax); _transfer(sender, recipient, amount - burnTax); uint256 currentAllowance = _allowances[sender][_msgSender()]; require(currentAllowance >= amount, 'ERC20: transfer amount exceeds allowance'); unchecked { _approve(sender, _msgSender(), currentAllowance - amount); } return true; } /** * @dev Increases the allowance of the specified address to spend tokens on behalf of the caller. * @param to The address to increase the allowance for. * @param addedValue The amount of tokens to increase the allowance by. * @return A boolean value indicating whether the increase was successful. */ function increaseAllowance(address to, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), to, _allowances[_msgSender()][to] + addedValue); return true; } /** * @dev Decreases the allowance granted by the owner of the tokens to `to` account. * @param to The account allowed to spend the tokens. * @param subtractedValue The amount of tokens to decrease the allowance by. * @return A boolean value indicating whether the operation succeeded. */ function decreaseAllowance(address to, uint256 subtractedValue) public virtual returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][to]; require(currentAllowance >= subtractedValue, 'ERC20: decreased allowance below zero'); unchecked { _approve(_msgSender(), to, currentAllowance - subtractedValue); } return true; } /** * @dev Transfers `amount` tokens from `sender` to `recipient`. * @param sender The account to transfer tokens from. * @param recipient The account to transfer tokens to. * @param amount The amount of tokens to transfer. */ function _transfer(address sender, address recipient, uint256 amount) internal virtual { require(amount > 0, 'ERC20: transfer amount zero'); require(sender != address(0), 'ERC20: transfer from the zero address'); require(recipient != address(0), 'ERC20: transfer to the zero address'); uint256 senderBalance = _balances[sender]; require(senderBalance >= amount, 'ERC20: transfer amount exceeds balance'); unchecked { _balances[sender] = senderBalance - amount; } _balances[recipient] += amount; emit Transfer(sender, recipient, amount); } /** * @dev Creates `amount` tokens and assigns them to `account`. * @param account The account to assign the newly created tokens to. * @param amount The amount of tokens to create. */ function _mint(address account, uint256 amount) internal virtual { require(account != address(0), 'ERC20: mint to the zero address'); _totalSupply += amount; _balances[account] += amount; emit Transfer(address(0), account, amount); } /** * @dev Destroys `amount` tokens from `account`, reducing the total supply. * @param account The account to burn tokens from. * @param amount The amount of tokens to burn. */ function _burn(address account, uint256 amount) internal virtual { require(account != address(0), 'ERC20: burn from the zero address'); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, 'ERC20: burn amount exceeds balance'); unchecked { _balances[account] = accountBalance - amount; } _totalSupply -= amount; emit Transfer(account, address(0), amount); } /** * @dev Destroys `amount` tokens from the caller's account, reducing the total supply. * @param amount The amount of tokens to burn. */ function burn(uint256 amount) external { _burn(_msgSender(), amount); } /** * @dev Sets `amount` as the allowance of `to` over the caller's tokens. * @param from The account granting the allowance. * @param to The account allowed to spend the tokens. * @param amount The amount of tokens to allow. */ function _approve(address from, address to, uint256 amount) internal virtual { require(from != address(0), 'ERC20: approve from the zero address'); require(to != address(0), 'ERC20: approve to the zero address'); _allowances[from][to] = amount; emit Approval(from, to, amount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldBurnPercentage","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newBurnPercentage","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"BurnPercentageChanged","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":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","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":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"burnPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burnReserve","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_burnPercentage","type":"uint256"}],"name":"decreaseBurnPercentage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWhitelisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityReserve","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"presaleReserve","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stakingReserve","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"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"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"whitelistAddress","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405260056006553480156200001657600080fd5b5060405162002ed938038062002ed983398181016040528101906200003c919062000619565b6200005c62000050620001ae60201b60201c565b620001b660201b60201c565b816004908051906020019062000074929190620003cc565b5080600590805190602001906200008d929190620003cc565b50620000d473dd1f2861e95295ea691fda2cc558833e1c6eecb26012600a620000b7919062000838565b6332116200620000c8919062000889565b6200027a60201b60201c565b6200011a738aab0a7f226957bd1b5573cdc6819ee39f671c406012600a620000fd919062000838565b631f4add406200010e919062000889565b6200027a60201b60201c565b6200016073204b34f04874e749f176433f621e6a7d018773b96012600a62000143919062000838565b631f4add4062000154919062000889565b6200027a60201b60201c565b620001a673e8b5f9e179e36b85003de7ffa52a4ff9ab96b3396012600a62000189919062000838565b630c8458806200019a919062000889565b6200027a60201b60201c565b505062000a5d565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620002ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002e4906200094b565b60405180910390fd5b80600360008282546200030191906200096d565b9250508190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546200035991906200096d565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003c09190620009db565b60405180910390a35050565b828054620003da9062000a27565b90600052602060002090601f016020900481019282620003fe57600085556200044a565b82601f106200041957805160ff19168380011785556200044a565b828001600101855582156200044a579182015b82811115620004495782518255916020019190600101906200042c565b5b5090506200045991906200045d565b5090565b5b80821115620004785760008160009055506001016200045e565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620004e5826200049a565b810181811067ffffffffffffffff82111715620005075762000506620004ab565b5b80604052505050565b60006200051c6200047c565b90506200052a8282620004da565b919050565b600067ffffffffffffffff8211156200054d576200054c620004ab565b5b62000558826200049a565b9050602081019050919050565b60005b838110156200058557808201518184015260208101905062000568565b8381111562000595576000848401525b50505050565b6000620005b2620005ac846200052f565b62000510565b905082815260208101848484011115620005d157620005d062000495565b5b620005de84828562000565565b509392505050565b600082601f830112620005fe57620005fd62000490565b5b8151620006108482602086016200059b565b91505092915050565b6000806040838503121562000633576200063262000486565b5b600083015167ffffffffffffffff8111156200065457620006536200048b565b5b6200066285828601620005e6565b925050602083015167ffffffffffffffff8111156200068657620006856200048b565b5b6200069485828601620005e6565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200072c578086048111156200070457620007036200069e565b5b6001851615620007145780820291505b80810290506200072485620006cd565b9450620006e4565b94509492505050565b6000826200074757600190506200081a565b816200075757600090506200081a565b81600181146200077057600281146200077b57620007b1565b60019150506200081a565b60ff84111562000790576200078f6200069e565b5b8360020a915084821115620007aa57620007a96200069e565b5b506200081a565b5060208310610133831016604e8410600b8410161715620007eb5782820a905083811115620007e557620007e46200069e565b5b6200081a565b620007fa8484846001620006da565b925090508184048111156200081457620008136200069e565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620008458262000821565b915062000852836200082b565b9250620008817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000735565b905092915050565b6000620008968262000821565b9150620008a38362000821565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620008df57620008de6200069e565b5b828202905092915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000933601f83620008ea565b91506200094082620008fb565b602082019050919050565b60006020820190508181036000830152620009668162000924565b9050919050565b60006200097a8262000821565b9150620009878362000821565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620009bf57620009be6200069e565b5b828201905092915050565b620009d58162000821565b82525050565b6000602082019050620009f26000830184620009ca565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000a4057607f821691505b6020821081141562000a575762000a56620009f8565b5b50919050565b61246c8062000a6d6000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c80638da5cb5b116100c3578063b9a45aac1161007c578063b9a45aac146103b8578063bf16257a146103d4578063dd62ed3e146103f2578063f01f20df14610422578063f2fde38b14610440578063fb5f2bf01461045c5761014d565b80638da5cb5b146102e057806395d89b41146102fe578063a457c2d71461031c578063a9059cbb1461034c578063b61d43b11461037c578063b753bfe91461039a5761014d565b8063313ce56711610115578063313ce5671461020c578063395093511461022a5780633af32abf1461025a57806342966c681461028a57806370a08231146102a6578063715018a6146102d65761014d565b806306fdde0314610152578063095ea7b3146101705780630c900e90146101a057806318160ddd146101be57806323b872dd146101dc575b600080fd5b61015a610478565b604051610167919061160e565b60405180910390f35b61018a600480360381019061018591906116c9565b61050a565b6040516101979190611724565b60405180910390f35b6101a8610528565b6040516101b5919061174e565b60405180910390f35b6101c6610548565b6040516101d3919061174e565b60405180910390f35b6101f660048036038101906101f19190611769565b610552565b6040516102039190611724565b60405180910390f35b610214610734565b60405161022191906117d8565b60405180910390f35b610244600480360381019061023f91906116c9565b61073d565b6040516102519190611724565b60405180910390f35b610274600480360381019061026f91906117f3565b6107e9565b6040516102819190611724565b60405180910390f35b6102a4600480360381019061029f9190611820565b610809565b005b6102c060048036038101906102bb91906117f3565b61081d565b6040516102cd919061174e565b60405180910390f35b6102de610866565b005b6102e861087a565b6040516102f5919061185c565b60405180910390f35b6103066108a3565b604051610313919061160e565b60405180910390f35b610336600480360381019061033191906116c9565b610935565b6040516103439190611724565b60405180910390f35b610366600480360381019061036191906116c9565b610a20565b6040516103739190611724565b60405180910390f35b610384610b36565b604051610391919061174e565b60405180910390f35b6103a2610b56565b6040516103af919061174e565b60405180910390f35b6103d260048036038101906103cd91906118a3565b610b76565b005b6103dc610bd9565b6040516103e9919061174e565b60405180910390f35b61040c600480360381019061040791906118e3565b610bf9565b604051610419919061174e565b60405180910390f35b61042a610c80565b604051610437919061174e565b60405180910390f35b61045a600480360381019061045591906117f3565b610c86565b005b61047660048036038101906104719190611820565b610d0a565b005b60606004805461048790611952565b80601f01602080910402602001604051908101604052809291908181526020018280546104b390611952565b80156105005780601f106104d557610100808354040283529160200191610500565b820191906000526020600020905b8154815290600101906020018083116104e357829003601f168201915b5050505050905090565b600061051e610517610dee565b8484610df6565b6001905092915050565b6012600a6105369190611ae6565b63321162006105459190611b31565b81565b6000600354905090565b600080600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806105f65750600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6106195760646006548461060a9190611b31565b6106149190611bba565b61061c565b60005b90506000811115610632576106318582610fc1565b5b610648858583866106439190611beb565b611182565b6000600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610693610dee565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905083811015610713576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070a90611c91565b60405180910390fd5b6107278661071f610dee565b868403610df6565b6001925050509392505050565b60006012905090565b60006107df61074a610dee565b848460026000610758610dee565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546107da9190611cb1565b610df6565b6001905092915050565b60076020528060005260406000206000915054906101000a900460ff1681565b61081a610814610dee565b82610fc1565b50565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61086e611433565b61087860006114b1565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600580546108b290611952565b80601f01602080910402602001604051908101604052809291908181526020018280546108de90611952565b801561092b5780601f106109005761010080835404028352916020019161092b565b820191906000526020600020905b81548152906001019060200180831161090e57829003601f168201915b5050505050905090565b60008060026000610944610dee565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610a01576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f890611d79565b60405180910390fd5b610a15610a0c610dee565b85858403610df6565b600191505092915050565b60008060076000610a2f610dee565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610acb5750600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610aee57606460065484610adf9190611b31565b610ae99190611bba565b610af1565b60005b90506000811115610b0e57610b0d610b07610dee565b82610fc1565b5b610b2b610b19610dee565b858386610b269190611beb565b611182565b600191505092915050565b6012600a610b449190611ae6565b631f4add40610b539190611b31565b81565b6012600a610b649190611ae6565b630c845880610b739190611b31565b81565b610b7e611433565b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6012600a610be79190611ae6565b631f4add40610bf69190611b31565b81565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60065481565b610c8e611433565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610cfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf590611e0b565b60405180910390fd5b610d07816114b1565b50565b610d12611433565b60008110158015610d24575060058111155b610d63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5a90611e77565b60405180910390fd5b6006548110610da7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9e90611f09565b60405180910390fd5b7fafd4c5968eb4c4f41c197f7b04631da32443712b604999d828a71e36a26731fc6006548242604051610ddc93929190611f29565b60405180910390a18060068190555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5d90611fd2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ed6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ecd90612064565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610fb4919061174e565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611031576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611028906120f6565b60405180910390fd5b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156110b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110af90612188565b60405180910390fd5b818103600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600360008282546111109190611beb565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611175919061174e565b60405180910390a3505050565b600081116111c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111bc906121f4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611235576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122c90612286565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129c90612318565b60405180910390fd5b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561132c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611323906123aa565b60405180910390fd5b818103600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113c19190611cb1565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611425919061174e565b60405180910390a350505050565b61143b610dee565b73ffffffffffffffffffffffffffffffffffffffff1661145961087a565b73ffffffffffffffffffffffffffffffffffffffff16146114af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a690612416565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081519050919050565b600082825260208201905092915050565b60005b838110156115af578082015181840152602081019050611594565b838111156115be576000848401525b50505050565b6000601f19601f8301169050919050565b60006115e082611575565b6115ea8185611580565b93506115fa818560208601611591565b611603816115c4565b840191505092915050565b6000602082019050818103600083015261162881846115d5565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061166082611635565b9050919050565b61167081611655565b811461167b57600080fd5b50565b60008135905061168d81611667565b92915050565b6000819050919050565b6116a681611693565b81146116b157600080fd5b50565b6000813590506116c38161169d565b92915050565b600080604083850312156116e0576116df611630565b5b60006116ee8582860161167e565b92505060206116ff858286016116b4565b9150509250929050565b60008115159050919050565b61171e81611709565b82525050565b60006020820190506117396000830184611715565b92915050565b61174881611693565b82525050565b6000602082019050611763600083018461173f565b92915050565b60008060006060848603121561178257611781611630565b5b60006117908682870161167e565b93505060206117a18682870161167e565b92505060406117b2868287016116b4565b9150509250925092565b600060ff82169050919050565b6117d2816117bc565b82525050565b60006020820190506117ed60008301846117c9565b92915050565b60006020828403121561180957611808611630565b5b60006118178482850161167e565b91505092915050565b60006020828403121561183657611835611630565b5b6000611844848285016116b4565b91505092915050565b61185681611655565b82525050565b6000602082019050611871600083018461184d565b92915050565b61188081611709565b811461188b57600080fd5b50565b60008135905061189d81611877565b92915050565b600080604083850312156118ba576118b9611630565b5b60006118c88582860161167e565b92505060206118d98582860161188e565b9150509250929050565b600080604083850312156118fa576118f9611630565b5b60006119088582860161167e565b92505060206119198582860161167e565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061196a57607f821691505b6020821081141561197e5761197d611923565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115611a0a578086048111156119e6576119e5611984565b5b60018516156119f55780820291505b8081029050611a03856119b3565b94506119ca565b94509492505050565b600082611a235760019050611adf565b81611a315760009050611adf565b8160018114611a475760028114611a5157611a80565b6001915050611adf565b60ff841115611a6357611a62611984565b5b8360020a915084821115611a7a57611a79611984565b5b50611adf565b5060208310610133831016604e8410600b8410161715611ab55782820a905083811115611ab057611aaf611984565b5b611adf565b611ac284848460016119c0565b92509050818404811115611ad957611ad8611984565b5b81810290505b9392505050565b6000611af182611693565b9150611afc836117bc565b9250611b297fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611a13565b905092915050565b6000611b3c82611693565b9150611b4783611693565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611b8057611b7f611984565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611bc582611693565b9150611bd083611693565b925082611be057611bdf611b8b565b5b828204905092915050565b6000611bf682611693565b9150611c0183611693565b925082821015611c1457611c13611984565b5b828203905092915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000611c7b602883611580565b9150611c8682611c1f565b604082019050919050565b60006020820190508181036000830152611caa81611c6e565b9050919050565b6000611cbc82611693565b9150611cc783611693565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611cfc57611cfb611984565b5b828201905092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611d63602583611580565b9150611d6e82611d07565b604082019050919050565b60006020820190508181036000830152611d9281611d56565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611df5602683611580565b9150611e0082611d99565b604082019050919050565b60006020820190508181036000830152611e2481611de8565b9050919050565b7f756e7265636f676e69736564206275726e2070657263656e7461676500000000600082015250565b6000611e61601c83611580565b9150611e6c82611e2b565b602082019050919050565b60006020820190508181036000830152611e9081611e54565b9050919050565b7f4e6577206275726e2070657263656e74616765206d757374206265206c65737360008201527f207468616e2063757272656e742076616c756500000000000000000000000000602082015250565b6000611ef3603383611580565b9150611efe82611e97565b604082019050919050565b60006020820190508181036000830152611f2281611ee6565b9050919050565b6000606082019050611f3e600083018661173f565b611f4b602083018561173f565b611f58604083018461173f565b949350505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611fbc602483611580565b9150611fc782611f60565b604082019050919050565b60006020820190508181036000830152611feb81611faf565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061204e602283611580565b915061205982611ff2565b604082019050919050565b6000602082019050818103600083015261207d81612041565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006120e0602183611580565b91506120eb82612084565b604082019050919050565b6000602082019050818103600083015261210f816120d3565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000612172602283611580565b915061217d82612116565b604082019050919050565b600060208201905081810360008301526121a181612165565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74207a65726f0000000000600082015250565b60006121de601b83611580565b91506121e9826121a8565b602082019050919050565b6000602082019050818103600083015261220d816121d1565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612270602583611580565b915061227b82612214565b604082019050919050565b6000602082019050818103600083015261229f81612263565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612302602383611580565b915061230d826122a6565b604082019050919050565b60006020820190508181036000830152612331816122f5565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000612394602683611580565b915061239f82612338565b604082019050919050565b600060208201905081810360008301526123c381612387565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612400602083611580565b915061240b826123ca565b602082019050919050565b6000602082019050818103600083015261242f816123f3565b905091905056fea2646970667358221220e65910a1024571972ce3261c92121748f3cab1799d400a68448aa41f8608950d64736f6c6343000809003300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000b426974636f696e2045544600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064254434554460000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061014d5760003560e01c80638da5cb5b116100c3578063b9a45aac1161007c578063b9a45aac146103b8578063bf16257a146103d4578063dd62ed3e146103f2578063f01f20df14610422578063f2fde38b14610440578063fb5f2bf01461045c5761014d565b80638da5cb5b146102e057806395d89b41146102fe578063a457c2d71461031c578063a9059cbb1461034c578063b61d43b11461037c578063b753bfe91461039a5761014d565b8063313ce56711610115578063313ce5671461020c578063395093511461022a5780633af32abf1461025a57806342966c681461028a57806370a08231146102a6578063715018a6146102d65761014d565b806306fdde0314610152578063095ea7b3146101705780630c900e90146101a057806318160ddd146101be57806323b872dd146101dc575b600080fd5b61015a610478565b604051610167919061160e565b60405180910390f35b61018a600480360381019061018591906116c9565b61050a565b6040516101979190611724565b60405180910390f35b6101a8610528565b6040516101b5919061174e565b60405180910390f35b6101c6610548565b6040516101d3919061174e565b60405180910390f35b6101f660048036038101906101f19190611769565b610552565b6040516102039190611724565b60405180910390f35b610214610734565b60405161022191906117d8565b60405180910390f35b610244600480360381019061023f91906116c9565b61073d565b6040516102519190611724565b60405180910390f35b610274600480360381019061026f91906117f3565b6107e9565b6040516102819190611724565b60405180910390f35b6102a4600480360381019061029f9190611820565b610809565b005b6102c060048036038101906102bb91906117f3565b61081d565b6040516102cd919061174e565b60405180910390f35b6102de610866565b005b6102e861087a565b6040516102f5919061185c565b60405180910390f35b6103066108a3565b604051610313919061160e565b60405180910390f35b610336600480360381019061033191906116c9565b610935565b6040516103439190611724565b60405180910390f35b610366600480360381019061036191906116c9565b610a20565b6040516103739190611724565b60405180910390f35b610384610b36565b604051610391919061174e565b60405180910390f35b6103a2610b56565b6040516103af919061174e565b60405180910390f35b6103d260048036038101906103cd91906118a3565b610b76565b005b6103dc610bd9565b6040516103e9919061174e565b60405180910390f35b61040c600480360381019061040791906118e3565b610bf9565b604051610419919061174e565b60405180910390f35b61042a610c80565b604051610437919061174e565b60405180910390f35b61045a600480360381019061045591906117f3565b610c86565b005b61047660048036038101906104719190611820565b610d0a565b005b60606004805461048790611952565b80601f01602080910402602001604051908101604052809291908181526020018280546104b390611952565b80156105005780601f106104d557610100808354040283529160200191610500565b820191906000526020600020905b8154815290600101906020018083116104e357829003601f168201915b5050505050905090565b600061051e610517610dee565b8484610df6565b6001905092915050565b6012600a6105369190611ae6565b63321162006105459190611b31565b81565b6000600354905090565b600080600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806105f65750600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6106195760646006548461060a9190611b31565b6106149190611bba565b61061c565b60005b90506000811115610632576106318582610fc1565b5b610648858583866106439190611beb565b611182565b6000600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610693610dee565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905083811015610713576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070a90611c91565b60405180910390fd5b6107278661071f610dee565b868403610df6565b6001925050509392505050565b60006012905090565b60006107df61074a610dee565b848460026000610758610dee565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546107da9190611cb1565b610df6565b6001905092915050565b60076020528060005260406000206000915054906101000a900460ff1681565b61081a610814610dee565b82610fc1565b50565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61086e611433565b61087860006114b1565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600580546108b290611952565b80601f01602080910402602001604051908101604052809291908181526020018280546108de90611952565b801561092b5780601f106109005761010080835404028352916020019161092b565b820191906000526020600020905b81548152906001019060200180831161090e57829003601f168201915b5050505050905090565b60008060026000610944610dee565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610a01576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f890611d79565b60405180910390fd5b610a15610a0c610dee565b85858403610df6565b600191505092915050565b60008060076000610a2f610dee565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610acb5750600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610aee57606460065484610adf9190611b31565b610ae99190611bba565b610af1565b60005b90506000811115610b0e57610b0d610b07610dee565b82610fc1565b5b610b2b610b19610dee565b858386610b269190611beb565b611182565b600191505092915050565b6012600a610b449190611ae6565b631f4add40610b539190611b31565b81565b6012600a610b649190611ae6565b630c845880610b739190611b31565b81565b610b7e611433565b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6012600a610be79190611ae6565b631f4add40610bf69190611b31565b81565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60065481565b610c8e611433565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610cfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf590611e0b565b60405180910390fd5b610d07816114b1565b50565b610d12611433565b60008110158015610d24575060058111155b610d63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5a90611e77565b60405180910390fd5b6006548110610da7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9e90611f09565b60405180910390fd5b7fafd4c5968eb4c4f41c197f7b04631da32443712b604999d828a71e36a26731fc6006548242604051610ddc93929190611f29565b60405180910390a18060068190555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5d90611fd2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ed6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ecd90612064565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610fb4919061174e565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611031576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611028906120f6565b60405180910390fd5b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156110b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110af90612188565b60405180910390fd5b818103600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600360008282546111109190611beb565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611175919061174e565b60405180910390a3505050565b600081116111c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111bc906121f4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611235576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122c90612286565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129c90612318565b60405180910390fd5b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561132c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611323906123aa565b60405180910390fd5b818103600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113c19190611cb1565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611425919061174e565b60405180910390a350505050565b61143b610dee565b73ffffffffffffffffffffffffffffffffffffffff1661145961087a565b73ffffffffffffffffffffffffffffffffffffffff16146114af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a690612416565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081519050919050565b600082825260208201905092915050565b60005b838110156115af578082015181840152602081019050611594565b838111156115be576000848401525b50505050565b6000601f19601f8301169050919050565b60006115e082611575565b6115ea8185611580565b93506115fa818560208601611591565b611603816115c4565b840191505092915050565b6000602082019050818103600083015261162881846115d5565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061166082611635565b9050919050565b61167081611655565b811461167b57600080fd5b50565b60008135905061168d81611667565b92915050565b6000819050919050565b6116a681611693565b81146116b157600080fd5b50565b6000813590506116c38161169d565b92915050565b600080604083850312156116e0576116df611630565b5b60006116ee8582860161167e565b92505060206116ff858286016116b4565b9150509250929050565b60008115159050919050565b61171e81611709565b82525050565b60006020820190506117396000830184611715565b92915050565b61174881611693565b82525050565b6000602082019050611763600083018461173f565b92915050565b60008060006060848603121561178257611781611630565b5b60006117908682870161167e565b93505060206117a18682870161167e565b92505060406117b2868287016116b4565b9150509250925092565b600060ff82169050919050565b6117d2816117bc565b82525050565b60006020820190506117ed60008301846117c9565b92915050565b60006020828403121561180957611808611630565b5b60006118178482850161167e565b91505092915050565b60006020828403121561183657611835611630565b5b6000611844848285016116b4565b91505092915050565b61185681611655565b82525050565b6000602082019050611871600083018461184d565b92915050565b61188081611709565b811461188b57600080fd5b50565b60008135905061189d81611877565b92915050565b600080604083850312156118ba576118b9611630565b5b60006118c88582860161167e565b92505060206118d98582860161188e565b9150509250929050565b600080604083850312156118fa576118f9611630565b5b60006119088582860161167e565b92505060206119198582860161167e565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061196a57607f821691505b6020821081141561197e5761197d611923565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115611a0a578086048111156119e6576119e5611984565b5b60018516156119f55780820291505b8081029050611a03856119b3565b94506119ca565b94509492505050565b600082611a235760019050611adf565b81611a315760009050611adf565b8160018114611a475760028114611a5157611a80565b6001915050611adf565b60ff841115611a6357611a62611984565b5b8360020a915084821115611a7a57611a79611984565b5b50611adf565b5060208310610133831016604e8410600b8410161715611ab55782820a905083811115611ab057611aaf611984565b5b611adf565b611ac284848460016119c0565b92509050818404811115611ad957611ad8611984565b5b81810290505b9392505050565b6000611af182611693565b9150611afc836117bc565b9250611b297fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611a13565b905092915050565b6000611b3c82611693565b9150611b4783611693565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611b8057611b7f611984565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611bc582611693565b9150611bd083611693565b925082611be057611bdf611b8b565b5b828204905092915050565b6000611bf682611693565b9150611c0183611693565b925082821015611c1457611c13611984565b5b828203905092915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000611c7b602883611580565b9150611c8682611c1f565b604082019050919050565b60006020820190508181036000830152611caa81611c6e565b9050919050565b6000611cbc82611693565b9150611cc783611693565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611cfc57611cfb611984565b5b828201905092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611d63602583611580565b9150611d6e82611d07565b604082019050919050565b60006020820190508181036000830152611d9281611d56565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611df5602683611580565b9150611e0082611d99565b604082019050919050565b60006020820190508181036000830152611e2481611de8565b9050919050565b7f756e7265636f676e69736564206275726e2070657263656e7461676500000000600082015250565b6000611e61601c83611580565b9150611e6c82611e2b565b602082019050919050565b60006020820190508181036000830152611e9081611e54565b9050919050565b7f4e6577206275726e2070657263656e74616765206d757374206265206c65737360008201527f207468616e2063757272656e742076616c756500000000000000000000000000602082015250565b6000611ef3603383611580565b9150611efe82611e97565b604082019050919050565b60006020820190508181036000830152611f2281611ee6565b9050919050565b6000606082019050611f3e600083018661173f565b611f4b602083018561173f565b611f58604083018461173f565b949350505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611fbc602483611580565b9150611fc782611f60565b604082019050919050565b60006020820190508181036000830152611feb81611faf565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061204e602283611580565b915061205982611ff2565b604082019050919050565b6000602082019050818103600083015261207d81612041565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006120e0602183611580565b91506120eb82612084565b604082019050919050565b6000602082019050818103600083015261210f816120d3565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000612172602283611580565b915061217d82612116565b604082019050919050565b600060208201905081810360008301526121a181612165565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74207a65726f0000000000600082015250565b60006121de601b83611580565b91506121e9826121a8565b602082019050919050565b6000602082019050818103600083015261220d816121d1565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612270602583611580565b915061227b82612214565b604082019050919050565b6000602082019050818103600083015261229f81612263565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612302602383611580565b915061230d826122a6565b604082019050919050565b60006020820190508181036000830152612331816122f5565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000612394602683611580565b915061239f82612338565b604082019050919050565b600060208201905081810360008301526123c381612387565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612400602083611580565b915061240b826123ca565b602082019050919050565b6000602082019050818103600083015261242f816123f3565b905091905056fea2646970667358221220e65910a1024571972ce3261c92121748f3cab1799d400a68448aa41f8608950d64736f6c63430008090033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000b426974636f696e2045544600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064254434554460000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : name_ (string): Bitcoin ETF
Arg [1] : symbol_ (string): BTCETF
-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [2] : 000000000000000000000000000000000000000000000000000000000000000b
Arg [3] : 426974636f696e20455446000000000000000000000000000000000000000000
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [5] : 4254434554460000000000000000000000000000000000000000000000000000
Deployed Bytecode Sourcemap
6285:9937:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8805:94;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11184:149;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6644:72;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9420:102;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11657:594;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9224:94;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12584:190;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6953:45;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15578:79;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9700:121;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5518:97;;;:::i;:::-;;4913:81;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9002:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13092:370;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10101:347;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6721:72;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6872:74;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8583:123;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6798:69;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10736:133;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6606:33;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5760:191;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7999:399;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8805:94;8859:13;8888:5;8881:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8805:94;:::o;11184:149::-;11262:4;11275:34;11284:12;:10;:12::i;:::-;11298:2;11302:6;11275:8;:34::i;:::-;11323:4;11316:11;;11184:149;;;;:::o;6644:72::-;6599:2;6700;:15;;;;:::i;:::-;6685:11;:31;;;;:::i;:::-;6644:72;:::o;9420:102::-;9481:7;9504:12;;9497:19;;9420:102;:::o;11657:594::-;11763:4;11776:15;11794:13;:21;11808:6;11794:21;;;;;;;;;;;;;;;;;;;;;;;;;:49;;;;11819:13;:24;11833:9;11819:24;;;;;;;;;;;;;;;;;;;;;;;;;11794:49;:89;;11879:3;11861:14;;11852:6;:23;;;;:::i;:::-;11851:31;;;;:::i;:::-;11794:89;;;11846:1;11794:89;11776:107;;11904:1;11894:7;:11;11890:39;;;11907:22;11913:6;11921:7;11907:5;:22::i;:::-;11890:39;11936:46;11946:6;11954:9;11974:7;11965:6;:16;;;;:::i;:::-;11936:9;:46::i;:::-;11989:24;12016:11;:19;12028:6;12016:19;;;;;;;;;;;;;;;:33;12036:12;:10;:12::i;:::-;12016:33;;;;;;;;;;;;;;;;11989:60;;12084:6;12064:16;:26;;12056:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;12161:57;12170:6;12178:12;:10;:12::i;:::-;12211:6;12192:16;:25;12161:8;:57::i;:::-;12241:4;12234:11;;;;11657:594;;;;;:::o;9224:94::-;9282:5;6599:2;9296:16;;9224:94;:::o;12584:190::-;12667:4;12680:70;12689:12;:10;:12::i;:::-;12703:2;12739:10;12707:11;:25;12719:12;:10;:12::i;:::-;12707:25;;;;;;;;;;;;;;;:29;12733:2;12707:29;;;;;;;;;;;;;;;;:42;;;;:::i;:::-;12680:8;:70::i;:::-;12764:4;12757:11;;12584:190;;;;:::o;6953:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;15578:79::-;15624:27;15630:12;:10;:12::i;:::-;15644:6;15624:5;:27::i;:::-;15578:79;:::o;9700:121::-;9774:7;9797:9;:18;9807:7;9797:18;;;;;;;;;;;;;;;;9790:25;;9700:121;;;:::o;5518:97::-;4813:13;:11;:13::i;:::-;5579:30:::1;5606:1;5579:18;:30::i;:::-;5518:97::o:0;4913:81::-;4959:7;4982:6;;;;;;;;;;;4975:13;;4913:81;:::o;9002:98::-;9058:13;9087:7;9080:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9002:98;:::o;13092:370::-;13180:4;13193:24;13220:11;:25;13232:12;:10;:12::i;:::-;13220:25;;;;;;;;;;;;;;;:29;13246:2;13220:29;;;;;;;;;;;;;;;;13193:56;;13284:15;13264:16;:35;;13256:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;13367:62;13376:12;:10;:12::i;:::-;13390:2;13413:15;13394:16;:34;13367:8;:62::i;:::-;13452:4;13445:11;;;13092:370;;;;:::o;10101:347::-;10187:4;10200:15;10218:13;:27;10232:12;:10;:12::i;:::-;10218:27;;;;;;;;;;;;;;;;;;;;;;;;;:55;;;;10249:13;:24;10263:9;10249:24;;;;;;;;;;;;;;;;;;;;;;;;;10218:55;:95;;10309:3;10291:14;;10282:6;:23;;;;:::i;:::-;10281:31;;;;:::i;:::-;10218:95;;;10276:1;10218:95;10200:113;;10334:1;10324:7;:11;10320:45;;;10337:28;10343:12;:10;:12::i;:::-;10357:7;10337:5;:28::i;:::-;10320:45;10372:52;10382:12;:10;:12::i;:::-;10396:9;10416:7;10407:6;:16;;;;:::i;:::-;10372:9;:52::i;:::-;10438:4;10431:11;;;10101:347;;;;:::o;6721:72::-;6599:2;6777;:15;;;;:::i;:::-;6762:11;:31;;;;:::i;:::-;6721:72;:::o;6872:74::-;6599:2;6930;:15;;;;:::i;:::-;6915:11;:31;;;;:::i;:::-;6872:74;:::o;8583:123::-;4813:13;:11;:13::i;:::-;8693:7:::1;8667:13;:23;8681:8;8667:23;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;8583:123:::0;;:::o;6798:69::-;6599:2;6851;:15;;;;:::i;:::-;6836:11;:31;;;;:::i;:::-;6798:69;:::o;10736:133::-;10819:7;10842:11;:17;10854:4;10842:17;;;;;;;;;;;;;;;:21;10860:2;10842:21;;;;;;;;;;;;;;;;10835:28;;10736:133;;;;:::o;6606:33::-;;;;:::o;5760:191::-;4813:13;:11;:13::i;:::-;5865:1:::1;5845:22;;:8;:22;;;;5837:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;5917:28;5936:8;5917:18;:28::i;:::-;5760:191:::0;:::o;7999:399::-;4813:13;:11;:13::i;:::-;8109:1:::1;8090:15;:20;;:44;;;;;8133:1;8114:15;:20;;8090:44;8082:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;8200:14;;8182:15;:32;8174:96;;;;;;;;;;;;:::i;:::-;;;;;;;;;8282:71;8304:14;;8320:15;8337;8282:71;;;;;;;;:::i;:::-;;;;;;;;8377:15;8360:14;:32;;;;7999:399:::0;:::o;3680:92::-;3733:7;3756:10;3749:17;;3680:92;:::o;15915:304::-;16023:1;16007:18;;:4;:18;;;;15999:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16095:1;16081:16;;:2;:16;;;;16073:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;16169:6;16145:11;:17;16157:4;16145:17;;;;;;;;;;;;;;;:21;16163:2;16145:21;;;;;;;;;;;;;;;:30;;;;16202:2;16187:26;;16196:4;16187:26;;;16206:6;16187:26;;;;;;:::i;:::-;;;;;;;;15915:304;;;:::o;14986:432::-;15085:1;15066:21;;:7;:21;;;;15058:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15134:22;15159:9;:18;15169:7;15159:18;;;;;;;;;;;;;;;;15134:43;;15210:6;15192:14;:24;;15184:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;15319:6;15302:14;:23;15281:9;:18;15291:7;15281:18;;;;;;;;;;;;;;;:44;;;;15355:6;15339:12;;:22;;;;;;;:::i;:::-;;;;;;;;15401:1;15375:37;;15384:7;15375:37;;;15405:6;15375:37;;;;;;:::i;:::-;;;;;;;;15051:367;14986:432;;:::o;13718:597::-;13829:1;13820:6;:10;13812:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;13895:1;13877:20;;:6;:20;;;;13869:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;13975:1;13954:23;;:9;:23;;;;13946:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;14026:21;14050:9;:17;14060:6;14050:17;;;;;;;;;;;;;;;;14026:41;;14099:6;14082:13;:23;;14074:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;14210:6;14194:13;:22;14174:9;:17;14184:6;14174:17;;;;;;;;;;;;;;;:42;;;;14254:6;14230:9;:20;14240:9;14230:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;14291:9;14274:35;;14283:6;14274:35;;;14302:6;14274:35;;;;;;:::i;:::-;;;;;;;;13805:510;13718:597;;;:::o;5064:126::-;5135:12;:10;:12::i;:::-;5124:23;;:7;:5;:7::i;:::-;:23;;;5116:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5064:126::o;6101:177::-;6171:16;6190:6;;;;;;;;;;;6171:25;;6212:8;6203:6;;:17;;;;;;;;;;;;;;;;;;6263:8;6232:40;;6253:8;6232:40;;;;;;;;;;;;6164:114;6101:177;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:118::-;3581:24;3599:5;3581:24;:::i;:::-;3576:3;3569:37;3494:118;;:::o;3618:222::-;3711:4;3749:2;3738:9;3734:18;3726:26;;3762:71;3830:1;3819:9;3815:17;3806:6;3762:71;:::i;:::-;3618:222;;;;:::o;3846:619::-;3923:6;3931;3939;3988:2;3976:9;3967:7;3963:23;3959:32;3956:119;;;3994:79;;:::i;:::-;3956:119;4114:1;4139:53;4184:7;4175:6;4164:9;4160:22;4139:53;:::i;:::-;4129:63;;4085:117;4241:2;4267:53;4312:7;4303:6;4292:9;4288:22;4267:53;:::i;:::-;4257:63;;4212:118;4369:2;4395:53;4440:7;4431:6;4420:9;4416:22;4395:53;:::i;:::-;4385:63;;4340:118;3846:619;;;;;:::o;4471:86::-;4506:7;4546:4;4539:5;4535:16;4524:27;;4471:86;;;:::o;4563:112::-;4646:22;4662:5;4646:22;:::i;:::-;4641:3;4634:35;4563:112;;:::o;4681:214::-;4770:4;4808:2;4797:9;4793:18;4785:26;;4821:67;4885:1;4874:9;4870:17;4861:6;4821:67;:::i;:::-;4681:214;;;;:::o;4901:329::-;4960:6;5009:2;4997:9;4988:7;4984:23;4980:32;4977:119;;;5015:79;;:::i;:::-;4977:119;5135:1;5160:53;5205:7;5196:6;5185:9;5181:22;5160:53;:::i;:::-;5150:63;;5106:117;4901:329;;;;:::o;5236:::-;5295:6;5344:2;5332:9;5323:7;5319:23;5315:32;5312:119;;;5350:79;;:::i;:::-;5312:119;5470:1;5495:53;5540:7;5531:6;5520:9;5516:22;5495:53;:::i;:::-;5485:63;;5441:117;5236:329;;;;:::o;5571:118::-;5658:24;5676:5;5658:24;:::i;:::-;5653:3;5646:37;5571:118;;:::o;5695:222::-;5788:4;5826:2;5815:9;5811:18;5803:26;;5839:71;5907:1;5896:9;5892:17;5883:6;5839:71;:::i;:::-;5695:222;;;;:::o;5923:116::-;5993:21;6008:5;5993:21;:::i;:::-;5986:5;5983:32;5973:60;;6029:1;6026;6019:12;5973:60;5923:116;:::o;6045:133::-;6088:5;6126:6;6113:20;6104:29;;6142:30;6166:5;6142:30;:::i;:::-;6045:133;;;;:::o;6184:468::-;6249:6;6257;6306:2;6294:9;6285:7;6281:23;6277:32;6274:119;;;6312:79;;:::i;:::-;6274:119;6432:1;6457:53;6502:7;6493:6;6482:9;6478:22;6457:53;:::i;:::-;6447:63;;6403:117;6559:2;6585:50;6627:7;6618:6;6607:9;6603:22;6585:50;:::i;:::-;6575:60;;6530:115;6184:468;;;;;:::o;6658:474::-;6726:6;6734;6783:2;6771:9;6762:7;6758:23;6754:32;6751:119;;;6789:79;;:::i;:::-;6751:119;6909:1;6934:53;6979:7;6970:6;6959:9;6955:22;6934:53;:::i;:::-;6924:63;;6880:117;7036:2;7062:53;7107:7;7098:6;7087:9;7083:22;7062:53;:::i;:::-;7052:63;;7007:118;6658:474;;;;;:::o;7138:180::-;7186:77;7183:1;7176:88;7283:4;7280:1;7273:15;7307:4;7304:1;7297:15;7324:320;7368:6;7405:1;7399:4;7395:12;7385:22;;7452:1;7446:4;7442:12;7473:18;7463:81;;7529:4;7521:6;7517:17;7507:27;;7463:81;7591:2;7583:6;7580:14;7560:18;7557:38;7554:84;;;7610:18;;:::i;:::-;7554:84;7375:269;7324:320;;;:::o;7650:180::-;7698:77;7695:1;7688:88;7795:4;7792:1;7785:15;7819:4;7816:1;7809:15;7836:102;7878:8;7925:5;7922:1;7918:13;7897:34;;7836:102;;;:::o;7944:848::-;8005:5;8012:4;8036:6;8027:15;;8060:5;8051:14;;8074:712;8095:1;8085:8;8082:15;8074:712;;;8190:4;8185:3;8181:14;8175:4;8172:24;8169:50;;;8199:18;;:::i;:::-;8169:50;8249:1;8239:8;8235:16;8232:451;;;8664:4;8657:5;8653:16;8644:25;;8232:451;8714:4;8708;8704:15;8696:23;;8744:32;8767:8;8744:32;:::i;:::-;8732:44;;8074:712;;;7944:848;;;;;;;:::o;8798:1073::-;8852:5;9043:8;9033:40;;9064:1;9055:10;;9066:5;;9033:40;9092:4;9082:36;;9109:1;9100:10;;9111:5;;9082:36;9178:4;9226:1;9221:27;;;;9262:1;9257:191;;;;9171:277;;9221:27;9239:1;9230:10;;9241:5;;;9257:191;9302:3;9292:8;9289:17;9286:43;;;9309:18;;:::i;:::-;9286:43;9358:8;9355:1;9351:16;9342:25;;9393:3;9386:5;9383:14;9380:40;;;9400:18;;:::i;:::-;9380:40;9433:5;;;9171:277;;9557:2;9547:8;9544:16;9538:3;9532:4;9529:13;9525:36;9507:2;9497:8;9494:16;9489:2;9483:4;9480:12;9476:35;9460:111;9457:246;;;9613:8;9607:4;9603:19;9594:28;;9648:3;9641:5;9638:14;9635:40;;;9655:18;;:::i;:::-;9635:40;9688:5;;9457:246;9728:42;9766:3;9756:8;9750:4;9747:1;9728:42;:::i;:::-;9713:57;;;;9802:4;9797:3;9793:14;9786:5;9783:25;9780:51;;;9811:18;;:::i;:::-;9780:51;9860:4;9853:5;9849:16;9840:25;;8798:1073;;;;;;:::o;9877:281::-;9935:5;9959:23;9977:4;9959:23;:::i;:::-;9951:31;;10003:25;10019:8;10003:25;:::i;:::-;9991:37;;10047:104;10084:66;10074:8;10068:4;10047:104;:::i;:::-;10038:113;;9877:281;;;;:::o;10164:348::-;10204:7;10227:20;10245:1;10227:20;:::i;:::-;10222:25;;10261:20;10279:1;10261:20;:::i;:::-;10256:25;;10449:1;10381:66;10377:74;10374:1;10371:81;10366:1;10359:9;10352:17;10348:105;10345:131;;;10456:18;;:::i;:::-;10345:131;10504:1;10501;10497:9;10486:20;;10164:348;;;;:::o;10518:180::-;10566:77;10563:1;10556:88;10663:4;10660:1;10653:15;10687:4;10684:1;10677:15;10704:185;10744:1;10761:20;10779:1;10761:20;:::i;:::-;10756:25;;10795:20;10813:1;10795:20;:::i;:::-;10790:25;;10834:1;10824:35;;10839:18;;:::i;:::-;10824:35;10881:1;10878;10874:9;10869:14;;10704:185;;;;:::o;10895:191::-;10935:4;10955:20;10973:1;10955:20;:::i;:::-;10950:25;;10989:20;11007:1;10989:20;:::i;:::-;10984:25;;11028:1;11025;11022:8;11019:34;;;11033:18;;:::i;:::-;11019:34;11078:1;11075;11071:9;11063:17;;10895:191;;;;:::o;11092:227::-;11232:34;11228:1;11220:6;11216:14;11209:58;11301:10;11296:2;11288:6;11284:15;11277:35;11092:227;:::o;11325:366::-;11467:3;11488:67;11552:2;11547:3;11488:67;:::i;:::-;11481:74;;11564:93;11653:3;11564:93;:::i;:::-;11682:2;11677:3;11673:12;11666:19;;11325:366;;;:::o;11697:419::-;11863:4;11901:2;11890:9;11886:18;11878:26;;11950:9;11944:4;11940:20;11936:1;11925:9;11921:17;11914:47;11978:131;12104:4;11978:131;:::i;:::-;11970:139;;11697:419;;;:::o;12122:305::-;12162:3;12181:20;12199:1;12181:20;:::i;:::-;12176:25;;12215:20;12233:1;12215:20;:::i;:::-;12210:25;;12369:1;12301:66;12297:74;12294:1;12291:81;12288:107;;;12375:18;;:::i;:::-;12288:107;12419:1;12416;12412:9;12405:16;;12122:305;;;;:::o;12433:224::-;12573:34;12569:1;12561:6;12557:14;12550:58;12642:7;12637:2;12629:6;12625:15;12618:32;12433:224;:::o;12663:366::-;12805:3;12826:67;12890:2;12885:3;12826:67;:::i;:::-;12819:74;;12902:93;12991:3;12902:93;:::i;:::-;13020:2;13015:3;13011:12;13004:19;;12663:366;;;:::o;13035:419::-;13201:4;13239:2;13228:9;13224:18;13216:26;;13288:9;13282:4;13278:20;13274:1;13263:9;13259:17;13252:47;13316:131;13442:4;13316:131;:::i;:::-;13308:139;;13035:419;;;:::o;13460:225::-;13600:34;13596:1;13588:6;13584:14;13577:58;13669:8;13664:2;13656:6;13652:15;13645:33;13460:225;:::o;13691:366::-;13833:3;13854:67;13918:2;13913:3;13854:67;:::i;:::-;13847:74;;13930:93;14019:3;13930:93;:::i;:::-;14048:2;14043:3;14039:12;14032:19;;13691:366;;;:::o;14063:419::-;14229:4;14267:2;14256:9;14252:18;14244:26;;14316:9;14310:4;14306:20;14302:1;14291:9;14287:17;14280:47;14344:131;14470:4;14344:131;:::i;:::-;14336:139;;14063:419;;;:::o;14488:178::-;14628:30;14624:1;14616:6;14612:14;14605:54;14488:178;:::o;14672:366::-;14814:3;14835:67;14899:2;14894:3;14835:67;:::i;:::-;14828:74;;14911:93;15000:3;14911:93;:::i;:::-;15029:2;15024:3;15020:12;15013:19;;14672:366;;;:::o;15044:419::-;15210:4;15248:2;15237:9;15233:18;15225:26;;15297:9;15291:4;15287:20;15283:1;15272:9;15268:17;15261:47;15325:131;15451:4;15325:131;:::i;:::-;15317:139;;15044:419;;;:::o;15469:238::-;15609:34;15605:1;15597:6;15593:14;15586:58;15678:21;15673:2;15665:6;15661:15;15654:46;15469:238;:::o;15713:366::-;15855:3;15876:67;15940:2;15935:3;15876:67;:::i;:::-;15869:74;;15952:93;16041:3;15952:93;:::i;:::-;16070:2;16065:3;16061:12;16054:19;;15713:366;;;:::o;16085:419::-;16251:4;16289:2;16278:9;16274:18;16266:26;;16338:9;16332:4;16328:20;16324:1;16313:9;16309:17;16302:47;16366:131;16492:4;16366:131;:::i;:::-;16358:139;;16085:419;;;:::o;16510:442::-;16659:4;16697:2;16686:9;16682:18;16674:26;;16710:71;16778:1;16767:9;16763:17;16754:6;16710:71;:::i;:::-;16791:72;16859:2;16848:9;16844:18;16835:6;16791:72;:::i;:::-;16873;16941:2;16930:9;16926:18;16917:6;16873:72;:::i;:::-;16510:442;;;;;;:::o;16958:223::-;17098:34;17094:1;17086:6;17082:14;17075:58;17167:6;17162:2;17154:6;17150:15;17143:31;16958:223;:::o;17187:366::-;17329:3;17350:67;17414:2;17409:3;17350:67;:::i;:::-;17343:74;;17426:93;17515:3;17426:93;:::i;:::-;17544:2;17539:3;17535:12;17528:19;;17187:366;;;:::o;17559:419::-;17725:4;17763:2;17752:9;17748:18;17740:26;;17812:9;17806:4;17802:20;17798:1;17787:9;17783:17;17776:47;17840:131;17966:4;17840:131;:::i;:::-;17832:139;;17559:419;;;:::o;17984:221::-;18124:34;18120:1;18112:6;18108:14;18101:58;18193:4;18188:2;18180:6;18176:15;18169:29;17984:221;:::o;18211:366::-;18353:3;18374:67;18438:2;18433:3;18374:67;:::i;:::-;18367:74;;18450:93;18539:3;18450:93;:::i;:::-;18568:2;18563:3;18559:12;18552:19;;18211:366;;;:::o;18583:419::-;18749:4;18787:2;18776:9;18772:18;18764:26;;18836:9;18830:4;18826:20;18822:1;18811:9;18807:17;18800:47;18864:131;18990:4;18864:131;:::i;:::-;18856:139;;18583:419;;;:::o;19008:220::-;19148:34;19144:1;19136:6;19132:14;19125:58;19217:3;19212:2;19204:6;19200:15;19193:28;19008:220;:::o;19234:366::-;19376:3;19397:67;19461:2;19456:3;19397:67;:::i;:::-;19390:74;;19473:93;19562:3;19473:93;:::i;:::-;19591:2;19586:3;19582:12;19575:19;;19234:366;;;:::o;19606:419::-;19772:4;19810:2;19799:9;19795:18;19787:26;;19859:9;19853:4;19849:20;19845:1;19834:9;19830:17;19823:47;19887:131;20013:4;19887:131;:::i;:::-;19879:139;;19606:419;;;:::o;20031:221::-;20171:34;20167:1;20159:6;20155:14;20148:58;20240:4;20235:2;20227:6;20223:15;20216:29;20031:221;:::o;20258:366::-;20400:3;20421:67;20485:2;20480:3;20421:67;:::i;:::-;20414:74;;20497:93;20586:3;20497:93;:::i;:::-;20615:2;20610:3;20606:12;20599:19;;20258:366;;;:::o;20630:419::-;20796:4;20834:2;20823:9;20819:18;20811:26;;20883:9;20877:4;20873:20;20869:1;20858:9;20854:17;20847:47;20911:131;21037:4;20911:131;:::i;:::-;20903:139;;20630:419;;;:::o;21055:177::-;21195:29;21191:1;21183:6;21179:14;21172:53;21055:177;:::o;21238:366::-;21380:3;21401:67;21465:2;21460:3;21401:67;:::i;:::-;21394:74;;21477:93;21566:3;21477:93;:::i;:::-;21595:2;21590:3;21586:12;21579:19;;21238:366;;;:::o;21610:419::-;21776:4;21814:2;21803:9;21799:18;21791:26;;21863:9;21857:4;21853:20;21849:1;21838:9;21834:17;21827:47;21891:131;22017:4;21891:131;:::i;:::-;21883:139;;21610:419;;;:::o;22035:224::-;22175:34;22171:1;22163:6;22159:14;22152:58;22244:7;22239:2;22231:6;22227:15;22220:32;22035:224;:::o;22265:366::-;22407:3;22428:67;22492:2;22487:3;22428:67;:::i;:::-;22421:74;;22504:93;22593:3;22504:93;:::i;:::-;22622:2;22617:3;22613:12;22606:19;;22265:366;;;:::o;22637:419::-;22803:4;22841:2;22830:9;22826:18;22818:26;;22890:9;22884:4;22880:20;22876:1;22865:9;22861:17;22854:47;22918:131;23044:4;22918:131;:::i;:::-;22910:139;;22637:419;;;:::o;23062:222::-;23202:34;23198:1;23190:6;23186:14;23179:58;23271:5;23266:2;23258:6;23254:15;23247:30;23062:222;:::o;23290:366::-;23432:3;23453:67;23517:2;23512:3;23453:67;:::i;:::-;23446:74;;23529:93;23618:3;23529:93;:::i;:::-;23647:2;23642:3;23638:12;23631:19;;23290:366;;;:::o;23662:419::-;23828:4;23866:2;23855:9;23851:18;23843:26;;23915:9;23909:4;23905:20;23901:1;23890:9;23886:17;23879:47;23943:131;24069:4;23943:131;:::i;:::-;23935:139;;23662:419;;;:::o;24087:225::-;24227:34;24223:1;24215:6;24211:14;24204:58;24296:8;24291:2;24283:6;24279:15;24272:33;24087:225;:::o;24318:366::-;24460:3;24481:67;24545:2;24540:3;24481:67;:::i;:::-;24474:74;;24557:93;24646:3;24557:93;:::i;:::-;24675:2;24670:3;24666:12;24659:19;;24318:366;;;:::o;24690:419::-;24856:4;24894:2;24883:9;24879:18;24871:26;;24943:9;24937:4;24933:20;24929:1;24918:9;24914:17;24907:47;24971:131;25097:4;24971:131;:::i;:::-;24963:139;;24690:419;;;:::o;25115:182::-;25255:34;25251:1;25243:6;25239:14;25232:58;25115:182;:::o;25303:366::-;25445:3;25466:67;25530:2;25525:3;25466:67;:::i;:::-;25459:74;;25542:93;25631:3;25542:93;:::i;:::-;25660:2;25655:3;25651:12;25644:19;;25303:366;;;:::o;25675:419::-;25841:4;25879:2;25868:9;25864:18;25856:26;;25928:9;25922:4;25918:20;25914:1;25903:9;25899:17;25892:47;25956:131;26082:4;25956:131;:::i;:::-;25948:139;;25675:419;;;:::o
Swarm Source
ipfs://e65910a1024571972ce3261c92121748f3cab1799d400a68448aa41f8608950d
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.