ETH Price: $3,395.45 (-1.37%)
Gas: 2 Gwei

Contract

0xA8b919680258d369114910511cc87595aec0be6D
 
Transaction Hash
Method
Block
From
To
Value
0x031a9884ba2d13863909aa566184366a4ca810ac5b1f0660392aa11b6ca24f01 Send(pending)2024-06-23 4:01:076 days ago1719115267IN
LUKSO: LYXe Token
0 ETH(Pending)(Pending)
Approve201963432024-06-29 9:07:111 hr ago1719652031IN
LUKSO: LYXe Token
0 ETH0.000102122.19838079
Transfer201961652024-06-29 8:31:232 hrs ago1719649883IN
LUKSO: LYXe Token
0 ETH0.000222313.03830025
Approve201947172024-06-29 3:40:116 hrs ago1719632411IN
LUKSO: LYXe Token
0 ETH0.000076952.64202781
Send201943342024-06-29 2:23:118 hrs ago1719627791IN
LUKSO: LYXe Token
0 ETH0.000177734.02568601
Send201943302024-06-29 2:22:238 hrs ago1719627743IN
LUKSO: LYXe Token
0 ETH0.000691464.03233099
Approve201918332024-06-28 17:59:4716 hrs ago1719597587IN
LUKSO: LYXe Token
0 ETH0.000206614.4418109
Transfer201904602024-06-28 13:23:3521 hrs ago1719581015IN
LUKSO: LYXe Token
0 ETH0.000316355.20004952
Transfer201900422024-06-28 11:59:4722 hrs ago1719575987IN
LUKSO: LYXe Token
0 ETH0.000266484.75667584
Transfer201900012024-06-28 11:51:3522 hrs ago1719575495IN
LUKSO: LYXe Token
0 ETH0.000373614.79460176
Send201897472024-06-28 11:00:2323 hrs ago1719572423IN
LUKSO: LYXe Token
0 ETH0.001131566.59884636
Send201879442024-06-28 4:57:5929 hrs ago1719550679IN
LUKSO: LYXe Token
0 ETH0.000989334.60775584
Approve201875462024-06-28 3:37:5930 hrs ago1719545879IN
LUKSO: LYXe Token
0 ETH0.000152023.28855825
Send201868672024-06-28 1:21:4733 hrs ago1719537707IN
LUKSO: LYXe Token
0 ETH0.001285957.49920198
Send201868632024-06-28 1:20:5933 hrs ago1719537659IN
LUKSO: LYXe Token
0 ETH0.001334157.78026483
Approve201868142024-06-28 1:10:5933 hrs ago1719537059IN
LUKSO: LYXe Token
0 ETH0.000188294.07734296
Approve201858172024-06-27 21:49:4736 hrs ago1719524987IN
LUKSO: LYXe Token
0 ETH0.000268445.812997
Approve201857982024-06-27 21:45:5936 hrs ago1719524759IN
LUKSO: LYXe Token
0 ETH0.000283416.13715724
Approve201856102024-06-27 21:07:5937 hrs ago1719522479IN
LUKSO: LYXe Token
0 ETH0.000318876.90500448
Approve201855932024-06-27 21:04:3537 hrs ago1719522275IN
LUKSO: LYXe Token
0 ETH0.000334387.18851332
Approve201854772024-06-27 20:41:1137 hrs ago1719520871IN
LUKSO: LYXe Token
0 ETH0.000297966.40562838
Approve201854252024-06-27 20:30:4738 hrs ago1719520247IN
LUKSO: LYXe Token
0 ETH0.000270065.84349251
Approve201853662024-06-27 20:18:5938 hrs ago1719519539IN
LUKSO: LYXe Token
0 ETH0.000249795.40216346
Send201850082024-06-27 19:06:5939 hrs ago1719515219IN
LUKSO: LYXe Token
0 ETH0.0017677910.30983399
Approve201842912024-06-27 16:42:5941 hrs ago1719506579IN
LUKSO: LYXe Token
0 ETH0.0003713115.32320337
View all transactions

Latest 2 internal transactions

Advanced mode:
Parent Transaction Hash Block From To Value
192972122024-02-24 11:41:11125 days ago1708774871
LUKSO: LYXe Token
0.00808384 ETH
171817052023-05-03 17:35:11422 days ago1683135311
LUKSO: LYXe Token
0.1277 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ReversibleICOToken

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
Yes with 200 runs

Other Settings:
petersburg EvmVersion, Apache-2.0 license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-05-13
*/

/**
 *Submitted for verification at Etherscan.io on 2020-05-13
*/
/*
 * source        https://github.com/lukso-network/rICO-smart-contracts
 * @name       LUKSO Token
 * @author      Micky Socaci <[email protected]>, Fabian Vogelsteller <@frozeman>
 * @license     Apachae 2.0
 */

/**
 * @dev Implementation of the `IERC777` interface.
 *
 * This implementation is agnostic to the way tokens are created. This means
 * that a supply mechanism has to be added in a derived contract using `_mint`.
 *
 * Support for ERC20 is included in this contract, as specified by the EIP: both
 * the ERC777 and ERC20 interfaces can be safely used when interacting with it.
 * Both `IERC777.Sent` and `IERC20.Transfer` events are emitted on token
 * movements.
 *
 * Additionally, the `granularity` value is hard-coded to `1`, meaning that there
 * are no special restrictions in the amount of tokens that created, moved, or
 * destroyed. This makes integration with ERC20 applications seamless.
 */

pragma solidity ^0.5.0;


interface IERC777 {
    
    function name() external view returns (string memory);

    
    function symbol() external view returns (string memory);

    
    function granularity() external view returns (uint256);

    
    function totalSupply() external view returns (uint256);

    
    function balanceOf(address owner) external view returns (uint256);

    
    function send(address recipient, uint256 amount, bytes calldata data) external;

    
    function burn(uint256 amount, bytes calldata data) external;

    
    function isOperatorFor(address operator, address tokenHolder) external view returns (bool);

    
    function authorizeOperator(address operator) external;

    
    function revokeOperator(address operator) external;

    
    function defaultOperators() external view returns (address[] memory);

    
    function operatorSend(
        address sender,
        address recipient,
        uint256 amount,
        bytes calldata data,
        bytes calldata operatorData
    ) external;

    
    function operatorBurn(
        address account,
        uint256 amount,
        bytes calldata data,
        bytes calldata operatorData
    ) external;

    event Sent(
        address indexed operator,
        address indexed from,
        address indexed to,
        uint256 amount,
        bytes data,
        bytes operatorData
    );

    event Minted(address indexed operator, address indexed to, uint256 amount, bytes data, bytes operatorData);

    event Burned(address indexed operator, address indexed from, uint256 amount, bytes data, bytes operatorData);

    event AuthorizedOperator(address indexed operator, address indexed tokenHolder);

    event RevokedOperator(address indexed operator, address indexed tokenHolder);
}

interface IERC777Recipient {
    
    function tokensReceived(
        address operator,
        address from,
        address to,
        uint256 amount,
        bytes calldata userData,
        bytes calldata operatorData
    ) external;
}

interface IERC777Sender {
    
    function tokensToSend(
        address operator,
        address from,
        address to,
        uint256 amount,
        bytes calldata userData,
        bytes calldata operatorData
    ) external;
}

interface IERC20 {
    
    function totalSupply() external view returns (uint256);

    
    function balanceOf(address account) external view returns (uint256);

    
    function transfer(address recipient, uint256 amount) external returns (bool);

    
    function allowance(address owner, address spender) external view returns (uint256);

    
    function approve(address spender, uint256 amount) external returns (bool);

    
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    
    event Transfer(address indexed from, address indexed to, uint256 value);

    
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

library SafeMath {
    
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "SafeMath: subtraction overflow");
        uint256 c = a - b;

        return c;
    }

    
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        
        
        
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        
        require(b > 0, "SafeMath: division by zero");
        uint256 c = a / b;
        

        return c;
    }

    
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b != 0, "SafeMath: modulo by zero");
        return a % b;
    }
}

library Address {
    
    function isContract(address account) internal view returns (bool) {
        
        
        
        
        
        
        
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        
        assembly { codehash := extcodehash(account) }
        return (codehash != 0x0 && codehash != accountHash);
    }

    
    function toPayable(address account) internal pure returns (address payable) {
        return address(uint160(account));
    }
}

interface IERC1820Registry {
    
    function setManager(address account, address newManager) external;

    
    function getManager(address account) external view returns (address);

    
    function setInterfaceImplementer(address account, bytes32 interfaceHash, address implementer) external;

    
    function getInterfaceImplementer(address account, bytes32 interfaceHash) external view returns (address);

    
    function interfaceHash(string calldata interfaceName) external pure returns (bytes32);

    
    function updateERC165Cache(address account, bytes4 interfaceId) external;

    
    function implementsERC165Interface(address account, bytes4 interfaceId) external view returns (bool);

    
    function implementsERC165InterfaceNoCache(address account, bytes4 interfaceId) external view returns (bool);

    event InterfaceImplementerSet(address indexed account, bytes32 indexed interfaceHash, address indexed implementer);

    event ManagerChanged(address indexed account, address indexed newManager);
}

