Overview
Max Total Supply
55,555,555.555555555555555555 BZR
Holders
14 (0.00%)
Transfers
-
0
Market
Price
$68.06 @ 0.028887 ETH (+7.41%)
Onchain Market Cap
$3,781,111,111.11
Circulating Supply Market Cap
$0.00
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
Contract Name:
BZR
Compiler Version
v0.8.26+commit.8a97fa7a
Contract Source Code (Solidity)
/**
*Submitted for verification at basescan.org on 2025-08-07
*/
// SPDX-License-Identifier: MIT
// File: BZR.sol
//
// Bazaars (BZR) Token - Flattened Version
// Website: https://bazaars.io
// GitHub: https://github.com/BazaarsBZR
//
// This is a flattened version combining all OpenZeppelin dependencies.
// For verification, you may need to use the original version with imports.
pragma solidity 0.8.26;
// OpenZeppelin Contracts (last updated v4.9.0) (utils/Context.sol)
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes calldata) {
return msg.data;
}
}
// OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/IERC20.sol)
interface IERC20 {
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address to, 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 from, address to, uint256 amount) external returns (bool);
}
// OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/IERC20Metadata.sol)
interface IERC20Metadata is IERC20 {
function name() external view returns (string memory);
function symbol() external view returns (string memory);
function decimals() external view returns (uint8);
}
// OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/ERC20.sol)
contract ERC20 is Context, IERC20, IERC20Metadata {
mapping(address => uint256) private _balances;
mapping(address => mapping(address => uint256)) private _allowances;
uint256 private _totalSupply;
string private _name;
string private _symbol;
constructor(string memory name_, string memory symbol_) {
_name = name_;
_symbol = symbol_;
}
function name() public view virtual override returns (string memory) {
return _name;
}
function symbol() public view virtual override returns (string memory) {
return _symbol;
}
function decimals() public view virtual override returns (uint8) {
return 18;
}
function totalSupply() public view virtual override returns (uint256) {
return _totalSupply;
}
function balanceOf(address account) public view virtual override returns (uint256) {
return _balances[account];
}
function transfer(address to, uint256 amount) public virtual override returns (bool) {
address owner = _msgSender();
_transfer(owner, to, amount);
return true;
}
function allowance(address owner, address spender) public view virtual override returns (uint256) {
return _allowances[owner][spender];
}
function approve(address spender, uint256 amount) public virtual override returns (bool) {
address owner = _msgSender();
_approve(owner, spender, amount);
return true;
}
function transferFrom(address from, address to, uint256 amount) public virtual override returns (bool) {
address spender = _msgSender();
_spendAllowance(from, spender, amount);
_transfer(from, to, amount);
return true;
}
function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
address owner = _msgSender();
_approve(owner, spender, allowance(owner, spender) + addedValue);
return true;
}
function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
address owner = _msgSender();
uint256 currentAllowance = allowance(owner, spender);
require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
unchecked {
_approve(owner, spender, currentAllowance - subtractedValue);
}
return true;
}
function _transfer(address from, address to, uint256 amount) internal virtual {
require(from != address(0), "ERC20: transfer from the zero address");
require(to != address(0), "ERC20: transfer to the zero address");
_beforeTokenTransfer(from, to, amount);
uint256 fromBalance = _balances[from];
require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
unchecked {
_balances[from] = fromBalance - amount;
_balances[to] += amount;
}
emit Transfer(from, to, amount);
_afterTokenTransfer(from, to, amount);
}
function _mint(address account, uint256 amount) internal virtual {
require(account != address(0), "ERC20: mint to the zero address");
_beforeTokenTransfer(address(0), account, amount);
_totalSupply += amount;
unchecked {
_balances[account] += amount;
}
emit Transfer(address(0), account, amount);
_afterTokenTransfer(address(0), account, amount);
}
function _burn(address account, uint256 amount) internal virtual {
require(account != address(0), "ERC20: burn from the zero address");
_beforeTokenTransfer(account, address(0), amount);
uint256 accountBalance = _balances[account];
require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
unchecked {
_balances[account] = accountBalance - amount;
_totalSupply -= amount;
}
emit Transfer(account, address(0), amount);
_afterTokenTransfer(account, address(0), amount);
}
function _approve(address owner, address spender, uint256 amount) internal virtual {
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 _spendAllowance(address owner, address spender, uint256 amount) internal virtual {
uint256 currentAllowance = allowance(owner, spender);
if (currentAllowance != type(uint256).max) {
require(currentAllowance >= amount, "ERC20: insufficient allowance");
unchecked {
_approve(owner, spender, currentAllowance - amount);
}
}
}
function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual {}
function _afterTokenTransfer(address from, address to, uint256 amount) internal virtual {}
}
// OpenZeppelin Contracts (last updated v4.5.0) (token/ERC20/extensions/ERC20Burnable.sol)
abstract contract ERC20Burnable is Context, ERC20 {
function burn(uint256 amount) public virtual {
_burn(_msgSender(), amount);
}
function burnFrom(address account, uint256 amount) public virtual {
_spendAllowance(account, _msgSender(), amount);
_burn(account, amount);
}
}
// OpenZeppelin Contracts (last updated v4.9.0) (security/ReentrancyGuard.sol)
abstract contract ReentrancyGuard {
uint256 private constant _NOT_ENTERED = 1;
uint256 private constant _ENTERED = 2;
uint256 private _status;
constructor() {
_status = _NOT_ENTERED;
}
modifier nonReentrant() {
_nonReentrantBefore();
_;
_nonReentrantAfter();
}
function _nonReentrantBefore() private {
require(_status != _ENTERED, "ReentrancyGuard: reentrant call");
_status = _ENTERED;
}
function _nonReentrantAfter() private {
_status = _NOT_ENTERED;
}
function _reentrancyGuardEntered() internal view returns (bool) {
return _status == _ENTERED;
}
}
// OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol)
interface IERC165 {
function supportsInterface(bytes4 interfaceId) external view returns (bool);
}
// OpenZeppelin Contracts v4.4.1 (utils/introspection/ERC165.sol)
abstract contract ERC165 is IERC165 {
function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {
return interfaceId == type(IERC165).interfaceId;
}
}
/**
* @title ERC-5267 Interface for Contract Metadata
* @notice Enables on-chain contract introspection
*/
interface IERC5267 {
/**
* @notice Get contract metadata (ERC-5267)
* @return tokenName Token name
* @return versionString Contract version
* @return standard Token standard implemented
* @return description Detailed description of the token
* @return abiHash Hash of contract ABI for verification
* @return features Array of security and functionality features
* @dev Enables automated contract introspection by tools and dApps
*/
function getContractMetadata() external view returns (
string memory tokenName,
string memory versionString,
string memory standard,
string memory description,
bytes32 abiHash,
string[] memory features
);
}
/**
* @title Bazaars (BZR) – ORC-55 Standard
* @notice Production-ready deflationary token with military-grade security
* @dev ORC-55: Zero-Admin, Race-Conditionless, Contractually Final Standard
* @dev Built on OpenZeppelin's battle-tested security foundations
*
* ██████╗ ███████╗██████╗
* ██╔══██╗╚══███╔╝██╔══██╗
* ██████╔╝ ███╔╝ ██████╔╝
* ██╔══██╗ ███╔╝ ██╔══██╗
* ██████╔╝███████╗██║ ██║
* ╚═════╝ ╚══════╝╚═╝ ╚═╝
*
* BAZAARS TOKEN - IMMUTABLE DIGITAL MONEY
*
* KEY FEATURES:
* ✓ Zero admin functions - truly decentralized
* ✓ Race condition protection on approvals
* ✓ Deflationary burn mechanism with OpenZeppelin ERC20Burnable
* ✓ Multi-chain compatible
* ✓ Revolutionary ORC-55 standard compliant
* ✓ Gas optimized for minimal transaction costs
* ✓ OpenZeppelin ReentrancyGuard for maximum security
* ✓ Perfect ABI compatibility for all tooling
*
* RACE CONDITION PROTECTION:
* To prevent approval front-running attacks, this contract requires zeroing
* existing allowances before setting new non-zero amounts. Use:
* 1. approve(spender, 0) then approve(spender, newAmount), OR
* 2. increaseAllowance() / decreaseAllowance() for atomic updates
*
* DEFLATIONARY MECHANISM:
* Token holders can permanently burn tokens to reduce circulating supply.
* Burned tokens are tracked transparently and cannot be recovered.
* Built on OpenZeppelin's ERC20Burnable for maximum compatibility.
*
* SECURITY ENHANCEMENTS:
* - OpenZeppelin ReentrancyGuard for proven reentrancy protection
* - OpenZeppelin ERC20 base for battle-tested token functionality
* - Contract is declared final to prevent inheritance-based vulnerabilities
* - Perfect ABI compatibility for maximum tooling support
*
* @author Bazaars Development Team
* @custom:security-contact [email protected]
* @custom:repository https://github.com/BazaarsBZR
* @custom:version 5.5
* @custom:implements ERC20, ERC20Metadata, ERC20Burnable
* @custom:security OpenZeppelin-based with built-in reentrancy protection
*/
contract BZR is ERC20, ERC20Burnable, ReentrancyGuard, ERC165, IERC5267 {
/*//////////////////////////////////////////////////////////////
ERRORS
//////////////////////////////////////////////////////////////*/
/// @notice Thrown when trying to initialize with zero address
error ZeroAddress();
/// @notice Thrown when trying to initialize with zero amount
error ZeroAmount();
/// @notice Thrown when trying to set non-zero allowance over existing non-zero allowance
error MustZeroAllowanceFirst();
/// @notice Thrown when trying to decrease allowance below zero
error AllowanceUnderflow();
/// @notice Thrown when trying to approve to zero address
error ApproveToZeroAddress();
/*//////////////////////////////////////////////////////////////
CONSTANTS & IMMUTABLES
//////////////////////////////////////////////////////////////*/
/// @notice Initial token supply at deployment (immutable)
uint256 public immutable INITIAL_SUPPLY;
/// @notice Contract deployment timestamp
uint256 public immutable DEPLOYMENT_TIME;
/// @notice Deployment chain ID for multi-chain verification
uint256 public immutable DEPLOYMENT_CHAIN_ID;
/*//////////////////////////////////////////////////////////////
STORAGE
//////////////////////////////////////////////////////////////*/
/// @notice Multi-chain deployment tracking
/// @dev Maps chain ID to deployment hash for cross-chain verification
mapping(uint256 => bytes32) public chainDeployments;
/// @notice Supported chain IDs for official deployments
uint256[] public supportedChains;
/*//////////////////////////////////////////////////////////////
EVENTS
//////////////////////////////////////////////////////////////*/
/// @notice Emitted once at deployment with contract metadata
/// @param version Contract version
/// @param standard Token standard implemented
/// @param abiHash Hash of contract ABI for verification
/// @param features Security and functionality features
event ContractDeployed(
string indexed version,
string indexed standard,
bytes32 indexed abiHash,
string features
);
/// @notice Emitted when a new chain deployment is registered
/// @param chainId Chain ID where contract was deployed
/// @param deploymentHash Hash of the deployment for verification
event ChainDeploymentRegistered(uint256 indexed chainId, bytes32 indexed deploymentHash);
/*//////////////////////////////////////////////////////////////
CONSTRUCTOR
//////////////////////////////////////////////////////////////*/
/**
* @notice Deploy BZR token with initial supply
* @param initialHolder Address to receive initial token supply
* @param totalInitialSupply Total token supply for this deployment
* @dev initialHolder cannot be zero address, totalInitialSupply must be > 0
*/
constructor(address initialHolder, uint256 totalInitialSupply)
ERC20("Bazaars", "BZR")
{
if (initialHolder == address(0)) revert ZeroAddress();
if (totalInitialSupply == 0) revert ZeroAmount();
INITIAL_SUPPLY = totalInitialSupply;
DEPLOYMENT_TIME = block.timestamp;
DEPLOYMENT_CHAIN_ID = block.chainid;
_mint(initialHolder, totalInitialSupply);
// Register this chain deployment
bytes32 deploymentHash = keccak256(abi.encodePacked(
INITIAL_SUPPLY,
initialHolder,
DEPLOYMENT_TIME,
block.chainid
));
chainDeployments[block.chainid] = deploymentHash;
supportedChains.push(block.chainid);
// Emit deployment metadata for indexers
bytes32 abiHash = keccak256(abi.encodePacked(
"BZR",
"5.5",
"ORC-55",
"openzeppelin+reentrancy"
));
emit ContractDeployed(
"5.5",
"ORC-55",
abiHash,
"Final,OpenZeppelin-ReentrancyGuard,Deflationary,ORC-55"
);
emit ChainDeploymentRegistered(block.chainid, deploymentHash);
}
/*//////////////////////////////////////////////////////////////
ENHANCED ERC-20 FUNCTIONS
//////////////////////////////////////////////////////////////*/
/**
* @notice Get current circulating token supply (alias for totalSupply)
* @return Current circulating supply (initial supply minus burned tokens)
* @dev Alias function for better semantic clarity in DeFi applications
*/
function circulatingSupply() external view returns (uint256) {
return totalSupply();
}
/**
* @notice Set allowance for spender with race condition protection
* @param spender Address to approve
* @param amount Amount to approve
* @return True if approval succeeded
* @dev Must zero existing allowance before setting new non-zero amount
* @dev Overrides OpenZeppelin's approve to add race condition protection
*/
function approve(address spender, uint256 amount) public override returns (bool) {
if (spender == address(0)) revert ApproveToZeroAddress();
// Race condition protection: must zero existing allowance first
if (amount != 0 && allowance(msg.sender, spender) != 0) {
revert MustZeroAllowanceFirst();
}
return super.approve(spender, amount);
}
/**
* @notice Transfer tokens from approved account with reentrancy protection
* @param from Source address
* @param to Destination address
* @param amount Amount to transfer
* @return True if transfer succeeded
* @dev Protected against reentrancy attacks using OpenZeppelin's ReentrancyGuard
*/
function transferFrom(address from, address to, uint256 amount)
public
override
nonReentrant
returns (bool)
{
return super.transferFrom(from, to, amount);
}
/*//////////////////////////////////////////////////////////////
ENHANCED ALLOWANCE FUNCTIONS
//////////////////////////////////////////////////////////////*/
/**
* @notice Atomically increase allowance (recommended over approve)
* @param spender Address to increase allowance for
* @param addedValue Amount to add to current allowance
* @return True if operation succeeded
* @dev Uses OpenZeppelin's increaseAllowance implementation
*/
function increaseAllowance(address spender, uint256 addedValue)
public
override
returns (bool)
{
return super.increaseAllowance(spender, addedValue);
}
/**
* @notice Atomically decrease allowance with underflow protection
* @param spender Address to decrease allowance for
* @param subtractedValue Amount to subtract from current allowance
* @return True if operation succeeded
* @dev Enhanced version with explicit underflow check
*/
function decreaseAllowance(address spender, uint256 subtractedValue)
public
override
returns (bool)
{
uint256 currentAllowance = allowance(msg.sender, spender);
if (currentAllowance < subtractedValue) {
revert AllowanceUnderflow();
}
return super.decreaseAllowance(spender, subtractedValue);
}
/*//////////////////////////////////////////////////////////////
ENHANCED BURN FUNCTIONALITY
//////////////////////////////////////////////////////////////*/
/**
* @notice Get total tokens burned
* @return Total amount of tokens burned
* @dev Calculated as initial supply minus current total supply
*/
function totalBurned() public view returns (uint256) {
return INITIAL_SUPPLY - totalSupply();
}
/**
* @notice Burn tokens from your own balance
* @param amount Amount of tokens to burn permanently
* @dev Burned tokens are permanently removed from circulation
* @dev Uses OpenZeppelin's burn implementation with Transfer event to address(0)
*/
function burn(uint256 amount) public override {
super.burn(amount);
// No additional event needed - OpenZeppelin emits Transfer(from, address(0), amount)
}
/**
* @notice Burn tokens from approved allowance with reentrancy protection
* @param account Address to burn tokens from
* @param amount Amount of tokens to burn
* @dev Requires sufficient allowance from token owner
* @dev Protected against reentrancy attacks using OpenZeppelin's ReentrancyGuard
*/
function burnFrom(address account, uint256 amount)
public
override
nonReentrant
{
super.burnFrom(account, amount);
// No additional event needed - OpenZeppelin emits Transfer(from, address(0), amount)
}
/*//////////////////////////////////////////////////////////////
CONTRACT METADATA (ERC-5267)
//////////////////////////////////////////////////////////////*/
/**
* @notice Get contract metadata (ERC-5267)
* @return tokenName Token name
* @return versionString Contract version
* @return standard Token standard implemented
* @return description Detailed description of the token
* @return abiHash Hash of contract ABI for verification
* @return features Array of security and functionality features
* @dev Implements ERC-5267 for automated contract introspection
*/
function getContractMetadata() external view override returns (
string memory tokenName,
string memory versionString,
string memory standard,
string memory description,
bytes32 abiHash,
string[] memory features
) {
tokenName = name();
versionString = "5.5";
standard = "ORC-55";
description = "Bazaars (BZR) - The first token implementing the revolutionary ORC-55 standard: Zero-Admin, Race-Conditionless, Contractually Final. Built with military-grade security on OpenZeppelin foundations, featuring deflationary mechanics, advanced reentrancy protection, and immutable decentralization for the future of digital money.";
abiHash = keccak256(abi.encodePacked(
"BZR",
"5.5",
"ORC-55",
"openzeppelin+reentrancy"
));
features = new string[](7);
features[0] = "Final";
features[1] = "OpenZeppelin-ReentrancyGuard";
features[2] = "Deflationary";
features[3] = "ORC-55";
features[4] = "ERC20Burnable";
features[5] = "Race-Condition-Safe";
features[6] = "Multi-Chain-Ready";
}
/*//////////////////////////////////////////////////////////////
INTERFACE SUPPORT
//////////////////////////////////////////////////////////////*/
/**
* @notice Check if contract supports a specific interface
* @param interfaceId Interface identifier to check
* @return True if interface is supported
* @dev Supports ERC-165, ERC-20, ERC-20 Metadata, ERC-5267, and ERC20Burnable interfaces
*/
function supportsInterface(bytes4 interfaceId)
public
view
virtual
override(ERC165)
returns (bool)
{
return
interfaceId == type(IERC20).interfaceId ||
interfaceId == type(IERC20Metadata).interfaceId ||
interfaceId == type(IERC5267).interfaceId ||
interfaceId == 0x3b5a0bf8 || // ERC20Burnable interface ID
super.supportsInterface(interfaceId);
}
/*//////////////////////////////////////////////////////////////
UTILITY FUNCTIONS
//////////////////////////////////////////////////////////////*/
/**
* @notice Get comprehensive token statistics
* @return initialSupplyValue The initial token supply at deployment
* @return currentSupply The current circulating supply (same as totalSupply)
* @return burnedTokens Total tokens burned
* @return burnRate Burn rate in basis points (10000 = 100%)
* @dev Provides all key supply metrics in a single call for efficiency
*/
function getTokenStats() external view returns (
uint256 initialSupplyValue,
uint256 currentSupply,
uint256 burnedTokens,
uint256 burnRate
) {
initialSupplyValue = INITIAL_SUPPLY;
currentSupply = totalSupply();
burnedTokens = INITIAL_SUPPLY - currentSupply;
burnRate = initialSupplyValue == 0 ? 0 : (burnedTokens * 10000) / initialSupplyValue;
}
/**
* @notice Get initial token supply (before any burns)
* @return The initial total token supply at deployment
* @dev Useful for calculating burn percentages and historical analysis
*/
function initialSupply() external view returns (uint256) {
return INITIAL_SUPPLY;
}
/**
* @notice Get deployment information with ABI verification
* @return deploymentTime Timestamp when contract was deployed
* @return chainId Chain ID where contract was deployed
* @return deploymentHash Hash of deployment parameters
* @return abiHash Hash of contract ABI for verification
*/
function getDeploymentInfo() external view returns (
uint256 deploymentTime,
uint256 chainId,
bytes32 deploymentHash,
bytes32 abiHash
) {
deploymentTime = DEPLOYMENT_TIME;
chainId = DEPLOYMENT_CHAIN_ID;
deploymentHash = keccak256(abi.encodePacked(
INITIAL_SUPPLY,
name(),
symbol(),
decimals(),
DEPLOYMENT_TIME
));
// ABI hash for automated verification by dApps and explorers
abiHash = keccak256(abi.encodePacked(
"BZR",
"5.5",
"ORC-55",
"openzeppelin+reentrancy"
));
}
/**
* @notice Check if address is a token holder
* @param account Address to check
* @return True if account holds any tokens
*/
function isTokenHolder(address account) external view returns (bool) {
return balanceOf(account) > 0;
}
/**
* @notice Calculate burn rate with custom precision
* @param precision Decimal places for precision (e.g., 100 for 2 decimals)
* @return Burn rate with specified precision
*/
function getBurnRate(uint256 precision) external view returns (uint256) {
if (INITIAL_SUPPLY == 0 || precision == 0) return 0;
return (totalBurned() * precision) / INITIAL_SUPPLY;
}
/**
* @notice Get multi-chain deployment information
* @return currentChainId Current chain ID
* @return currentDeploymentHash Deployment hash for current chain
* @return totalChains Total number of supported chains
* @return allChains Array of all supported chain IDs
* @dev Provides comprehensive multi-chain deployment tracking
*/
function getMultiChainInfo() external view returns (
uint256 currentChainId,
bytes32 currentDeploymentHash,
uint256 totalChains,
uint256[] memory allChains
) {
currentChainId = block.chainid;
currentDeploymentHash = chainDeployments[block.chainid];
totalChains = supportedChains.length;
allChains = supportedChains;
}
/**
* @notice Verify if a chain has an official BZR deployment
* @param chainId Chain ID to check
* @return isDeployed True if chain has official deployment
* @return deploymentHash Deployment hash for verification
*/
function verifyChainDeployment(uint256 chainId) external view returns (
bool isDeployed,
bytes32 deploymentHash
) {
deploymentHash = chainDeployments[chainId];
isDeployed = deploymentHash != bytes32(0);
}
/**
* @notice Get the canonical chain name for official BZR deployments
* @param chainId Chain ID to get name for
* @return Chain name string
* @dev Supports all 10 official BZR deployment chains
*/
function getChainName(uint256 chainId) external pure returns (string memory) {
if (chainId == 1) return "Ethereum";
if (chainId == 56) return "BNB Chain";
if (chainId == 137) return "Polygon";
if (chainId == 5000) return "Mantle";
if (chainId == 8453) return "Base";
if (chainId == 42161) return "Arbitrum";
if (chainId == 10) return "Optimism";
if (chainId == 43114) return "Avalanche";
if (chainId == 324) return "zkSync Era";
if (chainId == 25) return "Cronos";
return "Unsupported Chain";
}
/**
* @notice Get contract version for dashboard display
* @return Contract version string
* @dev Helps dashboards and UIs display version information
*/
function version() external pure returns (string memory) {
return "5.5";
}
/**
* @notice Identify this contract as BZR token
* @return Always returns true
* @dev Helps block explorers and tools identify BZR tokens
*/
function isBZR() external pure returns (bool) {
return true;
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"initialHolder","type":"address"},{"internalType":"uint256","name":"totalInitialSupply","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AllowanceUnderflow","type":"error"},{"inputs":[],"name":"ApproveToZeroAddress","type":"error"},{"inputs":[],"name":"MustZeroAllowanceFirst","type":"error"},{"inputs":[],"name":"ZeroAddress","type":"error"},{"inputs":[],"name":"ZeroAmount","type":"error"},{"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":"uint256","name":"chainId","type":"uint256"},{"indexed":true,"internalType":"bytes32","name":"deploymentHash","type":"bytes32"}],"name":"ChainDeploymentRegistered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"version","type":"string"},{"indexed":true,"internalType":"string","name":"standard","type":"string"},{"indexed":true,"internalType":"bytes32","name":"abiHash","type":"bytes32"},{"indexed":false,"internalType":"string","name":"features","type":"string"}],"name":"ContractDeployed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DEPLOYMENT_CHAIN_ID","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEPLOYMENT_TIME","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"INITIAL_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"chainDeployments","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"circulatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"uint256","name":"precision","type":"uint256"}],"name":"getBurnRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"chainId","type":"uint256"}],"name":"getChainName","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getContractMetadata","outputs":[{"internalType":"string","name":"tokenName","type":"string"},{"internalType":"string","name":"versionString","type":"string"},{"internalType":"string","name":"standard","type":"string"},{"internalType":"string","name":"description","type":"string"},{"internalType":"bytes32","name":"abiHash","type":"bytes32"},{"internalType":"string[]","name":"features","type":"string[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getDeploymentInfo","outputs":[{"internalType":"uint256","name":"deploymentTime","type":"uint256"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"bytes32","name":"deploymentHash","type":"bytes32"},{"internalType":"bytes32","name":"abiHash","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMultiChainInfo","outputs":[{"internalType":"uint256","name":"currentChainId","type":"uint256"},{"internalType":"bytes32","name":"currentDeploymentHash","type":"bytes32"},{"internalType":"uint256","name":"totalChains","type":"uint256"},{"internalType":"uint256[]","name":"allChains","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTokenStats","outputs":[{"internalType":"uint256","name":"initialSupplyValue","type":"uint256"},{"internalType":"uint256","name":"currentSupply","type":"uint256"},{"internalType":"uint256","name":"burnedTokens","type":"uint256"},{"internalType":"uint256","name":"burnRate","type":"uint256"}],"stateMutability":"view","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":"initialSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isBZR","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isTokenHolder","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"supportedChains","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBurned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"chainId","type":"uint256"}],"name":"verifyChainDeployment","outputs":[{"internalType":"bool","name":"isDeployed","type":"bool"},{"internalType":"bytes32","name":"deploymentHash","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"}]Contract Creation Code
60e060405234801561000f575f80fd5b50604051613c92380380613c92833981810160405281019061003191906104af565b6040518060400160405280600781526020017f42617a61617273000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f425a52000000000000000000000000000000000000000000000000000000000081525081600390816100ac919061071e565b5080600490816100bc919061071e565b50505060016005819055505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361012c576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8103610165576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80608081815250504260a081815250504660c0818152505061018d82826102ba60201b60201c565b5f6080518360a051466040516020016101a99493929190610852565b6040516020818303038152906040528051906020012090508060065f4681526020019081526020015f2081905550600746908060018154018082558091505060019003905f5260205f20015f90919091909150555f60405160200161020d906109d1565b6040516020818303038152906040528051906020012090508060405161023290610a06565b604051809103902060405161024690610a1a565b60405180910390207f4f3080d2c14696e3c9561e555536794b1e4223b537641790d2eefb3448033abb60405161027b90610aae565b60405180910390a481467fdc644cd5d1d1143e7a98fe54293496af207fd1e5e8aa778d368e584941299c6160405160405180910390a350505050610bbc565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610328576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161031f90610b16565b60405180910390fd5b6103395f838361041460201b60201c565b8060025f82825461034a9190610b61565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516103f79190610ba3565b60405180910390a36104105f838361041960201b60201c565b5050565b505050565b505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61044b82610422565b9050919050565b61045b81610441565b8114610465575f80fd5b50565b5f8151905061047681610452565b92915050565b5f819050919050565b61048e8161047c565b8114610498575f80fd5b50565b5f815190506104a981610485565b92915050565b5f80604083850312156104c5576104c461041e565b5b5f6104d285828601610468565b92505060206104e38582860161049b565b9150509250929050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061056857607f821691505b60208210810361057b5761057a610524565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026105dd7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826105a2565b6105e786836105a2565b95508019841693508086168417925050509392505050565b5f819050919050565b5f61062261061d6106188461047c565b6105ff565b61047c565b9050919050565b5f819050919050565b61063b83610608565b61064f61064782610629565b8484546105ae565b825550505050565b5f90565b610663610657565b61066e818484610632565b505050565b5b81811015610691576106865f8261065b565b600181019050610674565b5050565b601f8211156106d6576106a781610581565b6106b084610593565b810160208510156106bf578190505b6106d36106cb85610593565b830182610673565b50505b505050565b5f82821c905092915050565b5f6106f65f19846008026106db565b1980831691505092915050565b5f61070e83836106e7565b9150826002028217905092915050565b610727826104ed565b67ffffffffffffffff8111156107405761073f6104f7565b5b61074a8254610551565b610755828285610695565b5f60209050601f831160018114610786575f8415610774578287015190505b61077e8582610703565b8655506107e5565b601f19841661079486610581565b5f5b828110156107bb57848901518255600182019150602085019450602081019050610796565b868310156107d857848901516107d4601f8916826106e7565b8355505b6001600288020188555050505b505050505050565b5f819050919050565b6108076108028261047c565b6107ed565b82525050565b5f8160601b9050919050565b5f6108238261080d565b9050919050565b5f61083482610819565b9050919050565b61084c61084782610441565b61082a565b82525050565b5f61085d82876107f6565b60208201915061086d828661083b565b60148201915061087d82856107f6565b60208201915061088d82846107f6565b60208201915081905095945050505050565b5f81905092915050565b7f425a5200000000000000000000000000000000000000000000000000000000005f82015250565b5f6108dd60038361089f565b91506108e8826108a9565b600382019050919050565b7f352e3500000000000000000000000000000000000000000000000000000000005f82015250565b5f61092760038361089f565b9150610932826108f3565b600382019050919050565b7f4f52432d353500000000000000000000000000000000000000000000000000005f82015250565b5f61097160068361089f565b915061097c8261093d565b600682019050919050565b7f6f70656e7a657070656c696e2b7265656e7472616e63790000000000000000005f82015250565b5f6109bb60178361089f565b91506109c682610987565b601782019050919050565b5f6109db826108d1565b91506109e68261091b565b91506109f182610965565b91506109fc826109af565b9150819050919050565b5f610a1082610965565b9150819050919050565b5f610a248261091b565b9150819050919050565b5f82825260208201905092915050565b7f46696e616c2c4f70656e5a657070656c696e2d5265656e7472616e63794775615f8201527f72642c4465666c6174696f6e6172792c4f52432d353500000000000000000000602082015250565b5f610a98603683610a2e565b9150610aa382610a3e565b604082019050919050565b5f6020820190508181035f830152610ac581610a8c565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f610b00601f83610a2e565b9150610b0b82610acc565b602082019050919050565b5f6020820190508181035f830152610b2d81610af4565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610b6b8261047c565b9150610b768361047c565b9250828201905080821115610b8e57610b8d610b34565b5b92915050565b610b9d8161047c565b82525050565b5f602082019050610bb65f830184610b94565b92915050565b60805160a05160c051613066610c2c5f395f818161117e015261125401525f818161115b015281816111da015261162a01525f8181610990015281816109be01528181610a8001528181610aad01528181610b5101528181610b8a015281816111a1015261157801526130665ff3fe608060405234801561000f575f80fd5b50600436106101ee575f3560e01c806365731fe91161010d578063a457c2d7116100a0578063bbce148c1161006f578063bbce148c1461061d578063d89135cd1461064d578063dd62ed3e1461066b578063e84721cb1461069b576101ee565b8063a457c2d71461057e578063a9059cbb146105ae578063aeefffad146105de578063b0d9b2e5146105ff576101ee565b80637a21bcea116100dc5780637a21bcea146105035780639358928b1461052157806395d89b411461053f578063967266131461055d576101ee565b806365731fe91461046457806370a082311461049457806372b44b52146104c457806379cc6790146104e7576101ee565b80632ff2e9dc1161018557806342966c681161015457806342966c68146103ca578063548d496f146103e657806354fd4d50146104165780635ad7eb9e14610434576101ee565b80632ff2e9dc14610340578063313ce5671461035e578063378dc3dc1461037c578063395093511461039a576101ee565b806318160ddd116101c157806318160ddd146102915780632084d52f146102af57806323b872dd146102e057806327b7e04614610310576101ee565b806301ffc9a7146101f257806306fdde0314610222578063095ea7b314610240578063097cd9bf14610270575b5f80fd5b61020c60048036038101906102079190611f24565b6106b9565b6040516102199190611f69565b60405180910390f35b61022a610832565b6040516102379190611ff2565b60405180910390f35b61025a6004803603810190610255919061209f565b6108c2565b6040516102679190611f69565b60405180910390f35b61027861098a565b60405161028894939291906120ec565b60405180910390f35b610299610a18565b6040516102a6919061212f565b60405180910390f35b6102c960048036038101906102c49190612148565b610a21565b6040516102d792919061218b565b60405180910390f35b6102fa60048036038101906102f591906121b2565b610a44565b6040516103079190611f69565b60405180910390f35b61032a60048036038101906103259190612148565b610a69565b6040516103379190612202565b60405180910390f35b610348610a7e565b604051610355919061212f565b60405180910390f35b610366610aa2565b6040516103739190612236565b60405180910390f35b610384610aaa565b604051610391919061212f565b60405180910390f35b6103b460048036038101906103af919061209f565b610ad1565b6040516103c19190611f69565b60405180910390f35b6103e460048036038101906103df9190612148565b610ae4565b005b61040060048036038101906103fb9190612148565b610af0565b60405161040d919061212f565b60405180910390f35b61041e610b10565b60405161042b9190611ff2565b60405180910390f35b61044e60048036038101906104499190612148565b610b4d565b60405161045b919061212f565b60405180910390f35b61047e6004803603810190610479919061224f565b610bce565b60405161048b9190611f69565b60405180910390f35b6104ae60048036038101906104a9919061224f565b610be1565b6040516104bb919061212f565b60405180910390f35b6104cc610c26565b6040516104de9695949392919061237d565b60405180910390f35b61050160048036038101906104fc919061209f565b610f99565b005b61050b610fb7565b6040516105189190611f69565b60405180910390f35b610529610fbf565b604051610536919061212f565b60405180910390f35b610547610fcd565b6040516105549190611ff2565b60405180910390f35b61056561105d565b60405161057594939291906124b6565b60405180910390f35b6105986004803603810190610593919061209f565b6110d8565b6040516105a59190611f69565b60405180910390f35b6105c860048036038101906105c3919061209f565b611133565b6040516105d59190611f69565b60405180910390f35b6105e6611155565b6040516105f69493929190612500565b60405180910390f35b610607611252565b604051610614919061212f565b60405180910390f35b61063760048036038101906106329190612148565b611276565b6040516106449190611ff2565b60405180910390f35b61065561156d565b604051610662919061212f565b60405180910390f35b61068560048036038101906106809190612543565b6115a6565b604051610692919061212f565b60405180910390f35b6106a3611628565b6040516106b0919061212f565b60405180910390f35b5f7f36372b07000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061078357507fa219a025000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806107eb57507f72b44b52000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061081b5750633b5a0bf860e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061082b575061082a8261164c565b5b9050919050565b606060038054610841906125ae565b80601f016020809104026020016040519081016040528092919081815260200182805461086d906125ae565b80156108b85780601f1061088f576101008083540402835291602001916108b8565b820191905f5260205f20905b81548152906001019060200180831161089b57829003601f168201915b5050505050905090565b5f8073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610928576040517f3b719e1800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f821415801561094157505f61093e33856115a6565b14155b15610978576040517feba4654800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61098283836116b5565b905092915050565b5f805f807f000000000000000000000000000000000000000000000000000000000000000093506109b9610a18565b9250827f00000000000000000000000000000000000000000000000000000000000000006109e7919061260b565b91505f8414610a0e5783612710836109ff919061263e565b610a0991906126ac565b610a10565b5f5b905090919293565b5f600254905090565b5f8060065f8481526020019081526020015f205490505f801b8114159150915091565b5f610a4d6116d7565b610a58848484611726565b9050610a62611754565b9392505050565b6006602052805f5260405f205f915090505481565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f6012905090565b5f7f0000000000000000000000000000000000000000000000000000000000000000905090565b5f610adc838361175e565b905092915050565b610aed81611794565b50565b60078181548110610aff575f80fd5b905f5260205f20015f915090505481565b60606040518060400160405280600381526020017f352e350000000000000000000000000000000000000000000000000000000000815250905090565b5f807f00000000000000000000000000000000000000000000000000000000000000001480610b7b57505f82145b15610b88575f9050610bc9565b7f000000000000000000000000000000000000000000000000000000000000000082610bb261156d565b610bbc919061263e565b610bc691906126ac565b90505b919050565b5f80610bd983610be1565b119050919050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6060806060805f6060610c37610832565b95506040518060400160405280600381526020017f352e35000000000000000000000000000000000000000000000000000000000081525094506040518060400160405280600681526020017f4f52432d3535000000000000000000000000000000000000000000000000000081525093506040518061018001604052806101468152602001612eeb61014691399250604051602001610cd69061280e565b604051602081830303815290604052805190602001209150600767ffffffffffffffff811115610d0957610d08612843565b5b604051908082528060200260200182016040528015610d3c57816020015b6060815260200190600190039081610d275790505b5090506040518060400160405280600581526020017f46696e616c000000000000000000000000000000000000000000000000000000815250815f81518110610d8857610d87612870565b5b60200260200101819052506040518060400160405280601c81526020017f4f70656e5a657070656c696e2d5265656e7472616e637947756172640000000081525081600181518110610ddd57610ddc612870565b5b60200260200101819052506040518060400160405280600c81526020017f4465666c6174696f6e617279000000000000000000000000000000000000000081525081600281518110610e3257610e31612870565b5b60200260200101819052506040518060400160405280600681526020017f4f52432d3535000000000000000000000000000000000000000000000000000081525081600381518110610e8757610e86612870565b5b60200260200101819052506040518060400160405280600d81526020017f45524332304275726e61626c650000000000000000000000000000000000000081525081600481518110610edc57610edb612870565b5b60200260200101819052506040518060400160405280601381526020017f526163652d436f6e646974696f6e2d536166650000000000000000000000000081525081600581518110610f3157610f30612870565b5b60200260200101819052506040518060400160405280601181526020017f4d756c74692d436861696e2d526561647900000000000000000000000000000081525081600681518110610f8657610f85612870565b5b6020026020010181905250909192939495565b610fa16116d7565b610fab82826117a8565b610fb3611754565b5050565b5f6001905090565b5f610fc8610a18565b905090565b606060048054610fdc906125ae565b80601f0160208091040260200160405190810160405280929190818152602001828054611008906125ae565b80156110535780601f1061102a57610100808354040283529160200191611053565b820191905f5260205f20905b81548152906001019060200180831161103657829003601f168201915b5050505050905090565b5f805f606046935060065f4681526020019081526020015f20549250600780549050915060078054806020026020016040519081016040528092919081815260200182805480156110cb57602002820191905f5260205f20905b8154815260200190600101908083116110b7575b5050505050905090919293565b5f806110e433856115a6565b905082811015611120576040517f8301ab3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61112a84846117c8565b91505092915050565b5f8061113d61183d565b905061114a818585611844565b600191505092915050565b5f805f807f000000000000000000000000000000000000000000000000000000000000000093507f000000000000000000000000000000000000000000000000000000000000000092507f00000000000000000000000000000000000000000000000000000000000000006111c8610832565b6111d0610fcd565b6111d8610aa2565b7f000000000000000000000000000000000000000000000000000000000000000060405160200161120d959493929190612921565b6040516020818303038152906040528051906020012091506040516020016112349061280e565b60405160208183030381529060405280519060200120905090919293565b7f000000000000000000000000000000000000000000000000000000000000000081565b6060600182036112bd576040518060400160405280600881526020017f457468657265756d0000000000000000000000000000000000000000000000008152509050611568565b60388203611302576040518060400160405280600981526020017f424e4220436861696e00000000000000000000000000000000000000000000008152509050611568565b60898203611347576040518060400160405280600781526020017f506f6c79676f6e000000000000000000000000000000000000000000000000008152509050611568565b611388820361138d576040518060400160405280600681526020017f4d616e746c6500000000000000000000000000000000000000000000000000008152509050611568565b61210582036113d3576040518060400160405280600481526020017f42617365000000000000000000000000000000000000000000000000000000008152509050611568565b61a4b18203611419576040518060400160405280600881526020017f417262697472756d0000000000000000000000000000000000000000000000008152509050611568565b600a820361145e576040518060400160405280600881526020017f4f7074696d69736d0000000000000000000000000000000000000000000000008152509050611568565b61a86a82036114a4576040518060400160405280600981526020017f4176616c616e63686500000000000000000000000000000000000000000000008152509050611568565b61014482036114ea576040518060400160405280600a81526020017f7a6b53796e6320457261000000000000000000000000000000000000000000008152509050611568565b6019820361152f576040518060400160405280600681526020017f43726f6e6f7300000000000000000000000000000000000000000000000000008152509050611568565b6040518060400160405280601181526020017f556e737570706f7274656420436861696e00000000000000000000000000000081525090505b919050565b5f611576610a18565b7f00000000000000000000000000000000000000000000000000000000000000006115a1919061260b565b905090565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f806116bf61183d565b90506116cc818585611ab0565b600191505092915050565b60026005540361171c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611713906129c1565b60405180910390fd5b6002600581905550565b5f8061173061183d565b905061173d858285611c73565b611748858585611844565b60019150509392505050565b6001600581905550565b5f8061176861183d565b905061178981858561177a85896115a6565b61178491906129df565b611ab0565b600191505092915050565b6117a561179f61183d565b82611cfe565b50565b6117ba826117b461183d565b83611c73565b6117c48282611cfe565b5050565b5f806117d261183d565b90505f6117df82866115a6565b905083811015611824576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181b90612a82565b60405180910390fd5b6118318286868403611ab0565b60019250505092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036118b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a990612b10565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611920576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191790612b9e565b60405180910390fd5b61192b838383611ec1565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156119ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a590612c2c565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611a97919061212f565b60405180910390a3611aaa848484611ec6565b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1590612cba565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8390612d48565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611c66919061212f565b60405180910390a3505050565b5f611c7e84846115a6565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611cf85781811015611cea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ce190612db0565b60405180910390fd5b611cf78484848403611ab0565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6390612e3e565b60405180910390fd5b611d77825f83611ec1565b5f805f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611dfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611df190612ecc565b60405180910390fd5b8181035f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160025f82825403925050819055505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611ea9919061212f565b60405180910390a3611ebc835f84611ec6565b505050565b505050565b505050565b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611f0381611ecf565b8114611f0d575f80fd5b50565b5f81359050611f1e81611efa565b92915050565b5f60208284031215611f3957611f38611ecb565b5b5f611f4684828501611f10565b91505092915050565b5f8115159050919050565b611f6381611f4f565b82525050565b5f602082019050611f7c5f830184611f5a565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611fc482611f82565b611fce8185611f8c565b9350611fde818560208601611f9c565b611fe781611faa565b840191505092915050565b5f6020820190508181035f83015261200a8184611fba565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61203b82612012565b9050919050565b61204b81612031565b8114612055575f80fd5b50565b5f8135905061206681612042565b92915050565b5f819050919050565b61207e8161206c565b8114612088575f80fd5b50565b5f8135905061209981612075565b92915050565b5f80604083850312156120b5576120b4611ecb565b5b5f6120c285828601612058565b92505060206120d38582860161208b565b9150509250929050565b6120e68161206c565b82525050565b5f6080820190506120ff5f8301876120dd565b61210c60208301866120dd565b61211960408301856120dd565b61212660608301846120dd565b95945050505050565b5f6020820190506121425f8301846120dd565b92915050565b5f6020828403121561215d5761215c611ecb565b5b5f61216a8482850161208b565b91505092915050565b5f819050919050565b61218581612173565b82525050565b5f60408201905061219e5f830185611f5a565b6121ab602083018461217c565b9392505050565b5f805f606084860312156121c9576121c8611ecb565b5b5f6121d686828701612058565b93505060206121e786828701612058565b92505060406121f88682870161208b565b9150509250925092565b5f6020820190506122155f83018461217c565b92915050565b5f60ff82169050919050565b6122308161221b565b82525050565b5f6020820190506122495f830184612227565b92915050565b5f6020828403121561226457612263611ecb565b5b5f61227184828501612058565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f82825260208201905092915050565b5f6122bd82611f82565b6122c781856122a3565b93506122d7818560208601611f9c565b6122e081611faa565b840191505092915050565b5f6122f683836122b3565b905092915050565b5f602082019050919050565b5f6123148261227a565b61231e8185612284565b93508360208202850161233085612294565b805f5b8581101561236b578484038952815161234c85826122eb565b9450612357836122fe565b925060208a01995050600181019050612333565b50829750879550505050505092915050565b5f60c0820190508181035f8301526123958189611fba565b905081810360208301526123a98188611fba565b905081810360408301526123bd8187611fba565b905081810360608301526123d18186611fba565b90506123e0608083018561217c565b81810360a08301526123f2818461230a565b9050979650505050505050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6124318161206c565b82525050565b5f6124428383612428565b60208301905092915050565b5f602082019050919050565b5f612464826123ff565b61246e8185612409565b935061247983612419565b805f5b838110156124a95781516124908882612437565b975061249b8361244e565b92505060018101905061247c565b5085935050505092915050565b5f6080820190506124c95f8301876120dd565b6124d6602083018661217c565b6124e360408301856120dd565b81810360608301526124f5818461245a565b905095945050505050565b5f6080820190506125135f8301876120dd565b61252060208301866120dd565b61252d604083018561217c565b61253a606083018461217c565b95945050505050565b5f806040838503121561255957612558611ecb565b5b5f61256685828601612058565b925050602061257785828601612058565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806125c557607f821691505b6020821081036125d8576125d7612581565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6126158261206c565b91506126208361206c565b9250828203905081811115612638576126376125de565b5b92915050565b5f6126488261206c565b91506126538361206c565b92508282026126618161206c565b91508282048414831517612678576126776125de565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6126b68261206c565b91506126c18361206c565b9250826126d1576126d061267f565b5b828204905092915050565b5f81905092915050565b7f425a5200000000000000000000000000000000000000000000000000000000005f82015250565b5f61271a6003836126dc565b9150612725826126e6565b600382019050919050565b7f352e3500000000000000000000000000000000000000000000000000000000005f82015250565b5f6127646003836126dc565b915061276f82612730565b600382019050919050565b7f4f52432d353500000000000000000000000000000000000000000000000000005f82015250565b5f6127ae6006836126dc565b91506127b98261277a565b600682019050919050565b7f6f70656e7a657070656c696e2b7265656e7472616e63790000000000000000005f82015250565b5f6127f86017836126dc565b9150612803826127c4565b601782019050919050565b5f6128188261270e565b915061282382612758565b915061282e826127a2565b9150612839826127ec565b9150819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b6128b76128b28261206c565b61289d565b82525050565b5f6128c782611f82565b6128d181856126dc565b93506128e1818560208601611f9c565b80840191505092915050565b5f8160f81b9050919050565b5f612903826128ed565b9050919050565b61291b6129168261221b565b6128f9565b82525050565b5f61292c82886128a6565b60208201915061293c82876128bd565b915061294882866128bd565b9150612954828561290a565b60018201915061296482846128a6565b6020820191508190509695505050505050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c005f82015250565b5f6129ab601f83611f8c565b91506129b682612977565b602082019050919050565b5f6020820190508181035f8301526129d88161299f565b9050919050565b5f6129e98261206c565b91506129f48361206c565b9250828201905080821115612a0c57612a0b6125de565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f612a6c602583611f8c565b9150612a7782612a12565b604082019050919050565b5f6020820190508181035f830152612a9981612a60565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612afa602583611f8c565b9150612b0582612aa0565b604082019050919050565b5f6020820190508181035f830152612b2781612aee565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612b88602383611f8c565b9150612b9382612b2e565b604082019050919050565b5f6020820190508181035f830152612bb581612b7c565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f612c16602683611f8c565b9150612c2182612bbc565b604082019050919050565b5f6020820190508181035f830152612c4381612c0a565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612ca4602483611f8c565b9150612caf82612c4a565b604082019050919050565b5f6020820190508181035f830152612cd181612c98565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612d32602283611f8c565b9150612d3d82612cd8565b604082019050919050565b5f6020820190508181035f830152612d5f81612d26565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f612d9a601d83611f8c565b9150612da582612d66565b602082019050919050565b5f6020820190508181035f830152612dc781612d8e565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f612e28602183611f8c565b9150612e3382612dce565b604082019050919050565b5f6020820190508181035f830152612e5581612e1c565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e5f8201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b5f612eb6602283611f8c565b9150612ec182612e5c565b604082019050919050565b5f6020820190508181035f830152612ee381612eaa565b905091905056fe42617a616172732028425a5229202d2054686520666972737420746f6b656e20696d706c656d656e74696e6720746865207265766f6c7574696f6e617279204f52432d3535207374616e646172643a205a65726f2d41646d696e2c20526163652d436f6e646974696f6e6c6573732c20436f6e747261637475616c6c792046696e616c2e204275696c742077697468206d696c69746172792d6772616465207365637572697479206f6e204f70656e5a657070656c696e20666f756e646174696f6e732c20666561747572696e67206465666c6174696f6e617279206d656368616e6963732c20616476616e636564207265656e7472616e63792070726f74656374696f6e2c20616e6420696d6d757461626c6520646563656e7472616c697a6174696f6e20666f722074686520667574757265206f66206469676974616c206d6f6e65792ea264697066735822122056e4522d93c58ff8566d4c6f4f9070bb8bc85e977e7ffe27ff0192a3517754b464736f6c634300081a00330000000000000000000000006e1ef85cce7ec4b422f6a634d7924e77b9fb37a50000000000000000000000000000000000000000002df458b38b9558b78e38e3
Deployed Bytecode
0x608060405234801561000f575f80fd5b50600436106101ee575f3560e01c806365731fe91161010d578063a457c2d7116100a0578063bbce148c1161006f578063bbce148c1461061d578063d89135cd1461064d578063dd62ed3e1461066b578063e84721cb1461069b576101ee565b8063a457c2d71461057e578063a9059cbb146105ae578063aeefffad146105de578063b0d9b2e5146105ff576101ee565b80637a21bcea116100dc5780637a21bcea146105035780639358928b1461052157806395d89b411461053f578063967266131461055d576101ee565b806365731fe91461046457806370a082311461049457806372b44b52146104c457806379cc6790146104e7576101ee565b80632ff2e9dc1161018557806342966c681161015457806342966c68146103ca578063548d496f146103e657806354fd4d50146104165780635ad7eb9e14610434576101ee565b80632ff2e9dc14610340578063313ce5671461035e578063378dc3dc1461037c578063395093511461039a576101ee565b806318160ddd116101c157806318160ddd146102915780632084d52f146102af57806323b872dd146102e057806327b7e04614610310576101ee565b806301ffc9a7146101f257806306fdde0314610222578063095ea7b314610240578063097cd9bf14610270575b5f80fd5b61020c60048036038101906102079190611f24565b6106b9565b6040516102199190611f69565b60405180910390f35b61022a610832565b6040516102379190611ff2565b60405180910390f35b61025a6004803603810190610255919061209f565b6108c2565b6040516102679190611f69565b60405180910390f35b61027861098a565b60405161028894939291906120ec565b60405180910390f35b610299610a18565b6040516102a6919061212f565b60405180910390f35b6102c960048036038101906102c49190612148565b610a21565b6040516102d792919061218b565b60405180910390f35b6102fa60048036038101906102f591906121b2565b610a44565b6040516103079190611f69565b60405180910390f35b61032a60048036038101906103259190612148565b610a69565b6040516103379190612202565b60405180910390f35b610348610a7e565b604051610355919061212f565b60405180910390f35b610366610aa2565b6040516103739190612236565b60405180910390f35b610384610aaa565b604051610391919061212f565b60405180910390f35b6103b460048036038101906103af919061209f565b610ad1565b6040516103c19190611f69565b60405180910390f35b6103e460048036038101906103df9190612148565b610ae4565b005b61040060048036038101906103fb9190612148565b610af0565b60405161040d919061212f565b60405180910390f35b61041e610b10565b60405161042b9190611ff2565b60405180910390f35b61044e60048036038101906104499190612148565b610b4d565b60405161045b919061212f565b60405180910390f35b61047e6004803603810190610479919061224f565b610bce565b60405161048b9190611f69565b60405180910390f35b6104ae60048036038101906104a9919061224f565b610be1565b6040516104bb919061212f565b60405180910390f35b6104cc610c26565b6040516104de9695949392919061237d565b60405180910390f35b61050160048036038101906104fc919061209f565b610f99565b005b61050b610fb7565b6040516105189190611f69565b60405180910390f35b610529610fbf565b604051610536919061212f565b60405180910390f35b610547610fcd565b6040516105549190611ff2565b60405180910390f35b61056561105d565b60405161057594939291906124b6565b60405180910390f35b6105986004803603810190610593919061209f565b6110d8565b6040516105a59190611f69565b60405180910390f35b6105c860048036038101906105c3919061209f565b611133565b6040516105d59190611f69565b60405180910390f35b6105e6611155565b6040516105f69493929190612500565b60405180910390f35b610607611252565b604051610614919061212f565b60405180910390f35b61063760048036038101906106329190612148565b611276565b6040516106449190611ff2565b60405180910390f35b61065561156d565b604051610662919061212f565b60405180910390f35b61068560048036038101906106809190612543565b6115a6565b604051610692919061212f565b60405180910390f35b6106a3611628565b6040516106b0919061212f565b60405180910390f35b5f7f36372b07000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061078357507fa219a025000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806107eb57507f72b44b52000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061081b5750633b5a0bf860e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061082b575061082a8261164c565b5b9050919050565b606060038054610841906125ae565b80601f016020809104026020016040519081016040528092919081815260200182805461086d906125ae565b80156108b85780601f1061088f576101008083540402835291602001916108b8565b820191905f5260205f20905b81548152906001019060200180831161089b57829003601f168201915b5050505050905090565b5f8073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610928576040517f3b719e1800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f821415801561094157505f61093e33856115a6565b14155b15610978576040517feba4654800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61098283836116b5565b905092915050565b5f805f807f0000000000000000000000000000000000000000002df458b38b9558b78e38e393506109b9610a18565b9250827f0000000000000000000000000000000000000000002df458b38b9558b78e38e36109e7919061260b565b91505f8414610a0e5783612710836109ff919061263e565b610a0991906126ac565b610a10565b5f5b905090919293565b5f600254905090565b5f8060065f8481526020019081526020015f205490505f801b8114159150915091565b5f610a4d6116d7565b610a58848484611726565b9050610a62611754565b9392505050565b6006602052805f5260405f205f915090505481565b7f0000000000000000000000000000000000000000002df458b38b9558b78e38e381565b5f6012905090565b5f7f0000000000000000000000000000000000000000002df458b38b9558b78e38e3905090565b5f610adc838361175e565b905092915050565b610aed81611794565b50565b60078181548110610aff575f80fd5b905f5260205f20015f915090505481565b60606040518060400160405280600381526020017f352e350000000000000000000000000000000000000000000000000000000000815250905090565b5f807f0000000000000000000000000000000000000000002df458b38b9558b78e38e31480610b7b57505f82145b15610b88575f9050610bc9565b7f0000000000000000000000000000000000000000002df458b38b9558b78e38e382610bb261156d565b610bbc919061263e565b610bc691906126ac565b90505b919050565b5f80610bd983610be1565b119050919050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6060806060805f6060610c37610832565b95506040518060400160405280600381526020017f352e35000000000000000000000000000000000000000000000000000000000081525094506040518060400160405280600681526020017f4f52432d3535000000000000000000000000000000000000000000000000000081525093506040518061018001604052806101468152602001612eeb61014691399250604051602001610cd69061280e565b604051602081830303815290604052805190602001209150600767ffffffffffffffff811115610d0957610d08612843565b5b604051908082528060200260200182016040528015610d3c57816020015b6060815260200190600190039081610d275790505b5090506040518060400160405280600581526020017f46696e616c000000000000000000000000000000000000000000000000000000815250815f81518110610d8857610d87612870565b5b60200260200101819052506040518060400160405280601c81526020017f4f70656e5a657070656c696e2d5265656e7472616e637947756172640000000081525081600181518110610ddd57610ddc612870565b5b60200260200101819052506040518060400160405280600c81526020017f4465666c6174696f6e617279000000000000000000000000000000000000000081525081600281518110610e3257610e31612870565b5b60200260200101819052506040518060400160405280600681526020017f4f52432d3535000000000000000000000000000000000000000000000000000081525081600381518110610e8757610e86612870565b5b60200260200101819052506040518060400160405280600d81526020017f45524332304275726e61626c650000000000000000000000000000000000000081525081600481518110610edc57610edb612870565b5b60200260200101819052506040518060400160405280601381526020017f526163652d436f6e646974696f6e2d536166650000000000000000000000000081525081600581518110610f3157610f30612870565b5b60200260200101819052506040518060400160405280601181526020017f4d756c74692d436861696e2d526561647900000000000000000000000000000081525081600681518110610f8657610f85612870565b5b6020026020010181905250909192939495565b610fa16116d7565b610fab82826117a8565b610fb3611754565b5050565b5f6001905090565b5f610fc8610a18565b905090565b606060048054610fdc906125ae565b80601f0160208091040260200160405190810160405280929190818152602001828054611008906125ae565b80156110535780601f1061102a57610100808354040283529160200191611053565b820191905f5260205f20905b81548152906001019060200180831161103657829003601f168201915b5050505050905090565b5f805f606046935060065f4681526020019081526020015f20549250600780549050915060078054806020026020016040519081016040528092919081815260200182805480156110cb57602002820191905f5260205f20905b8154815260200190600101908083116110b7575b5050505050905090919293565b5f806110e433856115a6565b905082811015611120576040517f8301ab3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61112a84846117c8565b91505092915050565b5f8061113d61183d565b905061114a818585611844565b600191505092915050565b5f805f807f000000000000000000000000000000000000000000000000000000006894e35193507f000000000000000000000000000000000000000000000000000000000000210592507f0000000000000000000000000000000000000000002df458b38b9558b78e38e36111c8610832565b6111d0610fcd565b6111d8610aa2565b7f000000000000000000000000000000000000000000000000000000006894e35160405160200161120d959493929190612921565b6040516020818303038152906040528051906020012091506040516020016112349061280e565b60405160208183030381529060405280519060200120905090919293565b7f000000000000000000000000000000000000000000000000000000000000210581565b6060600182036112bd576040518060400160405280600881526020017f457468657265756d0000000000000000000000000000000000000000000000008152509050611568565b60388203611302576040518060400160405280600981526020017f424e4220436861696e00000000000000000000000000000000000000000000008152509050611568565b60898203611347576040518060400160405280600781526020017f506f6c79676f6e000000000000000000000000000000000000000000000000008152509050611568565b611388820361138d576040518060400160405280600681526020017f4d616e746c6500000000000000000000000000000000000000000000000000008152509050611568565b61210582036113d3576040518060400160405280600481526020017f42617365000000000000000000000000000000000000000000000000000000008152509050611568565b61a4b18203611419576040518060400160405280600881526020017f417262697472756d0000000000000000000000000000000000000000000000008152509050611568565b600a820361145e576040518060400160405280600881526020017f4f7074696d69736d0000000000000000000000000000000000000000000000008152509050611568565b61a86a82036114a4576040518060400160405280600981526020017f4176616c616e63686500000000000000000000000000000000000000000000008152509050611568565b61014482036114ea576040518060400160405280600a81526020017f7a6b53796e6320457261000000000000000000000000000000000000000000008152509050611568565b6019820361152f576040518060400160405280600681526020017f43726f6e6f7300000000000000000000000000000000000000000000000000008152509050611568565b6040518060400160405280601181526020017f556e737570706f7274656420436861696e00000000000000000000000000000081525090505b919050565b5f611576610a18565b7f0000000000000000000000000000000000000000002df458b38b9558b78e38e36115a1919061260b565b905090565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b7f000000000000000000000000000000000000000000000000000000006894e35181565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f806116bf61183d565b90506116cc818585611ab0565b600191505092915050565b60026005540361171c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611713906129c1565b60405180910390fd5b6002600581905550565b5f8061173061183d565b905061173d858285611c73565b611748858585611844565b60019150509392505050565b6001600581905550565b5f8061176861183d565b905061178981858561177a85896115a6565b61178491906129df565b611ab0565b600191505092915050565b6117a561179f61183d565b82611cfe565b50565b6117ba826117b461183d565b83611c73565b6117c48282611cfe565b5050565b5f806117d261183d565b90505f6117df82866115a6565b905083811015611824576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181b90612a82565b60405180910390fd5b6118318286868403611ab0565b60019250505092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036118b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a990612b10565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611920576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191790612b9e565b60405180910390fd5b61192b838383611ec1565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156119ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a590612c2c565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611a97919061212f565b60405180910390a3611aaa848484611ec6565b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1590612cba565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8390612d48565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611c66919061212f565b60405180910390a3505050565b5f611c7e84846115a6565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611cf85781811015611cea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ce190612db0565b60405180910390fd5b611cf78484848403611ab0565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6390612e3e565b60405180910390fd5b611d77825f83611ec1565b5f805f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611dfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611df190612ecc565b60405180910390fd5b8181035f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160025f82825403925050819055505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611ea9919061212f565b60405180910390a3611ebc835f84611ec6565b505050565b505050565b505050565b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611f0381611ecf565b8114611f0d575f80fd5b50565b5f81359050611f1e81611efa565b92915050565b5f60208284031215611f3957611f38611ecb565b5b5f611f4684828501611f10565b91505092915050565b5f8115159050919050565b611f6381611f4f565b82525050565b5f602082019050611f7c5f830184611f5a565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611fc482611f82565b611fce8185611f8c565b9350611fde818560208601611f9c565b611fe781611faa565b840191505092915050565b5f6020820190508181035f83015261200a8184611fba565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61203b82612012565b9050919050565b61204b81612031565b8114612055575f80fd5b50565b5f8135905061206681612042565b92915050565b5f819050919050565b61207e8161206c565b8114612088575f80fd5b50565b5f8135905061209981612075565b92915050565b5f80604083850312156120b5576120b4611ecb565b5b5f6120c285828601612058565b92505060206120d38582860161208b565b9150509250929050565b6120e68161206c565b82525050565b5f6080820190506120ff5f8301876120dd565b61210c60208301866120dd565b61211960408301856120dd565b61212660608301846120dd565b95945050505050565b5f6020820190506121425f8301846120dd565b92915050565b5f6020828403121561215d5761215c611ecb565b5b5f61216a8482850161208b565b91505092915050565b5f819050919050565b61218581612173565b82525050565b5f60408201905061219e5f830185611f5a565b6121ab602083018461217c565b9392505050565b5f805f606084860312156121c9576121c8611ecb565b5b5f6121d686828701612058565b93505060206121e786828701612058565b92505060406121f88682870161208b565b9150509250925092565b5f6020820190506122155f83018461217c565b92915050565b5f60ff82169050919050565b6122308161221b565b82525050565b5f6020820190506122495f830184612227565b92915050565b5f6020828403121561226457612263611ecb565b5b5f61227184828501612058565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f82825260208201905092915050565b5f6122bd82611f82565b6122c781856122a3565b93506122d7818560208601611f9c565b6122e081611faa565b840191505092915050565b5f6122f683836122b3565b905092915050565b5f602082019050919050565b5f6123148261227a565b61231e8185612284565b93508360208202850161233085612294565b805f5b8581101561236b578484038952815161234c85826122eb565b9450612357836122fe565b925060208a01995050600181019050612333565b50829750879550505050505092915050565b5f60c0820190508181035f8301526123958189611fba565b905081810360208301526123a98188611fba565b905081810360408301526123bd8187611fba565b905081810360608301526123d18186611fba565b90506123e0608083018561217c565b81810360a08301526123f2818461230a565b9050979650505050505050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6124318161206c565b82525050565b5f6124428383612428565b60208301905092915050565b5f602082019050919050565b5f612464826123ff565b61246e8185612409565b935061247983612419565b805f5b838110156124a95781516124908882612437565b975061249b8361244e565b92505060018101905061247c565b5085935050505092915050565b5f6080820190506124c95f8301876120dd565b6124d6602083018661217c565b6124e360408301856120dd565b81810360608301526124f5818461245a565b905095945050505050565b5f6080820190506125135f8301876120dd565b61252060208301866120dd565b61252d604083018561217c565b61253a606083018461217c565b95945050505050565b5f806040838503121561255957612558611ecb565b5b5f61256685828601612058565b925050602061257785828601612058565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806125c557607f821691505b6020821081036125d8576125d7612581565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6126158261206c565b91506126208361206c565b9250828203905081811115612638576126376125de565b5b92915050565b5f6126488261206c565b91506126538361206c565b92508282026126618161206c565b91508282048414831517612678576126776125de565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6126b68261206c565b91506126c18361206c565b9250826126d1576126d061267f565b5b828204905092915050565b5f81905092915050565b7f425a5200000000000000000000000000000000000000000000000000000000005f82015250565b5f61271a6003836126dc565b9150612725826126e6565b600382019050919050565b7f352e3500000000000000000000000000000000000000000000000000000000005f82015250565b5f6127646003836126dc565b915061276f82612730565b600382019050919050565b7f4f52432d353500000000000000000000000000000000000000000000000000005f82015250565b5f6127ae6006836126dc565b91506127b98261277a565b600682019050919050565b7f6f70656e7a657070656c696e2b7265656e7472616e63790000000000000000005f82015250565b5f6127f86017836126dc565b9150612803826127c4565b601782019050919050565b5f6128188261270e565b915061282382612758565b915061282e826127a2565b9150612839826127ec565b9150819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b6128b76128b28261206c565b61289d565b82525050565b5f6128c782611f82565b6128d181856126dc565b93506128e1818560208601611f9c565b80840191505092915050565b5f8160f81b9050919050565b5f612903826128ed565b9050919050565b61291b6129168261221b565b6128f9565b82525050565b5f61292c82886128a6565b60208201915061293c82876128bd565b915061294882866128bd565b9150612954828561290a565b60018201915061296482846128a6565b6020820191508190509695505050505050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c005f82015250565b5f6129ab601f83611f8c565b91506129b682612977565b602082019050919050565b5f6020820190508181035f8301526129d88161299f565b9050919050565b5f6129e98261206c565b91506129f48361206c565b9250828201905080821115612a0c57612a0b6125de565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f612a6c602583611f8c565b9150612a7782612a12565b604082019050919050565b5f6020820190508181035f830152612a9981612a60565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612afa602583611f8c565b9150612b0582612aa0565b604082019050919050565b5f6020820190508181035f830152612b2781612aee565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612b88602383611f8c565b9150612b9382612b2e565b604082019050919050565b5f6020820190508181035f830152612bb581612b7c565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f612c16602683611f8c565b9150612c2182612bbc565b604082019050919050565b5f6020820190508181035f830152612c4381612c0a565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612ca4602483611f8c565b9150612caf82612c4a565b604082019050919050565b5f6020820190508181035f830152612cd181612c98565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612d32602283611f8c565b9150612d3d82612cd8565b604082019050919050565b5f6020820190508181035f830152612d5f81612d26565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f612d9a601d83611f8c565b9150612da582612d66565b602082019050919050565b5f6020820190508181035f830152612dc781612d8e565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f612e28602183611f8c565b9150612e3382612dce565b604082019050919050565b5f6020820190508181035f830152612e5581612e1c565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e5f8201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b5f612eb6602283611f8c565b9150612ec182612e5c565b604082019050919050565b5f6020820190508181035f830152612ee381612eaa565b905091905056fe42617a616172732028425a5229202d2054686520666972737420746f6b656e20696d706c656d656e74696e6720746865207265766f6c7574696f6e617279204f52432d3535207374616e646172643a205a65726f2d41646d696e2c20526163652d436f6e646974696f6e6c6573732c20436f6e747261637475616c6c792046696e616c2e204275696c742077697468206d696c69746172792d6772616465207365637572697479206f6e204f70656e5a657070656c696e20666f756e646174696f6e732c20666561747572696e67206465666c6174696f6e617279206d656368616e6963732c20616476616e636564207265656e7472616e63792070726f74656374696f6e2c20616e6420696d6d757461626c6520646563656e7472616c697a6174696f6e20666f722074686520667574757265206f66206469676974616c206d6f6e65792ea264697066735822122056e4522d93c58ff8566d4c6f4f9070bb8bc85e977e7ffe27ff0192a3517754b464736f6c634300081a0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000006e1ef85cce7ec4b422f6a634d7924e77b9fb37a50000000000000000000000000000000000000000002df458b38b9558b78e38e3
-----Decoded View---------------
Arg [0] : initialHolder (address): 0x6e1ef85ccE7Ec4B422F6a634D7924E77B9Fb37a5
Arg [1] : totalInitialSupply (uint256): 55555555555555555555555555
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000006e1ef85cce7ec4b422f6a634d7924e77b9fb37a5
Arg [1] : 0000000000000000000000000000000000000000002df458b38b9558b78e38e3
Deployed Bytecode Sourcemap
11823:18235:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23754:480;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2180:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17330:422;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24857:427;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;2501:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;28419:250;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;18107:216;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13491:51;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12904:39;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2400:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25512:97;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18856:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20575:178;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13617:32;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;29708:88;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;27158:204;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26821:117;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2617:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22049:1223;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;21107:261;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;29979:76;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16846:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2288:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;27755:399;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;19393:393;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2752:193;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25956:695;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;13122:44;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;28915:598;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20172:109;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2953:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13003:40;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23754:480;23897:4;23955:24;23940:39;;;:11;:39;;;;:103;;;;24011:32;23996:47;;;:11;:47;;;;23940:103;:161;;;;24075:26;24060:41;;;:11;:41;;;;23940:161;:203;;;;24133:10;24118:25;;:11;:25;;;;23940:203;:286;;;;24190:36;24214:11;24190:23;:36::i;:::-;23940:286;23920:306;;23754:480;;;:::o;2180:100::-;2234:13;2267:5;2260:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2180:100;:::o;17330:422::-;17405:4;17445:1;17426:21;;:7;:21;;;17422:56;;17456:22;;;;;;;;;;;;;;17422:56;17587:1;17577:6;:11;;:50;;;;;17626:1;17592:30;17602:10;17614:7;17592:9;:30::i;:::-;:35;;17577:50;17573:114;;;17651:24;;;;;;;;;;;;;;17573:114;17714:30;17728:7;17737:6;17714:13;:30::i;:::-;17707:37;;17330:422;;;;:::o;24857:427::-;24915:26;24952:21;24984:20;25015:16;25071:14;25050:35;;25112:13;:11;:13::i;:::-;25096:29;;25168:13;25151:14;:30;;;;:::i;:::-;25136:45;;25225:1;25203:18;:23;:73;;25258:18;25249:5;25234:12;:20;;;;:::i;:::-;25233:43;;;;:::i;:::-;25203:73;;;25229:1;25203:73;25192:84;;24857:427;;;;:::o;2501:108::-;2562:7;2589:12;;2582:19;;2501:108;:::o;28419:250::-;28500:15;28526:22;28584:16;:25;28601:7;28584:25;;;;;;;;;;;;28567:42;;28659:1;28651:10;;28633:14;:28;;28620:41;;28419:250;;;:::o;18107:216::-;18249:4;7686:21;:19;:21::i;:::-;18279:36:::1;18298:4;18304:2;18308:6;18279:18;:36::i;:::-;18272:43;;7730:20:::0;:18;:20::i;:::-;18107:216;;;;;:::o;13491:51::-;;;;;;;;;;;;;;;;;:::o;12904:39::-;;;:::o;2400:93::-;2458:5;2483:2;2476:9;;2400:93;:::o;25512:97::-;25560:7;25587:14;25580:21;;25512:97;:::o;18856:201::-;18975:4;19005:44;19029:7;19038:10;19005:23;:44::i;:::-;18998:51;;18856:201;;;;:::o;20575:178::-;20632:18;20643:6;20632:10;:18::i;:::-;20575:178;:::o;13617:32::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;29708:88::-;29750:13;29776:12;;;;;;;;;;;;;;;;;;;29708:88;:::o;27158:204::-;27221:7;27263:1;27245:14;:19;:37;;;;27281:1;27268:9;:14;27245:37;27241:51;;;27291:1;27284:8;;;;27241:51;27340:14;27327:9;27311:13;:11;:13::i;:::-;:25;;;;:::i;:::-;27310:44;;;;:::i;:::-;27303:51;;27158:204;;;;:::o;26821:117::-;26884:4;26929:1;26908:18;26918:7;26908:9;:18::i;:::-;:22;26901:29;;26821:117;;;:::o;2617:127::-;2691:7;2718:9;:18;2728:7;2718:18;;;;;;;;;;;;;;;;2711:25;;2617:127;;;:::o;22049:1223::-;22122:23;22156:27;22194:22;22227:25;22263:15;22289:24;22344:6;:4;:6::i;:::-;22332:18;;22361:21;;;;;;;;;;;;;;;;;;;22393:19;;;;;;;;;;;;;;;;;;;22423:342;;;;;;;;;;;;;;;;;;;22796:131;;;;;;;:::i;:::-;;;;;;;;;;;;;22786:142;;;;;;22776:152;;22973:1;22960:15;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22949:26;;22986:21;;;;;;;;;;;;;;;;;:8;22995:1;22986:11;;;;;;;;:::i;:::-;;;;;;;:21;;;;23018:44;;;;;;;;;;;;;;;;;:8;23027:1;23018:11;;;;;;;;:::i;:::-;;;;;;;:44;;;;23073:28;;;;;;;;;;;;;;;;;:8;23082:1;23073:11;;;;;;;;:::i;:::-;;;;;;;:28;;;;23112:22;;;;;;;;;;;;;;;;;:8;23121:1;23112:11;;;;;;;;:::i;:::-;;;;;;;:22;;;;23145:29;;;;;;;;;;;;;;;;;:8;23154:1;23145:11;;;;;;;;:::i;:::-;;;;;;;:29;;;;23185:35;;;;;;;;;;;;;;;;;:8;23194:1;23185:11;;;;;;;;:::i;:::-;;;;;;;:35;;;;23231:33;;;;;;;;;;;;;;;;;:8;23240:1;23231:11;;;;;;;;:::i;:::-;;;;;;;:33;;;;22049:1223;;;;;;:::o;21107:261::-;7686:21;:19;:21::i;:::-;21234:31:::1;21249:7;21258:6;21234:14;:31::i;:::-;7730:20:::0;:18;:20::i;:::-;21107:261;;:::o;29979:76::-;30019:4;30043;30036:11;;29979:76;:::o;16846:100::-;16898:7;16925:13;:11;:13::i;:::-;16918:20;;16846:100;:::o;2288:104::-;2344:13;2377:7;2370:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2288:104;:::o;27755:399::-;27817:22;27850:29;27890:19;27920:26;27982:13;27965:30;;28030:16;:31;28047:13;28030:31;;;;;;;;;;;;28006:55;;28086:15;:22;;;;28072:36;;28131:15;28119:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27755:399;;;;:::o;19393:393::-;19517:4;19540:24;19567:30;19577:10;19589:7;19567:9;:30::i;:::-;19540:57;;19631:15;19612:16;:34;19608:94;;;19670:20;;;;;;;;;;;;;;19608:94;19729:49;19753:7;19762:15;19729:23;:49::i;:::-;19722:56;;;19393:393;;;;:::o;2752:193::-;2831:4;2848:13;2864:12;:10;:12::i;:::-;2848:28;;2887;2897:5;2904:2;2908:6;2887:9;:28::i;:::-;2933:4;2926:11;;;2752:193;;;;:::o;25956:695::-;26018:22;26051:15;26077:22;26110:15;26161;26144:32;;26197:19;26187:29;;26285:14;26314:6;:4;:6::i;:::-;26335:8;:6;:8::i;:::-;26358:10;:8;:10::i;:::-;26383:15;26254:155;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;26244:166;;;;;;26227:183;;26512:130;;;;;;;:::i;:::-;;;;;;;;;;;;;26502:141;;;;;;26492:151;;25956:695;;;;:::o;13122:44::-;;;:::o;28915:598::-;28977:13;29018:1;29007:7;:12;29003:35;;29021:17;;;;;;;;;;;;;;;;;;;;;29003:35;29064:2;29053:7;:13;29049:37;;29068:18;;;;;;;;;;;;;;;;;;;;;29049:37;29112:3;29101:7;:14;29097:36;;29117:16;;;;;;;;;;;;;;;;;;;;;29097:36;29159:4;29148:7;:15;29144:36;;29165:15;;;;;;;;;;;;;;;;;;;;;29144:36;29206:4;29195:7;:15;29191:34;;29212:13;;;;;;;;;;;;;;;;;;;;;29191:34;29251:5;29240:7;:16;29236:39;;29258:17;;;;;;;;;;;;;;;;;;;;;29236:39;29301:2;29290:7;:13;29286:36;;29305:17;;;;;;;;;;;;;;;;;;;;;29286:36;29348:5;29337:7;:16;29333:40;;29355:18;;;;;;;;;;;;;;;;;;;;;29333:40;29399:3;29388:7;:14;29384:39;;29404:19;;;;;;;;;;;;;;;;;;;;;29384:39;29449:2;29438:7;:13;29434:34;;29453:15;;;;;;;;;;;;;;;;;;;;;29434:34;29479:26;;;;;;;;;;;;;;;;;;;28915:598;;;;:::o;20172:109::-;20216:7;20260:13;:11;:13::i;:::-;20243:14;:30;;;;:::i;:::-;20236:37;;20172:109;:::o;2953:151::-;3042:7;3069:11;:18;3081:5;3069:18;;;;;;;;;;;;;;;:27;3088:7;3069:27;;;;;;;;;;;;;;;;3062:34;;2953:151;;;;:::o;13003:40::-;;;:::o;8413:157::-;8498:4;8537:25;8522:40;;;:11;:40;;;;8515:47;;8413:157;;;:::o;3112:201::-;3195:4;3212:13;3228:12;:10;:12::i;:::-;3212:28;;3251:32;3260:5;3267:7;3276:6;3251:8;:32::i;:::-;3301:4;3294:11;;;3112:201;;;;:::o;7766:150::-;7548:1;7824:7;;:19;7816:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;7548:1;7890:7;:18;;;;7766:150::o;3321:261::-;3418:4;3435:15;3453:12;:10;:12::i;:::-;3435:30;;3476:38;3492:4;3498:7;3507:6;3476:15;:38::i;:::-;3525:27;3535:4;3541:2;3545:6;3525:9;:27::i;:::-;3570:4;3563:11;;;3321:261;;;;;:::o;7924:79::-;7504:1;7973:7;:22;;;;7924:79::o;3590:238::-;3678:4;3695:13;3711:12;:10;:12::i;:::-;3695:28;;3734:64;3743:5;3750:7;3787:10;3759:25;3769:5;3776:7;3759:9;:25::i;:::-;:38;;;;:::i;:::-;3734:8;:64::i;:::-;3816:4;3809:11;;;3590:238;;;;:::o;7073:91::-;7129:27;7135:12;:10;:12::i;:::-;7149:6;7129:5;:27::i;:::-;7073:91;:::o;7172:164::-;7249:46;7265:7;7274:12;:10;:12::i;:::-;7288:6;7249:15;:46::i;:::-;7306:22;7312:7;7321:6;7306:5;:22::i;:::-;7172:164;;:::o;3836:434::-;3929:4;3946:13;3962:12;:10;:12::i;:::-;3946:28;;3985:24;4012:25;4022:5;4029:7;4012:9;:25::i;:::-;3985:52;;4076:15;4056:16;:35;;4048:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;4169:60;4178:5;4185:7;4213:15;4194:16;:34;4169:8;:60::i;:::-;4258:4;4251:11;;;;3836:434;;;;:::o;459:98::-;512:7;539:10;532:17;;459:98;:::o;4278:633::-;4391:1;4375:18;;:4;:18;;;4367:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;4468:1;4454:16;;:2;:16;;;4446:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;4521:38;4542:4;4548:2;4552:6;4521:20;:38::i;:::-;4570:19;4592:9;:15;4602:4;4592:15;;;;;;;;;;;;;;;;4570:37;;4641:6;4626:11;:21;;4618:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;4758:6;4744:11;:20;4726:9;:15;4736:4;4726:15;;;;;;;;;;;;;;;:38;;;;4796:6;4779:9;:13;4789:2;4779:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;4844:2;4829:26;;4838:4;4829:26;;;4848:6;4829:26;;;;;;:::i;:::-;;;;;;;;4866:37;4886:4;4892:2;4896:6;4866:19;:37::i;:::-;4356:555;4278:633;;;:::o;5951:344::-;6070:1;6053:19;;:5;:19;;;6045:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6151:1;6132:21;;:7;:21;;;6124:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6233:6;6203:11;:18;6215:5;6203:18;;;;;;;;;;;;;;;:27;6222:7;6203:27;;;;;;;;;;;;;;;:36;;;;6271:7;6255:32;;6264:5;6255:32;;;6280:6;6255:32;;;;;;:::i;:::-;;;;;;;;5951:344;;;:::o;6303:419::-;6404:24;6431:25;6441:5;6448:7;6431:9;:25::i;:::-;6404:52;;6491:17;6471:16;:37;6467:248;;6553:6;6533:16;:26;;6525:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6637:51;6646:5;6653:7;6681:6;6662:16;:25;6637:8;:51::i;:::-;6467:248;6393:329;6303:419;;;:::o;5356:587::-;5459:1;5440:21;;:7;:21;;;5432:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5510:49;5531:7;5548:1;5552:6;5510:20;:49::i;:::-;5570:22;5595:9;:18;5605:7;5595:18;;;;;;;;;;;;;;;;5570:43;;5650:6;5632:14;:24;;5624:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;5769:6;5752:14;:23;5731:9;:18;5741:7;5731:18;;;;;;;;;;;;;;;:44;;;;5806:6;5790:12;;:22;;;;;;;;;;;5865:1;5839:37;;5848:7;5839:37;;;5869:6;5839:37;;;;;;:::i;:::-;;;;;;;;5887:48;5907:7;5924:1;5928:6;5887:19;:48::i;:::-;5421:522;5356:587;;:::o;6730:91::-;;;;:::o;6827:90::-;;;;:::o;88:117:1:-;197:1;194;187:12;334:149;370:7;410:66;403:5;399:78;388:89;;334:149;;;:::o;489:120::-;561:23;578:5;561:23;:::i;:::-;554:5;551:34;541:62;;599:1;596;589:12;541:62;489:120;:::o;615:137::-;660:5;698:6;685:20;676:29;;714:32;740:5;714:32;:::i;:::-;615:137;;;;:::o;758:327::-;816:6;865:2;853:9;844:7;840:23;836:32;833:119;;;871:79;;:::i;:::-;833:119;991:1;1016:52;1060:7;1051:6;1040:9;1036:22;1016:52;:::i;:::-;1006:62;;962:116;758:327;;;;:::o;1091:90::-;1125:7;1168:5;1161:13;1154:21;1143:32;;1091:90;;;:::o;1187:109::-;1268:21;1283:5;1268:21;:::i;:::-;1263:3;1256:34;1187:109;;:::o;1302:210::-;1389:4;1427:2;1416:9;1412:18;1404:26;;1440:65;1502:1;1491:9;1487:17;1478:6;1440:65;:::i;:::-;1302:210;;;;:::o;1518:99::-;1570:6;1604:5;1598:12;1588:22;;1518:99;;;:::o;1623:169::-;1707:11;1741:6;1736:3;1729:19;1781:4;1776:3;1772:14;1757:29;;1623:169;;;;:::o;1798:139::-;1887:6;1882:3;1877;1871:23;1928:1;1919:6;1914:3;1910:16;1903:27;1798:139;;;:::o;1943:102::-;1984:6;2035:2;2031:7;2026:2;2019:5;2015:14;2011:28;2001:38;;1943:102;;;:::o;2051:377::-;2139:3;2167:39;2200:5;2167:39;:::i;:::-;2222:71;2286:6;2281:3;2222:71;:::i;:::-;2215:78;;2302:65;2360:6;2355:3;2348:4;2341:5;2337:16;2302:65;:::i;:::-;2392:29;2414:6;2392:29;:::i;:::-;2387:3;2383:39;2376:46;;2143:285;2051:377;;;;:::o;2434:313::-;2547:4;2585:2;2574:9;2570:18;2562:26;;2634:9;2628:4;2624:20;2620:1;2609:9;2605:17;2598:47;2662:78;2735:4;2726:6;2662:78;:::i;:::-;2654:86;;2434:313;;;;:::o;2753:126::-;2790:7;2830:42;2823:5;2819:54;2808:65;;2753:126;;;:::o;2885:96::-;2922:7;2951:24;2969:5;2951:24;:::i;:::-;2940:35;;2885:96;;;:::o;2987:122::-;3060:24;3078:5;3060:24;:::i;:::-;3053:5;3050:35;3040:63;;3099:1;3096;3089:12;3040:63;2987:122;:::o;3115:139::-;3161:5;3199:6;3186:20;3177:29;;3215:33;3242:5;3215:33;:::i;:::-;3115:139;;;;:::o;3260:77::-;3297:7;3326:5;3315:16;;3260:77;;;:::o;3343:122::-;3416:24;3434:5;3416:24;:::i;:::-;3409:5;3406:35;3396:63;;3455:1;3452;3445:12;3396:63;3343:122;:::o;3471:139::-;3517:5;3555:6;3542:20;3533:29;;3571:33;3598:5;3571:33;:::i;:::-;3471:139;;;;:::o;3616:474::-;3684:6;3692;3741:2;3729:9;3720:7;3716:23;3712:32;3709:119;;;3747:79;;:::i;:::-;3709:119;3867:1;3892:53;3937:7;3928:6;3917:9;3913:22;3892:53;:::i;:::-;3882:63;;3838:117;3994:2;4020:53;4065:7;4056:6;4045:9;4041:22;4020:53;:::i;:::-;4010:63;;3965:118;3616:474;;;;;:::o;4096:118::-;4183:24;4201:5;4183:24;:::i;:::-;4178:3;4171:37;4096:118;;:::o;4220:553::-;4397:4;4435:3;4424:9;4420:19;4412:27;;4449:71;4517:1;4506:9;4502:17;4493:6;4449:71;:::i;:::-;4530:72;4598:2;4587:9;4583:18;4574:6;4530:72;:::i;:::-;4612;4680:2;4669:9;4665:18;4656:6;4612:72;:::i;:::-;4694;4762:2;4751:9;4747:18;4738:6;4694:72;:::i;:::-;4220:553;;;;;;;:::o;4779:222::-;4872:4;4910:2;4899:9;4895:18;4887:26;;4923:71;4991:1;4980:9;4976:17;4967:6;4923:71;:::i;:::-;4779:222;;;;:::o;5007:329::-;5066:6;5115:2;5103:9;5094:7;5090:23;5086:32;5083:119;;;5121:79;;:::i;:::-;5083:119;5241:1;5266:53;5311:7;5302:6;5291:9;5287:22;5266:53;:::i;:::-;5256:63;;5212:117;5007:329;;;;:::o;5342:77::-;5379:7;5408:5;5397:16;;5342:77;;;:::o;5425:118::-;5512:24;5530:5;5512:24;:::i;:::-;5507:3;5500:37;5425:118;;:::o;5549:320::-;5664:4;5702:2;5691:9;5687:18;5679:26;;5715:65;5777:1;5766:9;5762:17;5753:6;5715:65;:::i;:::-;5790:72;5858:2;5847:9;5843:18;5834:6;5790:72;:::i;:::-;5549:320;;;;;:::o;5875:619::-;5952:6;5960;5968;6017:2;6005:9;5996:7;5992:23;5988:32;5985:119;;;6023:79;;:::i;:::-;5985:119;6143:1;6168:53;6213:7;6204:6;6193:9;6189:22;6168:53;:::i;:::-;6158:63;;6114:117;6270:2;6296:53;6341:7;6332:6;6321:9;6317:22;6296:53;:::i;:::-;6286:63;;6241:118;6398:2;6424:53;6469:7;6460:6;6449:9;6445:22;6424:53;:::i;:::-;6414:63;;6369:118;5875:619;;;;;:::o;6500:222::-;6593:4;6631:2;6620:9;6616:18;6608:26;;6644:71;6712:1;6701:9;6697:17;6688:6;6644:71;:::i;:::-;6500:222;;;;:::o;6728:86::-;6763:7;6803:4;6796:5;6792:16;6781:27;;6728:86;;;:::o;6820:112::-;6903:22;6919:5;6903:22;:::i;:::-;6898:3;6891:35;6820:112;;:::o;6938:214::-;7027:4;7065:2;7054:9;7050:18;7042:26;;7078:67;7142:1;7131:9;7127:17;7118:6;7078:67;:::i;:::-;6938:214;;;;:::o;7158:329::-;7217:6;7266:2;7254:9;7245:7;7241:23;7237:32;7234:119;;;7272:79;;:::i;:::-;7234:119;7392:1;7417:53;7462:7;7453:6;7442:9;7438:22;7417:53;:::i;:::-;7407:63;;7363:117;7158:329;;;;:::o;7493:124::-;7570:6;7604:5;7598:12;7588:22;;7493:124;;;:::o;7623:194::-;7732:11;7766:6;7761:3;7754:19;7806:4;7801:3;7797:14;7782:29;;7623:194;;;;:::o;7823:142::-;7900:4;7923:3;7915:11;;7953:4;7948:3;7944:14;7936:22;;7823:142;;;:::o;7971:159::-;8045:11;8079:6;8074:3;8067:19;8119:4;8114:3;8110:14;8095:29;;7971:159;;;;:::o;8136:357::-;8214:3;8242:39;8275:5;8242:39;:::i;:::-;8297:61;8351:6;8346:3;8297:61;:::i;:::-;8290:68;;8367:65;8425:6;8420:3;8413:4;8406:5;8402:16;8367:65;:::i;:::-;8457:29;8479:6;8457:29;:::i;:::-;8452:3;8448:39;8441:46;;8218:275;8136:357;;;;:::o;8499:196::-;8588:10;8623:66;8685:3;8677:6;8623:66;:::i;:::-;8609:80;;8499:196;;;;:::o;8701:123::-;8781:4;8813;8808:3;8804:14;8796:22;;8701:123;;;:::o;8858:991::-;8997:3;9026:64;9084:5;9026:64;:::i;:::-;9106:96;9195:6;9190:3;9106:96;:::i;:::-;9099:103;;9228:3;9273:4;9265:6;9261:17;9256:3;9252:27;9303:66;9363:5;9303:66;:::i;:::-;9392:7;9423:1;9408:396;9433:6;9430:1;9427:13;9408:396;;;9504:9;9498:4;9494:20;9489:3;9482:33;9555:6;9549:13;9583:84;9662:4;9647:13;9583:84;:::i;:::-;9575:92;;9690:70;9753:6;9690:70;:::i;:::-;9680:80;;9789:4;9784:3;9780:14;9773:21;;9468:336;9455:1;9452;9448:9;9443:14;;9408:396;;;9412:14;9820:4;9813:11;;9840:3;9833:10;;9002:847;;;;;8858:991;;;;:::o;9855:1330::-;10238:4;10276:3;10265:9;10261:19;10253:27;;10326:9;10320:4;10316:20;10312:1;10301:9;10297:17;10290:47;10354:78;10427:4;10418:6;10354:78;:::i;:::-;10346:86;;10479:9;10473:4;10469:20;10464:2;10453:9;10449:18;10442:48;10507:78;10580:4;10571:6;10507:78;:::i;:::-;10499:86;;10632:9;10626:4;10622:20;10617:2;10606:9;10602:18;10595:48;10660:78;10733:4;10724:6;10660:78;:::i;:::-;10652:86;;10785:9;10779:4;10775:20;10770:2;10759:9;10755:18;10748:48;10813:78;10886:4;10877:6;10813:78;:::i;:::-;10805:86;;10901:73;10969:3;10958:9;10954:19;10945:6;10901:73;:::i;:::-;11022:9;11016:4;11012:20;11006:3;10995:9;10991:19;10984:49;11050:128;11173:4;11164:6;11050:128;:::i;:::-;11042:136;;9855:1330;;;;;;;;;:::o;11191:114::-;11258:6;11292:5;11286:12;11276:22;;11191:114;;;:::o;11311:184::-;11410:11;11444:6;11439:3;11432:19;11484:4;11479:3;11475:14;11460:29;;11311:184;;;;:::o;11501:132::-;11568:4;11591:3;11583:11;;11621:4;11616:3;11612:14;11604:22;;11501:132;;;:::o;11639:108::-;11716:24;11734:5;11716:24;:::i;:::-;11711:3;11704:37;11639:108;;:::o;11753:179::-;11822:10;11843:46;11885:3;11877:6;11843:46;:::i;:::-;11921:4;11916:3;11912:14;11898:28;;11753:179;;;;:::o;11938:113::-;12008:4;12040;12035:3;12031:14;12023:22;;11938:113;;;:::o;12087:732::-;12206:3;12235:54;12283:5;12235:54;:::i;:::-;12305:86;12384:6;12379:3;12305:86;:::i;:::-;12298:93;;12415:56;12465:5;12415:56;:::i;:::-;12494:7;12525:1;12510:284;12535:6;12532:1;12529:13;12510:284;;;12611:6;12605:13;12638:63;12697:3;12682:13;12638:63;:::i;:::-;12631:70;;12724:60;12777:6;12724:60;:::i;:::-;12714:70;;12570:224;12557:1;12554;12550:9;12545:14;;12510:284;;;12514:14;12810:3;12803:10;;12211:608;;;12087:732;;;;:::o;12825:704::-;13052:4;13090:3;13079:9;13075:19;13067:27;;13104:71;13172:1;13161:9;13157:17;13148:6;13104:71;:::i;:::-;13185:72;13253:2;13242:9;13238:18;13229:6;13185:72;:::i;:::-;13267;13335:2;13324:9;13320:18;13311:6;13267:72;:::i;:::-;13386:9;13380:4;13376:20;13371:2;13360:9;13356:18;13349:48;13414:108;13517:4;13508:6;13414:108;:::i;:::-;13406:116;;12825:704;;;;;;;:::o;13535:553::-;13712:4;13750:3;13739:9;13735:19;13727:27;;13764:71;13832:1;13821:9;13817:17;13808:6;13764:71;:::i;:::-;13845:72;13913:2;13902:9;13898:18;13889:6;13845:72;:::i;:::-;13927;13995:2;13984:9;13980:18;13971:6;13927:72;:::i;:::-;14009;14077:2;14066:9;14062:18;14053:6;14009:72;:::i;:::-;13535:553;;;;;;;:::o;14094:474::-;14162:6;14170;14219:2;14207:9;14198:7;14194:23;14190:32;14187:119;;;14225:79;;:::i;:::-;14187:119;14345:1;14370:53;14415:7;14406:6;14395:9;14391:22;14370:53;:::i;:::-;14360:63;;14316:117;14472:2;14498:53;14543:7;14534:6;14523:9;14519:22;14498:53;:::i;:::-;14488:63;;14443:118;14094:474;;;;;:::o;14574:180::-;14622:77;14619:1;14612:88;14719:4;14716:1;14709:15;14743:4;14740:1;14733:15;14760:320;14804:6;14841:1;14835:4;14831:12;14821:22;;14888:1;14882:4;14878:12;14909:18;14899:81;;14965:4;14957:6;14953:17;14943:27;;14899:81;15027:2;15019:6;15016:14;14996:18;14993:38;14990:84;;15046:18;;:::i;:::-;14990:84;14811:269;14760:320;;;:::o;15086:180::-;15134:77;15131:1;15124:88;15231:4;15228:1;15221:15;15255:4;15252:1;15245:15;15272:194;15312:4;15332:20;15350:1;15332:20;:::i;:::-;15327:25;;15366:20;15384:1;15366:20;:::i;:::-;15361:25;;15410:1;15407;15403:9;15395:17;;15434:1;15428:4;15425:11;15422:37;;;15439:18;;:::i;:::-;15422:37;15272:194;;;;:::o;15472:410::-;15512:7;15535:20;15553:1;15535:20;:::i;:::-;15530:25;;15569:20;15587:1;15569:20;:::i;:::-;15564:25;;15624:1;15621;15617:9;15646:30;15664:11;15646:30;:::i;:::-;15635:41;;15825:1;15816:7;15812:15;15809:1;15806:22;15786:1;15779:9;15759:83;15736:139;;15855:18;;:::i;:::-;15736:139;15520:362;15472:410;;;;:::o;15888:180::-;15936:77;15933:1;15926:88;16033:4;16030:1;16023:15;16057:4;16054:1;16047:15;16074:185;16114:1;16131:20;16149:1;16131:20;:::i;:::-;16126:25;;16165:20;16183:1;16165:20;:::i;:::-;16160:25;;16204:1;16194:35;;16209:18;;:::i;:::-;16194:35;16251:1;16248;16244:9;16239:14;;16074:185;;;;:::o;16265:148::-;16367:11;16404:3;16389:18;;16265:148;;;;:::o;16419:153::-;16559:5;16555:1;16547:6;16543:14;16536:29;16419:153;:::o;16578:400::-;16738:3;16759:84;16841:1;16836:3;16759:84;:::i;:::-;16752:91;;16852:93;16941:3;16852:93;:::i;:::-;16970:1;16965:3;16961:11;16954:18;;16578:400;;;:::o;16984:153::-;17124:5;17120:1;17112:6;17108:14;17101:29;16984:153;:::o;17143:400::-;17303:3;17324:84;17406:1;17401:3;17324:84;:::i;:::-;17317:91;;17417:93;17506:3;17417:93;:::i;:::-;17535:1;17530:3;17526:11;17519:18;;17143:400;;;:::o;17549:156::-;17689:8;17685:1;17677:6;17673:14;17666:32;17549:156;:::o;17711:400::-;17871:3;17892:84;17974:1;17969:3;17892:84;:::i;:::-;17885:91;;17985:93;18074:3;17985:93;:::i;:::-;18103:1;18098:3;18094:11;18087:18;;17711:400;;;:::o;18117:173::-;18257:25;18253:1;18245:6;18241:14;18234:49;18117:173;:::o;18296:402::-;18456:3;18477:85;18559:2;18554:3;18477:85;:::i;:::-;18470:92;;18571:93;18660:3;18571:93;:::i;:::-;18689:2;18684:3;18680:12;18673:19;;18296:402;;;:::o;18704:1179::-;19192:3;19214:148;19358:3;19214:148;:::i;:::-;19207:155;;19379:148;19523:3;19379:148;:::i;:::-;19372:155;;19544:148;19688:3;19544:148;:::i;:::-;19537:155;;19709:148;19853:3;19709:148;:::i;:::-;19702:155;;19874:3;19867:10;;18704:1179;;;:::o;19889:180::-;19937:77;19934:1;19927:88;20034:4;20031:1;20024:15;20058:4;20055:1;20048:15;20075:180;20123:77;20120:1;20113:88;20220:4;20217:1;20210:15;20244:4;20241:1;20234:15;20261:79;20300:7;20329:5;20318:16;;20261:79;;;:::o;20346:157::-;20451:45;20471:24;20489:5;20471:24;:::i;:::-;20451:45;:::i;:::-;20446:3;20439:58;20346:157;;:::o;20509:390::-;20615:3;20643:39;20676:5;20643:39;:::i;:::-;20698:89;20780:6;20775:3;20698:89;:::i;:::-;20691:96;;20796:65;20854:6;20849:3;20842:4;20835:5;20831:16;20796:65;:::i;:::-;20886:6;20881:3;20877:16;20870:23;;20619:280;20509:390;;;;:::o;20905:96::-;20939:8;20988:5;20983:3;20979:15;20958:36;;20905:96;;;:::o;21007:93::-;21044:7;21073:21;21088:5;21073:21;:::i;:::-;21062:32;;21007:93;;;:::o;21106:149::-;21207:41;21225:22;21241:5;21225:22;:::i;:::-;21207:41;:::i;:::-;21202:3;21195:54;21106:149;;:::o;21261:849::-;21521:3;21536:75;21607:3;21598:6;21536:75;:::i;:::-;21636:2;21631:3;21627:12;21620:19;;21656:95;21747:3;21738:6;21656:95;:::i;:::-;21649:102;;21768:95;21859:3;21850:6;21768:95;:::i;:::-;21761:102;;21873:71;21940:3;21931:6;21873:71;:::i;:::-;21969:1;21964:3;21960:11;21953:18;;21981:75;22052:3;22043:6;21981:75;:::i;:::-;22081:2;22076:3;22072:12;22065:19;;22101:3;22094:10;;21261:849;;;;;;;;:::o;22116:181::-;22256:33;22252:1;22244:6;22240:14;22233:57;22116:181;:::o;22303:366::-;22445:3;22466:67;22530:2;22525:3;22466:67;:::i;:::-;22459:74;;22542:93;22631:3;22542:93;:::i;:::-;22660:2;22655:3;22651:12;22644:19;;22303:366;;;:::o;22675:419::-;22841:4;22879:2;22868:9;22864:18;22856:26;;22928:9;22922:4;22918:20;22914:1;22903:9;22899:17;22892:47;22956:131;23082:4;22956:131;:::i;:::-;22948:139;;22675:419;;;:::o;23100:191::-;23140:3;23159:20;23177:1;23159:20;:::i;:::-;23154:25;;23193:20;23211:1;23193:20;:::i;:::-;23188:25;;23236:1;23233;23229:9;23222:16;;23257:3;23254:1;23251:10;23248:36;;;23264:18;;:::i;:::-;23248:36;23100:191;;;;:::o;23297:224::-;23437:34;23433:1;23425:6;23421:14;23414:58;23506:7;23501:2;23493:6;23489:15;23482:32;23297:224;:::o;23527:366::-;23669:3;23690:67;23754:2;23749:3;23690:67;:::i;:::-;23683:74;;23766:93;23855:3;23766:93;:::i;:::-;23884:2;23879:3;23875:12;23868:19;;23527:366;;;:::o;23899:419::-;24065:4;24103:2;24092:9;24088:18;24080:26;;24152:9;24146:4;24142:20;24138:1;24127:9;24123:17;24116:47;24180:131;24306:4;24180:131;:::i;:::-;24172:139;;23899:419;;;:::o;24324:224::-;24464:34;24460:1;24452:6;24448:14;24441:58;24533:7;24528:2;24520:6;24516:15;24509:32;24324:224;:::o;24554:366::-;24696:3;24717:67;24781:2;24776:3;24717:67;:::i;:::-;24710:74;;24793:93;24882:3;24793:93;:::i;:::-;24911:2;24906:3;24902:12;24895:19;;24554:366;;;:::o;24926:419::-;25092:4;25130:2;25119:9;25115:18;25107:26;;25179:9;25173:4;25169:20;25165:1;25154:9;25150:17;25143:47;25207:131;25333:4;25207:131;:::i;:::-;25199:139;;24926:419;;;:::o;25351:222::-;25491:34;25487:1;25479:6;25475:14;25468:58;25560:5;25555:2;25547:6;25543:15;25536:30;25351:222;:::o;25579:366::-;25721:3;25742:67;25806:2;25801:3;25742:67;:::i;:::-;25735:74;;25818:93;25907:3;25818:93;:::i;:::-;25936:2;25931:3;25927:12;25920:19;;25579:366;;;:::o;25951:419::-;26117:4;26155:2;26144:9;26140:18;26132:26;;26204:9;26198:4;26194:20;26190:1;26179:9;26175:17;26168:47;26232:131;26358:4;26232:131;:::i;:::-;26224:139;;25951:419;;;:::o;26376:225::-;26516:34;26512:1;26504:6;26500:14;26493:58;26585:8;26580:2;26572:6;26568:15;26561:33;26376:225;:::o;26607:366::-;26749:3;26770:67;26834:2;26829:3;26770:67;:::i;:::-;26763:74;;26846:93;26935:3;26846:93;:::i;:::-;26964:2;26959:3;26955:12;26948:19;;26607:366;;;:::o;26979:419::-;27145:4;27183:2;27172:9;27168:18;27160:26;;27232:9;27226:4;27222:20;27218:1;27207:9;27203:17;27196:47;27260:131;27386:4;27260:131;:::i;:::-;27252:139;;26979:419;;;:::o;27404:223::-;27544:34;27540:1;27532:6;27528:14;27521:58;27613:6;27608:2;27600:6;27596:15;27589:31;27404:223;:::o;27633:366::-;27775:3;27796:67;27860:2;27855:3;27796:67;:::i;:::-;27789:74;;27872:93;27961:3;27872:93;:::i;:::-;27990:2;27985:3;27981:12;27974:19;;27633:366;;;:::o;28005:419::-;28171:4;28209:2;28198:9;28194:18;28186:26;;28258:9;28252:4;28248:20;28244:1;28233:9;28229:17;28222:47;28286:131;28412:4;28286:131;:::i;:::-;28278:139;;28005:419;;;:::o;28430:221::-;28570:34;28566:1;28558:6;28554:14;28547:58;28639:4;28634:2;28626:6;28622:15;28615:29;28430:221;:::o;28657:366::-;28799:3;28820:67;28884:2;28879:3;28820:67;:::i;:::-;28813:74;;28896:93;28985:3;28896:93;:::i;:::-;29014:2;29009:3;29005:12;28998:19;;28657:366;;;:::o;29029:419::-;29195:4;29233:2;29222:9;29218:18;29210:26;;29282:9;29276:4;29272:20;29268:1;29257:9;29253:17;29246:47;29310:131;29436:4;29310:131;:::i;:::-;29302:139;;29029:419;;;:::o;29454:179::-;29594:31;29590:1;29582:6;29578:14;29571:55;29454:179;:::o;29639:366::-;29781:3;29802:67;29866:2;29861:3;29802:67;:::i;:::-;29795:74;;29878:93;29967:3;29878:93;:::i;:::-;29996:2;29991:3;29987:12;29980:19;;29639:366;;;:::o;30011:419::-;30177:4;30215:2;30204:9;30200:18;30192:26;;30264:9;30258:4;30254:20;30250:1;30239:9;30235:17;30228:47;30292:131;30418:4;30292:131;:::i;:::-;30284:139;;30011:419;;;:::o;30436:220::-;30576:34;30572:1;30564:6;30560:14;30553:58;30645:3;30640:2;30632:6;30628:15;30621:28;30436:220;:::o;30662:366::-;30804:3;30825:67;30889:2;30884:3;30825:67;:::i;:::-;30818:74;;30901:93;30990:3;30901:93;:::i;:::-;31019:2;31014:3;31010:12;31003:19;;30662:366;;;:::o;31034:419::-;31200:4;31238:2;31227:9;31223:18;31215:26;;31287:9;31281:4;31277:20;31273:1;31262:9;31258:17;31251:47;31315:131;31441:4;31315:131;:::i;:::-;31307:139;;31034:419;;;:::o;31459:221::-;31599:34;31595:1;31587:6;31583:14;31576:58;31668:4;31663:2;31655:6;31651:15;31644:29;31459:221;:::o;31686:366::-;31828:3;31849:67;31913:2;31908:3;31849:67;:::i;:::-;31842:74;;31925:93;32014:3;31925:93;:::i;:::-;32043:2;32038:3;32034:12;32027:19;;31686:366;;;:::o;32058:419::-;32224:4;32262:2;32251:9;32247:18;32239:26;;32311:9;32305:4;32301:20;32297:1;32286:9;32282:17;32275:47;32339:131;32465:4;32339:131;:::i;:::-;32331:139;;32058:419;;;:::o
Swarm Source
ipfs://56e4522d93c58ff8566d4c6f4f9070bb8bc85e977e7ffe27ff0192a3517754b4
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.
Add Token to MetaMask (Web3)