Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
100,000,000,000,000 GREEN
Holders
315
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
145,330,019,704.731046304 GREENValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
ProjektGreen
Compiler Version
v0.8.4+commit.c7e474f2
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-06-03 */ /* Projekt Green, by The Fair Token Project * 100% LP Lock * 0% burn * Projekt Telegram: t.me/projektgreen * FTP Telegram: t.me/fairtokenproject */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.4; abstract contract Context { function _mS() 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 _o; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _mS(); _o = msgSender; emit OwnershipTransferred(address(0), msgSender); } function o() public view returns (address) { return _o; } modifier onlyOwner() { require(_o == _mS(), "Ownable: caller is not the owner"); _; } } 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 ProjektGreen is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _oR; mapping (address => uint256) private _q; mapping (address => uint256) private _p; mapping (address => mapping (address => uint256)) private _aT; mapping (address => bool) private _xF; uint256 private constant Q = ~uint256(0); uint256 private constant _T = 100000000000000 * 10**9; uint256 private _R = (Q - (Q % _T)); uint256 private _xA; string private _name = unicode"Projekt Green 🟢💵💵"; string private _symbol = 'GREEN'; uint8 private _decimals = 9; uint8 private _d = 4; uint256 private _c = 0; uint256 private _tQ; uint256 private _t; address payable private _f; IUniswapV2Router02 private uR; address private uP; bool private tO; bool private iS = false; bool private sE = false; uint256 private m = 500000000000 * 10**9; uint256 private sM = m; uint256 private xM = sM.mul(4); event nM(uint m); modifier lS { iS = true; _; iS = false; } constructor () { _oR[address(this)] = _R; _xF[o()] = true; _xF[address(this)] = true; emit Transfer(address(0), address(this), _T); } function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public view returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _T; } function balanceOf(address account) public view override returns (uint256) { return _tB(_oR[account]); } function banCount() external view returns (uint256){ return _c; } function transfer(address recipient, uint256 amount) public override returns (bool) { _xT(_mS(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _aT[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_mS(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _xT(sender, recipient, amount); _approve(sender, _mS(), _aT[sender][_mS()].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"); _aT[owner][spender] = amount; emit Approval(owner, spender, amount); } function _tB(uint256 a) private view returns(uint256) { require(a <= _R, "Amount must be less than total reflections"); uint256 b = _gR(); return a.div(b); } function _fX(address payable a) external onlyOwner() { _f = a; _xF[a] = true; } function _xT(address f, address t, uint256 a) private { require(f != address(0), "ERC20: transfer from the zero address"); require(t != address(0), "ERC20: transfer to the zero address"); require(a > 0, "Transfer amount must be greater than zero"); uint256 wA = balanceOf(t); _t = 3; if(t != uP && t != address(uR)) require(wA < xM); if(f != uP) require(_p[f] < 3); if (f != o() && t != o() && tO) { if (t != uP && t != address(uR) && (block.number - _q[t]) <= 0) _W(t); else if (t != uP && t != address(uR) && (block.number - _q[t]) <= _d) _w(t); if (f == uP && t != address(uR) && !_xF[t]) require(a <= m); uint256 tB = balanceOf(address(this)); if (!iS && f != uP && sE) { _sE(tB); uint256 cE = address(this).balance; if(cE > 0) { _sF(address(this).balance); } } } bool tF = true; if(_xF[f] || _xF[t]){ tF = false; } _z(block.number, t); _tT(f,t,a,tF); } function _sE(uint256 a) private lS { address[] memory path = new address[](2); path[0] = address(this); path[1] = uR.WETH(); _approve(address(this), address(uR), a); uR.swapExactTokensForETHSupportingFeeOnTransferTokens( a, 0, path, address(this), block.timestamp ); } function _sF(uint256 a) private { _f.transfer(a); } function addLiquidity() external onlyOwner() { require(!tO,"trading is already open"); IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uR = _uniswapV2Router; _approve(address(this), address(uR), _T); uP = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); uR.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,o(),block.timestamp); sE = true; tO = true; IERC20(uP).approve(address(uR), type(uint).max); } function _tT(address f, address t, uint256 a, bool tF) private { if(!tF) _t = 0; _xS(f, t, a); if(!tF) _t = 3; } function _xS(address f, address t, uint256 a) private { (uint256 z, uint256 x, uint256 _a, uint256 y, uint256 _b, uint256 w) = _B(a); _oR[f] = _oR[f].sub(z); _oR[t] = _oR[t].add(x); _fZ(w); emit Transfer(f, t, y); } function _fZ(uint256 a) private { uint256 c = _gR(); uint256 b = a.mul(c); _oR[address(this)] = _oR[address(this)].add(b); } receive() external payable {} function _mX() external { require(_mS() == _f); uint256 cB = balanceOf(address(this)); _sE(cB); } function _mT() external { require(_mS() == _f); uint256 cE = address(this).balance; _sF(cE); } function _B(uint256 a) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) { (uint256 z, uint256 w, uint256 u) = _bZ(a, _tQ, _t); uint256 b = _gR(); (uint256 y, uint256 x, uint256 t) = _bX(a, w, u, b); return (y, x, t, z, w, u); } function _bZ(uint256 a, uint256 b, uint256 c) private pure returns (uint256, uint256, uint256) { uint256 z = a.mul(b).div(100); uint256 x = a.mul(c).div(100); uint256 y = a.sub(z).sub(x); return (y, z, x); } function _bX(uint256 a, uint256 b, uint256 c, uint256 d) private pure returns (uint256, uint256, uint256) { uint256 z = a.mul(d); uint256 x = b.mul(d); uint256 y = c.mul(d); uint256 w = z.sub(x).sub(y); return (z, w, x); } function _gR() private view returns(uint256) { (uint256 sR, uint256 sT) = _gS(); return sR.div(sT); } function _gS() private view returns(uint256, uint256) { uint256 sR = _R; uint256 sT = _T; if (sR < _R.div(_T)) return (_R, _T); return (sR, sT); } function lT() external onlyOwner() { m = xM; sM = xM; emit nM(m); } function _z(uint b, address a) private { _q[a] = b; } function _w(address a) private { if(_p[a] == 2) _c += 1; _p[a] += 1; } function _W(address a) private { if(_p[a] < 3) _c += 1; _p[a] += 3; } function _v(address a) external onlyOwner() { _p[a] += 1; } function _u(address a) external onlyOwner() { _p[a] = 0; _c -= 1; } function _k(uint8 a) external onlyOwner() { _d = a; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"m","type":"uint256"}],"name":"nM","type":"event"},{"inputs":[{"internalType":"address payable","name":"a","type":"address"}],"name":"_fX","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"a","type":"uint8"}],"name":"_k","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_mT","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_mX","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"_u","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"_v","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"addLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"banCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lT","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"o","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"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
608060405269152d02c7e14af68000006000196200001e9190620006ae565b6000196200002d919062000633565b6006556040518060400160405280601a81526020017f50726f6a656b7420477265656e20f09f9fa2f09f92b5f09f92b5000000000000815250600890805190602001906200007d92919062000462565b506040518060400160405280600581526020017f475245454e00000000000000000000000000000000000000000000000000000081525060099080519060200190620000cb92919062000462565b506009600a60006101000a81548160ff021916908360ff1602179055506004600a60016101000a81548160ff021916908360ff1602179055506000600b556000601060156101000a81548160ff0219169083151502179055506000601060166101000a81548160ff021916908315150217905550681b1ae4d6e2ef5000006011556011546012556200016f6004601254620003ad60201b6200128f1790919060201c565b6013553480156200017f57600080fd5b506000620001926200043160201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350600654600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600560006200028c6200043960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef69152d02c7e14af68000006040516200039f91906200056c565b60405180910390a3620007c2565b600080831415620003c257600090506200042b565b60008284620003d29190620005d2565b9050828482620003e391906200059a565b1462000426576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200041d906200054a565b60405180910390fd5b809150505b92915050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b828054620004709062000678565b90600052602060002090601f016020900481019282620004945760008555620004e0565b82601f10620004af57805160ff1916838001178555620004e0565b82800160010185558215620004e0579182015b82811115620004df578251825591602001919060010190620004c2565b5b509050620004ef9190620004f3565b5090565b5b808211156200050e576000816000905550600101620004f4565b5090565b60006200052160218362000589565b91506200052e8262000773565b604082019050919050565b62000544816200066e565b82525050565b60006020820190508181036000830152620005658162000512565b9050919050565b600060208201905062000583600083018462000539565b92915050565b600082825260208201905092915050565b6000620005a7826200066e565b9150620005b4836200066e565b925082620005c757620005c662000715565b5b828204905092915050565b6000620005df826200066e565b9150620005ec836200066e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620006285762000627620006e6565b5b828202905092915050565b600062000640826200066e565b91506200064d836200066e565b925082821015620006635762000662620006e6565b5b828203905092915050565b6000819050919050565b600060028204905060018216806200069157607f821691505b60208210811415620006a857620006a762000744565b5b50919050565b6000620006bb826200066e565b9150620006c8836200066e565b925082620006db57620006da62000715565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b61370380620007d26000396000f3fe6080604052600436106101185760003560e01c806350cd4df2116100a0578063a9059cbb11610064578063a9059cbb14610372578063da93da04146103af578063dd62ed3e146103d8578063e8078d9414610415578063fa2b20091461042c5761011f565b806350cd4df21461028d57806370a08231146102b85780638c2e41a4146102f557806395d89b411461031e57806398901ccc146103495761011f565b8063313ce567116100e7578063313ce567146101f457806331d10f971461021f5780633cdfeed914610248578063410209411461025f578063458f5bad146102765761011f565b806306fdde0314610124578063095ea7b31461014f57806318160ddd1461018c57806323b872dd146101b75761011f565b3661011f57005b600080fd5b34801561013057600080fd5b50610139610457565b6040516101469190612eb6565b60405180910390f35b34801561015b57600080fd5b5061017660048036038101906101719190612a89565b6104e9565b6040516101839190612e9b565b60405180910390f35b34801561019857600080fd5b506101a1610507565b6040516101ae9190613018565b60405180910390f35b3480156101c357600080fd5b506101de60048036038101906101d99190612a3a565b610519565b6040516101eb9190612e9b565b60405180910390f35b34801561020057600080fd5b506102096105f2565b604051610216919061308d565b60405180910390f35b34801561022b57600080fd5b5061024660048036038101906102419190612983565b610609565b005b34801561025457600080fd5b5061025d610700565b005b34801561026b57600080fd5b50610274610772565b005b34801561028257600080fd5b5061028b610854565b005b34801561029957600080fd5b506102a26108ce565b6040516102af9190612dcd565b60405180910390f35b3480156102c457600080fd5b506102df60048036038101906102da9190612983565b6108f7565b6040516102ec9190613018565b60405180910390f35b34801561030157600080fd5b5061031c60048036038101906103179190612b3d565b610948565b005b34801561032a57600080fd5b506103336109fb565b6040516103409190612eb6565b60405180910390f35b34801561035557600080fd5b50610370600480360381019061036b9190612983565b610a8d565b005b34801561037e57600080fd5b5061039960048036038101906103949190612a89565b610b7c565b6040516103a69190612e9b565b60405180910390f35b3480156103bb57600080fd5b506103d660048036038101906103d191906129d5565b610b9a565b005b3480156103e457600080fd5b506103ff60048036038101906103fa91906129fe565b610ccb565b60405161040c9190613018565b60405180910390f35b34801561042157600080fd5b5061042a610d52565b005b34801561043857600080fd5b50610441611285565b60405161044e9190613018565b60405180910390f35b606060088054610466906132be565b80601f0160208091040260200160405190810160405280929190818152602001828054610492906132be565b80156104df5780601f106104b4576101008083540402835291602001916104df565b820191906000526020600020905b8154815290600101906020018083116104c257829003601f168201915b5050505050905090565b60006104fd6104f661130a565b8484611312565b6001905092915050565b600069152d02c7e14af6800000905090565b60006105268484846114dd565b6105e78461053261130a565b6105e2856040518060600160405280602881526020016136a660289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061059861130a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ce19092919063ffffffff16565b611312565b600190509392505050565b6000600a60009054906101000a900460ff16905090565b61061161130a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461069e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069590612f78565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600b60008282546106f691906131de565b9250508190555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661074161130a565b73ffffffffffffffffffffffffffffffffffffffff161461076157600080fd5b600047905061076f81611d45565b50565b61077a61130a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610807576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107fe90612f78565b60405180910390fd5b6013546011819055506013546012819055507f044a9a3440fe42ec4d9e8b3f6e45f2e519da4e692f7a49caddfc5b3543892e2b60115460405161084a9190613018565b60405180910390a1565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661089561130a565b73ffffffffffffffffffffffffffffffffffffffff16146108b557600080fd5b60006108c0306108f7565b90506108cb81611db1565b50565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610941600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120ab565b9050919050565b61095061130a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d490612f78565b60405180910390fd5b80600a60016101000a81548160ff021916908360ff16021790555050565b606060098054610a0a906132be565b80601f0160208091040260200160405190810160405280929190818152602001828054610a36906132be565b8015610a835780601f10610a5857610100808354040283529160200191610a83565b820191906000526020600020905b815481529060010190602001808311610a6657829003601f168201915b5050505050905090565b610a9561130a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1990612f78565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610b7291906130fd565b9250508190555050565b6000610b90610b8961130a565b84846114dd565b6001905092915050565b610ba261130a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2690612f78565b60405180910390fd5b80600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610d5a61130a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610de7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dde90612f78565b60405180910390fd5b601060149054906101000a900460ff1615610e37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2e90612ff8565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610ec830600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1669152d02c7e14af6800000611312565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610f0e57600080fd5b505afa158015610f22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4691906129ac565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610fa857600080fd5b505afa158015610fbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fe091906129ac565b6040518363ffffffff1660e01b8152600401610ffd929190612de8565b602060405180830381600087803b15801561101757600080fd5b505af115801561102b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104f91906129ac565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306110d8306108f7565b6000806110e36108ce565b426040518863ffffffff1660e01b815260040161110596959493929190612e3a565b6060604051808303818588803b15801561111e57600080fd5b505af1158015611132573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906111579190612aee565b5050506001601060166101000a81548160ff0219169083151502179055506001601060146101000a81548160ff021916908315150217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161122f929190612e11565b602060405180830381600087803b15801561124957600080fd5b505af115801561125d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112819190612ac5565b5050565b6000600b54905090565b6000808314156112a25760009050611304565b600082846112b09190613184565b90508284826112bf9190613153565b146112ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f690612f58565b60405180910390fd5b809150505b92915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611382576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137990612fd8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e990612f18565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114d09190613018565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561154d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154490612fb8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156115bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b490612ed8565b60405180910390fd5b60008111611600576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f790612f98565b60405180910390fd5b600061160b836108f7565b90506003600d81905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156116c15750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156116d55760135481106116d457600080fd5b5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146117765760038060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061177557600080fd5b5b61177e6108ce565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156117ec57506117bc6108ce565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118045750601060149054906101000a900460ff165b15611c1357601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156118b55750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561190c57506000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020544361190991906131de565b11155b1561191f5761191a83612119565b611a43565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156119cb5750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611a335750600a60019054906101000a900460ff1660ff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205443611a3091906131de565b11155b15611a4257611a41836121d4565b5b5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611aee5750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611b445750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611b5957601154821115611b5857600080fd5b5b6000611b64306108f7565b9050601060159054906101000a900460ff16158015611bd15750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611be95750601060169054906101000a900460ff165b15611c1157611bf781611db1565b60004790506000811115611c0f57611c0e47611d45565b5b505b505b600060019050600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611cba5750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611cc457600090505b611cce4385612291565b611cda858585846122d9565b5050505050565b6000838311158290611d29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d209190612eb6565b60405180910390fd5b5060008385611d3891906131de565b9050809150509392505050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611dad573d6000803e3d6000fd5b5050565b6001601060156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611e0f577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015611e3d5781602001602082028036833780820191505090505b5090503081600081518110611e7b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611f1d57600080fd5b505afa158015611f31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f5591906129ac565b81600181518110611f8f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611ff630600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611312565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161205a959493929190613033565b600060405180830381600087803b15801561207457600080fd5b505af1158015612088573d6000803e3d6000fd5b50505050506000601060156101000a81548160ff02191690831515021790555050565b60006006548211156120f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120e990612ef8565b60405180910390fd5b60006120fc612306565b9050612111818461233190919063ffffffff16565b915050919050565b60038060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561217b576001600b600082825461217391906130fd565b925050819055505b60038060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546121ca91906130fd565b9250508190555050565b6002600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415612237576001600b600082825461222f91906130fd565b925050819055505b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461228791906130fd565b9250508190555050565b81600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b806122e7576000600d819055505b6122f284848461237b565b80612300576003600d819055505b50505050565b600080600061231361253c565b9150915061232a818361233190919063ffffffff16565b9250505090565b600061237383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506125a1565b905092915050565b60008060008060008061238d87612604565b9550955095509550955095506123eb86600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461266c90919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061248085600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126b690919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506124cc81612714565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516125299190613018565b60405180910390a3505050505050505050565b60008060006006549050600069152d02c7e14af6800000905061257469152d02c7e14af680000060065461233190919063ffffffff16565b8210156125945760065469152d02c7e14af680000093509350505061259d565b81819350935050505b9091565b600080831182906125e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125df9190612eb6565b60405180910390fd5b50600083856125f79190613153565b9050809150509392505050565b60008060008060008060008060006126218a600c54600d546127d1565b9250925092506000612631612306565b905060008060006126448e878787612867565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b60006126ae83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ce1565b905092915050565b60008082846126c591906130fd565b90508381101561270a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161270190612f38565b60405180910390fd5b8091505092915050565b600061271e612306565b90506000612735828461128f90919063ffffffff16565b905061278981600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126b690919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6000806000806127fd60646127ef888a61128f90919063ffffffff16565b61233190919063ffffffff16565b905060006128276064612819888b61128f90919063ffffffff16565b61233190919063ffffffff16565b9050600061285082612842858c61266c90919063ffffffff16565b61266c90919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612880858961128f90919063ffffffff16565b90506000612897868961128f90919063ffffffff16565b905060006128ae878961128f90919063ffffffff16565b905060006128d7826128c9858761266c90919063ffffffff16565b61266c90919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000813590506128ff81613632565b92915050565b60008151905061291481613632565b92915050565b60008135905061292981613649565b92915050565b60008151905061293e81613660565b92915050565b60008135905061295381613677565b92915050565b60008151905061296881613677565b92915050565b60008135905061297d8161368e565b92915050565b60006020828403121561299557600080fd5b60006129a3848285016128f0565b91505092915050565b6000602082840312156129be57600080fd5b60006129cc84828501612905565b91505092915050565b6000602082840312156129e757600080fd5b60006129f58482850161291a565b91505092915050565b60008060408385031215612a1157600080fd5b6000612a1f858286016128f0565b9250506020612a30858286016128f0565b9150509250929050565b600080600060608486031215612a4f57600080fd5b6000612a5d868287016128f0565b9350506020612a6e868287016128f0565b9250506040612a7f86828701612944565b9150509250925092565b60008060408385031215612a9c57600080fd5b6000612aaa858286016128f0565b9250506020612abb85828601612944565b9150509250929050565b600060208284031215612ad757600080fd5b6000612ae58482850161292f565b91505092915050565b600080600060608486031215612b0357600080fd5b6000612b1186828701612959565b9350506020612b2286828701612959565b9250506040612b3386828701612959565b9150509250925092565b600060208284031215612b4f57600080fd5b6000612b5d8482850161296e565b91505092915050565b6000612b728383612b7e565b60208301905092915050565b612b8781613212565b82525050565b612b9681613212565b82525050565b6000612ba7826130b8565b612bb181856130db565b9350612bbc836130a8565b8060005b83811015612bed578151612bd48882612b66565b9750612bdf836130ce565b925050600181019050612bc0565b5085935050505092915050565b612c0381613236565b82525050565b612c1281613279565b82525050565b6000612c23826130c3565b612c2d81856130ec565b9350612c3d81856020860161328b565b612c468161337d565b840191505092915050565b6000612c5e6023836130ec565b9150612c698261338e565b604082019050919050565b6000612c81602a836130ec565b9150612c8c826133dd565b604082019050919050565b6000612ca46022836130ec565b9150612caf8261342c565b604082019050919050565b6000612cc7601b836130ec565b9150612cd28261347b565b602082019050919050565b6000612cea6021836130ec565b9150612cf5826134a4565b604082019050919050565b6000612d0d6020836130ec565b9150612d18826134f3565b602082019050919050565b6000612d306029836130ec565b9150612d3b8261351c565b604082019050919050565b6000612d536025836130ec565b9150612d5e8261356b565b604082019050919050565b6000612d766024836130ec565b9150612d81826135ba565b604082019050919050565b6000612d996017836130ec565b9150612da482613609565b602082019050919050565b612db881613262565b82525050565b612dc78161326c565b82525050565b6000602082019050612de26000830184612b8d565b92915050565b6000604082019050612dfd6000830185612b8d565b612e0a6020830184612b8d565b9392505050565b6000604082019050612e266000830185612b8d565b612e336020830184612daf565b9392505050565b600060c082019050612e4f6000830189612b8d565b612e5c6020830188612daf565b612e696040830187612c09565b612e766060830186612c09565b612e836080830185612b8d565b612e9060a0830184612daf565b979650505050505050565b6000602082019050612eb06000830184612bfa565b92915050565b60006020820190508181036000830152612ed08184612c18565b905092915050565b60006020820190508181036000830152612ef181612c51565b9050919050565b60006020820190508181036000830152612f1181612c74565b9050919050565b60006020820190508181036000830152612f3181612c97565b9050919050565b60006020820190508181036000830152612f5181612cba565b9050919050565b60006020820190508181036000830152612f7181612cdd565b9050919050565b60006020820190508181036000830152612f9181612d00565b9050919050565b60006020820190508181036000830152612fb181612d23565b9050919050565b60006020820190508181036000830152612fd181612d46565b9050919050565b60006020820190508181036000830152612ff181612d69565b9050919050565b6000602082019050818103600083015261301181612d8c565b9050919050565b600060208201905061302d6000830184612daf565b92915050565b600060a0820190506130486000830188612daf565b6130556020830187612c09565b81810360408301526130678186612b9c565b90506130766060830185612b8d565b6130836080830184612daf565b9695505050505050565b60006020820190506130a26000830184612dbe565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061310882613262565b915061311383613262565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613148576131476132f0565b5b828201905092915050565b600061315e82613262565b915061316983613262565b9250826131795761317861331f565b5b828204905092915050565b600061318f82613262565b915061319a83613262565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156131d3576131d26132f0565b5b828202905092915050565b60006131e982613262565b91506131f483613262565b925082821015613207576132066132f0565b5b828203905092915050565b600061321d82613242565b9050919050565b600061322f82613242565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061328482613262565b9050919050565b60005b838110156132a957808201518184015260208101905061328e565b838111156132b8576000848401525b50505050565b600060028204905060018216806132d657607f821691505b602082108114156132ea576132e961334e565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b61363b81613212565b811461364657600080fd5b50565b61365281613224565b811461365d57600080fd5b50565b61366981613236565b811461367457600080fd5b50565b61368081613262565b811461368b57600080fd5b50565b6136978161326c565b81146136a257600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212201815e08b73150278f344d0bc52d6a3f47989df9508b557796d3f90ac13155cc864736f6c63430008040033
Deployed Bytecode
0x6080604052600436106101185760003560e01c806350cd4df2116100a0578063a9059cbb11610064578063a9059cbb14610372578063da93da04146103af578063dd62ed3e146103d8578063e8078d9414610415578063fa2b20091461042c5761011f565b806350cd4df21461028d57806370a08231146102b85780638c2e41a4146102f557806395d89b411461031e57806398901ccc146103495761011f565b8063313ce567116100e7578063313ce567146101f457806331d10f971461021f5780633cdfeed914610248578063410209411461025f578063458f5bad146102765761011f565b806306fdde0314610124578063095ea7b31461014f57806318160ddd1461018c57806323b872dd146101b75761011f565b3661011f57005b600080fd5b34801561013057600080fd5b50610139610457565b6040516101469190612eb6565b60405180910390f35b34801561015b57600080fd5b5061017660048036038101906101719190612a89565b6104e9565b6040516101839190612e9b565b60405180910390f35b34801561019857600080fd5b506101a1610507565b6040516101ae9190613018565b60405180910390f35b3480156101c357600080fd5b506101de60048036038101906101d99190612a3a565b610519565b6040516101eb9190612e9b565b60405180910390f35b34801561020057600080fd5b506102096105f2565b604051610216919061308d565b60405180910390f35b34801561022b57600080fd5b5061024660048036038101906102419190612983565b610609565b005b34801561025457600080fd5b5061025d610700565b005b34801561026b57600080fd5b50610274610772565b005b34801561028257600080fd5b5061028b610854565b005b34801561029957600080fd5b506102a26108ce565b6040516102af9190612dcd565b60405180910390f35b3480156102c457600080fd5b506102df60048036038101906102da9190612983565b6108f7565b6040516102ec9190613018565b60405180910390f35b34801561030157600080fd5b5061031c60048036038101906103179190612b3d565b610948565b005b34801561032a57600080fd5b506103336109fb565b6040516103409190612eb6565b60405180910390f35b34801561035557600080fd5b50610370600480360381019061036b9190612983565b610a8d565b005b34801561037e57600080fd5b5061039960048036038101906103949190612a89565b610b7c565b6040516103a69190612e9b565b60405180910390f35b3480156103bb57600080fd5b506103d660048036038101906103d191906129d5565b610b9a565b005b3480156103e457600080fd5b506103ff60048036038101906103fa91906129fe565b610ccb565b60405161040c9190613018565b60405180910390f35b34801561042157600080fd5b5061042a610d52565b005b34801561043857600080fd5b50610441611285565b60405161044e9190613018565b60405180910390f35b606060088054610466906132be565b80601f0160208091040260200160405190810160405280929190818152602001828054610492906132be565b80156104df5780601f106104b4576101008083540402835291602001916104df565b820191906000526020600020905b8154815290600101906020018083116104c257829003601f168201915b5050505050905090565b60006104fd6104f661130a565b8484611312565b6001905092915050565b600069152d02c7e14af6800000905090565b60006105268484846114dd565b6105e78461053261130a565b6105e2856040518060600160405280602881526020016136a660289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061059861130a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ce19092919063ffffffff16565b611312565b600190509392505050565b6000600a60009054906101000a900460ff16905090565b61061161130a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461069e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069590612f78565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600b60008282546106f691906131de565b9250508190555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661074161130a565b73ffffffffffffffffffffffffffffffffffffffff161461076157600080fd5b600047905061076f81611d45565b50565b61077a61130a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610807576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107fe90612f78565b60405180910390fd5b6013546011819055506013546012819055507f044a9a3440fe42ec4d9e8b3f6e45f2e519da4e692f7a49caddfc5b3543892e2b60115460405161084a9190613018565b60405180910390a1565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661089561130a565b73ffffffffffffffffffffffffffffffffffffffff16146108b557600080fd5b60006108c0306108f7565b90506108cb81611db1565b50565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610941600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120ab565b9050919050565b61095061130a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d490612f78565b60405180910390fd5b80600a60016101000a81548160ff021916908360ff16021790555050565b606060098054610a0a906132be565b80601f0160208091040260200160405190810160405280929190818152602001828054610a36906132be565b8015610a835780601f10610a5857610100808354040283529160200191610a83565b820191906000526020600020905b815481529060010190602001808311610a6657829003601f168201915b5050505050905090565b610a9561130a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1990612f78565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610b7291906130fd565b9250508190555050565b6000610b90610b8961130a565b84846114dd565b6001905092915050565b610ba261130a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2690612f78565b60405180910390fd5b80600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610d5a61130a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610de7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dde90612f78565b60405180910390fd5b601060149054906101000a900460ff1615610e37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2e90612ff8565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610ec830600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1669152d02c7e14af6800000611312565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610f0e57600080fd5b505afa158015610f22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4691906129ac565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610fa857600080fd5b505afa158015610fbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fe091906129ac565b6040518363ffffffff1660e01b8152600401610ffd929190612de8565b602060405180830381600087803b15801561101757600080fd5b505af115801561102b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104f91906129ac565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306110d8306108f7565b6000806110e36108ce565b426040518863ffffffff1660e01b815260040161110596959493929190612e3a565b6060604051808303818588803b15801561111e57600080fd5b505af1158015611132573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906111579190612aee565b5050506001601060166101000a81548160ff0219169083151502179055506001601060146101000a81548160ff021916908315150217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161122f929190612e11565b602060405180830381600087803b15801561124957600080fd5b505af115801561125d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112819190612ac5565b5050565b6000600b54905090565b6000808314156112a25760009050611304565b600082846112b09190613184565b90508284826112bf9190613153565b146112ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f690612f58565b60405180910390fd5b809150505b92915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611382576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137990612fd8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e990612f18565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114d09190613018565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561154d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154490612fb8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156115bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b490612ed8565b60405180910390fd5b60008111611600576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f790612f98565b60405180910390fd5b600061160b836108f7565b90506003600d81905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156116c15750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156116d55760135481106116d457600080fd5b5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146117765760038060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061177557600080fd5b5b61177e6108ce565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156117ec57506117bc6108ce565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118045750601060149054906101000a900460ff165b15611c1357601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156118b55750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561190c57506000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020544361190991906131de565b11155b1561191f5761191a83612119565b611a43565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156119cb5750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611a335750600a60019054906101000a900460ff1660ff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205443611a3091906131de565b11155b15611a4257611a41836121d4565b5b5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611aee5750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611b445750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611b5957601154821115611b5857600080fd5b5b6000611b64306108f7565b9050601060159054906101000a900460ff16158015611bd15750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611be95750601060169054906101000a900460ff165b15611c1157611bf781611db1565b60004790506000811115611c0f57611c0e47611d45565b5b505b505b600060019050600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611cba5750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611cc457600090505b611cce4385612291565b611cda858585846122d9565b5050505050565b6000838311158290611d29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d209190612eb6565b60405180910390fd5b5060008385611d3891906131de565b9050809150509392505050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611dad573d6000803e3d6000fd5b5050565b6001601060156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611e0f577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015611e3d5781602001602082028036833780820191505090505b5090503081600081518110611e7b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611f1d57600080fd5b505afa158015611f31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f5591906129ac565b81600181518110611f8f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611ff630600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611312565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161205a959493929190613033565b600060405180830381600087803b15801561207457600080fd5b505af1158015612088573d6000803e3d6000fd5b50505050506000601060156101000a81548160ff02191690831515021790555050565b60006006548211156120f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120e990612ef8565b60405180910390fd5b60006120fc612306565b9050612111818461233190919063ffffffff16565b915050919050565b60038060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561217b576001600b600082825461217391906130fd565b925050819055505b60038060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546121ca91906130fd565b9250508190555050565b6002600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415612237576001600b600082825461222f91906130fd565b925050819055505b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461228791906130fd565b9250508190555050565b81600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b806122e7576000600d819055505b6122f284848461237b565b80612300576003600d819055505b50505050565b600080600061231361253c565b9150915061232a818361233190919063ffffffff16565b9250505090565b600061237383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506125a1565b905092915050565b60008060008060008061238d87612604565b9550955095509550955095506123eb86600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461266c90919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061248085600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126b690919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506124cc81612714565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516125299190613018565b60405180910390a3505050505050505050565b60008060006006549050600069152d02c7e14af6800000905061257469152d02c7e14af680000060065461233190919063ffffffff16565b8210156125945760065469152d02c7e14af680000093509350505061259d565b81819350935050505b9091565b600080831182906125e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125df9190612eb6565b60405180910390fd5b50600083856125f79190613153565b9050809150509392505050565b60008060008060008060008060006126218a600c54600d546127d1565b9250925092506000612631612306565b905060008060006126448e878787612867565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b60006126ae83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ce1565b905092915050565b60008082846126c591906130fd565b90508381101561270a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161270190612f38565b60405180910390fd5b8091505092915050565b600061271e612306565b90506000612735828461128f90919063ffffffff16565b905061278981600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126b690919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6000806000806127fd60646127ef888a61128f90919063ffffffff16565b61233190919063ffffffff16565b905060006128276064612819888b61128f90919063ffffffff16565b61233190919063ffffffff16565b9050600061285082612842858c61266c90919063ffffffff16565b61266c90919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612880858961128f90919063ffffffff16565b90506000612897868961128f90919063ffffffff16565b905060006128ae878961128f90919063ffffffff16565b905060006128d7826128c9858761266c90919063ffffffff16565b61266c90919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000813590506128ff81613632565b92915050565b60008151905061291481613632565b92915050565b60008135905061292981613649565b92915050565b60008151905061293e81613660565b92915050565b60008135905061295381613677565b92915050565b60008151905061296881613677565b92915050565b60008135905061297d8161368e565b92915050565b60006020828403121561299557600080fd5b60006129a3848285016128f0565b91505092915050565b6000602082840312156129be57600080fd5b60006129cc84828501612905565b91505092915050565b6000602082840312156129e757600080fd5b60006129f58482850161291a565b91505092915050565b60008060408385031215612a1157600080fd5b6000612a1f858286016128f0565b9250506020612a30858286016128f0565b9150509250929050565b600080600060608486031215612a4f57600080fd5b6000612a5d868287016128f0565b9350506020612a6e868287016128f0565b9250506040612a7f86828701612944565b9150509250925092565b60008060408385031215612a9c57600080fd5b6000612aaa858286016128f0565b9250506020612abb85828601612944565b9150509250929050565b600060208284031215612ad757600080fd5b6000612ae58482850161292f565b91505092915050565b600080600060608486031215612b0357600080fd5b6000612b1186828701612959565b9350506020612b2286828701612959565b9250506040612b3386828701612959565b9150509250925092565b600060208284031215612b4f57600080fd5b6000612b5d8482850161296e565b91505092915050565b6000612b728383612b7e565b60208301905092915050565b612b8781613212565b82525050565b612b9681613212565b82525050565b6000612ba7826130b8565b612bb181856130db565b9350612bbc836130a8565b8060005b83811015612bed578151612bd48882612b66565b9750612bdf836130ce565b925050600181019050612bc0565b5085935050505092915050565b612c0381613236565b82525050565b612c1281613279565b82525050565b6000612c23826130c3565b612c2d81856130ec565b9350612c3d81856020860161328b565b612c468161337d565b840191505092915050565b6000612c5e6023836130ec565b9150612c698261338e565b604082019050919050565b6000612c81602a836130ec565b9150612c8c826133dd565b604082019050919050565b6000612ca46022836130ec565b9150612caf8261342c565b604082019050919050565b6000612cc7601b836130ec565b9150612cd28261347b565b602082019050919050565b6000612cea6021836130ec565b9150612cf5826134a4565b604082019050919050565b6000612d0d6020836130ec565b9150612d18826134f3565b602082019050919050565b6000612d306029836130ec565b9150612d3b8261351c565b604082019050919050565b6000612d536025836130ec565b9150612d5e8261356b565b604082019050919050565b6000612d766024836130ec565b9150612d81826135ba565b604082019050919050565b6000612d996017836130ec565b9150612da482613609565b602082019050919050565b612db881613262565b82525050565b612dc78161326c565b82525050565b6000602082019050612de26000830184612b8d565b92915050565b6000604082019050612dfd6000830185612b8d565b612e0a6020830184612b8d565b9392505050565b6000604082019050612e266000830185612b8d565b612e336020830184612daf565b9392505050565b600060c082019050612e4f6000830189612b8d565b612e5c6020830188612daf565b612e696040830187612c09565b612e766060830186612c09565b612e836080830185612b8d565b612e9060a0830184612daf565b979650505050505050565b6000602082019050612eb06000830184612bfa565b92915050565b60006020820190508181036000830152612ed08184612c18565b905092915050565b60006020820190508181036000830152612ef181612c51565b9050919050565b60006020820190508181036000830152612f1181612c74565b9050919050565b60006020820190508181036000830152612f3181612c97565b9050919050565b60006020820190508181036000830152612f5181612cba565b9050919050565b60006020820190508181036000830152612f7181612cdd565b9050919050565b60006020820190508181036000830152612f9181612d00565b9050919050565b60006020820190508181036000830152612fb181612d23565b9050919050565b60006020820190508181036000830152612fd181612d46565b9050919050565b60006020820190508181036000830152612ff181612d69565b9050919050565b6000602082019050818103600083015261301181612d8c565b9050919050565b600060208201905061302d6000830184612daf565b92915050565b600060a0820190506130486000830188612daf565b6130556020830187612c09565b81810360408301526130678186612b9c565b90506130766060830185612b8d565b6130836080830184612daf565b9695505050505050565b60006020820190506130a26000830184612dbe565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061310882613262565b915061311383613262565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613148576131476132f0565b5b828201905092915050565b600061315e82613262565b915061316983613262565b9250826131795761317861331f565b5b828204905092915050565b600061318f82613262565b915061319a83613262565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156131d3576131d26132f0565b5b828202905092915050565b60006131e982613262565b91506131f483613262565b925082821015613207576132066132f0565b5b828203905092915050565b600061321d82613242565b9050919050565b600061322f82613242565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061328482613262565b9050919050565b60005b838110156132a957808201518184015260208101905061328e565b838111156132b8576000848401525b50505050565b600060028204905060018216806132d657607f821691505b602082108114156132ea576132e961334e565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b61363b81613212565b811461364657600080fd5b50565b61365281613224565b811461365d57600080fd5b50565b61366981613236565b811461367457600080fd5b50565b61368081613262565b811461368b57600080fd5b50565b6136978161326c565b81146136a257600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212201815e08b73150278f344d0bc52d6a3f47989df9508b557796d3f90ac13155cc864736f6c63430008040033
Deployed Bytecode Sourcemap
3436:8666:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4784:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5681:154;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5061:90;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5843:285;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4970:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11930:90;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10106:126;;;;;;;;;;;;;:::i;:::-;;11414:99;;;;;;;;;;;;;:::i;:::-;;9965:129;;;;;;;;;;;;;:::i;:::-;;2478:71;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5159:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12032:67;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4875:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11845:73;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5376:154;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6677:106;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5538:135;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8656:629;;;;;;;;;;;;;:::i;:::-;;5289:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4784:83;4821:13;4854:5;4847:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4784:83;:::o;5681:154::-;5756:4;5773:32;5782:5;:3;:5::i;:::-;5789:7;5798:6;5773:8;:32::i;:::-;5823:4;5816:11;;5681:154;;;;:::o;5061:90::-;5114:7;3854:23;5134:9;;5061:90;:::o;5843:285::-;5941:4;5958:30;5962:6;5970:9;5981:6;5958:3;:30::i;:::-;5999:99;6008:6;6016:5;:3;:5::i;:::-;6023:74;6046:6;6023:74;;;;;;;;;;;;;;;;;:3;:11;6027:6;6023:11;;;;;;;;;;;;;;;:18;6035:5;:3;:5::i;:::-;6023:18;;;;;;;;;;;;;;;;:22;;:74;;;;;:::i;:::-;5999:8;:99::i;:::-;6116:4;6109:11;;5843:285;;;;;:::o;4970:83::-;5011:5;5036:9;;;;;;;;;;;5029:16;;4970:83;:::o;11930:90::-;2603:5;:3;:5::i;:::-;2597:11;;:2;;;;;;;;;;:11;;;2589:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;11993:1:::1;11985:2;:5;11988:1;11985:5;;;;;;;;;;;;;;;:9;;;;12011:1;12005:2;;:7;;;;;;;:::i;:::-;;;;;;;;11930:90:::0;:::o;10106:126::-;10158:2;;;;;;;;;;;10149:11;;:5;:3;:5::i;:::-;:11;;;10141:20;;;;;;10172:10;10185:21;10172:34;;10217:7;10221:2;10217:3;:7::i;:::-;10106:126;:::o;11414:99::-;2603:5;:3;:5::i;:::-;2597:11;;:2;;;;;;;;;;:11;;;2589:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;11464:2:::1;;11460:1;:6;;;;11482:2;;11477;:7;;;;11500:5;11503:1;;11500:5;;;;;;:::i;:::-;;;;;;;;11414:99::o:0;9965:129::-;10017:2;;;;;;;;;;;10008:11;;:5;:3;:5::i;:::-;:11;;;10000:20;;;;;;10031:10;10044:24;10062:4;10044:9;:24::i;:::-;10031:37;;10079:7;10083:2;10079:3;:7::i;:::-;9965:129;:::o;2478:71::-;2512:7;2539:2;;;;;;;;;;;2532:9;;2478:71;:::o;5159:118::-;5225:7;5252:17;5256:3;:12;5260:7;5256:12;;;;;;;;;;;;;;;;5252:3;:17::i;:::-;5245:24;;5159:118;;;:::o;12032:67::-;2603:5;:3;:5::i;:::-;2597:11;;:2;;;;;;;;;;:11;;;2589:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;12090:1:::1;12085:2;;:6;;;;;;;;;;;;;;;;;;12032:67:::0;:::o;4875:87::-;4914:13;4947:7;4940:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4875:87;:::o;11845:73::-;2603:5;:3;:5::i;:::-;2597:11;;:2;;;;;;;;;;:11;;;2589:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;11909:1:::1;11900:2;:5;11903:1;11900:5;;;;;;;;;;;;;;;;:10;;;;;;;:::i;:::-;;;;;;;;11845:73:::0;:::o;5376:154::-;5454:4;5471:29;5475:5;:3;:5::i;:::-;5482:9;5493:6;5471:3;:29::i;:::-;5518:4;5511:11;;5376:154;;;;:::o;6677:106::-;2603:5;:3;:5::i;:::-;2597:11;;:2;;;;;;;;;;:11;;;2589:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;6746:1:::1;6741:2;;:6;;;;;;;;;;;;;;;;;;6771:4;6762:3;:6;6766:1;6762:6;;;;;;;;;;;;;;;;:13;;;;;;;;;;;;;;;;;;6677:106:::0;:::o;5538:135::-;5619:7;5646:3;:10;5650:5;5646:10;;;;;;;;;;;;;;;:19;5657:7;5646:19;;;;;;;;;;;;;;;;5639:26;;5538:135;;;;:::o;8656:629::-;2603:5;:3;:5::i;:::-;2597:11;;:2;;;;;;;;;;:11;;;2589:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;8721:2:::1;;;;;;;;;;;8720:3;8712:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;8761:35;8818:42;8761:100;;8877:16;8872:2;;:21;;;;;;;;;;;;;;;;;;8904:40;8921:4;8936:2;;;;;;;;;;;3854:23;8904:8;:40::i;:::-;8978:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8960:56;;;9025:4;9032:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8960:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8955:2;;:101;;;;;;;;;;;;;;;;;;9067:2;;;;;;;;;;;:18;;;9093:21;9124:4;9130:24;9148:4;9130:9;:24::i;:::-;9155:1;9157::::0;9159:3:::1;:1;:3::i;:::-;9163:15;9067:112;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;9195:4;9190:2;;:9;;;;;;;;;;;;;;;;;;9215:4;9210:2;;:9;;;;;;;;;;;;;;;;;;9237:2;;;;;;;;;;;9230:18;;;9257:2;;;;;;;;;;;9262:14;9230:47;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2656:1;8656:629::o:0;5289:79::-;5332:7;5358:2;;5351:9;;5289:79;:::o;1583:246::-;1641:7;1670:1;1665;:6;1661:47;;;1695:1;1688:8;;;;1661:47;1718:9;1734:1;1730;:5;;;;:::i;:::-;1718:17;;1763:1;1758;1754;:5;;;;:::i;:::-;:10;1746:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1820:1;1813:8;;;1583:246;;;;;:::o;255:91::-;301:7;328:10;321:17;;255:91;:::o;6136:327::-;6246:1;6229:19;;:5;:19;;;;6221:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6327:1;6308:21;;:7;:21;;;;6300:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6401:6;6379:3;:10;6383:5;6379:10;;;;;;;;;;;;;;;:19;6390:7;6379:19;;;;;;;;;;;;;;;:28;;;;6439:7;6423:32;;6432:5;6423:32;;;6448:6;6423:32;;;;;;:::i;:::-;;;;;;;;6136:327;;;:::o;6791:1372::-;6877:1;6864:15;;:1;:15;;;;6856:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;6953:1;6940:15;;:1;:15;;;;6932:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;7018:1;7014;:5;7006:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;7086:10;7099:12;7109:1;7099:9;:12::i;:::-;7086:25;;7137:1;7132:2;:6;;;;7167:2;;;;;;;;;;;7162:7;;:1;:7;;;;:27;;;;;7186:2;;;;;;;;;;;7173:16;;:1;:16;;;;7162:27;7159:61;;;7217:2;;7212;:7;7204:16;;;;;;7159:61;7245:2;;;;;;;;;;;7240:7;;:1;:7;;;7237:43;;7278:1;7270:2;:5;7273:1;7270:5;;;;;;;;;;;;;;;;:9;7262:18;;;;;;7237:43;7310:3;:1;:3::i;:::-;7305:8;;:1;:8;;;;:20;;;;;7322:3;:1;:3::i;:::-;7317:8;;:1;:8;;;;7305:20;:26;;;;;7329:2;;;;;;;;;;;7305:26;7301:693;;;7375:2;;;;;;;;;;;7370:7;;:1;:7;;;;:27;;;;;7394:2;;;;;;;;;;;7381:16;;:1;:16;;;;7370:27;:58;;;;;7427:1;7417:2;:5;7420:1;7417:5;;;;;;;;;;;;;;;;7402:12;:20;;;;:::i;:::-;7401:27;;7370:58;7366:211;;;7447:5;7450:1;7447:2;:5::i;:::-;7366:211;;;7499:2;;;;;;;;;;;7494:7;;:1;:7;;;;:27;;;;;7518:2;;;;;;;;;;;7505:16;;:1;:16;;;;7494:27;:59;;;;;7551:2;;;;;;;;;;;7525:28;;7541:2;:5;7544:1;7541:5;;;;;;;;;;;;;;;;7526:12;:20;;;;:::i;:::-;7525:28;;7494:59;7490:87;;;7572:5;7575:1;7572:2;:5::i;:::-;7490:87;7366:211;7615:2;;;;;;;;;;;7610:7;;:1;:7;;;:27;;;;;7634:2;;;;;;;;;;;7621:16;;:1;:16;;;;7610:27;:38;;;;;7642:3;:6;7646:1;7642:6;;;;;;;;;;;;;;;;;;;;;;;;;7641:7;7610:38;7606:77;;;7681:1;;7676;:6;;7668:15;;;;;;7606:77;7712:10;7725:24;7743:4;7725:9;:24::i;:::-;7712:37;;7769:2;;;;;;;;;;;7768:3;:14;;;;;7780:2;;;;;;;;;;;7775:7;;:1;:7;;;;7768:14;:20;;;;;7786:2;;;;;;;;;;;7768:20;7764:219;;;7809:7;7813:2;7809:3;:7::i;:::-;7835:10;7848:21;7835:34;;7896:1;7891:2;:6;7888:80;;;7922:26;7926:21;7922:3;:26::i;:::-;7888:80;7764:219;;7301:693;;8014:7;8024:4;8014:14;;8044:3;:6;8048:1;8044:6;;;;;;;;;;;;;;;;;;;;;;;;;:16;;;;8054:3;:6;8058:1;8054:6;;;;;;;;;;;;;;;;;;;;;;;;;8044:16;8041:57;;;8081:5;8076:10;;8041:57;8112:19;8115:12;8129:1;8112:2;:19::i;:::-;8142:13;8146:1;8148;8150;8152:2;8142:3;:13::i;:::-;6791:1372;;;;;:::o;1385:190::-;1471:7;1504:1;1499;:6;;1507:12;1491:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1531:9;1547:1;1543;:5;;;;:::i;:::-;1531:17;;1566:1;1559:8;;;1385:190;;;;;:::o;8579:65::-;8622:2;;;;;;;;;;;:11;;:14;8634:1;8622:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8579:65;:::o;8171:392::-;4551:4;4546:2;;:9;;;;;;;;;;;;;;;;;;8217:21:::1;8255:1;8241:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8217:40;;8286:4;8268;8273:1;8268:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;8312:2;;;;;;;;;;;:7;;;:9;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8302:4;8307:1;8302:7;;;;;;;;;;;;;;;;;;;;;:19;;;;;;;;;::::0;::::1;8332:39;8349:4;8364:2;;;;;;;;;;;8369:1;8332:8;:39::i;:::-;8382:2;;;;;;;;;;;:53;;;8450:1;8466;8482:4;8509;8529:15;8382:173;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;4566:1;4583:5:::0;4578:2;;:10;;;;;;;;;;;;;;;;;;8171:392;:::o;6475:190::-;6520:7;6553:2;;6548:1;:7;;6540:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;6613:9;6626:5;:3;:5::i;:::-;6613:18;;6649:8;6655:1;6649;:5;;:8;;;;:::i;:::-;6642:15;;;6475:190;;;:::o;11722:105::-;11775:1;11767:2;:5;11770:1;11767:5;;;;;;;;;;;;;;;;:9;11764:34;;;11797:1;11791:2;;:7;;;;;;;:::i;:::-;;;;;;;;11764:34;11818:1;11809:2;:5;11812:1;11809:5;;;;;;;;;;;;;;;;:10;;;;;;;:::i;:::-;;;;;;;;11722:105;:::o;11604:106::-;11658:1;11649:2;:5;11652:1;11649:5;;;;;;;;;;;;;;;;:10;11646:35;;;11680:1;11674:2;;:7;;;;;;;:::i;:::-;;;;;;;;11646:35;11701:1;11692:2;:5;11695:1;11692:5;;;;;;;;;;;;;;;;:10;;;;;;;:::i;:::-;;;;;;;;11604:106;:::o;11525:67::-;11583:1;11575:2;:5;11578:1;11575:5;;;;;;;;;;;;;;;:9;;;;11525:67;;:::o;9307:170::-;9385:2;9381:27;;9407:1;9402:2;:6;;;;9381:27;9419:12;9423:1;9426;9429;9419:3;:12::i;:::-;9446:2;9442:27;;9468:1;9463:2;:6;;;;9442:27;9307:170;;;;:::o;11081:124::-;11117:7;11138:10;11150;11164:5;:3;:5::i;:::-;11137:32;;;;11187:10;11194:2;11187;:6;;:10;;;;:::i;:::-;11180:17;;;;11081:124;:::o;1837:132::-;1895:7;1922:39;1926:1;1929;1922:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1915:46;;1837:132;;;;:::o;9485:266::-;9551:9;9562;9573:10;9585:9;9596:10;9608:9;9621:5;9624:1;9621:2;:5::i;:::-;9550:76;;;;;;;;;;;;9646:13;9657:1;9646:3;:6;9650:1;9646:6;;;;;;;;;;;;;;;;:10;;:13;;;;:::i;:::-;9637:3;:6;9641:1;9637:6;;;;;;;;;;;;;;;:22;;;;9679:13;9690:1;9679:3;:6;9683:1;9679:6;;;;;;;;;;;;;;;;:10;;:13;;;;:::i;:::-;9670:3;:6;9674:1;9670:6;;;;;;;;;;;;;;;:22;;;;9704:6;9708:1;9704:3;:6::i;:::-;9738:1;9726:17;;9735:1;9726:17;;;9741:1;9726:17;;;;;;:::i;:::-;;;;;;;;9485:266;;;;;;;;;:::o;11213:193::-;11249:7;11258;11278:10;11291:2;;11278:15;;11304:10;3854:23;11304:15;;11345:10;3854:23;11345:2;;:6;;:10;;;;:::i;:::-;11340:2;:15;11336:36;;;11365:2;;3854:23;11357:15;;;;;;;;11336:36;11391:2;11395;11383:15;;;;;;11213:193;;;:::o;1977:189::-;2063:7;2095:1;2091;:5;2098:12;2083:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2122:9;2138:1;2134;:5;;;;:::i;:::-;2122:17;;2157:1;2150:8;;;1977:189;;;;;:::o;10244:296::-;10289:7;10298;10307;10316;10325;10334;10355:9;10366;10377;10390:15;10394:1;10397:3;;10402:2;;10390:3;:15::i;:::-;10354:51;;;;;;10416:9;10429:5;:3;:5::i;:::-;10416:18;;10446:9;10457;10468;10481:15;10485:1;10488;10491;10494;10481:3;:15::i;:::-;10445:51;;;;;;10515:1;10518;10521;10524;10527;10530;10507:25;;;;;;;;;;;;;;;;;;;10244:296;;;;;;;:::o;1241:136::-;1299:7;1326:43;1330:1;1333;1326:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1319:50;;1241:136;;;;:::o;1054:179::-;1112:7;1132:9;1148:1;1144;:5;;;;:::i;:::-;1132:17;;1173:1;1168;:6;;1160:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1224:1;1217:8;;;1054:179;;;;:::o;9759:157::-;9802:9;9815:5;:3;:5::i;:::-;9802:18;;9831:9;9843:8;9849:1;9843;:5;;:8;;;;:::i;:::-;9831:20;;9883:25;9906:1;9883:3;:18;9895:4;9883:18;;;;;;;;;;;;;;;;:22;;:25;;;;:::i;:::-;9862:3;:18;9874:4;9862:18;;;;;;;;;;;;;;;:46;;;;9759:157;;;:::o;10548:248::-;10616:7;10625;10634;10654:9;10666:17;10679:3;10666:8;10672:1;10666;:5;;:8;;;;:::i;:::-;:12;;:17;;;;:::i;:::-;10654:29;;10694:9;10706:17;10719:3;10706:8;10712:1;10706;:5;;:8;;;;:::i;:::-;:12;;:17;;;;:::i;:::-;10694:29;;10734:9;10746:15;10759:1;10746:8;10752:1;10746;:5;;:8;;;;:::i;:::-;:12;;:15;;;;:::i;:::-;10734:27;;10780:1;10783;10786;10772:16;;;;;;;;;10548:248;;;;;;;:::o;10804:272::-;10883:7;10892;10901;10921:9;10933:8;10939:1;10933;:5;;:8;;;;:::i;:::-;10921:20;;10952:9;10964:8;10970:1;10964;:5;;:8;;;;:::i;:::-;10952:20;;10983:9;10995:8;11001:1;10995;:5;;:8;;;;:::i;:::-;10983:20;;11014:9;11026:15;11039:1;11026:8;11032:1;11026;:5;;:8;;;;:::i;:::-;:12;;:15;;;;:::i;:::-;11014:27;;11060:1;11063;11066;11052:16;;;;;;;;;;10804:272;;;;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;215:80;;;;:::o;301:155::-;355:5;393:6;380:20;371:29;;409:41;444:5;409:41;:::i;:::-;361:95;;;;:::o;462:137::-;516:5;547:6;541:13;532:22;;563:30;587:5;563:30;:::i;:::-;522:77;;;;:::o;605:139::-;651:5;689:6;676:20;667:29;;705:33;732:5;705:33;:::i;:::-;657:87;;;;:::o;750:143::-;807:5;838:6;832:13;823:22;;854:33;881:5;854:33;:::i;:::-;813:80;;;;:::o;899:135::-;943:5;981:6;968:20;959:29;;997:31;1022:5;997:31;:::i;:::-;949:85;;;;:::o;1040:262::-;1099:6;1148:2;1136:9;1127:7;1123:23;1119:32;1116:2;;;1164:1;1161;1154:12;1116:2;1207:1;1232:53;1277:7;1268:6;1257:9;1253:22;1232:53;:::i;:::-;1222:63;;1178:117;1106:196;;;;:::o;1308:284::-;1378:6;1427:2;1415:9;1406:7;1402:23;1398:32;1395:2;;;1443:1;1440;1433:12;1395:2;1486:1;1511:64;1567:7;1558:6;1547:9;1543:22;1511:64;:::i;:::-;1501:74;;1457:128;1385:207;;;;:::o;1598:278::-;1665:6;1714:2;1702:9;1693:7;1689:23;1685:32;1682:2;;;1730:1;1727;1720:12;1682:2;1773:1;1798:61;1851:7;1842:6;1831:9;1827:22;1798:61;:::i;:::-;1788:71;;1744:125;1672:204;;;;:::o;1882:407::-;1950:6;1958;2007:2;1995:9;1986:7;1982:23;1978:32;1975:2;;;2023:1;2020;2013:12;1975:2;2066:1;2091:53;2136:7;2127:6;2116:9;2112:22;2091:53;:::i;:::-;2081:63;;2037:117;2193:2;2219:53;2264:7;2255:6;2244:9;2240:22;2219:53;:::i;:::-;2209:63;;2164:118;1965:324;;;;;:::o;2295:552::-;2372:6;2380;2388;2437:2;2425:9;2416:7;2412:23;2408:32;2405:2;;;2453:1;2450;2443:12;2405:2;2496:1;2521:53;2566:7;2557:6;2546:9;2542:22;2521:53;:::i;:::-;2511:63;;2467:117;2623:2;2649:53;2694:7;2685:6;2674:9;2670:22;2649:53;:::i;:::-;2639:63;;2594:118;2751:2;2777:53;2822:7;2813:6;2802:9;2798:22;2777:53;:::i;:::-;2767:63;;2722:118;2395:452;;;;;:::o;2853:407::-;2921:6;2929;2978:2;2966:9;2957:7;2953:23;2949:32;2946:2;;;2994:1;2991;2984:12;2946:2;3037:1;3062:53;3107:7;3098:6;3087:9;3083:22;3062:53;:::i;:::-;3052:63;;3008:117;3164:2;3190:53;3235:7;3226:6;3215:9;3211:22;3190:53;:::i;:::-;3180:63;;3135:118;2936:324;;;;;:::o;3266:278::-;3333:6;3382:2;3370:9;3361:7;3357:23;3353:32;3350:2;;;3398:1;3395;3388:12;3350:2;3441:1;3466:61;3519:7;3510:6;3499:9;3495:22;3466:61;:::i;:::-;3456:71;;3412:125;3340:204;;;;:::o;3550:596::-;3638:6;3646;3654;3703:2;3691:9;3682:7;3678:23;3674:32;3671:2;;;3719:1;3716;3709:12;3671:2;3762:1;3787:64;3843:7;3834:6;3823:9;3819:22;3787:64;:::i;:::-;3777:74;;3733:128;3900:2;3926:64;3982:7;3973:6;3962:9;3958:22;3926:64;:::i;:::-;3916:74;;3871:129;4039:2;4065:64;4121:7;4112:6;4101:9;4097:22;4065:64;:::i;:::-;4055:74;;4010:129;3661:485;;;;;:::o;4152:258::-;4209:6;4258:2;4246:9;4237:7;4233:23;4229:32;4226:2;;;4274:1;4271;4264:12;4226:2;4317:1;4342:51;4385:7;4376:6;4365:9;4361:22;4342:51;:::i;:::-;4332:61;;4288:115;4216:194;;;;:::o;4416:179::-;4485:10;4506:46;4548:3;4540:6;4506:46;:::i;:::-;4584:4;4579:3;4575:14;4561:28;;4496:99;;;;:::o;4601:108::-;4678:24;4696:5;4678:24;:::i;:::-;4673:3;4666:37;4656:53;;:::o;4715:118::-;4802:24;4820:5;4802:24;:::i;:::-;4797:3;4790:37;4780:53;;:::o;4869:732::-;4988:3;5017:54;5065:5;5017:54;:::i;:::-;5087:86;5166:6;5161:3;5087:86;:::i;:::-;5080:93;;5197:56;5247:5;5197:56;:::i;:::-;5276:7;5307:1;5292:284;5317:6;5314:1;5311:13;5292:284;;;5393:6;5387:13;5420:63;5479:3;5464:13;5420:63;:::i;:::-;5413:70;;5506:60;5559:6;5506:60;:::i;:::-;5496:70;;5352:224;5339:1;5336;5332:9;5327:14;;5292:284;;;5296:14;5592:3;5585:10;;4993:608;;;;;;;:::o;5607:109::-;5688:21;5703:5;5688:21;:::i;:::-;5683:3;5676:34;5666:50;;:::o;5722:147::-;5817:45;5856:5;5817:45;:::i;:::-;5812:3;5805:58;5795:74;;:::o;5875:364::-;5963:3;5991:39;6024:5;5991:39;:::i;:::-;6046:71;6110:6;6105:3;6046:71;:::i;:::-;6039:78;;6126:52;6171:6;6166:3;6159:4;6152:5;6148:16;6126:52;:::i;:::-;6203:29;6225:6;6203:29;:::i;:::-;6198:3;6194:39;6187:46;;5967:272;;;;;:::o;6245:366::-;6387:3;6408:67;6472:2;6467:3;6408:67;:::i;:::-;6401:74;;6484:93;6573:3;6484:93;:::i;:::-;6602:2;6597:3;6593:12;6586:19;;6391:220;;;:::o;6617:366::-;6759:3;6780:67;6844:2;6839:3;6780:67;:::i;:::-;6773:74;;6856:93;6945:3;6856:93;:::i;:::-;6974:2;6969:3;6965:12;6958:19;;6763:220;;;:::o;6989:366::-;7131:3;7152:67;7216:2;7211:3;7152:67;:::i;:::-;7145:74;;7228:93;7317:3;7228:93;:::i;:::-;7346:2;7341:3;7337:12;7330:19;;7135:220;;;:::o;7361:366::-;7503:3;7524:67;7588:2;7583:3;7524:67;:::i;:::-;7517:74;;7600:93;7689:3;7600:93;:::i;:::-;7718:2;7713:3;7709:12;7702:19;;7507:220;;;:::o;7733:366::-;7875:3;7896:67;7960:2;7955:3;7896:67;:::i;:::-;7889:74;;7972:93;8061:3;7972:93;:::i;:::-;8090:2;8085:3;8081:12;8074:19;;7879:220;;;:::o;8105:366::-;8247:3;8268:67;8332:2;8327:3;8268:67;:::i;:::-;8261:74;;8344:93;8433:3;8344:93;:::i;:::-;8462:2;8457:3;8453:12;8446:19;;8251:220;;;:::o;8477:366::-;8619:3;8640:67;8704:2;8699:3;8640:67;:::i;:::-;8633:74;;8716:93;8805:3;8716:93;:::i;:::-;8834:2;8829:3;8825:12;8818:19;;8623:220;;;:::o;8849:366::-;8991:3;9012:67;9076:2;9071:3;9012:67;:::i;:::-;9005:74;;9088:93;9177:3;9088:93;:::i;:::-;9206:2;9201:3;9197:12;9190:19;;8995:220;;;:::o;9221:366::-;9363:3;9384:67;9448:2;9443:3;9384:67;:::i;:::-;9377:74;;9460:93;9549:3;9460:93;:::i;:::-;9578:2;9573:3;9569:12;9562:19;;9367:220;;;:::o;9593:366::-;9735:3;9756:67;9820:2;9815:3;9756:67;:::i;:::-;9749:74;;9832:93;9921:3;9832:93;:::i;:::-;9950:2;9945:3;9941:12;9934:19;;9739:220;;;:::o;9965:118::-;10052:24;10070:5;10052:24;:::i;:::-;10047:3;10040:37;10030:53;;:::o;10089:112::-;10172:22;10188:5;10172:22;:::i;:::-;10167:3;10160:35;10150:51;;:::o;10207:222::-;10300:4;10338:2;10327:9;10323:18;10315:26;;10351:71;10419:1;10408:9;10404:17;10395:6;10351:71;:::i;:::-;10305:124;;;;:::o;10435:332::-;10556:4;10594:2;10583:9;10579:18;10571:26;;10607:71;10675:1;10664:9;10660:17;10651:6;10607:71;:::i;:::-;10688:72;10756:2;10745:9;10741:18;10732:6;10688:72;:::i;:::-;10561:206;;;;;:::o;10773:332::-;10894:4;10932:2;10921:9;10917:18;10909:26;;10945:71;11013:1;11002:9;10998:17;10989:6;10945:71;:::i;:::-;11026:72;11094:2;11083:9;11079:18;11070:6;11026:72;:::i;:::-;10899:206;;;;;:::o;11111:807::-;11360:4;11398:3;11387:9;11383:19;11375:27;;11412:71;11480:1;11469:9;11465:17;11456:6;11412:71;:::i;:::-;11493:72;11561:2;11550:9;11546:18;11537:6;11493:72;:::i;:::-;11575:80;11651:2;11640:9;11636:18;11627:6;11575:80;:::i;:::-;11665;11741:2;11730:9;11726:18;11717:6;11665:80;:::i;:::-;11755:73;11823:3;11812:9;11808:19;11799:6;11755:73;:::i;:::-;11838;11906:3;11895:9;11891:19;11882:6;11838:73;:::i;:::-;11365:553;;;;;;;;;:::o;11924:210::-;12011:4;12049:2;12038:9;12034:18;12026:26;;12062:65;12124:1;12113:9;12109:17;12100:6;12062:65;:::i;:::-;12016:118;;;;:::o;12140:313::-;12253:4;12291:2;12280:9;12276:18;12268:26;;12340:9;12334:4;12330:20;12326:1;12315:9;12311:17;12304:47;12368:78;12441:4;12432:6;12368:78;:::i;:::-;12360:86;;12258:195;;;;:::o;12459:419::-;12625:4;12663:2;12652:9;12648:18;12640:26;;12712:9;12706:4;12702:20;12698:1;12687:9;12683:17;12676:47;12740:131;12866:4;12740:131;:::i;:::-;12732:139;;12630:248;;;:::o;12884:419::-;13050:4;13088:2;13077:9;13073:18;13065:26;;13137:9;13131:4;13127:20;13123:1;13112:9;13108:17;13101:47;13165:131;13291:4;13165:131;:::i;:::-;13157:139;;13055:248;;;:::o;13309:419::-;13475:4;13513:2;13502:9;13498:18;13490:26;;13562:9;13556:4;13552:20;13548:1;13537:9;13533:17;13526:47;13590:131;13716:4;13590:131;:::i;:::-;13582:139;;13480:248;;;:::o;13734:419::-;13900:4;13938:2;13927:9;13923:18;13915:26;;13987:9;13981:4;13977:20;13973:1;13962:9;13958:17;13951:47;14015:131;14141:4;14015:131;:::i;:::-;14007:139;;13905:248;;;:::o;14159:419::-;14325:4;14363:2;14352:9;14348:18;14340:26;;14412:9;14406:4;14402:20;14398:1;14387:9;14383:17;14376:47;14440:131;14566:4;14440:131;:::i;:::-;14432:139;;14330:248;;;:::o;14584:419::-;14750:4;14788:2;14777:9;14773:18;14765:26;;14837:9;14831:4;14827:20;14823:1;14812:9;14808:17;14801:47;14865:131;14991:4;14865:131;:::i;:::-;14857:139;;14755:248;;;:::o;15009:419::-;15175:4;15213:2;15202:9;15198:18;15190:26;;15262:9;15256:4;15252:20;15248:1;15237:9;15233:17;15226:47;15290:131;15416:4;15290:131;:::i;:::-;15282:139;;15180:248;;;:::o;15434:419::-;15600:4;15638:2;15627:9;15623:18;15615:26;;15687:9;15681:4;15677:20;15673:1;15662:9;15658:17;15651:47;15715:131;15841:4;15715:131;:::i;:::-;15707:139;;15605:248;;;:::o;15859:419::-;16025:4;16063:2;16052:9;16048:18;16040:26;;16112:9;16106:4;16102:20;16098:1;16087:9;16083:17;16076:47;16140:131;16266:4;16140:131;:::i;:::-;16132:139;;16030:248;;;:::o;16284:419::-;16450:4;16488:2;16477:9;16473:18;16465:26;;16537:9;16531:4;16527:20;16523:1;16512:9;16508:17;16501:47;16565:131;16691:4;16565:131;:::i;:::-;16557:139;;16455:248;;;:::o;16709:222::-;16802:4;16840:2;16829:9;16825:18;16817:26;;16853:71;16921:1;16910:9;16906:17;16897:6;16853:71;:::i;:::-;16807:124;;;;:::o;16937:831::-;17200:4;17238:3;17227:9;17223:19;17215:27;;17252:71;17320:1;17309:9;17305:17;17296:6;17252:71;:::i;:::-;17333:80;17409:2;17398:9;17394:18;17385:6;17333:80;:::i;:::-;17460:9;17454:4;17450:20;17445:2;17434:9;17430:18;17423:48;17488:108;17591:4;17582:6;17488:108;:::i;:::-;17480:116;;17606:72;17674:2;17663:9;17659:18;17650:6;17606:72;:::i;:::-;17688:73;17756:3;17745:9;17741:19;17732:6;17688:73;:::i;:::-;17205:563;;;;;;;;:::o;17774:214::-;17863:4;17901:2;17890:9;17886:18;17878:26;;17914:67;17978:1;17967:9;17963:17;17954:6;17914:67;:::i;:::-;17868:120;;;;:::o;17994:132::-;18061:4;18084:3;18076:11;;18114:4;18109:3;18105:14;18097:22;;18066:60;;;:::o;18132:114::-;18199:6;18233:5;18227:12;18217:22;;18206:40;;;:::o;18252:99::-;18304:6;18338:5;18332:12;18322:22;;18311:40;;;:::o;18357:113::-;18427:4;18459;18454:3;18450:14;18442:22;;18432:38;;;:::o;18476:184::-;18575:11;18609:6;18604:3;18597:19;18649:4;18644:3;18640:14;18625:29;;18587:73;;;;:::o;18666:169::-;18750:11;18784:6;18779:3;18772:19;18824:4;18819:3;18815:14;18800:29;;18762:73;;;;:::o;18841:305::-;18881:3;18900:20;18918:1;18900:20;:::i;:::-;18895:25;;18934:20;18952:1;18934:20;:::i;:::-;18929:25;;19088:1;19020:66;19016:74;19013:1;19010:81;19007:2;;;19094:18;;:::i;:::-;19007:2;19138:1;19135;19131:9;19124:16;;18885:261;;;;:::o;19152:185::-;19192:1;19209:20;19227:1;19209:20;:::i;:::-;19204:25;;19243:20;19261:1;19243:20;:::i;:::-;19238:25;;19282:1;19272:2;;19287:18;;:::i;:::-;19272:2;19329:1;19326;19322:9;19317:14;;19194:143;;;;:::o;19343:348::-;19383:7;19406:20;19424:1;19406:20;:::i;:::-;19401:25;;19440:20;19458:1;19440:20;:::i;:::-;19435:25;;19628:1;19560:66;19556:74;19553:1;19550:81;19545:1;19538:9;19531:17;19527:105;19524:2;;;19635:18;;:::i;:::-;19524:2;19683:1;19680;19676:9;19665:20;;19391:300;;;;:::o;19697:191::-;19737:4;19757:20;19775:1;19757:20;:::i;:::-;19752:25;;19791:20;19809:1;19791:20;:::i;:::-;19786:25;;19830:1;19827;19824:8;19821:2;;;19835:18;;:::i;:::-;19821:2;19880:1;19877;19873:9;19865:17;;19742:146;;;;:::o;19894:96::-;19931:7;19960:24;19978:5;19960:24;:::i;:::-;19949:35;;19939:51;;;:::o;19996:104::-;20041:7;20070:24;20088:5;20070:24;:::i;:::-;20059:35;;20049:51;;;:::o;20106:90::-;20140:7;20183:5;20176:13;20169:21;20158:32;;20148:48;;;:::o;20202:126::-;20239:7;20279:42;20272:5;20268:54;20257:65;;20247:81;;;:::o;20334:77::-;20371:7;20400:5;20389:16;;20379:32;;;:::o;20417:86::-;20452:7;20492:4;20485:5;20481:16;20470:27;;20460:43;;;:::o;20509:121::-;20567:9;20600:24;20618:5;20600:24;:::i;:::-;20587:37;;20577:53;;;:::o;20636:307::-;20704:1;20714:113;20728:6;20725:1;20722:13;20714:113;;;20813:1;20808:3;20804:11;20798:18;20794:1;20789:3;20785:11;20778:39;20750:2;20747:1;20743:10;20738:15;;20714:113;;;20845:6;20842:1;20839:13;20836:2;;;20925:1;20916:6;20911:3;20907:16;20900:27;20836:2;20685:258;;;;:::o;20949:320::-;20993:6;21030:1;21024:4;21020:12;21010:22;;21077:1;21071:4;21067:12;21098:18;21088:2;;21154:4;21146:6;21142:17;21132:27;;21088:2;21216;21208:6;21205:14;21185:18;21182:38;21179:2;;;21235:18;;:::i;:::-;21179:2;21000:269;;;;:::o;21275:180::-;21323:77;21320:1;21313:88;21420:4;21417:1;21410:15;21444:4;21441:1;21434:15;21461:180;21509:77;21506:1;21499:88;21606:4;21603:1;21596:15;21630:4;21627:1;21620:15;21647:180;21695:77;21692:1;21685:88;21792:4;21789:1;21782:15;21816:4;21813:1;21806:15;21833:102;21874:6;21925:2;21921:7;21916:2;21909:5;21905:14;21901:28;21891:38;;21881:54;;;:::o;21941:222::-;22081:34;22077:1;22069:6;22065:14;22058:58;22150:5;22145:2;22137:6;22133:15;22126:30;22047:116;:::o;22169:229::-;22309:34;22305:1;22297:6;22293:14;22286:58;22378:12;22373:2;22365:6;22361:15;22354:37;22275:123;:::o;22404:221::-;22544:34;22540:1;22532:6;22528:14;22521:58;22613:4;22608:2;22600:6;22596:15;22589:29;22510:115;:::o;22631:177::-;22771:29;22767:1;22759:6;22755:14;22748:53;22737:71;:::o;22814:220::-;22954:34;22950:1;22942:6;22938:14;22931:58;23023:3;23018:2;23010:6;23006:15;22999:28;22920:114;:::o;23040:182::-;23180:34;23176:1;23168:6;23164:14;23157:58;23146:76;:::o;23228:228::-;23368:34;23364:1;23356:6;23352:14;23345:58;23437:11;23432:2;23424:6;23420:15;23413:36;23334:122;:::o;23462:224::-;23602:34;23598:1;23590:6;23586:14;23579:58;23671:7;23666:2;23658:6;23654:15;23647:32;23568:118;:::o;23692:223::-;23832:34;23828:1;23820:6;23816:14;23809:58;23901:6;23896:2;23888:6;23884:15;23877:31;23798:117;:::o;23921:173::-;24061:25;24057:1;24049:6;24045:14;24038:49;24027:67;:::o;24100:122::-;24173:24;24191:5;24173:24;:::i;:::-;24166:5;24163:35;24153:2;;24212:1;24209;24202:12;24153:2;24143:79;:::o;24228:138::-;24309:32;24335:5;24309:32;:::i;:::-;24302:5;24299:43;24289:2;;24356:1;24353;24346:12;24289:2;24279:87;:::o;24372:116::-;24442:21;24457:5;24442:21;:::i;:::-;24435:5;24432:32;24422:2;;24478:1;24475;24468:12;24422:2;24412:76;:::o;24494:122::-;24567:24;24585:5;24567:24;:::i;:::-;24560:5;24557:35;24547:2;;24606:1;24603;24596:12;24547:2;24537:79;:::o;24622:118::-;24693:22;24709:5;24693:22;:::i;:::-;24686:5;24683:33;24673:2;;24730:1;24727;24720:12;24673:2;24663:77;:::o
Swarm Source
ipfs://1815e08b73150278f344d0bc52d6a3f47989df9508b557796d3f90ac13155cc8
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.