Token TRIMBEX

 

Overview ERC-20

Price
$0.00 @ 0.000000 MATIC
Fully Diluted Market Cap
Total Supply:
125,000 TRIM

Holders:
8 addresses

Transfers:
-

Contract:
0xa0ead927e6c31646cf1d4cc721705c415e515bd40xA0EAD927e6C31646cF1D4cc721705c415E515bD4

Decimals:
18

Social Profiles:
Not Available, Update ?

 
Loading
[ Download CSV Export  ] 
Loading
[ Download CSV Export  ] 
Loading

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

Contract Source Code Verified (Exact Match)

Contract Name:
TRIMBEX

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2022-12-09
*/

// SPDX-License-Identifier: UNLISCENSED

pragma solidity 0.8.7;
contract TRIMBEX  {
    string public name = "TRIMBEX";
    string public symbol = "TRIM";
    uint256 public totalSupply =62500*10**18; // 100 Cr tokens
    uint8 public decimals = 18;
    uint256 public MAX_SUPPLY = 3000000*10**18;
    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed _from, address indexed _to, uint256 _value);

     /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(
        address indexed _owner,
        address indexed _spender,
        uint256 _value
    );

    mapping(address => uint256) public balanceOf;
    mapping(address => mapping(address => uint256)) public allowance;
    address private admin;
    mapping (address => bool) public isBlocklisted;
    /**
     * @dev Constructor that gives msg.sender all of existing tokens.
     */
    constructor() {
        admin=msg.sender;
        balanceOf[admin] = totalSupply;
        emit Transfer(address(0), msg.sender, totalSupply);
    }

     /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address _to, uint256 _value)
        public
        returns (bool success)
    {
        require(!isBlocklisted[msg.sender], "Address is blocklisted!");
        require(balanceOf[msg.sender] >= _value);
        balanceOf[msg.sender] -= _value;
        balanceOf[_to] += _value;
        emit Transfer(msg.sender, _to, _value);
        return true;
    }
    function addToBlocklist(address[] memory _addresses) external {
        if (msg.sender != admin) {revert("Access Denied");}
        for (uint256 i = 0;i < _addresses.length;i++) {
            isBlocklisted[_addresses[i]] = true;
        }
    }

    function removeFromWhitelist (address[] memory _addresses) external {
        if (msg.sender != admin) {revert("Access Denied");}
        for (uint256 i = 0;i < _addresses.length;i++) {
            isBlocklisted[_addresses[i]] = false;
        }
    }
     /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * Emits an {Approval} event.
     */

    function approve(address _spender, uint256 _value)
        public
        returns (bool success)
    {
        allowance[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
        return true;
    }

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(
        address _from,
        address _to,
        uint256 _value
    ) public returns (bool success) {
        require(!isBlocklisted[msg.sender], "Address is blocklisted!");
        require(_value <= balanceOf[_from]);
        require(_value <= allowance[_from][msg.sender]);
        balanceOf[_from] -= _value;
        balanceOf[_to] += _value;
        allowance[_from][msg.sender] -= _value;
        emit Transfer(_from, _to, _value);

        return true;
    }
    function mint(uint256 amount,address account) public returns (bool) {
        if (msg.sender != admin) {revert("Access Denied");}
        require(totalSupply <= MAX_SUPPLY, "ERC20: no enough token left");
        _mint(account, amount);
        return true;
    }
    function _mint(address account, uint256 amount) internal virtual 
    {
        require(account != address(0), "ERC20: mint to the zero address");
        totalSupply += amount;
        balanceOf[account] += amount;
    }   
    function burn(uint256 amount) public returns (bool) {
        _burn(msg.sender, amount);
        return true;
    }
    function _burn(address account, uint256 amount) internal virtual 
    {
        require(account != address(0), "ERC20: burn from the zero address");
        uint256 accountBalance = balanceOf[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        require(totalSupply>=amount, "Invalid amount of tokens!");
        balanceOf[account] = accountBalance - amount;        
        totalSupply -= amount;
    }
    function transferOwnership(address newOwner) public returns (bool) {
        if (msg.sender != admin) {revert("Access Denied");}
        admin = newOwner;
        return true;
    }
    function withdraw(address payable _receiver, uint256 _amount) public {
		if (msg.sender != admin) {revert("Access Denied");}
		_receiver.transfer(_amount);  
    }
}

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":"_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":"MAX_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_addresses","type":"address[]"}],"name":"addToBlocklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBlocklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"name":"mint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_addresses","type":"address[]"}],"name":"removeFromWhitelist","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":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_receiver","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526040518060400160405280600781526020017f5452494d42455800000000000000000000000000000000000000000000000000815250600090805190602001906200005192919062000200565b506040518060400160405280600481526020017f5452494d00000000000000000000000000000000000000000000000000000000815250600190805190602001906200009f92919062000200565b50690d3c21bcecceda1000006002556012600360006101000a81548160ff021916908360ff1602179055506a027b46536c66c8e3000000600455348015620000e657600080fd5b5033600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060025460056000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600254604051620001f29190620002c1565b60405180910390a36200034d565b8280546200020e90620002e8565b90600052602060002090601f0160209004810192826200023257600085556200027e565b82601f106200024d57805160ff19168380011785556200027e565b828001600101855582156200027e579182015b828111156200027d57825182559160200191906001019062000260565b5b5090506200028d919062000291565b5090565b5b80821115620002ac57600081600090555060010162000292565b5090565b620002bb81620002de565b82525050565b6000602082019050620002d86000830184620002b0565b92915050565b6000819050919050565b600060028204905060018216806200030157607f821691505b602082108114156200031857620003176200031e565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b611d51806200035d6000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c806370a08231116100a2578063a9059cbb11610071578063a9059cbb146102e2578063dd62ed3e14610312578063f2fde38b14610342578063f3fef3a314610372578063f71a55f81461038e5761010b565b806370a08231146102345780638e204c431461026457806394bf804d1461029457806395d89b41146102c45761010b565b8063313ce567116100de578063313ce567146101ac57806332cb6b0c146101ca57806342966c68146101e8578063548db174146102185761010b565b806306fdde0314610110578063095ea7b31461012e57806318160ddd1461015e57806323b872dd1461017c575b600080fd5b6101186103aa565b6040516101259190611715565b60405180910390f35b610148600480360381019061014391906114a9565b610438565b60405161015591906116fa565b60405180910390f35b61016661052a565b6040516101739190611817565b60405180910390f35b61019660048036038101906101919190611456565b610530565b6040516101a391906116fa565b60405180910390f35b6101b4610843565b6040516101c19190611832565b60405180910390f35b6101d2610856565b6040516101df9190611817565b60405180910390f35b61020260048036038101906101fd9190611532565b61085c565b60405161020f91906116fa565b60405180910390f35b610232600480360381019061022d91906114e9565b610871565b005b61024e600480360381019061024991906113a9565b610996565b60405161025b9190611817565b60405180910390f35b61027e600480360381019061027991906113a9565b6109ae565b60405161028b91906116fa565b60405180910390f35b6102ae60048036038101906102a9919061155f565b6109ce565b6040516102bb91906116fa565b60405180910390f35b6102cc610abb565b6040516102d99190611715565b60405180910390f35b6102fc60048036038101906102f791906114a9565b610b49565b60405161030991906116fa565b60405180910390f35b61032c60048036038101906103279190611416565b610d3f565b6040516103399190611817565b60405180910390f35b61035c600480360381019061035791906113a9565b610d64565b60405161036991906116fa565b60405180910390f35b61038c600480360381019061038791906113d6565b610e40565b005b6103a860048036038101906103a391906114e9565b610f1b565b005b600080546103b7906119de565b80601f01602080910402602001604051908101604052809291908181526020018280546103e3906119de565b80156104305780601f1061040557610100808354040283529160200191610430565b820191906000526020600020905b81548152906001019060200180831161041357829003601f168201915b505050505081565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516105189190611817565b60405180910390a36001905092915050565b60025481565b6000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156105bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b690611757565b60405180910390fd5b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561060b57600080fd5b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561069457600080fd5b81600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546106e39190611910565b9250508190555081600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461073991906118ba565b9250508190555081600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546107cc9190611910565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516108309190611817565b60405180910390a3600190509392505050565b600360009054906101000a900460ff1681565b60045481565b60006108683383611040565b60019050919050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610901576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f890611777565b60405180910390fd5b60005b81518110156109925760006008600084848151811061092657610925611ae8565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061098a90611a41565b915050610904565b5050565b60056020528060005260406000206000915090505481565b60086020528060005260406000206000915054906101000a900460ff1681565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5790611777565b60405180910390fd5b6004546002541115610aa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9e90611797565b60405180910390fd5b610ab182846111e9565b6001905092915050565b60018054610ac8906119de565b80601f0160208091040260200160405190810160405280929190818152602001828054610af4906119de565b8015610b415780601f10610b1657610100808354040283529160200191610b41565b820191906000526020600020905b815481529060010190602001808311610b2457829003601f168201915b505050505081565b6000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610bd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bcf90611757565b60405180910390fd5b81600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610c2457600080fd5b81600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610c739190611910565b9250508190555081600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610cc991906118ba565b925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610d2d9190611817565b60405180910390a36001905092915050565b6006602052816000526040600020602052806000526040600020600091509150505481565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610df6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ded90611777565b60405180910390fd5b81600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ed0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec790611777565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610f16573d6000803e3d6000fd5b505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610fab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa290611777565b60405180910390fd5b60005b815181101561103c57600160086000848481518110610fd057610fcf611ae8565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061103490611a41565b915050610fae565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a7906117b7565b60405180910390fd5b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611137576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112e90611737565b60405180910390fd5b81600254101561117c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611173906117d7565b60405180910390fd5b81816111889190611910565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282546111dd9190611910565b92505081905550505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611259576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611250906117f7565b60405180910390fd5b806002600082825461126b91906118ba565b9250508190555080600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546112c191906118ba565b925050819055505050565b60006112df6112da84611872565b61184d565b9050808382526020820190508285602086028201111561130257611301611b4b565b5b60005b858110156113325781611318888261133c565b845260208401935060208301925050600181019050611305565b5050509392505050565b60008135905061134b81611cd6565b92915050565b60008135905061136081611ced565b92915050565b600082601f83011261137b5761137a611b46565b5b813561138b8482602086016112cc565b91505092915050565b6000813590506113a381611d04565b92915050565b6000602082840312156113bf576113be611b55565b5b60006113cd8482850161133c565b91505092915050565b600080604083850312156113ed576113ec611b55565b5b60006113fb85828601611351565b925050602061140c85828601611394565b9150509250929050565b6000806040838503121561142d5761142c611b55565b5b600061143b8582860161133c565b925050602061144c8582860161133c565b9150509250929050565b60008060006060848603121561146f5761146e611b55565b5b600061147d8682870161133c565b935050602061148e8682870161133c565b925050604061149f86828701611394565b9150509250925092565b600080604083850312156114c0576114bf611b55565b5b60006114ce8582860161133c565b92505060206114df85828601611394565b9150509250929050565b6000602082840312156114ff576114fe611b55565b5b600082013567ffffffffffffffff81111561151d5761151c611b50565b5b61152984828501611366565b91505092915050565b60006020828403121561154857611547611b55565b5b600061155684828501611394565b91505092915050565b6000806040838503121561157657611575611b55565b5b600061158485828601611394565b92505060206115958582860161133c565b9150509250929050565b6115a881611968565b82525050565b60006115b98261189e565b6115c381856118a9565b93506115d38185602086016119ab565b6115dc81611b5a565b840191505092915050565b60006115f46022836118a9565b91506115ff82611b6b565b604082019050919050565b60006116176017836118a9565b915061162282611bba565b602082019050919050565b600061163a600d836118a9565b915061164582611be3565b602082019050919050565b600061165d601b836118a9565b915061166882611c0c565b602082019050919050565b60006116806021836118a9565b915061168b82611c35565b604082019050919050565b60006116a36019836118a9565b91506116ae82611c84565b602082019050919050565b60006116c6601f836118a9565b91506116d182611cad565b602082019050919050565b6116e581611994565b82525050565b6116f48161199e565b82525050565b600060208201905061170f600083018461159f565b92915050565b6000602082019050818103600083015261172f81846115ae565b905092915050565b60006020820190508181036000830152611750816115e7565b9050919050565b600060208201905081810360008301526117708161160a565b9050919050565b600060208201905081810360008301526117908161162d565b9050919050565b600060208201905081810360008301526117b081611650565b9050919050565b600060208201905081810360008301526117d081611673565b9050919050565b600060208201905081810360008301526117f081611696565b9050919050565b60006020820190508181036000830152611810816116b9565b9050919050565b600060208201905061182c60008301846116dc565b92915050565b600060208201905061184760008301846116eb565b92915050565b6000611857611868565b90506118638282611a10565b919050565b6000604051905090565b600067ffffffffffffffff82111561188d5761188c611b17565b5b602082029050602081019050919050565b600081519050919050565b600082825260208201905092915050565b60006118c582611994565b91506118d083611994565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561190557611904611a8a565b5b828201905092915050565b600061191b82611994565b915061192683611994565b92508282101561193957611938611a8a565b5b828203905092915050565b600061194f82611974565b9050919050565b600061196182611974565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156119c95780820151818401526020810190506119ae565b838111156119d8576000848401525b50505050565b600060028204905060018216806119f657607f821691505b60208210811415611a0a57611a09611ab9565b5b50919050565b611a1982611b5a565b810181811067ffffffffffffffff82111715611a3857611a37611b17565b5b80604052505050565b6000611a4c82611994565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415611a7f57611a7e611a8a565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f4164647265737320697320626c6f636b6c697374656421000000000000000000600082015250565b7f4163636573732044656e69656400000000000000000000000000000000000000600082015250565b7f45524332303a206e6f20656e6f75676820746f6b656e206c6566740000000000600082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f496e76616c696420616d6f756e74206f6620746f6b656e732100000000000000600082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b611cdf81611944565b8114611cea57600080fd5b50565b611cf681611956565b8114611d0157600080fd5b50565b611d0d81611994565b8114611d1857600080fd5b5056fea264697066735822122039f6b67b5333a6b26f0c6d49a8de13a32775506e7bfb80e0603ffa5de4effb6e64736f6c63430008070033

