ERC-20
Overview
Max Total Supply
100,000,000 PEPEGOLD
Holders
23
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
2,213,586.095677233 PEPEGOLDValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
PEPEGOLD
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-05-14 */ /** Socials: Official telegram: https://t.me/goldpepe Website: https://www.goldpepe.com/ */ pragma solidity ^0.8.7; // SPDX-License-Identifier: UNLICENSED 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; address private _previousOwner; 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 PEPEGOLD is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _rOwned; mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping (address => bool) private bots; mapping (address => uint) private cooldown; mapping(address => uint256) private buycooldown; mapping(address => uint256) private sellcooldown; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 100000000 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _feeAddr1; uint256 private _feeAddr2; address payable private _feeAddrWallet; string private constant _name = "Gold Pepe"; string private constant _symbol = "PEPEGOLD"; uint8 private constant _decimals = 9; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; bool private cooldownEnabled = false; uint256 private _maxTxAmount = _tTotal; uint256 private _maxWalletSize = _tTotal; uint256 private _reduceby = 1; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _feeAddrWallet = payable(0x61a01DddDF84072451165f539dFd3a20f12Db0d2); _rOwned[_msgSender()] = _rTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_feeAddrWallet] = 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 tokenFromReflection(_rOwned[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 setCooldownEnabled(bool onoff) external onlyOwner() { cooldownEnabled = onoff; } function tokenFromReflection(uint256 rAmount) private view returns(uint256) { require(rAmount <= _rTotal, "Amount must be less than total reflections"); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function setFee() private { _feeAddr2 = _feeAddr2 * _reduceby; } function restoreAllFee() private { _feeAddr2 = 5; } 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"); _feeAddr1 = 0; _feeAddr2 = 5; if (from != owner() && to != owner()) { require(!bots[from] && !bots[to]); // Buy if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && cooldownEnabled) { // Cooldown require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); require(cooldown[to] < block.timestamp); cooldown[to] = block.timestamp + (30 seconds); } // Sell if (to == uniswapV2Pair && from != address(uniswapV2Router) && ! _isExcludedFromFee[from]) { _feeAddr1 = 0; _feeAddr2 = 5; } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && from != uniswapV2Pair && swapEnabled) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } setFee(); } } _tokenTransfer(from,to,amount); restoreAllFee; } 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 removeTransactionLimits() external onlyOwner{ _maxTxAmount = _tTotal; _maxWalletSize = _tTotal; } function sendETHToFee(uint256 amount) private { _feeAddrWallet.transfer(amount); } function setTaxToZero(uint8 reduceToZero) external onlyOwner{ _reduceby = reduceToZero; } //start function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; _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); swapEnabled = true; cooldownEnabled = true; _maxTxAmount = _tTotal.mul(3).div(100); _maxWalletSize = _tTotal.mul(4).div(100); tradingOpen = true; IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); } // Token transfer function _tokenTransfer(address sender, address recipient, uint256 amount) private { _transferStandard(sender, recipient, amount); } // Standard transfer function _transferStandard(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeTeam(tTeam); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } // Fee calculation function _takeTeam(uint256 tTeam) private { uint256 currentRate = _getRate(); uint256 rTeam = tTeam.mul(currentRate); _rOwned[address(this)] = _rOwned[address(this)].add(rTeam); } //Reflections function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } receive() external payable {} function manualswap() external { require(_msgSender() == _feeAddrWallet); uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualsend() external { require(_msgSender() == _feeAddrWallet); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _feeAddr1, _feeAddr2); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam); } function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) { uint256 tFee = tAmount.mul(taxFee).div(100); uint256 tTeam = tAmount.mul(TeamFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam); return (tTransferAmount, tFee, tTeam); } function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam); return (rAmount, rTransferAmount, rFee); } function _getRate() private view returns(uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns(uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"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":[{"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":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","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":"removeTransactionLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"reduceToZero","type":"uint8"}],"name":"setTaxToZero","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":[{"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
608060405267016345785d8a00006000196200001c919062000466565b6000196200002b919062000421565b600a556000601060156101000a81548160ff0219169083151502179055506000601060166101000a81548160ff0219169083151502179055506000601060176101000a81548160ff02191690831515021790555067016345785d8a000060115567016345785d8a00006012556001601355348015620000a957600080fd5b506000620000bc620003c260201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3507361a01ddddf84072451165f539dfd3a20f12db0d2600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a5460026000620001c6620003c260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600560006200021a620003ca60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200034d620003c260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef67016345785d8a0000604051620003b4919062000404565b60405180910390a3620004fc565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b620003fe816200045c565b82525050565b60006020820190506200041b6000830184620003f3565b92915050565b60006200042e826200045c565b91506200043b836200045c565b9250828210156200045157620004506200049e565b5b828203905092915050565b6000819050919050565b600062000473826200045c565b915062000480836200045c565b925082620004935762000492620004cd565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b613269806200050c6000396000f3fe6080604052600436106101025760003560e01c8063715018a611610095578063c1b207d511610064578063c1b207d514610330578063c3c8cd8014610347578063c9567bf91461035e578063dd62ed3e14610375578063ead9fdf7146103b257610109565b8063715018a6146102865780638da5cb5b1461029d57806395d89b41146102c8578063a9059cbb146102f357610109565b8063313ce567116100d1578063313ce567146101de5780635932ead1146102095780636fc3eaec1461023257806370a082311461024957610109565b806306fdde031461010e578063095ea7b31461013957806318160ddd1461017657806323b872dd146101a157610109565b3661010957005b600080fd5b34801561011a57600080fd5b506101236103db565b60405161013091906129b1565b60405180910390f35b34801561014557600080fd5b50610160600480360381019061015b9190612501565b610418565b60405161016d9190612996565b60405180910390f35b34801561018257600080fd5b5061018b610436565b6040516101989190612b53565b60405180910390f35b3480156101ad57600080fd5b506101c860048036038101906101c391906124ae565b610446565b6040516101d59190612996565b60405180910390f35b3480156101ea57600080fd5b506101f361051f565b6040516102009190612bc8565b60405180910390f35b34801561021557600080fd5b50610230600480360381019061022b9190612541565b610528565b005b34801561023e57600080fd5b506102476105da565b005b34801561025557600080fd5b50610270600480360381019061026b9190612414565b61064c565b60405161027d9190612b53565b60405180910390f35b34801561029257600080fd5b5061029b61069d565b005b3480156102a957600080fd5b506102b26107f0565b6040516102bf91906128c8565b60405180910390f35b3480156102d457600080fd5b506102dd610819565b6040516102ea91906129b1565b60405180910390f35b3480156102ff57600080fd5b5061031a60048036038101906103159190612501565b610856565b6040516103279190612996565b60405180910390f35b34801561033c57600080fd5b50610345610874565b005b34801561035357600080fd5b5061035c610929565b005b34801561036a57600080fd5b506103736109a3565b005b34801561038157600080fd5b5061039c6004803603810190610397919061246e565b610f59565b6040516103a99190612b53565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d491906125ee565b610fe0565b005b60606040518060400160405280600981526020017f476f6c6420506570650000000000000000000000000000000000000000000000815250905090565b600061042c610425611082565b848461108a565b6001905092915050565b600067016345785d8a0000905090565b6000610453848484611255565b6105148461045f611082565b61050f8560405180606001604052806028815260200161320c60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104c5611082565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118f09092919063ffffffff16565b61108a565b600190509392505050565b60006009905090565b610530611082565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b490612a93565b60405180910390fd5b80601060176101000a81548160ff02191690831515021790555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661061b611082565b73ffffffffffffffffffffffffffffffffffffffff161461063b57600080fd5b600047905061064981611954565b50565b6000610696600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119c0565b9050919050565b6106a5611082565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610732576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072990612a93565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600881526020017f50455045474f4c44000000000000000000000000000000000000000000000000815250905090565b600061086a610863611082565b8484611255565b6001905092915050565b61087c611082565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610909576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090090612a93565b60405180910390fd5b67016345785d8a000060118190555067016345785d8a0000601281905550565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661096a611082565b73ffffffffffffffffffffffffffffffffffffffff161461098a57600080fd5b60006109953061064c565b90506109a081611a2e565b50565b6109ab611082565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2f90612a93565b60405180910390fd5b601060149054906101000a900460ff1615610a88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7f90612b33565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b1730600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1667016345785d8a000061108a565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610b5d57600080fd5b505afa158015610b71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b959190612441565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610bf757600080fd5b505afa158015610c0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2f9190612441565b6040518363ffffffff1660e01b8152600401610c4c9291906128e3565b602060405180830381600087803b158015610c6657600080fd5b505af1158015610c7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9e9190612441565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610d273061064c565b600080610d326107f0565b426040518863ffffffff1660e01b8152600401610d5496959493929190612935565b6060604051808303818588803b158015610d6d57600080fd5b505af1158015610d81573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610da6919061259b565b5050506001601060166101000a81548160ff0219169083151502179055506001601060176101000a81548160ff021916908315150217905550610e0e6064610e00600367016345785d8a0000611cb690919063ffffffff16565b611d3190919063ffffffff16565b601181905550610e436064610e35600467016345785d8a0000611cb690919063ffffffff16565b611d3190919063ffffffff16565b6012819055506001601060146101000a81548160ff021916908315150217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610f0392919061290c565b602060405180830381600087803b158015610f1d57600080fd5b505af1158015610f31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f55919061256e565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610fe8611082565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611075576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106c90612a93565b60405180910390fd5b8060ff1660138190555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f190612b13565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561116a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116190612a33565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112489190612b53565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112bc90612ad3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611335576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132c906129d3565b60405180910390fd5b60008111611378576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136f90612ab3565b60405180910390fd5b6000600c819055506005600d819055506113906107f0565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156113fe57506113ce6107f0565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156118e057600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156114a75750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6114b057600080fd5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561155b5750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156115b15750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156115c95750601060179054906101000a900460ff165b1561170757601154811115611613576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160a906129f3565b60405180910390fd5b601254816116208461064c565b61162a9190612c38565b111561166b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166290612af3565b60405180910390fd5b42600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106116b657600080fd5b601e426116c39190612c38565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156117b25750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118085750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561181e576000600c819055506005600d819055505b60006118293061064c565b9050601060159054906101000a900460ff161580156118965750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156118ae5750601060169054906101000a900460ff165b156118de576118bc81611a2e565b600047905060008111156118d4576118d347611954565b5b6118dc611d7b565b505b505b6118eb838383611d93565b505050565b6000838311158290611938576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192f91906129b1565b60405180910390fd5b50600083856119479190612d19565b9050809150509392505050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156119bc573d6000803e3d6000fd5b5050565b6000600a54821115611a07576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119fe90612a13565b60405180910390fd5b6000611a11611da3565b9050611a268184611d3190919063ffffffff16565b915050919050565b6001601060156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611a6657611a65612e74565b5b604051908082528060200260200182016040528015611a945781602001602082028036833780820191505090505b5090503081600081518110611aac57611aab612e45565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611b4e57600080fd5b505afa158015611b62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b869190612441565b81600181518110611b9a57611b99612e45565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611c0130600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461108a565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611c65959493929190612b6e565b600060405180830381600087803b158015611c7f57600080fd5b505af1158015611c93573d6000803e3d6000fd5b50505050506000601060156101000a81548160ff02191690831515021790555050565b600080831415611cc95760009050611d2b565b60008284611cd79190612cbf565b9050828482611ce69190612c8e565b14611d26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1d90612a73565b60405180910390fd5b809150505b92915050565b6000611d7383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611dce565b905092915050565b601354600d54611d8b9190612cbf565b600d81905550565b611d9e838383611e31565b505050565b6000806000611db0611ffc565b91509150611dc78183611d3190919063ffffffff16565b9250505090565b60008083118290611e15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0c91906129b1565b60405180910390fd5b5060008385611e249190612c8e565b9050809150509392505050565b600080600080600080611e438761205b565b955095509550955095509550611ea186600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120c390919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f3685600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461210d90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f828161216b565b611f8c8483612228565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611fe99190612b53565b60405180910390a3505050505050505050565b6000806000600a549050600067016345785d8a0000905061203067016345785d8a0000600a54611d3190919063ffffffff16565b82101561204e57600a5467016345785d8a0000935093505050612057565b81819350935050505b9091565b60008060008060008060008060006120788a600c54600d54612262565b9250925092506000612088611da3565b9050600080600061209b8e8787876122f8565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061210583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506118f0565b905092915050565b600080828461211c9190612c38565b905083811015612161576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161215890612a53565b60405180910390fd5b8091505092915050565b6000612175611da3565b9050600061218c8284611cb690919063ffffffff16565b90506121e081600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461210d90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b61223d82600a546120c390919063ffffffff16565b600a8190555061225881600b5461210d90919063ffffffff16565b600b819055505050565b60008060008061228e6064612280888a611cb690919063ffffffff16565b611d3190919063ffffffff16565b905060006122b860646122aa888b611cb690919063ffffffff16565b611d3190919063ffffffff16565b905060006122e1826122d3858c6120c390919063ffffffff16565b6120c390919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806123118589611cb690919063ffffffff16565b905060006123288689611cb690919063ffffffff16565b9050600061233f8789611cb690919063ffffffff16565b905060006123688261235a85876120c390919063ffffffff16565b6120c390919063ffffffff16565b9050838184965096509650505050509450945094915050565b600081359050612390816131af565b92915050565b6000815190506123a5816131af565b92915050565b6000813590506123ba816131c6565b92915050565b6000815190506123cf816131c6565b92915050565b6000813590506123e4816131dd565b92915050565b6000815190506123f9816131dd565b92915050565b60008135905061240e816131f4565b92915050565b60006020828403121561242a57612429612ea3565b5b600061243884828501612381565b91505092915050565b60006020828403121561245757612456612ea3565b5b600061246584828501612396565b91505092915050565b6000806040838503121561248557612484612ea3565b5b600061249385828601612381565b92505060206124a485828601612381565b9150509250929050565b6000806000606084860312156124c7576124c6612ea3565b5b60006124d586828701612381565b93505060206124e686828701612381565b92505060406124f7868287016123d5565b9150509250925092565b6000806040838503121561251857612517612ea3565b5b600061252685828601612381565b9250506020612537858286016123d5565b9150509250929050565b60006020828403121561255757612556612ea3565b5b6000612565848285016123ab565b91505092915050565b60006020828403121561258457612583612ea3565b5b6000612592848285016123c0565b91505092915050565b6000806000606084860312156125b4576125b3612ea3565b5b60006125c2868287016123ea565b93505060206125d3868287016123ea565b92505060406125e4868287016123ea565b9150509250925092565b60006020828403121561260457612603612ea3565b5b6000612612848285016123ff565b91505092915050565b60006126278383612633565b60208301905092915050565b61263c81612d4d565b82525050565b61264b81612d4d565b82525050565b600061265c82612bf3565b6126668185612c16565b935061267183612be3565b8060005b838110156126a2578151612689888261261b565b975061269483612c09565b925050600181019050612675565b5085935050505092915050565b6126b881612d5f565b82525050565b6126c781612da2565b82525050565b60006126d882612bfe565b6126e28185612c27565b93506126f2818560208601612db4565b6126fb81612ea8565b840191505092915050565b6000612713602383612c27565b915061271e82612eb9565b604082019050919050565b6000612736601983612c27565b915061274182612f08565b602082019050919050565b6000612759602a83612c27565b915061276482612f31565b604082019050919050565b600061277c602283612c27565b915061278782612f80565b604082019050919050565b600061279f601b83612c27565b91506127aa82612fcf565b602082019050919050565b60006127c2602183612c27565b91506127cd82612ff8565b604082019050919050565b60006127e5602083612c27565b91506127f082613047565b602082019050919050565b6000612808602983612c27565b915061281382613070565b604082019050919050565b600061282b602583612c27565b9150612836826130bf565b604082019050919050565b600061284e601a83612c27565b91506128598261310e565b602082019050919050565b6000612871602483612c27565b915061287c82613137565b604082019050919050565b6000612894601783612c27565b915061289f82613186565b602082019050919050565b6128b381612d8b565b82525050565b6128c281612d95565b82525050565b60006020820190506128dd6000830184612642565b92915050565b60006040820190506128f86000830185612642565b6129056020830184612642565b9392505050565b60006040820190506129216000830185612642565b61292e60208301846128aa565b9392505050565b600060c08201905061294a6000830189612642565b61295760208301886128aa565b61296460408301876126be565b61297160608301866126be565b61297e6080830185612642565b61298b60a08301846128aa565b979650505050505050565b60006020820190506129ab60008301846126af565b92915050565b600060208201905081810360008301526129cb81846126cd565b905092915050565b600060208201905081810360008301526129ec81612706565b9050919050565b60006020820190508181036000830152612a0c81612729565b9050919050565b60006020820190508181036000830152612a2c8161274c565b9050919050565b60006020820190508181036000830152612a4c8161276f565b9050919050565b60006020820190508181036000830152612a6c81612792565b9050919050565b60006020820190508181036000830152612a8c816127b5565b9050919050565b60006020820190508181036000830152612aac816127d8565b9050919050565b60006020820190508181036000830152612acc816127fb565b9050919050565b60006020820190508181036000830152612aec8161281e565b9050919050565b60006020820190508181036000830152612b0c81612841565b9050919050565b60006020820190508181036000830152612b2c81612864565b9050919050565b60006020820190508181036000830152612b4c81612887565b9050919050565b6000602082019050612b6860008301846128aa565b92915050565b600060a082019050612b8360008301886128aa565b612b9060208301876126be565b8181036040830152612ba28186612651565b9050612bb16060830185612642565b612bbe60808301846128aa565b9695505050505050565b6000602082019050612bdd60008301846128b9565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612c4382612d8b565b9150612c4e83612d8b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612c8357612c82612de7565b5b828201905092915050565b6000612c9982612d8b565b9150612ca483612d8b565b925082612cb457612cb3612e16565b5b828204905092915050565b6000612cca82612d8b565b9150612cd583612d8b565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612d0e57612d0d612de7565b5b828202905092915050565b6000612d2482612d8b565b9150612d2f83612d8b565b925082821015612d4257612d41612de7565b5b828203905092915050565b6000612d5882612d6b565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612dad82612d8b565b9050919050565b60005b83811015612dd2578082015181840152602081019050612db7565b83811115612de1576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6131b881612d4d565b81146131c357600080fd5b50565b6131cf81612d5f565b81146131da57600080fd5b50565b6131e681612d8b565b81146131f157600080fd5b50565b6131fd81612d95565b811461320857600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d48d13b2ef640564390cd446359c1ec1a61b207c650c6443c0ff1e9db7e0adeb64736f6c63430008070033
Deployed Bytecode
0x6080604052600436106101025760003560e01c8063715018a611610095578063c1b207d511610064578063c1b207d514610330578063c3c8cd8014610347578063c9567bf91461035e578063dd62ed3e14610375578063ead9fdf7146103b257610109565b8063715018a6146102865780638da5cb5b1461029d57806395d89b41146102c8578063a9059cbb146102f357610109565b8063313ce567116100d1578063313ce567146101de5780635932ead1146102095780636fc3eaec1461023257806370a082311461024957610109565b806306fdde031461010e578063095ea7b31461013957806318160ddd1461017657806323b872dd146101a157610109565b3661010957005b600080fd5b34801561011a57600080fd5b506101236103db565b60405161013091906129b1565b60405180910390f35b34801561014557600080fd5b50610160600480360381019061015b9190612501565b610418565b60405161016d9190612996565b60405180910390f35b34801561018257600080fd5b5061018b610436565b6040516101989190612b53565b60405180910390f35b3480156101ad57600080fd5b506101c860048036038101906101c391906124ae565b610446565b6040516101d59190612996565b60405180910390f35b3480156101ea57600080fd5b506101f361051f565b6040516102009190612bc8565b60405180910390f35b34801561021557600080fd5b50610230600480360381019061022b9190612541565b610528565b005b34801561023e57600080fd5b506102476105da565b005b34801561025557600080fd5b50610270600480360381019061026b9190612414565b61064c565b60405161027d9190612b53565b60405180910390f35b34801561029257600080fd5b5061029b61069d565b005b3480156102a957600080fd5b506102b26107f0565b6040516102bf91906128c8565b60405180910390f35b3480156102d457600080fd5b506102dd610819565b6040516102ea91906129b1565b60405180910390f35b3480156102ff57600080fd5b5061031a60048036038101906103159190612501565b610856565b6040516103279190612996565b60405180910390f35b34801561033c57600080fd5b50610345610874565b005b34801561035357600080fd5b5061035c610929565b005b34801561036a57600080fd5b506103736109a3565b005b34801561038157600080fd5b5061039c6004803603810190610397919061246e565b610f59565b6040516103a99190612b53565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d491906125ee565b610fe0565b005b60606040518060400160405280600981526020017f476f6c6420506570650000000000000000000000000000000000000000000000815250905090565b600061042c610425611082565b848461108a565b6001905092915050565b600067016345785d8a0000905090565b6000610453848484611255565b6105148461045f611082565b61050f8560405180606001604052806028815260200161320c60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104c5611082565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118f09092919063ffffffff16565b61108a565b600190509392505050565b60006009905090565b610530611082565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b490612a93565b60405180910390fd5b80601060176101000a81548160ff02191690831515021790555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661061b611082565b73ffffffffffffffffffffffffffffffffffffffff161461063b57600080fd5b600047905061064981611954565b50565b6000610696600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119c0565b9050919050565b6106a5611082565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610732576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072990612a93565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600881526020017f50455045474f4c44000000000000000000000000000000000000000000000000815250905090565b600061086a610863611082565b8484611255565b6001905092915050565b61087c611082565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610909576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090090612a93565b60405180910390fd5b67016345785d8a000060118190555067016345785d8a0000601281905550565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661096a611082565b73ffffffffffffffffffffffffffffffffffffffff161461098a57600080fd5b60006109953061064c565b90506109a081611a2e565b50565b6109ab611082565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2f90612a93565b60405180910390fd5b601060149054906101000a900460ff1615610a88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7f90612b33565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b1730600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1667016345785d8a000061108a565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610b5d57600080fd5b505afa158015610b71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b959190612441565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610bf757600080fd5b505afa158015610c0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2f9190612441565b6040518363ffffffff1660e01b8152600401610c4c9291906128e3565b602060405180830381600087803b158015610c6657600080fd5b505af1158015610c7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9e9190612441565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610d273061064c565b600080610d326107f0565b426040518863ffffffff1660e01b8152600401610d5496959493929190612935565b6060604051808303818588803b158015610d6d57600080fd5b505af1158015610d81573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610da6919061259b565b5050506001601060166101000a81548160ff0219169083151502179055506001601060176101000a81548160ff021916908315150217905550610e0e6064610e00600367016345785d8a0000611cb690919063ffffffff16565b611d3190919063ffffffff16565b601181905550610e436064610e35600467016345785d8a0000611cb690919063ffffffff16565b611d3190919063ffffffff16565b6012819055506001601060146101000a81548160ff021916908315150217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610f0392919061290c565b602060405180830381600087803b158015610f1d57600080fd5b505af1158015610f31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f55919061256e565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610fe8611082565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611075576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106c90612a93565b60405180910390fd5b8060ff1660138190555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f190612b13565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561116a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116190612a33565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112489190612b53565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112bc90612ad3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611335576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132c906129d3565b60405180910390fd5b60008111611378576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136f90612ab3565b60405180910390fd5b6000600c819055506005600d819055506113906107f0565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156113fe57506113ce6107f0565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156118e057600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156114a75750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6114b057600080fd5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561155b5750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156115b15750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156115c95750601060179054906101000a900460ff165b1561170757601154811115611613576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160a906129f3565b60405180910390fd5b601254816116208461064c565b61162a9190612c38565b111561166b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166290612af3565b60405180910390fd5b42600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106116b657600080fd5b601e426116c39190612c38565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156117b25750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118085750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561181e576000600c819055506005600d819055505b60006118293061064c565b9050601060159054906101000a900460ff161580156118965750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156118ae5750601060169054906101000a900460ff165b156118de576118bc81611a2e565b600047905060008111156118d4576118d347611954565b5b6118dc611d7b565b505b505b6118eb838383611d93565b505050565b6000838311158290611938576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192f91906129b1565b60405180910390fd5b50600083856119479190612d19565b9050809150509392505050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156119bc573d6000803e3d6000fd5b5050565b6000600a54821115611a07576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119fe90612a13565b60405180910390fd5b6000611a11611da3565b9050611a268184611d3190919063ffffffff16565b915050919050565b6001601060156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611a6657611a65612e74565b5b604051908082528060200260200182016040528015611a945781602001602082028036833780820191505090505b5090503081600081518110611aac57611aab612e45565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611b4e57600080fd5b505afa158015611b62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b869190612441565b81600181518110611b9a57611b99612e45565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611c0130600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461108a565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611c65959493929190612b6e565b600060405180830381600087803b158015611c7f57600080fd5b505af1158015611c93573d6000803e3d6000fd5b50505050506000601060156101000a81548160ff02191690831515021790555050565b600080831415611cc95760009050611d2b565b60008284611cd79190612cbf565b9050828482611ce69190612c8e565b14611d26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1d90612a73565b60405180910390fd5b809150505b92915050565b6000611d7383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611dce565b905092915050565b601354600d54611d8b9190612cbf565b600d81905550565b611d9e838383611e31565b505050565b6000806000611db0611ffc565b91509150611dc78183611d3190919063ffffffff16565b9250505090565b60008083118290611e15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0c91906129b1565b60405180910390fd5b5060008385611e249190612c8e565b9050809150509392505050565b600080600080600080611e438761205b565b955095509550955095509550611ea186600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120c390919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f3685600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461210d90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f828161216b565b611f8c8483612228565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611fe99190612b53565b60405180910390a3505050505050505050565b6000806000600a549050600067016345785d8a0000905061203067016345785d8a0000600a54611d3190919063ffffffff16565b82101561204e57600a5467016345785d8a0000935093505050612057565b81819350935050505b9091565b60008060008060008060008060006120788a600c54600d54612262565b9250925092506000612088611da3565b9050600080600061209b8e8787876122f8565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061210583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506118f0565b905092915050565b600080828461211c9190612c38565b905083811015612161576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161215890612a53565b60405180910390fd5b8091505092915050565b6000612175611da3565b9050600061218c8284611cb690919063ffffffff16565b90506121e081600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461210d90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b61223d82600a546120c390919063ffffffff16565b600a8190555061225881600b5461210d90919063ffffffff16565b600b819055505050565b60008060008061228e6064612280888a611cb690919063ffffffff16565b611d3190919063ffffffff16565b905060006122b860646122aa888b611cb690919063ffffffff16565b611d3190919063ffffffff16565b905060006122e1826122d3858c6120c390919063ffffffff16565b6120c390919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806123118589611cb690919063ffffffff16565b905060006123288689611cb690919063ffffffff16565b9050600061233f8789611cb690919063ffffffff16565b905060006123688261235a85876120c390919063ffffffff16565b6120c390919063ffffffff16565b9050838184965096509650505050509450945094915050565b600081359050612390816131af565b92915050565b6000815190506123a5816131af565b92915050565b6000813590506123ba816131c6565b92915050565b6000815190506123cf816131c6565b92915050565b6000813590506123e4816131dd565b92915050565b6000815190506123f9816131dd565b92915050565b60008135905061240e816131f4565b92915050565b60006020828403121561242a57612429612ea3565b5b600061243884828501612381565b91505092915050565b60006020828403121561245757612456612ea3565b5b600061246584828501612396565b91505092915050565b6000806040838503121561248557612484612ea3565b5b600061249385828601612381565b92505060206124a485828601612381565b9150509250929050565b6000806000606084860312156124c7576124c6612ea3565b5b60006124d586828701612381565b93505060206124e686828701612381565b92505060406124f7868287016123d5565b9150509250925092565b6000806040838503121561251857612517612ea3565b5b600061252685828601612381565b9250506020612537858286016123d5565b9150509250929050565b60006020828403121561255757612556612ea3565b5b6000612565848285016123ab565b91505092915050565b60006020828403121561258457612583612ea3565b5b6000612592848285016123c0565b91505092915050565b6000806000606084860312156125b4576125b3612ea3565b5b60006125c2868287016123ea565b93505060206125d3868287016123ea565b92505060406125e4868287016123ea565b9150509250925092565b60006020828403121561260457612603612ea3565b5b6000612612848285016123ff565b91505092915050565b60006126278383612633565b60208301905092915050565b61263c81612d4d565b82525050565b61264b81612d4d565b82525050565b600061265c82612bf3565b6126668185612c16565b935061267183612be3565b8060005b838110156126a2578151612689888261261b565b975061269483612c09565b925050600181019050612675565b5085935050505092915050565b6126b881612d5f565b82525050565b6126c781612da2565b82525050565b60006126d882612bfe565b6126e28185612c27565b93506126f2818560208601612db4565b6126fb81612ea8565b840191505092915050565b6000612713602383612c27565b915061271e82612eb9565b604082019050919050565b6000612736601983612c27565b915061274182612f08565b602082019050919050565b6000612759602a83612c27565b915061276482612f31565b604082019050919050565b600061277c602283612c27565b915061278782612f80565b604082019050919050565b600061279f601b83612c27565b91506127aa82612fcf565b602082019050919050565b60006127c2602183612c27565b91506127cd82612ff8565b604082019050919050565b60006127e5602083612c27565b91506127f082613047565b602082019050919050565b6000612808602983612c27565b915061281382613070565b604082019050919050565b600061282b602583612c27565b9150612836826130bf565b604082019050919050565b600061284e601a83612c27565b91506128598261310e565b602082019050919050565b6000612871602483612c27565b915061287c82613137565b604082019050919050565b6000612894601783612c27565b915061289f82613186565b602082019050919050565b6128b381612d8b565b82525050565b6128c281612d95565b82525050565b60006020820190506128dd6000830184612642565b92915050565b60006040820190506128f86000830185612642565b6129056020830184612642565b9392505050565b60006040820190506129216000830185612642565b61292e60208301846128aa565b9392505050565b600060c08201905061294a6000830189612642565b61295760208301886128aa565b61296460408301876126be565b61297160608301866126be565b61297e6080830185612642565b61298b60a08301846128aa565b979650505050505050565b60006020820190506129ab60008301846126af565b92915050565b600060208201905081810360008301526129cb81846126cd565b905092915050565b600060208201905081810360008301526129ec81612706565b9050919050565b60006020820190508181036000830152612a0c81612729565b9050919050565b60006020820190508181036000830152612a2c8161274c565b9050919050565b60006020820190508181036000830152612a4c8161276f565b9050919050565b60006020820190508181036000830152612a6c81612792565b9050919050565b60006020820190508181036000830152612a8c816127b5565b9050919050565b60006020820190508181036000830152612aac816127d8565b9050919050565b60006020820190508181036000830152612acc816127fb565b9050919050565b60006020820190508181036000830152612aec8161281e565b9050919050565b60006020820190508181036000830152612b0c81612841565b9050919050565b60006020820190508181036000830152612b2c81612864565b9050919050565b60006020820190508181036000830152612b4c81612887565b9050919050565b6000602082019050612b6860008301846128aa565b92915050565b600060a082019050612b8360008301886128aa565b612b9060208301876126be565b8181036040830152612ba28186612651565b9050612bb16060830185612642565b612bbe60808301846128aa565b9695505050505050565b6000602082019050612bdd60008301846128b9565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612c4382612d8b565b9150612c4e83612d8b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612c8357612c82612de7565b5b828201905092915050565b6000612c9982612d8b565b9150612ca483612d8b565b925082612cb457612cb3612e16565b5b828204905092915050565b6000612cca82612d8b565b9150612cd583612d8b565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612d0e57612d0d612de7565b5b828202905092915050565b6000612d2482612d8b565b9150612d2f83612d8b565b925082821015612d4257612d41612de7565b5b828203905092915050565b6000612d5882612d6b565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612dad82612d8b565b9050919050565b60005b83811015612dd2578082015181840152602081019050612db7565b83811115612de1576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6131b881612d4d565b81146131c357600080fd5b50565b6131cf81612d5f565b81146131da57600080fd5b50565b6131e681612d8b565b81146131f157600080fd5b50565b6131fd81612d95565b811461320857600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d48d13b2ef640564390cd446359c1ec1a61b207c650c6443c0ff1e9db7e0adeb64736f6c63430008070033
Deployed Bytecode Sourcemap
3616:10788:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5483:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6335:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5760:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6504:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5669:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6825:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12509:193;;;;;;;;;;;;;:::i;:::-;;5863:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2695:148;;;;;;;;;;;;;:::i;:::-;;2481:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5574:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6009:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9879:129;;;;;;;;;;;;;:::i;:::-;;12303:194;;;;;;;;;;;;;:::i;:::-;;10254:871;;;;;;;;;;;;;:::i;:::-;;6184:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10130:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5483:83;5520:13;5553:5;;;;;;;;;;;;;;;;;5546:12;;5483:83;:::o;6335:161::-;6410:4;6427:39;6436:12;:10;:12::i;:::-;6450:7;6459:6;6427:8;:39::i;:::-;6484:4;6477:11;;6335:161;;;;:::o;5760:95::-;5813:7;4232:17;5833:14;;5760:95;:::o;6504:313::-;6602:4;6619:36;6629:6;6637:9;6648:6;6619:9;:36::i;:::-;6666:121;6675:6;6683:12;:10;:12::i;:::-;6697:89;6735:6;6697:89;;;;;;;;;;;;;;;;;:11;:19;6709:6;6697:19;;;;;;;;;;;;;;;:33;6717:12;:10;:12::i;:::-;6697:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6666:8;:121::i;:::-;6805:4;6798:11;;6504:313;;;;;:::o;5669:83::-;5710:5;4602:1;5728:16;;5669:83;:::o;6825:103::-;2618:12;:10;:12::i;:::-;2608:22;;:6;;;;;;;;;;:22;;;2600:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6915:5:::1;6897:15;;:23;;;;;;;;;;;;;;;;;;6825:103:::0;:::o;12509:193::-;12575:14;;;;;;;;;;;12559:30;;:12;:10;:12::i;:::-;:30;;;12551:39;;;;;;12601:26;12630:21;12601:50;;12662:32;12675:18;12662:12;:32::i;:::-;12540:162;12509:193::o;5863:138::-;5929:7;5956:37;5976:7;:16;5984:7;5976:16;;;;;;;;;;;;;;;;5956:19;:37::i;:::-;5949:44;;5863:138;;;:::o;2695:148::-;2618:12;:10;:12::i;:::-;2608:22;;:6;;;;;;;;;;:22;;;2600:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2802:1:::1;2765:40;;2786:6;::::0;::::1;;;;;;;;2765:40;;;;;;;;;;;;2833:1;2816:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2695:148::o:0;2481:79::-;2519:7;2546:6;;;;;;;;;;;2539:13;;2481:79;:::o;5574:87::-;5613:13;5646:7;;;;;;;;;;;;;;;;;5639:14;;5574:87;:::o;6009:167::-;6087:4;6104:42;6114:12;:10;:12::i;:::-;6128:9;6139:6;6104:9;:42::i;:::-;6164:4;6157:11;;6009:167;;;;:::o;9879:129::-;2618:12;:10;:12::i;:::-;2608:22;;:6;;;;;;;;;;:22;;;2600:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4232:17:::1;9943:12;:22;;;;4232:17;9976:14;:24;;;;9879:129::o:0;12303:194::-;12369:14;;;;;;;;;;;12353:30;;:12;:10;:12::i;:::-;:30;;;12345:39;;;;;;12395:23;12421:24;12439:4;12421:9;:24::i;:::-;12395:50;;12456:33;12473:15;12456:16;:33::i;:::-;12334:163;12303:194::o;10254:871::-;2618:12;:10;:12::i;:::-;2608:22;;:6;;;;;;;;;;:22;;;2600:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10318:11:::1;;;;;;;;;;;10317:12;10309:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;10367:35;10424:42;10367:100;;10496:16;10478:15;;:34;;;;;;;;;;;;;;;;;;10523:58;10540:4;10555:15;;;;;;;;;;;4232:17;10523:8;:58::i;:::-;10626:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10608:56;;;10673:4;10680:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10608:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10592:13;;:112;;;;;;;;;;;;;;;;;;10715:15;;;;;;;;;;;:31;;;10754:21;10785:4;10791:24;10809:4;10791:9;:24::i;:::-;10816:1;10818::::0;10820:7:::1;:5;:7::i;:::-;10828:15;10715:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10869:4;10855:11;;:18;;;;;;;;;;;;;;;;;;10902:4;10884:15;;:22;;;;;;;;;;;;;;;;;;10932:23;10951:3;10932:14;10944:1;4232:17;10932:11;;:14;;;;:::i;:::-;:18;;:23;;;;:::i;:::-;10917:12;:38;;;;10983:23;11002:3;10983:14;10995:1;4232:17;10983:11;;:14;;;;:::i;:::-;:18;;:23;;;;:::i;:::-;10966:14;:40;;;;11031:4;11017:11;;:18;;;;;;;;;;;;;;;;;;11053:13;;;;;;;;;;;11046:29;;;11084:15;;;;;;;;;;;11102:14;11046:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10298:827;10254:871::o:0;6184:143::-;6265:7;6292:11;:18;6304:5;6292:18;;;;;;;;;;;;;;;:27;6311:7;6292:27;;;;;;;;;;;;;;;;6285:34;;6184:143;;;;:::o;10130:103::-;2618:12;:10;:12::i;:::-;2608:22;;:6;;;;;;;;;;:22;;;2600:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10213:12:::1;10201:24;;:9;:24;;;;10130:103:::0;:::o;199:98::-;252:7;279:10;272:17;;199:98;:::o;7369:335::-;7479:1;7462:19;;:5;:19;;;;7454:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7560:1;7541:21;;:7;:21;;;;7533:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7642:6;7612:11;:18;7624:5;7612:18;;;;;;;;;;;;;;;:27;7631:7;7612:27;;;;;;;;;;;;;;;:36;;;;7680:7;7664:32;;7673:5;7664:32;;;7689:6;7664:32;;;;;;:::i;:::-;;;;;;;;7369:335;;;:::o;7712:1668::-;7816:1;7800:18;;:4;:18;;;;7792:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7893:1;7879:16;;:2;:16;;;;7871:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7963:1;7954:6;:10;7946:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8033:1;8021:9;:13;;;;8057:1;8045:9;:13;;;;8081:7;:5;:7::i;:::-;8073:15;;:4;:15;;;;:32;;;;;8098:7;:5;:7::i;:::-;8092:13;;:2;:13;;;;8073:32;8069:1233;;;8131:4;:10;8136:4;8131:10;;;;;;;;;;;;;;;;;;;;;;;;;8130:11;:24;;;;;8146:4;:8;8151:2;8146:8;;;;;;;;;;;;;;;;;;;;;;;;;8145:9;8130:24;8122:33;;;;;;8202:13;;;;;;;;;;;8194:21;;:4;:21;;;:55;;;;;8233:15;;;;;;;;;;;8219:30;;:2;:30;;;;8194:55;:83;;;;;8255:18;:22;8274:2;8255:22;;;;;;;;;;;;;;;;;;;;;;;;;8253:24;8194:83;:102;;;;;8281:15;;;;;;;;;;;8194:102;8190:452;;;8364:12;;8354:6;:22;;8346:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8459:14;;8449:6;8433:13;8443:2;8433:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8425:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8546:15;8531:8;:12;8540:2;8531:12;;;;;;;;;;;;;;;;:30;8523:39;;;;;;8615:10;8596:15;:30;;;;:::i;:::-;8581:8;:12;8590:2;8581:12;;;;;;;;;;;;;;;:45;;;;8190:452;8701:13;;;;;;;;;;;8695:19;;:2;:19;;;:55;;;;;8734:15;;;;;;;;;;;8718:32;;:4;:32;;;;8695:55;:85;;;;;8756:18;:24;8775:4;8756:24;;;;;;;;;;;;;;;;;;;;;;;;;8754:26;8695:85;8691:171;;;8813:1;8801:9;:13;;;;8845:1;8833:9;:13;;;;8691:171;8876:28;8907:24;8925:4;8907:9;:24::i;:::-;8876:55;;8951:6;;;;;;;;;;;8950:7;:32;;;;;8969:13;;;;;;;;;;;8961:21;;:4;:21;;;;8950:32;:47;;;;;8986:11;;;;;;;;;;;8950:47;8946:345;;;9018:38;9035:20;9018:16;:38::i;:::-;9075:26;9104:21;9075:50;;9168:1;9147:18;:22;9144:105;;;9194:35;9207:21;9194:12;:35::i;:::-;9144:105;9267:8;:6;:8::i;:::-;8999:292;8946:345;8107:1195;8069:1233;9316:30;9331:4;9336:2;9339:6;9316:14;:30::i;:::-;7712:1668;;;:::o;1336:190::-;1422:7;1455:1;1450;:6;;1458:12;1442:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1482:9;1498:1;1494;:5;;;;:::i;:::-;1482:17;;1517:1;1510:8;;;1336:190;;;;;:::o;10024:96::-;10081:14;;;;;;;;;;;:23;;:31;10105:6;10081:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10024:96;:::o;6936:254::-;7003:7;7042;;7031;:18;;7023:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;7107:19;7130:10;:8;:10::i;:::-;7107:33;;7158:24;7170:11;7158:7;:11;;:24;;;;:::i;:::-;7151:31;;;6936:254;;;:::o;9388:483::-;5067:4;5058:6;;:13;;;;;;;;;;;;;;;;;;9466:21:::1;9504:1;9490:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9466:40;;9535:4;9517;9522:1;9517:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9561:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9551:4;9556:1;9551:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9594:62;9611:4;9626:15;;;;;;;;;;;9644:11;9594:8;:62::i;:::-;9667:15;;;;;;;;;;;:66;;;9748:11;9774:1;9790:4;9817;9837:15;9667:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9455:416;5103:5:::0;5094:6;;:14;;;;;;;;;;;;;;;;;;9388:483;:::o;1534:246::-;1592:7;1621:1;1616;:6;1612:47;;;1646:1;1639:8;;;;1612:47;1669:9;1685:1;1681;:5;;;;:::i;:::-;1669:17;;1714:1;1709;1705;:5;;;;:::i;:::-;:10;1697:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1771:1;1764:8;;;1534:246;;;;;:::o;1788:132::-;1846:7;1873:39;1877:1;1880;1873:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1866:46;;1788:132;;;;:::o;7198:86::-;7259:9;;7247;;:21;;;;:::i;:::-;7235:9;:33;;;;7198:86::o;11168:146::-;11262:44;11280:6;11288:9;11299:6;11262:17;:44::i;:::-;11168:146;;;:::o;13968:163::-;14009:7;14030:15;14047;14066:19;:17;:19::i;:::-;14029:56;;;;14103:20;14115:7;14103;:11;;:20;;;;:::i;:::-;14096:27;;;;13968:163;:::o;1928:189::-;2014:7;2046:1;2042;:5;2049:12;2034:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2073:9;2089:1;2085;:5;;;;:::i;:::-;2073:17;;2108:1;2101:8;;;1928:189;;;;;:::o;11348:488::-;11447:15;11464:23;11489:12;11503:23;11528:12;11542:13;11559:19;11570:7;11559:10;:19::i;:::-;11446:132;;;;;;;;;;;;11607:28;11627:7;11607;:15;11615:6;11607:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;11589:7;:15;11597:6;11589:15;;;;;;;;;;;;;;;:46;;;;11667:39;11690:15;11667:7;:18;11675:9;11667:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;11646:7;:18;11654:9;11646:18;;;;;;;;;;;;;;;:60;;;;11718:16;11728:5;11718:9;:16::i;:::-;11745:23;11757:4;11763;11745:11;:23::i;:::-;11801:9;11784:44;;11793:6;11784:44;;;11812:15;11784:44;;;;;;:::i;:::-;;;;;;;;11435:401;;;;;;11348:488;;;:::o;14139:262::-;14189:7;14198;14218:15;14236:7;;14218:25;;14254:15;4232:17;14254:25;;14310:20;4232:17;14310:7;;:11;;:20;;;;:::i;:::-;14300:7;:30;14296:61;;;14340:7;;4232:17;14332:25;;;;;;;;14296:61;14376:7;14385;14368:25;;;;;;14139:262;;;:::o;12716:471::-;12775:7;12784;12793;12802;12811;12820;12841:23;12866:12;12880:13;12897:42;12909:7;12918:9;;12929;;12897:11;:42::i;:::-;12840:99;;;;;;12950:19;12973:10;:8;:10::i;:::-;12950:33;;12995:15;13012:23;13037:12;13053:46;13065:7;13074:4;13080:5;13087:11;13053;:46::i;:::-;12994:105;;;;;;13118:7;13127:15;13144:4;13150:15;13167:4;13173:5;13110:69;;;;;;;;;;;;;;;;;;;12716:471;;;;;;;:::o;1192:136::-;1250:7;1277:43;1281:1;1284;1277:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1270:50;;1192:136;;;;:::o;1005:179::-;1063:7;1083:9;1099:1;1095;:5;;;;:::i;:::-;1083:17;;1124:1;1119;:6;;1111:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1175:1;1168:8;;;1005:179;;;;:::o;11868:212::-;11921:19;11944:10;:8;:10::i;:::-;11921:33;;11965:13;11981:22;11991:11;11981:5;:9;;:22;;;;:::i;:::-;11965:38;;12039:33;12066:5;12039:7;:22;12055:4;12039:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;12014:7;:22;12030:4;12014:22;;;;;;;;;;;;;;;:58;;;;11910:170;;11868:212;:::o;12107:147::-;12185:17;12197:4;12185:7;;:11;;:17;;;;:::i;:::-;12175:7;:27;;;;12226:20;12241:4;12226:10;;:14;;:20;;;;:::i;:::-;12213:10;:33;;;;12107:147;;:::o;13195:351::-;13288:7;13297;13306;13326:12;13341:28;13365:3;13341:19;13353:6;13341:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;13326:43;;13380:13;13396:29;13421:3;13396:20;13408:7;13396;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;13380:45;;13436:23;13462:28;13484:5;13462:17;13474:4;13462:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;13436:54;;13509:15;13526:4;13532:5;13501:37;;;;;;;;;13195:351;;;;;;;:::o;13554:409::-;13664:7;13673;13682;13702:15;13720:24;13732:11;13720:7;:11;;:24;;;;:::i;:::-;13702:42;;13755:12;13770:21;13779:11;13770:4;:8;;:21;;;;:::i;:::-;13755:36;;13802:13;13818:22;13828:11;13818:5;:9;;:22;;;;:::i;:::-;13802:38;;13851:23;13877:28;13899:5;13877:17;13889:4;13877:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;13851:54;;13924:7;13933:15;13950:4;13916:39;;;;;;;;;;13554:409;;;;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;152:143;;;;:::o;301:133::-;344:5;382:6;369:20;360:29;;398:30;422:5;398:30;:::i;:::-;301:133;;;;:::o;440:137::-;494:5;525:6;519:13;510:22;;541:30;565:5;541:30;:::i;:::-;440:137;;;;:::o;583:139::-;629:5;667:6;654:20;645:29;;683:33;710:5;683:33;:::i;:::-;583:139;;;;:::o;728:143::-;785:5;816:6;810:13;801:22;;832:33;859:5;832:33;:::i;:::-;728:143;;;;:::o;877:135::-;921:5;959:6;946:20;937:29;;975:31;1000:5;975:31;:::i;:::-;877:135;;;;:::o;1018:329::-;1077:6;1126:2;1114:9;1105:7;1101:23;1097:32;1094:119;;;1132:79;;:::i;:::-;1094:119;1252:1;1277:53;1322:7;1313:6;1302:9;1298:22;1277:53;:::i;:::-;1267:63;;1223:117;1018:329;;;;:::o;1353:351::-;1423:6;1472:2;1460:9;1451:7;1447:23;1443:32;1440:119;;;1478:79;;:::i;:::-;1440:119;1598:1;1623:64;1679:7;1670:6;1659:9;1655:22;1623:64;:::i;:::-;1613:74;;1569:128;1353:351;;;;:::o;1710:474::-;1778:6;1786;1835:2;1823:9;1814:7;1810:23;1806:32;1803:119;;;1841:79;;:::i;:::-;1803:119;1961:1;1986:53;2031:7;2022:6;2011:9;2007:22;1986:53;:::i;:::-;1976:63;;1932:117;2088:2;2114:53;2159:7;2150:6;2139:9;2135:22;2114:53;:::i;:::-;2104:63;;2059:118;1710:474;;;;;:::o;2190:619::-;2267:6;2275;2283;2332:2;2320:9;2311:7;2307:23;2303:32;2300:119;;;2338:79;;:::i;:::-;2300:119;2458:1;2483:53;2528:7;2519:6;2508:9;2504:22;2483:53;:::i;:::-;2473:63;;2429:117;2585:2;2611:53;2656:7;2647:6;2636:9;2632:22;2611:53;:::i;:::-;2601:63;;2556:118;2713:2;2739:53;2784:7;2775:6;2764:9;2760:22;2739:53;:::i;:::-;2729:63;;2684:118;2190:619;;;;;:::o;2815:474::-;2883:6;2891;2940:2;2928:9;2919:7;2915:23;2911:32;2908:119;;;2946:79;;:::i;:::-;2908:119;3066:1;3091:53;3136:7;3127:6;3116:9;3112:22;3091:53;:::i;:::-;3081:63;;3037:117;3193:2;3219:53;3264:7;3255:6;3244:9;3240:22;3219:53;:::i;:::-;3209:63;;3164:118;2815:474;;;;;:::o;3295:323::-;3351:6;3400:2;3388:9;3379:7;3375:23;3371:32;3368:119;;;3406:79;;:::i;:::-;3368:119;3526:1;3551:50;3593:7;3584:6;3573:9;3569:22;3551:50;:::i;:::-;3541:60;;3497:114;3295:323;;;;:::o;3624:345::-;3691:6;3740:2;3728:9;3719:7;3715:23;3711:32;3708:119;;;3746:79;;:::i;:::-;3708:119;3866:1;3891:61;3944:7;3935:6;3924:9;3920:22;3891:61;:::i;:::-;3881:71;;3837:125;3624:345;;;;:::o;3975:663::-;4063:6;4071;4079;4128:2;4116:9;4107:7;4103:23;4099:32;4096:119;;;4134:79;;:::i;:::-;4096:119;4254:1;4279:64;4335:7;4326:6;4315:9;4311:22;4279:64;:::i;:::-;4269:74;;4225:128;4392:2;4418:64;4474:7;4465:6;4454:9;4450:22;4418:64;:::i;:::-;4408:74;;4363:129;4531:2;4557:64;4613:7;4604:6;4593:9;4589:22;4557:64;:::i;:::-;4547:74;;4502:129;3975:663;;;;;:::o;4644:325::-;4701:6;4750:2;4738:9;4729:7;4725:23;4721:32;4718:119;;;4756:79;;:::i;:::-;4718:119;4876:1;4901:51;4944:7;4935:6;4924:9;4920:22;4901:51;:::i;:::-;4891:61;;4847:115;4644:325;;;;:::o;4975:179::-;5044:10;5065:46;5107:3;5099:6;5065:46;:::i;:::-;5143:4;5138:3;5134:14;5120:28;;4975:179;;;;:::o;5160:108::-;5237:24;5255:5;5237:24;:::i;:::-;5232:3;5225:37;5160:108;;:::o;5274:118::-;5361:24;5379:5;5361:24;:::i;:::-;5356:3;5349:37;5274:118;;:::o;5428:732::-;5547:3;5576:54;5624:5;5576:54;:::i;:::-;5646:86;5725:6;5720:3;5646:86;:::i;:::-;5639:93;;5756:56;5806:5;5756:56;:::i;:::-;5835:7;5866:1;5851:284;5876:6;5873:1;5870:13;5851:284;;;5952:6;5946:13;5979:63;6038:3;6023:13;5979:63;:::i;:::-;5972:70;;6065:60;6118:6;6065:60;:::i;:::-;6055:70;;5911:224;5898:1;5895;5891:9;5886:14;;5851:284;;;5855:14;6151:3;6144:10;;5552:608;;;5428:732;;;;:::o;6166:109::-;6247:21;6262:5;6247:21;:::i;:::-;6242:3;6235:34;6166:109;;:::o;6281:147::-;6376:45;6415:5;6376:45;:::i;:::-;6371:3;6364:58;6281:147;;:::o;6434:364::-;6522:3;6550:39;6583:5;6550:39;:::i;:::-;6605:71;6669:6;6664:3;6605:71;:::i;:::-;6598:78;;6685:52;6730:6;6725:3;6718:4;6711:5;6707:16;6685:52;:::i;:::-;6762:29;6784:6;6762:29;:::i;:::-;6757:3;6753:39;6746:46;;6526:272;6434:364;;;;:::o;6804:366::-;6946:3;6967:67;7031:2;7026:3;6967:67;:::i;:::-;6960:74;;7043:93;7132:3;7043:93;:::i;:::-;7161:2;7156:3;7152:12;7145:19;;6804:366;;;:::o;7176:::-;7318:3;7339:67;7403:2;7398:3;7339:67;:::i;:::-;7332:74;;7415:93;7504:3;7415:93;:::i;:::-;7533:2;7528:3;7524:12;7517:19;;7176:366;;;:::o;7548:::-;7690:3;7711:67;7775:2;7770:3;7711:67;:::i;:::-;7704:74;;7787:93;7876:3;7787:93;:::i;:::-;7905:2;7900:3;7896:12;7889:19;;7548:366;;;:::o;7920:::-;8062:3;8083:67;8147:2;8142:3;8083:67;:::i;:::-;8076:74;;8159:93;8248:3;8159:93;:::i;:::-;8277:2;8272:3;8268:12;8261:19;;7920:366;;;:::o;8292:::-;8434:3;8455:67;8519:2;8514:3;8455:67;:::i;:::-;8448:74;;8531:93;8620:3;8531:93;:::i;:::-;8649:2;8644:3;8640:12;8633:19;;8292:366;;;:::o;8664:::-;8806:3;8827:67;8891:2;8886:3;8827:67;:::i;:::-;8820:74;;8903:93;8992:3;8903:93;:::i;:::-;9021:2;9016:3;9012:12;9005:19;;8664:366;;;:::o;9036:::-;9178:3;9199:67;9263:2;9258:3;9199:67;:::i;:::-;9192:74;;9275:93;9364:3;9275:93;:::i;:::-;9393:2;9388:3;9384:12;9377:19;;9036:366;;;:::o;9408:::-;9550:3;9571:67;9635:2;9630:3;9571:67;:::i;:::-;9564:74;;9647:93;9736:3;9647:93;:::i;:::-;9765:2;9760:3;9756:12;9749:19;;9408:366;;;:::o;9780:::-;9922:3;9943:67;10007:2;10002:3;9943:67;:::i;:::-;9936:74;;10019:93;10108:3;10019:93;:::i;:::-;10137:2;10132:3;10128:12;10121:19;;9780:366;;;:::o;10152:::-;10294:3;10315:67;10379:2;10374:3;10315:67;:::i;:::-;10308:74;;10391:93;10480:3;10391:93;:::i;:::-;10509:2;10504:3;10500:12;10493:19;;10152:366;;;:::o;10524:::-;10666:3;10687:67;10751:2;10746:3;10687:67;:::i;:::-;10680:74;;10763:93;10852:3;10763:93;:::i;:::-;10881:2;10876:3;10872:12;10865:19;;10524:366;;;:::o;10896:::-;11038:3;11059:67;11123:2;11118:3;11059:67;:::i;:::-;11052:74;;11135:93;11224:3;11135:93;:::i;:::-;11253:2;11248:3;11244:12;11237:19;;10896:366;;;:::o;11268:118::-;11355:24;11373:5;11355:24;:::i;:::-;11350:3;11343:37;11268:118;;:::o;11392:112::-;11475:22;11491:5;11475:22;:::i;:::-;11470:3;11463:35;11392:112;;:::o;11510:222::-;11603:4;11641:2;11630:9;11626:18;11618:26;;11654:71;11722:1;11711:9;11707:17;11698:6;11654:71;:::i;:::-;11510:222;;;;:::o;11738:332::-;11859:4;11897:2;11886:9;11882:18;11874:26;;11910:71;11978:1;11967:9;11963:17;11954:6;11910:71;:::i;:::-;11991:72;12059:2;12048:9;12044:18;12035:6;11991:72;:::i;:::-;11738:332;;;;;:::o;12076:::-;12197:4;12235:2;12224:9;12220:18;12212:26;;12248:71;12316:1;12305:9;12301:17;12292:6;12248:71;:::i;:::-;12329:72;12397:2;12386:9;12382:18;12373:6;12329:72;:::i;:::-;12076:332;;;;;:::o;12414:807::-;12663:4;12701:3;12690:9;12686:19;12678:27;;12715:71;12783:1;12772:9;12768:17;12759:6;12715:71;:::i;:::-;12796:72;12864:2;12853:9;12849:18;12840:6;12796:72;:::i;:::-;12878:80;12954:2;12943:9;12939:18;12930:6;12878:80;:::i;:::-;12968;13044:2;13033:9;13029:18;13020:6;12968:80;:::i;:::-;13058:73;13126:3;13115:9;13111:19;13102:6;13058:73;:::i;:::-;13141;13209:3;13198:9;13194:19;13185:6;13141:73;:::i;:::-;12414:807;;;;;;;;;:::o;13227:210::-;13314:4;13352:2;13341:9;13337:18;13329:26;;13365:65;13427:1;13416:9;13412:17;13403:6;13365:65;:::i;:::-;13227:210;;;;:::o;13443:313::-;13556:4;13594:2;13583:9;13579:18;13571:26;;13643:9;13637:4;13633:20;13629:1;13618:9;13614:17;13607:47;13671:78;13744:4;13735:6;13671:78;:::i;:::-;13663:86;;13443:313;;;;:::o;13762:419::-;13928:4;13966:2;13955:9;13951:18;13943:26;;14015:9;14009:4;14005:20;14001:1;13990:9;13986:17;13979:47;14043:131;14169:4;14043:131;:::i;:::-;14035:139;;13762:419;;;:::o;14187:::-;14353:4;14391:2;14380:9;14376:18;14368:26;;14440:9;14434:4;14430:20;14426:1;14415:9;14411:17;14404:47;14468:131;14594:4;14468:131;:::i;:::-;14460:139;;14187:419;;;:::o;14612:::-;14778:4;14816:2;14805:9;14801:18;14793:26;;14865:9;14859:4;14855:20;14851:1;14840:9;14836:17;14829:47;14893:131;15019:4;14893:131;:::i;:::-;14885:139;;14612:419;;;:::o;15037:::-;15203:4;15241:2;15230:9;15226:18;15218:26;;15290:9;15284:4;15280:20;15276:1;15265:9;15261:17;15254:47;15318:131;15444:4;15318:131;:::i;:::-;15310:139;;15037:419;;;:::o;15462:::-;15628:4;15666:2;15655:9;15651:18;15643:26;;15715:9;15709:4;15705:20;15701:1;15690:9;15686:17;15679:47;15743:131;15869:4;15743:131;:::i;:::-;15735:139;;15462:419;;;:::o;15887:::-;16053:4;16091:2;16080:9;16076:18;16068:26;;16140:9;16134:4;16130:20;16126:1;16115:9;16111:17;16104:47;16168:131;16294:4;16168:131;:::i;:::-;16160:139;;15887:419;;;:::o;16312:::-;16478:4;16516:2;16505:9;16501:18;16493:26;;16565:9;16559:4;16555:20;16551:1;16540:9;16536:17;16529:47;16593:131;16719:4;16593:131;:::i;:::-;16585:139;;16312:419;;;:::o;16737:::-;16903:4;16941:2;16930:9;16926:18;16918:26;;16990:9;16984:4;16980:20;16976:1;16965:9;16961:17;16954:47;17018:131;17144:4;17018:131;:::i;:::-;17010:139;;16737:419;;;:::o;17162:::-;17328:4;17366:2;17355:9;17351:18;17343:26;;17415:9;17409:4;17405:20;17401:1;17390:9;17386:17;17379:47;17443:131;17569:4;17443:131;:::i;:::-;17435:139;;17162:419;;;:::o;17587:::-;17753:4;17791:2;17780:9;17776:18;17768:26;;17840:9;17834:4;17830:20;17826:1;17815:9;17811:17;17804:47;17868:131;17994:4;17868:131;:::i;:::-;17860:139;;17587:419;;;:::o;18012:::-;18178:4;18216:2;18205:9;18201:18;18193:26;;18265:9;18259:4;18255:20;18251:1;18240:9;18236:17;18229:47;18293:131;18419:4;18293:131;:::i;:::-;18285:139;;18012:419;;;:::o;18437:::-;18603:4;18641:2;18630:9;18626:18;18618:26;;18690:9;18684:4;18680:20;18676:1;18665:9;18661:17;18654:47;18718:131;18844:4;18718:131;:::i;:::-;18710:139;;18437:419;;;:::o;18862:222::-;18955:4;18993:2;18982:9;18978:18;18970:26;;19006:71;19074:1;19063:9;19059:17;19050:6;19006:71;:::i;:::-;18862:222;;;;:::o;19090:831::-;19353:4;19391:3;19380:9;19376:19;19368:27;;19405:71;19473:1;19462:9;19458:17;19449:6;19405:71;:::i;:::-;19486:80;19562:2;19551:9;19547:18;19538:6;19486:80;:::i;:::-;19613:9;19607:4;19603:20;19598:2;19587:9;19583:18;19576:48;19641:108;19744:4;19735:6;19641:108;:::i;:::-;19633:116;;19759:72;19827:2;19816:9;19812:18;19803:6;19759:72;:::i;:::-;19841:73;19909:3;19898:9;19894:19;19885:6;19841:73;:::i;:::-;19090:831;;;;;;;;:::o;19927:214::-;20016:4;20054:2;20043:9;20039:18;20031:26;;20067:67;20131:1;20120:9;20116:17;20107:6;20067:67;:::i;:::-;19927:214;;;;:::o;20228:132::-;20295:4;20318:3;20310:11;;20348:4;20343:3;20339:14;20331:22;;20228:132;;;:::o;20366:114::-;20433:6;20467:5;20461:12;20451:22;;20366:114;;;:::o;20486:99::-;20538:6;20572:5;20566:12;20556:22;;20486:99;;;:::o;20591:113::-;20661:4;20693;20688:3;20684:14;20676:22;;20591:113;;;:::o;20710:184::-;20809:11;20843:6;20838:3;20831:19;20883:4;20878:3;20874:14;20859:29;;20710:184;;;;:::o;20900:169::-;20984:11;21018:6;21013:3;21006:19;21058:4;21053:3;21049:14;21034:29;;20900:169;;;;:::o;21075:305::-;21115:3;21134:20;21152:1;21134:20;:::i;:::-;21129:25;;21168:20;21186:1;21168:20;:::i;:::-;21163:25;;21322:1;21254:66;21250:74;21247:1;21244:81;21241:107;;;21328:18;;:::i;:::-;21241:107;21372:1;21369;21365:9;21358:16;;21075:305;;;;:::o;21386:185::-;21426:1;21443:20;21461:1;21443:20;:::i;:::-;21438:25;;21477:20;21495:1;21477:20;:::i;:::-;21472:25;;21516:1;21506:35;;21521:18;;:::i;:::-;21506:35;21563:1;21560;21556:9;21551:14;;21386:185;;;;:::o;21577:348::-;21617:7;21640:20;21658:1;21640:20;:::i;:::-;21635:25;;21674:20;21692:1;21674:20;:::i;:::-;21669:25;;21862:1;21794:66;21790:74;21787:1;21784:81;21779:1;21772:9;21765:17;21761:105;21758:131;;;21869:18;;:::i;:::-;21758:131;21917:1;21914;21910:9;21899:20;;21577:348;;;;:::o;21931:191::-;21971:4;21991:20;22009:1;21991:20;:::i;:::-;21986:25;;22025:20;22043:1;22025:20;:::i;:::-;22020:25;;22064:1;22061;22058:8;22055:34;;;22069:18;;:::i;:::-;22055:34;22114:1;22111;22107:9;22099:17;;21931:191;;;;:::o;22128:96::-;22165:7;22194:24;22212:5;22194:24;:::i;:::-;22183:35;;22128:96;;;:::o;22230:90::-;22264:7;22307:5;22300:13;22293:21;22282:32;;22230:90;;;:::o;22326:126::-;22363:7;22403:42;22396:5;22392:54;22381:65;;22326:126;;;:::o;22458:77::-;22495:7;22524:5;22513:16;;22458:77;;;:::o;22541:86::-;22576:7;22616:4;22609:5;22605:16;22594:27;;22541:86;;;:::o;22633:121::-;22691:9;22724:24;22742:5;22724:24;:::i;:::-;22711:37;;22633:121;;;:::o;22760:307::-;22828:1;22838:113;22852:6;22849:1;22846:13;22838:113;;;22937:1;22932:3;22928:11;22922:18;22918:1;22913:3;22909:11;22902:39;22874:2;22871:1;22867:10;22862:15;;22838:113;;;22969:6;22966:1;22963:13;22960:101;;;23049:1;23040:6;23035:3;23031:16;23024:27;22960:101;22809:258;22760:307;;;:::o;23073:180::-;23121:77;23118:1;23111:88;23218:4;23215:1;23208:15;23242:4;23239:1;23232:15;23259:180;23307:77;23304:1;23297:88;23404:4;23401:1;23394:15;23428:4;23425:1;23418:15;23445:180;23493:77;23490:1;23483:88;23590:4;23587:1;23580:15;23614:4;23611:1;23604:15;23631:180;23679:77;23676:1;23669:88;23776:4;23773:1;23766:15;23800:4;23797:1;23790:15;23940:117;24049:1;24046;24039:12;24063:102;24104:6;24155:2;24151:7;24146:2;24139:5;24135:14;24131:28;24121:38;;24063:102;;;:::o;24171:222::-;24311:34;24307:1;24299:6;24295:14;24288:58;24380:5;24375:2;24367:6;24363:15;24356:30;24171:222;:::o;24399:175::-;24539:27;24535:1;24527:6;24523:14;24516:51;24399:175;:::o;24580:229::-;24720:34;24716:1;24708:6;24704:14;24697:58;24789:12;24784:2;24776:6;24772:15;24765:37;24580:229;:::o;24815:221::-;24955:34;24951:1;24943:6;24939:14;24932:58;25024:4;25019:2;25011:6;25007:15;25000:29;24815:221;:::o;25042:177::-;25182:29;25178:1;25170:6;25166:14;25159:53;25042:177;:::o;25225:220::-;25365:34;25361:1;25353:6;25349:14;25342:58;25434:3;25429:2;25421:6;25417:15;25410:28;25225:220;:::o;25451:182::-;25591:34;25587:1;25579:6;25575:14;25568:58;25451:182;:::o;25639:228::-;25779:34;25775:1;25767:6;25763:14;25756:58;25848:11;25843:2;25835:6;25831:15;25824:36;25639:228;:::o;25873:224::-;26013:34;26009:1;26001:6;25997:14;25990:58;26082:7;26077:2;26069:6;26065:15;26058:32;25873:224;:::o;26103:176::-;26243:28;26239:1;26231:6;26227:14;26220:52;26103:176;:::o;26285:223::-;26425:34;26421:1;26413:6;26409:14;26402:58;26494:6;26489:2;26481:6;26477:15;26470:31;26285:223;:::o;26514:173::-;26654:25;26650:1;26642:6;26638:14;26631:49;26514:173;:::o;26693:122::-;26766:24;26784:5;26766:24;:::i;:::-;26759:5;26756:35;26746:63;;26805:1;26802;26795:12;26746:63;26693:122;:::o;26821:116::-;26891:21;26906:5;26891:21;:::i;:::-;26884:5;26881:32;26871:60;;26927:1;26924;26917:12;26871:60;26821:116;:::o;26943:122::-;27016:24;27034:5;27016:24;:::i;:::-;27009:5;27006:35;26996:63;;27055:1;27052;27045:12;26996:63;26943:122;:::o;27071:118::-;27142:22;27158:5;27142:22;:::i;:::-;27135:5;27132:33;27122:61;;27179:1;27176;27169:12;27122:61;27071:118;:::o
Swarm Source
ipfs://d48d13b2ef640564390cd446359c1ec1a61b207c650c6443c0ff1e9db7e0adeb
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.