contract ERC777 is IERC777, IERC20 {
    using SafeMath for uint256;
    using Address for address;

    IERC1820Registry private _erc1820 = IERC1820Registry(0x1820a4B7618BdE71Dce8cdc73aAB6C95905faD24);

    mapping(address => uint256) private _balances;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    
    

    
    bytes32 constant private TOKENS_SENDER_INTERFACE_HASH =
        0x29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe895;

    
    bytes32 constant private TOKENS_RECIPIENT_INTERFACE_HASH =
        0xb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b;

    
    address[] private _defaultOperatorsArray;

    
    mapping(address => bool) private _defaultOperators;

    
    mapping(address => mapping(address => bool)) private _operators;
    mapping(address => mapping(address => bool)) private _revokedDefaultOperators;

    
    mapping (address => mapping (address => uint256)) private _allowances;

    
    constructor(
        string memory name,
        string memory symbol,
        address[] memory defaultOperators
    ) public {
        _name = name;
        _symbol = symbol;

        _defaultOperatorsArray = defaultOperators;
        for (uint256 i = 0; i < _defaultOperatorsArray.length; i++) {
            _defaultOperators[_defaultOperatorsArray[i]] = true;
        }

        
        _erc1820.setInterfaceImplementer(address(this), keccak256("ERC777Token"), address(this));
        _erc1820.setInterfaceImplementer(address(this), keccak256("ERC20Token"), address(this));
    }

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

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

    
    function decimals() public pure returns (uint8) {
        return 18;
    }

    
    function granularity() public view returns (uint256) {
        return 1;
    }

    
    function totalSupply() public view returns (uint256) {
        return _totalSupply;
    }

    
    function balanceOf(address tokenHolder) public view returns (uint256) {
        return _balances[tokenHolder];
    }

    
    function send(address recipient, uint256 amount, bytes calldata data) external {
        _send(msg.sender, msg.sender, recipient, amount, data, "", true);
    }

    
    function transfer(address recipient, uint256 amount) external returns (bool) {
        require(recipient != address(0), "ERC777: transfer to the zero address");

        address from = msg.sender;

        _callTokensToSend(from, from, recipient, amount, "", "");

        _move(from, from, recipient, amount, "", "");

        _callTokensReceived(from, from, recipient, amount, "", "", false);

        return true;
    }

    
    function burn(uint256 amount, bytes calldata data) external {
        _burn(msg.sender, msg.sender, amount, data, "");
    }

    
    function isOperatorFor(
        address operator,
        address tokenHolder
    ) public view returns (bool) {
        return operator == tokenHolder ||
            (_defaultOperators[operator] && !_revokedDefaultOperators[tokenHolder][operator]) ||
            _operators[tokenHolder][operator];
    }

    
    function authorizeOperator(address operator) external {
        require(msg.sender != operator, "ERC777: authorizing self as operator");

        if (_defaultOperators[operator]) {
            delete _revokedDefaultOperators[msg.sender][operator];
        } else {
            _operators[msg.sender][operator] = true;
        }

        emit AuthorizedOperator(operator, msg.sender);
    }

    
    function revokeOperator(address operator) external {
        require(operator != msg.sender, "ERC777: revoking self as operator");

        if (_defaultOperators[operator]) {
            _revokedDefaultOperators[msg.sender][operator] = true;
        } else {
            delete _operators[msg.sender][operator];
        }

        emit RevokedOperator(operator, msg.sender);
    }

    
    function defaultOperators() public view returns (address[] memory) {
        return _defaultOperatorsArray;
    }

    
    function operatorSend(
        address sender,
        address recipient,
        uint256 amount,
        bytes calldata data,
        bytes calldata operatorData
    )
    external
    {
        require(isOperatorFor(msg.sender, sender), "ERC777: caller is not an operator for holder");
        _send(msg.sender, sender, recipient, amount, data, operatorData, true);
    }

    
    function operatorBurn(address account, uint256 amount, bytes calldata data, bytes calldata operatorData) external {
        require(isOperatorFor(msg.sender, account), "ERC777: caller is not an operator for holder");
        _burn(msg.sender, account, amount, data, operatorData);
    }

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

    
    function approve(address spender, uint256 value) external returns (bool) {
        address holder = msg.sender;
        _approve(holder, spender, value);
        return true;
    }

   
    function transferFrom(address holder, address recipient, uint256 amount) external returns (bool) {
        require(recipient != address(0), "ERC777: transfer to the zero address");
        require(holder != address(0), "ERC777: transfer from the zero address");

        address spender = msg.sender;

        _callTokensToSend(spender, holder, recipient, amount, "", "");

        _move(spender, holder, recipient, amount, "", "");
        _approve(holder, spender, _allowances[holder][spender].sub(amount));

        _callTokensReceived(spender, holder, recipient, amount, "", "", false);

        return true;
    }

    
    function _mint(
        address operator,
        address account,
        uint256 amount,
        bytes memory userData,
        bytes memory operatorData
    )
    internal
    {
        require(account != address(0), "ERC777: mint to the zero address");

        
        _totalSupply = _totalSupply.add(amount);
        _balances[account] = _balances[account].add(amount);

        _callTokensReceived(operator, address(0), account, amount, userData, operatorData, true);

        emit Minted(operator, account, amount, userData, operatorData);
        emit Transfer(address(0), account, amount);
    }

    
    function _send(
        address operator,
        address from,
        address to,
        uint256 amount,
        bytes memory userData,
        bytes memory operatorData,
        bool requireReceptionAck
    )
        private
    {
        require(from != address(0), "ERC777: send from the zero address");
        require(to != address(0), "ERC777: send to the zero address");

        _callTokensToSend(operator, from, to, amount, userData, operatorData);

        _move(operator, from, to, amount, userData, operatorData);

        _callTokensReceived(operator, from, to, amount, userData, operatorData, requireReceptionAck);
    }

    
    function _burn(
        address operator,
        address from,
        uint256 amount,
        bytes memory data,
        bytes memory operatorData
    )
        internal
    {
        require(from != address(0), "ERC777: burn from the zero address");

        _callTokensToSend(operator, from, address(0), amount, data, operatorData);

        
        _totalSupply = _totalSupply.sub(amount);
        _balances[from] = _balances[from].sub(amount);

        emit Burned(operator, from, amount, data, operatorData);
        emit Transfer(from, address(0), amount);
    }

    function _move(
        address operator,
        address from,
        address to,
        uint256 amount,
        bytes memory userData,
        bytes memory operatorData
    )
        internal
    {
        _balances[from] = _balances[from].sub(amount);
        _balances[to] = _balances[to].add(amount);

        emit Sent(operator, from, to, amount, userData, operatorData);
        emit Transfer(from, to, amount);
    }

    function _approve(address holder, address spender, uint256 value) private {
        
        
        
        require(spender != address(0), "ERC777: approve to the zero address");

        _allowances[holder][spender] = value;
        emit Approval(holder, spender, value);
    }

    
    function _callTokensToSend(
        address operator,
        address from,
        address to,
        uint256 amount,
        bytes memory userData,
        bytes memory operatorData
    )
        private
    {
        address implementer = _erc1820.getInterfaceImplementer(from, TOKENS_SENDER_INTERFACE_HASH);
        if (implementer != address(0)) {
            IERC777Sender(implementer).tokensToSend(operator, from, to, amount, userData, operatorData);
        }
    }

    
    function _callTokensReceived(
        address operator,
        address from,
        address to,
        uint256 amount,
        bytes memory userData,
        bytes memory operatorData,
        bool requireReceptionAck
    )
        private
    {
        address implementer = _erc1820.getInterfaceImplementer(to, TOKENS_RECIPIENT_INTERFACE_HASH);
        if (implementer != address(0)) {
            IERC777Recipient(implementer).tokensReceived(operator, from, to, amount, userData, operatorData);
        } else if (requireReceptionAck) {
            require(!to.isContract(), "ERC777: token recipient contract has no implementer for ERC777TokensRecipient");
        }
    }
}

interface ReversibleICO {
    function getParticipantReservedTokens(address) external view returns (uint256);
}

contract ReversibleICOToken is ERC777 {

    ReversibleICO public rICO;

    bool public frozen; 
    bool public initialized; 
    
    
    address public deployingAddress;
    address public tokenGenesisAddress; 
    address public migrationAddress; 
    address public freezerAddress; 
    address public rescuerAddress; 

    
    event SetRICOaddress(address indexed rICOAddress);
    event SetMigrationAddress(address indexed migrationAddress);
    event Frozen(address indexed freezerAddress);
    event Unfrozen(address indexed freezerAddress);
    event RemovedFreezer(address indexed freezerAddress);
    event ChangedRICO(address indexed rICOAddress, address indexed rescuerAddress);


    

    constructor(
        string memory name,
        string memory symbol,
        address[] memory _defaultOperators
    )
    ERC777(name, symbol, _defaultOperators)
    public
    {
        deployingAddress = msg.sender;
    }

    
    function init(
        address _ricoAddress,
        address _freezerAddress,
        address _rescuerAddress,
        address _tokenGenesisAddress,
        uint256 _initialSupply
    )
    public
    isNotInitialized
    onlyDeployingAddress
    {
        require(_freezerAddress != address(0), "_freezerAddress cannot be 0x");
        require(_rescuerAddress != address(0), "_rescuerAddress cannot be 0x");
        require(_tokenGenesisAddress != address(0), "_tokenGenesisAddress cannot be 0x");

        tokenGenesisAddress = _tokenGenesisAddress;
        freezerAddress = _freezerAddress;
        rescuerAddress = _rescuerAddress;

        _mint(_tokenGenesisAddress, _tokenGenesisAddress, _initialSupply, "", "");

        if(_ricoAddress != address(0)) {
            rICO = ReversibleICO(_ricoAddress);
            emit SetRICOaddress(_ricoAddress);
        }

        initialized = true;
    }

    function setRICOaddress(address _ricoAddress)
    public
    onlyTokenGenesisAddress
    {
        require(address(rICO) == address(0), "rICO address already set!");
        require(_ricoAddress != address(0), "rICO address cannot be 0x.");

        rICO = ReversibleICO(_ricoAddress);
        emit SetRICOaddress(_ricoAddress);
    }

    
    function setMigrationAddress(address _migrationAddress)
    public
    onlyTokenGenesisAddress
    {
        migrationAddress = _migrationAddress;
        emit SetMigrationAddress(migrationAddress);
    }


    
    function removeFreezer()
    public
    onlyFreezerAddress
    isNotFrozen
    {
        freezerAddress = address(0);
        emit RemovedFreezer(freezerAddress);
    }

    function freeze() public onlyFreezerAddress {
        frozen = true;
        emit Frozen(freezerAddress);
    }

    function unfreeze() public onlyFreezerAddress {
        frozen = false;
        emit Unfrozen(freezerAddress);
    }

    
    function changeRICO(address _newRicoAddress)
    public
    onlyRescuerAddress
    isFrozen
    {
        rICO = ReversibleICO(_newRicoAddress);
        emit ChangedRICO(_newRicoAddress, rescuerAddress);
    }

    
    function getLockedBalance(address _owner) public view returns(uint256) {
        
        if(address(rICO) != address(0)) {
            return rICO.getParticipantReservedTokens(_owner);
        } else {
            return 0;
        }
    }

    function getUnlockedBalance(address _owner) public view returns(uint256) {
        uint256 balance = balanceOf(_owner);

        
        if(address(rICO) != address(0)) {
            uint256 locked = rICO.getParticipantReservedTokens(_owner);

            if(balance > 0 && locked > 0) {
                if(balance >= locked) {
                    return balance.sub(locked);
                } else {
                    return 0;
                }
            }
        }

        return balance;
    }


    

    
    
    function _move(
        address _operator,
        address _from,
        address _to,
        uint256 _amount,
        bytes memory _userData,
        bytes memory _operatorData
    )
    internal
    isNotFrozen
    isInitialized
    {

        
        if(
            _to == address(rICO) ||
            _to == migrationAddress
        ) {
            
            require(_amount <= balanceOf(_from), "Sending failed: Insufficient funds");

        } else {
            
            require(_amount <= getUnlockedBalance(_from), "Sending failed: Insufficient funds");
        }

        ERC777._move(_operator, _from, _to, _amount, _userData, _operatorData);
    }

    
    function _burn(
        address _operator,
        address _from,
        uint256 _amount,
        bytes memory _data,
        bytes memory _operatorData
    )
    internal
    isNotFrozen
    isInitialized
    {
        require(_amount <= getUnlockedBalance(_from), "Burning failed: Insufficient funds");
        ERC777._burn(_operator, _from, _amount, _data, _operatorData);
    }


    
    
    modifier onlyDeployingAddress() {
        require(msg.sender == deployingAddress, "Only the deployer can call this method.");
        _;
    }

    
    modifier onlyTokenGenesisAddress() {
        require(msg.sender == tokenGenesisAddress, "Only the tokenGenesisAddress can call this method.");
        _;
    }

    
    modifier onlyFreezerAddress() {
        require(msg.sender == freezerAddress, "Only the freezer address can call this method.");
        _;
    }

    
    modifier onlyRescuerAddress() {
        require(msg.sender == rescuerAddress, "Only the rescuer address can call this method.");
        _;
    }

    
    modifier isInitialized() {
        require(initialized == true, "Contract must be initialized.");
        _;
    }

    
    modifier isNotInitialized() {
        require(initialized == false, "Contract is already initialized.");
        _;
    }

    
    modifier isFrozen() {
        require(frozen == true, "Token contract not frozen.");
        _;
    }

    
    modifier isNotFrozen() {
        require(frozen == false, "Token contract is frozen!");
        _;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"address[]","name":"_defaultOperators","type":"address[]"}],"payable":false,"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":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"tokenHolder","type":"address"}],"name":"AuthorizedOperator","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"},{"indexed":false,"internalType":"bytes","name":"operatorData","type":"bytes"}],"name":"Burned","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"rICOAddress","type":"address"},{"indexed":true,"internalType":"address","name":"rescuerAddress","type":"address"}],"name":"ChangedRICO","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"freezerAddress","type":"address"}],"name":"Frozen","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"},{"indexed":false,"internalType":"bytes","name":"operatorData","type":"bytes"}],"name":"Minted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"freezerAddress","type":"address"}],"name":"RemovedFreezer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"tokenHolder","type":"address"}],"name":"RevokedOperator","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"},{"indexed":false,"internalType":"bytes","name":"operatorData","type":"bytes"}],"name":"Sent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"migrationAddress","type":"address"}],"name":"SetMigrationAddress","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"rICOAddress","type":"address"}],"name":"SetRICOaddress","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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"freezerAddress","type":"address"}],"name":"Unfrozen","type":"event"},{"constant":true,"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"authorizeOperator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"tokenHolder","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_newRicoAddress","type":"address"}],"name":"changeRICO","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"defaultOperators","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"deployingAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"freeze","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"freezerAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"frozen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"getLockedBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"getUnlockedBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"granularity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_ricoAddress","type":"address"},{"internalType":"address","name":"_freezerAddress","type":"address"},{"internalType":"address","name":"_rescuerAddress","type":"address"},{"internalType":"address","name":"_tokenGenesisAddress","type":"address"},{"internalType":"uint256","name":"_initialSupply","type":"uint256"}],"name":"init","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"initialized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"tokenHolder","type":"address"}],"name":"isOperatorFor","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"migrationAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes","name":"operatorData","type":"bytes"}],"name":"operatorBurn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes","name":"operatorData","type":"bytes"}],"name":"operatorSend","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"rICO","outputs":[{"internalType":"contract ReversibleICO","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"removeFreezer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"rescuerAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"revokeOperator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"send","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_migrationAddress","type":"address"}],"name":"setMigrationAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_ricoAddress","type":"address"}],"name":"setRICOaddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenGenesisAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unfreeze","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