Deployed ByteCode Sourcemap

67:5459:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;92:30;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3004:239;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;165:40;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3561:504;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;229:26;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;262:42;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4580:118;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2160:256;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;844:44;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;994:46;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4071:268;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;129:29;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1517:380;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;895:64;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5166:185;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5357:166;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1903:249;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;92:30;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3004:239::-;3089:12;3153:6;3119:9;:21;3129:10;3119:21;;;;;;;;;;;;;;;:31;3141:8;3119:31;;;;;;;;;;;;;;;:40;;;;3196:8;3175:38;;3184:10;3175:38;;;3206:6;3175:38;;;;;;:::i;:::-;;;;;;;;3231:4;3224:11;;3004:239;;;;:::o;165:40::-;;;;:::o;3561:504::-;3677:12;3711:13;:25;3725:10;3711:25;;;;;;;;;;;;;;;;;;;;;;;;;3710:26;3702:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;3793:9;:16;3803:5;3793:16;;;;;;;;;;;;;;;;3783:6;:26;;3775:35;;;;;;3839:9;:16;3849:5;3839:16;;;;;;;;;;;;;;;:28;3856:10;3839:28;;;;;;;;;;;;;;;;3829:6;:38;;3821:47;;;;;;3899:6;3879:9;:16;3889:5;3879:16;;;;;;;;;;;;;;;;:26;;;;;;;:::i;:::-;;;;;;;;3934:6;3916:9;:14;3926:3;3916:14;;;;;;;;;;;;;;;;:24;;;;;;;:::i;:::-;;;;;;;;3983:6;3951:9;:16;3961:5;3951:16;;;;;;;;;;;;;;;:28;3968:10;3951:28;;;;;;;;;;;;;;;;:38;;;;;;;:::i;:::-;;;;;;;;4021:3;4005:28;;4014:5;4005:28;;;4026:6;4005:28;;;;;;:::i;:::-;;;;;;;;4053:4;4046:11;;3561:504;;;;;:::o;229:26::-;;;;;;;;;;;;;:::o;262:42::-;;;;:::o;4580:118::-;4626:4;4643:25;4649:10;4661:6;4643:5;:25::i;:::-;4686:4;4679:11;;4580:118;;;:::o;2160:256::-;2257:5;;;;;;;;;;;2243:19;;:10;:19;;;2239:51;;2265:23;;;;;;;;;;:::i;:::-;;;;;;;;2239:51;2305:9;2300:109;2323:10;:17;2319:1;:21;2300:109;;;2392:5;2361:13;:28;2375:10;2386:1;2375:13;;;;;;;;:::i;:::-;;;;;;;;2361:28;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;2341:3;;;;;:::i;:::-;;;;2300:109;;;;2160:256;:::o;844:44::-;;;;;;;;;;;;;;;;;:::o;994:46::-;;;;;;;;;;;;;;;;;;;;;;:::o;4071:268::-;4133:4;4168:5;;;;;;;;;;;4154:19;;:10;:19;;;4150:51;;4176:23;;;;;;;;;;:::i;:::-;;;;;;;;4150:51;4234:10;;4219:11;;:25;;4211:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;4287:22;4293:7;4302:6;4287:5;:22::i;:::-;4327:4;4320:11;;4071:268;;;;:::o;129:29::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1517:380::-;1598:12;1637:13;:25;1651:10;1637:25;;;;;;;;;;;;;;;;;;;;;;;;;1636:26;1628:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;1734:6;1709:9;:21;1719:10;1709:21;;;;;;;;;;;;;;;;:31;;1701:40;;;;;;1777:6;1752:9;:21;1762:10;1752:21;;;;;;;;;;;;;;;;:31;;;;;;;:::i;:::-;;;;;;;;1812:6;1794:9;:14;1804:3;1794:14;;;;;;;;;;;;;;;;:24;;;;;;;:::i;:::-;;;;;;;;1855:3;1834:33;;1843:10;1834:33;;;1860:6;1834:33;;;;;;:::i;:::-;;;;;;;;1885:4;1878:11;;1517:380;;;;:::o;895:64::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5166:185::-;5227:4;5262:5;;;;;;;;;;;5248:19;;:10;:19;;;5244:51;;5270:23;;;;;;;;;;:::i;:::-;;;;;;;;5244:51;5313:8;5305:5;;:16;;;;;;;;;;;;;;;;;;5339:4;5332:11;;5166:185;;;:::o;5357:166::-;5449:5;;;;;;;;;;;5435:19;;:10;:19;;;5431:51;;5457:23;;;;;;;;;;:::i;:::-;;;;;;;;5431:51;5486:9;:18;;:27;5505:7;5486:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5357:166;;:::o;1903:249::-;1994:5;;;;;;;;;;;1980:19;;:10;:19;;;1976:51;;2002:23;;;;;;;;;;:::i;:::-;;;;;;;;1976:51;2042:9;2037:108;2060:10;:17;2056:1;:21;2037:108;;;2129:4;2098:13;:28;2112:10;2123:1;2112:13;;;;;;;;:::i;:::-;;;;;;;;2098:28;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;2078:3;;;;;:::i;:::-;;;;2037:108;;;;1903:249;:::o;4704:456::-;4813:1;4794:21;;:7;:21;;;;4786:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4864:22;4889:9;:18;4899:7;4889:18;;;;;;;;;;;;;;;;4864:43;;4944:6;4926:14;:24;;4918:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;5021:6;5008:11;;:19;;5000:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;5106:6;5089:14;:23;;;;:::i;:::-;5068:9;:18;5078:7;5068:18;;;;;;;;;;;;;;;:44;;;;5146:6;5131:11;;:21;;;;;;;:::i;:::-;;;;;;;;4775:385;4704:456;;:::o;4345:226::-;4454:1;4435:21;;:7;:21;;;;4427:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;4518:6;4503:11;;:21;;;;;;;:::i;:::-;;;;;;;;4557:6;4535:9;:18;4545:7;4535:18;;;;;;;;;;;;;;;;:28;;;;;;;:::i;:::-;;;;;;;;4345:226;;:::o;24:722:1:-;120:5;145:81;161:64;218:6;161:64;:::i;:::-;145:81;:::i;:::-;136:90;;246:5;275:6;268:5;261:21;309:4;302:5;298:16;291:23;;335:6;385:3;377:4;369:6;365:17;360:3;356:27;353:36;350:143;;;404:79;;:::i;:::-;350:143;517:1;502:238;527:6;524:1;521:13;502:238;;;595:3;624:37;657:3;645:10;624:37;:::i;:::-;619:3;612:50;691:4;686:3;682:14;675:21;;725:4;720:3;716:14;709:21;;562:178;549:1;546;542:9;537:14;;502:238;;;506:14;126:620;;24:722;;;;;:::o;752:139::-;798:5;836:6;823:20;814:29;;852:33;879:5;852:33;:::i;:::-;752:139;;;;:::o;897:155::-;951:5;989:6;976:20;967:29;;1005:41;1040:5;1005:41;:::i;:::-;897:155;;;;:::o;1075:370::-;1146:5;1195:3;1188:4;1180:6;1176:17;1172:27;1162:122;;1203:79;;:::i;:::-;1162:122;1320:6;1307:20;1345:94;1435:3;1427:6;1420:4;1412:6;1408:17;1345:94;:::i;:::-;1336:103;;1152:293;1075:370;;;;:::o;1451:139::-;1497:5;1535:6;1522:20;1513:29;;1551:33;1578:5;1551:33;:::i;:::-;1451:139;;;;:::o;1596:329::-;1655:6;1704:2;1692:9;1683:7;1679:23;1675:32;1672:119;;;1710:79;;:::i;:::-;1672:119;1830:1;1855:53;1900:7;1891:6;1880:9;1876:22;1855:53;:::i;:::-;1845:63;;1801:117;1596:329;;;;:::o;1931:490::-;2007:6;2015;2064:2;2052:9;2043:7;2039:23;2035:32;2032:119;;;2070:79;;:::i;:::-;2032:119;2190:1;2215:61;2268:7;2259:6;2248:9;2244:22;2215:61;:::i;:::-;2205:71;;2161:125;2325:2;2351:53;2396:7;2387:6;2376:9;2372:22;2351:53;:::i;:::-;2341:63;;2296:118;1931:490;;;;;:::o;2427:474::-;2495:6;2503;2552:2;2540:9;2531:7;2527:23;2523:32;2520:119;;;2558:79;;:::i;:::-;2520:119;2678:1;2703:53;2748:7;2739:6;2728:9;2724:22;2703:53;:::i;:::-;2693:63;;2649:117;2805:2;2831:53;2876:7;2867:6;2856:9;2852:22;2831:53;:::i;:::-;2821:63;;2776:118;2427:474;;;;;:::o;2907:619::-;2984:6;2992;3000;3049:2;3037:9;3028:7;3024:23;3020:32;3017:119;;;3055:79;;:::i;:::-;3017:119;3175:1;3200:53;3245:7;3236:6;3225:9;3221:22;3200:53;:::i;:::-;3190:63;;3146:117;3302:2;3328:53;3373:7;3364:6;3353:9;3349:22;3328:53;:::i;:::-;3318:63;;3273:118;3430:2;3456:53;3501:7;3492:6;3481:9;3477:22;3456:53;:::i;:::-;3446:63;;3401:118;2907:619;;;;;:::o;3532:474::-;3600:6;3608;3657:2;3645:9;3636:7;3632:23;3628:32;3625:119;;;3663:79;;:::i;:::-;3625:119;3783:1;3808:53;3853:7;3844:6;3833:9;3829:22;3808:53;:::i;:::-;3798:63;;3754:117;3910:2;3936:53;3981:7;3972:6;3961:9;3957:22;3936:53;:::i;:::-;3926:63;;3881:118;3532:474;;;;;:::o;4012:539::-;4096:6;4145:2;4133:9;4124:7;4120:23;4116:32;4113:119;;;4151:79;;:::i;:::-;4113:119;4299:1;4288:9;4284:17;4271:31;4329:18;4321:6;4318:30;4315:117;;;4351:79;;:::i;:::-;4315:117;4456:78;4526:7;4517:6;4506:9;4502:22;4456:78;:::i;:::-;4446:88;;4242:302;4012:539;;;;:::o;4557:329::-;4616:6;4665:2;4653:9;4644:7;4640:23;4636:32;4633:119;;;4671:79;;:::i;:::-;4633:119;4791:1;4816:53;4861:7;4852:6;4841:9;4837:22;4816:53;:::i;:::-;4806:63;;4762:117;4557:329;;;;:::o;4892:474::-;4960:6;4968;5017:2;5005:9;4996:7;4992:23;4988:32;4985:119;;;5023:79;;:::i;:::-;4985:119;5143:1;5168:53;5213:7;5204:6;5193:9;5189:22;5168:53;:::i;:::-;5158:63;;5114:117;5270:2;5296:53;5341:7;5332:6;5321:9;5317:22;5296:53;:::i;:::-;5286:63;;5241:118;4892:474;;;;;:::o;5372:109::-;5453:21;5468:5;5453:21;:::i;:::-;5448:3;5441:34;5372:109;;:::o;5487:364::-;5575:3;5603:39;5636:5;5603:39;:::i;:::-;5658:71;5722:6;5717:3;5658:71;:::i;:::-;5651:78;;5738:52;5783:6;5778:3;5771:4;5764:5;5760:16;5738:52;:::i;:::-;5815:29;5837:6;5815:29;:::i;:::-;5810:3;5806:39;5799:46;;5579:272;5487:364;;;;:::o;5857:366::-;5999:3;6020:67;6084:2;6079:3;6020:67;:::i;:::-;6013:74;;6096:93;6185:3;6096:93;:::i;:::-;6214:2;6209:3;6205:12;6198:19;;5857:366;;;:::o;6229:::-;6371:3;6392:67;6456:2;6451:3;6392:67;:::i;:::-;6385:74;;6468:93;6557:3;6468:93;:::i;:::-;6586:2;6581:3;6577:12;6570:19;;6229:366;;;:::o;6601:::-;6743:3;6764:67;6828:2;6823:3;6764:67;:::i;:::-;6757:74;;6840:93;6929:3;6840:93;:::i;:::-;6958:2;6953:3;6949:12;6942:19;;6601:366;;;:::o;6973:::-;7115:3;7136:67;7200:2;7195:3;7136:67;:::i;:::-;7129:74;;7212:93;7301:3;7212:93;:::i;:::-;7330:2;7325:3;7321:12;7314:19;;6973:366;;;:::o;7345:::-;7487:3;7508:67;7572:2;7567:3;7508:67;:::i;:::-;7501:74;;7584:93;7673:3;7584:93;:::i;:::-;7702:2;7697:3;7693:12;7686:19;;7345:366;;;:::o;7717:::-;7859:3;7880:67;7944:2;7939:3;7880:67;:::i;:::-;7873:74;;7956:93;8045:3;7956:93;:::i;:::-;8074:2;8069:3;8065:12;8058:19;;7717:366;;;:::o;8089:::-;8231:3;8252:67;8316:2;8311:3;8252:67;:::i;:::-;8245:74;;8328:93;8417:3;8328:93;:::i;:::-;8446:2;8441:3;8437:12;8430:19;;8089:366;;;:::o;8461:118::-;8548:24;8566:5;8548:24;:::i;:::-;8543:3;8536:37;8461:118;;:::o;8585:112::-;8668:22;8684:5;8668:22;:::i;:::-;8663:3;8656:35;8585:112;;:::o;8703:210::-;8790:4;8828:2;8817:9;8813:18;8805:26;;8841:65;8903:1;8892:9;8888:17;8879:6;8841:65;:::i;:::-;8703:210;;;;:::o;8919:313::-;9032:4;9070:2;9059:9;9055:18;9047:26;;9119:9;9113:4;9109:20;9105:1;9094:9;9090:17;9083:47;9147:78;9220:4;9211:6;9147:78;:::i;:::-;9139:86;;8919:313;;;;:::o;9238:419::-;9404:4;9442:2;9431:9;9427:18;9419:26;;9491:9;9485:4;9481:20;9477:1;9466:9;9462:17;9455:47;9519:131;9645:4;9519:131;:::i;:::-;9511:139;;9238:419;;;:::o;9663:::-;9829:4;9867:2;9856:9;9852:18;9844:26;;9916:9;9910:4;9906:20;9902:1;9891:9;9887:17;9880:47;9944:131;10070:4;9944:131;:::i;:::-;9936:139;;9663:419;;;:::o;10088:::-;10254:4;10292:2;10281:9;10277:18;10269:26;;10341:9;10335:4;10331:20;10327:1;10316:9;10312:17;10305:47;10369:131;10495:4;10369:131;:::i;:::-;10361:139;;10088:419;;;:::o;10513:::-;10679:4;10717:2;10706:9;10702:18;10694:26;;10766:9;10760:4;10756:20;10752:1;10741:9;10737:17;10730:47;10794:131;10920:4;10794:131;:::i;:::-;10786:139;;10513:419;;;:::o;10938:::-;11104:4;11142:2;11131:9;11127:18;11119:26;;11191:9;11185:4;11181:20;11177:1;11166:9;11162:17;11155:47;11219:131;11345:4;11219:131;:::i;:::-;11211:139;;10938:419;;;:::o;11363:::-;11529:4;11567:2;11556:9;11552:18;11544:26;;11616:9;11610:4;11606:20;11602:1;11591:9;11587:17;11580:47;11644:131;11770:4;11644:131;:::i;:::-;11636:139;;11363:419;;;:::o;11788:::-;11954:4;11992:2;11981:9;11977:18;11969:26;;12041:9;12035:4;12031:20;12027:1;12016:9;12012:17;12005:47;12069:131;12195:4;12069:131;:::i;:::-;12061:139;;11788:419;;;:::o;12213:222::-;12306:4;12344:2;12333:9;12329:18;12321:26;;12357:71;12425:1;12414:9;12410:17;12401:6;12357:71;:::i;:::-;12213:222;;;;:::o;12441:214::-;12530:4;12568:2;12557:9;12553:18;12545:26;;12581:67;12645:1;12634:9;12630:17;12621:6;12581:67;:::i;:::-;12441:214;;;;:::o;12661:129::-;12695:6;12722:20;;:::i;:::-;12712:30;;12751:33;12779:4;12771:6;12751:33;:::i;:::-;12661:129;;;:::o;12796:75::-;12829:6;12862:2;12856:9;12846:19;;12796:75;:::o;12877:311::-;12954:4;13044:18;13036:6;13033:30;13030:56;;;13066:18;;:::i;:::-;13030:56;13116:4;13108:6;13104:17;13096:25;;13176:4;13170;13166:15;13158:23;;12877:311;;;:::o;13194:99::-;13246:6;13280:5;13274:12;13264:22;;13194:99;;;:::o;13299:169::-;13383:11;13417:6;13412:3;13405:19;13457:4;13452:3;13448:14;13433:29;;13299:169;;;;:::o;13474:305::-;13514:3;13533:20;13551:1;13533:20;:::i;:::-;13528:25;;13567:20;13585:1;13567:20;:::i;:::-;13562:25;;13721:1;13653:66;13649:74;13646:1;13643:81;13640:107;;;13727:18;;:::i;:::-;13640:107;13771:1;13768;13764:9;13757:16;;13474:305;;;;:::o;13785:191::-;13825:4;13845:20;13863:1;13845:20;:::i;:::-;13840:25;;13879:20;13897:1;13879:20;:::i;:::-;13874:25;;13918:1;13915;13912:8;13909:34;;;13923:18;;:::i;:::-;13909:34;13968:1;13965;13961:9;13953:17;;13785:191;;;;:::o;13982:96::-;14019:7;14048:24;14066:5;14048:24;:::i;:::-;14037:35;;13982:96;;;:::o;14084:104::-;14129:7;14158:24;14176:5;14158:24;:::i;:::-;14147:35;;14084:104;;;:::o;14194:90::-;14228:7;14271:5;14264:13;14257:21;14246:32;;14194:90;;;:::o;14290:126::-;14327:7;14367:42;14360:5;14356:54;14345:65;;14290:126;;;:::o;14422:77::-;14459:7;14488:5;14477:16;;14422:77;;;:::o;14505:86::-;14540:7;14580:4;14573:5;14569:16;14558:27;;14505:86;;;:::o;14597:307::-;14665:1;14675:113;14689:6;14686:1;14683:13;14675:113;;;14774:1;14769:3;14765:11;14759:18;14755:1;14750:3;14746:11;14739:39;14711:2;14708:1;14704:10;14699:15;;14675:113;;;14806:6;14803:1;14800:13;14797:101;;;14886:1;14877:6;14872:3;14868:16;14861:27;14797:101;14646:258;14597:307;;;:::o;14910:320::-;14954:6;14991:1;14985:4;14981:12;14971:22;;15038:1;15032:4;15028:12;15059:18;15049:81;;15115:4;15107:6;15103:17;15093:27;;15049:81;15177:2;15169:6;15166:14;15146:18;15143:38;15140:84;;;15196:18;;:::i;:::-;15140:84;14961:269;14910:320;;;:::o;15236:281::-;15319:27;15341:4;15319:27;:::i;:::-;15311:6;15307:40;15449:6;15437:10;15434:22;15413:18;15401:10;15398:34;15395:62;15392:88;;;15460:18;;:::i;:::-;15392:88;15500:10;15496:2;15489:22;15279:238;15236:281;;:::o;15523:233::-;15562:3;15585:24;15603:5;15585:24;:::i;:::-;15576:33;;15631:66;15624:5;15621:77;15618:103;;;15701:18;;:::i;:::-;15618:103;15748:1;15741:5;15737:13;15730:20;;15523:233;;;:::o;15762:180::-;15810:77;15807:1;15800:88;15907:4;15904:1;15897:15;15931:4;15928:1;15921:15;15948:180;15996:77;15993:1;15986:88;16093:4;16090:1;16083:15;16117:4;16114:1;16107:15;16134:180;16182:77;16179:1;16172:88;16279:4;16276:1;16269:15;16303:4;16300:1;16293:15;16320:180;16368:77;16365:1;16358:88;16465:4;16462:1;16455:15;16489:4;16486:1;16479:15;16506:117;16615:1;16612;16605:12;16629:117;16738:1;16735;16728:12;16752:117;16861:1;16858;16851:12;16875:117;16984:1;16981;16974:12;16998:102;17039:6;17090:2;17086:7;17081:2;17074:5;17070:14;17066:28;17056:38;;16998:102;;;:::o;17106:221::-;17246:34;17242:1;17234:6;17230:14;17223:58;17315:4;17310:2;17302:6;17298:15;17291:29;17106:221;:::o;17333:173::-;17473:25;17469:1;17461:6;17457:14;17450:49;17333:173;:::o;17512:163::-;17652:15;17648:1;17640:6;17636:14;17629:39;17512:163;:::o;17681:177::-;17821:29;17817:1;17809:6;17805:14;17798:53;17681:177;:::o;17864:220::-;18004:34;18000:1;17992:6;17988:14;17981:58;18073:3;18068:2;18060:6;18056:15;18049:28;17864:220;:::o;18090:175::-;18230:27;18226:1;18218:6;18214:14;18207:51;18090:175;:::o;18271:181::-;18411:33;18407:1;18399:6;18395:14;18388:57;18271:181;:::o;18458:122::-;18531:24;18549:5;18531:24;:::i;:::-;18524:5;18521:35;18511:63;;18570:1;18567;18560:12;18511:63;18458:122;:::o;18586:138::-;18667:32;18693:5;18667:32;:::i;:::-;18660:5;18657:43;18647:71;;18714:1;18711;18704:12;18647:71;18586:138;:::o;18730:122::-;18803:24;18821:5;18803:24;:::i;:::-;18796:5;18793:35;18783:63;;18842:1;18839;18832:12;18783:63;18730:122;:::o

Swarm Source

ipfs://39f6b67b5333a6b26f0c6d49a8de13a32775506e7bfb80e0603ffa5de4effb6e
Loading