ERC-20
Overview
Max Total Supply
17,501,471,438.6 BLVD
Holders
556
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
125 BLVDValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
BLVD
Compiler Version
v0.5.10+commit.5a6ea5b1
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2019-07-05 */ pragma solidity ^0.5.10; interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address who) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); function transfer(address to, uint256 value) external returns (bool); function approve(address spender, uint256 value) external returns (bool); function transferFrom(address from, address to, uint256 value) 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 { /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= a, "SafeMath: subtraction overflow"); uint256 c = a - b; return c; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers. Reverts on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { // Solidity only automatically asserts when dividing by 0 require(b > 0, "SafeMath: division by zero"); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } } contract ERC20Detailed is IERC20 { uint8 private _Tokendecimals; string private _Tokenname; string private _Tokensymbol; constructor(string memory name, string memory symbol, uint8 decimals) public { _Tokendecimals = decimals; _Tokenname = name; _Tokensymbol = symbol; } function name() public view returns(string memory) { return _Tokenname; } function symbol() public view returns(string memory) { return _Tokensymbol; } function decimals() public view returns(uint8) { return _Tokendecimals; } } contract BLVD is ERC20Detailed { //ERC20 contract for rewards within the BULVRD ecosystem //https://bulvrdapp.com using SafeMath for uint256; //The oracle checks the authenticity of the rewards address public oracle; //The maintainer is in charge of keeping the oracle running address public maintainer; //The owner can replace the oracle or maintainer if they are compromised address public owner; //Set max tokens that can be minted uint256 public maxMintable; mapping(address => uint256) private _balanceOf; mapping(address => mapping (address => uint256)) private _allowed; string public constant tokenSymbol = "BLVD"; string public constant tokenName = "BULVRD"; uint8 public constant tokenDecimals = 18; uint256 public _totalSupply = 0; //Constant values for rewards uint256 public limiter = 5; uint256 public referral = 35; uint256 public ar_drive = 15; uint256 public closure = 15; uint256 public map_drive = 10; uint256 public dash_drive = 10; uint256 public odb2_drive = 10; uint256 public police = 10; uint256 public hazard = 10; uint256 public accident = 10; uint256 public traffic = 5; uint256 public twitter_share = 5; uint256 public mastodon_share = 5; uint256 public base_report = 5; uint256 public validated_poi = 5; uint256 public speed_sign = 1; uint256 public report_init = 1; //Keep track of BULVRD users and their redeemed rewards mapping(address => uint256) redeemedRewards; mapping(address => uint256) latestWithdrawBlock; event Transfer(address indexed _from, address indexed _to, uint256 _value); event Approval(address indexed _owner, address indexed _spender, uint256 _value); //The Redeem event is activated when a BULVRD user redeems rewards event RedeemRewards(address indexed addr, uint256 rewards); constructor() public ERC20Detailed(tokenName, tokenSymbol, tokenDecimals) { owner = msg.sender; maintainer = msg.sender; oracle = msg.sender; maxMintable = 50000000000 * 10**uint256(tokenDecimals); //initial grant redeemRewards(87500000000 * 10**uint256(tokenDecimals), owner); } function transferAnyERC20Token(address tokenAddress, uint tokens) public returns (bool success) { require(owner == msg.sender); return IERC20(tokenAddress).transfer(owner, tokens); } function totalSupply() public view returns (uint256) { return _totalSupply; } function balanceOf(address _owner) public view returns (uint256) { return _balanceOf[_owner]; } function allowance(address _owner, address spender) public view returns (uint256) { return _allowed[_owner][spender]; } function multiTransfer(address[] memory receivers, uint256[] memory amounts) public { for (uint256 i = 0; i < receivers.length; i++) { transfer(receivers[i], amounts[i]); } } function increaseAllowance(address spender, uint256 addedValue) public returns (bool) { require(spender != address(0)); _allowed[msg.sender][spender] = (_allowed[msg.sender][spender].add(addedValue)); emit Approval(msg.sender, spender, _allowed[msg.sender][spender]); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) { require(spender != address(0)); _allowed[msg.sender][spender] = (_allowed[msg.sender][spender].sub(subtractedValue)); emit Approval(msg.sender, spender, _allowed[msg.sender][spender]); return true; } function transfer(address to, uint tokens) public returns (bool success) { _balanceOf[msg.sender] = _balanceOf[msg.sender].sub(tokens); _balanceOf[to] = _balanceOf[to].add(tokens); emit Transfer(msg.sender, to, tokens); return true; } function transferFrom(address from, address to, uint tokens) public returns (bool success) { _balanceOf[from] = _balanceOf[from].sub(tokens); _allowed[from][msg.sender] = _allowed[from][msg.sender].sub(tokens); _balanceOf[to] = _balanceOf[to].add(tokens); emit Transfer(from, to, tokens); return true; } function approve(address spender, uint tokens) public returns (bool success) { _allowed[msg.sender][spender] = tokens; emit Approval(msg.sender, spender, tokens); return true; } //The owner can transfer ownership function transferOwnership(address newOwner) public { require(owner == msg.sender); require(newOwner != address(0)); owner = newOwner; } //The owner can change the oracle //This works only if removeOracle() was never called function changeOracle(address newOracle) public { require(owner == msg.sender); require(oracle != address(0) && newOracle != address(0)); oracle = newOracle; } //The owner can change the maintainer function changeMaintainer(address newMaintainer) public { require(owner == msg.sender); maintainer = newMaintainer; } //Allow address to redeem rewards verified from BULVRD function redeemRewards(uint256 rewards, address destination) public { //Must be oracle require(msg.sender == oracle, "Must be Oracle to complete"); //Make sure we have moved on since the last transaction of the give require(block.number > latestWithdrawBlock[destination], "Have not moved on from last block"); //rewards to token conversion uint256 reward = SafeMath.div(rewards, limiter); //The amount of rewards needs to be more than the previous redeemed amount require(reward > redeemedRewards[destination], "Has not earned since last redeem"); //check if reward amount can be redeemed against supply uint256 total = SafeMath.add(_totalSupply, reward); require(total <= maxMintable, "Max Mintable Reached"); //The new rewards that is available to be redeemed uint256 newUserRewards = SafeMath.sub(reward, redeemedRewards[destination]); //The user's rewards balance is updated with the new reward _balanceOf[destination] = SafeMath.add(_balanceOf[destination], newUserRewards); //The total supply (ERC20) is updated _totalSupply = SafeMath.add(_totalSupply, newUserRewards); //The amount of rewards redeemed by a user is updated redeemedRewards[destination] = reward; //Set block status for user transaction latestWithdrawBlock[destination] = block.number; //The Redeem event is triggered emit RedeemRewards(destination, newUserRewards); //Update token holder balance on chain explorers emit Transfer(oracle, destination, newUserRewards); } //This function is a workaround because this.redeemedRewards cannot be public //This is the limitation of the current Solidity compiler function redeemedRewardsOf(address destination) public view returns(uint256) { return redeemedRewards[destination]; } //Helper methods to update rewards function updateLimiter(uint256 value) public{ require(maintainer == msg.sender); limiter = value; } function updateReferral(uint256 value) public { require(maintainer == msg.sender); referral = value; } function updateTwitterShare(uint256 value) public { require(maintainer == msg.sender); twitter_share = value; } function updateMastodonShare(uint256 value) public { require(maintainer == msg.sender); mastodon_share = value; } function updateArDrive(uint256 value) public { require(maintainer == msg.sender); ar_drive = value; } function updateMapDrive(uint256 value) public { require(maintainer == msg.sender); map_drive = value; } function updateDashDrive(uint256 value) public { require(maintainer == msg.sender); dash_drive = value; } function updateObd2Drive(uint256 value) public { require(maintainer == msg.sender); odb2_drive = value; } function updatePolice(uint256 value) public { require(maintainer == msg.sender); police = value; } function updateClosure(uint256 value) public { require(maintainer == msg.sender); closure = value; } function updateHazard(uint256 value) public { require(maintainer == msg.sender); hazard = value; } function updateTraffic(uint256 value) public { require(maintainer == msg.sender); traffic = value; } function updateAccident(uint256 value) public { require(maintainer == msg.sender); accident = value; } function updateSpeedSign(uint256 value) public { require(maintainer == msg.sender); speed_sign = value; } function updateBaseReport(uint256 value) public { require(maintainer == msg.sender); base_report = value; } function updateValidatedPoi(uint256 value) public { require(maintainer == msg.sender); validated_poi = value; } function updateReportInit(uint256 value) public { require(maintainer == msg.sender); report_init = value; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[{"name":"value","type":"uint256"}],"name":"updateTraffic","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"tokens","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"referral","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"value","type":"uint256"}],"name":"updateArDrive","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"receivers","type":"address[]"},{"name":"amounts","type":"uint256[]"}],"name":"multiTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"maxMintable","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"tokens","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"value","type":"uint256"}],"name":"updateDashDrive","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"speed_sign","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ar_drive","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tokenDecimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOracle","type":"address"}],"name":"changeOracle","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"odb2_drive","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"base_report","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"value","type":"uint256"}],"name":"updateMastodonShare","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"value","type":"uint256"}],"name":"updateValidatedPoi","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"value","type":"uint256"}],"name":"updateClosure","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"dash_drive","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"destination","type":"address"}],"name":"redeemedRewardsOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"value","type":"uint256"}],"name":"updateAccident","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"value","type":"uint256"}],"name":"updateReferral","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"value","type":"uint256"}],"name":"updateHazard","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tokenName","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"limiter","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"value","type":"uint256"}],"name":"updateMapDrive","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tokenSymbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"oracle","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"hazard","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"report_init","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"value","type":"uint256"}],"name":"updateTwitterShare","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"twitter_share","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maintainer","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"value","type":"uint256"}],"name":"updateSpeedSign","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newMaintainer","type":"address"}],"name":"changeMaintainer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"tokens","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"value","type":"uint256"}],"name":"updatePolice","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"validated_poi","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"rewards","type":"uint256"},{"name":"destination","type":"address"}],"name":"redeemRewards","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"police","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"traffic","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"value","type":"uint256"}],"name":"updateBaseReport","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"value","type":"uint256"}],"name":"updateLimiter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"tokenAddress","type":"address"},{"name":"tokens","type":"uint256"}],"name":"transferAnyERC20Token","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"value","type":"uint256"}],"name":"updateReportInit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"map_drive","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"accident","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"mastodon_share","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"value","type":"uint256"}],"name":"updateObd2Drive","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"closure","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"addr","type":"address"},{"indexed":false,"name":"rewards","type":"uint256"}],"name":"RedeemRewards","type":"event"}]
Contract Creation Code
608060405260006009556005600a556023600b55600f600c55600f600d55600a600e55600a600f55600a601055600a601155600a601255600a6013556005601455600560155560056016556005601755600560185560016019556001601a553480156200006b57600080fd5b50604080518082018252600681527f42554c565244000000000000000000000000000000000000000000000000000060208083019182528351808501909452600484527f424c564400000000000000000000000000000000000000000000000000000000908401526000805460ff1916601290811790915582519293929091620000f991600191906200066c565b5081516200010f9060029060208501906200066c565b505060058054336001600160a01b031991821681179283905560048054831682179055600380549092161790556ba18f07d736b90be5500000006006556200017192506c011aba4db89fc3d4d14c00000091506001600160a01b031662000177565b62000711565b6003546001600160a01b03163314620001f157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4d757374206265204f7261636c6520746f20636f6d706c657465000000000000604482015290519081900360640190fd5b6001600160a01b0381166000908152601c6020526040902054431162000263576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018062001ef96021913960400191505060405180910390fd5b60006200027e83600a54620004f260201b620017181760201c565b6001600160a01b0383166000908152601b602052604090205490915081116200030857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f486173206e6f74206561726e65642073696e6365206c6173742072656465656d604482015290519081900360640190fd5b600062000323600954836200057860201b620016b71760201c565b90506006548111156200039757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4d6178204d696e7461626c652052656163686564000000000000000000000000604482015290519081900360640190fd5b6001600160a01b0383166000908152601b60209081526040822054620003c9918591906200165a620005f4821b17901c565b90506200040760076000866001600160a01b03166001600160a01b0316815260200190815260200160002054826200057860201b620016b71760201c565b60076000866001600160a01b03166001600160a01b031681526020019081526020016000208190555062000449600954826200057860201b620016b71760201c565b6009556001600160a01b0384166000818152601b60209081526040808320879055601c825291829020439055815184815291517f4fd8f0b6354e5709880fa05abe3c74ea38c098f804d438edd63f1f233c2534619281900390910190a26003546040805183815290516001600160a01b038088169316917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050505050565b60008082116200056357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b60008284816200056f57fe5b04949350505050565b600082820183811015620005ed57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6000828211156200066657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620006af57805160ff1916838001178555620006df565b82800160010185558215620006df579182015b82811115620006df578251825591602001919060010190620006c2565b50620006ed929150620006f1565b5090565b6200070e91905b80821115620006ed5760008155600101620006f8565b90565b6117d880620007216000396000f3fe608060405234801561001057600080fd5b50600436106103a45760003560e01c806379aa1bd0116101e9578063ba96bb3a1161010f578063dc8830ed116100ad578063ed6883fd1161007c578063ed6883fd14610a4b578063f2fde38b14610a53578063f937b2bf14610a79578063fc528c1c14610a96576103a4565b8063dc8830ed146109f0578063dd62ed3e14610a0d578063e80fcfc214610a3b578063ec654e3814610a43576103a4565b8063c8a004de116100e9578063c8a004de14610982578063cc86ae991461098a578063d2e8a73f146109a7578063dc39d06d146109c4576103a4565b8063ba96bb3a14610946578063c6323c261461094e578063c7330dd41461097a576103a4565b806395cd6e3311610187578063a12ee7ba11610156578063a12ee7ba146108ab578063a457c2d7146108d1578063a9059cbb146108fd578063ac5d4f6414610929576103a4565b806395cd6e331461087657806395d89b411461087e5780639850d32b146108865780639aad16601461088e576103a4565b80637e16036a116101c35780637e16036a14610841578063832f5a2b146108495780638da5cb5b146108515780638fd987b214610859576103a4565b806379aa1bd0146107f85780637b61c320146108155780637dc0d1d01461081d576103a4565b80633eaaf86b116102ce578063648f4d3b1161026c578063680acffe1161023b578063680acffe146107a55780636c02a931146107c257806370a08231146107ca57806374b87f67146107f0576103a4565b8063648f4d3b1461073d57806364b0b4a31461074557806364c798181461076b57806366d626eb14610788576103a4565b80634d907a9b116102a85780634d907a9b146106de578063529fc12d146106e657806357836cbb14610703578063642b44cc14610720576103a4565b80633eaaf86b146106a857806347c421b5146106b05780634d46c0ae146106d6576103a4565b80632154dc391161034657806336d9c59e1161031557806336d9c59e14610664578063387ed6461461066c57806339509351146106745780633b97e856146106a0576103a4565b80632154dc39146105eb57806323b872dd146105f3578063313ce567146106295780633213b7ff14610647576103a4565b80631441a5a9116103825780631441a5a914610485578063148ab62f1461049f57806318160ddd146104bc5780631e89d545146104c4576103a4565b806302ba8162146103a957806306fdde03146103c8578063095ea7b314610445575b600080fd5b6103c6600480360360208110156103bf57600080fd5b5035610a9e565b005b6103d0610aba565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561040a5781810151838201526020016103f2565b50505050905090810190601f1680156104375780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104716004803603604081101561045b57600080fd5b506001600160a01b038135169060200135610b4f565b604080519115158252519081900360200190f35b61048d610bb5565b60408051918252519081900360200190f35b6103c6600480360360208110156104b557600080fd5b5035610bbb565b61048d610bd7565b6103c6600480360360408110156104da57600080fd5b8101906020810181356401000000008111156104f557600080fd5b82018360208201111561050757600080fd5b8035906020019184602083028401116401000000008311171561052957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561057957600080fd5b82018360208201111561058b57600080fd5b803590602001918460208302840111640100000000831117156105ad57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610bdd945050505050565b61048d610c27565b6104716004803603606081101561060957600080fd5b506001600160a01b03813581169160208101359091169060400135610c2d565b610631610d38565b6040805160ff9092168252519081900360200190f35b6103c66004803603602081101561065d57600080fd5b5035610d41565b61048d610d5d565b61048d610d63565b6104716004803603604081101561068a57600080fd5b506001600160a01b038135169060200135610d69565b610631610e17565b61048d610e1c565b6103c6600480360360208110156106c657600080fd5b50356001600160a01b0316610e22565b61048d610e86565b61048d610e8c565b6103c6600480360360208110156106fc57600080fd5b5035610e92565b6103c66004803603602081101561071957600080fd5b5035610eae565b6103c66004803603602081101561073657600080fd5b5035610eca565b61048d610ee6565b61048d6004803603602081101561075b57600080fd5b50356001600160a01b0316610eec565b6103c66004803603602081101561078157600080fd5b5035610f07565b6103c66004803603602081101561079e57600080fd5b5035610f23565b6103c6600480360360208110156107bb57600080fd5b5035610f3f565b6103d0610f5b565b61048d600480360360208110156107e057600080fd5b50356001600160a01b0316610f7d565b61048d610f98565b6103c66004803603602081101561080e57600080fd5b5035610f9e565b6103d0610fba565b610825610fda565b604080516001600160a01b039092168252519081900360200190f35b61048d610fe9565b61048d610fef565b610825610ff5565b6103c66004803603602081101561086f57600080fd5b5035611004565b61048d611020565b6103d0611026565b610825611084565b6103c6600480360360208110156108a457600080fd5b5035611093565b6103c6600480360360208110156108c157600080fd5b50356001600160a01b03166110af565b610471600480360360408110156108e757600080fd5b506001600160a01b0381351690602001356110e8565b6104716004803603604081101561091357600080fd5b506001600160a01b038135169060200135611131565b6103c66004803603602081101561093f57600080fd5b50356111e1565b61048d6111fd565b6103c66004803603604081101561096457600080fd5b50803590602001356001600160a01b0316611203565b61048d6114ac565b61048d6114b2565b6103c6600480360360208110156109a057600080fd5b50356114b8565b6103c6600480360360208110156109bd57600080fd5b50356114d4565b610471600480360360408110156109da57600080fd5b506001600160a01b0381351690602001356114f0565b6103c660048036036020811015610a0657600080fd5b5035611593565b61048d60048036036040811015610a2357600080fd5b506001600160a01b03813581169160200135166115af565b61048d6115da565b61048d6115e0565b61048d6115e6565b6103c660048036036020811015610a6957600080fd5b50356001600160a01b03166115ec565b6103c660048036036020811015610a8f57600080fd5b5035611638565b61048d611654565b6004546001600160a01b03163314610ab557600080fd5b601455565b60018054604080516020601f60026000196101008789161502019095169490940493840181900481028201810190925282815260609390929091830182828015610b455780601f10610b1a57610100808354040283529160200191610b45565b820191906000526020600020905b815481529060010190602001808311610b2857829003601f168201915b5050505050905090565b3360008181526008602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b600b5481565b6004546001600160a01b03163314610bd257600080fd5b600c55565b60095490565b60005b8251811015610c2257610c19838281518110610bf857fe5b6020026020010151838381518110610c0c57fe5b6020026020010151611131565b50600101610be0565b505050565b60065481565b6001600160a01b038316600090815260076020526040812054610c56908363ffffffff61165a16565b6001600160a01b0385166000908152600760209081526040808320939093556008815282822033835290522054610c93908363ffffffff61165a16565b6001600160a01b038086166000908152600860209081526040808320338452825280832094909455918616815260079091522054610cd7908363ffffffff6116b716565b6001600160a01b0380851660008181526007602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b60005460ff1690565b6004546001600160a01b03163314610d5857600080fd5b600f55565b60195481565b600c5481565b60006001600160a01b038316610d7e57600080fd5b3360009081526008602090815260408083206001600160a01b0387168452909152902054610db2908363ffffffff6116b716565b3360008181526008602090815260408083206001600160a01b0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b601281565b60095481565b6005546001600160a01b03163314610e3957600080fd5b6003546001600160a01b031615801590610e5b57506001600160a01b03811615155b610e6457600080fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b60105481565b60175481565b6004546001600160a01b03163314610ea957600080fd5b601655565b6004546001600160a01b03163314610ec557600080fd5b601855565b6004546001600160a01b03163314610ee157600080fd5b600d55565b600f5481565b6001600160a01b03166000908152601b602052604090205490565b6004546001600160a01b03163314610f1e57600080fd5b601355565b6004546001600160a01b03163314610f3a57600080fd5b600b55565b6004546001600160a01b03163314610f5657600080fd5b601255565b6040518060400160405280600681526020016510955315949160d21b81525081565b6001600160a01b031660009081526007602052604090205490565b600a5481565b6004546001600160a01b03163314610fb557600080fd5b600e55565b604051806040016040528060048152602001631093159160e21b81525081565b6003546001600160a01b031681565b60125481565b601a5481565b6005546001600160a01b031681565b6004546001600160a01b0316331461101b57600080fd5b601555565b60155481565b60028054604080516020601f6000196101006001871615020190941685900493840181900481028201810190925282815260609390929091830182828015610b455780601f10610b1a57610100808354040283529160200191610b45565b6004546001600160a01b031681565b6004546001600160a01b031633146110aa57600080fd5b601955565b6005546001600160a01b031633146110c657600080fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b60006001600160a01b0383166110fd57600080fd5b3360009081526008602090815260408083206001600160a01b0387168452909152902054610db2908363ffffffff61165a16565b33600090815260076020526040812054611151908363ffffffff61165a16565b33600090815260076020526040808220929092556001600160a01b03851681522054611183908363ffffffff6116b716565b6001600160a01b0384166000818152600760209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b6004546001600160a01b031633146111f857600080fd5b601155565b60185481565b6003546001600160a01b03163314611262576040805162461bcd60e51b815260206004820152601a60248201527f4d757374206265204f7261636c6520746f20636f6d706c657465000000000000604482015290519081900360640190fd5b6001600160a01b0381166000908152601c602052604090205443116112b85760405162461bcd60e51b81526004018080602001828103825260218152602001806117836021913960400191505060405180910390fd5b60006112c683600a54611718565b6001600160a01b0383166000908152601b60205260409020549091508111611335576040805162461bcd60e51b815260206004820181905260248201527f486173206e6f74206561726e65642073696e6365206c6173742072656465656d604482015290519081900360640190fd5b6000611343600954836116b7565b9050600654811115611393576040805162461bcd60e51b815260206004820152601460248201527313585e08135a5b9d18589b194814995858da195960621b604482015290519081900360640190fd5b6001600160a01b0383166000908152601b60205260408120546113b790849061165a565b6001600160a01b0385166000908152600760205260409020549091506113dd90826116b7565b6001600160a01b03851660009081526007602052604090205560095461140390826116b7565b6009556001600160a01b0384166000818152601b60209081526040808320879055601c825291829020439055815184815291517f4fd8f0b6354e5709880fa05abe3c74ea38c098f804d438edd63f1f233c2534619281900390910190a26003546040805183815290516001600160a01b038088169316917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050505050565b60115481565b60145481565b6004546001600160a01b031633146114cf57600080fd5b601755565b6004546001600160a01b031633146114eb57600080fd5b600a55565b6005546000906001600160a01b0316331461150a57600080fd5b6005546040805163a9059cbb60e01b81526001600160a01b0392831660048201526024810185905290519185169163a9059cbb916044808201926020929091908290030181600087803b15801561156057600080fd5b505af1158015611574573d6000803e3d6000fd5b505050506040513d602081101561158a57600080fd5b50519392505050565b6004546001600160a01b031633146115aa57600080fd5b601a55565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b600e5481565b60135481565b60165481565b6005546001600160a01b0316331461160357600080fd5b6001600160a01b03811661161657600080fd5b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6004546001600160a01b0316331461164f57600080fd5b601055565b600d5481565b6000828211156116b1576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015611711576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600080821161176e576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161177957fe5b0494935050505056fe48617665206e6f74206d6f766564206f6e2066726f6d206c61737420626c6f636ba265627a7a72305820b1a3cd504ef7040320f46d6e45fd6c6031ca86d6d0f368a21cbe1a4dd7a9da5a64736f6c634300050a003248617665206e6f74206d6f766564206f6e2066726f6d206c61737420626c6f636b
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106103a45760003560e01c806379aa1bd0116101e9578063ba96bb3a1161010f578063dc8830ed116100ad578063ed6883fd1161007c578063ed6883fd14610a4b578063f2fde38b14610a53578063f937b2bf14610a79578063fc528c1c14610a96576103a4565b8063dc8830ed146109f0578063dd62ed3e14610a0d578063e80fcfc214610a3b578063ec654e3814610a43576103a4565b8063c8a004de116100e9578063c8a004de14610982578063cc86ae991461098a578063d2e8a73f146109a7578063dc39d06d146109c4576103a4565b8063ba96bb3a14610946578063c6323c261461094e578063c7330dd41461097a576103a4565b806395cd6e3311610187578063a12ee7ba11610156578063a12ee7ba146108ab578063a457c2d7146108d1578063a9059cbb146108fd578063ac5d4f6414610929576103a4565b806395cd6e331461087657806395d89b411461087e5780639850d32b146108865780639aad16601461088e576103a4565b80637e16036a116101c35780637e16036a14610841578063832f5a2b146108495780638da5cb5b146108515780638fd987b214610859576103a4565b806379aa1bd0146107f85780637b61c320146108155780637dc0d1d01461081d576103a4565b80633eaaf86b116102ce578063648f4d3b1161026c578063680acffe1161023b578063680acffe146107a55780636c02a931146107c257806370a08231146107ca57806374b87f67146107f0576103a4565b8063648f4d3b1461073d57806364b0b4a31461074557806364c798181461076b57806366d626eb14610788576103a4565b80634d907a9b116102a85780634d907a9b146106de578063529fc12d146106e657806357836cbb14610703578063642b44cc14610720576103a4565b80633eaaf86b146106a857806347c421b5146106b05780634d46c0ae146106d6576103a4565b80632154dc391161034657806336d9c59e1161031557806336d9c59e14610664578063387ed6461461066c57806339509351146106745780633b97e856146106a0576103a4565b80632154dc39146105eb57806323b872dd146105f3578063313ce567146106295780633213b7ff14610647576103a4565b80631441a5a9116103825780631441a5a914610485578063148ab62f1461049f57806318160ddd146104bc5780631e89d545146104c4576103a4565b806302ba8162146103a957806306fdde03146103c8578063095ea7b314610445575b600080fd5b6103c6600480360360208110156103bf57600080fd5b5035610a9e565b005b6103d0610aba565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561040a5781810151838201526020016103f2565b50505050905090810190601f1680156104375780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104716004803603604081101561045b57600080fd5b506001600160a01b038135169060200135610b4f565b604080519115158252519081900360200190f35b61048d610bb5565b60408051918252519081900360200190f35b6103c6600480360360208110156104b557600080fd5b5035610bbb565b61048d610bd7565b6103c6600480360360408110156104da57600080fd5b8101906020810181356401000000008111156104f557600080fd5b82018360208201111561050757600080fd5b8035906020019184602083028401116401000000008311171561052957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561057957600080fd5b82018360208201111561058b57600080fd5b803590602001918460208302840111640100000000831117156105ad57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610bdd945050505050565b61048d610c27565b6104716004803603606081101561060957600080fd5b506001600160a01b03813581169160208101359091169060400135610c2d565b610631610d38565b6040805160ff9092168252519081900360200190f35b6103c66004803603602081101561065d57600080fd5b5035610d41565b61048d610d5d565b61048d610d63565b6104716004803603604081101561068a57600080fd5b506001600160a01b038135169060200135610d69565b610631610e17565b61048d610e1c565b6103c6600480360360208110156106c657600080fd5b50356001600160a01b0316610e22565b61048d610e86565b61048d610e8c565b6103c6600480360360208110156106fc57600080fd5b5035610e92565b6103c66004803603602081101561071957600080fd5b5035610eae565b6103c66004803603602081101561073657600080fd5b5035610eca565b61048d610ee6565b61048d6004803603602081101561075b57600080fd5b50356001600160a01b0316610eec565b6103c66004803603602081101561078157600080fd5b5035610f07565b6103c66004803603602081101561079e57600080fd5b5035610f23565b6103c6600480360360208110156107bb57600080fd5b5035610f3f565b6103d0610f5b565b61048d600480360360208110156107e057600080fd5b50356001600160a01b0316610f7d565b61048d610f98565b6103c66004803603602081101561080e57600080fd5b5035610f9e565b6103d0610fba565b610825610fda565b604080516001600160a01b039092168252519081900360200190f35b61048d610fe9565b61048d610fef565b610825610ff5565b6103c66004803603602081101561086f57600080fd5b5035611004565b61048d611020565b6103d0611026565b610825611084565b6103c6600480360360208110156108a457600080fd5b5035611093565b6103c6600480360360208110156108c157600080fd5b50356001600160a01b03166110af565b610471600480360360408110156108e757600080fd5b506001600160a01b0381351690602001356110e8565b6104716004803603604081101561091357600080fd5b506001600160a01b038135169060200135611131565b6103c66004803603602081101561093f57600080fd5b50356111e1565b61048d6111fd565b6103c66004803603604081101561096457600080fd5b50803590602001356001600160a01b0316611203565b61048d6114ac565b61048d6114b2565b6103c6600480360360208110156109a057600080fd5b50356114b8565b6103c6600480360360208110156109bd57600080fd5b50356114d4565b610471600480360360408110156109da57600080fd5b506001600160a01b0381351690602001356114f0565b6103c660048036036020811015610a0657600080fd5b5035611593565b61048d60048036036040811015610a2357600080fd5b506001600160a01b03813581169160200135166115af565b61048d6115da565b61048d6115e0565b61048d6115e6565b6103c660048036036020811015610a6957600080fd5b50356001600160a01b03166115ec565b6103c660048036036020811015610a8f57600080fd5b5035611638565b61048d611654565b6004546001600160a01b03163314610ab557600080fd5b601455565b60018054604080516020601f60026000196101008789161502019095169490940493840181900481028201810190925282815260609390929091830182828015610b455780601f10610b1a57610100808354040283529160200191610b45565b820191906000526020600020905b815481529060010190602001808311610b2857829003601f168201915b5050505050905090565b3360008181526008602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b600b5481565b6004546001600160a01b03163314610bd257600080fd5b600c55565b60095490565b60005b8251811015610c2257610c19838281518110610bf857fe5b6020026020010151838381518110610c0c57fe5b6020026020010151611131565b50600101610be0565b505050565b60065481565b6001600160a01b038316600090815260076020526040812054610c56908363ffffffff61165a16565b6001600160a01b0385166000908152600760209081526040808320939093556008815282822033835290522054610c93908363ffffffff61165a16565b6001600160a01b038086166000908152600860209081526040808320338452825280832094909455918616815260079091522054610cd7908363ffffffff6116b716565b6001600160a01b0380851660008181526007602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b60005460ff1690565b6004546001600160a01b03163314610d5857600080fd5b600f55565b60195481565b600c5481565b60006001600160a01b038316610d7e57600080fd5b3360009081526008602090815260408083206001600160a01b0387168452909152902054610db2908363ffffffff6116b716565b3360008181526008602090815260408083206001600160a01b0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b601281565b60095481565b6005546001600160a01b03163314610e3957600080fd5b6003546001600160a01b031615801590610e5b57506001600160a01b03811615155b610e6457600080fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b60105481565b60175481565b6004546001600160a01b03163314610ea957600080fd5b601655565b6004546001600160a01b03163314610ec557600080fd5b601855565b6004546001600160a01b03163314610ee157600080fd5b600d55565b600f5481565b6001600160a01b03166000908152601b602052604090205490565b6004546001600160a01b03163314610f1e57600080fd5b601355565b6004546001600160a01b03163314610f3a57600080fd5b600b55565b6004546001600160a01b03163314610f5657600080fd5b601255565b6040518060400160405280600681526020016510955315949160d21b81525081565b6001600160a01b031660009081526007602052604090205490565b600a5481565b6004546001600160a01b03163314610fb557600080fd5b600e55565b604051806040016040528060048152602001631093159160e21b81525081565b6003546001600160a01b031681565b60125481565b601a5481565b6005546001600160a01b031681565b6004546001600160a01b0316331461101b57600080fd5b601555565b60155481565b60028054604080516020601f6000196101006001871615020190941685900493840181900481028201810190925282815260609390929091830182828015610b455780601f10610b1a57610100808354040283529160200191610b45565b6004546001600160a01b031681565b6004546001600160a01b031633146110aa57600080fd5b601955565b6005546001600160a01b031633146110c657600080fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b60006001600160a01b0383166110fd57600080fd5b3360009081526008602090815260408083206001600160a01b0387168452909152902054610db2908363ffffffff61165a16565b33600090815260076020526040812054611151908363ffffffff61165a16565b33600090815260076020526040808220929092556001600160a01b03851681522054611183908363ffffffff6116b716565b6001600160a01b0384166000818152600760209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b6004546001600160a01b031633146111f857600080fd5b601155565b60185481565b6003546001600160a01b03163314611262576040805162461bcd60e51b815260206004820152601a60248201527f4d757374206265204f7261636c6520746f20636f6d706c657465000000000000604482015290519081900360640190fd5b6001600160a01b0381166000908152601c602052604090205443116112b85760405162461bcd60e51b81526004018080602001828103825260218152602001806117836021913960400191505060405180910390fd5b60006112c683600a54611718565b6001600160a01b0383166000908152601b60205260409020549091508111611335576040805162461bcd60e51b815260206004820181905260248201527f486173206e6f74206561726e65642073696e6365206c6173742072656465656d604482015290519081900360640190fd5b6000611343600954836116b7565b9050600654811115611393576040805162461bcd60e51b815260206004820152601460248201527313585e08135a5b9d18589b194814995858da195960621b604482015290519081900360640190fd5b6001600160a01b0383166000908152601b60205260408120546113b790849061165a565b6001600160a01b0385166000908152600760205260409020549091506113dd90826116b7565b6001600160a01b03851660009081526007602052604090205560095461140390826116b7565b6009556001600160a01b0384166000818152601b60209081526040808320879055601c825291829020439055815184815291517f4fd8f0b6354e5709880fa05abe3c74ea38c098f804d438edd63f1f233c2534619281900390910190a26003546040805183815290516001600160a01b038088169316917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050505050565b60115481565b60145481565b6004546001600160a01b031633146114cf57600080fd5b601755565b6004546001600160a01b031633146114eb57600080fd5b600a55565b6005546000906001600160a01b0316331461150a57600080fd5b6005546040805163a9059cbb60e01b81526001600160a01b0392831660048201526024810185905290519185169163a9059cbb916044808201926020929091908290030181600087803b15801561156057600080fd5b505af1158015611574573d6000803e3d6000fd5b505050506040513d602081101561158a57600080fd5b50519392505050565b6004546001600160a01b031633146115aa57600080fd5b601a55565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b600e5481565b60135481565b60165481565b6005546001600160a01b0316331461160357600080fd5b6001600160a01b03811661161657600080fd5b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6004546001600160a01b0316331461164f57600080fd5b601055565b600d5481565b6000828211156116b1576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015611711576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600080821161176e576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161177957fe5b0494935050505056fe48617665206e6f74206d6f766564206f6e2066726f6d206c61737420626c6f636ba265627a7a72305820b1a3cd504ef7040320f46d6e45fd6c6031ca86d6d0f368a21cbe1a4dd7a9da5a64736f6c634300050a0032
Deployed Bytecode Sourcemap
3683:10003:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3683:10003:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12825:126;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12825:126:0;;:::i;:::-;;3414:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;3414:81:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8142:209;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8142:209:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;4616:28;;;:::i;:::-;;;;;;;;;;;;;;;;11839:127;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11839:127:0;;:::i;6244:91::-;;;:::i;6601:210::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6601:210:0;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;6601:210:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6601:210:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;6601:210:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;6601:210:0;;;;;;;;-1:-1:-1;6601:210:0;;-1:-1:-1;;21:11;5:28;;2:2;;;46:1;43;36:12;2:2;6601:210:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6601:210:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;6601:210:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;6601:210:0;;-1:-1:-1;6601:210:0;;-1:-1:-1;;;;;6601:210:0:i;4191:26::-;;;:::i;7780:353::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7780:353:0;;;;;;;;;;;;;;;;;:::i;3592:81::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12121:130;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12121:130:0;;:::i;5119:29::-;;;:::i;4651:28::-;;;:::i;6821:323::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6821:323:0;;;;;;;;:::i;4457:40::-;;;:::i;4504:31::-;;;:::i;8680:191::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8680:191:0;-1:-1:-1;;;;;8680:191:0;;:::i;4793:30::-;;;:::i;5043:::-;;;:::i;11686:139::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11686:139:0;;:::i;13399:137::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13399:137:0;;:::i;12548:125::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12548:125:0;;:::i;4756:30::-;;;:::i;11064:131::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11064:131:0;-1:-1:-1;;;;;11064:131:0;;:::i;12965:128::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12965:128:0;;:::i;11393:::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11393:128:0;;:::i;12687:124::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12687:124:0;;:::i;4407:43::-;;;:::i;6343:109::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6343:109:0;-1:-1:-1;;;;;6343:109:0;;:::i;4583:26::-;;;:::i;11980:129::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11980:129:0;;:::i;4357:43::-;;;:::i;3906:21::-;;;:::i;:::-;;;;-1:-1:-1;;;;;3906:21:0;;;;;;;;;;;;;;4863:26;;;:::i;5155:30::-;;;:::i;4121:20::-;;;:::i;11535:137::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11535:137:0;;:::i;4964:32::-;;;:::i;3501:85::-;;;:::i;4005:25::-;;;:::i;13107:131::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13107:131:0;;:::i;8926:140::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8926:140:0;-1:-1:-1;;;;;8926:140:0;;:::i;7152:333::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7152:333:0;;;;;;;;:::i;7496:275::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7496:275:0;;;;;;;;:::i;12410:124::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12410:124:0;;:::i;5080:32::-;;;:::i;9138:1768::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9138:1768:0;;;;;;-1:-1:-1;;;;;9138:1768:0;;:::i;4830:26::-;;;:::i;4931:::-;;;:::i;13252:133::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13252:133:0;;:::i;11254:125::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11254:125:0;;:::i;6027:205::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6027:205:0;;;;;;;;:::i;13550:133::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13550:133:0;;:::i;6460:::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6460:133:0;;;;;;;;;;:::i;4720:29::-;;;:::i;4896:28::-;;;:::i;5003:33::-;;;:::i;8403:168::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8403:168:0;-1:-1:-1;;;;;8403:168:0;;:::i;12265:131::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12265:131:0;;:::i;4686:27::-;;;:::i;12825:126::-;12890:10;;-1:-1:-1;;;;;12890:10:0;12904;12890:24;12882:33;;;;;;12927:7;:15;12825:126::o;3414:81::-;3479:10;3472:17;;;;;;;;-1:-1:-1;;3472:17:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3450:13;;3472:17;;3479:10;;3472:17;;3479:10;3472:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3414:81;:::o;8142:209::-;8239:10;8205:12;8230:20;;;:8;:20;;;;;;;;-1:-1:-1;;;;;8230:29:0;;;;;;;;;;;:38;;;8284:37;;;;;;;8205:12;;8230:29;;8239:10;;8284:37;;;;;;;;-1:-1:-1;8339:4:0;8142:209;;;;:::o;4616:28::-;;;;:::o;11839:127::-;11904:10;;-1:-1:-1;;;;;11904:10:0;11918;11904:24;11896:33;;;;;;11941:8;:16;11839:127::o;6244:91::-;6315:12;;6244:91;:::o;6601:210::-;6701:9;6696:108;6720:9;:16;6716:1;:20;6696:108;;;6758:34;6767:9;6777:1;6767:12;;;;;;;;;;;;;;6781:7;6789:1;6781:10;;;;;;;;;;;;;;6758:8;:34::i;:::-;-1:-1:-1;6738:3:0;;6696:108;;;;6601:210;;:::o;4191:26::-;;;;:::o;7780:353::-;-1:-1:-1;;;;;7901:16:0;;7857:12;7901:16;;;:10;:16;;;;;;:28;;7922:6;7901:28;:20;:28;:::i;:::-;-1:-1:-1;;;;;7882:16:0;;;;;;:10;:16;;;;;;;;:47;;;;7969:8;:14;;;;;7984:10;7969:26;;;;;;:38;;8000:6;7969:38;:30;:38;:::i;:::-;-1:-1:-1;;;;;7940:14:0;;;;;;;:8;:14;;;;;;;;7955:10;7940:26;;;;;;;:67;;;;8035:14;;;;;:10;:14;;;;;:26;;8054:6;8035:26;:18;:26;:::i;:::-;-1:-1:-1;;;;;8018:14:0;;;;;;;:10;:14;;;;;;;;;:43;;;;8077:26;;;;;;;8018:14;;8077:26;;;;;;;;;;;;;-1:-1:-1;8121:4:0;7780:353;;;;;:::o;3592:81::-;3632:5;3653:14;;;3592:81;:::o;12121:130::-;12187:10;;-1:-1:-1;;;;;12187:10:0;12201;12187:24;12179:33;;;;;;12224:10;:18;12121:130::o;5119:29::-;;;;:::o;4651:28::-;;;;:::o;6821:323::-;6901:4;-1:-1:-1;;;;;6926:21:0;;6918:30;;;;;;7001:10;6992:20;;;;:8;:20;;;;;;;;-1:-1:-1;;;;;6992:29:0;;;;;;;;;;:45;;7026:10;6992:45;:33;:45;:::i;:::-;6968:10;6959:20;;;;:8;:20;;;;;;;;-1:-1:-1;;;;;6959:29:0;;;;;;;;;;;;:79;;;7054:60;;;;;;6959:29;;7054:60;;;;;;;;;;;-1:-1:-1;7132:4:0;6821:323;;;;:::o;4457:40::-;4495:2;4457:40;:::o;4504:31::-;;;;:::o;8680:191::-;8747:5;;-1:-1:-1;;;;;8747:5:0;8756:10;8747:19;8739:28;;;;;;8786:6;;-1:-1:-1;;;;;8786:6:0;:20;;;;:47;;-1:-1:-1;;;;;;8810:23:0;;;;8786:47;8778:56;;;;;;8845:6;:18;;-1:-1:-1;;;;;;8845:18:0;-1:-1:-1;;;;;8845:18:0;;;;;;;;;;8680:191::o;4793:30::-;;;;:::o;5043:::-;;;;:::o;11686:139::-;11757:10;;-1:-1:-1;;;;;11757:10:0;11771;11757:24;11749:33;;;;;;11794:14;:22;11686:139::o;13399:137::-;13469:10;;-1:-1:-1;;;;;13469:10:0;13483;13469:24;13461:33;;;;;;13506:13;:21;13399:137::o;12548:125::-;12612:10;;-1:-1:-1;;;;;12612:10:0;12626;12612:24;12604:33;;;;;;12649:7;:15;12548:125::o;4756:30::-;;;;:::o;11064:131::-;-1:-1:-1;;;;;11159:28:0;11132:7;11159:28;;;:15;:28;;;;;;;11064:131::o;12965:128::-;13031:10;;-1:-1:-1;;;;;13031:10:0;13045;13031:24;13023:33;;;;;;13068:8;:16;12965:128::o;11393:::-;11459:10;;-1:-1:-1;;;;;11459:10:0;11473;11459:24;11451:33;;;;;;11496:8;:16;11393:128::o;12687:124::-;12751:10;;-1:-1:-1;;;;;12751:10:0;12765;12751:24;12743:33;;;;;;12788:6;:14;12687:124::o;4407:43::-;;;;;;;;;;;;;;-1:-1:-1;;;4407:43:0;;;;:::o;6343:109::-;-1:-1:-1;;;;;6426:18:0;6399:7;6426:18;;;:10;:18;;;;;;;6343:109::o;4583:26::-;;;;:::o;11980:129::-;12046:10;;-1:-1:-1;;;;;12046:10:0;12060;12046:24;12038:33;;;;;;12083:9;:17;11980:129::o;4357:43::-;;;;;;;;;;;;;;-1:-1:-1;;;4357:43:0;;;;:::o;3906:21::-;;;-1:-1:-1;;;;;3906:21:0;;:::o;4863:26::-;;;;:::o;5155:30::-;;;;:::o;4121:20::-;;;-1:-1:-1;;;;;4121:20:0;;:::o;11535:137::-;11605:10;;-1:-1:-1;;;;;11605:10:0;11619;11605:24;11597:33;;;;;;11642:13;:21;11535:137::o;4964:32::-;;;;:::o;3501:85::-;3568:12;3561:19;;;;;;;-1:-1:-1;;3561:19:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3539:13;;3561:19;;3568:12;;3561:19;;3568:12;3561:19;;;;;;;;;;;;;;;;;;;;;;;;4005:25;;;-1:-1:-1;;;;;4005:25:0;;:::o;13107:131::-;13174:10;;-1:-1:-1;;;;;13174:10:0;13188;13174:24;13166:33;;;;;;13211:10;:18;13107:131::o;8926:140::-;9001:5;;-1:-1:-1;;;;;9001:5:0;9010:10;9001:19;8993:28;;;;;;9032:10;:26;;-1:-1:-1;;;;;;9032:26:0;-1:-1:-1;;;;;9032:26:0;;;;;;;;;;8926:140::o;7152:333::-;7237:4;-1:-1:-1;;;;;7262:21:0;;7254:30;;;;;;7337:10;7328:20;;;;:8;:20;;;;;;;;-1:-1:-1;;;;;7328:29:0;;;;;;;;;;:50;;7362:15;7328:50;:33;:50;:::i;7496:275::-;7616:10;7555:12;7605:22;;;:10;:22;;;;;;:34;;7632:6;7605:34;:26;:34;:::i;:::-;7591:10;7580:22;;;;:10;:22;;;;;;:59;;;;-1:-1:-1;;;;;7667:14:0;;;;;;:26;;7686:6;7667:26;:18;:26;:::i;:::-;-1:-1:-1;;;;;7650:14:0;;;;;;:10;:14;;;;;;;;;:43;;;;7709:32;;;;;;;7650:14;;7718:10;;7709:32;;;;;;;;;;-1:-1:-1;7759:4:0;7496:275;;;;:::o;12410:124::-;12474:10;;-1:-1:-1;;;;;12474:10:0;12488;12474:24;12466:33;;;;;;12511:6;:14;12410:124::o;5080:32::-;;;;:::o;9138:1768::-;9276:6;;-1:-1:-1;;;;;9276:6:0;9262:10;:20;9254:59;;;;;-1:-1:-1;;;9254:59:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9426:32:0;;;;;;:19;:32;;;;;;9411:12;:47;9403:93;;;;-1:-1:-1;;;9403:93:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9556:14;9573:30;9586:7;9595;;9573:12;:30::i;:::-;-1:-1:-1;;;;;9725:28:0;;;;;;:15;:28;;;;;;9556:47;;-1:-1:-1;9716:37:0;;9708:82;;;;;-1:-1:-1;;;9708:82:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9876:13;9892:34;9905:12;;9919:6;9892:12;:34::i;:::-;9876:50;;9954:11;;9945:5;:20;;9937:53;;;;;-1:-1:-1;;;9937:53:0;;;;;;;;;;;;-1:-1:-1;;;9937:53:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;10109:28:0;;10063:22;10109:28;;;:15;:28;;;;;;10088:50;;10101:6;;10088:12;:50::i;:::-;-1:-1:-1;;;;;10267:23:0;;;;;;:10;:23;;;;;;10063:75;;-1:-1:-1;10254:53:0;;10063:75;10254:12;:53::i;:::-;-1:-1:-1;;;;;10228:23:0;;;;;;:10;:23;;;;;:79;10403:12;;10390:42;;10417:14;10390:12;:42::i;:::-;10375:12;:57;-1:-1:-1;;;;;10516:28:0;;;;;;:15;:28;;;;;;;;:37;;;10623:19;:32;;;;;;10658:12;10623:47;;10737:42;;;;;;;;;;;;;;;;;10862:6;;10853:45;;;;;;;;-1:-1:-1;;;;;10853:45:0;;;;10862:6;;10853:45;;;;;;;;;;9138:1768;;;;;:::o;4830:26::-;;;;:::o;4931:::-;;;;:::o;13252:133::-;13320:10;;-1:-1:-1;;;;;13320:10:0;13334;13320:24;13312:33;;;;;;13357:11;:19;13252:133::o;11254:125::-;11318:10;;-1:-1:-1;;;;;11318:10:0;11332;11318:24;11310:33;;;;;;11355:7;:15;11254:125::o;6027:205::-;6142:5;;6109:12;;-1:-1:-1;;;;;6142:5:0;6151:10;6142:19;6134:28;;;;;;6210:5;;6180:44;;;-1:-1:-1;;;6180:44:0;;-1:-1:-1;;;;;6210:5:0;;;6180:44;;;;;;;;;;;;:29;;;;;;:44;;;;;;;;;;;;;;;6210:5;6180:29;:44;;;5:2:-1;;;;30:1;27;20:12;5:2;6180:44:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6180:44:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6180:44:0;;6027:205;-1:-1:-1;;;6027:205:0:o;13550:133::-;13618:10;;-1:-1:-1;;;;;13618:10:0;13632;13618:24;13610:33;;;;;;13655:11;:19;13550:133::o;6460:::-;-1:-1:-1;;;;;6560:16:0;;;6533:7;6560:16;;;:8;:16;;;;;;;;:25;;;;;;;;;;;;;6460:133::o;4720:29::-;;;;:::o;4896:28::-;;;;:::o;5003:33::-;;;;:::o;8403:168::-;8474:5;;-1:-1:-1;;;;;8474:5:0;8483:10;8474:19;8466:28;;;;;;-1:-1:-1;;;;;8513:22:0;;8505:31;;;;;;8547:5;:16;;-1:-1:-1;;;;;;8547:16:0;-1:-1:-1;;;;;8547:16:0;;;;;;;;;;8403:168::o;12265:131::-;12332:10;;-1:-1:-1;;;;;12332:10:0;12346;12332:24;12324:33;;;;;;12369:10;:18;12265:131::o;4686:27::-;;;;:::o;1377:184::-;1435:7;1468:1;1463;:6;;1455:49;;;;;-1:-1:-1;;;1455:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1527:5:0;;;1377:184::o;921:181::-;979:7;1011:5;;;1035:6;;;;1027:46;;;;;-1:-1:-1;;;1027:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;1093:1;921:181;-1:-1:-1;;;921:181:0:o;2750:333::-;2808:7;2907:1;2903;:5;2895:44;;;;;-1:-1:-1;;;2895:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;2950:9;2966:1;2962;:5;;;;;;;2750:333;-1:-1:-1;;;;2750:333:0:o
Swarm Source
bzzr://b1a3cd504ef7040320f46d6e45fd6c6031ca86d6d0f368a21cbe1a4dd7a9da5a
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.