Source Code
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 93 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Approve | 23491756 | 154 days ago | IN | 0 ETH | 0.00002737 | ||||
| Approve | 22719103 | 262 days ago | IN | 0 ETH | 0.00025233 | ||||
| Approve | 22628719 | 275 days ago | IN | 0 ETH | 0.00003683 | ||||
| Approve | 22626326 | 275 days ago | IN | 0 ETH | 0.00015704 | ||||
| Approve | 22590587 | 280 days ago | IN | 0 ETH | 0.00021389 | ||||
| Approve | 22540966 | 287 days ago | IN | 0 ETH | 0.00015733 | ||||
| Approve | 22511069 | 291 days ago | IN | 0 ETH | 0.00009662 | ||||
| Approve | 22503382 | 293 days ago | IN | 0 ETH | 0.00009099 | ||||
| Approve | 22478979 | 296 days ago | IN | 0 ETH | 0.00013603 | ||||
| Approve | 22472704 | 297 days ago | IN | 0 ETH | 0.00015891 | ||||
| Approve | 22472518 | 297 days ago | IN | 0 ETH | 0.0000841 | ||||
| Approve | 22469431 | 297 days ago | IN | 0 ETH | 0.00017731 | ||||
| Approve | 22469344 | 297 days ago | IN | 0 ETH | 0.00021832 | ||||
| Approve | 22467423 | 298 days ago | IN | 0 ETH | 0.00028927 | ||||
| Approve | 22467398 | 298 days ago | IN | 0 ETH | 0.00028993 | ||||
| Approve | 22466335 | 298 days ago | IN | 0 ETH | 0.00043185 | ||||
| Approve | 22466334 | 298 days ago | IN | 0 ETH | 0.00040205 | ||||
| Approve | 22466166 | 298 days ago | IN | 0 ETH | 0.00036661 | ||||
| Approve | 22466157 | 298 days ago | IN | 0 ETH | 0.00033243 | ||||
| Approve | 22466072 | 298 days ago | IN | 0 ETH | 0.00028848 | ||||
| Approve | 22457098 | 299 days ago | IN | 0 ETH | 0.00017676 | ||||
| Approve | 22456719 | 299 days ago | IN | 0 ETH | 0.00016649 | ||||
| Approve | 22452101 | 300 days ago | IN | 0 ETH | 0.00034971 | ||||
| Approve | 22447271 | 300 days ago | IN | 0 ETH | 0.00022406 | ||||
| Transfer | 22446512 | 301 days ago | IN | 0 ETH | 0.00064743 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
DappDegens
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2025-04-30
*/
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
/**
* @title DappDegens Token (DGN)
*
* 📌 Social Media:
* ────────────────────────────────────────────
* 🌐 Website: https://DappDegens.com
* 📢 Telegram: https://t.me/DappDegens
* Ⅹ Twitter/X: https://twitter.com/DappDegens
* ────────────────────────────────────────────
*
* 🚀 Built by Degens, for Degens.
*/
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes calldata) {
return msg.data;
}
function _contextSuffixLength() internal view virtual returns (uint256) {
return 0;
}
}
abstract contract Ownable is Context {
address private _owner;
error OwnableUnauthorizedAccount(address account);
error OwnableInvalidOwner(address owner);
event OwnershipTransferred(
address indexed previousOwner,
address indexed newOwner
);
constructor(address initialOwner) {
if (initialOwner == address(0)) {
revert OwnableInvalidOwner(address(0));
}
_transferOwnership(initialOwner);
}
modifier onlyOwner() {
_checkOwner();
_;
}
function owner() public view virtual returns (address) {
return _owner;
}
function _checkOwner() internal view virtual {
if (owner() != _msgSender()) {
revert OwnableUnauthorizedAccount(_msgSender());
}
}
function renounceOwnership() public virtual onlyOwner {
_transferOwnership(address(0));
}
function transferOwnership(address newOwner) public virtual onlyOwner {
if (newOwner == address(0)) {
revert OwnableInvalidOwner(address(0));
}
_transferOwnership(newOwner);
}
function _transferOwnership(address newOwner) internal virtual {
address oldOwner = _owner;
_owner = newOwner;
emit OwnershipTransferred(oldOwner, newOwner);
}
}
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 value) external returns (bool);
function allowance(
address owner,
address spender
) external view returns (uint256);
function approve(address spender, uint256 value) external returns (bool);
function transferFrom(
address from,
address to,
uint256 value
) external returns (bool);
}
interface IERC20Metadata is IERC20 {
function name() external view returns (string memory);
function symbol() external view returns (string memory);
function decimals() external view returns (uint8);
}
interface IERC20Errors {
error ERC20InsufficientBalance(
address sender,
uint256 balance,
uint256 needed
);
error ERC20InvalidSender(address sender);
error ERC20InvalidReceiver(address receiver);
error ERC20InsufficientAllowance(
address spender,
uint256 allowance,
uint256 needed
);
error ERC20InvalidApprover(address approver);
error ERC20InvalidSpender(address spender);
}
interface IUniswapV2Router02 {
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidityETH(
address token,
uint amountTokenDesired,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
)
external
payable
returns (uint amountToken, uint amountETH, uint liquidity);
}
contract DappDegens is Ownable, IERC20, IERC20Metadata, IERC20Errors {
error AlreadyItIs();
error AmountZero();
mapping(address => bool) private _isExcludedFromFee;
mapping(address => bool) private _isLiquidityPool;
TaxCollector private taxDetails;
struct TaxCollector {
uint256 buyTax;
uint256 sellTax;
address payable collector;
}
mapping(address account => uint256) private _balances;
mapping(address account => mapping(address spender => uint256))
private _allowances;
uint256 private _totalSupply;
uint256 private _taxSwapThreshold = 0;
string private _name = unicode"DAPP DEGENS";
string private _symbol = unicode"DGN";
bool private swapping;
bool private inSwap = false;
bool private swapEnabled = true;
bool public tradingOpen = false;
IUniswapV2Router02 private uniswapV2Router;
modifier lockTheSwap() {
inSwap = true;
_;
inSwap = false;
}
constructor() Ownable(msg.sender) {
_totalSupply = 100000000000000 * 10 ** 18;
_balances[msg.sender] = _totalSupply;
emit Transfer(address(0), msg.sender, _totalSupply);
_isExcludedFromFee[msg.sender] = true;
_isExcludedFromFee[address(this)] = true;
}
function name() public view virtual returns (string memory) {
return _name;
}
function symbol() public view virtual returns (string memory) {
return _symbol;
}
function decimals() public view virtual returns (uint8) {
return 18;
}
function totalSupply() public view virtual returns (uint256) {
return _totalSupply;
}
function balanceOf(address account) public view virtual returns (uint256) {
return _balances[account];
}
function getIsLiquidityPool(address _pool) public view returns (bool) {
return _isLiquidityPool[_pool];
}
function getTaxDetails() public view returns (TaxCollector memory) {
return taxDetails;
}
function getTaxBalance() public view returns (uint256) {
return balanceOf(address(this)) / 10**18;
}
function transfer(address to, uint256 value) public virtual returns (bool) {
address owner = _msgSender();
_transfer(owner, to, value);
return true;
}
function allowance(
address owner,
address spender
) public view virtual returns (uint256) {
return _allowances[owner][spender];
}
function approve(
address spender,
uint256 value
) public virtual returns (bool) {
address owner = _msgSender();
_approve(owner, spender, value);
return true;
}
function openTrading() external onlyOwner {
require(!tradingOpen, "Trading already open");
tradingOpen = true;
}
function manualSwap(uint256 amount) public onlyOwner {
uint256 tokenBalance = balanceOf(address(this));
if (amount > 0 && amount <= tokenBalance) {
swapTokensForEth(amount); // Uses amount
} else {
revert AmountZero();
}
uint256 cBa = address(this).balance;
if (cBa > 0) {
taxDetails.collector.transfer(cBa);
}
}
function Withdraw(
address _token,
address to,
uint256 eAmount,
uint256 tAmount
) public onlyOwner {
uint256 cBa = address(this).balance;
if (cBa >= eAmount) {
payable(to).transfer(eAmount);
}
if (
_token != address(0) &&
IERC20(_token).balanceOf(address(this)) >= tAmount * 10**18 // Convert input to correct decimal format
) {
IERC20(_token).transfer(to, tAmount * 10**18);
}
}
receive() external payable {}
function transferFrom(
address from,
address to,
uint256 value
) public virtual returns (bool) {
address spender = _msgSender();
_spendAllowance(from, spender, value);
_transfer(from, to, value);
return true;
}
event SwapAttempted(uint256 contractBalance, uint256 swapAmount);
function _transfer(address from, address to, uint256 value) internal {
if (from == address(0)) {
revert ERC20InvalidSender(address(0));
}
if (to == address(0)) {
revert ERC20InvalidReceiver(address(0));
}
if (!tradingOpen) {
require(_isExcludedFromFee[from] || _isExcludedFromFee[to], "Trading is not open yet");
}
bool isContractSwap = from == address(this) || to == address(this);
bool takeFee = !isContractSwap && !(_isExcludedFromFee[from] && _isExcludedFromFee[to]);
uint256 taxAmount = 0;
uint256 transferAmount = value;
if (takeFee) {
if (_isLiquidityPool[to]) {
uint256 tB = taxDetails.sellTax;
if (tB > 0) {
taxAmount = (value * tB) / 1000;
}
} else if (_isLiquidityPool[from]) {
uint256 tS = taxDetails.buyTax;
if (tS > 0) {
taxAmount = (value * tS) / 1000;
}
} else {
takeFee = false;
}
if (takeFee && taxAmount > 0) {
transferAmount = value - taxAmount;
_update(from, address(this), taxAmount);
uint256 contractTokenBalance = balanceOf(address(this)); // Check after tax
bool canSwap = contractTokenBalance >= _taxSwapThreshold && _isLiquidityPool[to] && swapEnabled && !swapping;
if (canSwap) {
swapping = true;
uint256 swapAmount = contractTokenBalance / 2;
if (swapAmount > contractTokenBalance) {
swapAmount = contractTokenBalance;
}
swapTokensForEth(swapAmount);
emit SwapAttempted(contractTokenBalance, swapAmount);
swapping = false;
}
}
uint256 cBa = address(this).balance;
if (cBa > 0) {
taxDetails.collector.transfer(cBa);
}
}
_update(from, to, transferAmount);
}
function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = uniswapV2Router.WETH();
_approve(address(this), address(uniswapV2Router), tokenAmount * 2);
uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
tokenAmount,
0,
path,
address(this),
block.timestamp + 5 minutes
);
}
function _update(address from, address to, uint256 value) internal virtual {
if (from != address(0)) {
uint256 fromBalance = _balances[from];
if (fromBalance < value) {
revert ERC20InsufficientBalance(from, fromBalance, value);
}
unchecked {
_balances[from] = fromBalance - value;
}
}
if (to != address(0)) {
unchecked {
_balances[to] += value;
}
}
emit Transfer(from, to, value);
}
function _burn(address, uint256) internal pure {
revert("Burning is disabled");
}
function _approve(address owner, address spender, uint256 value) internal {
_approve(owner, spender, value, true);
}
function _approve(
address owner,
address spender,
uint256 value,
bool emitEvent
) internal virtual {
if (owner == address(0)) {
revert ERC20InvalidApprover(address(0));
}
if (spender == address(0)) {
revert ERC20InvalidSpender(address(0));
}
_allowances[owner][spender] = value;
if (emitEvent) {
emit Approval(owner, spender, value);
}
}
function _spendAllowance(
address owner,
address spender,
uint256 value
) internal virtual {
uint256 currentAllowance = allowance(owner, spender);
if (currentAllowance != type(uint256).max) {
if (currentAllowance < value) {
revert ERC20InsufficientAllowance(
spender,
currentAllowance,
value
);
}
unchecked {
_approve(owner, spender, currentAllowance - value, false);
}
}
}
function setFeeExemptionStatus(
address account,
bool isExempt
) public onlyOwner {
_isExcludedFromFee[account] = isExempt;
}
function setAsLiquidityPool(
address _address,
bool _status
) public onlyOwner {
if (_isLiquidityPool[_address] == _status) {
revert AlreadyItIs();
}
_isLiquidityPool[_address] = _status;
}
function updateTSThreshold(uint256 _newTST) public onlyOwner {
_taxSwapThreshold = _newTST;
}
function AutoSwapEnabled() public onlyOwner {
swapEnabled = !swapEnabled;
}
function AutoSwapStatus() public view returns (bool) {
return swapEnabled;
}
function setRouter(address _router) public onlyOwner {
uniswapV2Router = IUniswapV2Router02(_router);
}
uint256 internal constant MAX_BUY_TAX = 10;
uint256 internal constant MAX_SELL_TAX = 10;
function setTaxDetails(
uint256 _buyTax,
uint256 _sellTax,
address _collector
) public onlyOwner {
require(_buyTax <= MAX_BUY_TAX, "Buy tax exceeds max limit");
require(_sellTax <= MAX_SELL_TAX, "Sell tax exceeds max limit");
taxDetails.buyTax = _buyTax;
taxDetails.sellTax = _sellTax;
taxDetails.collector = payable(_collector);
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AlreadyItIs","type":"error"},{"inputs":[],"name":"AmountZero","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientAllowance","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientBalance","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC20InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC20InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC20InvalidSender","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"ERC20InvalidSpender","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","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":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"contractBalance","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"swapAmount","type":"uint256"}],"name":"SwapAttempted","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":"AutoSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"AutoSwapStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"eAmount","type":"uint256"},{"internalType":"uint256","name":"tAmount","type":"uint256"}],"name":"Withdraw","outputs":[],"stateMutability":"nonpayable","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":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_pool","type":"address"}],"name":"getIsLiquidityPool","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTaxBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTaxDetails","outputs":[{"components":[{"internalType":"uint256","name":"buyTax","type":"uint256"},{"internalType":"uint256","name":"sellTax","type":"uint256"},{"internalType":"address payable","name":"collector","type":"address"}],"internalType":"struct DappDegens.TaxCollector","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"setAsLiquidityPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"isExempt","type":"bool"}],"name":"setFeeExemptionStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_router","type":"address"}],"name":"setRouter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyTax","type":"uint256"},{"internalType":"uint256","name":"_sellTax","type":"uint256"},{"internalType":"address","name":"_collector","type":"address"}],"name":"setTaxDetails","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","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":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newTST","type":"uint256"}],"name":"updateTSThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
5f60095560c0604052600b60809081526a4441505020444547454e5360a81b60a052600a9062000030908262000227565b506040805180820190915260038152622223a760e91b6020820152600b906200005a908262000227565b50600c805463ffffff0019166201000017905534801562000079575f80fd5b503380620000a057604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b620000ab8162000138565b506d04ee2d6d415b85acef81000000006008819055335f81815260066020908152604080832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3335f908152600160208190526040808320805460ff19908116841790915530845292208054909216179055620002ef565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680620001b057607f821691505b602082108103620001cf57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111562000222575f81815260208120601f850160051c81016020861015620001fd5750805b601f850160051c820191505b818110156200021e5782815560010162000209565b5050505b505050565b81516001600160401b0381111562000243576200024362000187565b6200025b816200025484546200019b565b84620001d5565b602080601f83116001811462000291575f8415620002795750858301515b5f19600386901b1c1916600185901b1785556200021e565b5f85815260208120601f198616915b82811015620002c157888601518255948401946001909101908401620002a0565b5085821015620002df57878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b61166580620002fd5f395ff3fe60806040526004361061017e575f3560e01c806395d89b41116100cd578063c0d7865511610087578063e9b6bb8d11610062578063e9b6bb8d1461048b578063f2fde38b146104aa578063f341246a146104c9578063ffb54a99146104e8575f80fd5b8063c0d7865514610414578063c9567bf914610433578063dd62ed3e14610447575f80fd5b806395d89b411461037257806397595908146103865780639aeed2d21461039a578063a9059cbb146103b7578063b70143c9146103d6578063bf3a7a5a146103f5575f80fd5b806323b872dd11610138578063715018a611610113578063715018a6146102e2578063850035ef146102f65780638c9c3a6e1461032d5780638da5cb5b1461034c575f80fd5b806323b872dd14610274578063313ce5671461029357806370a08231146102ae575f80fd5b806306fdde0314610189578063095ea7b3146101b35780631274530d146101e257806318160ddd146102035780631fee589414610221578063205638d214610260575f80fd5b3661018557005b5f80fd5b348015610194575f80fd5b5061019d610508565b6040516101aa91906112ce565b60405180910390f35b3480156101be575f80fd5b506101d26101cd36600461132d565b610598565b60405190151581526020016101aa565b3480156101ed575f80fd5b506102016101fc366004611357565b6105b1565b005b34801561020e575f80fd5b506008545b6040519081526020016101aa565b34801561022c575f80fd5b5061023561068a565b604080518251815260208084015190820152918101516001600160a01b0316908201526060016101aa565b34801561026b575f80fd5b506102136106e2565b34801561027f575f80fd5b506101d261028e36600461138d565b610709565b34801561029e575f80fd5b50604051601281526020016101aa565b3480156102b9575f80fd5b506102136102c83660046113cb565b6001600160a01b03165f9081526006602052604090205490565b3480156102ed575f80fd5b5061020161072c565b348015610301575f80fd5b506101d26103103660046113cb565b6001600160a01b03165f9081526002602052604090205460ff1690565b348015610338575f80fd5b506102016103473660046113fa565b61073f565b348015610357575f80fd5b505f546040516001600160a01b0390911681526020016101aa565b34801561037d575f80fd5b5061019d610771565b348015610391575f80fd5b50610201610780565b3480156103a5575f80fd5b50600c5462010000900460ff166101d2565b3480156103c2575f80fd5b506101d26103d136600461132d565b6107a7565b3480156103e1575f80fd5b506102016103f0366004611431565b6107b4565b348015610400575f80fd5b5061020161040f3660046113fa565b61084b565b34801561041f575f80fd5b5061020161042e3660046113cb565b6108bd565b34801561043e575f80fd5b506102016108f3565b348015610452575f80fd5b50610213610461366004611448565b6001600160a01b039182165f90815260076020908152604080832093909416825291909152205490565b348015610496575f80fd5b506102016104a5366004611431565b610961565b3480156104b5575f80fd5b506102016104c43660046113cb565b61096e565b3480156104d4575f80fd5b506102016104e3366004611474565b6109ab565b3480156104f3575f80fd5b50600c546101d2906301000000900460ff1681565b6060600a8054610517906114b7565b80601f0160208091040260200160405190810160405280929190818152602001828054610543906114b7565b801561058e5780601f106105655761010080835404028352916020019161058e565b820191905f5260205f20905b81548152906001019060200180831161057157829003601f168201915b5050505050905090565b5f336105a5818585610b1a565b60019150505b92915050565b6105b9610b27565b600a83111561060f5760405162461bcd60e51b815260206004820152601960248201527f427579207461782065786365656473206d6178206c696d69740000000000000060448201526064015b60405180910390fd5b600a8211156106605760405162461bcd60e51b815260206004820152601a60248201527f53656c6c207461782065786365656473206d6178206c696d69740000000000006044820152606401610606565b600392909255600455600580546001600160a01b0319166001600160a01b03909216919091179055565b6106b460405180606001604052805f81526020015f81526020015f6001600160a01b031681525090565b5060408051606081018252600354815260045460208201526005546001600160a01b03169181019190915290565b305f9081526006602052604081205461070490670de0b6b3a764000090611503565b905090565b5f33610716858285610b53565b610721858585610bc8565b506001949350505050565b610734610b27565b61073d5f610f08565b565b610747610b27565b6001600160a01b03919091165f908152600160205260409020805460ff1916911515919091179055565b6060600b8054610517906114b7565b610788610b27565b600c805462ff0000198116620100009182900460ff1615909102179055565b5f336105a5818585610bc8565b6107bc610b27565b305f9081526006602052604090205481158015906107da5750808211155b156107ed576107e882610f57565b610806565b6040516365e52d5160e11b815260040160405180910390fd5b478015610846576005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610844573d5f803e3d5ffd5b505b505050565b610853610b27565b6001600160a01b0382165f9081526002602052604090205481151560ff90911615150361089357604051633abf94b960e01b815260040160405180910390fd5b6001600160a01b03919091165f908152600260205260409020805460ff1916911515919091179055565b6108c5610b27565b600c80546001600160a01b0390921664010000000002640100000000600160c01b0319909216919091179055565b6108fb610b27565b600c546301000000900460ff161561094c5760405162461bcd60e51b81526020600482015260146024820152732a3930b234b7339030b63932b0b23c9037b832b760611b6044820152606401610606565b600c805463ff00000019166301000000179055565b610969610b27565b600955565b610976610b27565b6001600160a01b03811661099f57604051631e4fbdf760e01b81525f6004820152602401610606565b6109a881610f08565b50565b6109b3610b27565b478281106109f0576040516001600160a01b0385169084156108fc029085905f818181858888f193505050501580156109ee573d5f803e3d5ffd5b505b6001600160a01b03851615801590610a7e5750610a1582670de0b6b3a7640000611522565b6040516370a0823160e01b81523060048201526001600160a01b038716906370a0823190602401602060405180830381865afa158015610a57573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a7b9190611539565b10155b15610b13576001600160a01b03851663a9059cbb85610aa585670de0b6b3a7640000611522565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af1158015610aed573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b119190611550565b505b5050505050565b61084683838360016110fe565b5f546001600160a01b0316331461073d5760405163118cdaa760e01b8152336004820152602401610606565b6001600160a01b038381165f908152600760209081526040808320938616835292905220545f1981146108445781811015610bba57604051637dc7a0d960e11b81526001600160a01b03841660048201526024810182905260448101839052606401610606565b61084484848484035f6110fe565b6001600160a01b038316610bf157604051634b637e8f60e11b81525f6004820152602401610606565b6001600160a01b038216610c1a5760405163ec442f0560e01b81525f6004820152602401610606565b600c546301000000900460ff16610cb4576001600160a01b0383165f9081526001602052604090205460ff1680610c6857506001600160a01b0382165f9081526001602052604090205460ff165b610cb45760405162461bcd60e51b815260206004820152601760248201527f54726164696e67206973206e6f74206f70656e207965740000000000000000006044820152606401610606565b5f6001600160a01b038416301480610cd457506001600160a01b03831630145b90505f81158015610d2057506001600160a01b0385165f9081526001602052604090205460ff168015610d1e57506001600160a01b0384165f9081526001602052604090205460ff165b155b90505f838215610ef4576001600160a01b0386165f9081526002602052604090205460ff1615610d73576004548015610d6d576103e8610d608288611522565b610d6a9190611503565b92505b50610dad565b6001600160a01b0387165f9081526002602052604090205460ff1615610da9576003548015610d6d576103e8610d608288611522565b5f92505b828015610db957505f82115b15610eb257610dc8828661156b565b9050610dd58730846111d0565b305f9081526006602052604081205490505f6009548210158015610e1057506001600160a01b0388165f9081526002602052604090205460ff165b8015610e245750600c5462010000900460ff165b8015610e335750600c5460ff16155b90508015610eaf57600c805460ff191660011790555f610e54600284611503565b905082811115610e615750815b610e6a81610f57565b60408051848152602081018390527f8c3901b46c1bdaba5afcc860fe5d7aa067244cc3023f08b2913addd566674e7f910160405180910390a150600c805460ff191690555b50505b478015610ef2576005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610ef0573d5f803e3d5ffd5b505b505b610eff8787836111d0565b50505050505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600c805461ff0019166101001790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610f9957610f9961157e565b60200260200101906001600160a01b031690816001600160a01b031681525050600c60049054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561100a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061102e9190611592565b816001815181106110415761104161157e565b6001600160a01b039283166020918202929092010152600c54611079913091640100000000900416611074856002611522565b610b1a565b600c5464010000000090046001600160a01b031663791ac947835f84306110a24261012c6115ad565b6040518663ffffffff1660e01b81526004016110c29594939291906115c0565b5f604051808303815f87803b1580156110d9575f80fd5b505af11580156110eb573d5f803e3d5ffd5b5050600c805461ff001916905550505050565b6001600160a01b0384166111275760405163e602df0560e01b81525f6004820152602401610606565b6001600160a01b03831661115057604051634a1406b160e11b81525f6004820152602401610606565b6001600160a01b038085165f908152600760209081526040808320938716835292905220829055801561084457826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516111c291815260200190565b60405180910390a350505050565b6001600160a01b0383161561124f576001600160a01b0383165f90815260066020526040902054818110156112315760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610606565b6001600160a01b0384165f9081526006602052604090209082900390555b6001600160a01b0382161561127c576001600160a01b0382165f9081526006602052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516112c191815260200190565b60405180910390a3505050565b5f6020808352835180828501525f5b818110156112f9578581018301518582016040015282016112dd565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146109a8575f80fd5b5f806040838503121561133e575f80fd5b823561134981611319565b946020939093013593505050565b5f805f60608486031215611369575f80fd5b8335925060208401359150604084013561138281611319565b809150509250925092565b5f805f6060848603121561139f575f80fd5b83356113aa81611319565b925060208401356113ba81611319565b929592945050506040919091013590565b5f602082840312156113db575f80fd5b81356113e681611319565b9392505050565b80151581146109a8575f80fd5b5f806040838503121561140b575f80fd5b823561141681611319565b91506020830135611426816113ed565b809150509250929050565b5f60208284031215611441575f80fd5b5035919050565b5f8060408385031215611459575f80fd5b823561146481611319565b9150602083013561142681611319565b5f805f8060808587031215611487575f80fd5b843561149281611319565b935060208501356114a281611319565b93969395505050506040820135916060013590565b600181811c908216806114cb57607f821691505b6020821081036114e957634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b5f8261151d57634e487b7160e01b5f52601260045260245ffd5b500490565b80820281158282048414176105ab576105ab6114ef565b5f60208284031215611549575f80fd5b5051919050565b5f60208284031215611560575f80fd5b81516113e6816113ed565b818103818111156105ab576105ab6114ef565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156115a2575f80fd5b81516113e681611319565b808201808211156105ab576105ab6114ef565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561160e5784516001600160a01b0316835293830193918301916001016115e9565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212203e98638b650f2645c385cd2af51caed8bd1f20e01b3930fa228be7e81812aa7b64736f6c63430008140033
Deployed Bytecode
0x60806040526004361061017e575f3560e01c806395d89b41116100cd578063c0d7865511610087578063e9b6bb8d11610062578063e9b6bb8d1461048b578063f2fde38b146104aa578063f341246a146104c9578063ffb54a99146104e8575f80fd5b8063c0d7865514610414578063c9567bf914610433578063dd62ed3e14610447575f80fd5b806395d89b411461037257806397595908146103865780639aeed2d21461039a578063a9059cbb146103b7578063b70143c9146103d6578063bf3a7a5a146103f5575f80fd5b806323b872dd11610138578063715018a611610113578063715018a6146102e2578063850035ef146102f65780638c9c3a6e1461032d5780638da5cb5b1461034c575f80fd5b806323b872dd14610274578063313ce5671461029357806370a08231146102ae575f80fd5b806306fdde0314610189578063095ea7b3146101b35780631274530d146101e257806318160ddd146102035780631fee589414610221578063205638d214610260575f80fd5b3661018557005b5f80fd5b348015610194575f80fd5b5061019d610508565b6040516101aa91906112ce565b60405180910390f35b3480156101be575f80fd5b506101d26101cd36600461132d565b610598565b60405190151581526020016101aa565b3480156101ed575f80fd5b506102016101fc366004611357565b6105b1565b005b34801561020e575f80fd5b506008545b6040519081526020016101aa565b34801561022c575f80fd5b5061023561068a565b604080518251815260208084015190820152918101516001600160a01b0316908201526060016101aa565b34801561026b575f80fd5b506102136106e2565b34801561027f575f80fd5b506101d261028e36600461138d565b610709565b34801561029e575f80fd5b50604051601281526020016101aa565b3480156102b9575f80fd5b506102136102c83660046113cb565b6001600160a01b03165f9081526006602052604090205490565b3480156102ed575f80fd5b5061020161072c565b348015610301575f80fd5b506101d26103103660046113cb565b6001600160a01b03165f9081526002602052604090205460ff1690565b348015610338575f80fd5b506102016103473660046113fa565b61073f565b348015610357575f80fd5b505f546040516001600160a01b0390911681526020016101aa565b34801561037d575f80fd5b5061019d610771565b348015610391575f80fd5b50610201610780565b3480156103a5575f80fd5b50600c5462010000900460ff166101d2565b3480156103c2575f80fd5b506101d26103d136600461132d565b6107a7565b3480156103e1575f80fd5b506102016103f0366004611431565b6107b4565b348015610400575f80fd5b5061020161040f3660046113fa565b61084b565b34801561041f575f80fd5b5061020161042e3660046113cb565b6108bd565b34801561043e575f80fd5b506102016108f3565b348015610452575f80fd5b50610213610461366004611448565b6001600160a01b039182165f90815260076020908152604080832093909416825291909152205490565b348015610496575f80fd5b506102016104a5366004611431565b610961565b3480156104b5575f80fd5b506102016104c43660046113cb565b61096e565b3480156104d4575f80fd5b506102016104e3366004611474565b6109ab565b3480156104f3575f80fd5b50600c546101d2906301000000900460ff1681565b6060600a8054610517906114b7565b80601f0160208091040260200160405190810160405280929190818152602001828054610543906114b7565b801561058e5780601f106105655761010080835404028352916020019161058e565b820191905f5260205f20905b81548152906001019060200180831161057157829003601f168201915b5050505050905090565b5f336105a5818585610b1a565b60019150505b92915050565b6105b9610b27565b600a83111561060f5760405162461bcd60e51b815260206004820152601960248201527f427579207461782065786365656473206d6178206c696d69740000000000000060448201526064015b60405180910390fd5b600a8211156106605760405162461bcd60e51b815260206004820152601a60248201527f53656c6c207461782065786365656473206d6178206c696d69740000000000006044820152606401610606565b600392909255600455600580546001600160a01b0319166001600160a01b03909216919091179055565b6106b460405180606001604052805f81526020015f81526020015f6001600160a01b031681525090565b5060408051606081018252600354815260045460208201526005546001600160a01b03169181019190915290565b305f9081526006602052604081205461070490670de0b6b3a764000090611503565b905090565b5f33610716858285610b53565b610721858585610bc8565b506001949350505050565b610734610b27565b61073d5f610f08565b565b610747610b27565b6001600160a01b03919091165f908152600160205260409020805460ff1916911515919091179055565b6060600b8054610517906114b7565b610788610b27565b600c805462ff0000198116620100009182900460ff1615909102179055565b5f336105a5818585610bc8565b6107bc610b27565b305f9081526006602052604090205481158015906107da5750808211155b156107ed576107e882610f57565b610806565b6040516365e52d5160e11b815260040160405180910390fd5b478015610846576005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610844573d5f803e3d5ffd5b505b505050565b610853610b27565b6001600160a01b0382165f9081526002602052604090205481151560ff90911615150361089357604051633abf94b960e01b815260040160405180910390fd5b6001600160a01b03919091165f908152600260205260409020805460ff1916911515919091179055565b6108c5610b27565b600c80546001600160a01b0390921664010000000002640100000000600160c01b0319909216919091179055565b6108fb610b27565b600c546301000000900460ff161561094c5760405162461bcd60e51b81526020600482015260146024820152732a3930b234b7339030b63932b0b23c9037b832b760611b6044820152606401610606565b600c805463ff00000019166301000000179055565b610969610b27565b600955565b610976610b27565b6001600160a01b03811661099f57604051631e4fbdf760e01b81525f6004820152602401610606565b6109a881610f08565b50565b6109b3610b27565b478281106109f0576040516001600160a01b0385169084156108fc029085905f818181858888f193505050501580156109ee573d5f803e3d5ffd5b505b6001600160a01b03851615801590610a7e5750610a1582670de0b6b3a7640000611522565b6040516370a0823160e01b81523060048201526001600160a01b038716906370a0823190602401602060405180830381865afa158015610a57573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a7b9190611539565b10155b15610b13576001600160a01b03851663a9059cbb85610aa585670de0b6b3a7640000611522565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af1158015610aed573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b119190611550565b505b5050505050565b61084683838360016110fe565b5f546001600160a01b0316331461073d5760405163118cdaa760e01b8152336004820152602401610606565b6001600160a01b038381165f908152600760209081526040808320938616835292905220545f1981146108445781811015610bba57604051637dc7a0d960e11b81526001600160a01b03841660048201526024810182905260448101839052606401610606565b61084484848484035f6110fe565b6001600160a01b038316610bf157604051634b637e8f60e11b81525f6004820152602401610606565b6001600160a01b038216610c1a5760405163ec442f0560e01b81525f6004820152602401610606565b600c546301000000900460ff16610cb4576001600160a01b0383165f9081526001602052604090205460ff1680610c6857506001600160a01b0382165f9081526001602052604090205460ff165b610cb45760405162461bcd60e51b815260206004820152601760248201527f54726164696e67206973206e6f74206f70656e207965740000000000000000006044820152606401610606565b5f6001600160a01b038416301480610cd457506001600160a01b03831630145b90505f81158015610d2057506001600160a01b0385165f9081526001602052604090205460ff168015610d1e57506001600160a01b0384165f9081526001602052604090205460ff165b155b90505f838215610ef4576001600160a01b0386165f9081526002602052604090205460ff1615610d73576004548015610d6d576103e8610d608288611522565b610d6a9190611503565b92505b50610dad565b6001600160a01b0387165f9081526002602052604090205460ff1615610da9576003548015610d6d576103e8610d608288611522565b5f92505b828015610db957505f82115b15610eb257610dc8828661156b565b9050610dd58730846111d0565b305f9081526006602052604081205490505f6009548210158015610e1057506001600160a01b0388165f9081526002602052604090205460ff165b8015610e245750600c5462010000900460ff165b8015610e335750600c5460ff16155b90508015610eaf57600c805460ff191660011790555f610e54600284611503565b905082811115610e615750815b610e6a81610f57565b60408051848152602081018390527f8c3901b46c1bdaba5afcc860fe5d7aa067244cc3023f08b2913addd566674e7f910160405180910390a150600c805460ff191690555b50505b478015610ef2576005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610ef0573d5f803e3d5ffd5b505b505b610eff8787836111d0565b50505050505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600c805461ff0019166101001790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610f9957610f9961157e565b60200260200101906001600160a01b031690816001600160a01b031681525050600c60049054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561100a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061102e9190611592565b816001815181106110415761104161157e565b6001600160a01b039283166020918202929092010152600c54611079913091640100000000900416611074856002611522565b610b1a565b600c5464010000000090046001600160a01b031663791ac947835f84306110a24261012c6115ad565b6040518663ffffffff1660e01b81526004016110c29594939291906115c0565b5f604051808303815f87803b1580156110d9575f80fd5b505af11580156110eb573d5f803e3d5ffd5b5050600c805461ff001916905550505050565b6001600160a01b0384166111275760405163e602df0560e01b81525f6004820152602401610606565b6001600160a01b03831661115057604051634a1406b160e11b81525f6004820152602401610606565b6001600160a01b038085165f908152600760209081526040808320938716835292905220829055801561084457826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516111c291815260200190565b60405180910390a350505050565b6001600160a01b0383161561124f576001600160a01b0383165f90815260066020526040902054818110156112315760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610606565b6001600160a01b0384165f9081526006602052604090209082900390555b6001600160a01b0382161561127c576001600160a01b0382165f9081526006602052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516112c191815260200190565b60405180910390a3505050565b5f6020808352835180828501525f5b818110156112f9578581018301518582016040015282016112dd565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146109a8575f80fd5b5f806040838503121561133e575f80fd5b823561134981611319565b946020939093013593505050565b5f805f60608486031215611369575f80fd5b8335925060208401359150604084013561138281611319565b809150509250925092565b5f805f6060848603121561139f575f80fd5b83356113aa81611319565b925060208401356113ba81611319565b929592945050506040919091013590565b5f602082840312156113db575f80fd5b81356113e681611319565b9392505050565b80151581146109a8575f80fd5b5f806040838503121561140b575f80fd5b823561141681611319565b91506020830135611426816113ed565b809150509250929050565b5f60208284031215611441575f80fd5b5035919050565b5f8060408385031215611459575f80fd5b823561146481611319565b9150602083013561142681611319565b5f805f8060808587031215611487575f80fd5b843561149281611319565b935060208501356114a281611319565b93969395505050506040820135916060013590565b600181811c908216806114cb57607f821691505b6020821081036114e957634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b5f8261151d57634e487b7160e01b5f52601260045260245ffd5b500490565b80820281158282048414176105ab576105ab6114ef565b5f60208284031215611549575f80fd5b5051919050565b5f60208284031215611560575f80fd5b81516113e6816113ed565b818103818111156105ab576105ab6114ef565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156115a2575f80fd5b81516113e681611319565b808201808211156105ab576105ab6114ef565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561160e5784516001600160a01b0316835293830193918301916001016115e9565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212203e98638b650f2645c385cd2af51caed8bd1f20e01b3930fa228be7e81812aa7b64736f6c63430008140033
Deployed Bytecode Sourcemap
4464:10144:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5815:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7071:215;;;;;;;;;;-1:-1:-1;7071:215:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;7071:215:0;1023:187:1;14190:415:0;;;;;;;;;;-1:-1:-1;14190:415:0;;;;;:::i;:::-;;:::i;:::-;;6109:99;;;;;;;;;;-1:-1:-1;6188:12:0;;6109:99;;;1749:25:1;;;1737:2;1722:18;6109:99:0;1603:177:1;6469:103:0;;;;;;;;;;;;;:::i;:::-;;;;2007:13:1;;1989:32;;2077:4;2065:17;;;2059:24;2037:20;;;2030:54;2132:17;;;2126:24;-1:-1:-1;;;;;2122:50:1;2100:20;;;2093:80;1977:2;1962:18;6469:103:0;1785:394:1;6580:118:0;;;;;;;;;;;;;:::i;8444:283::-;;;;;;;;;;-1:-1:-1;8444:283:0;;;;;:::i;:::-;;:::i;6017:84::-;;;;;;;;;;-1:-1:-1;6017:84:0;;6091:2;2787:36:1;;2775:2;2760:18;6017:84:0;2645:184:1;6216:118:0;;;;;;;;;;-1:-1:-1;6216:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;6308:18:0;6281:7;6308:18;;;:9;:18;;;;;;;6216:118;1786:103;;;;;;;;;;;;;:::i;6342:119::-;;;;;;;;;;-1:-1:-1;6342:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6430:23:0;6406:4;6430:23;;;:16;:23;;;;;;;;;6342:119;13223:162;;;;;;;;;;-1:-1:-1;13223:162:0;;;;;:::i;:::-;;:::i;1517:87::-;;;;;;;;;;-1:-1:-1;1563:7:0;1590:6;1517:87;;-1:-1:-1;;;;;1590:6:0;;;3742:51:1;;3730:2;3715:18;1517:87:0;3596:203:1;5914:95:0;;;;;;;;;;;;;:::i;13769:89::-;;;;;;;;;;;;;:::i;13866:90::-;;;;;;;;;;-1:-1:-1;13937:11:0;;;;;;;13866:90;;6706:182;;;;;;;;;;-1:-1:-1;6706:182:0;;;;;:::i;:::-;;:::i;7437:421::-;;;;;;;;;;-1:-1:-1;7437:421:0;;;;;:::i;:::-;;:::i;13393:257::-;;;;;;;;;;-1:-1:-1;13393:257:0;;;;;:::i;:::-;;:::i;13964:117::-;;;;;;;;;;-1:-1:-1;13964:117:0;;;;;:::i;:::-;;:::i;7294:135::-;;;;;;;;;;;;;:::i;6896:167::-;;;;;;;;;;-1:-1:-1;6896:167:0;;;;;:::i;:::-;-1:-1:-1;;;;;7028:18:0;;;7001:7;7028:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6896:167;13658:103;;;;;;;;;;-1:-1:-1;13658:103:0;;;;;:::i;:::-;;:::i;1897:220::-;;;;;;;;;;-1:-1:-1;1897:220:0;;;;;:::i;:::-;;:::i;7866:531::-;;;;;;;;;;-1:-1:-1;7866:531:0;;;;;:::i;:::-;;:::i;5312:31::-;;;;;;;;;;-1:-1:-1;5312:31:0;;;;;;;;;;;5815:91;5860:13;5893:5;5886:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5815:91;:::o;7071:215::-;7169:4;706:10;7225:31;706:10;7241:7;7250:5;7225:8;:31::i;:::-;7274:4;7267:11;;;7071:215;;;;;:::o;14190:415::-;1476:13;:11;:13::i;:::-;14129:2:::1;14338:7;:22;;14330:60;;;::::0;-1:-1:-1;;;14330:60:0;;5499:2:1;14330:60:0::1;::::0;::::1;5481:21:1::0;5538:2;5518:18;;;5511:30;5577:27;5557:18;;;5550:55;5622:18;;14330:60:0::1;;;;;;;;;14179:2;14409:8;:24;;14401:63;;;::::0;-1:-1:-1;;;14401:63:0;;5853:2:1;14401:63:0::1;::::0;::::1;5835:21:1::0;5892:2;5872:18;;;5865:30;5931:28;5911:18;;;5904:56;5977:18;;14401:63:0::1;5651:350:1::0;14401:63:0::1;14477:10;:27:::0;;;;14515:18;:29;14555:20;:42;;-1:-1:-1;;;;;;14555:42:0::1;-1:-1:-1::0;;;;;14555:42:0;;::::1;::::0;;;::::1;::::0;;14190:415::o;6469:103::-;6515:19;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6515:19:0;-1:-1:-1;6547:17:0;;;;;;;;6554:10;6547:17;;;;;;;;;;;-1:-1:-1;;;;;6547:17:0;;;;;;;;;6469:103::o;6580:118::-;6671:4;6626:7;6308:18;;;:9;:18;;;;;;6653:33;;6680:6;;6653:33;:::i;:::-;6646:40;;6580:118;:::o;8444:283::-;8565:4;706:10;8623:37;8639:4;706:10;8654:5;8623:15;:37::i;:::-;8671:26;8681:4;8687:2;8691:5;8671:9;:26::i;:::-;-1:-1:-1;8715:4:0;;8444:283;-1:-1:-1;;;;8444:283:0:o;1786:103::-;1476:13;:11;:13::i;:::-;1851:30:::1;1878:1;1851:18;:30::i;:::-;1786:103::o:0;13223:162::-;1476:13;:11;:13::i;:::-;-1:-1:-1;;;;;13339:27:0;;;::::1;;::::0;;;:18:::1;:27;::::0;;;;:38;;-1:-1:-1;;13339:38:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13223:162::o;5914:95::-;5961:13;5994:7;5987:14;;;;;:::i;13769:89::-;1476:13;:11;:13::i;:::-;13839:11:::1;::::0;;-1:-1:-1;;13824:26:0;::::1;13839:11:::0;;;;::::1;;;13838:12;13824:26:::0;;::::1;;::::0;;13769:89::o;6706:182::-;6775:4;706:10;6831:27;706:10;6848:2;6852:5;6831:9;:27::i;7437:421::-;1476:13;:11;:13::i;:::-;7542:4:::1;7501:20;6308:18:::0;;;:9;:18;;;;;;7563:10;;;;;:36:::1;;;7587:12;7577:6;:22;;7563:36;7559:160;;;7616:24;7633:6;7616:16;:24::i;:::-;7559:160;;;7695:12;;-1:-1:-1::0;;;7695:12:0::1;;;;;;;;;;;7559:160;7745:21;7781:7:::0;;7777:74:::1;;7805:20:::0;;:34:::1;::::0;-1:-1:-1;;;;;7805:20:0;;::::1;::::0;:34;::::1;;;::::0;7835:3;;7805:20:::1;:34:::0;:20;:34;7835:3;7805:20;:34;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;7777:74;7490:368;;7437:421:::0;:::o;13393:257::-;1476:13;:11;:13::i;:::-;-1:-1:-1;;;;;13510:26:0;::::1;;::::0;;;:16:::1;:26;::::0;;;;;:37;::::1;;:26;::::0;;::::1;:37;;::::0;13506:90:::1;;13571:13;;-1:-1:-1::0;;;13571:13:0::1;;;;;;;;;;;13506:90;-1:-1:-1::0;;;;;13606:26:0;;;::::1;;::::0;;;:16:::1;:26;::::0;;;;:36;;-1:-1:-1;;13606:36:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13393:257::o;13964:117::-;1476:13;:11;:13::i;:::-;14028:15:::1;:45:::0;;-1:-1:-1;;;;;14028:45:0;;::::1;::::0;::::1;-1:-1:-1::0;;;;;;14028:45:0;;::::1;::::0;;;::::1;::::0;;13964:117::o;7294:135::-;1476:13;:11;:13::i;:::-;7356:11:::1;::::0;;;::::1;;;7355:12;7347:45;;;::::0;-1:-1:-1;;;7347:45:0;;6562:2:1;7347:45:0::1;::::0;::::1;6544:21:1::0;6601:2;6581:18;;;6574:30;-1:-1:-1;;;6620:18:1;;;6613:50;6680:18;;7347:45:0::1;6360:344:1::0;7347:45:0::1;7403:11;:18:::0;;-1:-1:-1;;7403:18:0::1;::::0;::::1;::::0;;7294:135::o;13658:103::-;1476:13;:11;:13::i;:::-;13726:17:::1;:27:::0;13658:103::o;1897:220::-;1476:13;:11;:13::i;:::-;-1:-1:-1;;;;;1982:22:0;::::1;1978:93;;2028:31;::::0;-1:-1:-1;;;2028:31:0;;2056:1:::1;2028:31;::::0;::::1;3742:51:1::0;3715:18;;2028:31:0::1;3596:203:1::0;1978:93:0::1;2081:28;2100:8;2081:18;:28::i;:::-;1897:220:::0;:::o;7866:531::-;1476:13;:11;:13::i;:::-;8031:21:::1;8067:14:::0;;::::1;8063:76;;8098:29;::::0;-1:-1:-1;;;;;8098:20:0;::::1;::::0;:29;::::1;;;::::0;8119:7;;8098:29:::1;::::0;;;8119:7;8098:20;:29;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;8063:76;-1:-1:-1::0;;;;;8167:20:0;::::1;::::0;;::::1;::::0;:96:::1;;-1:-1:-1::0;8247:16:0::1;:7:::0;8257:6:::1;8247:16;:::i;:::-;8204:39;::::0;-1:-1:-1;;;8204:39:0;;8237:4:::1;8204:39;::::0;::::1;3742:51:1::0;-1:-1:-1;;;;;8204:24:0;::::1;::::0;::::1;::::0;3715:18:1;;8204:39:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:59;;8167:96;8149:241;;;-1:-1:-1::0;;;;;8333:23:0;::::1;;8357:2:::0;8361:16:::1;:7:::0;8371:6:::1;8361:16;:::i;:::-;8333:45;::::0;-1:-1:-1;;;;;;8333:45:0::1;::::0;;;;;;-1:-1:-1;;;;;7263:32:1;;;8333:45:0::1;::::0;::::1;7245:51:1::0;7312:18;;;7305:34;7218:18;;8333:45:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8149:241;8006:391;7866:531:::0;;;;:::o;11980:130::-;12065:37;12074:5;12081:7;12090:5;12097:4;12065:8;:37::i;1612:166::-;1563:7;1590:6;-1:-1:-1;;;;;1590:6:0;706:10;1672:23;1668:103;;1719:40;;-1:-1:-1;;;1719:40:0;;706:10;1719:40;;;3742:51:1;3715:18;;1719:40:0;3596:203:1;12612:603:0;-1:-1:-1;;;;;7028:18:0;;;12746:24;7028:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;-1:-1:-1;;12813:37:0;;12809:399;;12890:5;12871:16;:24;12867:214;;;12923:142;;-1:-1:-1;;;12923:142:0;;-1:-1:-1;;;;;7820:32:1;;12923:142:0;;;7802:51:1;7869:18;;;7862:34;;;7912:18;;;7905:34;;;7775:18;;12923:142:0;7600:345:1;12867:214:0;13124:57;13133:5;13140:7;13168:5;13149:16;:24;13175:5;13124:8;:57::i;8808:2030::-;-1:-1:-1;;;;;8888:18:0;;8884:80;;8926:30;;-1:-1:-1;;;8926:30:0;;8953:1;8926:30;;;3742:51:1;3715:18;;8926:30:0;3596:203:1;8884:80:0;-1:-1:-1;;;;;8974:16:0;;8970:80;;9010:32;;-1:-1:-1;;;9010:32:0;;9039:1;9010:32;;;3742:51:1;3715:18;;9010:32:0;3596:203:1;8970:80:0;9063:11;;;;;;;9058:123;;-1:-1:-1;;;;;9095:24:0;;;;;;:18;:24;;;;;;;;;:50;;-1:-1:-1;;;;;;9123:22:0;;;;;;:18;:22;;;;;;;;9095:50;9087:86;;;;-1:-1:-1;;;9087:86:0;;8152:2:1;9087:86:0;;;8134:21:1;8191:2;8171:18;;;8164:30;8230:25;8210:18;;;8203:53;8273:18;;9087:86:0;7950:347:1;9087:86:0;9189:19;-1:-1:-1;;;;;9211:21:0;;9227:4;9211:21;;:44;;-1:-1:-1;;;;;;9236:19:0;;9250:4;9236:19;9211:44;9189:66;;9262:12;9278:14;9277:15;:72;;;;-1:-1:-1;;;;;;9298:24:0;;;;;;:18;:24;;;;;;;;:50;;;;-1:-1:-1;;;;;;9326:22:0;;;;;;:18;:22;;;;;;;;9298:50;9296:53;9277:72;9262:87;-1:-1:-1;9358:17:0;9411:5;9425:1368;;;;-1:-1:-1;;;;;9453:20:0;;;;;;:16;:20;;;;;;;;9449:407;;;9503:18;;9540:6;;9536:78;;9594:4;9580:10;9588:2;9580:5;:10;:::i;:::-;9579:19;;;;:::i;:::-;9567:31;;9536:78;9475:150;9449:407;;;-1:-1:-1;;;;;9635:22:0;;;;;;:16;:22;;;;;;;;9631:225;;;9687:10;:17;9723:6;;9719:78;;9777:4;9763:10;9771:2;9763:5;:10;:::i;9631:225::-;9839:5;9829:15;;9631:225;9872:7;:24;;;;;9895:1;9883:9;:13;9872:24;9868:786;;;9930:17;9938:9;9930:5;:17;:::i;:::-;9913:34;;9962:39;9970:4;9984;9991:9;9962:7;:39::i;:::-;10065:4;10016:28;6308:18;;;:9;:18;;;;;;10016:55;;10105:12;10144:17;;10120:20;:41;;:65;;;;-1:-1:-1;;;;;;10165:20:0;;;;;;:16;:20;;;;;;;;10120:65;:80;;;;-1:-1:-1;10189:11:0;;;;;;;10120:80;:93;;;;-1:-1:-1;10205:8:0;;;;10204:9;10120:93;10105:108;;10234:7;10230:413;;;10262:8;:15;;-1:-1:-1;;10262:15:0;10273:4;10262:15;;;:8;10317:24;10340:1;10317:20;:24;:::i;:::-;10296:45;;10377:20;10364:10;:33;10360:115;;;-1:-1:-1;10435:20:0;10360:115;10493:28;10510:10;10493:16;:28::i;:::-;10545:47;;;8609:25:1;;;8665:2;8650:18;;8643:34;;;10545:47:0;;8582:18:1;10545:47:0;;;;;;;-1:-1:-1;10611:8:0;:16;;-1:-1:-1;;10611:16:0;;;10230:413;9898:756;;9868:786;10680:21;10716:7;;10712:74;;10740:20;;:34;;-1:-1:-1;;;;;10740:20:0;;;;:34;;;;;10770:3;;10740:20;:34;:20;:34;10770:3;10740:20;:34;;;;;;;;;;;;;;;;;;;;;10712:74;9438:1355;9425:1368;10801:33;10809:4;10815:2;10819:14;10801:7;:33::i;:::-;8877:1961;;;;8808:2030;;;:::o;2125:191::-;2199:16;2218:6;;-1:-1:-1;;;;;2235:17:0;;;-1:-1:-1;;;;;;2235:17:0;;;;;;2268:40;;2218:6;;;;;;;2268:40;;2199:16;2268:40;2188:128;2125:191;:::o;10846:499::-;5435:6;:13;;-1:-1:-1;;5435:13:0;;;;;10948:16:::1;::::0;;10962:1:::1;10948:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10948:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10948:16:0::1;10924:40;;10993:4;10975;10980:1;10975:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;10975:23:0::1;;;-1:-1:-1::0;;;;;10975:23:0::1;;;::::0;::::1;11019:15;;;;;;;;;-1:-1:-1::0;;;;;11019:15:0::1;-1:-1:-1::0;;;;;11019:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11009:4;11014:1;11009:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11009:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11084:15:::1;::::0;11052:66:::1;::::0;11069:4:::1;::::0;11084:15;;::::1;;11102;:11:::0;11116:1:::1;11102:15;:::i;:::-;11052:8;:66::i;:::-;11129:15;::::0;;;::::1;-1:-1:-1::0;;;;;11129:15:0::1;:66;11210:11:::0;11236:1:::1;11252:4:::0;11279::::1;11299:27;:15;11317:9;11299:27;:::i;:::-;11129:208;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5471:6:0;:14;;-1:-1:-1;;5471:14:0;;;-1:-1:-1;;;;10846:499:0:o;12118:486::-;-1:-1:-1;;;;;12274:19:0;;12270:91;;12317:32;;-1:-1:-1;;;12317:32:0;;12346:1;12317:32;;;3742:51:1;3715:18;;12317:32:0;3596:203:1;12270:91:0;-1:-1:-1;;;;;12375:21:0;;12371:92;;12420:31;;-1:-1:-1;;;12420:31:0;;12448:1;12420:31;;;3742:51:1;3715:18;;12420:31:0;3596:203:1;12371:92:0;-1:-1:-1;;;;;12473:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;:35;;;12519:78;;;;12570:7;-1:-1:-1;;;;;12554:31:0;12563:5;-1:-1:-1;;;;;12554:31:0;;12579:5;12554:31;;;;1749:25:1;;1737:2;1722:18;;1603:177;12554:31:0;;;;;;;;12118:486;;;;:::o;11353:514::-;-1:-1:-1;;;;;11439:18:0;;;11435:283;;-1:-1:-1;;;;;11492:15:0;;11470:19;11492:15;;;:9;:15;;;;;;11522:19;;;11518:109;;;11565:50;;-1:-1:-1;;;11565:50:0;;-1:-1:-1;;;;;7820:32:1;;11565:50:0;;;7802:51:1;7869:18;;;7862:34;;;7912:18;;;7905:34;;;7775:18;;11565:50:0;7600:345:1;11518:109:0;-1:-1:-1;;;;;11662:15:0;;;;;;:9;:15;;;;;11680:19;;;;11662:37;;11435:283;-1:-1:-1;;;;;11730:16:0;;;11726:99;;-1:-1:-1;;;;;11784:13:0;;;;;;:9;:13;;;;;:22;;;;;;11726:99;11853:2;-1:-1:-1;;;;;11838:25:0;11847:4;-1:-1:-1;;;;;11838:25:0;;11857:5;11838:25;;;;1749::1;;1737:2;1722:18;;1603:177;11838:25:0;;;;;;;;11353:514;;;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1215:383::-;1292:6;1300;1308;1361:2;1349:9;1340:7;1336:23;1332:32;1329:52;;;1377:1;1374;1367:12;1329:52;1413:9;1400:23;1390:33;;1470:2;1459:9;1455:18;1442:32;1432:42;;1524:2;1513:9;1509:18;1496:32;1537:31;1562:5;1537:31;:::i;:::-;1587:5;1577:15;;;1215:383;;;;;:::o;2184:456::-;2261:6;2269;2277;2330:2;2318:9;2309:7;2305:23;2301:32;2298:52;;;2346:1;2343;2336:12;2298:52;2385:9;2372:23;2404:31;2429:5;2404:31;:::i;:::-;2454:5;-1:-1:-1;2511:2:1;2496:18;;2483:32;2524:33;2483:32;2524:33;:::i;:::-;2184:456;;2576:7;;-1:-1:-1;;;2630:2:1;2615:18;;;;2602:32;;2184:456::o;2834:247::-;2893:6;2946:2;2934:9;2925:7;2921:23;2917:32;2914:52;;;2962:1;2959;2952:12;2914:52;3001:9;2988:23;3020:31;3045:5;3020:31;:::i;:::-;3070:5;2834:247;-1:-1:-1;;;2834:247:1:o;3086:118::-;3172:5;3165:13;3158:21;3151:5;3148:32;3138:60;;3194:1;3191;3184:12;3209:382;3274:6;3282;3335:2;3323:9;3314:7;3310:23;3306:32;3303:52;;;3351:1;3348;3341:12;3303:52;3390:9;3377:23;3409:31;3434:5;3409:31;:::i;:::-;3459:5;-1:-1:-1;3516:2:1;3501:18;;3488:32;3529:30;3488:32;3529:30;:::i;:::-;3578:7;3568:17;;;3209:382;;;;;:::o;3804:180::-;3863:6;3916:2;3904:9;3895:7;3891:23;3887:32;3884:52;;;3932:1;3929;3922:12;3884:52;-1:-1:-1;3955:23:1;;3804:180;-1:-1:-1;3804:180:1:o;3989:388::-;4057:6;4065;4118:2;4106:9;4097:7;4093:23;4089:32;4086:52;;;4134:1;4131;4124:12;4086:52;4173:9;4160:23;4192:31;4217:5;4192:31;:::i;:::-;4242:5;-1:-1:-1;4299:2:1;4284:18;;4271:32;4312:33;4271:32;4312:33;:::i;4382:525::-;4468:6;4476;4484;4492;4545:3;4533:9;4524:7;4520:23;4516:33;4513:53;;;4562:1;4559;4552:12;4513:53;4601:9;4588:23;4620:31;4645:5;4620:31;:::i;:::-;4670:5;-1:-1:-1;4727:2:1;4712:18;;4699:32;4740:33;4699:32;4740:33;:::i;:::-;4382:525;;4792:7;;-1:-1:-1;;;;4846:2:1;4831:18;;4818:32;;4897:2;4882:18;4869:32;;4382:525::o;4912:380::-;4991:1;4987:12;;;;5034;;;5055:61;;5109:4;5101:6;5097:17;5087:27;;5055:61;5162:2;5154:6;5151:14;5131:18;5128:38;5125:161;;5208:10;5203:3;5199:20;5196:1;5189:31;5243:4;5240:1;5233:15;5271:4;5268:1;5261:15;5125:161;;4912:380;;;:::o;6006:127::-;6067:10;6062:3;6058:20;6055:1;6048:31;6098:4;6095:1;6088:15;6122:4;6119:1;6112:15;6138:217;6178:1;6204;6194:132;;6248:10;6243:3;6239:20;6236:1;6229:31;6283:4;6280:1;6273:15;6311:4;6308:1;6301:15;6194:132;-1:-1:-1;6340:9:1;;6138:217::o;6709:168::-;6782:9;;;6813;;6830:15;;;6824:22;;6810:37;6800:71;;6851:18;;:::i;6882:184::-;6952:6;7005:2;6993:9;6984:7;6980:23;6976:32;6973:52;;;7021:1;7018;7011:12;6973:52;-1:-1:-1;7044:16:1;;6882:184;-1:-1:-1;6882:184:1:o;7350:245::-;7417:6;7470:2;7458:9;7449:7;7445:23;7441:32;7438:52;;;7486:1;7483;7476:12;7438:52;7518:9;7512:16;7537:28;7559:5;7537:28;:::i;8302:128::-;8369:9;;;8390:11;;;8387:37;;;8404:18;;:::i;8820:127::-;8881:10;8876:3;8872:20;8869:1;8862:31;8912:4;8909:1;8902:15;8936:4;8933:1;8926:15;8952:251;9022:6;9075:2;9063:9;9054:7;9050:23;9046:32;9043:52;;;9091:1;9088;9081:12;9043:52;9123:9;9117:16;9142:31;9167:5;9142:31;:::i;9208:125::-;9273:9;;;9294:10;;;9291:36;;;9307:18;;:::i;9338:980::-;9600:4;9648:3;9637:9;9633:19;9679:6;9668:9;9661:25;9705:2;9743:6;9738:2;9727:9;9723:18;9716:34;9786:3;9781:2;9770:9;9766:18;9759:31;9810:6;9845;9839:13;9876:6;9868;9861:22;9914:3;9903:9;9899:19;9892:26;;9953:2;9945:6;9941:15;9927:29;;9974:1;9984:195;9998:6;9995:1;9992:13;9984:195;;;10063:13;;-1:-1:-1;;;;;10059:39:1;10047:52;;10154:15;;;;10119:12;;;;10095:1;10013:9;9984:195;;;-1:-1:-1;;;;;;;10235:32:1;;;;10230:2;10215:18;;10208:60;-1:-1:-1;;;10299:3:1;10284:19;10277:35;10196:3;9338:980;-1:-1:-1;;;9338:980:1:o
Swarm Source
ipfs://3e98638b650f2645c385cd2af51caed8bd1f20e01b3930fa228be7e81812aa7b
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.