6080604052600080546001600160a01b031916731820a4b7618bde71dce8cdc73aab6c95905fad241790553480156200003757600080fd5b50604051620033af380380620033af833981810160405260608110156200005d57600080fd5b81019080805160405193929190846401000000008211156200007e57600080fd5b9083019060208201858111156200009457600080fd5b8251640100000000811182820188101715620000af57600080fd5b82525081516020918201929091019080838360005b83811015620000de578181015183820152602001620000c4565b50505050905090810190601f1680156200010c5780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200013057600080fd5b9083019060208201858111156200014657600080fd5b82516401000000008111828201881017156200016157600080fd5b82525081516020918201929091019080838360005b838110156200019057818101518382015260200162000176565b50505050905090810190601f168015620001be5780820380516001836020036101000a031916815260200191505b5060405260200180516040519392919084640100000000821115620001e257600080fd5b908301906020820185811115620001f857600080fd5b82518660208202830111640100000000821117156200021657600080fd5b82525081516020918201928201910280838360005b83811015620002455781810151838201526020016200022b565b5050505090500160405250505082828282600390805190602001906200026d92919062000489565b5081516200028390600490602085019062000489565b508051620002999060059060208401906200050e565b5060005b600554811015620002f95760016006600060058481548110620002bc57fe5b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff19169115159190911790556001016200029d565b5060008054604080517f455243373737546f6b656e0000000000000000000000000000000000000000008152815190819003600b0181207f29965a1d00000000000000000000000000000000000000000000000000000000825230600483018190526024830191909152604482015290516001600160a01b03909216926329965a1d9260648084019382900301818387803b1580156200039857600080fd5b505af1158015620003ad573d6000803e3d6000fd5b505060008054604080517f4552433230546f6b656e000000000000000000000000000000000000000000008152815190819003600a0181207f29965a1d00000000000000000000000000000000000000000000000000000000825230600483018190526024830191909152604482015290516001600160a01b0390921694506329965a1d9350606480820193929182900301818387803b1580156200045157600080fd5b505af115801562000466573d6000803e3d6000fd5b5050600b80546001600160a01b0319163317905550620005bb9650505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620004cc57805160ff1916838001178555620004fc565b82800160010185558215620004fc579182015b82811115620004fc578251825591602001919060010190620004df565b506200050a92915062000574565b5090565b82805482825590600052602060002090810192821562000566579160200282015b828111156200056657825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906200052f565b506200050a92915062000594565b6200059191905b808211156200050a57600081556001016200057b565b90565b6200059191905b808211156200050a5780546001600160a01b03191681556001016200059b565b612de480620005cb6000396000f3fe608060405234801561001057600080fd5b50600436106102115760003560e01c806362a5af3b11610125578063a9059cbb116100ad578063dd62ed3e1161007c578063dd62ed3e14610704578063f60a33c514610732578063fad8b32a14610758578063fc673c4f1461077e578063fe9d93031461085157610211565b8063a9059cbb1461067c578063c4086893146106a8578063c926e3e0146106ce578063d95b6371146106d657610211565b806371c396cc116100f457806371c396cc146105bb57806394242224146105c3578063959b8c3f146105cb57806395d89b41146105f15780639bd9bbc6146105f957610211565b806362a5af3b146104a757806362ad1b83146104af5780636a28f0001461058d57806370a082311461059557610211565b8063230566a8116101a85780634732a7dc116101775780634732a7dc14610423578063556f0dc71461044957806357bf9276146104515780635bfe8ad8146104595780635e9ab1491461046157610211565b8063230566a81461039f57806323b872dd146103a7578063313ce567146103dd57806339029686146103fb57610211565b8063129de5bf116101e4578063129de5bf14610333578063158ef93e1461036b57806318160ddd1461037357806321dd501b1461037b57610211565b8063054f7d9c1461021657806306e485381461023257806306fdde031461028a578063095ea7b314610307575b600080fd5b61021e6108c6565b604080519115158252519081900360200190f35b61023a6108d6565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561027657818101518382015260200161025e565b505050509050019250505060405180910390f35b610292610938565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102cc5781810151838201526020016102b4565b50505050905090810190601f1680156102f95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61021e6004803603604081101561031d57600080fd5b506001600160a01b0381351690602001356109c5565b6103596004803603602081101561034957600080fd5b50356001600160a01b03166109dd565b60408051918252519081900360200190f35b61021e610ac5565b610359610ad5565b610383610adb565b604080516001600160a01b039092168252519081900360200190f35b610383610aea565b61021e600480360360608110156103bd57600080fd5b506001600160a01b03813581169160208101359091169060400135610af9565b6103e5610c5e565b6040805160ff9092168252519081900360200190f35b6104216004803603602081101561041157600080fd5b50356001600160a01b0316610c63565b005b6104216004803603602081101561043957600080fd5b50356001600160a01b0316610d60565b610359610df9565b610383610dfe565b610383610e0d565b610421600480360360a081101561047757600080fd5b506001600160a01b0381358116916020810135821691604082013581169160608101359091169060800135610e1c565b610421611098565b610421600480360360a08110156104c557600080fd5b6001600160a01b03823581169260208101359091169160408201359190810190608081016060820135600160201b8111156104ff57600080fd5b82018360208201111561051157600080fd5b803590602001918460018302840111600160201b8311171561053257600080fd5b919390929091602081019035600160201b81111561054f57600080fd5b82018360208201111561056157600080fd5b803590602001918460018302840111600160201b8311171561058257600080fd5b50909250905061112e565b6104216111f6565b610359600480360360208110156105ab57600080fd5b50356001600160a01b0316611286565b6103836112a1565b6103836112b0565b610421600480360360208110156105e157600080fd5b50356001600160a01b03166112bf565b6102926113c0565b6104216004803603606081101561060f57600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b81111561063e57600080fd5b82018360208201111561065057600080fd5b803590602001918460018302840111600160201b8311171561067157600080fd5b509092509050611421565b61021e6004803603604081101561069257600080fd5b506001600160a01b03813516906020013561147b565b610359600480360360208110156106be57600080fd5b50356001600160a01b031661154d565b6104216115e9565b61021e600480360360408110156106ec57600080fd5b506001600160a01b03813581169160200135166116ca565b6103596004803603604081101561071a57600080fd5b506001600160a01b038135811691602001351661176c565b6104216004803603602081101561074857600080fd5b50356001600160a01b0316611797565b6104216004803603602081101561076e57600080fd5b50356001600160a01b03166118e3565b6104216004803603608081101561079457600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b8111156107c357600080fd5b8201836020820111156107d557600080fd5b803590602001918460018302840111600160201b831117156107f657600080fd5b919390929091602081019035600160201b81111561081357600080fd5b82018360208201111561082557600080fd5b803590602001918460018302840111600160201b8311171561084657600080fd5b5090925090506119e4565b6104216004803603604081101561086757600080fd5b81359190810190604081016020820135600160201b81111561088857600080fd5b82018360208201111561089a57600080fd5b803590602001918460018302840111600160201b831117156108bb57600080fd5b509092509050611aa7565b600a54600160a01b900460ff1681565b6060600580548060200260200160405190810160405280929190818152602001828054801561092e57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610910575b5050505050905090565b60038054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561092e5780601f106109995761010080835404028352916020019161092e565b820191906000526020600020905b8154815290600101906020018083116109a757509395945050505050565b6000336109d3818585611afc565b5060019392505050565b6000806109e983611286565b600a549091506001600160a01b031615610abd57600a5460408051636213008360e01b81526001600160a01b03868116600483015291516000939290921691636213008391602480820192602092909190829003018186803b158015610a4e57600080fd5b505afa158015610a62573d6000803e3d6000fd5b505050506040513d6020811015610a7857600080fd5b505190508115801590610a8b5750600081115b15610abb57808210610ab057610aa7828263ffffffff611ba316565b92505050610ac0565b600092505050610ac0565b505b90505b919050565b600a54600160a81b900460ff1681565b60025490565b600b546001600160a01b031681565b600c546001600160a01b031681565b60006001600160a01b038316610b405760405162461bcd60e51b8152600401808060200182810382526024815260200180612cb76024913960400191505060405180910390fd5b6001600160a01b038416610b855760405162461bcd60e51b8152600401808060200182810382526026815260200180612d396026913960400191505060405180910390fd5b6000339050610bb6818686866040518060200160405280600081525060405180602001604052806000815250611c00565b610be2818686866040518060200160405280600081525060405180602001604052806000815250611e37565b6001600160a01b03808616600090815260096020908152604080832093851683529290522054610c259086908390610c20908763ffffffff611ba316565b611afc565b610c538186868660405180602001604052806000815250604051806020016040528060008152506000611fc4565b506001949350505050565b601290565b600f546001600160a01b03163314610cac5760405162461bcd60e51b815260040180806020018281038252602e815260200180612bf3602e913960400191505060405180910390fd5b600a54600160a01b900460ff161515600114610d0f576040805162461bcd60e51b815260206004820152601a60248201527f546f6b656e20636f6e7472616374206e6f742066726f7a656e2e000000000000604482015290519081900360640190fd5b600a80546001600160a01b0319166001600160a01b03838116918217909255600f546040519216917f19f1cce6ad1ca6427ed265798474e2e5d42533f4cbda9a03739573f12bf2485a90600090a350565b600c546001600160a01b03163314610da95760405162461bcd60e51b8152600401808060200182810382526032815260200180612d076032913960400191505060405180910390fd5b600d80546001600160a01b0319166001600160a01b0383811691909117918290556040519116907ff7b198fb0410a876ac251fa9d60f6edea0c92db3062f935e58555650f67874ba90600090a250565b600190565b600a546001600160a01b031681565b600e546001600160a01b031681565b600a54600160a81b900460ff1615610e7b576040805162461bcd60e51b815260206004820181905260248201527f436f6e747261637420697320616c726561647920696e697469616c697a65642e604482015290519081900360640190fd5b600b546001600160a01b03163314610ec45760405162461bcd60e51b8152600401808060200182810382526027815260200180612c216027913960400191505060405180910390fd5b6001600160a01b038416610f1f576040805162461bcd60e51b815260206004820152601c60248201527f5f667265657a6572416464726573732063616e6e6f7420626520307800000000604482015290519081900360640190fd5b6001600160a01b038316610f7a576040805162461bcd60e51b815260206004820152601c60248201527f5f72657363756572416464726573732063616e6e6f7420626520307800000000604482015290519081900360640190fd5b6001600160a01b038216610fbf5760405162461bcd60e51b8152600401808060200182810382526021815260200180612b276021913960400191505060405180910390fd5b600c80546001600160a01b038085166001600160a01b031992831617909255600e8054878416908316179055600f8054928616929091169190911790556040805160208082018352600080835283519182019093529182526110279184918291859190612254565b6001600160a01b0385161561107e57600a80546001600160a01b0319166001600160a01b0387169081179091556040517f922b8dde0d23c4ed0f86f3aec78b23bef764b68672b9ae264cd24d23ffd1671d90600090a25b5050600a805460ff60a81b1916600160a81b179055505050565b600e546001600160a01b031633146110e15760405162461bcd60e51b815260040180806020018281038252602e815260200180612d82602e913960400191505060405180910390fd5b600a805460ff60a01b1916600160a01b179055600e546040516001600160a01b03909116907f8a5c4736a33c7b7f29a2c34ea9ff9608afc5718d56f6fd6dcbd2d3711a1a491390600090a2565b61113833886116ca565b6111735760405162461bcd60e51b815260040180806020018281038252602c815260200180612cdb602c913960400191505060405180910390fd5b6111ed3388888888888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8c018190048102820181019092528a815292508a91508990819084018382808284376000920191909152506001925061248c915050565b50505050505050565b600e546001600160a01b0316331461123f5760405162461bcd60e51b815260040180806020018281038252602e815260200180612d82602e913960400191505060405180910390fd5b600a805460ff60a01b19169055600e546040516001600160a01b03909116907f4feb53e305297ab8fb8f3420c95ea04737addc254a7270d8fc4605d2b9c61dba90600090a2565b6001600160a01b031660009081526001602052604090205490565b600d546001600160a01b031681565b600f546001600160a01b031681565b336001600160a01b03821614156113075760405162461bcd60e51b8152600401808060200182810382526024815260200180612bae6024913960400191505060405180910390fd5b6001600160a01b03811660009081526006602052604090205460ff1615611358573360009081526008602090815260408083206001600160a01b03851684529091529020805460ff19169055611387565b3360009081526007602090815260408083206001600160a01b03851684529091529020805460ff191660011790555b60405133906001600160a01b038316907ff4caeb2d6ca8932a215a353d0703c326ec2d81fc68170f320eb2ab49e9df61f990600090a350565b60048054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561092e5780601f106109995761010080835404028352916020019161092e565b6114753333868686868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020810190915290815292506001915061248c9050565b50505050565b60006001600160a01b0383166114c25760405162461bcd60e51b8152600401808060200182810382526024815260200180612cb76024913960400191505060405180910390fd5b60003390506114f3818286866040518060200160405280600081525060405180602001604052806000815250611c00565b61151f818286866040518060200160405280600081525060405180602001604052806000815250611e37565b6109d38182868660405180602001604052806000815250604051806020016040528060008152506000611fc4565b600a546000906001600160a01b0316156115e157600a5460408051636213008360e01b81526001600160a01b038581166004830152915191909216916362130083916024808301926020929190829003018186803b1580156115ae57600080fd5b505afa1580156115c2573d6000803e3d6000fd5b505050506040513d60208110156115d857600080fd5b50519050610ac0565b506000610ac0565b600e546001600160a01b031633146116325760405162461bcd60e51b815260040180806020018281038252602e815260200180612d82602e913960400191505060405180910390fd5b600a54600160a01b900460ff161561168d576040805162461bcd60e51b8152602060048201526019602482015278546f6b656e20636f6e74726163742069732066726f7a656e2160381b604482015290519081900360640190fd5b600e80546001600160a01b03191690556040516000907fc1b511c563c29fc899f540032c936c5487498036e64a75776bf424b94ac62e23908290a2565b6000816001600160a01b0316836001600160a01b0316148061173557506001600160a01b03831660009081526006602052604090205460ff16801561173557506001600160a01b0380831660009081526008602090815260408083209387168352929052205460ff16155b8061176557506001600160a01b0380831660009081526007602090815260408083209387168352929052205460ff165b9392505050565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b600c546001600160a01b031633146117e05760405162461bcd60e51b8152600401808060200182810382526032815260200180612d076032913960400191505060405180910390fd5b600a546001600160a01b03161561183e576040805162461bcd60e51b815260206004820152601960248201527f7249434f206164647265737320616c7265616479207365742100000000000000604482015290519081900360640190fd5b6001600160a01b038116611899576040805162461bcd60e51b815260206004820152601a60248201527f7249434f20616464726573732063616e6e6f742062652030782e000000000000604482015290519081900360640190fd5b600a80546001600160a01b0319166001600160a01b0383169081179091556040517f922b8dde0d23c4ed0f86f3aec78b23bef764b68672b9ae264cd24d23ffd1671d90600090a250565b6001600160a01b03811633141561192b5760405162461bcd60e51b8152600401808060200182810382526021815260200180612bd26021913960400191505060405180910390fd5b6001600160a01b03811660009081526006602052604090205460ff161561197f573360009081526008602090815260408083206001600160a01b03851684529091529020805460ff191660011790556119ab565b3360009081526007602090815260408083206001600160a01b03851684529091529020805460ff191690555b60405133906001600160a01b038316907f50546e66e5f44d728365dc3908c63bc5cfeeab470722c1677e3073a6ac294aa190600090a350565b6119ee33876116ca565b611a295760405162461bcd60e51b815260040180806020018281038252602c815260200180612cdb602c913960400191505060405180910390fd5b611a9f33878787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b01819004810282018101909252898152925089915088908190840183828082843760009201919091525061255792505050565b505050505050565b611af733338585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602081019091529081529250612557915050565b505050565b6001600160a01b038216611b415760405162461bcd60e51b8152600401808060200182810382526023815260200180612d5f6023913960400191505060405180910390fd5b6001600160a01b03808416600081815260096020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b600082821115611bfa576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600080546040805163555ddc6560e11b81526001600160a01b0389811660048301527f29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe89560248301529151919092169163aabbb8ca916044808301926020929190829003018186803b158015611c7457600080fd5b505afa158015611c88573d6000803e3d6000fd5b505050506040513d6020811015611c9e57600080fd5b505190506001600160a01b038116156111ed57806001600160a01b03166375ab97828888888888886040518763ffffffff1660e01b815260040180876001600160a01b03166001600160a01b03168152602001866001600160a01b03166001600160a01b03168152602001856001600160a01b03166001600160a01b031681526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015611d64578181015183820152602001611d4c565b50505050905090810190601f168015611d915780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015611dc4578181015183820152602001611dac565b50505050905090810190601f168015611df15780820380516001836020036101000a031916815260200191505b5098505050505050505050600060405180830381600087803b158015611e1657600080fd5b505af1158015611e2a573d6000803e3d6000fd5b5050505050505050505050565b600a54600160a01b900460ff1615611e92576040805162461bcd60e51b8152602060048201526019602482015278546f6b656e20636f6e74726163742069732066726f7a656e2160381b604482015290519081900360640190fd5b600a54600160a81b900460ff161515600114611ef5576040805162461bcd60e51b815260206004820152601d60248201527f436f6e7472616374206d75737420626520696e697469616c697a65642e000000604482015290519081900360640190fd5b600a546001600160a01b0385811691161480611f1e5750600d546001600160a01b038581169116145b15611f6f57611f2c85611286565b831115611f6a5760405162461bcd60e51b8152600401808060200182810382526022815260200180612c956022913960400191505060405180910390fd5b611fb6565b611f78856109dd565b831115611fb65760405162461bcd60e51b8152600401808060200182810382526022815260200180612c956022913960400191505060405180910390fd5b611a9f868686868686612670565b600080546040805163555ddc6560e11b81526001600160a01b0389811660048301527fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b60248301529151919092169163aabbb8ca916044808301926020929190829003018186803b15801561203857600080fd5b505afa15801561204c573d6000803e3d6000fd5b505050506040513d602081101561206257600080fd5b505190506001600160a01b038116156121f657806001600160a01b03166223de298989898989896040518763ffffffff1660e01b815260040180876001600160a01b03166001600160a01b03168152602001866001600160a01b03166001600160a01b03168152602001856001600160a01b03166001600160a01b031681526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b8381101561212757818101518382015260200161210f565b50505050905090810190601f1680156121545780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b8381101561218757818101518382015260200161216f565b50505050905090810190601f1680156121b45780820380516001836020036101000a031916815260200191505b5098505050505050505050600060405180830381600087803b1580156121d957600080fd5b505af11580156121ed573d6000803e3d6000fd5b5050505061224a565b811561224a5761220e866001600160a01b0316612870565b1561224a5760405162461bcd60e51b815260040180806020018281038252604d815260200180612c48604d913960600191505060405180910390fd5b5050505050505050565b6001600160a01b0384166122af576040805162461bcd60e51b815260206004820181905260248201527f4552433737373a206d696e7420746f20746865207a65726f2061646472657373604482015290519081900360640190fd5b6002546122c2908463ffffffff6128ac16565b6002556001600160a01b0384166000908152600160205260409020546122ee908463ffffffff6128ac16565b60016000866001600160a01b03166001600160a01b0316815260200190815260200160002081905550612328856000868686866001611fc4565b836001600160a01b0316856001600160a01b03167f2fe5be0146f74c5bce36c0b80911af6c7d86ff27e89d5cfa61fc681327954e5d858585604051808481526020018060200180602001838103835285818151815260200191508051906020019080838360005b838110156123a757818101518382015260200161238f565b50505050905090810190601f1680156123d45780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b838110156124075781810151838201526020016123ef565b50505050905090810190601f1680156124345780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a36040805184815290516001600160a01b038616916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050505050565b6001600160a01b0386166124d15760405162461bcd60e51b8152600401808060200182810382526022815260200180612b486022913960400191505060405180910390fd5b6001600160a01b03851661252c576040805162461bcd60e51b815260206004820181905260248201527f4552433737373a2073656e6420746f20746865207a65726f2061646472657373604482015290519081900360640190fd5b61253a878787878787611c00565b612548878787878787611e37565b6111ed87878787878787611fc4565b600a54600160a01b900460ff16156125b2576040805162461bcd60e51b8152602060048201526019602482015278546f6b656e20636f6e74726163742069732066726f7a656e2160381b604482015290519081900360640190fd5b600a54600160a81b900460ff161515600114612615576040805162461bcd60e51b815260206004820152601d60248201527f436f6e7472616374206d75737420626520696e697469616c697a65642e000000604482015290519081900360640190fd5b61261e846109dd565b83111561265c5760405162461bcd60e51b8152600401808060200182810382526022815260200180612b6a6022913960400191505060405180910390fd5b6126698585858585612906565b5050505050565b6001600160a01b038516600090815260016020526040902054612699908463ffffffff611ba316565b6001600160a01b0380871660009081526001602052604080822093909355908616815220546126ce908463ffffffff6128ac16565b60016000866001600160a01b03166001600160a01b0316815260200190815260200160002081905550836001600160a01b0316856001600160a01b0316876001600160a01b03167f06b541ddaa720db2b10a4d0cdac39b8d360425fc073085fac19bc82614677987868686604051808481526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015612780578181015183820152602001612768565b50505050905090810190601f1680156127ad5780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b838110156127e05781810151838201526020016127c8565b50505050905090810190601f16801561280d5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a4836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3505050505050565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081158015906128a45750808214155b949350505050565b600082820183811015611765576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b03841661294b5760405162461bcd60e51b8152600401808060200182810382526022815260200180612b8c6022913960400191505060405180910390fd5b61295a85856000868686611c00565b60025461296d908463ffffffff611ba316565b6002556001600160a01b038416600090815260016020526040902054612999908463ffffffff611ba316565b60016000866001600160a01b03166001600160a01b0316815260200190815260200160002081905550836001600160a01b0316856001600160a01b03167fa78a9be3a7b862d26933ad85fb11d80ef66b8f972d7cbba06621d583943a4098858585604051808481526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015612a41578181015183820152602001612a29565b50505050905090810190601f168015612a6e5780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015612aa1578181015183820152602001612a89565b50505050905090810190601f168015612ace5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a36040805184815290516000916001600160a01b038716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a3505050505056fe5f746f6b656e47656e65736973416464726573732063616e6e6f742062652030784552433737373a2073656e642066726f6d20746865207a65726f20616464726573734275726e696e67206661696c65643a20496e73756666696369656e742066756e64734552433737373a206275726e2066726f6d20746865207a65726f20616464726573734552433737373a20617574686f72697a696e672073656c66206173206f70657261746f724552433737373a207265766f6b696e672073656c66206173206f70657261746f724f6e6c7920746865207265736375657220616464726573732063616e2063616c6c2074686973206d6574686f642e4f6e6c7920746865206465706c6f7965722063616e2063616c6c2074686973206d6574686f642e4552433737373a20746f6b656e20726563697069656e7420636f6e747261637420686173206e6f20696d706c656d656e74657220666f7220455243373737546f6b656e73526563697069656e7453656e64696e67206661696c65643a20496e73756666696369656e742066756e64734552433737373a207472616e7366657220746f20746865207a65726f20616464726573734552433737373a2063616c6c6572206973206e6f7420616e206f70657261746f7220666f7220686f6c6465724f6e6c792074686520746f6b656e47656e65736973416464726573732063616e2063616c6c2074686973206d6574686f642e4552433737373a207472616e736665722066726f6d20746865207a65726f20616464726573734552433737373a20617070726f766520746f20746865207a65726f20616464726573734f6e6c792074686520667265657a657220616464726573732063616e2063616c6c2074686973206d6574686f642ea265627a7a72315820d264781ae6c4a6e9d25258d9eb091fd7aa7204acae70391159fef6ba59e816f764736f6c63430005110032000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000b4c554b534f20546f6b656e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044c595865000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106102115760003560e01c806362a5af3b11610125578063a9059cbb116100ad578063dd62ed3e1161007c578063dd62ed3e14610704578063f60a33c514610732578063fad8b32a14610758578063fc673c4f1461077e578063fe9d93031461085157610211565b8063a9059cbb1461067c578063c4086893146106a8578063c926e3e0146106ce578063d95b6371146106d657610211565b806371c396cc116100f457806371c396cc146105bb57806394242224146105c3578063959b8c3f146105cb57806395d89b41146105f15780639bd9bbc6146105f957610211565b806362a5af3b146104a757806362ad1b83146104af5780636a28f0001461058d57806370a082311461059557610211565b8063230566a8116101a85780634732a7dc116101775780634732a7dc14610423578063556f0dc71461044957806357bf9276146104515780635bfe8ad8146104595780635e9ab1491461046157610211565b8063230566a81461039f57806323b872dd146103a7578063313ce567146103dd57806339029686146103fb57610211565b8063129de5bf116101e4578063129de5bf14610333578063158ef93e1461036b57806318160ddd1461037357806321dd501b1461037b57610211565b8063054f7d9c1461021657806306e485381461023257806306fdde031461028a578063095ea7b314610307575b600080fd5b61021e6108c6565b604080519115158252519081900360200190f35b61023a6108d6565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561027657818101518382015260200161025e565b505050509050019250505060405180910390f35b610292610938565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102cc5781810151838201526020016102b4565b50505050905090810190601f1680156102f95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61021e6004803603604081101561031d57600080fd5b506001600160a01b0381351690602001356109c5565b6103596004803603602081101561034957600080fd5b50356001600160a01b03166109dd565b60408051918252519081900360200190f35b61021e610ac5565b610359610ad5565b610383610adb565b604080516001600160a01b039092168252519081900360200190f35b610383610aea565b61021e600480360360608110156103bd57600080fd5b506001600160a01b03813581169160208101359091169060400135610af9565b6103e5610c5e565b6040805160ff9092168252519081900360200190f35b6104216004803603602081101561041157600080fd5b50356001600160a01b0316610c63565b005b6104216004803603602081101561043957600080fd5b50356001600160a01b0316610d60565b610359610df9565b610383610dfe565b610383610e0d565b610421600480360360a081101561047757600080fd5b506001600160a01b0381358116916020810135821691604082013581169160608101359091169060800135610e1c565b610421611098565b610421600480360360a08110156104c557600080fd5b6001600160a01b03823581169260208101359091169160408201359190810190608081016060820135600160201b8111156104ff57600080fd5b82018360208201111561051157600080fd5b803590602001918460018302840111600160201b8311171561053257600080fd5b919390929091602081019035600160201b81111561054f57600080fd5b82018360208201111561056157600080fd5b803590602001918460018302840111600160201b8311171561058257600080fd5b50909250905061112e565b6104216111f6565b610359600480360360208110156105ab57600080fd5b50356001600160a01b0316611286565b6103836112a1565b6103836112b0565b610421600480360360208110156105e157600080fd5b50356001600160a01b03166112bf565b6102926113c0565b6104216004803603606081101561060f57600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b81111561063e57600080fd5b82018360208201111561065057600080fd5b803590602001918460018302840111600160201b8311171561067157600080fd5b509092509050611421565b61021e6004803603604081101561069257600080fd5b506001600160a01b03813516906020013561147b565b610359600480360360208110156106be57600080fd5b50356001600160a01b031661154d565b6104216115e9565b61021e600480360360408110156106ec57600080fd5b506001600160a01b03813581169160200135166116ca565b6103596004803603604081101561071a57600080fd5b506001600160a01b038135811691602001351661176c565b6104216004803603602081101561074857600080fd5b50356001600160a01b0316611797565b6104216004803603602081101561076e57600080fd5b50356001600160a01b03166118e3565b6104216004803603608081101561079457600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b8111156107c357600080fd5b8201836020820111156107d557600080fd5b803590602001918460018302840111600160201b831117156107f657600080fd5b919390929091602081019035600160201b81111561081357600080fd5b82018360208201111561082557600080fd5b803590602001918460018302840111600160201b8311171561084657600080fd5b5090925090506119e4565b6104216004803603604081101561086757600080fd5b81359190810190604081016020820135600160201b81111561088857600080fd5b82018360208201111561089a57600080fd5b803590602001918460018302840111600160201b831117156108bb57600080fd5b509092509050611aa7565b600a54600160a01b900460ff1681565b6060600580548060200260200160405190810160405280929190818152602001828054801561092e57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610910575b5050505050905090565b60038054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561092e5780601f106109995761010080835404028352916020019161092e565b820191906000526020600020905b8154815290600101906020018083116109a757509395945050505050565b6000336109d3818585611afc565b5060019392505050565b6000806109e983611286565b600a549091506001600160a01b031615610abd57600a5460408051636213008360e01b81526001600160a01b03868116600483015291516000939290921691636213008391602480820192602092909190829003018186803b158015610a4e57600080fd5b505afa158015610a62573d6000803e3d6000fd5b505050506040513d6020811015610a7857600080fd5b505190508115801590610a8b5750600081115b15610abb57808210610ab057610aa7828263ffffffff611ba316565b92505050610ac0565b600092505050610ac0565b505b90505b919050565b600a54600160a81b900460ff1681565b60025490565b600b546001600160a01b031681565b600c546001600160a01b031681565b60006001600160a01b038316610b405760405162461bcd60e51b8152600401808060200182810382526024815260200180612cb76024913960400191505060405180910390fd5b6001600160a01b038416610b855760405162461bcd60e51b8152600401808060200182810382526026815260200180612d396026913960400191505060405180910390fd5b6000339050610bb6818686866040518060200160405280600081525060405180602001604052806000815250611c00565b610be2818686866040518060200160405280600081525060405180602001604052806000815250611e37565b6001600160a01b03808616600090815260096020908152604080832093851683529290522054610c259086908390610c20908763ffffffff611ba316565b611afc565b610c538186868660405180602001604052806000815250604051806020016040528060008152506000611fc4565b506001949350505050565b601290565b600f546001600160a01b03163314610cac5760405162461bcd60e51b815260040180806020018281038252602e815260200180612bf3602e913960400191505060405180910390fd5b600a54600160a01b900460ff161515600114610d0f576040805162461bcd60e51b815260206004820152601a60248201527f546f6b656e20636f6e7472616374206e6f742066726f7a656e2e000000000000604482015290519081900360640190fd5b600a80546001600160a01b0319166001600160a01b03838116918217909255600f546040519216917f19f1cce6ad1ca6427ed265798474e2e5d42533f4cbda9a03739573f12bf2485a90600090a350565b600c546001600160a01b03163314610da95760405162461bcd60e51b8152600401808060200182810382526032815260200180612d076032913960400191505060405180910390fd5b600d80546001600160a01b0319166001600160a01b0383811691909117918290556040519116907ff7b198fb0410a876ac251fa9d60f6edea0c92db3062f935e58555650f67874ba90600090a250565b600190565b600a546001600160a01b031681565b600e546001600160a01b031681565b600a54600160a81b900460ff1615610e7b576040805162461bcd60e51b815260206004820181905260248201527f436f6e747261637420697320616c726561647920696e697469616c697a65642e604482015290519081900360640190fd5b600b546001600160a01b03163314610ec45760405162461bcd60e51b8152600401808060200182810382526027815260200180612c216027913960400191505060405180910390fd5b6001600160a01b038416610f1f576040805162461bcd60e51b815260206004820152601c60248201527f5f667265657a6572416464726573732063616e6e6f7420626520307800000000604482015290519081900360640190fd5b6001600160a01b038316610f7a576040805162461bcd60e51b815260206004820152601c60248201527f5f72657363756572416464726573732063616e6e6f7420626520307800000000604482015290519081900360640190fd5b6001600160a01b038216610fbf5760405162461bcd60e51b8152600401808060200182810382526021815260200180612b276021913960400191505060405180910390fd5b600c80546001600160a01b038085166001600160a01b031992831617909255600e8054878416908316179055600f8054928616929091169190911790556040805160208082018352600080835283519182019093529182526110279184918291859190612254565b6001600160a01b0385161561107e57600a80546001600160a01b0319166001600160a01b0387169081179091556040517f922b8dde0d23c4ed0f86f3aec78b23bef764b68672b9ae264cd24d23ffd1671d90600090a25b5050600a805460ff60a81b1916600160a81b179055505050565b600e546001600160a01b031633146110e15760405162461bcd60e51b815260040180806020018281038252602e815260200180612d82602e913960400191505060405180910390fd5b600a805460ff60a01b1916600160a01b179055600e546040516001600160a01b03909116907f8a5c4736a33c7b7f29a2c34ea9ff9608afc5718d56f6fd6dcbd2d3711a1a491390600090a2565b61113833886116ca565b6111735760405162461bcd60e51b815260040180806020018281038252602c815260200180612cdb602c913960400191505060405180910390fd5b6111ed3388888888888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8c018190048102820181019092528a815292508a91508990819084018382808284376000920191909152506001925061248c915050565b50505050505050565b600e546001600160a01b0316331461123f5760405162461bcd60e51b815260040180806020018281038252602e815260200180612d82602e913960400191505060405180910390fd5b600a805460ff60a01b19169055600e546040516001600160a01b03909116907f4feb53e305297ab8fb8f3420c95ea04737addc254a7270d8fc4605d2b9c61dba90600090a2565b6001600160a01b031660009081526001602052604090205490565b600d546001600160a01b031681565b600f546001600160a01b031681565b336001600160a01b03821614156113075760405162461bcd60e51b8152600401808060200182810382526024815260200180612bae6024913960400191505060405180910390fd5b6001600160a01b03811660009081526006602052604090205460ff1615611358573360009081526008602090815260408083206001600160a01b03851684529091529020805460ff19169055611387565b3360009081526007602090815260408083206001600160a01b03851684529091529020805460ff191660011790555b60405133906001600160a01b038316907ff4caeb2d6ca8932a215a353d0703c326ec2d81fc68170f320eb2ab49e9df61f990600090a350565b60048054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561092e5780601f106109995761010080835404028352916020019161092e565b6114753333868686868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020810190915290815292506001915061248c9050565b50505050565b60006001600160a01b0383166114c25760405162461bcd60e51b8152600401808060200182810382526024815260200180612cb76024913960400191505060405180910390fd5b60003390506114f3818286866040518060200160405280600081525060405180602001604052806000815250611c00565b61151f818286866040518060200160405280600081525060405180602001604052806000815250611e37565b6109d38182868660405180602001604052806000815250604051806020016040528060008152506000611fc4565b600a546000906001600160a01b0316156115e157600a5460408051636213008360e01b81526001600160a01b038581166004830152915191909216916362130083916024808301926020929190829003018186803b1580156115ae57600080fd5b505afa1580156115c2573d6000803e3d6000fd5b505050506040513d60208110156115d857600080fd5b50519050610ac0565b506000610ac0565b600e546001600160a01b031633146116325760405162461bcd60e51b815260040180806020018281038252602e815260200180612d82602e913960400191505060405180910390fd5b600a54600160a01b900460ff161561168d576040805162461bcd60e51b8152602060048201526019602482015278546f6b656e20636f6e74726163742069732066726f7a656e2160381b604482015290519081900360640190fd5b600e80546001600160a01b03191690556040516000907fc1b511c563c29fc899f540032c936c5487498036e64a75776bf424b94ac62e23908290a2565b6000816001600160a01b0316836001600160a01b0316148061173557506001600160a01b03831660009081526006602052604090205460ff16801561173557506001600160a01b0380831660009081526008602090815260408083209387168352929052205460ff16155b8061176557506001600160a01b0380831660009081526007602090815260408083209387168352929052205460ff165b9392505050565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b600c546001600160a01b031633146117e05760405162461bcd60e51b8152600401808060200182810382526032815260200180612d076032913960400191505060405180910390fd5b600a546001600160a01b03161561183e576040805162461bcd60e51b815260206004820152601960248201527f7249434f206164647265737320616c7265616479207365742100000000000000604482015290519081900360640190fd5b6001600160a01b038116611899576040805162461bcd60e51b815260206004820152601a60248201527f7249434f20616464726573732063616e6e6f742062652030782e000000000000604482015290519081900360640190fd5b600a80546001600160a01b0319166001600160a01b0383169081179091556040517f922b8dde0d23c4ed0f86f3aec78b23bef764b68672b9ae264cd24d23ffd1671d90600090a250565b6001600160a01b03811633141561192b5760405162461bcd60e51b8152600401808060200182810382526021815260200180612bd26021913960400191505060405180910390fd5b6001600160a01b03811660009081526006602052604090205460ff161561197f573360009081526008602090815260408083206001600160a01b03851684529091529020805460ff191660011790556119ab565b3360009081526007602090815260408083206001600160a01b03851684529091529020805460ff191690555b60405133906001600160a01b038316907f50546e66e5f44d728365dc3908c63bc5cfeeab470722c1677e3073a6ac294aa190600090a350565b6119ee33876116ca565b611a295760405162461bcd60e51b815260040180806020018281038252602c815260200180612cdb602c913960400191505060405180910390fd5b611a9f33878787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b01819004810282018101909252898152925089915088908190840183828082843760009201919091525061255792505050565b505050505050565b611af733338585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602081019091529081529250612557915050565b505050565b6001600160a01b038216611b415760405162461bcd60e51b8152600401808060200182810382526023815260200180612d5f6023913960400191505060405180910390fd5b6001600160a01b03808416600081815260096020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b600082821115611bfa576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600080546040805163555ddc6560e11b81526001600160a01b0389811660048301527f29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe89560248301529151919092169163aabbb8ca916044808301926020929190829003018186803b158015611c7457600080fd5b505afa158015611c88573d6000803e3d6000fd5b505050506040513d6020811015611c9e57600080fd5b505190506001600160a01b038116156111ed57806001600160a01b03166375ab97828888888888886040518763ffffffff1660e01b815260040180876001600160a01b03166001600160a01b03168152602001866001600160a01b03166001600160a01b03168152602001856001600160a01b03166001600160a01b031681526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015611d64578181015183820152602001611d4c565b50505050905090810190601f168015611d915780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015611dc4578181015183820152602001611dac565b50505050905090810190601f168015611df15780820380516001836020036101000a031916815260200191505b5098505050505050505050600060405180830381600087803b158015611e1657600080fd5b505af1158015611e2a573d6000803e3d6000fd5b5050505050505050505050565b600a54600160a01b900460ff1615611e92576040805162461bcd60e51b8152602060048201526019602482015278546f6b656e20636f6e74726163742069732066726f7a656e2160381b604482015290519081900360640190fd5b600a54600160a81b900460ff161515600114611ef5576040805162461bcd60e51b815260206004820152601d60248201527f436f6e7472616374206d75737420626520696e697469616c697a65642e000000604482015290519081900360640190fd5b600a546001600160a01b0385811691161480611f1e5750600d546001600160a01b038581169116145b15611f6f57611f2c85611286565b831115611f6a5760405162461bcd60e51b8152600401808060200182810382526022815260200180612c956022913960400191505060405180910390fd5b611fb6565b611f78856109dd565b831115611fb65760405162461bcd60e51b8152600401808060200182810382526022815260200180612c956022913960400191505060405180910390fd5b611a9f868686868686612670565b600080546040805163555ddc6560e11b81526001600160a01b0389811660048301527fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b60248301529151919092169163aabbb8ca916044808301926020929190829003018186803b15801561203857600080fd5b505afa15801561204c573d6000803e3d6000fd5b505050506040513d602081101561206257600080fd5b505190506001600160a01b038116156121f657806001600160a01b03166223de298989898989896040518763ffffffff1660e01b815260040180876001600160a01b03166001600160a01b03168152602001866001600160a01b03166001600160a01b03168152602001856001600160a01b03166001600160a01b031681526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b8381101561212757818101518382015260200161210f565b50505050905090810190601f1680156121545780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b8381101561218757818101518382015260200161216f565b50505050905090810190601f1680156121b45780820380516001836020036101000a031916815260200191505b5098505050505050505050600060405180830381600087803b1580156121d957600080fd5b505af11580156121ed573d6000803e3d6000fd5b5050505061224a565b811561224a5761220e866001600160a01b0316612870565b1561224a5760405162461bcd60e51b815260040180806020018281038252604d815260200180612c48604d913960600191505060405180910390fd5b5050505050505050565b6001600160a01b0384166122af576040805162461bcd60e51b815260206004820181905260248201527f4552433737373a206d696e7420746f20746865207a65726f2061646472657373604482015290519081900360640190fd5b6002546122c2908463ffffffff6128ac16565b6002556001600160a01b0384166000908152600160205260409020546122ee908463ffffffff6128ac16565b60016000866001600160a01b03166001600160a01b0316815260200190815260200160002081905550612328856000868686866001611fc4565b836001600160a01b0316856001600160a01b03167f2fe5be0146f74c5bce36c0b80911af6c7d86ff27e89d5cfa61fc681327954e5d858585604051808481526020018060200180602001838103835285818151815260200191508051906020019080838360005b838110156123a757818101518382015260200161238f565b50505050905090810190601f1680156123d45780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b838110156124075781810151838201526020016123ef565b50505050905090810190601f1680156124345780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a36040805184815290516001600160a01b038616916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050505050565b6001600160a01b0386166124d15760405162461bcd60e51b8152600401808060200182810382526022815260200180612b486022913960400191505060405180910390fd5b6001600160a01b03851661252c576040805162461bcd60e51b815260206004820181905260248201527f4552433737373a2073656e6420746f20746865207a65726f2061646472657373604482015290519081900360640190fd5b61253a878787878787611c00565b612548878787878787611e37565b6111ed87878787878787611fc4565b600a54600160a01b900460ff16156125b2576040805162461bcd60e51b8152602060048201526019602482015278546f6b656e20636f6e74726163742069732066726f7a656e2160381b604482015290519081900360640190fd5b600a54600160a81b900460ff161515600114612615576040805162461bcd60e51b815260206004820152601d60248201527f436f6e7472616374206d75737420626520696e697469616c697a65642e000000604482015290519081900360640190fd5b61261e846109dd565b83111561265c5760405162461bcd60e51b8152600401808060200182810382526022815260200180612b6a6022913960400191505060405180910390fd5b6126698585858585612906565b5050505050565b6001600160a01b038516600090815260016020526040902054612699908463ffffffff611ba316565b6001600160a01b0380871660009081526001602052604080822093909355908616815220546126ce908463ffffffff6128ac16565b60016000866001600160a01b03166001600160a01b0316815260200190815260200160002081905550836001600160a01b0316856001600160a01b0316876001600160a01b03167f06b541ddaa720db2b10a4d0cdac39b8d360425fc073085fac19bc82614677987868686604051808481526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015612780578181015183820152602001612768565b50505050905090810190601f1680156127ad5780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b838110156127e05781810151838201526020016127c8565b50505050905090810190601f16801561280d5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a4836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3505050505050565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081158015906128a45750808214155b949350505050565b600082820183811015611765576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b03841661294b5760405162461bcd60e51b8152600401808060200182810382526022815260200180612b8c6022913960400191505060405180910390fd5b61295a85856000868686611c00565b60025461296d908463ffffffff611ba316565b6002556001600160a01b038416600090815260016020526040902054612999908463ffffffff611ba316565b60016000866001600160a01b03166001600160a01b0316815260200190815260200160002081905550836001600160a01b0316856001600160a01b03167fa78a9be3a7b862d26933ad85fb11d80ef66b8f972d7cbba06621d583943a4098858585604051808481526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015612a41578181015183820152602001612a29565b50505050905090810190601f168015612a6e5780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015612aa1578181015183820152602001612a89565b50505050905090810190601f168015612ace5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a36040805184815290516000916001600160a01b038716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a3505050505056fe5f746f6b656e47656e65736973416464726573732063616e6e6f742062652030784552433737373a2073656e642066726f6d20746865207a65726f20616464726573734275726e696e67206661696c65643a20496e73756666696369656e742066756e64734552433737373a206275726e2066726f6d20746865207a65726f20616464726573734552433737373a20617574686f72697a696e672073656c66206173206f70657261746f724552433737373a207265766f6b696e672073656c66206173206f70657261746f724f6e6c7920746865207265736375657220616464726573732063616e2063616c6c2074686973206d6574686f642e4f6e6c7920746865206465706c6f7965722063616e2063616c6c2074686973206d6574686f642e4552433737373a20746f6b656e20726563697069656e7420636f6e747261637420686173206e6f20696d706c656d656e74657220666f7220455243373737546f6b656e73526563697069656e7453656e64696e67206661696c65643a20496e73756666696369656e742066756e64734552433737373a207472616e7366657220746f20746865207a65726f20616464726573734552433737373a2063616c6c6572206973206e6f7420616e206f70657261746f7220666f7220686f6c6465724f6e6c792074686520746f6b656e47656e65736973416464726573732063616e2063616c6c2074686973206d6574686f642e4552433737373a207472616e736665722066726f6d20746865207a65726f20616464726573734552433737373a20617070726f766520746f20746865207a65726f20616464726573734f6e6c792074686520667265657a657220616464726573732063616e2063616c6c2074686973206d6574686f642ea265627a7a72315820d264781ae6c4a6e9d25258d9eb091fd7aa7204acae70391159fef6ba59e816f764736f6c63430005110032

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

