ERC-20
Overview
Max Total Supply
420,690,000,000 ELON
Holders
16
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
4,884,004,490.491065262 ELONValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
DARKMUSK
Compiler Version
v0.8.23+commit.f704f362
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-07-21 */ // SPDX-License-Identifier: MIT /* Elon Musk's New PFP https://t.me/DarkMuskETH */ pragma solidity 0.8.23; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract DARKMUSK is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping (address => bool) private bots; address payable private _taxWallet; // Magoa Wallet address private _elonWallet = payable(0x5C716806D7cA663C39888Fb0a41aA813f11EBd08); uint256 private _initialBuyTax=23; uint256 private _initialSellTax=23; uint256 private _finalBuyTax=0; uint256 private _finalSellTax=0; uint256 private _reduceBuyTaxAt=27; uint256 private _reduceSellTaxAt=27; uint256 private _preventSwapBefore=22; uint256 private _transferTax=55; uint256 private _buyCount=0; uint8 private constant _decimals = 9; uint256 private constant _tTotal =420_690_000_000 * 10**_decimals; string private constant _name = unicode"DARK MUSK"; string private constant _symbol = unicode"ELON"; uint256 public _maxTxAmount = 2 * (_tTotal/100); uint256 public _maxWalletSize = 2 * (_tTotal/100); uint256 public _taxSwapThreshold= 1 * (_tTotal/1000); uint256 public _maxTaxSwap= 1 * (_tTotal/100); IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; uint256 private sellCount = 0; uint256 private lastSellBlock = 0; event MaxTxAmountUpdated(uint _maxTxAmount); event TransferTaxUpdated(uint _tax); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _taxWallet = payable(_msgSender()); _balances[_elonWallet] = _tTotal.mul(6).div(100); _balances[address(this)] = _tTotal.mul(94).div(100); _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; emit Transfer(address(0), _elonWallet, _tTotal.mul(6).div(100)); emit Transfer(address(0), address(this), _tTotal.mul(94).div(100)); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); uint256 taxAmount=0; if (from != owner() && to != owner()) { require(!bots[from] && !bots[to]); if(_buyCount==0){ taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); } if(_buyCount>0){ taxAmount = amount.mul(_transferTax).div(100); } if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); _buyCount++; } if(to == uniswapV2Pair && from!= address(this) ){ taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore) { if (block.number > lastSellBlock) { sellCount = 0; } require(sellCount < 10, "Only 10 sells per block!"); swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } sellCount++; lastSellBlock = block.number; } } if(taxAmount>0){ _balances[address(this)]=_balances[address(this)].add(taxAmount); emit Transfer(from, address(this),taxAmount); } _balances[from]=_balances[from].sub(amount); _balances[to]=_balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function removeLimits() external onlyOwner{ _maxTxAmount = _tTotal; _maxWalletSize=_tTotal; emit MaxTxAmountUpdated(_tTotal); } function removeTransferTax() external onlyOwner{ _transferTax = 0; emit TransferTaxUpdated(0); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function openTrade() external onlyOwner() { require(!tradingOpen,"trading is already open"); uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); swapEnabled = true; tradingOpen = true; } receive() external payable {} function manualSwap() external { require(_msgSender()==_taxWallet); uint256 tokenBalance=balanceOf(address(this)); if(tokenBalance>0){ swapTokensForEth(tokenBalance); } uint256 ethBalance=address(this).balance; if(ethBalance>0){ sendETHToFee(ethBalance); } } function manualsend() external { require(_msgSender()==_taxWallet); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrade","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":"removeTransferTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052735c716806d7ca663c39888fb0a41aa813f11ebd0860065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601760075560176008555f6009555f600a55601b600b55601b600c556016600d556037600e555f600f5560646009600a62000094919062000941565b6461f313f880620000a6919062000991565b620000b2919062000a08565b6002620000c0919062000991565b60105560646009600a620000d5919062000941565b6461f313f880620000e7919062000991565b620000f3919062000a08565b600262000101919062000991565b6011556103e86009600a62000117919062000941565b6461f313f88062000129919062000991565b62000135919062000a08565b600162000143919062000991565b60125560646009600a62000158919062000941565b6461f313f8806200016a919062000991565b62000176919062000a08565b600162000184919062000991565b6013555f6015806101000a81548160ff0219169083151502179055505f601560166101000a81548160ff0219169083151502179055505f6016555f601755348015620001ce575f80fd5b505f620001e06200064a60201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506200028c6200064a60201b60201c565b60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200031760646200030860066009600a620002e7919062000941565b6461f313f880620002f9919062000991565b6200065160201b90919060201c565b620006d160201b90919060201c565b60015f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550620003c56064620003b6605e6009600a62000395919062000941565b6461f313f880620003a7919062000991565b6200065160201b90919060201c565b620006d160201b90919060201c565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f6200041b6200072260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200057b60646200056c60066009600a6200054b919062000941565b6461f313f8806200055d919062000991565b6200065160201b90919060201c565b620006d160201b90919060201c565b6040516200058a919062000a50565b60405180910390a33073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200062d60646200061e605e6009600a620005fd919062000941565b6461f313f8806200060f919062000991565b6200065160201b90919060201c565b620006d160201b90919060201c565b6040516200063c919062000a50565b60405180910390a362000bb5565b5f33905090565b5f80830362000663575f9050620006cb565b5f828462000672919062000991565b905082848262000683919062000a08565b14620006c6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006bd9062000aef565b60405180910390fd5b809150505b92915050565b5f6200071a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200074960201b60201c565b905092915050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f808311829062000792576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000789919062000b93565b60405180910390fd5b505f8385620007a2919062000a08565b9050809150509392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156200083957808604811115620008115762000810620007af565b5b6001851615620008215780820291505b80810290506200083185620007dc565b9450620007f1565b94509492505050565b5f8262000853576001905062000925565b8162000862575f905062000925565b81600181146200087b57600281146200088657620008bc565b600191505062000925565b60ff8411156200089b576200089a620007af565b5b8360020a915084821115620008b557620008b4620007af565b5b5062000925565b5060208310610133831016604e8410600b8410161715620008f65782820a905083811115620008f057620008ef620007af565b5b62000925565b620009058484846001620007e8565b925090508184048111156200091f576200091e620007af565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f6200094d826200092c565b91506200095a8362000935565b9250620009897fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000842565b905092915050565b5f6200099d826200092c565b9150620009aa836200092c565b9250828202620009ba816200092c565b91508282048414831517620009d457620009d3620007af565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f62000a14826200092c565b915062000a21836200092c565b92508262000a345762000a33620009db565b5b828204905092915050565b62000a4a816200092c565b82525050565b5f60208201905062000a655f83018462000a3f565b92915050565b5f82825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f62000ad760218362000a6b565b915062000ae48262000a7b565b604082019050919050565b5f6020820190508181035f83015262000b088162000ac9565b9050919050565b5f81519050919050565b5f5b8381101562000b3857808201518184015260208101905062000b1b565b5f8484015250505050565b5f601f19601f8301169050919050565b5f62000b5f8262000b0f565b62000b6b818562000a6b565b935062000b7d81856020860162000b19565b62000b888162000b43565b840191505092915050565b5f6020820190508181035f83015262000bad818462000b53565b905092915050565b6130558062000bc35f395ff3fe608060405260043610610122575f3560e01c8063715018a61161009f57806395d89b411161006357806395d89b4114610375578063a9059cbb1461039f578063bf474bed146103db578063dd62ed3e14610405578063fb201b1d1461044157610129565b8063715018a6146102cb578063751039fc146102e15780637d1db4a5146102f75780638da5cb5b146103215780638f9a55c01461034b57610129565b806323b872dd116100e657806323b872dd146101fd578063313ce5671461023957806351bc3c85146102635780636fc3eaec1461027957806370a082311461028f57610129565b806306fdde031461012d578063095ea7b3146101575780630faee56f14610193578063109daa99146101bd57806318160ddd146101d357610129565b3661012957005b5f80fd5b348015610138575f80fd5b50610141610457565b60405161014e919061217a565b60405180910390f35b348015610162575f80fd5b5061017d6004803603810190610178919061222b565b610494565b60405161018a9190612283565b60405180910390f35b34801561019e575f80fd5b506101a76104b1565b6040516101b491906122ab565b60405180910390f35b3480156101c8575f80fd5b506101d16104b7565b005b3480156101de575f80fd5b506101e761058b565b6040516101f491906122ab565b60405180910390f35b348015610208575f80fd5b50610223600480360381019061021e91906122c4565b6105af565b6040516102309190612283565b60405180910390f35b348015610244575f80fd5b5061024d610683565b60405161025a919061232f565b60405180910390f35b34801561026e575f80fd5b5061027761068b565b005b348015610284575f80fd5b5061028d610722565b005b34801561029a575f80fd5b506102b560048036038101906102b09190612348565b610791565b6040516102c291906122ab565b60405180910390f35b3480156102d6575f80fd5b506102df6107d7565b005b3480156102ec575f80fd5b506102f5610925565b005b348015610302575f80fd5b5061030b610a57565b60405161031891906122ab565b60405180910390f35b34801561032c575f80fd5b50610335610a5d565b6040516103429190612382565b60405180910390f35b348015610356575f80fd5b5061035f610a84565b60405161036c91906122ab565b60405180910390f35b348015610380575f80fd5b50610389610a8a565b604051610396919061217a565b60405180910390f35b3480156103aa575f80fd5b506103c560048036038101906103c0919061222b565b610ac7565b6040516103d29190612283565b60405180910390f35b3480156103e6575f80fd5b506103ef610ae4565b6040516103fc91906122ab565b60405180910390f35b348015610410575f80fd5b5061042b6004803603810190610426919061239b565b610aea565b60405161043891906122ab565b60405180910390f35b34801561044c575f80fd5b50610455610b6c565b005b60606040518060400160405280600981526020017f4441524b204d55534b0000000000000000000000000000000000000000000000815250905090565b5f6104a76104a061108f565b8484611096565b6001905092915050565b60135481565b6104bf61108f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461054b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054290612423565b60405180910390fd5b5f600e819055507fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de35f6040516105819190612483565b60405180910390a1565b5f6009600a61059a91906125f8565b6461f313f8806105aa9190612642565b905090565b5f6105bb848484611259565b610678846105c761108f565b61067385604051806060016040528060288152602001612ff86028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61062a61108f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611bde9092919063ffffffff16565b611096565b600190509392505050565b5f6009905090565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106cb61108f565b73ffffffffffffffffffffffffffffffffffffffff16146106ea575f80fd5b5f6106f430610791565b90505f8111156107085761070781611c40565b5b5f4790505f81111561071e5761071d81611ea9565b5b5050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661076261108f565b73ffffffffffffffffffffffffffffffffffffffff1614610781575f80fd5b5f47905061078e81611ea9565b50565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6107df61108f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461086b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086290612423565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61092d61108f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b090612423565b60405180910390fd5b6009600a6109c791906125f8565b6461f313f8806109d79190612642565b6010819055506009600a6109eb91906125f8565b6461f313f8806109fb9190612642565b6011819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610a3091906125f8565b6461f313f880610a409190612642565b604051610a4d91906122ab565b60405180910390a1565b60105481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60115481565b60606040518060400160405280600481526020017f454c4f4e00000000000000000000000000000000000000000000000000000000815250905090565b5f610ada610ad361108f565b8484611259565b6001905092915050565b60125481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610b7461108f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf790612423565b60405180910390fd5b601560149054906101000a900460ff1615610c50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c47906126cd565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610ced3060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610cd891906125f8565b6461f313f880610ce89190612642565b611096565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d57573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d7b91906126ff565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e01573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e2591906126ff565b6040518363ffffffff1660e01b8152600401610e4292919061272a565b6020604051808303815f875af1158015610e5e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e8291906126ff565b60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610f0930610791565b5f80610f13610a5d565b426040518863ffffffff1660e01b8152600401610f3596959493929190612751565b60606040518083038185885af1158015610f51573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610f7691906127c4565b50505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611016929190612814565b6020604051808303815f875af1158015611032573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110569190612865565b506001601560166101000a81548160ff0219169083151502179055506001601560146101000a81548160ff021916908315150217905550565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611104576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fb90612900565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611172576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111699061298e565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161124c91906122ab565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112be90612a1c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611335576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132c90612aaa565b60405180910390fd5b5f8111611377576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136e90612b38565b60405180910390fd5b5f611380610a5d565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156113ee57506113be610a5d565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561192e5760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611491575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b611499575f80fd5b5f600f54036114e1576114de60646114d0600b54600f54116114bd576007546114c1565b6009545b85611f1190919063ffffffff16565b611f8890919063ffffffff16565b90505b5f600f541115611516576115136064611505600e5485611f1190919063ffffffff16565b611f8890919063ffffffff16565b90505b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156115bf575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611612575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561170a5760105482111561165c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165390612ba0565b60405180910390fd5b6011548261166985610791565b6116739190612bbe565b11156116b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ab90612c3b565b60405180910390fd5b6116f060646116e2600b54600f54116116cf576007546116d3565b6009545b85611f1190919063ffffffff16565b611f8890919063ffffffff16565b9050600f5f81548092919061170490612c59565b91905055505b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561179257503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156117d6576117d360646117c5600c54600f54116117b2576008546117b6565b600a545b85611f1190919063ffffffff16565b611f8890919063ffffffff16565b90505b5f6117e030610791565b905060158054906101000a900460ff16158015611849575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156118615750601560169054906101000a900460ff165b801561186e575060125481115b801561187d5750600d54600f54115b1561192c57601754431115611894575f6016819055505b600a601654106118d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d090612cea565b60405180910390fd5b6118f66118f1846118ec84601354611fd1565b611fd1565b611c40565b5f4790505f81111561190c5761190b47611ea9565b5b60165f81548092919061191e90612c59565b919050555043601781905550505b505b5f811115611a2d576119868160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611fe990919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611a2491906122ab565b60405180910390a35b611a7d8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461204690919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611b20611ad4828461204690919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611fe990919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611bc3848661204690919063ffffffff16565b604051611bd091906122ab565b60405180910390a350505050565b5f838311158290611c25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1c919061217a565b60405180910390fd5b505f8385611c339190612d08565b9050809150509392505050565b60016015806101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611c7657611c75612d3b565b5b604051908082528060200260200182016040528015611ca45781602001602082028036833780820191505090505b50905030815f81518110611cbb57611cba612d68565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d5f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d8391906126ff565b81600181518110611d9757611d96612d68565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611dfd3060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611096565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611e5f959493929190612e4c565b5f604051808303815f87803b158015611e76575f80fd5b505af1158015611e88573d5f803e3d5ffd5b50505050505f6015806101000a81548160ff02191690831515021790555050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611f0d573d5f803e3d5ffd5b5050565b5f808303611f21575f9050611f82565b5f8284611f2e9190612642565b9050828482611f3d9190612ed1565b14611f7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f7490612f71565b60405180910390fd5b809150505b92915050565b5f611fc983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061208f565b905092915050565b5f818311611fdf5782611fe1565b815b905092915050565b5f808284611ff79190612bbe565b90508381101561203c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161203390612fd9565b60405180910390fd5b8091505092915050565b5f61208783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611bde565b905092915050565b5f80831182906120d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120cc919061217a565b60405180910390fd5b505f83856120e39190612ed1565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561212757808201518184015260208101905061210c565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61214c826120f0565b61215681856120fa565b935061216681856020860161210a565b61216f81612132565b840191505092915050565b5f6020820190508181035f8301526121928184612142565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6121c78261219e565b9050919050565b6121d7816121bd565b81146121e1575f80fd5b50565b5f813590506121f2816121ce565b92915050565b5f819050919050565b61220a816121f8565b8114612214575f80fd5b50565b5f8135905061222581612201565b92915050565b5f80604083850312156122415761224061219a565b5b5f61224e858286016121e4565b925050602061225f85828601612217565b9150509250929050565b5f8115159050919050565b61227d81612269565b82525050565b5f6020820190506122965f830184612274565b92915050565b6122a5816121f8565b82525050565b5f6020820190506122be5f83018461229c565b92915050565b5f805f606084860312156122db576122da61219a565b5b5f6122e8868287016121e4565b93505060206122f9868287016121e4565b925050604061230a86828701612217565b9150509250925092565b5f60ff82169050919050565b61232981612314565b82525050565b5f6020820190506123425f830184612320565b92915050565b5f6020828403121561235d5761235c61219a565b5b5f61236a848285016121e4565b91505092915050565b61237c816121bd565b82525050565b5f6020820190506123955f830184612373565b92915050565b5f80604083850312156123b1576123b061219a565b5b5f6123be858286016121e4565b92505060206123cf858286016121e4565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61240d6020836120fa565b9150612418826123d9565b602082019050919050565b5f6020820190508181035f83015261243a81612401565b9050919050565b5f819050919050565b5f819050919050565b5f61246d61246861246384612441565b61244a565b6121f8565b9050919050565b61247d81612453565b82525050565b5f6020820190506124965f830184612474565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561251e578086048111156124fa576124f961249c565b5b60018516156125095780820291505b8081029050612517856124c9565b94506124de565b94509492505050565b5f8261253657600190506125f1565b81612543575f90506125f1565b8160018114612559576002811461256357612592565b60019150506125f1565b60ff8411156125755761257461249c565b5b8360020a91508482111561258c5761258b61249c565b5b506125f1565b5060208310610133831016604e8410600b84101617156125c75782820a9050838111156125c2576125c161249c565b5b6125f1565b6125d484848460016124d5565b925090508184048111156125eb576125ea61249c565b5b81810290505b9392505050565b5f612602826121f8565b915061260d83612314565b925061263a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612527565b905092915050565b5f61264c826121f8565b9150612657836121f8565b9250828202612665816121f8565b9150828204841483151761267c5761267b61249c565b5b5092915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6126b76017836120fa565b91506126c282612683565b602082019050919050565b5f6020820190508181035f8301526126e4816126ab565b9050919050565b5f815190506126f9816121ce565b92915050565b5f602082840312156127145761271361219a565b5b5f612721848285016126eb565b91505092915050565b5f60408201905061273d5f830185612373565b61274a6020830184612373565b9392505050565b5f60c0820190506127645f830189612373565b612771602083018861229c565b61277e6040830187612474565b61278b6060830186612474565b6127986080830185612373565b6127a560a083018461229c565b979650505050505050565b5f815190506127be81612201565b92915050565b5f805f606084860312156127db576127da61219a565b5b5f6127e8868287016127b0565b93505060206127f9868287016127b0565b925050604061280a868287016127b0565b9150509250925092565b5f6040820190506128275f830185612373565b612834602083018461229c565b9392505050565b61284481612269565b811461284e575f80fd5b50565b5f8151905061285f8161283b565b92915050565b5f6020828403121561287a5761287961219a565b5b5f61288784828501612851565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6128ea6024836120fa565b91506128f582612890565b604082019050919050565b5f6020820190508181035f830152612917816128de565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6129786022836120fa565b91506129838261291e565b604082019050919050565b5f6020820190508181035f8301526129a58161296c565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612a066025836120fa565b9150612a11826129ac565b604082019050919050565b5f6020820190508181035f830152612a33816129fa565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612a946023836120fa565b9150612a9f82612a3a565b604082019050919050565b5f6020820190508181035f830152612ac181612a88565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612b226029836120fa565b9150612b2d82612ac8565b604082019050919050565b5f6020820190508181035f830152612b4f81612b16565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612b8a6019836120fa565b9150612b9582612b56565b602082019050919050565b5f6020820190508181035f830152612bb781612b7e565b9050919050565b5f612bc8826121f8565b9150612bd3836121f8565b9250828201905080821115612beb57612bea61249c565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612c25601a836120fa565b9150612c3082612bf1565b602082019050919050565b5f6020820190508181035f830152612c5281612c19565b9050919050565b5f612c63826121f8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612c9557612c9461249c565b5b600182019050919050565b7f4f6e6c792031302073656c6c732070657220626c6f636b2100000000000000005f82015250565b5f612cd46018836120fa565b9150612cdf82612ca0565b602082019050919050565b5f6020820190508181035f830152612d0181612cc8565b9050919050565b5f612d12826121f8565b9150612d1d836121f8565b9250828203905081811115612d3557612d3461249c565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612dc7816121bd565b82525050565b5f612dd88383612dbe565b60208301905092915050565b5f602082019050919050565b5f612dfa82612d95565b612e048185612d9f565b9350612e0f83612daf565b805f5b83811015612e3f578151612e268882612dcd565b9750612e3183612de4565b925050600181019050612e12565b5085935050505092915050565b5f60a082019050612e5f5f83018861229c565b612e6c6020830187612474565b8181036040830152612e7e8186612df0565b9050612e8d6060830185612373565b612e9a608083018461229c565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612edb826121f8565b9150612ee6836121f8565b925082612ef657612ef5612ea4565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612f5b6021836120fa565b9150612f6682612f01565b604082019050919050565b5f6020820190508181035f830152612f8881612f4f565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612fc3601b836120fa565b9150612fce82612f8f565b602082019050919050565b5f6020820190508181035f830152612ff081612fb7565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122018ff4e3113dad473f67f724ec4c70c57821d856d08a383f2691e26e7d12771a864736f6c63430008170033
Deployed Bytecode
0x608060405260043610610122575f3560e01c8063715018a61161009f57806395d89b411161006357806395d89b4114610375578063a9059cbb1461039f578063bf474bed146103db578063dd62ed3e14610405578063fb201b1d1461044157610129565b8063715018a6146102cb578063751039fc146102e15780637d1db4a5146102f75780638da5cb5b146103215780638f9a55c01461034b57610129565b806323b872dd116100e657806323b872dd146101fd578063313ce5671461023957806351bc3c85146102635780636fc3eaec1461027957806370a082311461028f57610129565b806306fdde031461012d578063095ea7b3146101575780630faee56f14610193578063109daa99146101bd57806318160ddd146101d357610129565b3661012957005b5f80fd5b348015610138575f80fd5b50610141610457565b60405161014e919061217a565b60405180910390f35b348015610162575f80fd5b5061017d6004803603810190610178919061222b565b610494565b60405161018a9190612283565b60405180910390f35b34801561019e575f80fd5b506101a76104b1565b6040516101b491906122ab565b60405180910390f35b3480156101c8575f80fd5b506101d16104b7565b005b3480156101de575f80fd5b506101e761058b565b6040516101f491906122ab565b60405180910390f35b348015610208575f80fd5b50610223600480360381019061021e91906122c4565b6105af565b6040516102309190612283565b60405180910390f35b348015610244575f80fd5b5061024d610683565b60405161025a919061232f565b60405180910390f35b34801561026e575f80fd5b5061027761068b565b005b348015610284575f80fd5b5061028d610722565b005b34801561029a575f80fd5b506102b560048036038101906102b09190612348565b610791565b6040516102c291906122ab565b60405180910390f35b3480156102d6575f80fd5b506102df6107d7565b005b3480156102ec575f80fd5b506102f5610925565b005b348015610302575f80fd5b5061030b610a57565b60405161031891906122ab565b60405180910390f35b34801561032c575f80fd5b50610335610a5d565b6040516103429190612382565b60405180910390f35b348015610356575f80fd5b5061035f610a84565b60405161036c91906122ab565b60405180910390f35b348015610380575f80fd5b50610389610a8a565b604051610396919061217a565b60405180910390f35b3480156103aa575f80fd5b506103c560048036038101906103c0919061222b565b610ac7565b6040516103d29190612283565b60405180910390f35b3480156103e6575f80fd5b506103ef610ae4565b6040516103fc91906122ab565b60405180910390f35b348015610410575f80fd5b5061042b6004803603810190610426919061239b565b610aea565b60405161043891906122ab565b60405180910390f35b34801561044c575f80fd5b50610455610b6c565b005b60606040518060400160405280600981526020017f4441524b204d55534b0000000000000000000000000000000000000000000000815250905090565b5f6104a76104a061108f565b8484611096565b6001905092915050565b60135481565b6104bf61108f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461054b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054290612423565b60405180910390fd5b5f600e819055507fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de35f6040516105819190612483565b60405180910390a1565b5f6009600a61059a91906125f8565b6461f313f8806105aa9190612642565b905090565b5f6105bb848484611259565b610678846105c761108f565b61067385604051806060016040528060288152602001612ff86028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61062a61108f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611bde9092919063ffffffff16565b611096565b600190509392505050565b5f6009905090565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106cb61108f565b73ffffffffffffffffffffffffffffffffffffffff16146106ea575f80fd5b5f6106f430610791565b90505f8111156107085761070781611c40565b5b5f4790505f81111561071e5761071d81611ea9565b5b5050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661076261108f565b73ffffffffffffffffffffffffffffffffffffffff1614610781575f80fd5b5f47905061078e81611ea9565b50565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6107df61108f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461086b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086290612423565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61092d61108f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b090612423565b60405180910390fd5b6009600a6109c791906125f8565b6461f313f8806109d79190612642565b6010819055506009600a6109eb91906125f8565b6461f313f8806109fb9190612642565b6011819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610a3091906125f8565b6461f313f880610a409190612642565b604051610a4d91906122ab565b60405180910390a1565b60105481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60115481565b60606040518060400160405280600481526020017f454c4f4e00000000000000000000000000000000000000000000000000000000815250905090565b5f610ada610ad361108f565b8484611259565b6001905092915050565b60125481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610b7461108f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf790612423565b60405180910390fd5b601560149054906101000a900460ff1615610c50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c47906126cd565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610ced3060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610cd891906125f8565b6461f313f880610ce89190612642565b611096565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d57573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d7b91906126ff565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e01573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e2591906126ff565b6040518363ffffffff1660e01b8152600401610e4292919061272a565b6020604051808303815f875af1158015610e5e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e8291906126ff565b60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610f0930610791565b5f80610f13610a5d565b426040518863ffffffff1660e01b8152600401610f3596959493929190612751565b60606040518083038185885af1158015610f51573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610f7691906127c4565b50505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611016929190612814565b6020604051808303815f875af1158015611032573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110569190612865565b506001601560166101000a81548160ff0219169083151502179055506001601560146101000a81548160ff021916908315150217905550565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611104576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fb90612900565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611172576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111699061298e565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161124c91906122ab565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112be90612a1c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611335576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132c90612aaa565b60405180910390fd5b5f8111611377576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136e90612b38565b60405180910390fd5b5f611380610a5d565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156113ee57506113be610a5d565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561192e5760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611491575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b611499575f80fd5b5f600f54036114e1576114de60646114d0600b54600f54116114bd576007546114c1565b6009545b85611f1190919063ffffffff16565b611f8890919063ffffffff16565b90505b5f600f541115611516576115136064611505600e5485611f1190919063ffffffff16565b611f8890919063ffffffff16565b90505b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156115bf575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611612575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561170a5760105482111561165c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165390612ba0565b60405180910390fd5b6011548261166985610791565b6116739190612bbe565b11156116b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ab90612c3b565b60405180910390fd5b6116f060646116e2600b54600f54116116cf576007546116d3565b6009545b85611f1190919063ffffffff16565b611f8890919063ffffffff16565b9050600f5f81548092919061170490612c59565b91905055505b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561179257503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156117d6576117d360646117c5600c54600f54116117b2576008546117b6565b600a545b85611f1190919063ffffffff16565b611f8890919063ffffffff16565b90505b5f6117e030610791565b905060158054906101000a900460ff16158015611849575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156118615750601560169054906101000a900460ff165b801561186e575060125481115b801561187d5750600d54600f54115b1561192c57601754431115611894575f6016819055505b600a601654106118d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d090612cea565b60405180910390fd5b6118f66118f1846118ec84601354611fd1565b611fd1565b611c40565b5f4790505f81111561190c5761190b47611ea9565b5b60165f81548092919061191e90612c59565b919050555043601781905550505b505b5f811115611a2d576119868160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611fe990919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611a2491906122ab565b60405180910390a35b611a7d8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461204690919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611b20611ad4828461204690919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611fe990919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611bc3848661204690919063ffffffff16565b604051611bd091906122ab565b60405180910390a350505050565b5f838311158290611c25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1c919061217a565b60405180910390fd5b505f8385611c339190612d08565b9050809150509392505050565b60016015806101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611c7657611c75612d3b565b5b604051908082528060200260200182016040528015611ca45781602001602082028036833780820191505090505b50905030815f81518110611cbb57611cba612d68565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d5f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d8391906126ff565b81600181518110611d9757611d96612d68565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611dfd3060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611096565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611e5f959493929190612e4c565b5f604051808303815f87803b158015611e76575f80fd5b505af1158015611e88573d5f803e3d5ffd5b50505050505f6015806101000a81548160ff02191690831515021790555050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611f0d573d5f803e3d5ffd5b5050565b5f808303611f21575f9050611f82565b5f8284611f2e9190612642565b9050828482611f3d9190612ed1565b14611f7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f7490612f71565b60405180910390fd5b809150505b92915050565b5f611fc983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061208f565b905092915050565b5f818311611fdf5782611fe1565b815b905092915050565b5f808284611ff79190612bbe565b90508381101561203c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161203390612fd9565b60405180910390fd5b8091505092915050565b5f61208783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611bde565b905092915050565b5f80831182906120d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120cc919061217a565b60405180910390fd5b505f83856120e39190612ed1565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561212757808201518184015260208101905061210c565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61214c826120f0565b61215681856120fa565b935061216681856020860161210a565b61216f81612132565b840191505092915050565b5f6020820190508181035f8301526121928184612142565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6121c78261219e565b9050919050565b6121d7816121bd565b81146121e1575f80fd5b50565b5f813590506121f2816121ce565b92915050565b5f819050919050565b61220a816121f8565b8114612214575f80fd5b50565b5f8135905061222581612201565b92915050565b5f80604083850312156122415761224061219a565b5b5f61224e858286016121e4565b925050602061225f85828601612217565b9150509250929050565b5f8115159050919050565b61227d81612269565b82525050565b5f6020820190506122965f830184612274565b92915050565b6122a5816121f8565b82525050565b5f6020820190506122be5f83018461229c565b92915050565b5f805f606084860312156122db576122da61219a565b5b5f6122e8868287016121e4565b93505060206122f9868287016121e4565b925050604061230a86828701612217565b9150509250925092565b5f60ff82169050919050565b61232981612314565b82525050565b5f6020820190506123425f830184612320565b92915050565b5f6020828403121561235d5761235c61219a565b5b5f61236a848285016121e4565b91505092915050565b61237c816121bd565b82525050565b5f6020820190506123955f830184612373565b92915050565b5f80604083850312156123b1576123b061219a565b5b5f6123be858286016121e4565b92505060206123cf858286016121e4565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61240d6020836120fa565b9150612418826123d9565b602082019050919050565b5f6020820190508181035f83015261243a81612401565b9050919050565b5f819050919050565b5f819050919050565b5f61246d61246861246384612441565b61244a565b6121f8565b9050919050565b61247d81612453565b82525050565b5f6020820190506124965f830184612474565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561251e578086048111156124fa576124f961249c565b5b60018516156125095780820291505b8081029050612517856124c9565b94506124de565b94509492505050565b5f8261253657600190506125f1565b81612543575f90506125f1565b8160018114612559576002811461256357612592565b60019150506125f1565b60ff8411156125755761257461249c565b5b8360020a91508482111561258c5761258b61249c565b5b506125f1565b5060208310610133831016604e8410600b84101617156125c75782820a9050838111156125c2576125c161249c565b5b6125f1565b6125d484848460016124d5565b925090508184048111156125eb576125ea61249c565b5b81810290505b9392505050565b5f612602826121f8565b915061260d83612314565b925061263a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612527565b905092915050565b5f61264c826121f8565b9150612657836121f8565b9250828202612665816121f8565b9150828204841483151761267c5761267b61249c565b5b5092915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6126b76017836120fa565b91506126c282612683565b602082019050919050565b5f6020820190508181035f8301526126e4816126ab565b9050919050565b5f815190506126f9816121ce565b92915050565b5f602082840312156127145761271361219a565b5b5f612721848285016126eb565b91505092915050565b5f60408201905061273d5f830185612373565b61274a6020830184612373565b9392505050565b5f60c0820190506127645f830189612373565b612771602083018861229c565b61277e6040830187612474565b61278b6060830186612474565b6127986080830185612373565b6127a560a083018461229c565b979650505050505050565b5f815190506127be81612201565b92915050565b5f805f606084860312156127db576127da61219a565b5b5f6127e8868287016127b0565b93505060206127f9868287016127b0565b925050604061280a868287016127b0565b9150509250925092565b5f6040820190506128275f830185612373565b612834602083018461229c565b9392505050565b61284481612269565b811461284e575f80fd5b50565b5f8151905061285f8161283b565b92915050565b5f6020828403121561287a5761287961219a565b5b5f61288784828501612851565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6128ea6024836120fa565b91506128f582612890565b604082019050919050565b5f6020820190508181035f830152612917816128de565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6129786022836120fa565b91506129838261291e565b604082019050919050565b5f6020820190508181035f8301526129a58161296c565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612a066025836120fa565b9150612a11826129ac565b604082019050919050565b5f6020820190508181035f830152612a33816129fa565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612a946023836120fa565b9150612a9f82612a3a565b604082019050919050565b5f6020820190508181035f830152612ac181612a88565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612b226029836120fa565b9150612b2d82612ac8565b604082019050919050565b5f6020820190508181035f830152612b4f81612b16565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612b8a6019836120fa565b9150612b9582612b56565b602082019050919050565b5f6020820190508181035f830152612bb781612b7e565b9050919050565b5f612bc8826121f8565b9150612bd3836121f8565b9250828201905080821115612beb57612bea61249c565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612c25601a836120fa565b9150612c3082612bf1565b602082019050919050565b5f6020820190508181035f830152612c5281612c19565b9050919050565b5f612c63826121f8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612c9557612c9461249c565b5b600182019050919050565b7f4f6e6c792031302073656c6c732070657220626c6f636b2100000000000000005f82015250565b5f612cd46018836120fa565b9150612cdf82612ca0565b602082019050919050565b5f6020820190508181035f830152612d0181612cc8565b9050919050565b5f612d12826121f8565b9150612d1d836121f8565b9250828203905081811115612d3557612d3461249c565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612dc7816121bd565b82525050565b5f612dd88383612dbe565b60208301905092915050565b5f602082019050919050565b5f612dfa82612d95565b612e048185612d9f565b9350612e0f83612daf565b805f5b83811015612e3f578151612e268882612dcd565b9750612e3183612de4565b925050600181019050612e12565b5085935050505092915050565b5f60a082019050612e5f5f83018861229c565b612e6c6020830187612474565b8181036040830152612e7e8186612df0565b9050612e8d6060830185612373565b612e9a608083018461229c565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612edb826121f8565b9150612ee6836121f8565b925082612ef657612ef5612ea4565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612f5b6021836120fa565b9150612f6682612f01565b604082019050919050565b5f6020820190508181035f830152612f8881612f4f565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612fc3601b836120fa565b9150612fce82612f8f565b602082019050919050565b5f6020820190508181035f830152612ff081612fb7565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122018ff4e3113dad473f67f724ec4c70c57821d856d08a383f2691e26e7d12771a864736f6c63430008170033
Deployed Bytecode Sourcemap
3530:8566:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5719:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6552:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4762:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10609:119;;;;;;;;;;;;;:::i;:::-;;5996:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6721:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5905:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11550:348;;;;;;;;;;;;;:::i;:::-;;11906:187;;;;;;;;;;;;;:::i;:::-;;6099:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2611:148;;;;;;;;;;;;;:::i;:::-;;10442:159;;;;;;;;;;;;;:::i;:::-;;4590:48;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2397:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4645:50;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5810:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6226:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4702:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6401:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10836:669;;;;;;;;;;;;;:::i;:::-;;5719:83;5756:13;5789:5;;;;;;;;;;;;;;;;;5782:12;;5719:83;:::o;6552:161::-;6627:4;6644:39;6653:12;:10;:12::i;:::-;6667:7;6676:6;6644:8;:39::i;:::-;6701:4;6694:11;;6552:161;;;;:::o;4762:45::-;;;;:::o;10609:119::-;2534:12;:10;:12::i;:::-;2524:22;;:6;;;;;;;;;;:22;;;2516:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10682:1:::1;10667:12;:16;;;;10699:21;10718:1;10699:21;;;;;;:::i;:::-;;;;;;;;10609:119::o:0;5996:95::-;6049:7;4399:1;4459:2;:13;;;;:::i;:::-;4441:15;:31;;;;:::i;:::-;6069:14;;5996:95;:::o;6721:313::-;6819:4;6836:36;6846:6;6854:9;6865:6;6836:9;:36::i;:::-;6883:121;6892:6;6900:12;:10;:12::i;:::-;6914:89;6952:6;6914:89;;;;;;;;;;;;;;;;;:11;:19;6926:6;6914:19;;;;;;;;;;;;;;;:33;6934:12;:10;:12::i;:::-;6914:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6883:8;:121::i;:::-;7022:4;7015:11;;6721:313;;;;;:::o;5905:83::-;5946:5;4399:1;5964:16;;5905:83;:::o;11550:348::-;11614:10;;;;;;;;;;;11600:24;;:12;:10;:12::i;:::-;:24;;;11592:33;;;;;;11636:20;11657:24;11675:4;11657:9;:24::i;:::-;11636:45;;11708:1;11695:12;:14;11692:73;;;11723:30;11740:12;11723:16;:30::i;:::-;11692:73;11775:18;11794:21;11775:40;;11840:1;11829:10;:12;11826:65;;;11855:24;11868:10;11855:12;:24::i;:::-;11826:65;11581:317;;11550:348::o;11906:187::-;11970:10;;;;;;;;;;;11956:24;;:12;:10;:12::i;:::-;:24;;;11948:33;;;;;;11992:26;12021:21;11992:50;;12053:32;12066:18;12053:12;:32::i;:::-;11937:156;11906:187::o;6099:119::-;6165:7;6192:9;:18;6202:7;6192:18;;;;;;;;;;;;;;;;6185:25;;6099:119;;;:::o;2611:148::-;2534:12;:10;:12::i;:::-;2524:22;;:6;;;;;;;;;;:22;;;2516:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2718:1:::1;2681:40;;2702:6;::::0;::::1;;;;;;;;2681:40;;;;;;;;;;;;2749:1;2732:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2611:148::o:0;10442:159::-;2534:12;:10;:12::i;:::-;2524:22;;:6;;;;;;;;;;:22;;;2516:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4399:1:::1;4459:2;:13;;;;:::i;:::-;4441:15;:31;;;;:::i;:::-;10495:12;:22;;;;4399:1;4459:2;:13;;;;:::i;:::-;4441:15;:31;;;;:::i;:::-;10528:14;:22;;;;10566:27;4399:1;4459:2;:13;;;;:::i;:::-;4441:15;:31;;;;:::i;:::-;10566:27;;;;;;:::i;:::-;;;;;;;;10442:159::o:0;4590:48::-;;;;:::o;2397:79::-;2435:7;2462:6;;;;;;;;;;;2455:13;;2397:79;:::o;4645:50::-;;;;:::o;5810:87::-;5849:13;5882:7;;;;;;;;;;;;;;;;;5875:14;;5810:87;:::o;6226:167::-;6304:4;6321:42;6331:12;:10;:12::i;:::-;6345:9;6356:6;6321:9;:42::i;:::-;6381:4;6374:11;;6226:167;;;;:::o;4702:53::-;;;;:::o;6401:143::-;6482:7;6509:11;:18;6521:5;6509:18;;;;;;;;;;;;;;;:27;6528:7;6509:27;;;;;;;;;;;;;;;;6502:34;;6401:143;;;;:::o;10836:669::-;2534:12;:10;:12::i;:::-;2524:22;;:6;;;;;;;;;;:22;;;2516:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10898:11:::1;;;;;;;;;;;10897:12;10889:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;10984:42;10947:15;;:80;;;;;;;;;;;;;;;;;;11038:58;11055:4;11070:15;;;;;;;;;;;4399:1;4459:2;:13;;;;:::i;:::-;4441:15;:31;;;;:::i;:::-;11038:8;:58::i;:::-;11141:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11123:55;;;11187:4;11194:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11123:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11107:13;;:110;;;;;;;;;;;;;;;;;;11228:15;;;;;;;;;;;:31;;;11267:21;11298:4;11304:24;11322:4;11304:9;:24::i;:::-;11329:1;11331::::0;11333:7:::1;:5;:7::i;:::-;11341:15;11228:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11375:13;;;;;;;;;;;11368:29;;;11406:15;;;;;;;;;;;11424:14;11368:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11464:4;11450:11;;:18;;;;;;;;;;;;;;;;;;11493:4;11479:11;;:18;;;;;;;;;;;;;;;;;;10836:669::o:0;152:98::-;205:7;232:10;225:17;;152:98;:::o;7042:335::-;7152:1;7135:19;;:5;:19;;;7127:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7233:1;7214:21;;:7;:21;;;7206:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7315:6;7285:11;:18;7297:5;7285:18;;;;;;;;;;;;;;;:27;7304:7;7285:27;;;;;;;;;;;;;;;:36;;;;7353:7;7337:32;;7346:5;7337:32;;;7362:6;7337:32;;;;;;:::i;:::-;;;;;;;;7042:335;;;:::o;7385:2450::-;7489:1;7473:18;;:4;:18;;;7465:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7566:1;7552:16;;:2;:16;;;7544:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7636:1;7627:6;:10;7619:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7694:17;7736:7;:5;:7::i;:::-;7728:15;;:4;:15;;;;:32;;;;;7753:7;:5;:7::i;:::-;7747:13;;:2;:13;;;;7728:32;7724:1755;;;7786:4;:10;7791:4;7786:10;;;;;;;;;;;;;;;;;;;;;;;;;7785:11;:24;;;;;7801:4;:8;7806:2;7801:8;;;;;;;;;;;;;;;;;;;;;;;;;7800:9;7785:24;7777:33;;;;;;7841:1;7830:9;;:12;7827:139;;7874:76;7946:3;7874:67;7896:15;;7886:9;;:25;7885:55;;7926:14;;7885:55;;;7913:12;;7885:55;7874:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;7862:88;;7827:139;7993:1;7983:9;;:11;7980:95;;;8026:33;8055:3;8026:24;8037:12;;8026:6;:10;;:24;;;;:::i;:::-;:28;;:33;;;;:::i;:::-;8014:45;;7980:95;8103:13;;;;;;;;;;;8095:21;;:4;:21;;;:55;;;;;8134:15;;;;;;;;;;;8120:30;;:2;:30;;;;8095:55;:83;;;;;8156:18;:22;8175:2;8156:22;;;;;;;;;;;;;;;;;;;;;;;;;8154:24;8095:83;8091:420;;;8218:12;;8208:6;:22;;8200:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8313:14;;8303:6;8287:13;8297:2;8287:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8279:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8389:76;8461:3;8389:67;8411:15;;8401:9;;:25;8400:55;;8441:14;;8400:55;;;8428:12;;8400:55;8389:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;8377:88;;8484:9;;:11;;;;;;;;;:::i;:::-;;;;;;8091:420;8536:13;;;;;;;;;;;8530:19;;:2;:19;;;:43;;;;;8568:4;8553:20;;:4;:20;;;;8530:43;8527:174;;;8606:79;8681:3;8606:70;8628:16;;8618:9;;:26;8617:58;;8660:15;;8617:58;;;8646:13;;8617:58;8606:6;:10;;:70;;;;:::i;:::-;:74;;:79;;;;:::i;:::-;8594:91;;8527:174;8717:28;8748:24;8766:4;8748:9;:24::i;:::-;8717:55;;8792:6;;;;;;;;;;8791:7;:30;;;;;8808:13;;;;;;;;;;;8802:19;;:2;:19;;;8791:30;:45;;;;;8825:11;;;;;;;;;;;8791:45;:89;;;;;8863:17;;8840:20;:40;8791:89;:123;;;;;8896:18;;8884:9;;:30;8791:123;8787:681;;;8954:13;;8939:12;:28;8935:90;;;9004:1;8992:9;:13;;;;8935:90;9063:2;9051:9;;:14;9043:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;9113:69;9130:51;9134:6;9142:38;9146:20;9168:11;;9142:3;:38::i;:::-;9130:3;:51::i;:::-;9113:16;:69::i;:::-;9201:26;9230:21;9201:50;;9295:1;9274:18;:22;9270:106;;;9321:35;9334:21;9321:12;:35::i;:::-;9270:106;9394:9;;:11;;;;;;;;;:::i;:::-;;;;;;9440:12;9424:13;:28;;;;8916:552;8787:681;7762:1717;7724:1755;9504:1;9494:9;:11;9491:161;;;9544:39;9573:9;9544;:24;9562:4;9544:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9519:9;:24;9537:4;9519:24;;;;;;;;;;;;;;;:64;;;;9624:4;9601:39;;9610:4;9601:39;;;9630:9;9601:39;;;;;;:::i;:::-;;;;;;;;9491:161;9678:27;9698:6;9678:9;:15;9688:4;9678:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9662:9;:15;9672:4;9662:15;;;;;;;;;;;;;;;:43;;;;9730:40;9748:21;9759:9;9748:6;:10;;:21;;;;:::i;:::-;9730:9;:13;9740:2;9730:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;9716:9;:13;9726:2;9716:13;;;;;;;;;;;;;;;:54;;;;9801:2;9786:41;;9795:4;9786:41;;;9805:21;9816:9;9805:6;:10;;:21;;;;:::i;:::-;9786:41;;;;;;:::i;:::-;;;;;;;;7454:2381;7385:2450;;;:::o;1289:190::-;1375:7;1408:1;1403;:6;;1411:12;1395:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1435:9;1451:1;1447;:5;;;;:::i;:::-;1435:17;;1470:1;1463:8;;;1289:190;;;;;:::o;9951:483::-;5218:4;5209:6;;:13;;;;;;;;;;;;;;;;;;10029:21:::1;10067:1;10053:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10029:40;;10098:4;10080;10085:1;10080:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10124:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10114:4;10119:1;10114:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10157:62;10174:4;10189:15;;;;;;;;;;;10207:11;10157:8;:62::i;:::-;10230:15;;;;;;;;;;;:66;;;10311:11;10337:1;10353:4;10380;10400:15;10230:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10018:416;5254:5:::0;5245:6;;:14;;;;;;;;;;;;;;;;;;9951:483;:::o;10736:92::-;10793:10;;;;;;;;;;;:19;;:27;10813:6;10793:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10736:92;:::o;1487:246::-;1545:7;1574:1;1569;:6;1565:47;;1599:1;1592:8;;;;1565:47;1622:9;1638:1;1634;:5;;;;:::i;:::-;1622:17;;1667:1;1662;1658;:5;;;;:::i;:::-;:10;1650:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1724:1;1717:8;;;1487:246;;;;;:::o;1741:132::-;1799:7;1826:39;1830:1;1833;1826:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1819:46;;1741:132;;;;:::o;9845:98::-;9902:7;9929:1;9927;:3;9926:9;;9934:1;9926:9;;;9932:1;9926:9;9919:16;;9845:98;;;;:::o;958:179::-;1016:7;1036:9;1052:1;1048;:5;;;;:::i;:::-;1036:17;;1077:1;1072;:6;;1064:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1128:1;1121:8;;;958:179;;;;:::o;1145:136::-;1203:7;1230:43;1234:1;1237;1230:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1223:50;;1145:136;;;;:::o;1881:189::-;1967:7;1999:1;1995;:5;2002:12;1987:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2026:9;2042:1;2038;:5;;;;:::i;:::-;2026:17;;2061:1;2054:8;;;1881:189;;;;;:::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:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:474::-;5608:6;5616;5665:2;5653:9;5644:7;5640:23;5636:32;5633:119;;;5671:79;;:::i;:::-;5633:119;5791:1;5816:53;5861:7;5852:6;5841:9;5837:22;5816:53;:::i;:::-;5806:63;;5762:117;5918:2;5944:53;5989:7;5980:6;5969:9;5965:22;5944:53;:::i;:::-;5934:63;;5889:118;5540:474;;;;;:::o;6020:182::-;6160:34;6156:1;6148:6;6144:14;6137:58;6020:182;:::o;6208:366::-;6350:3;6371:67;6435:2;6430:3;6371:67;:::i;:::-;6364:74;;6447:93;6536:3;6447:93;:::i;:::-;6565:2;6560:3;6556:12;6549:19;;6208:366;;;:::o;6580:419::-;6746:4;6784:2;6773:9;6769:18;6761:26;;6833:9;6827:4;6823:20;6819:1;6808:9;6804:17;6797:47;6861:131;6987:4;6861:131;:::i;:::-;6853:139;;6580:419;;;:::o;7005:85::-;7050:7;7079:5;7068:16;;7005:85;;;:::o;7096:60::-;7124:3;7145:5;7138:12;;7096:60;;;:::o;7162:158::-;7220:9;7253:61;7271:42;7280:32;7306:5;7280:32;:::i;:::-;7271:42;:::i;:::-;7253:61;:::i;:::-;7240:74;;7162:158;;;:::o;7326:147::-;7421:45;7460:5;7421:45;:::i;:::-;7416:3;7409:58;7326:147;;:::o;7479:238::-;7580:4;7618:2;7607:9;7603:18;7595:26;;7631:79;7707:1;7696:9;7692:17;7683:6;7631:79;:::i;:::-;7479:238;;;;:::o;7723:180::-;7771:77;7768:1;7761:88;7868:4;7865:1;7858:15;7892:4;7889:1;7882:15;7909:102;7951:8;7998:5;7995:1;7991:13;7970:34;;7909:102;;;:::o;8017:848::-;8078:5;8085:4;8109:6;8100:15;;8133:5;8124:14;;8147:712;8168:1;8158:8;8155:15;8147:712;;;8263:4;8258:3;8254:14;8248:4;8245:24;8242:50;;;8272:18;;:::i;:::-;8242:50;8322:1;8312:8;8308:16;8305:451;;;8737:4;8730:5;8726:16;8717:25;;8305:451;8787:4;8781;8777:15;8769:23;;8817:32;8840:8;8817:32;:::i;:::-;8805:44;;8147:712;;;8017:848;;;;;;;:::o;8871:1073::-;8925:5;9116:8;9106:40;;9137:1;9128:10;;9139:5;;9106:40;9165:4;9155:36;;9182:1;9173:10;;9184:5;;9155:36;9251:4;9299:1;9294:27;;;;9335:1;9330:191;;;;9244:277;;9294:27;9312:1;9303:10;;9314:5;;;9330:191;9375:3;9365:8;9362:17;9359:43;;;9382:18;;:::i;:::-;9359:43;9431:8;9428:1;9424:16;9415:25;;9466:3;9459:5;9456:14;9453:40;;;9473:18;;:::i;:::-;9453:40;9506:5;;;9244:277;;9630:2;9620:8;9617:16;9611:3;9605:4;9602:13;9598:36;9580:2;9570:8;9567:16;9562:2;9556:4;9553:12;9549:35;9533:111;9530:246;;;9686:8;9680:4;9676:19;9667:28;;9721:3;9714:5;9711:14;9708:40;;;9728:18;;:::i;:::-;9708:40;9761:5;;9530:246;9801:42;9839:3;9829:8;9823:4;9820:1;9801:42;:::i;:::-;9786:57;;;;9875:4;9870:3;9866:14;9859:5;9856:25;9853:51;;;9884:18;;:::i;:::-;9853:51;9933:4;9926:5;9922:16;9913:25;;8871:1073;;;;;;:::o;9950:281::-;10008:5;10032:23;10050:4;10032:23;:::i;:::-;10024:31;;10076:25;10092:8;10076:25;:::i;:::-;10064:37;;10120:104;10157:66;10147:8;10141:4;10120:104;:::i;:::-;10111:113;;9950:281;;;;:::o;10237:410::-;10277:7;10300:20;10318:1;10300:20;:::i;:::-;10295:25;;10334:20;10352:1;10334:20;:::i;:::-;10329:25;;10389:1;10386;10382:9;10411:30;10429:11;10411:30;:::i;:::-;10400:41;;10590:1;10581:7;10577:15;10574:1;10571:22;10551:1;10544:9;10524:83;10501:139;;10620:18;;:::i;:::-;10501:139;10285:362;10237:410;;;;:::o;10653:173::-;10793:25;10789:1;10781:6;10777:14;10770:49;10653:173;:::o;10832:366::-;10974:3;10995:67;11059:2;11054:3;10995:67;:::i;:::-;10988:74;;11071:93;11160:3;11071:93;:::i;:::-;11189:2;11184:3;11180:12;11173:19;;10832:366;;;:::o;11204:419::-;11370:4;11408:2;11397:9;11393:18;11385:26;;11457:9;11451:4;11447:20;11443:1;11432:9;11428:17;11421:47;11485:131;11611:4;11485:131;:::i;:::-;11477:139;;11204:419;;;:::o;11629:143::-;11686:5;11717:6;11711:13;11702:22;;11733:33;11760:5;11733:33;:::i;:::-;11629:143;;;;:::o;11778:351::-;11848:6;11897:2;11885:9;11876:7;11872:23;11868:32;11865:119;;;11903:79;;:::i;:::-;11865:119;12023:1;12048:64;12104:7;12095:6;12084:9;12080:22;12048:64;:::i;:::-;12038:74;;11994:128;11778:351;;;;:::o;12135:332::-;12256:4;12294:2;12283:9;12279:18;12271:26;;12307:71;12375:1;12364:9;12360:17;12351:6;12307:71;:::i;:::-;12388:72;12456:2;12445:9;12441:18;12432:6;12388:72;:::i;:::-;12135:332;;;;;:::o;12473:807::-;12722:4;12760:3;12749:9;12745:19;12737:27;;12774:71;12842:1;12831:9;12827:17;12818:6;12774:71;:::i;:::-;12855:72;12923:2;12912:9;12908:18;12899:6;12855:72;:::i;:::-;12937:80;13013:2;13002:9;12998:18;12989:6;12937:80;:::i;:::-;13027;13103:2;13092:9;13088:18;13079:6;13027:80;:::i;:::-;13117:73;13185:3;13174:9;13170:19;13161:6;13117:73;:::i;:::-;13200;13268:3;13257:9;13253:19;13244:6;13200:73;:::i;:::-;12473:807;;;;;;;;;:::o;13286:143::-;13343:5;13374:6;13368:13;13359:22;;13390:33;13417:5;13390:33;:::i;:::-;13286:143;;;;:::o;13435:663::-;13523:6;13531;13539;13588:2;13576:9;13567:7;13563:23;13559:32;13556:119;;;13594:79;;:::i;:::-;13556:119;13714:1;13739:64;13795:7;13786:6;13775:9;13771:22;13739:64;:::i;:::-;13729:74;;13685:128;13852:2;13878:64;13934:7;13925:6;13914:9;13910:22;13878:64;:::i;:::-;13868:74;;13823:129;13991:2;14017:64;14073:7;14064:6;14053:9;14049:22;14017:64;:::i;:::-;14007:74;;13962:129;13435:663;;;;;:::o;14104:332::-;14225:4;14263:2;14252:9;14248:18;14240:26;;14276:71;14344:1;14333:9;14329:17;14320:6;14276:71;:::i;:::-;14357:72;14425:2;14414:9;14410:18;14401:6;14357:72;:::i;:::-;14104:332;;;;;:::o;14442:116::-;14512:21;14527:5;14512:21;:::i;:::-;14505:5;14502:32;14492:60;;14548:1;14545;14538:12;14492:60;14442:116;:::o;14564:137::-;14618:5;14649:6;14643:13;14634:22;;14665:30;14689:5;14665:30;:::i;:::-;14564:137;;;;:::o;14707:345::-;14774:6;14823:2;14811:9;14802:7;14798:23;14794:32;14791:119;;;14829:79;;:::i;:::-;14791:119;14949:1;14974:61;15027:7;15018:6;15007:9;15003:22;14974:61;:::i;:::-;14964:71;;14920:125;14707:345;;;;:::o;15058:223::-;15198:34;15194:1;15186:6;15182:14;15175:58;15267:6;15262:2;15254:6;15250:15;15243:31;15058:223;:::o;15287:366::-;15429:3;15450:67;15514:2;15509:3;15450:67;:::i;:::-;15443:74;;15526:93;15615:3;15526:93;:::i;:::-;15644:2;15639:3;15635:12;15628:19;;15287:366;;;:::o;15659:419::-;15825:4;15863:2;15852:9;15848:18;15840:26;;15912:9;15906:4;15902:20;15898:1;15887:9;15883:17;15876:47;15940:131;16066:4;15940:131;:::i;:::-;15932:139;;15659:419;;;:::o;16084:221::-;16224:34;16220:1;16212:6;16208:14;16201:58;16293:4;16288:2;16280:6;16276:15;16269:29;16084:221;:::o;16311:366::-;16453:3;16474:67;16538:2;16533:3;16474:67;:::i;:::-;16467:74;;16550:93;16639:3;16550:93;:::i;:::-;16668:2;16663:3;16659:12;16652:19;;16311:366;;;:::o;16683:419::-;16849:4;16887:2;16876:9;16872:18;16864:26;;16936:9;16930:4;16926:20;16922:1;16911:9;16907:17;16900:47;16964:131;17090:4;16964:131;:::i;:::-;16956:139;;16683:419;;;:::o;17108:224::-;17248:34;17244:1;17236:6;17232:14;17225:58;17317:7;17312:2;17304:6;17300:15;17293:32;17108:224;:::o;17338:366::-;17480:3;17501:67;17565:2;17560:3;17501:67;:::i;:::-;17494:74;;17577:93;17666:3;17577:93;:::i;:::-;17695:2;17690:3;17686:12;17679:19;;17338:366;;;:::o;17710:419::-;17876:4;17914:2;17903:9;17899:18;17891:26;;17963:9;17957:4;17953:20;17949:1;17938:9;17934:17;17927:47;17991:131;18117:4;17991:131;:::i;:::-;17983:139;;17710:419;;;:::o;18135:222::-;18275:34;18271:1;18263:6;18259:14;18252:58;18344:5;18339:2;18331:6;18327:15;18320:30;18135:222;:::o;18363:366::-;18505:3;18526:67;18590:2;18585:3;18526:67;:::i;:::-;18519:74;;18602:93;18691:3;18602:93;:::i;:::-;18720:2;18715:3;18711:12;18704:19;;18363:366;;;:::o;18735:419::-;18901:4;18939:2;18928:9;18924:18;18916:26;;18988:9;18982:4;18978:20;18974:1;18963:9;18959:17;18952:47;19016:131;19142:4;19016:131;:::i;:::-;19008:139;;18735:419;;;:::o;19160:228::-;19300:34;19296:1;19288:6;19284:14;19277:58;19369:11;19364:2;19356:6;19352:15;19345:36;19160:228;:::o;19394:366::-;19536:3;19557:67;19621:2;19616:3;19557:67;:::i;:::-;19550:74;;19633:93;19722:3;19633:93;:::i;:::-;19751:2;19746:3;19742:12;19735:19;;19394:366;;;:::o;19766:419::-;19932:4;19970:2;19959:9;19955:18;19947:26;;20019:9;20013:4;20009:20;20005:1;19994:9;19990:17;19983:47;20047:131;20173:4;20047:131;:::i;:::-;20039:139;;19766:419;;;:::o;20191:175::-;20331:27;20327:1;20319:6;20315:14;20308:51;20191:175;:::o;20372:366::-;20514:3;20535:67;20599:2;20594:3;20535:67;:::i;:::-;20528:74;;20611:93;20700:3;20611:93;:::i;:::-;20729:2;20724:3;20720:12;20713:19;;20372:366;;;:::o;20744:419::-;20910:4;20948:2;20937:9;20933:18;20925:26;;20997:9;20991:4;20987:20;20983:1;20972:9;20968:17;20961:47;21025:131;21151:4;21025:131;:::i;:::-;21017:139;;20744:419;;;:::o;21169:191::-;21209:3;21228:20;21246:1;21228:20;:::i;:::-;21223:25;;21262:20;21280:1;21262:20;:::i;:::-;21257:25;;21305:1;21302;21298:9;21291:16;;21326:3;21323:1;21320:10;21317:36;;;21333:18;;:::i;:::-;21317:36;21169:191;;;;:::o;21366:176::-;21506:28;21502:1;21494:6;21490:14;21483:52;21366:176;:::o;21548:366::-;21690:3;21711:67;21775:2;21770:3;21711:67;:::i;:::-;21704:74;;21787:93;21876:3;21787:93;:::i;:::-;21905:2;21900:3;21896:12;21889:19;;21548:366;;;:::o;21920:419::-;22086:4;22124:2;22113:9;22109:18;22101:26;;22173:9;22167:4;22163:20;22159:1;22148:9;22144:17;22137:47;22201:131;22327:4;22201:131;:::i;:::-;22193:139;;21920:419;;;:::o;22345:233::-;22384:3;22407:24;22425:5;22407:24;:::i;:::-;22398:33;;22453:66;22446:5;22443:77;22440:103;;22523:18;;:::i;:::-;22440:103;22570:1;22563:5;22559:13;22552:20;;22345:233;;;:::o;22584:174::-;22724:26;22720:1;22712:6;22708:14;22701:50;22584:174;:::o;22764:366::-;22906:3;22927:67;22991:2;22986:3;22927:67;:::i;:::-;22920:74;;23003:93;23092:3;23003:93;:::i;:::-;23121:2;23116:3;23112:12;23105:19;;22764:366;;;:::o;23136:419::-;23302:4;23340:2;23329:9;23325:18;23317:26;;23389:9;23383:4;23379:20;23375:1;23364:9;23360:17;23353:47;23417:131;23543:4;23417:131;:::i;:::-;23409:139;;23136:419;;;:::o;23561:194::-;23601:4;23621:20;23639:1;23621:20;:::i;:::-;23616:25;;23655:20;23673:1;23655:20;:::i;:::-;23650:25;;23699:1;23696;23692:9;23684:17;;23723:1;23717:4;23714:11;23711:37;;;23728:18;;:::i;:::-;23711:37;23561:194;;;;:::o;23761:180::-;23809:77;23806:1;23799:88;23906:4;23903:1;23896:15;23930:4;23927:1;23920:15;23947:180;23995:77;23992:1;23985:88;24092:4;24089:1;24082:15;24116:4;24113:1;24106:15;24133:114;24200:6;24234:5;24228:12;24218:22;;24133:114;;;:::o;24253:184::-;24352:11;24386:6;24381:3;24374:19;24426:4;24421:3;24417:14;24402:29;;24253:184;;;;:::o;24443:132::-;24510:4;24533:3;24525:11;;24563:4;24558:3;24554:14;24546:22;;24443:132;;;:::o;24581:108::-;24658:24;24676:5;24658:24;:::i;:::-;24653:3;24646:37;24581:108;;:::o;24695:179::-;24764:10;24785:46;24827:3;24819:6;24785:46;:::i;:::-;24863:4;24858:3;24854:14;24840:28;;24695:179;;;;:::o;24880:113::-;24950:4;24982;24977:3;24973:14;24965:22;;24880:113;;;:::o;25029:732::-;25148:3;25177:54;25225:5;25177:54;:::i;:::-;25247:86;25326:6;25321:3;25247:86;:::i;:::-;25240:93;;25357:56;25407:5;25357:56;:::i;:::-;25436:7;25467:1;25452:284;25477:6;25474:1;25471:13;25452:284;;;25553:6;25547:13;25580:63;25639:3;25624:13;25580:63;:::i;:::-;25573:70;;25666:60;25719:6;25666:60;:::i;:::-;25656:70;;25512:224;25499:1;25496;25492:9;25487:14;;25452:284;;;25456:14;25752:3;25745:10;;25153:608;;;25029:732;;;;:::o;25767:831::-;26030:4;26068:3;26057:9;26053:19;26045:27;;26082:71;26150:1;26139:9;26135:17;26126:6;26082:71;:::i;:::-;26163:80;26239:2;26228:9;26224:18;26215:6;26163:80;:::i;:::-;26290:9;26284:4;26280:20;26275:2;26264:9;26260:18;26253:48;26318:108;26421:4;26412:6;26318:108;:::i;:::-;26310:116;;26436:72;26504:2;26493:9;26489:18;26480:6;26436:72;:::i;:::-;26518:73;26586:3;26575:9;26571:19;26562:6;26518:73;:::i;:::-;25767:831;;;;;;;;:::o;26604:180::-;26652:77;26649:1;26642:88;26749:4;26746:1;26739:15;26773:4;26770:1;26763:15;26790:185;26830:1;26847:20;26865:1;26847:20;:::i;:::-;26842:25;;26881:20;26899:1;26881:20;:::i;:::-;26876:25;;26920:1;26910:35;;26925:18;;:::i;:::-;26910:35;26967:1;26964;26960:9;26955:14;;26790:185;;;;:::o;26981:220::-;27121:34;27117:1;27109:6;27105:14;27098:58;27190:3;27185:2;27177:6;27173:15;27166:28;26981:220;:::o;27207:366::-;27349:3;27370:67;27434:2;27429:3;27370:67;:::i;:::-;27363:74;;27446:93;27535:3;27446:93;:::i;:::-;27564:2;27559:3;27555:12;27548:19;;27207:366;;;:::o;27579:419::-;27745:4;27783:2;27772:9;27768:18;27760:26;;27832:9;27826:4;27822:20;27818:1;27807:9;27803:17;27796:47;27860:131;27986:4;27860:131;:::i;:::-;27852:139;;27579:419;;;:::o;28004:177::-;28144:29;28140:1;28132:6;28128:14;28121:53;28004:177;:::o;28187:366::-;28329:3;28350:67;28414:2;28409:3;28350:67;:::i;:::-;28343:74;;28426:93;28515:3;28426:93;:::i;:::-;28544:2;28539:3;28535:12;28528:19;;28187:366;;;:::o;28559:419::-;28725:4;28763:2;28752:9;28748:18;28740:26;;28812:9;28806:4;28802:20;28798:1;28787:9;28783:17;28776:47;28840:131;28966:4;28840:131;:::i;:::-;28832:139;;28559:419;;;:::o
Swarm Source
ipfs://18ff4e3113dad473f67f724ec4c70c57821d856d08a383f2691e26e7d12771a8
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.