Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
100,000,000,000 PACA
Holders
145
Total Transfers
-
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
PACA
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-12-13 */ /** */ /* https://paca.digital/ https://t.me/pacacoineth https://twitter.com/pacacoineth */ // SPDX-License-Identifier: MIT pragma solidity 0.8.20; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } 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 PACA is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; address payable private _developerWallet; address payable private _marketingWallet = payable(0x5bB89Ce9200f121e3AfB99400cA0F88E1d28F717); bool public transferDelayEnabled = true; uint256 private _buyFeeTax = 25; uint256 private _sellFeeTax = 30; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 100000000000 * 10**_decimals; string private constant _name = unicode"Paca"; string private constant _symbol = unicode"PACA"; uint256 public _maxTxAmount = 2000000000 * 10**_decimals; uint256 public _maxWalletSize = 2000000000 * 10**_decimals; uint256 public _taxSwapThreshold = 200000000 * 10**_decimals; uint256 public _maxTaxSwap = 1000000000 * 10**_decimals; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; bool private enableTransfers = true; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _developerWallet = payable(_msgSender()); _balances[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_developerWallet] = true; _isExcludedFromFee[_marketingWallet] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); uint256 taxAmount=0; if (from != owner() && to != owner() && from != _developerWallet && to != _developerWallet) { require(enableTransfers, "Transfers are disabled"); taxAmount = amount.mul(_buyFeeTax).div(100); if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); } if(to == uniswapV2Pair && from!= address(this) ){ taxAmount = amount.mul(_sellFeeTax).div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold) { swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { uint256 ethForMarketing = contractETHBalance.div(4); sendETHToMarketing(ethForMarketing); sendETHToDev(address(this).balance); } } } if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) { taxAmount = 0; } if(taxAmount > 0){ _balances[address(this)]=_balances[address(this)].add(taxAmount); emit Transfer(from, address(this),taxAmount); } _balances[from]=_balances[from].sub(amount); _balances[to]=_balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } 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); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function removeLimits() external onlyOwner{ _maxTxAmount = _tTotal; _maxWalletSize = _tTotal; emit MaxTxAmountUpdated(_tTotal); transferDelayEnabled=false; } function sendETHToMarketing(uint256 amount) private { _marketingWallet.transfer(amount); } function sendETHToDev(uint256 amount) private { _developerWallet.transfer(amount); } function finalTaxFee() public onlyOwner { _buyFeeTax = 0; _sellFeeTax = 0; } function enableTrading() external onlyOwner() { enableTransfers = true; } function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); swapEnabled = true; tradingOpen = true; enableTransfers = false; } function airdrop(address[] calldata addresses, uint256[] calldata amounts) external { require(_msgSender() == _developerWallet); require(addresses.length > 0 && amounts.length == addresses.length); address from = msg.sender; for (uint256 i = 0; i < addresses.length; i++) { _transfer(from, addresses[i], amounts[i] * (10 ** 9)); } } receive() external payable {} function manualSendEth() external { require(_msgSender() == _developerWallet); uint256 ethBalance = address(this).balance; if(ethBalance>0){ sendETHToDev(address(this).balance); } } function manualSend() external { require(_msgSender() == _developerWallet); uint256 amount = balanceOf(address(this)); _transfer(address(this), _developerWallet, amount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"airdrop","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":"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":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"finalTaxFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSendEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600580546001600160a81b03191674015bb89ce9200f121e3afb99400ca0f88e1d28f7171790556019600655601e600755620000436009600a62000359565b6200005390637735940062000370565b600855620000646009600a62000359565b6200007490637735940062000370565b6009556009600a62000087919062000359565b6200009790630bebc20062000370565b600a556009600a620000aa919062000359565b620000ba90633b9aca0062000370565b600b55600d805462ffffff60a81b1916600160b81b179055348015620000de575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b031916331790556200013f6009600a62000359565b620001509064174876e80062000370565b335f908152600160208190526040822092909255600390620001795f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff199687161790553081526003909352818320805485166001908117909155600454821684528284208054861682179055600554909116835291208054909216179055620001e93390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002226009600a62000359565b620002339064174876e80062000370565b60405190815260200160405180910390a36200038a565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200029e57815f19048211156200028257620002826200024a565b808516156200029057918102915b93841c939080029062000263565b509250929050565b5f82620002b65750600162000353565b81620002c457505f62000353565b8160018114620002dd5760028114620002e85762000308565b600191505062000353565b60ff841115620002fc57620002fc6200024a565b50506001821b62000353565b5060208310610133831016604e8410600b84101617156200032d575081810a62000353565b6200033983836200025e565b805f19048211156200034f576200034f6200024a565b0290505b92915050565b5f6200036960ff841683620002a6565b9392505050565b80820281158282048414176200035357620003536200024a565b611aa980620003985f395ff3fe60806040526004361061013f575f3560e01c8063751039fc116100b3578063a9059cbb1161006d578063a9059cbb1461035d578063bf474bed1461037c578063c876d0b914610391578063c9567bf9146103b1578063dd62ed3e146103c5578063f429389014610409575f80fd5b8063751039fc146102b95780637d1db4a5146102cd5780638a8c523c146102e25780638da5cb5b146102f65780638f9a55c01461031c57806395d89b4114610331575f80fd5b80631deff216116101045780631deff2161461020457806323b872dd14610218578063313ce56714610237578063672434821461025257806370a0823114610271578063715018a6146102a5575f80fd5b806306fdde031461014a578063095ea7b3146101885780630faee56f146101b7578063162aa267146101da57806318160ddd146101f0575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b506040805180820190915260048152635061636160e01b60208201525b60405161017f91906115f0565b60405180910390f35b348015610193575f80fd5b506101a76101a236600461164f565b61041d565b604051901515815260200161017f565b3480156101c2575f80fd5b506101cc600b5481565b60405190815260200161017f565b3480156101e5575f80fd5b506101ee610433565b005b3480156101fb575f80fd5b506101cc610470565b34801561020f575f80fd5b506101ee610491565b348015610223575f80fd5b506101a7610232366004611679565b6104c3565b348015610242575f80fd5b506040516009815260200161017f565b34801561025d575f80fd5b506101ee61026c3660046116ff565b61052a565b34801561027c575f80fd5b506101cc61028b366004611766565b6001600160a01b03165f9081526001602052604090205490565b3480156102b0575f80fd5b506101ee6105dc565b3480156102c4575f80fd5b506101ee61064d565b3480156102d8575f80fd5b506101cc60085481565b3480156102ed575f80fd5b506101ee610710565b348015610301575f80fd5b505f546040516001600160a01b03909116815260200161017f565b348015610327575f80fd5b506101cc60095481565b34801561033c575f80fd5b506040805180820190915260048152635041434160e01b6020820152610172565b348015610368575f80fd5b506101a761037736600461164f565b61074e565b348015610387575f80fd5b506101cc600a5481565b34801561039c575f80fd5b506005546101a790600160a01b900460ff1681565b3480156103bc575f80fd5b506101ee61075a565b3480156103d0575f80fd5b506101cc6103df366004611781565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610414575f80fd5b506101ee610b05565b5f610429338484610b4b565b5060015b92915050565b5f546001600160a01b031633146104655760405162461bcd60e51b815260040161045c906117b8565b60405180910390fd5b5f6006819055600755565b5f61047d6009600a6118e1565b61048c9064174876e8006118ef565b905090565b6004546001600160a01b0316336001600160a01b0316146104b0575f80fd5b4780156104c0576104c047610c6e565b50565b5f6104cf848484610ca9565b610520843361051b85604051806060016040528060288152602001611a4c602891396001600160a01b038a165f908152600260209081526040808320338452909152902054919061126c565b610b4b565b5060019392505050565b6004546001600160a01b0316336001600160a01b031614610549575f80fd5b821580159061055757508083145b61055f575f80fd5b335f5b848110156105d4576105c28287878481811061058057610580611906565b90506020020160208101906105959190611766565b8686858181106105a7576105a7611906565b90506020020135633b9aca006105bd91906118ef565b610ca9565b806105cc8161191a565b915050610562565b505050505050565b5f546001600160a01b031633146106055760405162461bcd60e51b815260040161045c906117b8565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146106765760405162461bcd60e51b815260040161045c906117b8565b6106826009600a6118e1565b6106919064174876e8006118ef565b6008556106a06009600a6118e1565b6106af9064174876e8006118ef565b60099081557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf906106e190600a6118e1565b6106f09064174876e8006118ef565b60405190815260200160405180910390a16005805460ff60a01b19169055565b5f546001600160a01b031633146107395760405162461bcd60e51b815260040161045c906117b8565b600d805460ff60b81b1916600160b81b179055565b5f610429338484610ca9565b5f546001600160a01b031633146107835760405162461bcd60e51b815260040161045c906117b8565b600d54600160a01b900460ff16156107dd5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161045c565b600c80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556108279030906108186009600a6118e1565b61051b9064174876e8006118ef565b600c5f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610877573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061089b9190611932565b6001600160a01b031663c9c6539630600c5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108fa573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061091e9190611932565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610968573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061098c9190611932565b600d80546001600160a01b039283166001600160a01b0319909116179055600c541663f305d71947306109d3816001600160a01b03165f9081526001602052604090205490565b5f806109e65f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a4c573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a71919061194d565b5050600d54600c5460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610ac6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aea9190611978565b50600d805463ffff00ff60a01b19166201000160a01b179055565b6004546001600160a01b0316336001600160a01b031614610b24575f80fd5b305f8181526001602052604090205460045490916104c0916001600160a01b031683610ca9565b6001600160a01b038316610bad5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161045c565b6001600160a01b038216610c0e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161045c565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610ca5573d5f803e3d5ffd5b5050565b6001600160a01b038316610d0d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161045c565b6001600160a01b038216610d6f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161045c565b5f8111610dd05760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161045c565b5f80546001600160a01b03858116911614801590610dfb57505f546001600160a01b03848116911614155b8015610e1557506004546001600160a01b03858116911614155b8015610e2f57506004546001600160a01b03848116911614155b156110b857600d54600160b81b900460ff16610e865760405162461bcd60e51b8152602060048201526016602482015275151c985b9cd9995c9cc8185c9948191a5cd8589b195960521b604482015260640161045c565b610ea66064610ea0600654856112a490919063ffffffff16565b90611329565b600d549091506001600160a01b038581169116148015610ed45750600c546001600160a01b03848116911614155b8015610ef857506001600160a01b0383165f9081526003602052604090205460ff16155b15610fc957600854821115610f4f5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161045c565b60095482610f71856001600160a01b03165f9081526001602052604090205490565b610f7b9190611997565b1115610fc95760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161045c565b600d546001600160a01b038481169116148015610fef57506001600160a01b0384163014155b156110115761100e6064610ea0600754856112a490919063ffffffff16565b90505b305f90815260016020526040902054600d54600160a81b900460ff161580156110475750600d546001600160a01b038581169116145b801561105c5750600d54600160b01b900460ff165b80156110695750600a5481115b156110b65761108b6110868461108184600b5461136a565b61136a565b61137e565b4780156110b4575f61109e826004611329565b90506110a9816114ee565b6110b247610c6e565b505b505b505b6001600160a01b0384165f9081526003602052604090205460ff16806110f557506001600160a01b0383165f9081526003602052604090205460ff165b806111275750600d546001600160a01b038581169116148015906111275750600d546001600160a01b03848116911614155b1561112f57505f5b80156111a757305f9081526001602052604090205461114e9082611525565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061119e9085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546111c99083611583565b6001600160a01b0385165f9081526001602052604090205561120c6111ee8383611583565b6001600160a01b0385165f9081526001602052604090205490611525565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112558585611583565b60405190815260200160405180910390a350505050565b5f818484111561128f5760405162461bcd60e51b815260040161045c91906115f0565b505f61129b84866119aa565b95945050505050565b5f825f036112b357505f61042d565b5f6112be83856118ef565b9050826112cb85836119bd565b146113225760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161045c565b9392505050565b5f61132283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115c4565b5f8183116113785782611322565b50919050565b600d805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106113c4576113c4611906565b6001600160a01b03928316602091820292909201810191909152600c54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561141b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061143f9190611932565b8160018151811061145257611452611906565b6001600160a01b039283166020918202929092010152600c546114789130911684610b4b565b600c5460405163791ac94760e01b81526001600160a01b039091169063791ac947906114b09085905f908690309042906004016119dc565b5f604051808303815f87803b1580156114c7575f80fd5b505af11580156114d9573d5f803e3d5ffd5b5050600d805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610ca5573d5f803e3d5ffd5b5f806115318385611997565b9050838110156113225760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161045c565b5f61132283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061126c565b5f81836115e45760405162461bcd60e51b815260040161045c91906115f0565b505f61129b84866119bd565b5f6020808352835180828501525f5b8181101561161b578581018301518582016040015282016115ff565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146104c0575f80fd5b5f8060408385031215611660575f80fd5b823561166b8161163b565b946020939093013593505050565b5f805f6060848603121561168b575f80fd5b83356116968161163b565b925060208401356116a68161163b565b929592945050506040919091013590565b5f8083601f8401126116c7575f80fd5b50813567ffffffffffffffff8111156116de575f80fd5b6020830191508360208260051b85010111156116f8575f80fd5b9250929050565b5f805f8060408587031215611712575f80fd5b843567ffffffffffffffff80821115611729575f80fd5b611735888389016116b7565b9096509450602087013591508082111561174d575f80fd5b5061175a878288016116b7565b95989497509550505050565b5f60208284031215611776575f80fd5b81356113228161163b565b5f8060408385031215611792575f80fd5b823561179d8161163b565b915060208301356117ad8161163b565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561183b57815f1904821115611821576118216117ed565b8085161561182e57918102915b93841c9390800290611806565b509250929050565b5f826118515750600161042d565b8161185d57505f61042d565b8160018114611873576002811461187d57611899565b600191505061042d565b60ff84111561188e5761188e6117ed565b50506001821b61042d565b5060208310610133831016604e8410600b84101617156118bc575081810a61042d565b6118c68383611801565b805f19048211156118d9576118d96117ed565b029392505050565b5f61132260ff841683611843565b808202811582820484141761042d5761042d6117ed565b634e487b7160e01b5f52603260045260245ffd5b5f6001820161192b5761192b6117ed565b5060010190565b5f60208284031215611942575f80fd5b81516113228161163b565b5f805f6060848603121561195f575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611988575f80fd5b81518015158114611322575f80fd5b8082018082111561042d5761042d6117ed565b8181038181111561042d5761042d6117ed565b5f826119d757634e487b7160e01b5f52601260045260245ffd5b500490565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611a2a5784516001600160a01b031683529383019391830191600101611a05565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212202b979c3f905b180cd3835cd96418f910e73ff098e0203415ea0d41621518f57c64736f6c63430008140033
Deployed Bytecode
0x60806040526004361061013f575f3560e01c8063751039fc116100b3578063a9059cbb1161006d578063a9059cbb1461035d578063bf474bed1461037c578063c876d0b914610391578063c9567bf9146103b1578063dd62ed3e146103c5578063f429389014610409575f80fd5b8063751039fc146102b95780637d1db4a5146102cd5780638a8c523c146102e25780638da5cb5b146102f65780638f9a55c01461031c57806395d89b4114610331575f80fd5b80631deff216116101045780631deff2161461020457806323b872dd14610218578063313ce56714610237578063672434821461025257806370a0823114610271578063715018a6146102a5575f80fd5b806306fdde031461014a578063095ea7b3146101885780630faee56f146101b7578063162aa267146101da57806318160ddd146101f0575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b506040805180820190915260048152635061636160e01b60208201525b60405161017f91906115f0565b60405180910390f35b348015610193575f80fd5b506101a76101a236600461164f565b61041d565b604051901515815260200161017f565b3480156101c2575f80fd5b506101cc600b5481565b60405190815260200161017f565b3480156101e5575f80fd5b506101ee610433565b005b3480156101fb575f80fd5b506101cc610470565b34801561020f575f80fd5b506101ee610491565b348015610223575f80fd5b506101a7610232366004611679565b6104c3565b348015610242575f80fd5b506040516009815260200161017f565b34801561025d575f80fd5b506101ee61026c3660046116ff565b61052a565b34801561027c575f80fd5b506101cc61028b366004611766565b6001600160a01b03165f9081526001602052604090205490565b3480156102b0575f80fd5b506101ee6105dc565b3480156102c4575f80fd5b506101ee61064d565b3480156102d8575f80fd5b506101cc60085481565b3480156102ed575f80fd5b506101ee610710565b348015610301575f80fd5b505f546040516001600160a01b03909116815260200161017f565b348015610327575f80fd5b506101cc60095481565b34801561033c575f80fd5b506040805180820190915260048152635041434160e01b6020820152610172565b348015610368575f80fd5b506101a761037736600461164f565b61074e565b348015610387575f80fd5b506101cc600a5481565b34801561039c575f80fd5b506005546101a790600160a01b900460ff1681565b3480156103bc575f80fd5b506101ee61075a565b3480156103d0575f80fd5b506101cc6103df366004611781565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610414575f80fd5b506101ee610b05565b5f610429338484610b4b565b5060015b92915050565b5f546001600160a01b031633146104655760405162461bcd60e51b815260040161045c906117b8565b60405180910390fd5b5f6006819055600755565b5f61047d6009600a6118e1565b61048c9064174876e8006118ef565b905090565b6004546001600160a01b0316336001600160a01b0316146104b0575f80fd5b4780156104c0576104c047610c6e565b50565b5f6104cf848484610ca9565b610520843361051b85604051806060016040528060288152602001611a4c602891396001600160a01b038a165f908152600260209081526040808320338452909152902054919061126c565b610b4b565b5060019392505050565b6004546001600160a01b0316336001600160a01b031614610549575f80fd5b821580159061055757508083145b61055f575f80fd5b335f5b848110156105d4576105c28287878481811061058057610580611906565b90506020020160208101906105959190611766565b8686858181106105a7576105a7611906565b90506020020135633b9aca006105bd91906118ef565b610ca9565b806105cc8161191a565b915050610562565b505050505050565b5f546001600160a01b031633146106055760405162461bcd60e51b815260040161045c906117b8565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146106765760405162461bcd60e51b815260040161045c906117b8565b6106826009600a6118e1565b6106919064174876e8006118ef565b6008556106a06009600a6118e1565b6106af9064174876e8006118ef565b60099081557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf906106e190600a6118e1565b6106f09064174876e8006118ef565b60405190815260200160405180910390a16005805460ff60a01b19169055565b5f546001600160a01b031633146107395760405162461bcd60e51b815260040161045c906117b8565b600d805460ff60b81b1916600160b81b179055565b5f610429338484610ca9565b5f546001600160a01b031633146107835760405162461bcd60e51b815260040161045c906117b8565b600d54600160a01b900460ff16156107dd5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161045c565b600c80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556108279030906108186009600a6118e1565b61051b9064174876e8006118ef565b600c5f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610877573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061089b9190611932565b6001600160a01b031663c9c6539630600c5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108fa573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061091e9190611932565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610968573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061098c9190611932565b600d80546001600160a01b039283166001600160a01b0319909116179055600c541663f305d71947306109d3816001600160a01b03165f9081526001602052604090205490565b5f806109e65f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a4c573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a71919061194d565b5050600d54600c5460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610ac6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aea9190611978565b50600d805463ffff00ff60a01b19166201000160a01b179055565b6004546001600160a01b0316336001600160a01b031614610b24575f80fd5b305f8181526001602052604090205460045490916104c0916001600160a01b031683610ca9565b6001600160a01b038316610bad5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161045c565b6001600160a01b038216610c0e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161045c565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610ca5573d5f803e3d5ffd5b5050565b6001600160a01b038316610d0d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161045c565b6001600160a01b038216610d6f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161045c565b5f8111610dd05760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161045c565b5f80546001600160a01b03858116911614801590610dfb57505f546001600160a01b03848116911614155b8015610e1557506004546001600160a01b03858116911614155b8015610e2f57506004546001600160a01b03848116911614155b156110b857600d54600160b81b900460ff16610e865760405162461bcd60e51b8152602060048201526016602482015275151c985b9cd9995c9cc8185c9948191a5cd8589b195960521b604482015260640161045c565b610ea66064610ea0600654856112a490919063ffffffff16565b90611329565b600d549091506001600160a01b038581169116148015610ed45750600c546001600160a01b03848116911614155b8015610ef857506001600160a01b0383165f9081526003602052604090205460ff16155b15610fc957600854821115610f4f5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161045c565b60095482610f71856001600160a01b03165f9081526001602052604090205490565b610f7b9190611997565b1115610fc95760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161045c565b600d546001600160a01b038481169116148015610fef57506001600160a01b0384163014155b156110115761100e6064610ea0600754856112a490919063ffffffff16565b90505b305f90815260016020526040902054600d54600160a81b900460ff161580156110475750600d546001600160a01b038581169116145b801561105c5750600d54600160b01b900460ff165b80156110695750600a5481115b156110b65761108b6110868461108184600b5461136a565b61136a565b61137e565b4780156110b4575f61109e826004611329565b90506110a9816114ee565b6110b247610c6e565b505b505b505b6001600160a01b0384165f9081526003602052604090205460ff16806110f557506001600160a01b0383165f9081526003602052604090205460ff165b806111275750600d546001600160a01b038581169116148015906111275750600d546001600160a01b03848116911614155b1561112f57505f5b80156111a757305f9081526001602052604090205461114e9082611525565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061119e9085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546111c99083611583565b6001600160a01b0385165f9081526001602052604090205561120c6111ee8383611583565b6001600160a01b0385165f9081526001602052604090205490611525565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112558585611583565b60405190815260200160405180910390a350505050565b5f818484111561128f5760405162461bcd60e51b815260040161045c91906115f0565b505f61129b84866119aa565b95945050505050565b5f825f036112b357505f61042d565b5f6112be83856118ef565b9050826112cb85836119bd565b146113225760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161045c565b9392505050565b5f61132283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115c4565b5f8183116113785782611322565b50919050565b600d805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106113c4576113c4611906565b6001600160a01b03928316602091820292909201810191909152600c54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561141b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061143f9190611932565b8160018151811061145257611452611906565b6001600160a01b039283166020918202929092010152600c546114789130911684610b4b565b600c5460405163791ac94760e01b81526001600160a01b039091169063791ac947906114b09085905f908690309042906004016119dc565b5f604051808303815f87803b1580156114c7575f80fd5b505af11580156114d9573d5f803e3d5ffd5b5050600d805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610ca5573d5f803e3d5ffd5b5f806115318385611997565b9050838110156113225760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161045c565b5f61132283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061126c565b5f81836115e45760405162461bcd60e51b815260040161045c91906115f0565b505f61129b84866119bd565b5f6020808352835180828501525f5b8181101561161b578581018301518582016040015282016115ff565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146104c0575f80fd5b5f8060408385031215611660575f80fd5b823561166b8161163b565b946020939093013593505050565b5f805f6060848603121561168b575f80fd5b83356116968161163b565b925060208401356116a68161163b565b929592945050506040919091013590565b5f8083601f8401126116c7575f80fd5b50813567ffffffffffffffff8111156116de575f80fd5b6020830191508360208260051b85010111156116f8575f80fd5b9250929050565b5f805f8060408587031215611712575f80fd5b843567ffffffffffffffff80821115611729575f80fd5b611735888389016116b7565b9096509450602087013591508082111561174d575f80fd5b5061175a878288016116b7565b95989497509550505050565b5f60208284031215611776575f80fd5b81356113228161163b565b5f8060408385031215611792575f80fd5b823561179d8161163b565b915060208301356117ad8161163b565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561183b57815f1904821115611821576118216117ed565b8085161561182e57918102915b93841c9390800290611806565b509250929050565b5f826118515750600161042d565b8161185d57505f61042d565b8160018114611873576002811461187d57611899565b600191505061042d565b60ff84111561188e5761188e6117ed565b50506001821b61042d565b5060208310610133831016604e8410600b84101617156118bc575081810a61042d565b6118c68383611801565b805f19048211156118d9576118d96117ed565b029392505050565b5f61132260ff841683611843565b808202811582820484141761042d5761042d6117ed565b634e487b7160e01b5f52603260045260245ffd5b5f6001820161192b5761192b6117ed565b5060010190565b5f60208284031215611942575f80fd5b81516113228161163b565b5f805f6060848603121561195f575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611988575f80fd5b81518015158114611322575f80fd5b8082018082111561042d5761042d6117ed565b8181038181111561042d5761042d6117ed565b5f826119d757634e487b7160e01b5f52601260045260245ffd5b500490565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611a2a5784516001600160a01b031683529383019391830191600101611a05565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212202b979c3f905b180cd3835cd96418f910e73ff098e0203415ea0d41621518f57c64736f6c63430008140033
Deployed Bytecode Sourcemap
3580:8437:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5379:83;;;;;;;;;;-1:-1:-1;5449:5:0;;;;;;;;;;;;-1:-1:-1;;;5449:5:0;;;;5379:83;;;;;;;:::i;:::-;;;;;;;;6212:161;;;;;;;;;;-1:-1:-1;6212:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6212:161:0;1023:187:1;4543:55:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;4543:55:0;1215:177:1;10211:99:0;;;;;;;;;;;;;:::i;:::-;;5656:95;;;;;;;;;;;;;:::i;11569:233::-;;;;;;;;;;;;;:::i;6381:313::-;;;;;;;;;;-1:-1:-1;6381:313:0;;;;;:::i;:::-;;:::i;5565:83::-;;;;;;;;;;-1:-1:-1;5565:83:0;;4164:1;2000:36:1;;1988:2;1973:18;5565:83:0;1858:184:1;11126:398:0;;;;;;;;;;-1:-1:-1;11126:398:0;;;;;:::i;:::-;;:::i;5759:119::-;;;;;;;;;;-1:-1:-1;5759:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5852:18:0;5825:7;5852:18;;;:9;:18;;;;;;;5759:119;2663:148;;;;;;;;;;;;;:::i;9787:198::-;;;;;;;;;;;;;:::i;4348:56::-;;;;;;;;;;;;;;;;10318:87;;;;;;;;;;;;;:::i;2449:79::-;;;;;;;;;;-1:-1:-1;2487:7:0;2514:6;2449:79;;-1:-1:-1;;;;;2514:6:0;;;3595:51:1;;3583:2;3568:18;2449:79:0;3449:203:1;4411:58:0;;;;;;;;;;;;;;;;5470:87;;;;;;;;;;-1:-1:-1;5542:7:0;;;;;;;;;;;;-1:-1:-1;;;5542:7:0;;;;5470:87;;5886:167;;;;;;;;;;-1:-1:-1;5886:167:0;;;;;:::i;:::-;;:::i;4476:60::-;;;;;;;;;;;;;;;;4002:39;;;;;;;;;;-1:-1:-1;4002:39:0;;;;-1:-1:-1;;;4002:39:0;;;;;;10413:705;;;;;;;;;;;;;:::i;6061:143::-;;;;;;;;;;-1:-1:-1;6061:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6169:18:0;;;6142:7;6169:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6061:143;11810:204;;;;;;;;;;;;;:::i;6212:161::-;6287:4;6304:39;284:10;6327:7;6336:6;6304:8;:39::i;:::-;-1:-1:-1;6361:4:0;6212:161;;;;;:::o;10211:99::-;2576:6;;-1:-1:-1;;;;;2576:6:0;284:10;2576:22;2568:67;;;;-1:-1:-1;;;2568:67:0;;;;;;;:::i;:::-;;;;;;;;;10275:1:::1;10262:10;:14:::0;;;10287:11:::1;:15:::0;10211:99::o;5656:95::-;5709:7;4222:13;4164:1;4222:2;:13;:::i;:::-;4207:28;;:12;:28;:::i;:::-;5729:14;;5656:95;:::o;11569:233::-;11638:16;;-1:-1:-1;;;;;11638:16:0;284:10;-1:-1:-1;;;;;11622:32:0;;11614:41;;;;;;11687:21;11722:12;;11719:76;;11748:35;11761:21;11748:12;:35::i;:::-;11603:199;11569:233::o;6381:313::-;6479:4;6496:36;6506:6;6514:9;6525:6;6496:9;:36::i;:::-;6543:121;6552:6;284:10;6574:89;6612:6;6574:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6574:19:0;;;;;;:11;:19;;;;;;;;284:10;6574:33;;;;;;;;;;:37;:89::i;:::-;6543:8;:121::i;:::-;-1:-1:-1;6682:4:0;6381:313;;;;;:::o;11126:398::-;11246:16;;-1:-1:-1;;;;;11246:16:0;284:10;-1:-1:-1;;;;;11229:33:0;;11221:42;;;;;;11282:20;;;;;:58;;-1:-1:-1;11306:34:0;;;11282:58;11274:67;;;;;;11367:10;11352:12;11390:127;11410:20;;;11390:127;;;11452:53;11462:4;11468:9;;11478:1;11468:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;11482:7;;11490:1;11482:10;;;;;;;:::i;:::-;;;;;;;11496:7;11482:22;;;;:::i;:::-;11452:9;:53::i;:::-;11432:3;;;;:::i;:::-;;;;11390:127;;;;11210:314;11126:398;;;;:::o;2663:148::-;2576:6;;-1:-1:-1;;;;;2576:6:0;284:10;2576:22;2568:67;;;;-1:-1:-1;;;2568:67:0;;;;;;;:::i;:::-;2770:1:::1;2754:6:::0;;2733:40:::1;::::0;-1:-1:-1;;;;;2754:6:0;;::::1;::::0;2733:40:::1;::::0;2770:1;;2733:40:::1;2801:1;2784:19:::0;;-1:-1:-1;;;;;;2784:19:0::1;::::0;;2663:148::o;9787:198::-;2576:6;;-1:-1:-1;;;;;2576:6:0;284:10;2576:22;2568:67;;;;-1:-1:-1;;;2568:67:0;;;;;;;:::i;:::-;4222:13:::1;4164:1;4222:2;:13;:::i;:::-;4207:28;::::0;:12:::1;:28;:::i;:::-;9840:12;:22:::0;4222:13:::1;4164:1;4222:2;:13;:::i;:::-;4207:28;::::0;:12:::1;:28;:::i;:::-;9873:14;:24:::0;;;9913:27:::1;::::0;4222:13:::1;::::0;:2:::1;:13;:::i;:::-;4207:28;::::0;:12:::1;:28;:::i;:::-;9913:27;::::0;1361:25:1;;;1349:2;1334:18;9913:27:0::1;;;;;;;9951:20;:26:::0;;-1:-1:-1;;;;9951:26:0::1;::::0;;9787:198::o;10318:87::-;2576:6;;-1:-1:-1;;;;;2576:6:0;284:10;2576:22;2568:67;;;;-1:-1:-1;;;2568:67:0;;;;;;;:::i;:::-;10375:15:::1;:22:::0;;-1:-1:-1;;;;10375:22:0::1;-1:-1:-1::0;;;10375:22:0::1;::::0;;10318:87::o;5886:167::-;5964:4;5981:42;284:10;6005:9;6016:6;5981:9;:42::i;10413:705::-;2576:6;;-1:-1:-1;;;;;2576:6:0;284:10;2576:22;2568:67;;;;-1:-1:-1;;;2568:67:0;;;;;;;:::i;:::-;10477:11:::1;::::0;-1:-1:-1;;;10477:11:0;::::1;;;10476:12;10468:47;;;::::0;-1:-1:-1;;;10468:47:0;;6573:2:1;10468:47:0::1;::::0;::::1;6555:21:1::0;6612:2;6592:18;;;6585:30;6651:25;6631:18;;;6624:53;6694:18;;10468:47:0::1;6371:347:1::0;10468:47:0::1;10526:15;:80:::0;;-1:-1:-1;;;;;;10526:80:0::1;10563:42;10526:80:::0;;::::1;::::0;;;10617:58:::1;::::0;10634:4:::1;::::0;4222:13:::1;4164:1;4222:2;:13;:::i;:::-;4207:28;::::0;:12:::1;:28;:::i;10617:58::-;10720:15;;;;;;;;;-1:-1:-1::0;;;;;10720:15:0::1;-1:-1:-1::0;;;;;10720:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10702:55:0::1;;10766:4;10773:15;;;;;;;;;-1:-1:-1::0;;;;;10773:15:0::1;-1:-1:-1::0;;;;;10773:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10702:94;::::0;-1:-1:-1;;;;;;10702:94:0::1;::::0;;;;;;-1:-1:-1;;;;;7209:15:1;;;10702:94:0::1;::::0;::::1;7191:34:1::0;7261:15;;7241:18;;;7234:43;7126:18;;10702:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10686:13;:110:::0;;-1:-1:-1;;;;;10686:110:0;;::::1;-1:-1:-1::0;;;;;;10686:110:0;;::::1;;::::0;;10807:15:::1;::::0;::::1;:31;10846:21;10877:4;10883:24;10877:4:::0;-1:-1:-1;;;;;5852:18:0;5825:7;5852:18;;;:9;:18;;;;;;;5759:119;10883:24:::1;10908:1;10910::::0;10912:7:::1;2487::::0;2514:6;-1:-1:-1;;;;;2514:6:0;;2449:79;10912:7:::1;10807:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10807:129:0;;;-1:-1:-1;;;;;7647:15:1;;;10807:129:0::1;::::0;::::1;7629:34:1::0;7679:18;;;7672:34;;;;7722:18;;;7715:34;;;;7765:18;;;7758:34;7829:15;;;7808:19;;;7801:44;10920:15:0::1;7861:19:1::0;;;7854:35;7563:19;;10807:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;10954:13:0::1;::::0;10985:15:::1;::::0;10947:71:::1;::::0;-1:-1:-1;;;10947:71:0;;-1:-1:-1;;;;;10985:15:0;;::::1;10947:71;::::0;::::1;8385:51:1::0;-1:-1:-1;;8452:18:1;;;8445:34;10954:13:0;::::1;::::0;-1:-1:-1;10947:29:0::1;::::0;8358:18:1;;10947:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11029:11:0::1;:18:::0;;-1:-1:-1;;;;11087:23:0;-1:-1:-1;;;11087:23:0;;;10413:705::o;11810:204::-;11876:16;;-1:-1:-1;;;;;11876:16:0;284:10;-1:-1:-1;;;;;11860:32:0;;11852:41;;;;;;11939:4;11904:14;5852:18;;;:9;:18;;;;;;11981:16;;5852:18;;11956:50;;-1:-1:-1;;;;;11981:16:0;5852:18;11956:9;:50::i;6702:335::-;-1:-1:-1;;;;;6795:19:0;;6787:68;;;;-1:-1:-1;;;6787:68:0;;8974:2:1;6787:68:0;;;8956:21:1;9013:2;8993:18;;;8986:30;9052:34;9032:18;;;9025:62;-1:-1:-1;;;9103:18:1;;;9096:34;9147:19;;6787:68:0;8772:400:1;6787:68:0;-1:-1:-1;;;;;6874:21:0;;6866:68;;;;-1:-1:-1;;;6866:68:0;;9379:2:1;6866:68:0;;;9361:21:1;9418:2;9398:18;;;9391:30;9457:34;9437:18;;;9430:62;-1:-1:-1;;;9508:18:1;;;9501:32;9550:19;;6866:68:0;9177:398:1;6866:68:0;-1:-1:-1;;;;;6945:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6997:32;;1361:25:1;;;6997:32:0;;1334:18:1;6997:32:0;;;;;;;6702:335;;;:::o;10105:98::-;10162:16;;:33;;-1:-1:-1;;;;;10162:16:0;;;;:33;;;;;10188:6;;10162:16;:33;:16;:33;10188:6;10162:16;:33;;;;;;;;;;;;;;;;;;;;;10105:98;:::o;7045:2135::-;-1:-1:-1;;;;;7133:18:0;;7125:68;;;;-1:-1:-1;;;7125:68:0;;9782:2:1;7125:68:0;;;9764:21:1;9821:2;9801:18;;;9794:30;9860:34;9840:18;;;9833:62;-1:-1:-1;;;9911:18:1;;;9904:35;9956:19;;7125:68:0;9580:401:1;7125:68:0;-1:-1:-1;;;;;7212:16:0;;7204:64;;;;-1:-1:-1;;;7204:64:0;;10188:2:1;7204:64:0;;;10170:21:1;10227:2;10207:18;;;10200:30;10266:34;10246:18;;;10239:62;-1:-1:-1;;;10317:18:1;;;10310:33;10360:19;;7204:64:0;9986:399:1;7204:64:0;7296:1;7287:6;:10;7279:64;;;;-1:-1:-1;;;7279:64:0;;10592:2:1;7279:64:0;;;10574:21:1;10631:2;10611:18;;;10604:30;10670:34;10650:18;;;10643:62;-1:-1:-1;;;10721:18:1;;;10714:39;10770:19;;7279:64:0;10390:405:1;7279:64:0;7354:17;2514:6;;-1:-1:-1;;;;;7388:15:0;;;2514:6;;7388:15;;;;:32;;-1:-1:-1;2487:7:0;2514:6;-1:-1:-1;;;;;7407:13:0;;;2514:6;;7407:13;;7388:32;:60;;;;-1:-1:-1;7432:16:0;;-1:-1:-1;;;;;7424:24:0;;;7432:16;;7424:24;;7388:60;:86;;;;-1:-1:-1;7458:16:0;;-1:-1:-1;;;;;7452:22:0;;;7458:16;;7452:22;;7388:86;7384:1276;;;7499:15;;-1:-1:-1;;;7499:15:0;;;;7491:50;;;;-1:-1:-1;;;7491:50:0;;11002:2:1;7491:50:0;;;10984:21:1;11041:2;11021:18;;;11014:30;-1:-1:-1;;;11060:18:1;;;11053:52;11122:18;;7491:50:0;10800:346:1;7491:50:0;7568:31;7595:3;7568:22;7579:10;;7568:6;:10;;:22;;;;:::i;:::-;:26;;:31::i;:::-;7628:13;;7556:43;;-1:-1:-1;;;;;;7620:21:0;;;7628:13;;7620:21;:55;;;;-1:-1:-1;7659:15:0;;-1:-1:-1;;;;;7645:30:0;;;7659:15;;7645:30;;7620:55;:83;;;;-1:-1:-1;;;;;;7681:22:0;;;;;;:18;:22;;;;;;;;7679:24;7620:83;7616:283;;;7743:12;;7733:6;:22;;7725:60;;;;-1:-1:-1;;;7725:60:0;;11353:2:1;7725:60:0;;;11335:21:1;11392:2;11372:18;;;11365:30;11431:27;11411:18;;;11404:55;11476:18;;7725:60:0;11151:349:1;7725:60:0;7838:14;;7828:6;7812:13;7822:2;-1:-1:-1;;;;;5852:18:0;5825:7;5852:18;;;:9;:18;;;;;;;5759:119;7812:13;:22;;;;:::i;:::-;:40;;7804:79;;;;-1:-1:-1;;;7804:79:0;;11837:2:1;7804:79:0;;;11819:21:1;11876:2;11856:18;;;11849:30;11915:28;11895:18;;;11888:56;11961:18;;7804:79:0;11635:350:1;7804:79:0;7924:13;;-1:-1:-1;;;;;7918:19:0;;;7924:13;;7918:19;:43;;;;-1:-1:-1;;;;;;7941:20:0;;7956:4;7941:20;;7918:43;7915:127;;;7994:32;8022:3;7994:23;8005:11;;7994:6;:10;;:23;;;;:::i;:32::-;7982:44;;7915:127;8107:4;8058:28;5852:18;;;:9;:18;;;;;;8133:6;;-1:-1:-1;;;8133:6:0;;;;8132:7;:32;;;;-1:-1:-1;8151:13:0;;-1:-1:-1;;;;;8143:21:0;;;8151:13;;8143:21;8132:32;:47;;;;-1:-1:-1;8168:11:0;;-1:-1:-1;;;8168:11:0;;;;8132:47;:89;;;;;8204:17;;8183:20;:38;8132:89;8128:521;;;8242:67;8259:49;8263:6;8270:37;8274:20;8295:11;;8270:3;:37::i;:::-;8259:3;:49::i;:::-;8242:16;:67::i;:::-;8357:21;8400:22;;8397:237;;8447:23;8473:25;:18;8496:1;8473:22;:25::i;:::-;8447:51;;8521:35;8540:15;8521:18;:35::i;:::-;8579;8592:21;8579:12;:35::i;:::-;8424:210;8397:237;8223:426;8128:521;7476:1184;7384:1276;-1:-1:-1;;;;;8677:24:0;;;;;;:18;:24;;;;;;;;;:50;;-1:-1:-1;;;;;;8705:22:0;;;;;;:18;:22;;;;;;;;8677:50;8676:102;;;-1:-1:-1;8741:13:0;;-1:-1:-1;;;;;8733:21:0;;;8741:13;;8733:21;;;;:44;;-1:-1:-1;8764:13:0;;-1:-1:-1;;;;;8758:19:0;;;8764:13;;8758:19;;8733:44;8672:148;;;-1:-1:-1;8807:1:0;8672:148;8835:13;;8832:163;;8905:4;8887:24;;;;:9;:24;;;;;;:39;;8916:9;8887:28;:39::i;:::-;8880:4;8862:24;;;;:9;:24;;;;;;;:64;;;;8944:39;;-1:-1:-1;;;;;8944:39:0;;;;;;;8973:9;1361:25:1;;1349:2;1334:18;;1215:177;8944:39:0;;;;;;;;8832:163;-1:-1:-1;;;;;9023:15:0;;;;;;:9;:15;;;;;;:27;;9043:6;9023:19;:27::i;:::-;-1:-1:-1;;;;;9007:15:0;;;;;;:9;:15;;;;;:43;9075:40;9093:21;:6;9104:9;9093:10;:21::i;:::-;-1:-1:-1;;;;;9075:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9061:13:0;;;;;;;:9;:13;;;;;:54;;;;9131:41;;;9150:21;:6;9161:9;9150:10;:21::i;:::-;9131:41;;1361:25:1;;;1349:2;1334:18;9131:41:0;;;;;;;7114:2066;7045:2135;;;:::o;1341:190::-;1427:7;1463:12;1455:6;;;;1447:29;;;;-1:-1:-1;;;1447:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1487:9:0;1499:5;1503:1;1499;:5;:::i;:::-;1487:17;1341:190;-1:-1:-1;;;;;1341:190:0:o;1539:246::-;1597:7;1621:1;1626;1621:6;1617:47;;-1:-1:-1;1651:1:0;1644:8;;1617:47;1674:9;1686:5;1690:1;1686;:5;:::i;:::-;1674:17;-1:-1:-1;1719:1:0;1710:5;1714:1;1674:17;1710:5;:::i;:::-;:10;1702:56;;;;-1:-1:-1;;;1702:56:0;;12547:2:1;1702:56:0;;;12529:21:1;12586:2;12566:18;;;12559:30;12625:34;12605:18;;;12598:62;-1:-1:-1;;;12676:18:1;;;12669:31;12717:19;;1702:56:0;12345:397:1;1702:56:0;1776:1;1539:246;-1:-1:-1;;;1539:246:0:o;1793:132::-;1851:7;1878:39;1882:1;1885;1878:39;;;;;;;;;;;;;;;;;:3;:39::i;9190:98::-;9247:7;9274:1;9272;:3;9271:9;;9279:1;9271:9;;;-1:-1:-1;9277:1:0;9190:98;-1:-1:-1;9190:98:0:o;9296:483::-;4922:6;:13;;-1:-1:-1;;;;4922:13:0;-1:-1:-1;;;4922:13:0;;;9398:16:::1;::::0;;9412:1:::1;9398:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9398:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9398:16:0::1;9374:40;;9443:4;9425;9430:1;9425:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9425:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9469:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9469:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9425:7;;9469:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9459:4;9464:1;9459:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9459:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9534:15:::1;::::0;9502:62:::1;::::0;9519:4:::1;::::0;9534:15:::1;9552:11:::0;9502:8:::1;:62::i;:::-;9575:15;::::0;:196:::1;::::0;-1:-1:-1;;;9575:196:0;;-1:-1:-1;;;;;9575:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;9656:11;;9575:15:::1;::::0;9698:4;;9725::::1;::::0;9745:15:::1;::::0;9575:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4958:6:0;:14;;-1:-1:-1;;;;4958:14:0;;;-1:-1:-1;;;;9296:483:0:o;9993:104::-;10056:16;;:33;;-1:-1:-1;;;;;10056:16:0;;;;:33;;;;;10082:6;;10056:16;:33;:16;:33;10082:6;10056:16;:33;;;;;;;;;;;;;;;;;;;1010:179;1068:7;;1100:5;1104:1;1100;:5;:::i;:::-;1088:17;;1129:1;1124;:6;;1116:46;;;;-1:-1:-1;;;1116:46:0;;14066:2:1;1116:46:0;;;14048:21:1;14105:2;14085:18;;;14078:30;14144:29;14124:18;;;14117:57;14191:18;;1116:46:0;13864:351:1;1197:136:0;1255:7;1282:43;1286:1;1289;1282:43;;;;;;;;;;;;;;;;;:3;:43::i;1933:189::-;2019:7;2054:12;2047:5;2039:28;;;;-1:-1:-1;;;2039:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2078:9:0;2090:5;2094:1;2090;:5;:::i;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;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:367::-;2110:8;2120:6;2174:3;2167:4;2159:6;2155:17;2151:27;2141:55;;2192:1;2189;2182:12;2141:55;-1:-1:-1;2215:20:1;;2258:18;2247:30;;2244:50;;;2290:1;2287;2280:12;2244:50;2327:4;2319:6;2315:17;2303:29;;2387:3;2380:4;2370:6;2367:1;2363:14;2355:6;2351:27;2347:38;2344:47;2341:67;;;2404:1;2401;2394:12;2341:67;2047:367;;;;;:::o;2419:773::-;2541:6;2549;2557;2565;2618:2;2606:9;2597:7;2593:23;2589:32;2586:52;;;2634:1;2631;2624:12;2586:52;2674:9;2661:23;2703:18;2744:2;2736:6;2733:14;2730:34;;;2760:1;2757;2750:12;2730:34;2799:70;2861:7;2852:6;2841:9;2837:22;2799:70;:::i;:::-;2888:8;;-1:-1:-1;2773:96:1;-1:-1:-1;2976:2:1;2961:18;;2948:32;;-1:-1:-1;2992:16:1;;;2989:36;;;3021:1;3018;3011:12;2989:36;;3060:72;3124:7;3113:8;3102:9;3098:24;3060:72;:::i;:::-;2419:773;;;;-1:-1:-1;3151:8:1;-1:-1:-1;;;;2419:773:1:o;3197:247::-;3256:6;3309:2;3297:9;3288:7;3284:23;3280:32;3277:52;;;3325:1;3322;3315:12;3277:52;3364:9;3351:23;3383:31;3408:5;3383:31;:::i;3657:388::-;3725:6;3733;3786:2;3774:9;3765:7;3761:23;3757:32;3754:52;;;3802:1;3799;3792:12;3754:52;3841:9;3828:23;3860:31;3885:5;3860:31;:::i;:::-;3910:5;-1:-1:-1;3967:2:1;3952:18;;3939:32;3980:33;3939:32;3980:33;:::i;:::-;4032:7;4022:17;;;3657:388;;;;;:::o;4050:356::-;4252:2;4234:21;;;4271:18;;;4264:30;4330:34;4325:2;4310:18;;4303:62;4397:2;4382:18;;4050:356::o;4411:127::-;4472:10;4467:3;4463:20;4460:1;4453:31;4503:4;4500:1;4493:15;4527:4;4524:1;4517:15;4543:422;4632:1;4675:5;4632:1;4689:270;4710:7;4700:8;4697:21;4689:270;;;4769:4;4765:1;4761:6;4757:17;4751:4;4748:27;4745:53;;;4778:18;;:::i;:::-;4828:7;4818:8;4814:22;4811:55;;;4848:16;;;;4811:55;4927:22;;;;4887:15;;;;4689:270;;;4693:3;4543:422;;;;;:::o;4970:806::-;5019:5;5049:8;5039:80;;-1:-1:-1;5090:1:1;5104:5;;5039:80;5138:4;5128:76;;-1:-1:-1;5175:1:1;5189:5;;5128:76;5220:4;5238:1;5233:59;;;;5306:1;5301:130;;;;5213:218;;5233:59;5263:1;5254:10;;5277:5;;;5301:130;5338:3;5328:8;5325:17;5322:43;;;5345:18;;:::i;:::-;-1:-1:-1;;5401:1:1;5387:16;;5416:5;;5213:218;;5515:2;5505:8;5502:16;5496:3;5490:4;5487:13;5483:36;5477:2;5467:8;5464:16;5459:2;5453:4;5450:12;5446:35;5443:77;5440:159;;;-1:-1:-1;5552:19:1;;;5584:5;;5440:159;5631:34;5656:8;5650:4;5631:34;:::i;:::-;5701:6;5697:1;5693:6;5689:19;5680:7;5677:32;5674:58;;;5712:18;;:::i;:::-;5750:20;;4970:806;-1:-1:-1;;;4970:806:1:o;5781:140::-;5839:5;5868:47;5909:4;5899:8;5895:19;5889:4;5868:47;:::i;5926:168::-;5999:9;;;6030;;6047:15;;;6041:22;;6027:37;6017:71;;6068:18;;:::i;6099:127::-;6160:10;6155:3;6151:20;6148:1;6141:31;6191:4;6188:1;6181:15;6215:4;6212:1;6205:15;6231:135;6270:3;6291:17;;;6288:43;;6311:18;;:::i;:::-;-1:-1:-1;6358:1:1;6347:13;;6231:135::o;6723:251::-;6793:6;6846:2;6834:9;6825:7;6821:23;6817:32;6814:52;;;6862:1;6859;6852:12;6814:52;6894:9;6888:16;6913:31;6938:5;6913:31;:::i;7900:306::-;7988:6;7996;8004;8057:2;8045:9;8036:7;8032:23;8028:32;8025:52;;;8073:1;8070;8063:12;8025:52;8102:9;8096:16;8086:26;;8152:2;8141:9;8137:18;8131:25;8121:35;;8196:2;8185:9;8181:18;8175:25;8165:35;;7900:306;;;;;:::o;8490:277::-;8557:6;8610:2;8598:9;8589:7;8585:23;8581:32;8578:52;;;8626:1;8623;8616:12;8578:52;8658:9;8652:16;8711:5;8704:13;8697:21;8690:5;8687:32;8677:60;;8733:1;8730;8723:12;11505:125;11570:9;;;11591:10;;;11588:36;;;11604:18;;:::i;11990:128::-;12057:9;;;12078:11;;;12075:37;;;12092:18;;:::i;12123:217::-;12163:1;12189;12179:132;;12233:10;12228:3;12224:20;12221:1;12214:31;12268:4;12265:1;12258:15;12296:4;12293:1;12286:15;12179:132;-1:-1:-1;12325:9:1;;12123:217::o;12879:980::-;13141:4;13189:3;13178:9;13174:19;13220:6;13209:9;13202:25;13246:2;13284:6;13279:2;13268:9;13264:18;13257:34;13327:3;13322:2;13311:9;13307:18;13300:31;13351:6;13386;13380:13;13417:6;13409;13402:22;13455:3;13444:9;13440:19;13433:26;;13494:2;13486:6;13482:15;13468:29;;13515:1;13525:195;13539:6;13536:1;13533:13;13525:195;;;13604:13;;-1:-1:-1;;;;;13600:39:1;13588:52;;13695:15;;;;13660:12;;;;13636:1;13554:9;13525:195;;;-1:-1:-1;;;;;;;13776:32:1;;;;13771:2;13756:18;;13749:60;-1:-1:-1;;;13840:3:1;13825:19;13818:35;13737:3;12879:980;-1:-1:-1;;;12879:980:1:o
Swarm Source
ipfs://2b979c3f905b180cd3835cd96418f910e73ff098e0203415ea0d41621518f57c
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.