000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000b4c554b534f20546f6b656e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044c595865000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name (string): LUKSO Token
Arg [1] : symbol (string): LYXe

-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [3] : 000000000000000000000000000000000000000000000000000000000000000b
Arg [4] : 4c554b534f20546f6b656e000000000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [6] : 4c59586500000000000000000000000000000000000000000000000000000000
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

16836:6257:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16836:6257:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16917:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;11033:115;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;11033:115:0;;;;;;;;;;;;;;;;;8508:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;8508:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12013:184;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;12013:184:0;;;;;;;;:::i;20259:521::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20259:521:0;-1:-1:-1;;;;;20259:521:0;;:::i;:::-;;;;;;;;;;;;;;;;16943:23;;;:::i;8890:91::-;;;:::i;16986:31::-;;;:::i;:::-;;;;-1:-1:-1;;;;;16986:31:0;;;;;;;;;;;;;;17024:34;;;:::i;12210:632::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;12210:632:0;;;;;;;;;;;;;;;;;:::i;8706:76::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;19774:216;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19774:216:0;-1:-1:-1;;;;;19774:216:0;;:::i;:::-;;19110:210;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19110:210:0;-1:-1:-1;;;;;19110:210:0;;:::i;8796:80::-;;;:::i;16883:25::-;;;:::i;17105:29::-;;;:::i;17817:928::-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;;17817:928:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;19519:114::-;;;:::i;11162:384::-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;11162:384:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;11162:384:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11162:384:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;11162:384:0;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;11162:384:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11162:384:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;-1:-1;11162:384:0;;-1:-1:-1;11162:384:0;-1:-1:-1;11162:384:0;:::i;19641:119::-;;;:::i;8995:118::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8995:118:0;-1:-1:-1;;;;;8995:118:0;;:::i;17066:31::-;;;:::i;17142:29::-;;;:::i;10216:399::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10216:399:0;-1:-1:-1;;;;;10216:399:0;;:::i;8605:87::-;;;:::i;9127:162::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;9127:162:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;9127:162:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;9127:162:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;-1:-1;9127:162:0;;-1:-1:-1;9127:162:0;-1:-1:-1;9127:162:0;:::i;9303:434::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;9303:434:0;;;;;;;;:::i;20004:247::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20004:247:0;-1:-1:-1;;;;;20004:247:0;;:::i;19336:175::-;;;:::i;9891:311::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;9891:311:0;;;;;;;;;;:::i;11863:136::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;11863:136:0;;;;;;;;;;:::i;18753:343::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18753:343:0;-1:-1:-1;;;;;18753:343:0;;:::i;10629:390::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10629:390:0;-1:-1:-1;;;;;10629:390:0;;:::i;11560:289::-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;11560:289:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;11560:289:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11560:289:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;11560:289:0;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;11560:289:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11560:289:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;-1:-1;11560:289:0;;-1:-1:-1;11560:289:0;-1:-1:-1;11560:289:0;:::i;9751:126::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9751:126:0;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;9751:126:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;9751:126:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;-1:-1;9751:126:0;;-1:-1:-1;9751:126:0;-1:-1:-1;9751:126:0;:::i;16917:18::-;;;-1:-1:-1;;;16917:18:0;;;;;:::o;11033:115::-;11082:16;11118:22;11111:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11111:29:0;;;;;;;;;;;;;;;;;;;;;;;11033:115;:::o;8508:83::-;8578:5;8571:12;;;;;;;;-1:-1:-1;;8571:12:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8545:13;;8571:12;;8578:5;;8571:12;;8578:5;8571:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8571:12:0;;8508:83;-1:-1:-1;;;;;8508:83:0:o;12013:184::-;12080:4;12114:10;12135:32;12114:10;12152:7;12161:5;12135:8;:32::i;:::-;-1:-1:-1;12185:4:0;;12013:184;-1:-1:-1;;;12013:184:0:o;20259:521::-;20323:7;20343:15;20361:17;20371:6;20361:9;:17::i;:::-;20412:4;;20343:35;;-1:-1:-1;;;;;;20412:4:0;20404:27;20401:345;;20465:4;;:41;;;-1:-1:-1;;;20465:41:0;;-1:-1:-1;;;;;20465:41:0;;;;;;;;;20448:14;;20465:4;;;;;:33;;:41;;;;;;;;;;;;;;;:4;:41;;;5:2:-1;;;;30:1;27;20:12;5:2;20465:41:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;20465:41:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20465:41:0;;-1:-1:-1;20526:11:0;;;;;:25;;;20550:1;20541:6;:10;20526:25;20523:212;;;20586:6;20575:7;:17;20572:148;;20624:19;:7;20636:6;20624:19;:11;:19;:::i;:::-;20617:26;;;;;;20572:148;20699:1;20692:8;;;;;;20572:148;20401:345;;20765:7;-1:-1:-1;20259:521:0;;;;:::o;16943:23::-;;;-1:-1:-1;;;16943:23:0;;;;;:::o;8890:91::-;8961:12;;8890:91;:::o;16986:31::-;;;-1:-1:-1;;;;;16986:31:0;;:::o;17024:34::-;;;-1:-1:-1;;;;;17024:34:0;;:::o;12210:632::-;12301:4;-1:-1:-1;;;;;12326:23:0;;12318:72;;;;-1:-1:-1;;;12318:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12409:20:0;;12401:71;;;;-1:-1:-1;;;12401:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12485:15;12503:10;12485:28;;12526:61;12544:7;12553:6;12561:9;12572:6;12526:61;;;;;;;;;;;;;;;;;;;;;;;;:17;:61::i;:::-;12600:49;12606:7;12615:6;12623:9;12634:6;12600:49;;;;;;;;;;;;;;;;;;;;;;;;:5;:49::i;:::-;-1:-1:-1;;;;;12686:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;12660:67;;12669:6;;12677:7;;12686:40;;12719:6;12686:40;:32;:40;:::i;:::-;12660:8;:67::i;:::-;12740:70;12760:7;12769:6;12777:9;12788:6;12740:70;;;;;;;;;;;;;;;;;;;;;;;;12804:5;12740:19;:70::i;:::-;-1:-1:-1;12830:4:0;;12210:632;-1:-1:-1;;;;12210:632:0:o;8706:76::-;8772:2;8706:76;:::o;19774:216::-;22497:14;;-1:-1:-1;;;;;22497:14:0;22483:10;:28;22475:87;;;;-1:-1:-1;;;22475:87:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22904:6;;-1:-1:-1;;;22904:6:0;;;;:14;;22914:4;22904:14;22896:53;;;;;-1:-1:-1;;;22896:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;19885:4;:37;;-1:-1:-1;;;;;;19885:37:0;-1:-1:-1;;;;;19885:37:0;;;;;;;;;19967:14;;19938:44;;19967:14;;;19938:44;;-1:-1:-1;;19938:44:0;19774:216;:::o;19110:210::-;22164:19;;-1:-1:-1;;;;;22164:19:0;22150:10;:33;22142:96;;;;-1:-1:-1;;;22142:96:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19223:16;:36;;-1:-1:-1;;;;;;19223:36:0;-1:-1:-1;;;;;19223:36:0;;;;;;;;;;;19275:37;;19295:16;;;19275:37;;-1:-1:-1;;19275:37:0;19110:210;:::o;8796:80::-;8867:1;8796:80;:::o;16883:25::-;;;-1:-1:-1;;;;;16883:25:0;;:::o;17105:29::-;;;-1:-1:-1;;;;;17105:29:0;;:::o;17817:928::-;22774:11;;-1:-1:-1;;;22774:11:0;;;;:20;22766:65;;;;;-1:-1:-1;;;22766:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22002:16;;-1:-1:-1;;;;;22002:16:0;21988:10;:30;21980:82;;;;-1:-1:-1;;;21980:82:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18093:29:0;;18085:70;;;;;-1:-1:-1;;;18085:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18174:29:0;;18166:70;;;;;-1:-1:-1;;;18166:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18255:34:0;;18247:80;;;;-1:-1:-1;;;18247:80:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18340:19;:42;;-1:-1:-1;;;;;18340:42:0;;;-1:-1:-1;;;;;;18340:42:0;;;;;;;18393:14;:32;;;;;;;;;;;18436:14;:32;;;;;;;;;;;;;;;18481:73;;;;;;;;;18340:19;18481:73;;;;;;;;;;;;;;;;18362:20;;;;18531:14;;18481:73;:5;:73::i;:::-;-1:-1:-1;;;;;18570:26:0;;;18567:140;;18613:4;:34;;-1:-1:-1;;;;;;18613:34:0;-1:-1:-1;;;;;18613:34:0;;;;;;;;18667:28;;;;-1:-1:-1;;18667:28:0;18567:140;-1:-1:-1;;18719:11:0;:18;;-1:-1:-1;;;;18719:18:0;-1:-1:-1;;;18719:18:0;;;-1:-1:-1;;;17817:928:0:o;19519:114::-;22335:14;;-1:-1:-1;;;;;22335:14:0;22321:10;:28;22313:87;;;;-1:-1:-1;;;22313:87:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19574:6;:13;;-1:-1:-1;;;;19574:13:0;-1:-1:-1;;;19574:13:0;;;19610:14;;19603:22;;-1:-1:-1;;;;;19610:14:0;;;;19603:22;;19574:13;;19603:22;19519:114::o;11162:384::-;11375:33;11389:10;11401:6;11375:13;:33::i;:::-;11367:90;;;;-1:-1:-1;;;11367:90:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11468:70;11474:10;11486:6;11494:9;11505:6;11513:4;;11468:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;;11468:70:0;;;;137:4:-1;11468:70:0;;;;;;;;;;;;;;;;;;-1:-1:-1;11519:12:0;;-1:-1:-1;11519:12:0;;;;11468:70;;11519:12;;;;11468:70;1:33:-1;99:1;81:16;;74:27;;;;-1:-1;11533:4:0;;-1:-1:-1;11468:5:0;;-1:-1:-1;;11468:70:0:i;:::-;11162:384;;;;;;;:::o;19641:119::-;22335:14;;-1:-1:-1;;;;;22335:14:0;22321:10;:28;22313:87;;;;-1:-1:-1;;;22313:87:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19698:6;:14;;-1:-1:-1;;;;19698:14:0;;;19737;;19728:24;;-1:-1:-1;;;;;19737:14:0;;;;19728:24;;19707:5;;19728:24;19641:119::o;8995:118::-;-1:-1:-1;;;;;9083:22:0;9056:7;9083:22;;;:9;:22;;;;;;;8995:118::o;17066:31::-;;;-1:-1:-1;;;;;17066:31:0;;:::o;17142:29::-;;;-1:-1:-1;;;;;17142:29:0;;:::o;10216:399::-;10289:10;-1:-1:-1;;;;;10289:22:0;;;;10281:71;;;;-1:-1:-1;;;10281:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10369:27:0;;;;;;:17;:27;;;;;;;;10365:185;;;10445:10;10420:36;;;;:24;:36;;;;;;;;-1:-1:-1;;;;;10420:46:0;;;;;;;;;10413:53;;-1:-1:-1;;10413:53:0;;;10365:185;;;10510:10;10499:22;;;;:10;:22;;;;;;;;-1:-1:-1;;;;;10499:32:0;;;;;;;;;:39;;-1:-1:-1;;10499:39:0;10534:4;10499:39;;;10365:185;10567:40;;10596:10;;-1:-1:-1;;;;;10567:40:0;;;;;;;;10216:399;:::o;8605:87::-;8677:7;8670:14;;;;;;;;-1:-1:-1;;8670:14:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8644:13;;8670:14;;8677:7;;8670:14;;8677:7;8670:14;;;;;;;;;;;;;;;;;;;;;;;;9127:162;9217:64;9223:10;9235;9247:9;9258:6;9266:4;;9217:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;-1:-1;9217:64:0;;;;;;;;;;;;;-1:-1:-1;9276:4:0;;-1:-1:-1;9217:5:0;;-1:-1:-1;9217:64:0:i;:::-;9127:162;;;;:::o;9303:434::-;9374:4;-1:-1:-1;;;;;9399:23:0;;9391:72;;;;-1:-1:-1;;;9391:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9476:12;9491:10;9476:25;;9514:56;9532:4;9538;9544:9;9555:6;9514:56;;;;;;;;;;;;;;;;;;;;;;;;:17;:56::i;:::-;9583:44;9589:4;9595;9601:9;9612:6;9583:44;;;;;;;;;;;;;;;;;;;;;;;;:5;:44::i;:::-;9640:65;9660:4;9666;9672:9;9683:6;9640:65;;;;;;;;;;;;;;;;;;;;;;;;9699:5;9640:19;:65::i;20004:247::-;20107:4;;20066:7;;-1:-1:-1;;;;;20107:4:0;20099:27;20096:148;;20150:4;;:41;;;-1:-1:-1;;;20150:41:0;;-1:-1:-1;;;;;20150:41:0;;;;;;;;;:4;;;;;:33;;:41;;;;;;;;;;;;;;:4;:41;;;5:2:-1;;;;30:1;27;20:12;5:2;20150:41:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;20150:41:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20150:41:0;;-1:-1:-1;20143:48:0;;20096:148;-1:-1:-1;20231:1:0;20224:8;;19336:175;22335:14;;-1:-1:-1;;;;;22335:14:0;22321:10;:28;22313:87;;;;-1:-1:-1;;;22313:87:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23025:6;;-1:-1:-1;;;23025:6:0;;;;:15;23017:53;;;;;-1:-1:-1;;;23017:53:0;;;;;;;;;;;;-1:-1:-1;;;23017:53:0;;;;;;;;;;;;;;;19430:14;:27;;-1:-1:-1;;;;;;19430:27:0;;;19473:30;;19455:1;;19473:30;;19455:1;;19473:30;19336:175::o;9891:311::-;9999:4;10035:11;-1:-1:-1;;;;;10023:23:0;:8;-1:-1:-1;;;;;10023:23:0;;:121;;;-1:-1:-1;;;;;;10064:27:0;;;;;;:17;:27;;;;;;;;:79;;;;-1:-1:-1;;;;;;10096:37:0;;;;;;;:24;:37;;;;;;;;:47;;;;;;;;;;;;10095:48;10064:79;10023:171;;;-1:-1:-1;;;;;;10161:23:0;;;;;;;:10;:23;;;;;;;;:33;;;;;;;;;;;;10023:171;10016:178;9891:311;-1:-1:-1;;;9891:311:0:o;11863:136::-;-1:-1:-1;;;;;11963:19:0;;;11936:7;11963:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;11863:136::o;18753:343::-;22164:19;;-1:-1:-1;;;;;22164:19:0;22150:10;:33;22142:96;;;;-1:-1:-1;;;22142:96:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18872:4;;-1:-1:-1;;;;;18872:4:0;18864:27;18856:65;;;;;-1:-1:-1;;;18856:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18940:26:0;;18932:65;;;;;-1:-1:-1;;;18932:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;19010:4;:34;;-1:-1:-1;;;;;;19010:34:0;-1:-1:-1;;;;;19010:34:0;;;;;;;;19060:28;;;;-1:-1:-1;;19060:28:0;18753:343;:::o;10629:390::-;-1:-1:-1;;;;;10699:22:0;;10711:10;10699:22;;10691:68;;;;-1:-1:-1;;;10691:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10776:27:0;;;;;;:17;:27;;;;;;;;10772:185;;;10845:10;10820:36;;;;:24;:36;;;;;;;;-1:-1:-1;;;;;10820:46:0;;;;;;;;;:53;;-1:-1:-1;;10820:53:0;10869:4;10820:53;;;10772:185;;;10924:10;10913:22;;;;:10;:22;;;;;;;;-1:-1:-1;;;;;10913:32:0;;;;;;;;;10906:39;;-1:-1:-1;;10906:39:0;;;10772:185;10974:37;;11000:10;;-1:-1:-1;;;;;10974:37:0;;;;;;;;10629:390;:::o;11560:289::-;11693:34;11707:10;11719:7;11693:13;:34::i;:::-;11685:91;;;;-1:-1:-1;;;11685:91:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11787:54;11793:10;11805:7;11814:6;11822:4;;11787:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;;11787:54:0;;;;137:4:-1;11787:54:0;;;;;;;;;;;;;;;;;;-1:-1:-1;11828:12:0;;-1:-1:-1;11828:12:0;;;;11787:54;;11828:12;;;;11787:54;1:33:-1;99:1;81:16;;74:27;;;;-1:-1;11787:5:0;;-1:-1:-1;;;11787:54:0:i;:::-;11560:289;;;;;;:::o;9751:126::-;9822:47;9828:10;9840;9852:6;9860:4;;9822:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;-1:-1;9822:47:0;;;;;;;;;;;;;-1:-1:-1;9822:5:0;;-1:-1:-1;;9822:47:0:i;:::-;9751:126;;;:::o;15212:289::-;-1:-1:-1;;;;;15335:21:0;;15327:69;;;;-1:-1:-1;;;15327:69:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15409:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:36;;;15461:32;;;;;;;;;;;;;;;;;15212:289;;;:::o;4352:184::-;4410:7;4443:1;4438;:6;;4430:49;;;;;-1:-1:-1;;;4430:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4502:5:0;;;4352:184::o;15515:488::-;15746:19;15768:8;;:68;;;-1:-1:-1;;;15768:68:0;;-1:-1:-1;;;;;15768:68:0;;;;;;;7299:66;15768:68;;;;;;:8;;;;;:32;;:68;;;;;;;;;;;;;;:8;:68;;;5:2:-1;;;;30:1;27;20:12;5:2;15768:68:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15768:68:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15768:68:0;;-1:-1:-1;;;;;;15851:25:0;;;15847:149;;15907:11;-1:-1:-1;;;;;15893:39:0;;15933:8;15943:4;15949:2;15953:6;15961:8;15971:12;15893:91;;;;;;;;;;;;;-1:-1:-1;;;;;15893:91:0;-1:-1:-1;;;;;15893:91:0;;;;;;-1:-1:-1;;;;;15893:91:0;-1:-1:-1;;;;;15893:91:0;;;;;;-1:-1:-1;;;;;15893:91:0;-1:-1:-1;;;;;15893:91:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;15893:91:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15893:91:0;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;15893:91:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15893:91:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15893:91:0;;;;15515:488;;;;;;;:::o;20810:696::-;23025:6;;-1:-1:-1;;;23025:6:0;;;;:15;23017:53;;;;;-1:-1:-1;;;23017:53:0;;;;;;;;;;;;-1:-1:-1;;;23017:53:0;;;;;;;;;;;;;;;22640:11;;-1:-1:-1;;;22640:11:0;;;;:19;;22655:4;22640:19;22632:61;;;;;-1:-1:-1;;;22632:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;21112:4;;-1:-1:-1;;;;;21097:20:0;;;21112:4;;21097:20;;:60;;-1:-1:-1;21141:16:0;;-1:-1:-1;;;;;21134:23:0;;;21141:16;;21134:23;21097:60;21080:336;;;21217:16;21227:5;21217:9;:16::i;:::-;21206:7;:27;;21198:74;;;;-1:-1:-1;;;21198:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21080:336;;;21340:25;21359:5;21340:18;:25::i;:::-;21329:7;:36;;21321:83;;;;-1:-1:-1;;;21321:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21428:70;21441:9;21452:5;21459:3;21464:7;21473:9;21484:13;21428:12;:70::i;16017:695::-;16285:19;16307:8;;:69;;;-1:-1:-1;;;16307:69:0;;-1:-1:-1;;;;;16307:69:0;;;;;;;7448:66;16307:69;;;;;;:8;;;;;:32;;:69;;;;;;;;;;;;;;:8;:69;;;5:2:-1;;;;30:1;27;20:12;5:2;16307:69:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16307:69:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16307:69:0;;-1:-1:-1;;;;;;16391:25:0;;;16387:318;;16450:11;-1:-1:-1;;;;;16433:44:0;;16478:8;16488:4;16494:2;16498:6;16506:8;16516:12;16433:96;;;;;;;;;;;;;-1:-1:-1;;;;;16433:96:0;-1:-1:-1;;;;;16433:96:0;;;;;;-1:-1:-1;;;;;16433:96:0;-1:-1:-1;;;;;16433:96:0;;;;;;-1:-1:-1;;;;;16433:96:0;-1:-1:-1;;;;;16433:96:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;16433:96:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16433:96:0;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;16433:96:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16433:96:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16433:96:0;;;;16387:318;;;16551:19;16547:158;;;16596:15;:2;-1:-1:-1;;;;;16596:13:0;;:15::i;:::-;16595:16;16587:106;;;;-1:-1:-1;;;16587:106:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16017:695;;;;;;;;:::o;12856:625::-;-1:-1:-1;;;;;13062:21:0;;13054:66;;;;;-1:-1:-1;;;13054:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13158:12;;:24;;13175:6;13158:24;:16;:24;:::i;:::-;13143:12;:39;-1:-1:-1;;;;;13214:18:0;;;;;;:9;:18;;;;;;:30;;13237:6;13214:30;:22;:30;:::i;:::-;13193:9;:18;13203:7;-1:-1:-1;;;;;13193:18:0;-1:-1:-1;;;;;13193:18:0;;;;;;;;;;;;:51;;;;13257:88;13277:8;13295:1;13299:7;13308:6;13316:8;13326:12;13340:4;13257:19;:88::i;:::-;13380:7;-1:-1:-1;;;;;13363:57:0;13370:8;-1:-1:-1;;;;;13363:57:0;;13389:6;13397:8;13407:12;13363:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;13363:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13363:57:0;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;13363:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13436:37;;;;;;;;-1:-1:-1;;;;;13436:37:0;;;13453:1;;13436:37;;;;;;;;;12856:625;;;;;:::o;13495:656::-;-1:-1:-1;;;;;13757:18:0;;13749:65;;;;-1:-1:-1;;;13749:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13833:16:0;;13825:61;;;;;-1:-1:-1;;;13825:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13899:69;13917:8;13927:4;13933:2;13937:6;13945:8;13955:12;13899:17;:69::i;:::-;13981:57;13987:8;13997:4;14003:2;14007:6;14015:8;14025:12;13981:5;:57::i;:::-;14051:92;14071:8;14081:4;14087:2;14091:6;14099:8;14109:12;14123:19;14051;:92::i;21520:395::-;23025:6;;-1:-1:-1;;;23025:6:0;;;;:15;23017:53;;;;;-1:-1:-1;;;23017:53:0;;;;;;;;;;;;-1:-1:-1;;;23017:53:0;;;;;;;;;;;;;;;22640:11;;-1:-1:-1;;;22640:11:0;;;;:19;;22655:4;22640:19;22632:61;;;;;-1:-1:-1;;;22632:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;21771:25;21790:5;21771:18;:25::i;:::-;21760:7;:36;;21752:83;;;;-1:-1:-1;;;21752:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21846:61;21859:9;21870:5;21877:7;21886:5;21893:13;21846:12;:61::i;:::-;21520:395;;;;;:::o;14763:441::-;-1:-1:-1;;;;;15001:15:0;;;;;;:9;:15;;;;;;:27;;15021:6;15001:27;:19;:27;:::i;:::-;-1:-1:-1;;;;;14983:15:0;;;;;;;:9;:15;;;;;;:45;;;;15055:13;;;;;;;:25;;15073:6;15055:25;:17;:25;:::i;:::-;15039:9;:13;15049:2;-1:-1:-1;;;;;15039:13:0;-1:-1:-1;;;;;15039:13:0;;;;;;;;;;;;:41;;;;15119:2;-1:-1:-1;;;;;15098:56:0;15113:4;-1:-1:-1;;;;;15098:56:0;15103:8;-1:-1:-1;;;;;15098:56:0;;15123:6;15131:8;15141:12;15098:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;15098:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15098:56:0;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;15098:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15185:2;-1:-1:-1;;;;;15170:26:0;15179:4;-1:-1:-1;;;;;15170:26:0;;15189:6;15170:26;;;;;;;;;;;;;;;;;;14763:441;;;;;;:::o;5245:397::-;5305:4;5551:20;;5441:66;5591:15;;;;;:42;;;5622:11;5610:8;:23;;5591:42;5583:51;5245:397;-1:-1:-1;;;;5245:397:0:o;4157:181::-;4215:7;4247:5;;;4271:6;;;;4263:46;;;;;-1:-1:-1;;;4263:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;14165:590;-1:-1:-1;;;;;14368:18:0;;14360:65;;;;-1:-1:-1;;;14360:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14438:73;14456:8;14466:4;14480:1;14484:6;14492:4;14498:12;14438:17;:73::i;:::-;14549:12;;:24;;14566:6;14549:24;:16;:24;:::i;:::-;14534:12;:39;-1:-1:-1;;;;;14602:15:0;;;;;;:9;:15;;;;;;:27;;14622:6;14602:27;:19;:27;:::i;:::-;14584:9;:15;14594:4;-1:-1:-1;;;;;14584:15:0;-1:-1:-1;;;;;14584:15:0;;;;;;;;;;;;:45;;;;14664:4;-1:-1:-1;;;;;14647:50:0;14654:8;-1:-1:-1;;;;;14647:50:0;;14670:6;14678:4;14684:12;14647:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;14647:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14647:50:0;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;14647:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14713:34;;;;;;;;14736:1;;-1:-1:-1;;;;;14713:34:0;;;;;;;;;;;;14165:590;;;;;:::o

Swarm Source

bzzr://d264781ae6c4a6e9d25258d9eb091fd7aa7204acae70391159fef6ba59e816f7

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

OVERVIEW

LUKSO, the Blockchain for the new digital lifestyle is created by former Ethereum Developer Fabian Vogelsteller, author of ERC20 and web3.js. LUKSO is a place where the worlds of fashion, gaming, design and social media intersect.

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.