ERC-20
Overview
Max Total Supply
1,000,000 COP
Holders
72
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
2,559.248674155817773383 COPValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
COP
Compiler Version
v0.8.9+commit.e5eed63a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-05-04 */ /** ██████╗ █████╗ ██╗ ██╗ ██████╗ ███████╗ ██████╗ ███████╗██████╗ ███████╗ ██╔════╝██╔══██╗██║ ██║ ██╔═══██╗██╔════╝ ██╔══██╗██╔════╝██╔══██╗██╔════╝ ██║ ███████║██║ ██║ ██║ ██║█████╗ ██████╔╝█████╗ ██████╔╝█████╗ ██║ ██╔══██║██║ ██║ ██║ ██║██╔══╝ ██╔═══╝ ██╔══╝ ██╔═══╝ ██╔══╝ ╚██████╗██║ ██║███████╗███████╗ ╚██████╔╝██║ ██║ ███████╗██║ ███████╗ ╚═════╝╚═╝ ╚═╝╚══════╝╚══════╝ ╚═════╝ ╚═╝ ╚═╝ ╚══════╝╚═╝ ╚══════╝ ool::ccccccccccccc::lxkdccc:;::::c::;'........................,::;,'..',.';::;;;:c:::c:;,;;,'',:c:,............................................',::,.. ;,;cccccccccccccc:::lc::;::c::::::;'.........................';:;,...','.,;,;clccxd:;c:;,'',;:cc:;.......................................;c,.,;:c:;'.. .;ccccccccccccc::ccc:ccc::cc::,''.............................'............':l:'.';',:;;;::ccc:;'..............',......................'cl:;:ccc:,.... ,:cccccccccccc::::;',::::;:;'...........................',,;::,',,,''''....'''.. .....,;:ccc:,..............;cc;.......''...............,:ccc:,'..... ;;,;cc::;;;;,,'''...',,'...':;...................''..':oxkxodOkdxxl;;;,. ...,:;,';;;'....';;'............,cl:,.....':c::;..............,:::;,........ :,.';;'....................,:'.................':xkdoxkxloddxOOOOOo;;:c;.,clllc:ccc::;'... ...............',....'::;;:,.................','........... '..,'........................................,;;;:okkdlclcoddkOOOOxllxkxdxO0OOOkkkkxxd:...... ...............':cc:'................................... ..........',;::;'............................';;;;;oxolldc;;,,,,,,;;,:odolccokOOOOOOOOx,.. ... .............,,'......','............................. ''....':c:;,,,..........................';. .'..,;:coool:;;. .. .lxxxxkxl:;......... .................................................... :,....,;,.............................,;:lo::oc',;;;;;:okxl;. ..;::::'.... ...... ......................';;.......................... '...................................;dkdoooclko;:;;;;;;:cxOd'........... .,;,'..... ...... ..................'..;c;.......................... ...........''.............''.......;loc:;;;;:olcc;:cccc::oOkoooc;;,;;;;;,'.....;;;,;;,. ....... .............';::c;.............................. .......,:c:;'.......',::::c;......';;;;;;;;cdoclodxkkxddoxkdc;;;;;;::ldddoccc:;;;;;;;;' .. ..........'cdxdoc'................''............ .....':lc,....';::clcc:,.........,;;;;;:cocoxoxkOOOdc::;;:odl:clooooodddxOkkkkxolllc,... .. .. .........,lc:;,................................ ......'.....;lxddlc;............:c;;;;cdOdlcokkxlc:;,,,,,;:ccloddo:,,,,,:clodkOkkxxkl'. ...... .............................................. ..........,cdkd:,'.............'lolc:;;:;'.',;,,...........................',;;;;;::;,'............ ...........................................' ..........;:c:;'...............''..',.... .'..... .........''...........;:,.. .''.......................................': ...........';cc;................'...... .'::::;,,'.....'... .;:,..... .''.......',.............................'' ..........;ol;'...............',.. .;::cc... ...'...:ONWNNNNXXK0Okdc;'. ...... . . .'''.....''''.....''''. .........';;;'... ..........''.................... 'O0xONW0o;......,;,,'......,;,'.'cONNkoxXMMMMMMMMMNOc' ..'... ... .;::;;;;;'.,;,'.. ..'..,,,,'......',,.... ............................... oWMMMMWNXKOdc,...,,,,'',,,,'..,lONMXl'. :xKMMMMMMMMWx,. ....... .;;;;:::;'',;;'.. ...;;;;;'.'. ........, .............................. .kMMMMXl,,lKMWKkolc;',,.,,'';lkKWMMMk... ..dMMMMMMMMNd... .. .;:::::,'..... . ....',''. ........ ............................... .OMMMWo ':.lWMMMMMNkxl...'.;dXMMMMMMk. .'xMMMMMMMM0c,. . . . .;:::::'''.. .... ..,:;.'. ........ ..,;;,....................,;'... .xWMMNc ...lWMMMMMNxc:,,,,,,:dKWMMMMNc :kXMMMMMWkdkc.. .;'. ,;,,,,.',.. .''. .:::,''. .....'l; ,:::;'.',;;,''...........,:;;.... ,KMMMO,..cKMMMN0dc;,;;;,,,,,,;lkNMMMNxoxXMMMMMMWXd;:, .',;,. .... . .'.'''',,....''. .:::,'.. ....;l: ;;;'.',:::::;'..................''.;0WMWXO0NWWKxl;,;;;;,,,,,,;;;,,:oOXWMMMMMMWXKNXkl'. ....',;,. .;;,,. .,;;;,,,,;;;,'. .:::;,'. ..;lc ..',;::c::;,...................,;' .;lkXNKOxdl:,;;,.............,;;,,:ldkO000kdoo;.. .,;,,,;;;,. .;,,,. .,;;;;,;;;;'.. .,,;;''. ..':' .,::c:::;'.....................''......;c;,,,;;,.. ...',,,''.....',;;;,''..''... ..',;;;;,;;;;;,. .... .,;,,,,'.'.'............. ..... ;:cc::;'.............................';,'',;;'. ..',;;:;;;;;;;;;,'....,;:;,;;,'',,;;;:;;;;;;;;;;;;. .'',;;,,,,'.',','. .. ..... :c::;'................;;.............,,'','.. ..,;;;;;;;;;,;;;;;;;;,.....',,,;;;;;;,,'..'',;;;,,;;. .',;:::::,.';'''.. .. .... ::;'..................,'............ .'''.. .';;;;;;;;;:;;;;;;;;;;;;;;,............ ..',,',;;;'''. ... ..........,,.,'.. . .... :,.........................................';;;;;;;;;;;;;:;;;;;,,;;;;;;:;;,,''.....',;;;,,,'.';;''' .:l;. .. ..... .... '.....''...........';,............,,''',;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;,..,''' .,;. . .... . . . ..., ...................,c:'..........,;,,;;;;;;;;,,;;;;;;;;;;;;;;;;;;;;;;;,;;;;;;;;;;;,,,,,,''',,..,,,. ':;. .... . . ..,: ...,'..............'cl,..........;;;;;;;,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;,'....'''''.....';;. .,'. .... . . . .,:: .....;;.........................':;;;;;;;;;:;,,''''',,;;;;;:;;;;;;;;;;;;:;,''..',''........','.';,. .'. .',,;,,,,,''..... .. .,:: .....;,.',;::;,................ ':;;;;;;;;'....''''''.'''''',,,;;;;;,,,'''..'''.. .,..;;. ......',,,;;;,'.. .. ..:l .....',::ccc::;::'..',;,.........,;:;;;;'..',,'........'''''''''''''''''''.... .....''.';' .,,,..,,'..'''. .. ..';::ccc:::c:ll;',;;,'.''...''....''''..''... .............. .......'''...''''. ,;;'.,,'''... ,,:cc:c:::cool:;;::c:,',:;'....'''''.......... ...... ........'''.....',''.. .......';'';'. .. . ccc:::c;:olcc:::cc::::::::::,........''''.....'''.'.'''...''.................'''.. ..','.. .,;;,.,,''... ..'',,'''..... :::::;::::;::c::::::::::::::,..... ...''.'''.....''',,,'''........'''..'''........',;;;'. ',,,'.,;,'.. .':oolclooodl:;;;,.. c:;::::ccc::::::::::::::::;'...........''''..''''''.....''''.''''''...........,;;;;;,'.. .,;;;'',,,.. .':oxkkkkkxclxdc;;;:;... ,,,;:::::cc:::cccc:::::::,.......::.. ...'''''......',,;;,'............'''''''',;;,.. .,,,,'.','.. .';:ldxxlldkkkkkko::::'. ..........,;,''''',;;;;,'......:odx, ........',,;;;;;;;;;;,'''..'................. .',;;,.',,'. .;:,':lc;cdxolccc::;;;,... .... .......... .lddd:........... ...........''............ .,,;;;;;..,;,.. .. ''';lo;,okx;................. . .... ........ .;dkolx, .c,. ...... .......... ...';,,,,,'.',;'. .. .oxl,:dkkl............',,,,. .. .. .cdldxdxl..c:. .......... .. ..'..;:;;;:;,;;,. .. ,d:;okkkx,.''......co,.,,,,... 'lxkl;oold,.'. .,...............'. .''''''',,,,,,''',' .... .,,:xkkkkc..,,'.';:lxxl,.',,... ,dddkxc,lll: .,;''.................. .;;;;,''......... .ccccccccccccl:,'.'....,;. '':lokkkl..'.',:odcc:;dxc,'.... ... .. .lkooxkkc,lxc. .,.. 'c' ...............',,,,,:cc;,,;:' .;;;;,,,,,''','. .'...... ...;cdkkl..''.'ccc:;;;;::;;:'... ..... .. .codxxkxxo;cx; .;'...;;. .................',,'...'...',,. ....'''....... ,c;... .:xkkl..,,,..:cc;cl;';l,... .. .... .oo,cxkxooococ.;c;;,,'. ................ .......... ':,',::..,;;;'.,:cc'.. 'xkxc..,,,,''....:;..;k:.'...' .;xk:.'cxxllxd,'cc:::c;. ...... .......... ..''. .:. 'c. .,,,:ccccc;.. 'xOd. .',,,,,.....''..c;.,..''. . . ...,lxdxx:. .;clc,,:c:..... .;. ... .......... .. ... .'..;:. .',:cccccc... .,,,;:;'...','....',,....'..',. .... ..',;;:cclddol:. .''.,::;,....'..;c. ............... .. .ccccc;..:ccccccccc,.. ..',:cc::,...''...','..''..,,. ......... ,dxolloolcclocclc' ..''',''. 'l, .............. .. .:ccccc,.:ccc:;::,::... cxocccldkkdc,...'..........,,. ... 'lc;;::::,;:cc:cc:'.......,,;:,';.... .. ...... .... .;ccccc:..,;;;;::::,. 'dkkkkkkkkkkdc;,............. . . .... .;:clol::ccldookxc..';;;''......,. .. ....... ....... 'ccc:::' .,,,'... 'dkxxxkkkkkxolcc;'....',;c;... .. .... ..'cdodxxc;clc;;lxkx:. .'......... .. ..... ...... .. ....... ..':dkkkkkxdddcclllodxkkkx:.. .. .. .cdl:coxccdo:;:oxkd;. .. ...''... .. .''''....'. ........... .','. . .',:lddxxkkkxxkxollcclodxko,... . .lo;:dkkkxkxdlodkxl' .. .''.. .....',,;,..;;:::::;,.';;,,,. .... ,c, ......':dkxkdc,''. ..'..... ....... ,:,lkkkkoc::cldkko'.;:'..'. ..';;;:;;,'.. ........ ..'',,,. ........ .'.. .. .';,,,;;;;;:ldxo,.... .. .. ........ .lkkkOd,.....:kx;.,c;..'. .,,,,;,'''.. ...''''...'........ .''...... . ..,;:cc:c:;;;;;;;;,..'.........;do, .. ..... .ckkkOd,....'okc..'...'.... .,;;;;,'..'','.':;;;;:'.,;;;::::;' .''''....... ...... ..,cdd:,,,;;;;;:llc:;;;,'.......'lxdlodl. .... ...... ,dOkOd,....;do. .;'..'.... .';;;;;;,,;;;:,..''.... ........ .............. .':oxkkc..',;;;;:okkxolccoo,....,cdxkdllxko, ... . . .:odxkx:.,;;;oc. .'..'... .;;;;;;;;;;;;,,. . .. . ............ .....;cdkkkkkd:;;;;:ccldxkko::;:oxxdc;lkkkkkkkkkkkc. . ... ,xxdooooxkkkxc. .'..,. .;;;;;;;;;;;;'.. .;:,............'.......',;:ldxkkko:lxxl:;;:lxxxxkkkko:;;;lxkkkkkkkkkkkkkdc;... . .:oddxkkkkkxc......'. .',;:;;;',;;;;;,.. .,'','. ....... ......'llcl:lkkkkko,':dc;;;;cdkkkkkkkxl;;:dkkkkkkkkxxdl:,. .. ...,;:codddol:....''. .,:;;;,'',;;;;;;'. .. ... ....... .. 'okxoloxkkkkdc:;;::;;;;:dkkkkkkkkdc:oxkkkkxkko;'.. . ... ....... ...........''',,,'..',;;;,..... ..... ... .......';cdkkkkkkdc;;clccc;;coxddkkkkkkkxxxkkkxoldc... . .........''. ....... ..'.';;;;,'... .......'','',,,'..,:oddxxccodkkkxdddl,..:xkkkkkkkkkkkkdc. . .. ..'',,'. .',,;;;;:,. ....',,',''',,''','..'.;xxxkkkkkxkxc... 'dkkkkkkkkkkd;. .... ............ .. . .... ..',,,,''',''''''''.'','..,cxxl;;;',,,'.. 'dkkkkkdllo:. .. ........... ...... .... .'''''''''''''''''... ..''''..,:. ...........ckkkkd;... .... ┏━━━┓━━━━━━┓━━━┓━━━┓━━━┓┓━┏┓━━━┓━━━━┓━━━━━━┓┏━━━┓━━━━━━┓━━━┓━━━┓━━━┓━━━━━━┓━━━┓━┓┏━┓┓━━┏┓ ┃┏━┓┃━━━┏━┓┃┏━┓┃┏━┓┃┓┏┓┃┃━┃┃┏━┓┃┏┓┏┓┃━━━┏━┓┃┃┏━━┛━━━┏━┓┃┏━━┛┏━┓┃┏━━┛━━━┏━┓┃┏━┓┃┃┗┛┃┃┗┓┏┛┃ ┃┃━┃┃━━━┗━┛┃┗━┛┃┃━┃┃┃┃┃┃┃━┃┃┃━┗┛┛┃┃┗┛━━━┃━┃┃┃┗━━┓━━━┗━┛┃┗━━┓┗━┛┃┗━━┓━━━┃━┃┃┗━┛┃┏┓┏┓┃┓┗┛┏┛ ┃┗━┛┃━━━┏━━┛┏┓┏┛┃━┃┃┃┃┃┃┃━┃┃┃━┏┓━┃┃━━━━━┃━┃┃┃┏━━┛━━━┏━━┛┏━━┛┏━━┛┏━━┛━━━┗━┛┃┏┓┏┛┃┃┃┃┃┗┓┏┛━ ┃┏━┓┃━━━┃━━━┃┃┗┓┗━┛┃┛┗┛┃┗━┛┃┗━┛┃┏┛┗┓━━━━┗━┛┃┛┗┓━━━━━┃━━━┗━━┓┃━━━┗━━┓━━━┏━┓┃┃┃┗┓┃┃┃┃┃━┃┃━━ ┗┛━┗┛━━━┛━━━┛┗━┛━━━┛━━━┛━━━┛━━━┛┗━━┛━━━━━━━┛━━┛━━━━━┛━━━━━━┛┛━━━━━━┛━━━┛━┗┛┛┗━┛┛┗┛┗┛━┗┛━━ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ callofpepe.com t.me/callofpepe twitter.com/callofpepeETH */ // SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.9; library SafeMath { function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } } interface IERC20 { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); } contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } contract ERC20Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view virtual returns (address) { return _owner; } modifier onlyOwner() { require(owner() == _msgSender(), "ERC20Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "ERC20Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } interface IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint) external view returns (address pair); function allPairsLength() external view returns (uint); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IUniswapV2Router02 { function factory() external pure returns (address); function WETH() external pure returns (address); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function removeLiquidity( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB); function removeLiquidityETH( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountToken, uint amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountA, uint amountB); function removeLiquidityETHWithPermit( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountToken, uint amountETH); function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapTokensForExactTokens( uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); } contract COP is Context, ERC20Ownable, IERC20{ using SafeMath for uint256; uint256 private _MaxWallet; uint256 private _MinTS; uint256 private marketingTokens; uint256 private treasuryTokens; uint256 private liquidityTokens; uint256 private marketingTax; uint256 private treasuryTax; uint256 private liquidityTax; uint256 private tDivider; uint256 private taxBuyMarketing; uint256 private taxBuyTreasury; uint256 private taxBuyLiquidity; uint256 private taxSellMarketing; uint256 private taxSellTreasury; uint256 private taxSellLiquidity; uint256 public LiveBlock; uint256 public EndSniperPen; bool public actions = false; bool public maxWalletOn = false; bool public active = false; bool isal; bool private sals = false; address payable liquidityAddress; address payable marketingAddress; address payable treasuryAddress; address payable devAddress; address DEAD = address(0xdead); address public uniV2Pair; IUniswapV2Router02 public uniV2Router; mapping(address => mapping(address => uint256)) private _Allowances; mapping(address => uint256) private _Balance; mapping(address => bool) private _MaxExclude; mapping(address => bool) private _TaxExclude; mapping(address => bool) public _Sniper; mapping(address => bool) public _Bot; modifier lockTheSwap() { isal = true; _; isal = false; } string private constant _Name = "Call of Pepe"; string private constant _Symbol = "COP"; uint8 private constant _Decimal = 18; uint256 private constant _Supply = 1e6 * 10**_Decimal; constructor() payable { marketingAddress = payable(0xf621a6A074828F99dabf92F6c4d65aa871C49357); treasuryAddress = payable(0xf621a6A074828F99dabf92F6c4d65aa871C49357); devAddress = payable(0xf621a6A074828F99dabf92F6c4d65aa871C49357); taxBuyMarketing = 10; taxBuyTreasury = 0; taxBuyLiquidity = 0; taxSellMarketing = 25; taxSellTreasury = 0; taxSellLiquidity = 0; liquidityAddress = payable(owner()); _Balance[address(this)] = _Supply; _MaxWallet = _Supply.mul(2).div(100); _MinTS = _Supply.mul(5).div(10000); _TaxExclude[owner()] = true; _TaxExclude[DEAD] = true; _TaxExclude[address(this)] = true; _TaxExclude[marketingAddress] = true; _TaxExclude[treasuryAddress] = true; _TaxExclude[liquidityAddress] = true; _MaxExclude[address(this)] = true; _MaxExclude[owner()] = true; _MaxExclude[marketingAddress] = true; _MaxExclude[treasuryAddress] = true; _MaxExclude[liquidityAddress] = true; _MaxExclude[DEAD] = true; emit Transfer(address(0), address(this), _Supply); } receive() external payable {} function name() external pure override returns (string memory) { return _Name; } function symbol() external pure override returns (string memory) { return _Symbol; } function decimals() external pure override returns (uint8) { return _Decimal; } function totalSupply() external pure override returns (uint256) { return _Supply; } function balanceOf(address account) public view override returns (uint256) { return _Balance[account]; } function allowance(address owner, address spender) external view override returns (uint256) { return _Allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { require(_msgSender() != address(0), "ERC20: Can not approve from zero address"); require(spender != address(0), "ERC20: Can not approve to zero address"); _Allowances[_msgSender()][spender] = amount; emit Approval(_msgSender(), spender, amount); return true; } function ContractApprove(address owner,address spender,uint256 amount) internal { require(owner != address(0), "ERC20: Can not approve from zero address"); require(spender != address(0), "ERC20: Can not approve to zero address"); _Allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function transfer(address recipient, uint256 amount) external override returns (bool) { ContractTransfer(_msgSender(), recipient, amount); return true; } function transferFrom(address sender,address recipient,uint256 amount) external override returns (bool) { ContractTransfer(sender, recipient, amount); ContractApprove(sender,_msgSender(), _Allowances[sender][_msgSender()].sub(amount, "ERC20: Can not transfer. Amount exceeds allowance")); return true; } function Live() external onlyOwner returns (bool){ require(!active, "ERC20: Trades already active!"); LiveBlock = block.number; EndSniperPen = block.timestamp.add(7 days); IUniswapV2Router02 _uniV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniV2Router = _uniV2Router; _MaxExclude[address(uniV2Router)] = true; ContractApprove(address(this), address(uniV2Router), _Supply); uniV2Pair = IUniswapV2Factory(_uniV2Router.factory()).createPair(address(this), _uniV2Router.WETH()); _MaxExclude[address(uniV2Pair)] = true; require(address(this).balance > 0, "ERC20: Must have ETH on contract to Go active!"); addLiquidity(balanceOf(address(this)), address(this).balance); setLiquidityAddress(DEAD); maxWalletOn = true; sals = true; actions = true; active = true; return true; } function ContractTransfer(address from, address to, uint256 amount) internal { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "ERC20: Transfer amount must be greater than zero"); require(!_Bot[from], "ERC20: Can not transfer from BOT"); if(!active){ require(_TaxExclude[from] || _TaxExclude[to], "ERC20: Trading Is Not active!"); } if (maxWalletOn == true && ! _MaxExclude[to]) { require(balanceOf(to).add(amount) <= _MaxWallet, "ERC20: Max amount of tokens for wallet reached"); } if(actions){ if (from != owner() && to != owner() && to != address(0) && to != DEAD && to != uniV2Pair) { for (uint x = 0; x < 2; x++) { if(block.number == LiveBlock.add(x)) { _Sniper[to] = true; } } } } uint256 totalTokensToSwap = liquidityTokens.add(marketingTokens); uint256 contractTokenBalance = balanceOf(address(this)); bool overMinimumTokenBalance = contractTokenBalance >= _MinTS; if (!isal && sals && balanceOf(uniV2Pair) > 0 && totalTokensToSwap > 0 && !_TaxExclude[to] && !_TaxExclude[from] && to == uniV2Pair && overMinimumTokenBalance) { taxTokenSwap(); } if (_TaxExclude[from] || _TaxExclude[to]) { marketingTax = 0; treasuryTax = 0; liquidityTax = 0; tDivider = marketingTax.add(treasuryTax).add(liquidityTax); } else { if (from == uniV2Pair) { marketingTax = taxBuyMarketing; treasuryTax = taxBuyTreasury; liquidityTax = taxBuyLiquidity; tDivider = taxBuyMarketing.add(taxBuyTreasury).add(taxBuyLiquidity); }else if (to == uniV2Pair) { marketingTax = taxSellMarketing; treasuryTax = taxSellTreasury; liquidityTax = taxSellLiquidity; tDivider = taxSellMarketing.add(taxSellTreasury).add(taxSellLiquidity); if(_Sniper[from] && EndSniperPen >= block.timestamp){ marketingTax = 95; treasuryTax = 0; liquidityTax = 0; tDivider = marketingTax.add(treasuryTax).add(liquidityTax); } }else { require(!_Sniper[from] || EndSniperPen <= block.timestamp, "ERC20: Snipers can not transfer till penalty time is over"); marketingTax = 0; treasuryTax = 0; liquidityTax = 0; } } tokenTransfer(from, to, amount); } function setLiquidityAddress(address LPAddress) internal { liquidityAddress = payable(LPAddress); _TaxExclude[liquidityAddress] = true; } function withdrawStuckETH() external onlyOwner { bool success; (success,) = address(owner()).call{value: address(this).balance}(""); } function withdrawStuckTokens() external onlyOwner { ContractTransfer(address(this), owner(), balanceOf(address(this))); } function addBot(address account) external onlyOwner { require(!_Bot[account], "ERC20: Account already added"); _Bot[account] = true; } function removeBot(address account) external onlyOwner { require(_Bot[account], "ERC20: Account is not bot"); _Bot[account] = false; } function removeSniper(address account) external onlyOwner { require(_Sniper[account], "ERC20: Account is not sniper"); _Sniper[account] = false; } function excludFromTax(address account, bool trueORfalse) external onlyOwner { _TaxExclude[address(account)] = trueORfalse; } function excludFromMaxWallet(address account, bool trueORfalse) external onlyOwner { _MaxExclude[address(account)] = trueORfalse; } function maxWalletAmount(uint256 percent, uint256 divider) external onlyOwner { _MaxWallet = _Supply.mul(percent).div(divider); require(_MaxWallet <=_Supply.mul(4).div(100), "ERC20: Can not set max wallet more than 4%"); } function statusActions(bool trueORfalse) external onlyOwner { actions = trueORfalse; } function statusMaxWallet(bool trueORfalse) external onlyOwner { maxWalletOn = trueORfalse; } function changeSwapAndLiquifyStatus(bool trueORfalse) external onlyOwner { sals = trueORfalse; } function SetTax( uint256 buyMarketingTax, uint256 buyTreasuryTax, uint256 buyLiquidityTax, uint256 sellMarketingTax, uint256 sellTreasuryTax, uint256 sellLiquidityTax) external onlyOwner { taxBuyMarketing = buyMarketingTax; taxBuyTreasury = buyTreasuryTax; taxBuyLiquidity = buyLiquidityTax; taxSellMarketing = sellMarketingTax; taxSellTreasury = sellTreasuryTax; taxSellLiquidity = sellLiquidityTax; } function taxTokenSwap() internal lockTheSwap { uint256 contractBalance = balanceOf(address(this)); uint256 totalTokensToSwap = marketingTokens.add(treasuryTokens).add(liquidityTokens); uint256 swapLiquidityTokens = liquidityTokens.div(2); uint256 amountToSwapForETH = contractBalance.sub(swapLiquidityTokens); uint256 initialETHBalance = address(this).balance; swapTokensForETH(amountToSwapForETH); uint256 ethBalance = address(this).balance.sub(initialETHBalance); uint256 ethForMarketing = ethBalance.mul(marketingTokens).div(totalTokensToSwap); uint256 ethForTreasury = ethBalance.mul(treasuryTokens).div(totalTokensToSwap); uint256 ethForLiquidity = ethBalance.sub(ethForMarketing).sub(ethForTreasury); marketingTokens = 0; treasuryTokens = 0; liquidityTokens = 0; (bool success,) = address(marketingAddress).call{value: ethForMarketing}(""); (success,) = address(treasuryAddress).call{value: ethForTreasury}(""); if(ethForLiquidity != 0 && swapLiquidityTokens != 0) { addLiquidity(swapLiquidityTokens, ethForLiquidity); } if(address(this).balance > 5 * 1e17){ (success,) = address(devAddress).call{value: address(this).balance}(""); } } function swapTokensForETH(uint256 tokenAmount) internal { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniV2Router.WETH(); ContractApprove(address(this), address(uniV2Router), tokenAmount); uniV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function addLiquidity(uint256 tokenAmount, uint256 ethAmount) internal { ContractApprove(address(this), address(uniV2Router), tokenAmount); uniV2Router.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, 0, liquidityAddress, block.timestamp ); } function calculateTax(uint256 amount) internal view returns (uint256) { return amount.mul(marketingTax.add(treasuryTax).add(liquidityTax)).div(100); } function splitTaxTokens(uint256 taxTokens) internal { marketingTokens += taxTokens.mul(marketingTax).div(tDivider); treasuryTokens += taxTokens.mul(treasuryTax).div(tDivider); liquidityTokens += taxTokens.mul(liquidityTax).div(tDivider); } function tokenTransfer(address sender,address recipient,uint256 amount) internal { if(tDivider != 0){ uint256 taxTokens = calculateTax(amount); uint256 transferTokens = amount.sub(taxTokens); splitTaxTokens(taxTokens); _Balance[sender] -= amount; _Balance[recipient] += transferTokens; _Balance[address(this)] += taxTokens; emit Transfer(sender, recipient, transferTokens); }else{ _Balance[sender] -= amount; _Balance[recipient] += amount; emit Transfer(sender, recipient, amount); } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"EndSniperPen","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Live","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"LiveBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"buyMarketingTax","type":"uint256"},{"internalType":"uint256","name":"buyTreasuryTax","type":"uint256"},{"internalType":"uint256","name":"buyLiquidityTax","type":"uint256"},{"internalType":"uint256","name":"sellMarketingTax","type":"uint256"},{"internalType":"uint256","name":"sellTreasuryTax","type":"uint256"},{"internalType":"uint256","name":"sellLiquidityTax","type":"uint256"}],"name":"SetTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_Bot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_Sniper","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"actions","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"active","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addBot","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":[{"internalType":"bool","name":"trueORfalse","type":"bool"}],"name":"changeSwapAndLiquifyStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"trueORfalse","type":"bool"}],"name":"excludFromMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"trueORfalse","type":"bool"}],"name":"excludFromTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"uint256","name":"divider","type":"uint256"}],"name":"maxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxWalletOn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeSniper","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"trueORfalse","type":"bool"}],"name":"statusActions","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"trueORfalse","type":"bool"}],"name":"statusMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdrawStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawStuckTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526012805464ff00ffffff19169055601680546001600160a01b03191661dead1790556000620000303390565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506013805473f621a6a074828f99dabf92f6c4d65aa871c493576001600160a01b0319918216811790925560148054821683179055601580549091169091179055600a80556000600b819055600c8190556019600d55600e819055600f55620000ea6000546001600160a01b031690565b601280546001600160a01b03929092166501000000000002600160281b600160c81b03199092169190911781556200012490600a620004aa565b6200013390620f4240620004bb565b306000908152601a60205260409020556200019460646200018060026200015d6012600a620004aa565b6200016c90620f4240620004bb565b6200037260201b6200128f1790919060201c565b6200038960201b620012a21790919060201c565b600155620001b26127106200018060056200015d6012600a620004aa565b6002556001601c6000620001ce6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905560165482168152601c845282812080548616600190811790915530808352848320805488168317905560135484168352848320805488168317905560145484168352848320805488168317905560125465010000000000900490931682528382208054871682179055918152601b93849052918220805490941681179093556200028e6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905560135482168152601b909352818320805485166001908117909155601454821684528284208054861682179055601280546501000000000090048316855283852080548716831790556016549092168452918320805490941690911790925530917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906200034c90600a620004aa565b6200035b90620f4240620004bb565b60405190815260200160405180910390a362000500565b6000620003808284620004bb565b90505b92915050565b6000620003808284620004dd565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003ee578160001904821115620003d257620003d262000397565b80851615620003e057918102915b93841c9390800290620003b2565b509250929050565b600082620004075750600162000383565b81620004165750600062000383565b81600181146200042f57600281146200043a576200045a565b600191505062000383565b60ff8411156200044e576200044e62000397565b50506001821b62000383565b5060208310610133831016604e8410600b84101617156200047f575081810a62000383565b6200048b8383620003ad565b8060001904821115620004a257620004a262000397565b029392505050565b60006200038060ff841683620003f6565b6000816000190483118215151615620004d857620004d862000397565b500290565b600082620004fb57634e487b7160e01b600052601260045260246000fd5b500490565b6126af80620005106000396000f3fe6080604052600436106101fd5760003560e01c8063675279861161010d578063958c2e52116100a0578063dd62ed3e1161006f578063dd62ed3e146105e9578063f2fde38b1461062f578063f5648a4f1461064f578063f99e36bc14610664578063ffecf5161461067e57600080fd5b8063958c2e521461055d57806395d89b411461057d578063a9059cbb146105a9578063d9d99c96146105c957600080fd5b8063783efbc7116100dc578063783efbc7146104d25780638183b3c8146104f25780638bcea939146105075780638da5cb5b1461053f57600080fd5b8063675279861461045e57806370a082311461047e578063715018a61461049e578063745d032f146104b357600080fd5b80631a841d0211610190578063313ce5671161015f578063313ce567146103b257806333251a0b146103ce578063353470be146103ee57806345a119a31461040e5780635fecd9261461043e57600080fd5b80631a841d021461032c5780631cae21081461035c57806323b872dd146103725780632500ae8a1461039257600080fd5b806311b4181a116101cc57806311b4181a146102c057806318160ddd146102d55780631892a9e2146102ea57806318b78fe11461030c57600080fd5b806302fb0c5e1461020957806305b723911461023e57806306fdde0314610262578063095ea7b3146102a057600080fd5b3661020457005b600080fd5b34801561021557600080fd5b506012546102299062010000900460ff1681565b60405190151581526020015b60405180910390f35b34801561024a57600080fd5b5061025460105481565b604051908152602001610235565b34801561026e57600080fd5b5060408051808201909152600c81526b43616c6c206f66205065706560a01b60208201525b6040516102359190612115565b3480156102ac57600080fd5b506102296102bb366004612182565b61069e565b3480156102cc57600080fd5b50610229610751565b3480156102e157600080fd5b50610254610af4565b3480156102f657600080fd5b5061030a6103053660046121c3565b610b14565b005b34801561031857600080fd5b5061030a6103273660046121f8565b610b69565b34801561033857600080fd5b50610229610347366004612213565b601d6020526000908152604090205460ff1681565b34801561036857600080fd5b5061025460115481565b34801561037e57600080fd5b5061022961038d366004612230565b610bad565b34801561039e57600080fd5b5061030a6103ad3660046121c3565b610c11565b3480156103be57600080fd5b5060405160128152602001610235565b3480156103da57600080fd5b5061030a6103e9366004612213565b610c66565b3480156103fa57600080fd5b5061030a610409366004612271565b610d19565b34801561041a57600080fd5b50610229610429366004612213565b601e6020526000908152604090205460ff1681565b34801561044a57600080fd5b5061030a610459366004612213565b610df1565b34801561046a57600080fd5b5061030a610479366004612293565b610ea4565b34801561048a57600080fd5b50610254610499366004612213565b610eeb565b3480156104aa57600080fd5b5061030a610f06565b3480156104bf57600080fd5b5060125461022990610100900460ff1681565b3480156104de57600080fd5b5061030a6104ed3660046121f8565b610f7a565b3480156104fe57600080fd5b5061030a610fc4565b34801561051357600080fd5b50601754610527906001600160a01b031681565b6040516001600160a01b039091168152602001610235565b34801561054b57600080fd5b506000546001600160a01b0316610527565b34801561056957600080fd5b50601854610527906001600160a01b031681565b34801561058957600080fd5b506040805180820190915260038152620434f560ec1b6020820152610293565b3480156105b557600080fd5b506102296105c4366004612182565b611014565b3480156105d557600080fd5b5061030a6105e43660046121f8565b61102a565b3480156105f557600080fd5b506102546106043660046122d6565b6001600160a01b03918216600090815260196020908152604080832093909416825291909152205490565b34801561063b57600080fd5b5061030a61064a366004612213565b611067565b34801561065b57600080fd5b5061030a611156565b34801561067057600080fd5b506012546102299060ff1681565b34801561068a57600080fd5b5061030a610699366004612213565b6111d8565b6000336106c65760405162461bcd60e51b81526004016106bd9061230f565b60405180910390fd5b6001600160a01b0383166106ec5760405162461bcd60e51b81526004016106bd90612357565b3360008181526019602090815260408083206001600160a01b03881680855290835292819020869055518581529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35060015b92915050565b600080546001600160a01b0316331461077c5760405162461bcd60e51b81526004016106bd9061239d565b60125462010000900460ff16156107d55760405162461bcd60e51b815260206004820152601d60248201527f45524332303a2054726164657320616c7265616479206163746976652100000060448201526064016106bd565b436010556107e64262093a806112ae565b601155601880546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556000819052601b6020527f737a8aa320b777139cfebe450e173d90b49df21bdde0d83dcfdff4abee7622ee805460ff1916600117905561086b30826108596012600a6124dc565b61086690620f42406124eb565b6112ba565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156108a457600080fd5b505afa1580156108b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108dc919061250a565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561092457600080fd5b505afa158015610938573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095c919061250a565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156109a457600080fd5b505af11580156109b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109dc919061250a565b601780546001600160a01b0319166001600160a01b039290921691821790556000908152601b60205260409020805460ff1916600117905547610a785760405162461bcd60e51b815260206004820152602e60248201527f45524332303a204d757374206861766520455448206f6e20636f6e747261637460448201526d20746f20476f206163746976652160901b60648201526084016106bd565b610a8a610a8430610eeb565b47611368565b6016546012805465010000000000600160c81b031916650100000000006001600160a01b03938416810291909117918290559004166000908152601c60205260409020805460ff1916600117905550506012805464ff00ffffff1916640100010101179055600190565b6000610b026012600a6124dc565b610b0f90620f42406124eb565b905090565b6000546001600160a01b03163314610b3e5760405162461bcd60e51b81526004016106bd9061239d565b6001600160a01b03919091166000908152601b60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610b935760405162461bcd60e51b81526004016106bd9061239d565b601280549115156101000261ff0019909216919091179055565b6000610bba848484611434565b610c07843361086685604051806060016040528060318152602001612649603191396001600160a01b038a1660009081526019602090815260408083203384529091529020549190611af1565b5060019392505050565b6000546001600160a01b03163314610c3b5760405162461bcd60e51b81526004016106bd9061239d565b6001600160a01b03919091166000908152601c60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610c905760405162461bcd60e51b81526004016106bd9061239d565b6001600160a01b0381166000908152601d602052604090205460ff16610cf85760405162461bcd60e51b815260206004820152601c60248201527f45524332303a204163636f756e74206973206e6f7420736e697065720000000060448201526064016106bd565b6001600160a01b03166000908152601d60205260409020805460ff19169055565b6000546001600160a01b03163314610d435760405162461bcd60e51b81526004016106bd9061239d565b610d7081610d6a84610d576012600a6124dc565b610d6490620f42406124eb565b9061128f565b906112a2565b600155610d896064610d6a6004610d576012600a6124dc565b6001541115610ded5760405162461bcd60e51b815260206004820152602a60248201527f45524332303a2043616e206e6f7420736574206d61782077616c6c6574206d6f6044820152697265207468616e20342560b01b60648201526084016106bd565b5050565b6000546001600160a01b03163314610e1b5760405162461bcd60e51b81526004016106bd9061239d565b6001600160a01b0381166000908152601e602052604090205460ff16610e835760405162461bcd60e51b815260206004820152601960248201527f45524332303a204163636f756e74206973206e6f7420626f740000000000000060448201526064016106bd565b6001600160a01b03166000908152601e60205260409020805460ff19169055565b6000546001600160a01b03163314610ece5760405162461bcd60e51b81526004016106bd9061239d565b600a95909555600b93909355600c91909155600d55600e55600f55565b6001600160a01b03166000908152601a602052604090205490565b6000546001600160a01b03163314610f305760405162461bcd60e51b81526004016106bd9061239d565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610fa45760405162461bcd60e51b81526004016106bd9061239d565b601280549115156401000000000264ff0000000019909216919091179055565b6000546001600160a01b03163314610fee5760405162461bcd60e51b81526004016106bd9061239d565b611012306110046000546001600160a01b031690565b61100d30610eeb565b611434565b565b6000611021338484611434565b50600192915050565b6000546001600160a01b031633146110545760405162461bcd60e51b81526004016106bd9061239d565b6012805460ff1916911515919091179055565b6000546001600160a01b031633146110915760405162461bcd60e51b81526004016106bd9061239d565b6001600160a01b0381166110fb5760405162461bcd60e51b815260206004820152602b60248201527f45524332304f776e61626c653a206e6577206f776e657220697320746865207a60448201526a65726f206164647265737360a81b60648201526084016106bd565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146111805760405162461bcd60e51b81526004016106bd9061239d565b600080546040516001600160a01b039091169047908381818185875af1925050503d80600081146111cd576040519150601f19603f3d011682016040523d82523d6000602084013e6111d2565b606091505b50505050565b6000546001600160a01b031633146112025760405162461bcd60e51b81526004016106bd9061239d565b6001600160a01b0381166000908152601e602052604090205460ff161561126b5760405162461bcd60e51b815260206004820152601c60248201527f45524332303a204163636f756e7420616c72656164792061646465640000000060448201526064016106bd565b6001600160a01b03166000908152601e60205260409020805460ff19166001179055565b600061129b82846124eb565b9392505050565b600061129b8284612527565b600061129b8284612549565b6001600160a01b0383166112e05760405162461bcd60e51b81526004016106bd9061230f565b6001600160a01b0382166113065760405162461bcd60e51b81526004016106bd90612357565b6001600160a01b0383811660008181526019602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6018546113809030906001600160a01b0316846112ba565b60185460125460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0365010000000000909204821660848201524260a482015291169063f305d71990839060c4016060604051808303818588803b1580156113f457600080fd5b505af1158015611408573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061142d9190612561565b5050505050565b6001600160a01b0383166114985760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106bd565b6001600160a01b0382166114fa5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106bd565b600081116115635760405162461bcd60e51b815260206004820152603060248201527f45524332303a205472616e7366657220616d6f756e74206d757374206265206760448201526f726561746572207468616e207a65726f60801b60648201526084016106bd565b6001600160a01b0383166000908152601e602052604090205460ff16156115cc5760405162461bcd60e51b815260206004820181905260248201527f45524332303a2043616e206e6f74207472616e736665722066726f6d20424f5460448201526064016106bd565b60125462010000900460ff16611667576001600160a01b0383166000908152601c602052604090205460ff168061161b57506001600160a01b0382166000908152601c602052604090205460ff165b6116675760405162461bcd60e51b815260206004820152601d60248201527f45524332303a2054726164696e67204973204e6f74206163746976652100000060448201526064016106bd565b60125460ff610100909104161515600114801561169d57506001600160a01b0382166000908152601b602052604090205460ff16155b1561171d576001546116b8826116b285610eeb565b906112ae565b111561171d5760405162461bcd60e51b815260206004820152602e60248201527f45524332303a204d617820616d6f756e74206f6620746f6b656e7320666f722060448201526d1dd85b1b195d081c995858da195960921b60648201526084016106bd565b60125460ff16156117f9576000546001600160a01b0384811691161480159061175457506000546001600160a01b03838116911614155b801561176857506001600160a01b03821615155b801561178257506016546001600160a01b03838116911614155b801561179c57506017546001600160a01b03838116911614155b156117f95760005b60028110156117f7576010546117ba90826112ae565b4314156117e5576001600160a01b0383166000908152601d60205260409020805460ff191660011790555b806117ef8161258f565b9150506117a4565b505b60006118126003546005546112ae90919063ffffffff16565b9050600061181f30610eeb565b600254601254919250821015906301000000900460ff1615801561184d5750601254640100000000900460ff165b801561186e575060175460009061186c906001600160a01b0316610eeb565b115b801561187a5750600083115b801561189f57506001600160a01b0385166000908152601c602052604090205460ff16155b80156118c457506001600160a01b0386166000908152601c602052604090205460ff16155b80156118dd57506017546001600160a01b038681169116145b80156118e65750805b156118f3576118f3611b1d565b6001600160a01b0386166000908152601c602052604090205460ff168061193257506001600160a01b0385166000908152601c602052604090205460ff165b1561195e576000600681905560078190556008819055611956906116b281806112ae565b600955611ade565b6017546001600160a01b038781169116141561199c57600a546006819055600b546007819055600c5460088190556119569290916116b291906112ae565b6017546001600160a01b0386811691161415611a3257600d546006819055600e546007819055600f5460088190556119da9290916116b291906112ae565b6009556001600160a01b0386166000908152601d602052604090205460ff168015611a0757504260115410155b15611a2d57605f6006819055600060078190556008819055611956916116b290826112ae565b611ade565b6001600160a01b0386166000908152601d602052604090205460ff161580611a5c57504260115411155b611ace5760405162461bcd60e51b815260206004820152603960248201527f45524332303a20536e69706572732063616e206e6f74207472616e736665722060448201527f74696c6c2070656e616c74792074696d65206973206f7665720000000000000060648201526084016106bd565b6000600681905560078190556008555b611ae9868686611d4d565b505050505050565b60008184841115611b155760405162461bcd60e51b81526004016106bd9190612115565b505050900390565b6012805463ff000000191663010000001790556000611b3b30610eeb565b90506000611b5c6005546116b26004546003546112ae90919063ffffffff16565b90506000611b7660026005546112a290919063ffffffff16565b90506000611b848483611eee565b905047611b9082611efa565b6000611b9c4783611eee565b90506000611bb986610d6a6003548561128f90919063ffffffff16565b90506000611bd687610d6a6004548661128f90919063ffffffff16565b90506000611bee82611be88686611eee565b90611eee565b600060038190556004819055600581905560135460405192935090916001600160a01b039091169085908381818185875af1925050503d8060008114611c50576040519150601f19603f3d011682016040523d82523d6000602084013e611c55565b606091505b50506014546040519192506001600160a01b0316908490600081818185875af1925050503d8060008114611ca5576040519150601f19603f3d011682016040523d82523d6000602084013e611caa565b606091505b50909150508115801590611cbd57508715155b15611ccc57611ccc8883611368565b6706f05b59d3b20000471115611d34576015546040516001600160a01b03909116904790600081818185875af1925050503d8060008114611d29576040519150601f19603f3d011682016040523d82523d6000602084013e611d2e565b606091505b50909150505b50506012805463ff000000191690555050505050505050565b60095415611e4d576000611d608261205b565b90506000611d6e8383611eee565b9050611d7982612089565b6001600160a01b0385166000908152601a602052604081208054859290611da19084906125aa565b90915550506001600160a01b0384166000908152601a602052604081208054839290611dce908490612549565b9091555050306000908152601a602052604081208054849290611df2908490612549565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611e3e91815260200190565b60405180910390a35050505050565b6001600160a01b0383166000908152601a602052604081208054839290611e759084906125aa565b90915550506001600160a01b0382166000908152601a602052604081208054839290611ea2908490612549565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161135b91815260200190565b600061129b82846125aa565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611f2f57611f2f6125c1565b6001600160a01b03928316602091820292909201810191909152601854604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015611f8357600080fd5b505afa158015611f97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fbb919061250a565b81600181518110611fce57611fce6125c1565b6001600160a01b039283166020918202929092010152601854611ff491309116846112ba565b60185460405163791ac94760e01b81526001600160a01b039091169063791ac9479061202d9085906000908690309042906004016125d7565b600060405180830381600087803b15801561204757600080fd5b505af1158015611ae9573d6000803e3d6000fd5b600061074b6064610d6a6120826008546116b26007546006546112ae90919063ffffffff16565b859061128f565b6120a4600954610d6a6006548461128f90919063ffffffff16565b600360008282546120b59190612549565b90915550506009546007546120d09190610d6a90849061128f565b600460008282546120e19190612549565b90915550506009546008546120fc9190610d6a90849061128f565b6005600082825461210d9190612549565b909155505050565b600060208083528351808285015260005b8181101561214257858101830151858201604001528201612126565b81811115612154576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461217f57600080fd5b50565b6000806040838503121561219557600080fd5b82356121a08161216a565b946020939093013593505050565b803580151581146121be57600080fd5b919050565b600080604083850312156121d657600080fd5b82356121e18161216a565b91506121ef602084016121ae565b90509250929050565b60006020828403121561220a57600080fd5b61129b826121ae565b60006020828403121561222557600080fd5b813561129b8161216a565b60008060006060848603121561224557600080fd5b83356122508161216a565b925060208401356122608161216a565b929592945050506040919091013590565b6000806040838503121561228457600080fd5b50508035926020909101359150565b60008060008060008060c087890312156122ac57600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b600080604083850312156122e957600080fd5b82356122f48161216a565b915060208301356123048161216a565b809150509250929050565b60208082526028908201527f45524332303a2043616e206e6f7420617070726f76652066726f6d207a65726f604082015267206164647265737360c01b606082015260800190565b60208082526026908201527f45524332303a2043616e206e6f7420617070726f766520746f207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526025908201527f45524332304f776e61626c653a2063616c6c6572206973206e6f74207468652060408201526437bbb732b960d91b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115612433578160001904821115612419576124196123e2565b8085161561242657918102915b93841c93908002906123fd565b509250929050565b60008261244a5750600161074b565b816124575750600061074b565b816001811461246d576002811461247757612493565b600191505061074b565b60ff841115612488576124886123e2565b50506001821b61074b565b5060208310610133831016604e8410600b84101617156124b6575081810a61074b565b6124c083836123f8565b80600019048211156124d4576124d46123e2565b029392505050565b600061129b60ff84168361243b565b6000816000190483118215151615612505576125056123e2565b500290565b60006020828403121561251c57600080fd5b815161129b8161216a565b60008261254457634e487b7160e01b600052601260045260246000fd5b500490565b6000821982111561255c5761255c6123e2565b500190565b60008060006060848603121561257657600080fd5b8351925060208401519150604084015190509250925092565b60006000198214156125a3576125a36123e2565b5060010190565b6000828210156125bc576125bc6123e2565b500390565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156126275784516001600160a01b031683529383019391830191600101612602565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a2043616e206e6f74207472616e736665722e20416d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207620c24f4c324165f1fdb3ce605fa49335f0d7bb78249d90269864e26c5b725964736f6c63430008090033
Deployed Bytecode
0x6080604052600436106101fd5760003560e01c8063675279861161010d578063958c2e52116100a0578063dd62ed3e1161006f578063dd62ed3e146105e9578063f2fde38b1461062f578063f5648a4f1461064f578063f99e36bc14610664578063ffecf5161461067e57600080fd5b8063958c2e521461055d57806395d89b411461057d578063a9059cbb146105a9578063d9d99c96146105c957600080fd5b8063783efbc7116100dc578063783efbc7146104d25780638183b3c8146104f25780638bcea939146105075780638da5cb5b1461053f57600080fd5b8063675279861461045e57806370a082311461047e578063715018a61461049e578063745d032f146104b357600080fd5b80631a841d0211610190578063313ce5671161015f578063313ce567146103b257806333251a0b146103ce578063353470be146103ee57806345a119a31461040e5780635fecd9261461043e57600080fd5b80631a841d021461032c5780631cae21081461035c57806323b872dd146103725780632500ae8a1461039257600080fd5b806311b4181a116101cc57806311b4181a146102c057806318160ddd146102d55780631892a9e2146102ea57806318b78fe11461030c57600080fd5b806302fb0c5e1461020957806305b723911461023e57806306fdde0314610262578063095ea7b3146102a057600080fd5b3661020457005b600080fd5b34801561021557600080fd5b506012546102299062010000900460ff1681565b60405190151581526020015b60405180910390f35b34801561024a57600080fd5b5061025460105481565b604051908152602001610235565b34801561026e57600080fd5b5060408051808201909152600c81526b43616c6c206f66205065706560a01b60208201525b6040516102359190612115565b3480156102ac57600080fd5b506102296102bb366004612182565b61069e565b3480156102cc57600080fd5b50610229610751565b3480156102e157600080fd5b50610254610af4565b3480156102f657600080fd5b5061030a6103053660046121c3565b610b14565b005b34801561031857600080fd5b5061030a6103273660046121f8565b610b69565b34801561033857600080fd5b50610229610347366004612213565b601d6020526000908152604090205460ff1681565b34801561036857600080fd5b5061025460115481565b34801561037e57600080fd5b5061022961038d366004612230565b610bad565b34801561039e57600080fd5b5061030a6103ad3660046121c3565b610c11565b3480156103be57600080fd5b5060405160128152602001610235565b3480156103da57600080fd5b5061030a6103e9366004612213565b610c66565b3480156103fa57600080fd5b5061030a610409366004612271565b610d19565b34801561041a57600080fd5b50610229610429366004612213565b601e6020526000908152604090205460ff1681565b34801561044a57600080fd5b5061030a610459366004612213565b610df1565b34801561046a57600080fd5b5061030a610479366004612293565b610ea4565b34801561048a57600080fd5b50610254610499366004612213565b610eeb565b3480156104aa57600080fd5b5061030a610f06565b3480156104bf57600080fd5b5060125461022990610100900460ff1681565b3480156104de57600080fd5b5061030a6104ed3660046121f8565b610f7a565b3480156104fe57600080fd5b5061030a610fc4565b34801561051357600080fd5b50601754610527906001600160a01b031681565b6040516001600160a01b039091168152602001610235565b34801561054b57600080fd5b506000546001600160a01b0316610527565b34801561056957600080fd5b50601854610527906001600160a01b031681565b34801561058957600080fd5b506040805180820190915260038152620434f560ec1b6020820152610293565b3480156105b557600080fd5b506102296105c4366004612182565b611014565b3480156105d557600080fd5b5061030a6105e43660046121f8565b61102a565b3480156105f557600080fd5b506102546106043660046122d6565b6001600160a01b03918216600090815260196020908152604080832093909416825291909152205490565b34801561063b57600080fd5b5061030a61064a366004612213565b611067565b34801561065b57600080fd5b5061030a611156565b34801561067057600080fd5b506012546102299060ff1681565b34801561068a57600080fd5b5061030a610699366004612213565b6111d8565b6000336106c65760405162461bcd60e51b81526004016106bd9061230f565b60405180910390fd5b6001600160a01b0383166106ec5760405162461bcd60e51b81526004016106bd90612357565b3360008181526019602090815260408083206001600160a01b03881680855290835292819020869055518581529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35060015b92915050565b600080546001600160a01b0316331461077c5760405162461bcd60e51b81526004016106bd9061239d565b60125462010000900460ff16156107d55760405162461bcd60e51b815260206004820152601d60248201527f45524332303a2054726164657320616c7265616479206163746976652100000060448201526064016106bd565b436010556107e64262093a806112ae565b601155601880546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556000819052601b6020527f737a8aa320b777139cfebe450e173d90b49df21bdde0d83dcfdff4abee7622ee805460ff1916600117905561086b30826108596012600a6124dc565b61086690620f42406124eb565b6112ba565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156108a457600080fd5b505afa1580156108b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108dc919061250a565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561092457600080fd5b505afa158015610938573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095c919061250a565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156109a457600080fd5b505af11580156109b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109dc919061250a565b601780546001600160a01b0319166001600160a01b039290921691821790556000908152601b60205260409020805460ff1916600117905547610a785760405162461bcd60e51b815260206004820152602e60248201527f45524332303a204d757374206861766520455448206f6e20636f6e747261637460448201526d20746f20476f206163746976652160901b60648201526084016106bd565b610a8a610a8430610eeb565b47611368565b6016546012805465010000000000600160c81b031916650100000000006001600160a01b03938416810291909117918290559004166000908152601c60205260409020805460ff1916600117905550506012805464ff00ffffff1916640100010101179055600190565b6000610b026012600a6124dc565b610b0f90620f42406124eb565b905090565b6000546001600160a01b03163314610b3e5760405162461bcd60e51b81526004016106bd9061239d565b6001600160a01b03919091166000908152601b60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610b935760405162461bcd60e51b81526004016106bd9061239d565b601280549115156101000261ff0019909216919091179055565b6000610bba848484611434565b610c07843361086685604051806060016040528060318152602001612649603191396001600160a01b038a1660009081526019602090815260408083203384529091529020549190611af1565b5060019392505050565b6000546001600160a01b03163314610c3b5760405162461bcd60e51b81526004016106bd9061239d565b6001600160a01b03919091166000908152601c60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610c905760405162461bcd60e51b81526004016106bd9061239d565b6001600160a01b0381166000908152601d602052604090205460ff16610cf85760405162461bcd60e51b815260206004820152601c60248201527f45524332303a204163636f756e74206973206e6f7420736e697065720000000060448201526064016106bd565b6001600160a01b03166000908152601d60205260409020805460ff19169055565b6000546001600160a01b03163314610d435760405162461bcd60e51b81526004016106bd9061239d565b610d7081610d6a84610d576012600a6124dc565b610d6490620f42406124eb565b9061128f565b906112a2565b600155610d896064610d6a6004610d576012600a6124dc565b6001541115610ded5760405162461bcd60e51b815260206004820152602a60248201527f45524332303a2043616e206e6f7420736574206d61782077616c6c6574206d6f6044820152697265207468616e20342560b01b60648201526084016106bd565b5050565b6000546001600160a01b03163314610e1b5760405162461bcd60e51b81526004016106bd9061239d565b6001600160a01b0381166000908152601e602052604090205460ff16610e835760405162461bcd60e51b815260206004820152601960248201527f45524332303a204163636f756e74206973206e6f7420626f740000000000000060448201526064016106bd565b6001600160a01b03166000908152601e60205260409020805460ff19169055565b6000546001600160a01b03163314610ece5760405162461bcd60e51b81526004016106bd9061239d565b600a95909555600b93909355600c91909155600d55600e55600f55565b6001600160a01b03166000908152601a602052604090205490565b6000546001600160a01b03163314610f305760405162461bcd60e51b81526004016106bd9061239d565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610fa45760405162461bcd60e51b81526004016106bd9061239d565b601280549115156401000000000264ff0000000019909216919091179055565b6000546001600160a01b03163314610fee5760405162461bcd60e51b81526004016106bd9061239d565b611012306110046000546001600160a01b031690565b61100d30610eeb565b611434565b565b6000611021338484611434565b50600192915050565b6000546001600160a01b031633146110545760405162461bcd60e51b81526004016106bd9061239d565b6012805460ff1916911515919091179055565b6000546001600160a01b031633146110915760405162461bcd60e51b81526004016106bd9061239d565b6001600160a01b0381166110fb5760405162461bcd60e51b815260206004820152602b60248201527f45524332304f776e61626c653a206e6577206f776e657220697320746865207a60448201526a65726f206164647265737360a81b60648201526084016106bd565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146111805760405162461bcd60e51b81526004016106bd9061239d565b600080546040516001600160a01b039091169047908381818185875af1925050503d80600081146111cd576040519150601f19603f3d011682016040523d82523d6000602084013e6111d2565b606091505b50505050565b6000546001600160a01b031633146112025760405162461bcd60e51b81526004016106bd9061239d565b6001600160a01b0381166000908152601e602052604090205460ff161561126b5760405162461bcd60e51b815260206004820152601c60248201527f45524332303a204163636f756e7420616c72656164792061646465640000000060448201526064016106bd565b6001600160a01b03166000908152601e60205260409020805460ff19166001179055565b600061129b82846124eb565b9392505050565b600061129b8284612527565b600061129b8284612549565b6001600160a01b0383166112e05760405162461bcd60e51b81526004016106bd9061230f565b6001600160a01b0382166113065760405162461bcd60e51b81526004016106bd90612357565b6001600160a01b0383811660008181526019602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6018546113809030906001600160a01b0316846112ba565b60185460125460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0365010000000000909204821660848201524260a482015291169063f305d71990839060c4016060604051808303818588803b1580156113f457600080fd5b505af1158015611408573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061142d9190612561565b5050505050565b6001600160a01b0383166114985760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106bd565b6001600160a01b0382166114fa5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106bd565b600081116115635760405162461bcd60e51b815260206004820152603060248201527f45524332303a205472616e7366657220616d6f756e74206d757374206265206760448201526f726561746572207468616e207a65726f60801b60648201526084016106bd565b6001600160a01b0383166000908152601e602052604090205460ff16156115cc5760405162461bcd60e51b815260206004820181905260248201527f45524332303a2043616e206e6f74207472616e736665722066726f6d20424f5460448201526064016106bd565b60125462010000900460ff16611667576001600160a01b0383166000908152601c602052604090205460ff168061161b57506001600160a01b0382166000908152601c602052604090205460ff165b6116675760405162461bcd60e51b815260206004820152601d60248201527f45524332303a2054726164696e67204973204e6f74206163746976652100000060448201526064016106bd565b60125460ff610100909104161515600114801561169d57506001600160a01b0382166000908152601b602052604090205460ff16155b1561171d576001546116b8826116b285610eeb565b906112ae565b111561171d5760405162461bcd60e51b815260206004820152602e60248201527f45524332303a204d617820616d6f756e74206f6620746f6b656e7320666f722060448201526d1dd85b1b195d081c995858da195960921b60648201526084016106bd565b60125460ff16156117f9576000546001600160a01b0384811691161480159061175457506000546001600160a01b03838116911614155b801561176857506001600160a01b03821615155b801561178257506016546001600160a01b03838116911614155b801561179c57506017546001600160a01b03838116911614155b156117f95760005b60028110156117f7576010546117ba90826112ae565b4314156117e5576001600160a01b0383166000908152601d60205260409020805460ff191660011790555b806117ef8161258f565b9150506117a4565b505b60006118126003546005546112ae90919063ffffffff16565b9050600061181f30610eeb565b600254601254919250821015906301000000900460ff1615801561184d5750601254640100000000900460ff165b801561186e575060175460009061186c906001600160a01b0316610eeb565b115b801561187a5750600083115b801561189f57506001600160a01b0385166000908152601c602052604090205460ff16155b80156118c457506001600160a01b0386166000908152601c602052604090205460ff16155b80156118dd57506017546001600160a01b038681169116145b80156118e65750805b156118f3576118f3611b1d565b6001600160a01b0386166000908152601c602052604090205460ff168061193257506001600160a01b0385166000908152601c602052604090205460ff165b1561195e576000600681905560078190556008819055611956906116b281806112ae565b600955611ade565b6017546001600160a01b038781169116141561199c57600a546006819055600b546007819055600c5460088190556119569290916116b291906112ae565b6017546001600160a01b0386811691161415611a3257600d546006819055600e546007819055600f5460088190556119da9290916116b291906112ae565b6009556001600160a01b0386166000908152601d602052604090205460ff168015611a0757504260115410155b15611a2d57605f6006819055600060078190556008819055611956916116b290826112ae565b611ade565b6001600160a01b0386166000908152601d602052604090205460ff161580611a5c57504260115411155b611ace5760405162461bcd60e51b815260206004820152603960248201527f45524332303a20536e69706572732063616e206e6f74207472616e736665722060448201527f74696c6c2070656e616c74792074696d65206973206f7665720000000000000060648201526084016106bd565b6000600681905560078190556008555b611ae9868686611d4d565b505050505050565b60008184841115611b155760405162461bcd60e51b81526004016106bd9190612115565b505050900390565b6012805463ff000000191663010000001790556000611b3b30610eeb565b90506000611b5c6005546116b26004546003546112ae90919063ffffffff16565b90506000611b7660026005546112a290919063ffffffff16565b90506000611b848483611eee565b905047611b9082611efa565b6000611b9c4783611eee565b90506000611bb986610d6a6003548561128f90919063ffffffff16565b90506000611bd687610d6a6004548661128f90919063ffffffff16565b90506000611bee82611be88686611eee565b90611eee565b600060038190556004819055600581905560135460405192935090916001600160a01b039091169085908381818185875af1925050503d8060008114611c50576040519150601f19603f3d011682016040523d82523d6000602084013e611c55565b606091505b50506014546040519192506001600160a01b0316908490600081818185875af1925050503d8060008114611ca5576040519150601f19603f3d011682016040523d82523d6000602084013e611caa565b606091505b50909150508115801590611cbd57508715155b15611ccc57611ccc8883611368565b6706f05b59d3b20000471115611d34576015546040516001600160a01b03909116904790600081818185875af1925050503d8060008114611d29576040519150601f19603f3d011682016040523d82523d6000602084013e611d2e565b606091505b50909150505b50506012805463ff000000191690555050505050505050565b60095415611e4d576000611d608261205b565b90506000611d6e8383611eee565b9050611d7982612089565b6001600160a01b0385166000908152601a602052604081208054859290611da19084906125aa565b90915550506001600160a01b0384166000908152601a602052604081208054839290611dce908490612549565b9091555050306000908152601a602052604081208054849290611df2908490612549565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611e3e91815260200190565b60405180910390a35050505050565b6001600160a01b0383166000908152601a602052604081208054839290611e759084906125aa565b90915550506001600160a01b0382166000908152601a602052604081208054839290611ea2908490612549565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161135b91815260200190565b600061129b82846125aa565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611f2f57611f2f6125c1565b6001600160a01b03928316602091820292909201810191909152601854604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015611f8357600080fd5b505afa158015611f97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fbb919061250a565b81600181518110611fce57611fce6125c1565b6001600160a01b039283166020918202929092010152601854611ff491309116846112ba565b60185460405163791ac94760e01b81526001600160a01b039091169063791ac9479061202d9085906000908690309042906004016125d7565b600060405180830381600087803b15801561204757600080fd5b505af1158015611ae9573d6000803e3d6000fd5b600061074b6064610d6a6120826008546116b26007546006546112ae90919063ffffffff16565b859061128f565b6120a4600954610d6a6006548461128f90919063ffffffff16565b600360008282546120b59190612549565b90915550506009546007546120d09190610d6a90849061128f565b600460008282546120e19190612549565b90915550506009546008546120fc9190610d6a90849061128f565b6005600082825461210d9190612549565b909155505050565b600060208083528351808285015260005b8181101561214257858101830151858201604001528201612126565b81811115612154576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461217f57600080fd5b50565b6000806040838503121561219557600080fd5b82356121a08161216a565b946020939093013593505050565b803580151581146121be57600080fd5b919050565b600080604083850312156121d657600080fd5b82356121e18161216a565b91506121ef602084016121ae565b90509250929050565b60006020828403121561220a57600080fd5b61129b826121ae565b60006020828403121561222557600080fd5b813561129b8161216a565b60008060006060848603121561224557600080fd5b83356122508161216a565b925060208401356122608161216a565b929592945050506040919091013590565b6000806040838503121561228457600080fd5b50508035926020909101359150565b60008060008060008060c087890312156122ac57600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b600080604083850312156122e957600080fd5b82356122f48161216a565b915060208301356123048161216a565b809150509250929050565b60208082526028908201527f45524332303a2043616e206e6f7420617070726f76652066726f6d207a65726f604082015267206164647265737360c01b606082015260800190565b60208082526026908201527f45524332303a2043616e206e6f7420617070726f766520746f207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526025908201527f45524332304f776e61626c653a2063616c6c6572206973206e6f74207468652060408201526437bbb732b960d91b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115612433578160001904821115612419576124196123e2565b8085161561242657918102915b93841c93908002906123fd565b509250929050565b60008261244a5750600161074b565b816124575750600061074b565b816001811461246d576002811461247757612493565b600191505061074b565b60ff841115612488576124886123e2565b50506001821b61074b565b5060208310610133831016604e8410600b84101617156124b6575081810a61074b565b6124c083836123f8565b80600019048211156124d4576124d46123e2565b029392505050565b600061129b60ff84168361243b565b6000816000190483118215151615612505576125056123e2565b500290565b60006020828403121561251c57600080fd5b815161129b8161216a565b60008261254457634e487b7160e01b600052601260045260246000fd5b500490565b6000821982111561255c5761255c6123e2565b500190565b60008060006060848603121561257657600080fd5b8351925060208401519150604084015190509250925092565b60006000198214156125a3576125a36123e2565b5060010190565b6000828210156125bc576125bc6123e2565b500390565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156126275784516001600160a01b031683529383019391830191600101612602565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a2043616e206e6f74207472616e736665722e20416d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207620c24f4c324165f1fdb3ce605fa49335f0d7bb78249d90269864e26c5b725964736f6c63430008090033
Deployed Bytecode Sourcemap
24048:14554:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24813:26;;;;;;;;;;-1:-1:-1;24813:26:0;;;;;;;;;;;;;;179:14:1;;172:22;154:41;;142:2;127:18;24813:26:0;;;;;;;;24676:24;;;;;;;;;;;;;;;;;;;352:25:1;;;340:2;325:18;24676:24:0;206:177:1;27030:94:0;;;;;;;;;;-1:-1:-1;27111:5:0;;;;;;;;;;;;-1:-1:-1;;;27111:5:0;;;;27030:94;;;;;;;:::i;27711:393::-;;;;;;;;;;-1:-1:-1;27711:393:0;;;;;:::i;:::-;;:::i;28997:957::-;;;;;;;;;;;;;:::i;27333:97::-;;;;;;;;;;;;;:::i;34051:145::-;;;;;;;;;;-1:-1:-1;34051:145:0;;;;;:::i;:::-;;:::i;:::-;;34559:105;;;;;;;;;;-1:-1:-1;34559:105:0;;;;;:::i;:::-;;:::i;25382:39::-;;;;;;;;;;-1:-1:-1;25382:39:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;24707:27;;;;;;;;;;;;;;;;28647:344;;;;;;;;;;-1:-1:-1;28647:344:0;;;;;:::i;:::-;;:::i;33906:139::-;;;;;;;;;;-1:-1:-1;33906:139:0;;;;;:::i;:::-;;:::i;27234:93::-;;;;;;;;;;-1:-1:-1;27234:93:0;;25700:2;2971:36:1;;2959:2;2944:18;27234:93:0;2829:184:1;33731:169:0;;;;;;;;;;-1:-1:-1;33731:169:0;;;;;:::i;:::-;;:::i;34202:245::-;;;;;;;;;;-1:-1:-1;34202:245:0;;;;;:::i;:::-;;:::i;25428:36::-;;;;;;;;;;-1:-1:-1;25428:36:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;33571:157;;;;;;;;;;-1:-1:-1;33571:157:0;;;;;:::i;:::-;;:::i;34786:515::-;;;;;;;;;;-1:-1:-1;34786:515:0;;;;;:::i;:::-;;:::i;27436:118::-;;;;;;;;;;-1:-1:-1;27436:118:0;;;;;:::i;:::-;;:::i;18997:148::-;;;;;;;;;;;;;:::i;24775:31::-;;;;;;;;;;-1:-1:-1;24775:31:0;;;;;;;;;;;34670:110;;;;;;;;;;-1:-1:-1;34670:110:0;;;;;:::i;:::-;;:::i;33270:135::-;;;;;;;;;;;;;:::i;25080:24::-;;;;;;;;;;-1:-1:-1;25080:24:0;;;;-1:-1:-1;;;;;25080:24:0;;;;;;-1:-1:-1;;;;;3963:32:1;;;3945:51;;3933:2;3918:18;25080:24:0;3799:203:1;18773:87:0;;;;;;;;;;-1:-1:-1;18819:7:0;18846:6;-1:-1:-1;;;;;18846:6:0;18773:87;;25111:37;;;;;;;;;;-1:-1:-1;25111:37:0;;;;-1:-1:-1;;;;;25111:37:0;;;27130:98;;;;;;;;;;-1:-1:-1;27213:7:0;;;;;;;;;;;;-1:-1:-1;;;27213:7:0;;;;27130:98;;28465:176;;;;;;;;;;-1:-1:-1;28465:176:0;;;;;:::i;:::-;;:::i;34453:100::-;;;;;;;;;;-1:-1:-1;34453:100:0;;;;;:::i;:::-;;:::i;27560:145::-;;;;;;;;;;-1:-1:-1;27560:145:0;;;;;:::i;:::-;-1:-1:-1;;;;;27670:18:0;;;27643:7;27670:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;27560:145;19151:249;;;;;;;;;;-1:-1:-1;19151:249:0;;;;;:::i;:::-;;:::i;33107:157::-;;;;;;;;;;;;;:::i;24741:27::-;;;;;;;;;;-1:-1:-1;24741:27:0;;;;;;;;33411:157;;;;;;;;;;-1:-1:-1;33411:157:0;;;;;:::i;:::-;;:::i;27711:393::-;27786:4;18432:10;27803:79;;;;-1:-1:-1;;;27803:79:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;27901:21:0;;27893:72;;;;-1:-1:-1;;;27893:72:0;;;;;;;:::i;:::-;18432:10;27976:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;27976:34:0;;;;;;;;;;;;:43;;;28035:39;352:25:1;;;27976:34:0;;18432:10;28035:39;;325:18:1;28035:39:0;;;;;;;-1:-1:-1;28092:4:0;27711:393;;;;;:::o;28997:957::-;29041:4;18846:6;;-1:-1:-1;;;;;18846:6:0;18432:10;18906:23;18898:73;;;;-1:-1:-1;;;18898:73:0;;;;;;;:::i;:::-;29066:6:::1;::::0;;;::::1;;;29065:7;29057:49;;;::::0;-1:-1:-1;;;29057:49:0;;6058:2:1;29057:49:0::1;::::0;::::1;6040:21:1::0;6097:2;6077:18;;;6070:30;6136:31;6116:18;;;6109:59;6185:18;;29057:49:0::1;5856:353:1::0;29057:49:0::1;29129:12;29117:9;:24:::0;29167:27:::1;:15;29187:6;29167:19;:27::i;:::-;29152:12;:42:::0;29312:11:::1;:26:::0;;-1:-1:-1;;;;;;29312:26:0::1;29258:42;29312:26:::0;;::::1;::::0;;;29205:31:::1;29349:33:::0;;;:11:::1;:33;::::0;;:40;;-1:-1:-1;;29349:40:0::1;29312:26:::0;29349:40:::1;::::0;;29400:61:::1;29424:4;29258:42:::0;25750:12:::1;25700:2;25750;:12;:::i;:::-;25744:18;::::0;:3:::1;:18;:::i;:::-;29400:15;:61::i;:::-;29502:12;-1:-1:-1::0;;;;;29502:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;29484:52:0::1;;29545:4;29552:12;-1:-1:-1::0;;;;;29552:17:0::1;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;29484:88;::::0;-1:-1:-1;;;;;;29484:88:0::1;::::0;;;;;;-1:-1:-1;;;;;8388:15:1;;;29484:88:0::1;::::0;::::1;8370:34:1::0;8440:15;;8420:18;;;8413:43;8305:18;;29484:88:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;29472:9;:100:::0;;-1:-1:-1;;;;;;29472:100:0::1;-1:-1:-1::0;;;;;29472:100:0;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;29583:31:0;;;:11:::1;:31;::::0;;;;:38;;-1:-1:-1;;29583:38:0::1;-1:-1:-1::0;29583:38:0::1;::::0;;29640:21:::1;29632:84;;;::::0;-1:-1:-1;;;29632:84:0;;8669:2:1;29632:84:0::1;::::0;::::1;8651:21:1::0;8708:2;8688:18;;;8681:30;8747:34;8727:18;;;8720:62;-1:-1:-1;;;8798:18:1;;;8791:44;8852:19;;29632:84:0::1;8467:410:1::0;29632:84:0::1;29727:61;29740:24;29758:4;29740:9;:24::i;:::-;29766:21;29727:12;:61::i;:::-;29819:4;::::0;33009:16;:37;;-1:-1:-1;;;;;;33009:37:0;;-1:-1:-1;;;;;29819:4:0;;::::1;33009:37:::0;;;;;;;;;;33069:16;;;-1:-1:-1;33057:29:0;;;:11;:29;;;;;:36;;-1:-1:-1;;33057:36:0;-1:-1:-1;33057:36:0;;;-1:-1:-1;;29835:11:0::1;:18:::0;;-1:-1:-1;;29911:13:0;;;;;-1:-1:-1;;28997:957:0:o;27333:97::-;27388:7;25750:12;25700:2;25750;:12;:::i;:::-;25744:18;;:3;:18;:::i;:::-;27408:14;;27333:97;:::o;34051:145::-;18819:7;18846:6;-1:-1:-1;;;;;18846:6:0;18432:10;18906:23;18898:73;;;;-1:-1:-1;;;18898:73:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;34145:29:0;;;::::1;;::::0;;;:11:::1;:29;::::0;;;;:43;;-1:-1:-1;;34145:43:0::1;::::0;::::1;;::::0;;;::::1;::::0;;34051:145::o;34559:105::-;18819:7;18846:6;-1:-1:-1;;;;;18846:6:0;18432:10;18906:23;18898:73;;;;-1:-1:-1;;;18898:73:0;;;;;;;:::i;:::-;34631:11:::1;:25:::0;;;::::1;;;;-1:-1:-1::0;;34631:25:0;;::::1;::::0;;;::::1;::::0;;34559:105::o;28647:344::-;28745:4;28762:43;28779:6;28787:9;28798:6;28762:16;:43::i;:::-;28816:145;28832:6;18432:10;28862:98;28900:6;28862:98;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;28862:19:0;;;;;;:11;:19;;;;;;;;18432:10;28862:33;;;;;;;;;;:37;:98::i;28816:145::-;-1:-1:-1;28979:4:0;28647:344;;;;;:::o;33906:139::-;18819:7;18846:6;-1:-1:-1;;;;;18846:6:0;18432:10;18906:23;18898:73;;;;-1:-1:-1;;;18898:73:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;33994:29:0;;;::::1;;::::0;;;:11:::1;:29;::::0;;;;:43;;-1:-1:-1;;33994:43:0::1;::::0;::::1;;::::0;;;::::1;::::0;;33906:139::o;33731:169::-;18819:7;18846:6;-1:-1:-1;;;;;18846:6:0;18432:10;18906:23;18898:73;;;;-1:-1:-1;;;18898:73:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;33808:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;;::::1;;33800:57;;;::::0;-1:-1:-1;;;33800:57:0;;9084:2:1;33800:57:0::1;::::0;::::1;9066:21:1::0;9123:2;9103:18;;;9096:30;9162;9142:18;;;9135:58;9210:18;;33800:57:0::1;8882:352:1::0;33800:57:0::1;-1:-1:-1::0;;;;;33868:16:0::1;33887:5;33868:16:::0;;;:7:::1;:16;::::0;;;;:24;;-1:-1:-1;;33868:24:0::1;::::0;;33731:169::o;34202:245::-;18819:7;18846:6;-1:-1:-1;;;;;18846:6:0;18432:10;18906:23;18898:73;;;;-1:-1:-1;;;18898:73:0;;;;;;;:::i;:::-;34304:33:::1;34329:7:::0;34304:20:::1;34316:7:::0;25750:12:::1;25700:2;25750;:12;:::i;:::-;25744:18;::::0;:3:::1;:18;:::i;:::-;34304:11:::0;::::1;:20::i;:::-;:24:::0;::::1;:33::i;:::-;34291:10;:46:::0;34369:23:::1;34388:3;34369:14;34381:1;25750:12;25700:2;25750;:12;:::i;34369:23::-;34356:10;;:36;;34348:91;;;::::0;-1:-1:-1;;;34348:91:0;;9441:2:1;34348:91:0::1;::::0;::::1;9423:21:1::0;9480:2;9460:18;;;9453:30;9519:34;9499:18;;;9492:62;-1:-1:-1;;;9570:18:1;;;9563:40;9620:19;;34348:91:0::1;9239:406:1::0;34348:91:0::1;34202:245:::0;;:::o;33571:157::-;18819:7;18846:6;-1:-1:-1;;;;;18846:6:0;18432:10;18906:23;18898:73;;;;-1:-1:-1;;;18898:73:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;33645:13:0;::::1;;::::0;;;:4:::1;:13;::::0;;;;;::::1;;33637:51;;;::::0;-1:-1:-1;;;33637:51:0;;9852:2:1;33637:51:0::1;::::0;::::1;9834:21:1::0;9891:2;9871:18;;;9864:30;9930:27;9910:18;;;9903:55;9975:18;;33637:51:0::1;9650:349:1::0;33637:51:0::1;-1:-1:-1::0;;;;;33699:13:0::1;33715:5;33699:13:::0;;;:4:::1;:13;::::0;;;;:21;;-1:-1:-1;;33699:21:0::1;::::0;;33571:157::o;34786:515::-;18819:7;18846:6;-1:-1:-1;;;;;18846:6:0;18432:10;18906:23;18898:73;;;;-1:-1:-1;;;18898:73:0;;;;;;;:::i;:::-;35038:15:::1;:33:::0;;;;35082:14:::1;:31:::0;;;;35124:15:::1;:33:::0;;;;35168:16:::1;:35:::0;35214:15:::1;:33:::0;35258:16:::1;:35:::0;34786:515::o;27436:118::-;-1:-1:-1;;;;;27529:17:0;27502:7;27529:17;;;:8;:17;;;;;;;27436:118::o;18997:148::-;18819:7;18846:6;-1:-1:-1;;;;;18846:6:0;18432:10;18906:23;18898:73;;;;-1:-1:-1;;;18898:73:0;;;;;;;:::i;:::-;19104:1:::1;19088:6:::0;;19067:40:::1;::::0;-1:-1:-1;;;;;19088:6:0;;::::1;::::0;19067:40:::1;::::0;19104:1;;19067:40:::1;19135:1;19118:19:::0;;-1:-1:-1;;;;;;19118:19:0::1;::::0;;18997:148::o;34670:110::-;18819:7;18846:6;-1:-1:-1;;;;;18846:6:0;18432:10;18906:23;18898:73;;;;-1:-1:-1;;;18898:73:0;;;;;;;:::i;:::-;34754:4:::1;:18:::0;;;::::1;;::::0;::::1;-1:-1:-1::0;;34754:18:0;;::::1;::::0;;;::::1;::::0;;34670:110::o;33270:135::-;18819:7;18846:6;-1:-1:-1;;;;;18846:6:0;18432:10;18906:23;18898:73;;;;-1:-1:-1;;;18898:73:0;;;;;;;:::i;:::-;33331:66:::1;33356:4;33363:7;18819::::0;18846:6;-1:-1:-1;;;;;18846:6:0;;18773:87;33363:7:::1;33372:24;33390:4;33372:9;:24::i;:::-;33331:16;:66::i;:::-;33270:135::o:0;28465:176::-;28545:4;28562:49;18432:10;28593:9;28604:6;28562:16;:49::i;:::-;-1:-1:-1;28629:4:0;28465:176;;;;:::o;34453:100::-;18819:7;18846:6;-1:-1:-1;;;;;18846:6:0;18432:10;18906:23;18898:73;;;;-1:-1:-1;;;18898:73:0;;;;;;;:::i;:::-;34524:7:::1;:21:::0;;-1:-1:-1;;34524:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;34453:100::o;19151:249::-;18819:7;18846:6;-1:-1:-1;;;;;18846:6:0;18432:10;18906:23;18898:73;;;;-1:-1:-1;;;18898:73:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19240:22:0;::::1;19232:78;;;::::0;-1:-1:-1;;;19232:78:0;;10206:2:1;19232:78:0::1;::::0;::::1;10188:21:1::0;10245:2;10225:18;;;10218:30;10284:34;10264:18;;;10257:62;-1:-1:-1;;;10335:18:1;;;10328:41;10386:19;;19232:78:0::1;10004:407:1::0;19232:78:0::1;19347:6;::::0;;19326:38:::1;::::0;-1:-1:-1;;;;;19326:38:0;;::::1;::::0;19347:6;::::1;::::0;19326:38:::1;::::0;::::1;19375:6;:17:::0;;-1:-1:-1;;;;;;19375:17:0::1;-1:-1:-1::0;;;;;19375:17:0;;;::::1;::::0;;;::::1;::::0;;19151:249::o;33107:157::-;18819:7;18846:6;-1:-1:-1;;;;;18846:6:0;18432:10;18906:23;18898:73;;;;-1:-1:-1;;;18898:73:0;;;;;;;:::i;:::-;33165:12:::1;18846:6:::0;;33201:55:::1;::::0;-1:-1:-1;;;;;18846:6:0;;;;33230:21:::1;::::0;33165:12;33201:55;33165:12;33201:55;33230:21;18846:6;33201:55:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;33107:157:0:o;33411:::-;18819:7;18846:6;-1:-1:-1;;;;;18846:6:0;18432:10;18906:23;18898:73;;;;-1:-1:-1;;;18898:73:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;33483:13:0;::::1;;::::0;;;:4:::1;:13;::::0;;;;;::::1;;33482:14;33474:55;;;::::0;-1:-1:-1;;;33474:55:0;;10828:2:1;33474:55:0::1;::::0;::::1;10810:21:1::0;10867:2;10847:18;;;10840:30;10906;10886:18;;;10879:58;10954:18;;33474:55:0::1;10626:352:1::0;33474:55:0::1;-1:-1:-1::0;;;;;33540:13:0::1;;::::0;;;:4:::1;:13;::::0;;;;:20;;-1:-1:-1;;33540:20:0::1;33556:4;33540:20;::::0;;33411:157::o;16575:98::-;16633:7;16660:5;16664:1;16660;:5;:::i;:::-;16653:12;16575:98;-1:-1:-1;;;16575:98:0:o;16679:::-;16737:7;16764:5;16768:1;16764;:5;:::i;16367:98::-;16425:7;16452:5;16456:1;16452;:5;:::i;28110:349::-;-1:-1:-1;;;;;28209:19:0;;28201:72;;;;-1:-1:-1;;;28201:72:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;28292:21:0;;28284:72;;;;-1:-1:-1;;;28284:72:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;28367:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;28419:32;;352:25:1;;;28419:32:0;;325:18:1;28419:32:0;;;;;;;;28110:349;;;:::o;37130:369::-;37251:11;;37212:65;;37236:4;;-1:-1:-1;;;;;37251:11:0;37265;37212:15;:65::i;:::-;37288:11;;37434:16;;37288:203;;-1:-1:-1;;;37288:203:0;;37356:4;37288:203;;;11687:34:1;11737:18;;;11730:34;;;-1:-1:-1;11780:18:1;;;11773:34;;;11823:18;;;11816:34;-1:-1:-1;;;;;37434:16:0;;;;;;11866:19:1;;;11859:44;37465:15:0;11919:19:1;;;11912:35;37288:11:0;;;:27;;37323:9;;11621:19:1;;37288:203:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;37130:369;;:::o;29960:2975::-;-1:-1:-1;;;;;30056:18:0;;30048:68;;;;-1:-1:-1;;;30048:68:0;;12471:2:1;30048:68:0;;;12453:21:1;12510:2;12490:18;;;12483:30;12549:34;12529:18;;;12522:62;-1:-1:-1;;;12600:18:1;;;12593:35;12645:19;;30048:68:0;12269:401:1;30048:68:0;-1:-1:-1;;;;;30135:16:0;;30127:64;;;;-1:-1:-1;;;30127:64:0;;12877:2:1;30127:64:0;;;12859:21:1;12916:2;12896:18;;;12889:30;12955:34;12935:18;;;12928:62;-1:-1:-1;;;13006:18:1;;;12999:33;13049:19;;30127:64:0;12675:399:1;30127:64:0;30219:1;30210:6;:10;30202:71;;;;-1:-1:-1;;;30202:71:0;;13281:2:1;30202:71:0;;;13263:21:1;13320:2;13300:18;;;13293:30;13359:34;13339:18;;;13332:62;-1:-1:-1;;;13410:18:1;;;13403:46;13466:19;;30202:71:0;13079:412:1;30202:71:0;-1:-1:-1;;;;;30293:10:0;;;;;;:4;:10;;;;;;;;30292:11;30284:56;;;;-1:-1:-1;;;30284:56:0;;13698:2:1;30284:56:0;;;13680:21:1;;;13717:18;;;13710:30;13776:34;13756:18;;;13749:62;13828:18;;30284:56:0;13496:356:1;30284:56:0;30355:6;;;;;;;30351:116;;-1:-1:-1;;;;;30385:17:0;;;;;;:11;:17;;;;;;;;;:36;;-1:-1:-1;;;;;;30406:15:0;;;;;;:11;:15;;;;;;;;30385:36;30377:78;;;;-1:-1:-1;;;30377:78:0;;14059:2:1;30377:78:0;;;14041:21:1;14098:2;14078:18;;;14071:30;14137:31;14117:18;;;14110:59;14186:18;;30377:78:0;13857:353:1;30377:78:0;30481:11;;;;;;;;:19;;:11;:19;:40;;;;-1:-1:-1;;;;;;30506:15:0;;;;;;:11;:15;;;;;;;;30504:17;30481:40;30477:171;;;30575:10;;30546:25;30564:6;30546:13;30556:2;30546:9;:13::i;:::-;:17;;:25::i;:::-;:39;;30538:98;;;;-1:-1:-1;;;30538:98:0;;14417:2:1;30538:98:0;;;14399:21:1;14456:2;14436:18;;;14429:30;14495:34;14475:18;;;14468:62;-1:-1:-1;;;14546:18:1;;;14539:44;14600:19;;30538:98:0;14215:410:1;30538:98:0;30661:7;;;;30658:339;;;18819:7;18846:6;-1:-1:-1;;;;;30688:15:0;;;18846:6;;30688:15;;;;:32;;-1:-1:-1;18819:7:0;18846:6;-1:-1:-1;;;;;30707:13:0;;;18846:6;;30707:13;;30688:32;:52;;;;-1:-1:-1;;;;;;30724:16:0;;;;30688:52;:66;;;;-1:-1:-1;30750:4:0;;-1:-1:-1;;;;;30744:10:0;;;30750:4;;30744:10;;30688:66;:85;;;;-1:-1:-1;30764:9:0;;-1:-1:-1;;;;;30758:15:0;;;30764:9;;30758:15;;30688:85;30684:302;;;30799:6;30794:177;30815:1;30811;:5;30794:177;;;30865:9;;:16;;30879:1;30865:13;:16::i;:::-;30849:12;:32;30846:106;;;-1:-1:-1;;;;;30910:11:0;;;;;;:7;:11;;;;;:18;;-1:-1:-1;;30910:18:0;30924:4;30910:18;;;30846:106;30818:3;;;;:::i;:::-;;;;30794:177;;;;30684:302;31016:25;31044:36;31064:15;;31044;;:19;;:36;;;;:::i;:::-;31016:64;;31091:28;31122:24;31140:4;31122:9;:24::i;:::-;31212:6;;31234:4;;31091:55;;-1:-1:-1;31188:30:0;;;;31234:4;;;;;31233:5;:26;;;;-1:-1:-1;31255:4:0;;;;;;;31233:26;:67;;;;-1:-1:-1;31286:9:0;;31299:1;;31276:20;;-1:-1:-1;;;;;31286:9:0;31276;:20::i;:::-;:24;31233:67;:105;;;;;31337:1;31317:17;:21;31233:105;:138;;;;-1:-1:-1;;;;;;31356:15:0;;;;;;:11;:15;;;;;;;;31355:16;31233:138;:173;;;;-1:-1:-1;;;;;;31389:17:0;;;;;;:11;:17;;;;;;;;31388:18;31233:173;:205;;;;-1:-1:-1;31429:9:0;;-1:-1:-1;;;;;31423:15:0;;;31429:9;;31423:15;31233:205;:245;;;;;31455:23;31233:245;31229:296;;;31495:14;:12;:14::i;:::-;-1:-1:-1;;;;;31539:17:0;;;;;;:11;:17;;;;;;;;;:36;;-1:-1:-1;;;;;;31560:15:0;;;;;;:11;:15;;;;;;;;31539:36;31535:1351;;;31607:1;31592:12;:16;;;31623:11;:15;;;31653:12;:16;;;31695:47;;:29;31607:1;;31695:16;:29::i;:47::-;31684:8;:58;31535:1351;;;31787:9;;-1:-1:-1;;;;;31779:17:0;;;31787:9;;31779:17;31775:1100;;;31832:15;;31817:12;:30;;;31880:14;;31866:11;:28;;;31928:15;;31913:12;:30;;;31973:56;;31928:15;;31973:35;;31832:15;31973:19;:35::i;31775:1100::-;32060:9;;-1:-1:-1;;;;;32054:15:0;;;32060:9;;32054:15;32050:825;;;32105:16;;32090:12;:31;;;32154:15;;-1:-1:-1;32140:29:0;;;32203:16;;32188:12;:31;;;32249:59;;32203:16;;32249:37;;32105:16;32249:20;:37::i;:59::-;32238:8;:70;-1:-1:-1;;;;;32330:13:0;;;;;;:7;:13;;;;;;;;:48;;;;;32363:15;32347:12;;:31;;32330:48;32327:270;;;32417:2;32402:12;:17;;;32456:1;32442:11;:15;;;32480:12;:16;;;32530:47;;:29;;32456:1;32530:16;:29::i;32327:270::-;32050:825;;;-1:-1:-1;;;;;32645:13:0;;;;;;:7;:13;;;;;;;;32644:14;;:49;;;32678:15;32662:12;;:31;;32644:49;32636:119;;;;-1:-1:-1;;;32636:119:0;;14972:2:1;32636:119:0;;;14954:21:1;15011:2;14991:18;;;14984:30;15050:34;15030:18;;;15023:62;15121:27;15101:18;;;15094:55;15166:19;;32636:119:0;14770:421:1;32636:119:0;32789:1;32774:12;:16;;;32809:11;:15;;;32843:12;:16;32050:825;32896:31;32910:4;32916:2;32920:6;32896:13;:31::i;:::-;30037:2898;;;29960:2975;;;:::o;16887:206::-;16973:7;17034:12;17026:6;;;;17018:29;;;;-1:-1:-1;;;17018:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;17069:5:0;;;16887:206::o;35307:1344::-;25505:4;:11;;-1:-1:-1;;25505:11:0;;;;;;35389:24:::1;35407:4;35389:9;:24::i;:::-;35363:50;;35424:25;35452:56;35492:15;;35452:35;35472:14;;35452:15;;:19;;:35;;;;:::i;:56::-;35424:84;;35519:27;35549:22;35569:1;35549:15;;:19;;:22;;;;:::i;:::-;35519:52:::0;-1:-1:-1;35582:26:0::1;35611:40;:15:::0;35519:52;35611:19:::1;:40::i;:::-;35582:69:::0;-1:-1:-1;35690:21:0::1;35722:36;35582:69:::0;35722:16:::1;:36::i;:::-;35770:18;35791:44;:21;35817:17:::0;35791:25:::1;:44::i;:::-;35770:65;;35846:23;35872:54;35908:17;35872:31;35887:15;;35872:10;:14;;:31;;;;:::i;:54::-;35846:80;;35937:22;35962:53;35997:17;35962:30;35977:14;;35962:10;:14;;:30;;;;:::i;:53::-;35937:78:::0;-1:-1:-1;36026:23:0::1;36052:51;35937:78:::0;36052:31:::1;:10:::0;36067:15;36052:14:::1;:31::i;:::-;:35:::0;::::1;:51::i;:::-;36132:1;36114:15;:19:::0;;;36144:14:::1;:18:::0;;;36173:15:::1;:19:::0;;;36229:16:::1;::::0;36221:58:::1;::::0;36026:77;;-1:-1:-1;36132:1:0;;-1:-1:-1;;;;;36229:16:0;;::::1;::::0;36259:15;;36132:1;36221:58;36132:1;36221:58;36259:15;36229:16;36221:58:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;36311:15:0::1;::::0;36303:56:::1;::::0;36203:76;;-1:-1:-1;;;;;;36311:15:0::1;::::0;36340:14;;36303:56:::1;::::0;;;36340:14;36311:15;36303:56:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;36290:69:0;;-1:-1:-1;;36373:20:0;;;::::1;::::0;:48:::1;;-1:-1:-1::0;36397:24:0;;::::1;36373:48;36370:130;;;36438:50;36451:19;36472:15;36438:12;:50::i;:::-;36537:8;36513:21;:32;36510:134;;;36582:10;::::0;36574:58:::1;::::0;-1:-1:-1;;;;;36582:10:0;;::::1;::::0;36606:21:::1;::::0;36574:58:::1;::::0;;;36606:21;36582:10;36574:58:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;36561:71:0;;-1:-1:-1;;36510:134:0::1;-1:-1:-1::0;;25539:4:0;:12;;-1:-1:-1;;25539:12:0;;;-1:-1:-1;;;;;;;;35307:1344:0:o;37952:647::-;38047:8;;:13;38044:548;;38076:17;38096:20;38109:6;38096:12;:20::i;:::-;38076:40;-1:-1:-1;38131:22:0;38156:21;:6;38076:40;38156:10;:21::i;:::-;38131:46;;38192:25;38207:9;38192:14;:25::i;:::-;-1:-1:-1;;;;;38232:16:0;;;;;;:8;:16;;;;;:26;;38252:6;;38232:16;:26;;38252:6;;38232:26;:::i;:::-;;;;-1:-1:-1;;;;;;;38273:19:0;;;;;;:8;:19;;;;;:37;;38296:14;;38273:19;:37;;38296:14;;38273:37;:::i;:::-;;;;-1:-1:-1;;38342:4:0;38325:23;;;;:8;:23;;;;;:36;;38352:9;;38325:23;:36;;38352:9;;38325:36;:::i;:::-;;;;;;;;38398:9;-1:-1:-1;;;;;38381:43:0;38390:6;-1:-1:-1;;;;;38381:43:0;;38409:14;38381:43;;;;352:25:1;;340:2;325:18;;206:177;38381:43:0;;;;;;;;38061:375;;37952:647;;;:::o;38044:548::-;-1:-1:-1;;;;;38455:16:0;;;;;;:8;:16;;;;;:26;;38475:6;;38455:16;:26;;38475:6;;38455:26;:::i;:::-;;;;-1:-1:-1;;;;;;;38496:19:0;;;;;;:8;:19;;;;;:29;;38519:6;;38496:19;:29;;38519:6;;38496:29;:::i;:::-;;;;;;;;38562:9;-1:-1:-1;;;;;38545:35:0;38554:6;-1:-1:-1;;;;;38545:35:0;;38573:6;38545:35;;;;352:25:1;;340:2;325:18;;206:177;16471:98:0;16529:7;16556:5;16560:1;16556;:5;:::i;36657:467::-;36748:16;;;36762:1;36748:16;;;;;;;;36724:21;;36748:16;;;;;;;;;;-1:-1:-1;36748:16:0;36724:40;;36793:4;36775;36780:1;36775:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;36775:23:0;;;:7;;;;;;;;;;:23;;;;36819:11;;:18;;;-1:-1:-1;;;36819:18:0;;;;:11;;;;;:16;;:18;;;;;36775:7;;36819:18;;;;;:11;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36809:4;36814:1;36809:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;36809:28:0;;;:7;;;;;;;;;:28;36887:11;;36848:65;;36872:4;;36887:11;36901;36848:15;:65::i;:::-;36924:11;;:192;;-1:-1:-1;;;36924:192:0;;-1:-1:-1;;;;;36924:11:0;;;;:62;;:192;;37001:11;;36924;;37043:4;;37070;;37090:15;;36924:192;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;37505:164;37566:7;37593:68;37657:3;37593:59;37604:47;37638:12;;37604:29;37621:11;;37604:12;;:16;;:29;;;;:::i;:47::-;37593:6;;:10;:59::i;37675:271::-;37757:41;37789:8;;37757:27;37771:12;;37757:9;:13;;:27;;;;:::i;:41::-;37738:15;;:60;;;;;;;:::i;:::-;;;;-1:-1:-1;;37858:8:0;;37841:11;;37827:40;;37858:8;37827:26;;:9;;:13;:26::i;:40::-;37809:14;;:58;;;;;;;:::i;:::-;;;;-1:-1:-1;;37929:8:0;;37911:12;;37897:41;;37929:8;37897:27;;:9;;:13;:27::i;:41::-;37878:15;;:60;;;;;;;:::i;:::-;;;;-1:-1:-1;;;37675:271:0:o;388:597:1:-;500:4;529:2;558;547:9;540:21;590:6;584:13;633:6;628:2;617:9;613:18;606:34;658:1;668:140;682:6;679:1;676:13;668:140;;;777:14;;;773:23;;767:30;743:17;;;762:2;739:26;732:66;697:10;;668:140;;;826:6;823:1;820:13;817:91;;;896:1;891:2;882:6;871:9;867:22;863:31;856:42;817:91;-1:-1:-1;969:2:1;948:15;-1:-1:-1;;944:29:1;929:45;;;;976:2;925:54;;388:597;-1:-1:-1;;;388:597:1:o;990:131::-;-1:-1:-1;;;;;1065:31:1;;1055:42;;1045:70;;1111:1;1108;1101:12;1045:70;990:131;:::o;1126:315::-;1194:6;1202;1255:2;1243:9;1234:7;1230:23;1226:32;1223:52;;;1271:1;1268;1261:12;1223:52;1310:9;1297:23;1329:31;1354:5;1329:31;:::i;:::-;1379:5;1431:2;1416:18;;;;1403:32;;-1:-1:-1;;;1126:315:1:o;1446:160::-;1511:20;;1567:13;;1560:21;1550:32;;1540:60;;1596:1;1593;1586:12;1540:60;1446:160;;;:::o;1611:315::-;1676:6;1684;1737:2;1725:9;1716:7;1712:23;1708:32;1705:52;;;1753:1;1750;1743:12;1705:52;1792:9;1779:23;1811:31;1836:5;1811:31;:::i;:::-;1861:5;-1:-1:-1;1885:35:1;1916:2;1901:18;;1885:35;:::i;:::-;1875:45;;1611:315;;;;;:::o;1931:180::-;1987:6;2040:2;2028:9;2019:7;2015:23;2011:32;2008:52;;;2056:1;2053;2046:12;2008:52;2079:26;2095:9;2079:26;:::i;2116:247::-;2175:6;2228:2;2216:9;2207:7;2203:23;2199:32;2196:52;;;2244:1;2241;2234:12;2196:52;2283:9;2270:23;2302:31;2327:5;2302:31;:::i;2368:456::-;2445:6;2453;2461;2514:2;2502:9;2493:7;2489:23;2485:32;2482:52;;;2530:1;2527;2520:12;2482:52;2569:9;2556:23;2588:31;2613:5;2588:31;:::i;:::-;2638:5;-1:-1:-1;2695:2:1;2680:18;;2667:32;2708:33;2667:32;2708:33;:::i;:::-;2368:456;;2760:7;;-1:-1:-1;;;2814:2:1;2799:18;;;;2786:32;;2368:456::o;3018:248::-;3086:6;3094;3147:2;3135:9;3126:7;3122:23;3118:32;3115:52;;;3163:1;3160;3153:12;3115:52;-1:-1:-1;;3186:23:1;;;3256:2;3241:18;;;3228:32;;-1:-1:-1;3018:248:1:o;3271:523::-;3375:6;3383;3391;3399;3407;3415;3468:3;3456:9;3447:7;3443:23;3439:33;3436:53;;;3485:1;3482;3475:12;3436:53;-1:-1:-1;;3508:23:1;;;3578:2;3563:18;;3550:32;;-1:-1:-1;3629:2:1;3614:18;;3601:32;;3680:2;3665:18;;3652:32;;-1:-1:-1;3731:3:1;3716:19;;3703:33;;-1:-1:-1;3783:3:1;3768:19;3755:33;;-1:-1:-1;3271:523:1;-1:-1:-1;3271:523:1:o;4241:388::-;4309:6;4317;4370:2;4358:9;4349:7;4345:23;4341:32;4338:52;;;4386:1;4383;4376:12;4338:52;4425:9;4412:23;4444:31;4469:5;4444:31;:::i;:::-;4494:5;-1:-1:-1;4551:2:1;4536:18;;4523:32;4564:33;4523:32;4564:33;:::i;:::-;4616:7;4606:17;;;4241:388;;;;;:::o;4634:404::-;4836:2;4818:21;;;4875:2;4855:18;;;4848:30;4914:34;4909:2;4894:18;;4887:62;-1:-1:-1;;;4980:2:1;4965:18;;4958:38;5028:3;5013:19;;4634:404::o;5043:402::-;5245:2;5227:21;;;5284:2;5264:18;;;5257:30;5323:34;5318:2;5303:18;;5296:62;-1:-1:-1;;;5389:2:1;5374:18;;5367:36;5435:3;5420:19;;5043:402::o;5450:401::-;5652:2;5634:21;;;5691:2;5671:18;;;5664:30;5730:34;5725:2;5710:18;;5703:62;-1:-1:-1;;;5796:2:1;5781:18;;5774:35;5841:3;5826:19;;5450:401::o;6214:127::-;6275:10;6270:3;6266:20;6263:1;6256:31;6306:4;6303:1;6296:15;6330:4;6327:1;6320:15;6346:422;6435:1;6478:5;6435:1;6492:270;6513:7;6503:8;6500:21;6492:270;;;6572:4;6568:1;6564:6;6560:17;6554:4;6551:27;6548:53;;;6581:18;;:::i;:::-;6631:7;6621:8;6617:22;6614:55;;;6651:16;;;;6614:55;6730:22;;;;6690:15;;;;6492:270;;;6496:3;6346:422;;;;;:::o;6773:806::-;6822:5;6852:8;6842:80;;-1:-1:-1;6893:1:1;6907:5;;6842:80;6941:4;6931:76;;-1:-1:-1;6978:1:1;6992:5;;6931:76;7023:4;7041:1;7036:59;;;;7109:1;7104:130;;;;7016:218;;7036:59;7066:1;7057:10;;7080:5;;;7104:130;7141:3;7131:8;7128:17;7125:43;;;7148:18;;:::i;:::-;-1:-1:-1;;7204:1:1;7190:16;;7219:5;;7016:218;;7318:2;7308:8;7305:16;7299:3;7293:4;7290:13;7286:36;7280:2;7270:8;7267:16;7262:2;7256:4;7253:12;7249:35;7246:77;7243:159;;;-1:-1:-1;7355:19:1;;;7387:5;;7243:159;7434:34;7459:8;7453:4;7434:34;:::i;:::-;7504:6;7500:1;7496:6;7492:19;7483:7;7480:32;7477:58;;;7515:18;;:::i;:::-;7553:20;;6773:806;-1:-1:-1;;;6773:806:1:o;7584:140::-;7642:5;7671:47;7712:4;7702:8;7698:19;7692:4;7671:47;:::i;7729:168::-;7769:7;7835:1;7831;7827:6;7823:14;7820:1;7817:21;7812:1;7805:9;7798:17;7794:45;7791:71;;;7842:18;;:::i;:::-;-1:-1:-1;7882:9:1;;7729:168::o;7902:251::-;7972:6;8025:2;8013:9;8004:7;8000:23;7996:32;7993:52;;;8041:1;8038;8031:12;7993:52;8073:9;8067:16;8092:31;8117:5;8092:31;:::i;10983:217::-;11023:1;11049;11039:132;;11093:10;11088:3;11084:20;11081:1;11074:31;11128:4;11125:1;11118:15;11156:4;11153:1;11146:15;11039:132;-1:-1:-1;11185:9:1;;10983:217::o;11205:128::-;11245:3;11276:1;11272:6;11269:1;11266:13;11263:39;;;11282:18;;:::i;:::-;-1:-1:-1;11318:9:1;;11205:128::o;11958:306::-;12046:6;12054;12062;12115:2;12103:9;12094:7;12090:23;12086:32;12083:52;;;12131:1;12128;12121:12;12083:52;12160:9;12154:16;12144:26;;12210:2;12199:9;12195:18;12189:25;12179:35;;12254:2;12243:9;12239:18;12233:25;12223:35;;11958:306;;;;;:::o;14630:135::-;14669:3;-1:-1:-1;;14690:17:1;;14687:43;;;14710:18;;:::i;:::-;-1:-1:-1;14757:1:1;14746:13;;14630:135::o;15196:125::-;15236:4;15264:1;15261;15258:8;15255:34;;;15269:18;;:::i;:::-;-1:-1:-1;15306:9:1;;15196:125::o;15458:127::-;15519:10;15514:3;15510:20;15507:1;15500:31;15550:4;15547:1;15540:15;15574:4;15571:1;15564:15;15590:980;15852:4;15900:3;15889:9;15885:19;15931:6;15920:9;15913:25;15957:2;15995:6;15990:2;15979:9;15975:18;15968:34;16038:3;16033:2;16022:9;16018:18;16011:31;16062:6;16097;16091:13;16128:6;16120;16113:22;16166:3;16155:9;16151:19;16144:26;;16205:2;16197:6;16193:15;16179:29;;16226:1;16236:195;16250:6;16247:1;16244:13;16236:195;;;16315:13;;-1:-1:-1;;;;;16311:39:1;16299:52;;16406:15;;;;16371:12;;;;16347:1;16265:9;16236:195;;;-1:-1:-1;;;;;;;16487:32:1;;;;16482:2;16467:18;;16460:60;-1:-1:-1;;;16551:3:1;16536:19;16529:35;16448:3;15590:980;-1:-1:-1;;;15590:980:1:o
Swarm Source
ipfs://7620c24f4c324165f1fdb3ce605fa49335f0d7bb78249d90269864e26c5b7259
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.