Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 35 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 19690558 | 267 days ago | IN | 0 ETH | 0.00088281 | ||||
Approve | 18230338 | 472 days ago | IN | 0 ETH | 0.00031503 | ||||
Approve | 18195755 | 477 days ago | IN | 0 ETH | 0.00063574 | ||||
Approve | 18192500 | 477 days ago | IN | 0 ETH | 0.00063641 | ||||
Change Fee Alloc... | 18192492 | 477 days ago | IN | 0 ETH | 0.00061255 | ||||
Change Total Fee... | 18192487 | 477 days ago | IN | 0 ETH | 0.00057767 | ||||
Change Total Fee... | 18192477 | 477 days ago | IN | 0 ETH | 0.00068733 | ||||
Approve | 18192472 | 477 days ago | IN | 0 ETH | 0.0010608 | ||||
Approve | 18192435 | 477 days ago | IN | 0 ETH | 0.00150765 | ||||
Approve | 18192432 | 477 days ago | IN | 0 ETH | 0.00124638 | ||||
Approve | 18192431 | 477 days ago | IN | 0 ETH | 0.00099686 | ||||
Approve | 18192431 | 477 days ago | IN | 0 ETH | 0.00099686 | ||||
Approve | 18192431 | 477 days ago | IN | 0 ETH | 0.00099686 | ||||
Approve | 18192431 | 477 days ago | IN | 0 ETH | 0.00099686 | ||||
Approve | 18192431 | 477 days ago | IN | 0 ETH | 0.00099686 | ||||
Approve | 18192431 | 477 days ago | IN | 0 ETH | 0.00099941 | ||||
Approve | 18192431 | 477 days ago | IN | 0 ETH | 0.00099941 | ||||
Approve | 18192431 | 477 days ago | IN | 0 ETH | 0.00099941 | ||||
Approve | 18192431 | 477 days ago | IN | 0 ETH | 0.00099941 | ||||
Approve | 18192431 | 477 days ago | IN | 0 ETH | 0.00099941 | ||||
Approve | 18192430 | 477 days ago | IN | 0 ETH | 0.00229998 | ||||
Approve | 18192430 | 477 days ago | IN | 0 ETH | 0.00229998 | ||||
Approve | 18192430 | 477 days ago | IN | 0 ETH | 0.00229998 | ||||
Approve | 18192430 | 477 days ago | IN | 0 ETH | 0.00229998 | ||||
Approve | 18192430 | 477 days ago | IN | 0 ETH | 0.00229998 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
18195755 | 477 days ago | 0.00015953 ETH | ||||
18195755 | 477 days ago | 0.00040123 ETH | ||||
18195755 | 477 days ago | 0.00080247 ETH | ||||
18195755 | 477 days ago | 0.00641978 ETH | ||||
18195755 | 477 days ago | 0.00717642 ETH | ||||
18192487 | 477 days ago | 0.00060187 ETH | ||||
18192487 | 477 days ago | 0.00481502 ETH | ||||
18192487 | 477 days ago | 0.00601878 ETH | ||||
18192487 | 477 days ago | 0.01118926 ETH | ||||
18192487 | 477 days ago | 0.00001367 ETH | ||||
18192487 | 477 days ago | 0.00060187 ETH | ||||
18192487 | 477 days ago | 0.00481502 ETH | ||||
18192487 | 477 days ago | 0.00601878 ETH | ||||
18192487 | 477 days ago | 0.01118926 ETH | ||||
18192480 | 477 days ago | 0.00011678 ETH | ||||
18192480 | 477 days ago | 0.00073151 ETH | ||||
18192480 | 477 days ago | 0.00585214 ETH | ||||
18192480 | 477 days ago | 0.00731517 ETH | ||||
18192480 | 477 days ago | 0.01169501 ETH | ||||
18192480 | 477 days ago | 0.00114611 ETH | ||||
18192480 | 477 days ago | 0.00178922 ETH | ||||
18192480 | 477 days ago | 0.01431377 ETH | ||||
18192480 | 477 days ago | 0.01789222 ETH | ||||
18192480 | 477 days ago | 0.01223599 ETH | ||||
18192480 | 477 days ago | 0.0018438 ETH |
Loading...
Loading
Contract Name:
goldr
Compiler Version
v0.8.13+commit.abaa5c0e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-09-22 */ /** *Submitted for verification at Etherscan.io on 2023-08-25 */ /* $GOLDR - GOLD Reflections Reflecting on the epic success of Gold, GOLDR is the mirrored version of GOLD, rewarding holders with juicy reflections. 4% TAX, 3% automatic $GOLD reflections to all $GOLDR holders, 1% marketing. https://t.me/goldreflections */ // SPDX-License-Identifier: Unlicensed pragma solidity 0.8.13; /** * Standard SafeMath, stripped down to just add/sub/mul/div */ library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { // Solidity only automatically asserts when dividing by 0 require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } } /** * ERC20 standard interface. */ interface IERC20 { function totalSupply() external view returns (uint256); function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); function getOwner() external view returns (address); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address _owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } interface IDEXFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IDEXRouter { function factory() external pure returns (address); function WETH() external pure returns (address); 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 swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } interface IGoldReflections { function setDistributionCriteria(uint256 _minPeriod, uint256 _minDistribution) external; function setShare(address shareholder, uint256 amount) external; function deposit() external payable; function process(uint256 gas) external; function gibTokens(address shareholder) external; } contract GoldReflections is IGoldReflections { using SafeMath for uint256; address _token; address public GOLD; IDEXRouter router; struct Share { uint256 amount; uint256 totalExcluded; uint256 totalRealised; } address[] shareholders; mapping (address => uint256) shareholderIndexes; mapping (address => uint256) shareholderClaims; mapping (address => Share) public shares; uint256 public totalShares; uint256 public totalDividends; uint256 public totalDistributed; uint256 public dividendsPerShare; uint256 public dividendsPerShareAccuracyFactor = 10 ** 36; uint256 public minPeriod = 30 minutes; uint256 public minDistribution = 0 * (10 ** 9); uint256 public currentIndex; bool initialized; modifier initialization() { require(!initialized); _; initialized = true; } modifier onlyToken() { require(msg.sender == _token); _; } constructor () { _token = msg.sender; router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); GOLD = 0x089453742936dd35134383aee9d78bEe63A69b01; } receive() external payable { deposit(); } function setDistributionCriteria(uint256 newMinPeriod, uint256 newMinDistribution) external override onlyToken { minPeriod = newMinPeriod; minDistribution = newMinDistribution; } function setShare(address shareholder, uint256 amount) external override onlyToken { if(shares[shareholder].amount > 0){ distributeDividend(shareholder); } if(amount > 0 && shares[shareholder].amount == 0){ addShareholder(shareholder); }else if(amount == 0 && shares[shareholder].amount > 0){ removeShareholder(shareholder); } totalShares = totalShares.sub(shares[shareholder].amount).add(amount); shares[shareholder].amount = amount; shares[shareholder].totalExcluded = getCumulativeDividends(shares[shareholder].amount); } function deposit() public payable override { uint256 balanceBefore = IERC20(GOLD).balanceOf(address(this)); address[] memory path = new address[](2); path[0] = router.WETH(); path[1] = address(GOLD); router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: msg.value}( 0, path, address(this), block.timestamp ); uint256 amount = IERC20(GOLD).balanceOf(address(this)).sub(balanceBefore); totalDividends = totalDividends.add(amount); dividendsPerShare = dividendsPerShare.add(dividendsPerShareAccuracyFactor.mul(amount).div(totalShares)); } function process(uint256 gas) external override { uint256 shareholderCount = shareholders.length; if(shareholderCount == 0) { return; } uint256 iterations = 0; uint256 gasUsed = 0; uint256 gasLeft = gasleft(); while(gasUsed < gas && iterations < shareholderCount) { if(currentIndex >= shareholderCount){ currentIndex = 0; } if(shouldDistribute(shareholders[currentIndex])){ distributeDividend(shareholders[currentIndex]); } gasUsed = gasUsed.add(gasLeft.sub(gasleft())); gasLeft = gasleft(); currentIndex++; iterations++; } } function shouldDistribute(address shareholder) public view returns (bool) { return shareholderClaims[shareholder] + minPeriod < block.timestamp && getUnpaidEarnings(shareholder) > minDistribution; } function distributeDividend(address shareholder) internal { if(shares[shareholder].amount == 0){ return; } uint256 amount = getUnpaidEarnings(shareholder); if(amount > 0){ totalDistributed = totalDistributed.add(amount); IERC20(GOLD).transfer(shareholder, amount); shareholderClaims[shareholder] = block.timestamp; shares[shareholder].totalRealised = shares[shareholder].totalRealised.add(amount); shares[shareholder].totalExcluded = getCumulativeDividends(shares[shareholder].amount); } } function gibTokens(address shareholder) external override onlyToken { distributeDividend(shareholder); } function getUnpaidEarnings(address shareholder) public view returns (uint256) { if(shares[shareholder].amount == 0){ return 0; } uint256 shareholderTotalDividends = getCumulativeDividends(shares[shareholder].amount); uint256 shareholderTotalExcluded = shares[shareholder].totalExcluded; if(shareholderTotalDividends <= shareholderTotalExcluded){ return 0; } return shareholderTotalDividends.sub(shareholderTotalExcluded); } function getCumulativeDividends(uint256 share) internal view returns (uint256) { return share.mul(dividendsPerShare).div(dividendsPerShareAccuracyFactor); } function addShareholder(address shareholder) internal { shareholderIndexes[shareholder] = shareholders.length; shareholders.push(shareholder); } function removeShareholder(address shareholder) internal { shareholders[shareholderIndexes[shareholder]] = shareholders[shareholders.length-1]; shareholderIndexes[shareholders[shareholders.length-1]] = shareholderIndexes[shareholder]; shareholders.pop(); } } contract goldr is Context, IERC20, Ownable { using SafeMath for uint256; address public GOLD = 0x089453742936dd35134383aee9d78bEe63A69b01; //GOLD CA string private constant _name = "Gold Reflections"; string private constant _symbol = "GOLDR"; uint8 private constant _decimals = 18; uint256 private _totalSupply = 1000000000 * (10 ** _decimals); mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; mapping (address => uint256) private cooldown; address private WETH; address DEAD = 0x000000000000000000000000000000000000dEaD; address ZERO = 0x0000000000000000000000000000000000000000; bool public antiBot = true; mapping (address => bool) private bots; mapping (address => bool) public isFeeExempt; mapping (address => bool) public isTxLimitExempt; mapping (address => bool) public isDividendExempt; uint256 public launchedAt; address public lpWallet = DEAD; uint256 public buyFee = 90; uint256 public sellFee = 90; uint256 public toReflections = 10; uint256 public toLiquidity = 0; uint256 public toMarketing = 90; uint256 public allocationSum = 100; IDEXRouter public router; address public pair; address public factory; address private tokenOwner; address public devWallet = payable(0x0e8B1cE198A448EaeD0cfC8d1C1Ef4F15025577B); bool inSwapAndLiquify; bool public swapAndLiquifyEnabled = true; bool public tradingOpen = false; GoldReflections public goldReflections; uint256 public goldReflectionsGas = 0; modifier lockTheSwap { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } uint256 public maxTx = _totalSupply.div(100); uint256 public maxWallet = _totalSupply.div(50); uint256 public swapThreshold = _totalSupply.div(400); constructor () { router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); WETH = router.WETH(); pair = IDEXFactory(router.factory()).createPair(WETH, address(this)); _allowances[address(this)][address(router)] = type(uint256).max; goldReflections = new GoldReflections(); isFeeExempt[owner()] = true; isFeeExempt[devWallet] = true; isDividendExempt[pair] = true; isDividendExempt[address(this)] = true; isDividendExempt[DEAD] = true; isTxLimitExempt[owner()] = true; isTxLimitExempt[pair] = true; isTxLimitExempt[DEAD] = true; isTxLimitExempt[devWallet] = true; _balances[owner()] = _totalSupply; emit Transfer(address(0), owner(), _totalSupply); } receive() external payable { } function setBots(address[] memory bots_) external onlyOwner { for (uint i = 0; i < bots_.length; i++) { bots[bots_[i]] = true; } } //once enabled, cannot be reversed function openTrading() external onlyOwner { launchedAt = block.number; tradingOpen = true; } function changeTotalFees(uint256 newBuyFee, uint256 newSellFee) external onlyOwner { buyFee = newBuyFee; sellFee = newSellFee; } function changeFeeAllocation(uint256 newRewardFee, uint256 newLpFee, uint256 newMarketingFee) external onlyOwner { toReflections = newRewardFee; toLiquidity = newLpFee; toMarketing = newMarketingFee; } function changeTxLimit(uint256 newLimit) external onlyOwner { maxTx = newLimit; } function changeWalletLimit(uint256 newLimit) external onlyOwner { maxWallet = newLimit; } function changeIsFeeExempt(address holder, bool exempt) external onlyOwner { isFeeExempt[holder] = exempt; } function changeIsTxLimitExempt(address holder, bool exempt) external onlyOwner { isTxLimitExempt[holder] = exempt; } function setDevWallet(address payable newDevWallet) external onlyOwner { devWallet = payable(newDevWallet); } function setOwnerWallet(address payable newOwnerWallet) external onlyOwner { tokenOwner = newOwnerWallet; } function changeSwapBackSettings(bool enableSwapBack, uint256 newSwapBackLimit) external onlyOwner { swapAndLiquifyEnabled = enableSwapBack; swapThreshold = newSwapBackLimit; } function setDistributionCriteria(uint256 newMinPeriod, uint256 newMinDistribution) external onlyOwner { goldReflections.setDistributionCriteria(newMinPeriod, newMinDistribution); } function delBot(address notbot) external onlyOwner { bots[notbot] = false; } function _setIsDividendExempt(address holder, bool exempt) internal { require(holder != address(this) && holder != pair); isDividendExempt[holder] = exempt; if(exempt){ goldReflections.setShare(holder, 0); }else{ goldReflections.setShare(holder, _balances[holder]); } } function setIsDividendExempt(address holder, bool exempt) external onlyOwner { _setIsDividendExempt(holder, exempt); } function changeGoldReflectionsGas(uint256 newGas) external onlyOwner { goldReflectionsGas = newGas; } function getCirculatingSupply() public view returns (uint256) { return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO)); } function totalSupply() external view override returns (uint256) { return _totalSupply; } function decimals() external pure override returns (uint8) { return _decimals; } function symbol() external pure override returns (string memory) { return _symbol; } function name() external pure override returns (string memory) { return _name; } function getOwner() external view override returns (address) { return owner(); } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function approveMax(address spender) external returns (bool) { return approve(spender, type(uint256).max); } function transfer(address recipient, uint256 amount) external override returns (bool) { return _transfer(msg.sender, recipient, amount); } function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) { if(_allowances[sender][msg.sender] != type(uint256).max){ _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance"); } return _transfer(sender, recipient, amount); } function _transfer(address sender, address recipient, uint256 amount) internal returns (bool) { if (sender!= owner() && recipient!= owner()) require(tradingOpen, "hold ur horses big guy."); //transfers disabled before tradingActive require(!bots[sender] && !bots[recipient]); if(inSwapAndLiquify){ return _basicTransfer(sender, recipient, amount); } require(amount <= maxTx || isTxLimitExempt[sender], "tx"); if(!isTxLimitExempt[recipient] && antiBot) { require(_balances[recipient].add(amount) <= maxWallet, "wallet"); } if(msg.sender != pair && !inSwapAndLiquify && swapAndLiquifyEnabled && _balances[address(this)] >= swapThreshold){ swapBack(); } _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); uint256 finalAmount = !isFeeExempt[sender] && !isFeeExempt[recipient] ? takeFee(sender, recipient, amount) : amount; _balances[recipient] = _balances[recipient].add(finalAmount); // Dividend tracker if(!isDividendExempt[sender]) { try goldReflections.setShare(sender, _balances[sender]) {} catch {} } if(!isDividendExempt[recipient]) { try goldReflections.setShare(recipient, _balances[recipient]) {} catch {} } emit Transfer(sender, recipient, finalAmount); return true; } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) { uint256 feeApplicable = pair == recipient ? sellFee : buyFee; uint256 feeAmount = amount.mul(feeApplicable).div(100); _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); return amount.sub(feeAmount); } function swapTokensForEth(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); approve(address(this), tokenAmount); router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), block.timestamp ); } function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { router.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, 0, lpWallet, block.timestamp ); } function swapBack() internal lockTheSwap { uint256 tokenBalance = _balances[address(this)]; uint256 tokensForLiquidity = tokenBalance.mul(toLiquidity).div(100).div(2); uint256 amountToSwap = tokenBalance.sub(tokensForLiquidity); swapTokensForEth(amountToSwap); uint256 totalEthBalance = address(this).balance; uint256 ethForGOLD = totalEthBalance.mul(toReflections).div(100); uint256 ethForDev = totalEthBalance.mul(toMarketing).div(100); uint256 ethForLiquidity = totalEthBalance.mul(toLiquidity).div(100).div(2); if (totalEthBalance > 0){ payable(devWallet).transfer(ethForDev); } try goldReflections.deposit{value: ethForGOLD}() {} catch {} if (tokensForLiquidity > 0){ addLiquidity(tokensForLiquidity, ethForLiquidity); } } function manualSwapBack() external onlyOwner { swapBack(); } function clearStuckEth() external onlyOwner { uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0){ payable(devWallet).transfer(contractETHBalance); } } function manualProcessGas(uint256 manualGas) external onlyOwner { goldReflections.process(manualGas); } function checkPendingReflections(address shareholder) external view returns (uint256) { return goldReflections.getUnpaidEarnings(shareholder); } function getGOLD() external { goldReflections.gibTokens(msg.sender); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"GOLD","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"allocationSum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"antiBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newRewardFee","type":"uint256"},{"internalType":"uint256","name":"newLpFee","type":"uint256"},{"internalType":"uint256","name":"newMarketingFee","type":"uint256"}],"name":"changeFeeAllocation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newGas","type":"uint256"}],"name":"changeGoldReflectionsGas","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"changeIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"changeIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enableSwapBack","type":"bool"},{"internalType":"uint256","name":"newSwapBackLimit","type":"uint256"}],"name":"changeSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyFee","type":"uint256"},{"internalType":"uint256","name":"newSellFee","type":"uint256"}],"name":"changeTotalFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"changeTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"changeWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"shareholder","type":"address"}],"name":"checkPendingReflections","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clearStuckEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"devWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"factory","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getGOLD","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"goldReflections","outputs":[{"internalType":"contract GoldReflections","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"goldReflectionsGas","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isDividendExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"manualGas","type":"uint256"}],"name":"manualProcessGas","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwapBack","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newDevWallet","type":"address"}],"name":"setDevWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMinPeriod","type":"uint256"},{"internalType":"uint256","name":"newMinDistribution","type":"uint256"}],"name":"setDistributionCriteria","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsDividendExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newOwnerWallet","type":"address"}],"name":"setOwnerWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"toLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"toMarketing","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"toReflections","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600180546001600160a01b03191673089453742936dd35134383aee9d78bee63a69b01179055620000386012600a62000658565b6200004890633b9aca0062000669565b6002819055600780546001600160a01b031990811661dead908117909255600880546001600160a81b031916600160a01b179055600e80549091169091179055605a600f8190556010819055600a601155600060128190556013919091556064601481905560198054600162ffff0160a01b0319167501000e8b1ce198a448eaed0cfc8d1c1ef4f15025577b179055601b91909155620000f891906200146a6200049f602090811b91909117901c565b601c556200011860326002546200049f60201b6200146a1790919060201c565b601d55620001396101906002546200049f60201b6200146a1790919060201c565b601e553480156200014957600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601580546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa158015620001f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021691906200068b565b600680546001600160a01b0319166001600160a01b039283161790556015546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa15801562000275573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029b91906200068b565b6006546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af1158015620002ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200031391906200068b565b601680546001600160a01b0319166001600160a01b039283161790553060009081526004602090815260408083206015549094168352929052819020600019905551620003609062000537565b604051809103906000f0801580156200037d573d6000803e3d6000fd5b50601a80546001600160a01b0319166001600160a01b039283161790556000805482168152600a60209081526040808320805460ff199081166001908117909255601980548716865283862080548316841790556016805488168752600c86528487208054841685179055308752848720805484168517905560078054891688528588208054851686179055875489168852600b8752858820805485168617905590548816875284872080548416851790555487168652838620805483168417905554861685528285208054909116909117905560025483548516845260038352818420819055835491519081529316927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a362000738565b6000620004e983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620004f260201b60201c565b90505b92915050565b600081836200051f5760405162461bcd60e51b8152600401620005169190620006bd565b60405180910390fd5b5060006200052e848662000715565b95945050505050565b61109d8062002d1083390190565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200059c57816000190482111562000580576200058062000545565b808516156200058e57918102915b93841c939080029062000560565b509250929050565b600082620005b557506001620004ec565b81620005c457506000620004ec565b8160018114620005dd5760028114620005e85762000608565b6001915050620004ec565b60ff841115620005fc57620005fc62000545565b50506001821b620004ec565b5060208310610133831016604e8410600b84101617156200062d575081810a620004ec565b6200063983836200055b565b806000190482111562000650576200065062000545565b029392505050565b6000620004e960ff841683620005a4565b600081600019048311821515161562000686576200068662000545565b500290565b6000602082840312156200069e57600080fd5b81516001600160a01b0381168114620006b657600080fd5b9392505050565b600060208083528351808285015260005b81811015620006ec57858101830151858201604001528201620006ce565b81811115620006ff576000604083870101525b50601f01601f1916929092016040019392505050565b6000826200073357634e487b7160e01b600052601260045260246000fd5b500490565b6125c880620007486000396000f3fe6080604052600436106103905760003560e01c80637db1342c116101dc578063bb542ef011610102578063d920334e116100a0578063f887ea401161006f578063f887ea4014610a80578063f8b45b0514610aa0578063fabe628314610ab6578063ffb54a9914610ad657600080fd5b8063d920334e146109da578063dd62ed3e146109fa578063f2fde38b14610a40578063f708a64f14610a6057600080fd5b8063c8d1293d116100dc578063c8d1293d14610984578063c9567bf91461099a578063caa5581b146109af578063d6b51540146109c557600080fd5b8063bb542ef01461092e578063bf56b3711461094e578063c45a01551461096457600080fd5b80638ea5220f1161017a578063a7a43d7c11610149578063a7a43d7c146108b8578063a8aa1b31146108ce578063a9059cbb146108ee578063b515566a1461090e57600080fd5b80638ea5220f1461082a57806395d89b411461084a578063a044c76714610878578063a3a2e89e1461089857600080fd5b806389291a8f116101b657806389291a8f146107c7578063893d20e8146107dc5780638b42507f146107fa5780638da5cb5b146107dc57600080fd5b80637db1342c146107665780637dfcbe341461078657806381934031146107a757600080fd5b80633e4bee38116102c1578063571ac8b01161025f578063715018a61161022e578063715018a6146107055780637437681e1461071a57806375df13051461073057806377359aa71461074657600080fd5b8063571ac8b01461067a5780636303516c1461069a57806366eb3785146106ba57806370a08231146106cf57600080fd5b8063454343771161029b578063454343771461060d57806347062402146106235780634a74bb0214610639578063516810781461065a57600080fd5b80633e4bee38146105755780633f4218e0146105ad5780634355855a146105dd57600080fd5b80632b112e491161032e5780632dbea2e1116103085780632dbea2e1146104f957806330ca34ee14610519578063313ce567146105395780633dab52691461055557600080fd5b80632b112e49146104ae5780632b14ca56146104c35780632d48e896146104d957600080fd5b806318160ddd1161036a57806318160ddd146104375780631f53ac021461044c57806323b872dd1461046e578063273123b71461048e57600080fd5b80630445b6671461039c57806306fdde03146103c5578063095ea7b31461040757600080fd5b3661039757005b600080fd5b3480156103a857600080fd5b506103b2601e5481565b6040519081526020015b60405180910390f35b3480156103d157600080fd5b5060408051808201909152601081526f476f6c64205265666c656374696f6e7360801b60208201525b6040516103bc91906120f3565b34801561041357600080fd5b5061042761042236600461216d565b610af7565b60405190151581526020016103bc565b34801561044357600080fd5b506002546103b2565b34801561045857600080fd5b5061046c610467366004612199565b610b64565b005b34801561047a57600080fd5b506104276104893660046121b6565b610bb9565b34801561049a57600080fd5b5061046c6104a9366004612199565b610c7b565b3480156104ba57600080fd5b506103b2610cc6565b3480156104cf57600080fd5b506103b260105481565b3480156104e557600080fd5b5061046c6104f43660046121f7565b610d18565b34801561050557600080fd5b5061046c610514366004612219565b610dac565b34801561052557600080fd5b5061046c6105343660046121f7565b610de4565b34801561054557600080fd5b50604051601281526020016103bc565b34801561056157600080fd5b5061046c610570366004612255565b610e19565b34801561058157600080fd5b50600154610595906001600160a01b031681565b6040516001600160a01b0390911681526020016103bc565b3480156105b957600080fd5b506104276105c8366004612199565b600a6020526000908152604090205460ff1681565b3480156105e957600080fd5b506104276105f8366004612199565b600c6020526000908152604090205460ff1681565b34801561061957600080fd5b506103b260145481565b34801561062f57600080fd5b506103b2600f5481565b34801561064557600080fd5b5060195461042790600160a81b900460ff1681565b34801561066657600080fd5b5061046c610675366004612271565b610e65565b34801561068657600080fd5b50610427610695366004612199565b610e94565b3480156106a657600080fd5b50600e54610595906001600160a01b031681565b3480156106c657600080fd5b5061046c610ea2565b3480156106db57600080fd5b506103b26106ea366004612199565b6001600160a01b031660009081526003602052604090205490565b34801561071157600080fd5b5061046c610ed6565b34801561072657600080fd5b506103b2601c5481565b34801561073c57600080fd5b506103b260135481565b34801561075257600080fd5b506103b2610761366004612199565b610f4a565b34801561077257600080fd5b5061046c610781366004612271565b610fb9565b34801561079257600080fd5b5060085461042790600160a01b900460ff1681565b3480156107b357600080fd5b5061046c6107c2366004612271565b610fe8565b3480156107d357600080fd5b5061046c611076565b3480156107e857600080fd5b506000546001600160a01b0316610595565b34801561080657600080fd5b50610427610815366004612199565b600b6020526000908152604090205460ff1681565b34801561083657600080fd5b50601954610595906001600160a01b031681565b34801561085657600080fd5b5060408051808201909152600581526423a7a6222960d91b60208201526103fa565b34801561088457600080fd5b50601a54610595906001600160a01b031681565b3480156108a457600080fd5b5061046c6108b336600461228a565b6110e6565b3480156108c457600080fd5b506103b2601b5481565b3480156108da57600080fd5b50601654610595906001600160a01b031681565b3480156108fa57600080fd5b5061042761090936600461216d565b61113b565b34801561091a57600080fd5b5061046c6109293660046122d5565b611148565b34801561093a57600080fd5b5061046c610949366004612199565b6111da565b34801561095a57600080fd5b506103b2600d5481565b34801561097057600080fd5b50601754610595906001600160a01b031681565b34801561099057600080fd5b506103b260125481565b3480156109a657600080fd5b5061046c611226565b3480156109bb57600080fd5b506103b260115481565b3480156109d157600080fd5b5061046c611269565b3480156109e657600080fd5b5061046c6109f5366004612271565b6112c8565b348015610a0657600080fd5b506103b2610a1536600461239a565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b348015610a4c57600080fd5b5061046c610a5b366004612199565b6112f7565b348015610a6c57600080fd5b5061046c610a7b36600461228a565b6113e1565b348015610a8c57600080fd5b50601554610595906001600160a01b031681565b348015610aac57600080fd5b506103b2601d5481565b348015610ac257600080fd5b5061046c610ad136600461228a565b611415565b348015610ae257600080fd5b5060195461042790600160b01b900460ff1681565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610b529086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b03163314610b975760405162461bcd60e51b8152600401610b8e906123d3565b60405180910390fd5b601980546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316600090815260046020908152604080832033845290915281205460001914610c66576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600482528381203382529091529190912054610c419184906114ac565b6001600160a01b03851660009081526004602090815260408083203384529091529020555b610c718484846114e6565b90505b9392505050565b6000546001600160a01b03163314610ca55760405162461bcd60e51b8152600401610b8e906123d3565b6001600160a01b03166000908152600960205260409020805460ff19169055565b6008546001600160a01b0316600090815260036020526040812054610d13906007546001600160a01b0316600090815260036020526040902054610d0d906002549061199c565b9061199c565b905090565b6000546001600160a01b03163314610d425760405162461bcd60e51b8152600401610b8e906123d3565b601a546040516316a4744b60e11b815260048101849052602481018390526001600160a01b0390911690632d48e896906044015b600060405180830381600087803b158015610d9057600080fd5b505af1158015610da4573d6000803e3d6000fd5b505050505050565b6000546001600160a01b03163314610dd65760405162461bcd60e51b8152600401610b8e906123d3565b601192909255601255601355565b6000546001600160a01b03163314610e0e5760405162461bcd60e51b8152600401610b8e906123d3565b600f91909155601055565b6000546001600160a01b03163314610e435760405162461bcd60e51b8152600401610b8e906123d3565b60198054921515600160a81b0260ff60a81b1990931692909217909155601e55565b6000546001600160a01b03163314610e8f5760405162461bcd60e51b8152600401610b8e906123d3565b601b55565b6000610b5e82600019610af7565b6000546001600160a01b03163314610ecc5760405162461bcd60e51b8152600401610b8e906123d3565b610ed46119de565b565b6000546001600160a01b03163314610f005760405162461bcd60e51b8152600401610b8e906123d3565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b601a5460405163051fa63360e31b81526001600160a01b03838116600483015260009216906328fd319890602401602060405180830381865afa158015610f95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5e9190612408565b6000546001600160a01b03163314610fe35760405162461bcd60e51b8152600401610b8e906123d3565b601d55565b6000546001600160a01b031633146110125760405162461bcd60e51b8152600401610b8e906123d3565b601a546040516001624d3b8760e01b03198152600481018390526001600160a01b039091169063ffb2c47990602401600060405180830381600087803b15801561105b57600080fd5b505af115801561106f573d6000803e3d6000fd5b5050505050565b6000546001600160a01b031633146110a05760405162461bcd60e51b8152600401610b8e906123d3565b4780156110e3576019546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156110e1573d6000803e3d6000fd5b505b50565b6000546001600160a01b031633146111105760405162461bcd60e51b8152600401610b8e906123d3565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6000610c743384846114e6565b6000546001600160a01b031633146111725760405162461bcd60e51b8152600401610b8e906123d3565b60005b81518110156110e15760016009600084848151811061119657611196612421565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806111d28161244d565b915050611175565b6000546001600160a01b031633146112045760405162461bcd60e51b8152600401610b8e906123d3565b601880546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146112505760405162461bcd60e51b8152600401610b8e906123d3565b43600d556019805460ff60b01b1916600160b01b179055565b601a5460405163bd14ae2760e01b81523360048201526001600160a01b039091169063bd14ae2790602401600060405180830381600087803b1580156112ae57600080fd5b505af11580156112c2573d6000803e3d6000fd5b50505050565b6000546001600160a01b031633146112f25760405162461bcd60e51b8152600401610b8e906123d3565b601c55565b6000546001600160a01b031633146113215760405162461bcd60e51b8152600401610b8e906123d3565b6001600160a01b0381166113865760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610b8e565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461140b5760405162461bcd60e51b8152600401610b8e906123d3565b6110e18282611b6c565b6000546001600160a01b0316331461143f5760405162461bcd60e51b8152600401610b8e906123d3565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b6000610c7483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611c7d565b600081848411156114d05760405162461bcd60e51b8152600401610b8e91906120f3565b5060006114dd8486612466565b95945050505050565b600080546001600160a01b0385811691161480159061151357506000546001600160a01b03848116911614155b1561157157601954600160b01b900460ff166115715760405162461bcd60e51b815260206004820152601760248201527f686f6c6420757220686f7273657320626967206775792e0000000000000000006044820152606401610b8e565b6001600160a01b03841660009081526009602052604090205460ff161580156115b357506001600160a01b03831660009081526009602052604090205460ff16155b6115bc57600080fd5b601954600160a01b900460ff16156115e0576115d9848484611cab565b9050610c74565b601c548211158061160957506001600160a01b0384166000908152600b602052604090205460ff165b61163a5760405162461bcd60e51b81526020600482015260026024820152610e8f60f31b6044820152606401610b8e565b6001600160a01b0383166000908152600b602052604090205460ff1615801561166c5750600854600160a01b900460ff165b156116ce57601d546001600160a01b0384166000908152600360205260409020546116979084611d91565b11156116ce5760405162461bcd60e51b81526020600482015260066024820152651dd85b1b195d60d21b6044820152606401610b8e565b6016546001600160a01b031633148015906116f35750601954600160a01b900460ff16155b80156117085750601954600160a81b900460ff165b80156117255750601e543060009081526003602052604090205410155b15611732576117326119de565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152600390915291909120546117849184906114ac565b6001600160a01b038516600090815260036020908152604080832093909355600a90529081205460ff161580156117d457506001600160a01b0384166000908152600a602052604090205460ff16155b6117de57826117e9565b6117e9858585611df0565b6001600160a01b03851660009081526003602052604090205490915061180f9082611d91565b6001600160a01b038086166000908152600360209081526040808320949094559188168152600c909152205460ff166118b357601a546001600160a01b0386811660008181526003602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b1580156118a057600080fd5b505af19250505080156118b1575060015b505b6001600160a01b0384166000908152600c602052604090205460ff1661194457601a546001600160a01b0385811660008181526003602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b15801561193157600080fd5b505af1925050508015611942575060015b505b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161198991815260200190565b60405180910390a3506001949350505050565b6000610c7483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114ac565b6019805460ff60a01b1916600160a01b17905530600090815260036020526040812054601254909190611a2490600290611a1e9060649082908790611eb3565b9061146a565b90506000611a32838361199c565b9050611a3d81611f35565b60004790506000611a5e6064611a1e60115485611eb390919063ffffffff16565b90506000611a7c6064611a1e60135486611eb390919063ffffffff16565b90506000611a9f6002611a1e6064611a1e60125489611eb390919063ffffffff16565b90508315611ae3576019546040516001600160a01b039091169083156108fc029084906000818181858888f19350505050158015611ae1573d6000803e3d6000fd5b505b601a60009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0846040518263ffffffff1660e01b81526004016000604051808303818588803b158015611b3357600080fd5b505af193505050508015611b45575060015b508515611b5657611b56868261205e565b50506019805460ff60a01b191690555050505050565b6001600160a01b0382163014801590611b9357506016546001600160a01b03838116911614155b611b9c57600080fd5b6001600160a01b0382166000908152600c60205260409020805460ff19168215801591909117909155611c3457601a54604051630a5b654b60e11b81526001600160a01b03848116600483015260006024830152909116906314b6ca9690604401600060405180830381600087803b158015611c1757600080fd5b505af1158015611c2b573d6000803e3d6000fd5b505050506110e1565b601a546001600160a01b0383811660008181526003602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401610d76565b60008183611c9e5760405162461bcd60e51b8152600401610b8e91906120f3565b5060006114dd848661247d565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600390915291822054611cfc9184906114ac565b6001600160a01b038086166000908152600360205260408082209390935590851681522054611d2b9083611d91565b6001600160a01b0380851660008181526003602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611d7f9086815260200190565b60405180910390a35060019392505050565b600080611d9e838561249f565b905083811015610c745760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610b8e565b60165460009081906001600160a01b03858116911614611e1257600f54611e16565b6010545b90506000611e296064611a1e8685611eb3565b30600090815260036020526040902054909150611e469082611d91565b30600081815260036020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611e979085815260200190565b60405180910390a3611ea9848261199c565b9695505050505050565b600082600003611ec557506000610b5e565b6000611ed183856124b7565b905082611ede858361247d565b14610c745760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610b8e565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611f6a57611f6a612421565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611fc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fe791906124d6565b81600181518110611ffa57611ffa612421565b60200260200101906001600160a01b031690816001600160a01b0316815250506120243083610af7565b5060155460405163791ac94760e01b81526001600160a01b039091169063791ac94790610d769085906000908690309042906004016124f3565b601554600e5460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af11580156120ce573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061106f9190612564565b600060208083528351808285015260005b8181101561212057858101830151858201604001528201612104565b81811115612132576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146110e357600080fd5b803561216881612148565b919050565b6000806040838503121561218057600080fd5b823561218b81612148565b946020939093013593505050565b6000602082840312156121ab57600080fd5b8135610c7481612148565b6000806000606084860312156121cb57600080fd5b83356121d681612148565b925060208401356121e681612148565b929592945050506040919091013590565b6000806040838503121561220a57600080fd5b50508035926020909101359150565b60008060006060848603121561222e57600080fd5b505081359360208301359350604090920135919050565b8035801515811461216857600080fd5b6000806040838503121561226857600080fd5b61218b83612245565b60006020828403121561228357600080fd5b5035919050565b6000806040838503121561229d57600080fd5b82356122a881612148565b91506122b660208401612245565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156122e857600080fd5b823567ffffffffffffffff8082111561230057600080fd5b818501915085601f83011261231457600080fd5b813581811115612326576123266122bf565b8060051b604051601f19603f8301168101818110858211171561234b5761234b6122bf565b60405291825284820192508381018501918883111561236957600080fd5b938501935b8285101561238e5761237f8561215d565b8452938501939285019261236e565b98975050505050505050565b600080604083850312156123ad57600080fd5b82356123b881612148565b915060208301356123c881612148565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561241a57600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161245f5761245f612437565b5060010190565b60008282101561247857612478612437565b500390565b60008261249a57634e487b7160e01b600052601260045260246000fd5b500490565b600082198211156124b2576124b2612437565b500190565b60008160001904831182151516156124d1576124d1612437565b500290565b6000602082840312156124e857600080fd5b8151610c7481612148565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156125435784516001600160a01b03168352938301939183019160010161251e565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561257957600080fd5b835192506020840151915060408401519050925092509256fea264697066735822122011b543a5c0701950e166203483c91a598f6e0537b5d1c096beff5abfa0ccc2a164736f6c634300080d003360806040526ec097ce7bc90715b34b9f1000000000600b55610708600c556000600d5534801561002e57600080fd5b50600080546001600160a01b03199081163317909155600280548216737a250d5630b4cf539739df2c5dacb4c659f2488d1790556001805490911673089453742936dd35134383aee9d78bee63a69b0117905561100d806100906000396000f3fe6080604052600436106101025760003560e01c80638c21cd5211610095578063d0e30db011610064578063d0e30db0146102d6578063e2d2e219146102de578063efca2eed146102f4578063ffb2c4791461030a578063ffd49c841461032a57600080fd5b80638c21cd5214610219578063997664d714610249578063bd14ae271461025f578063ce7c2ac21461027f57600080fd5b80632d48e896116100d15780632d48e896146101955780633a98ef39146101b55780633e4bee38146101cb5780634fab0ae81461020357600080fd5b806311ce023d1461011657806314b6ca961461013f57806326987b601461015f57806328fd31981461017557600080fd5b366101115761010f610340565b005b600080fd5b34801561012257600080fd5b5061012c600b5481565b6040519081526020015b60405180910390f35b34801561014b57600080fd5b5061010f61015a366004610d71565b6105b8565b34801561016b57600080fd5b5061012c600e5481565b34801561018157600080fd5b5061012c610190366004610d9d565b610730565b3480156101a157600080fd5b5061010f6101b0366004610dba565b6107bb565b3480156101c157600080fd5b5061012c60075481565b3480156101d757600080fd5b506001546101eb906001600160a01b031681565b6040516001600160a01b039091168152602001610136565b34801561020f57600080fd5b5061012c600d5481565b34801561022557600080fd5b50610239610234366004610d9d565b6107dd565b6040519015158152602001610136565b34801561025557600080fd5b5061012c60085481565b34801561026b57600080fd5b5061010f61027a366004610d9d565b610823565b34801561028b57600080fd5b506102bb61029a366004610d9d565b60066020526000908152604090208054600182015460029092015490919083565b60408051938452602084019290925290820152606001610136565b61010f610340565b3480156102ea57600080fd5b5061012c600a5481565b34801561030057600080fd5b5061012c60095481565b34801561031657600080fd5b5061010f610325366004610ddc565b610846565b34801561033657600080fd5b5061012c600c5481565b6001546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015610389573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ad9190610df5565b60408051600280825260608201835292935060009290916020830190803683375050600254604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa15801561041c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104409190610e0e565b8160008151811061045357610453610e2b565b6001600160a01b039283166020918202929092010152600180548351921691839190811061048357610483610e2b565b6001600160a01b03928316602091820292909201015260025460405163b6f9de9560e01b815291169063b6f9de959034906104c990600090869030904290600401610e41565b6000604051808303818588803b1580156104e257600080fd5b505af11580156104f6573d6000803e3d6000fd5b50506001546040516370a0823160e01b81523060048201526000945061057693508692506001600160a01b03909116906370a0823190602401602060405180830381865afa15801561054c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105709190610df5565b90610933565b600854909150610586908261097c565b600855600754600b546105b0916105a7916105a190856109e0565b90610a62565b600a549061097c565b600a55505050565b6000546001600160a01b031633146105cf57600080fd5b6001600160a01b038216600090815260066020526040902054156105f6576105f682610aa4565b60008111801561061c57506001600160a01b038216600090815260066020526040902054155b1561068257600380546001600160a01b0384166000818152600460205260408120839055600183018455929092527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180546001600160a01b03191690911790556106b5565b801580156106a757506001600160a01b03821660009081526006602052604090205415155b156106b5576106b582610bc2565b6001600160a01b0382166000908152600660205260409020546007546106e69183916106e091610933565b9061097c565b6007556001600160a01b038216600090815260066020526040902081905561070d81610cd7565b6001600160a01b0390921660009081526006602052604090206001019190915550565b6001600160a01b038116600090815260066020526040812054810361075757506000919050565b6001600160a01b03821660009081526006602052604081205461077990610cd7565b6001600160a01b0384166000908152600660205260409020600101549091508082116107a9575060009392505050565b6107b38282610933565b949350505050565b6000546001600160a01b031633146107d257600080fd5b600c91909155600d55565b600c546001600160a01b038216600090815260056020526040812054909142916108079190610ec1565b10801561081d5750600d5461081b83610730565b115b92915050565b6000546001600160a01b0316331461083a57600080fd5b61084381610aa4565b50565b6003546000819003610856575050565b60008060005a90505b848210801561086d57508383105b1561092c5783600e5410610881576000600e555b6108b36003600e548154811061089957610899610e2b565b6000918252602090912001546001600160a01b03166107dd565b156108ea576108ea6003600e54815481106108d0576108d0610e2b565b6000918252602090912001546001600160a01b0316610aa4565b6108ff6108f85a8390610933565b839061097c565b91505a600e8054919250600061091483610ed9565b9190505550828061092490610ed9565b93505061085f565b5050505050565b600061097583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610cf4565b9392505050565b6000806109898385610ec1565b9050838110156109755760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064015b60405180910390fd5b6000826000036109f25750600061081d565b60006109fe8385610ef2565b905082610a0b8583610f11565b146109755760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016109d7565b600061097583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610d2e565b6001600160a01b0381166000908152600660205260408120549003610ac65750565b6000610ad182610730565b90508015610bbe57600954610ae6908261097c565b60095560015460405163a9059cbb60e01b81526001600160a01b038481166004830152602482018490529091169063a9059cbb906044016020604051808303816000875af1158015610b3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b609190610f33565b506001600160a01b03821660009081526005602090815260408083204290556006909152902060020154610b94908261097c565b6001600160a01b038316600090815260066020526040902060028101919091555461070d90610cd7565b5050565b60038054610bd290600190610f55565b81548110610be257610be2610e2b565b60009182526020808320909101546001600160a01b0384811684526004909252604090922054600380549290931692918110610c2057610c20610e2b565b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055918316815260049182905260408120546003805491939291610c6c90600190610f55565b81548110610c7c57610c7c610e2b565b60009182526020808320909101546001600160a01b031683528201929092526040019020556003805480610cb257610cb2610f6c565b600082815260209020810160001990810180546001600160a01b031916905501905550565b600061081d600b546105a1600a54856109e090919063ffffffff16565b60008184841115610d185760405162461bcd60e51b81526004016109d79190610f82565b506000610d258486610f55565b95945050505050565b60008183610d4f5760405162461bcd60e51b81526004016109d79190610f82565b506000610d258486610f11565b6001600160a01b038116811461084357600080fd5b60008060408385031215610d8457600080fd5b8235610d8f81610d5c565b946020939093013593505050565b600060208284031215610daf57600080fd5b813561097581610d5c565b60008060408385031215610dcd57600080fd5b50508035926020909101359150565b600060208284031215610dee57600080fd5b5035919050565b600060208284031215610e0757600080fd5b5051919050565b600060208284031215610e2057600080fd5b815161097581610d5c565b634e487b7160e01b600052603260045260246000fd5b600060808201868352602060808185015281875180845260a086019150828901935060005b81811015610e8b5784516001600160a01b031683529383019391830191600101610e66565b50506001600160a01b039690961660408501525050506060015292915050565b634e487b7160e01b600052601160045260246000fd5b60008219821115610ed457610ed4610eab565b500190565b600060018201610eeb57610eeb610eab565b5060010190565b6000816000190483118215151615610f0c57610f0c610eab565b500290565b600082610f2e57634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215610f4557600080fd5b8151801515811461097557600080fd5b600082821015610f6757610f67610eab565b500390565b634e487b7160e01b600052603160045260246000fd5b600060208083528351808285015260005b81811015610faf57858101830151858201604001528201610f93565b81811115610fc1576000604083870101525b50601f01601f191692909201604001939250505056fea26469706673582212206be3b003251d3671263c2b2cb427137c5d2170f712e55ef7be8ec8960f2ccb7e64736f6c634300080d0033
Deployed Bytecode
0x6080604052600436106103905760003560e01c80637db1342c116101dc578063bb542ef011610102578063d920334e116100a0578063f887ea401161006f578063f887ea4014610a80578063f8b45b0514610aa0578063fabe628314610ab6578063ffb54a9914610ad657600080fd5b8063d920334e146109da578063dd62ed3e146109fa578063f2fde38b14610a40578063f708a64f14610a6057600080fd5b8063c8d1293d116100dc578063c8d1293d14610984578063c9567bf91461099a578063caa5581b146109af578063d6b51540146109c557600080fd5b8063bb542ef01461092e578063bf56b3711461094e578063c45a01551461096457600080fd5b80638ea5220f1161017a578063a7a43d7c11610149578063a7a43d7c146108b8578063a8aa1b31146108ce578063a9059cbb146108ee578063b515566a1461090e57600080fd5b80638ea5220f1461082a57806395d89b411461084a578063a044c76714610878578063a3a2e89e1461089857600080fd5b806389291a8f116101b657806389291a8f146107c7578063893d20e8146107dc5780638b42507f146107fa5780638da5cb5b146107dc57600080fd5b80637db1342c146107665780637dfcbe341461078657806381934031146107a757600080fd5b80633e4bee38116102c1578063571ac8b01161025f578063715018a61161022e578063715018a6146107055780637437681e1461071a57806375df13051461073057806377359aa71461074657600080fd5b8063571ac8b01461067a5780636303516c1461069a57806366eb3785146106ba57806370a08231146106cf57600080fd5b8063454343771161029b578063454343771461060d57806347062402146106235780634a74bb0214610639578063516810781461065a57600080fd5b80633e4bee38146105755780633f4218e0146105ad5780634355855a146105dd57600080fd5b80632b112e491161032e5780632dbea2e1116103085780632dbea2e1146104f957806330ca34ee14610519578063313ce567146105395780633dab52691461055557600080fd5b80632b112e49146104ae5780632b14ca56146104c35780632d48e896146104d957600080fd5b806318160ddd1161036a57806318160ddd146104375780631f53ac021461044c57806323b872dd1461046e578063273123b71461048e57600080fd5b80630445b6671461039c57806306fdde03146103c5578063095ea7b31461040757600080fd5b3661039757005b600080fd5b3480156103a857600080fd5b506103b2601e5481565b6040519081526020015b60405180910390f35b3480156103d157600080fd5b5060408051808201909152601081526f476f6c64205265666c656374696f6e7360801b60208201525b6040516103bc91906120f3565b34801561041357600080fd5b5061042761042236600461216d565b610af7565b60405190151581526020016103bc565b34801561044357600080fd5b506002546103b2565b34801561045857600080fd5b5061046c610467366004612199565b610b64565b005b34801561047a57600080fd5b506104276104893660046121b6565b610bb9565b34801561049a57600080fd5b5061046c6104a9366004612199565b610c7b565b3480156104ba57600080fd5b506103b2610cc6565b3480156104cf57600080fd5b506103b260105481565b3480156104e557600080fd5b5061046c6104f43660046121f7565b610d18565b34801561050557600080fd5b5061046c610514366004612219565b610dac565b34801561052557600080fd5b5061046c6105343660046121f7565b610de4565b34801561054557600080fd5b50604051601281526020016103bc565b34801561056157600080fd5b5061046c610570366004612255565b610e19565b34801561058157600080fd5b50600154610595906001600160a01b031681565b6040516001600160a01b0390911681526020016103bc565b3480156105b957600080fd5b506104276105c8366004612199565b600a6020526000908152604090205460ff1681565b3480156105e957600080fd5b506104276105f8366004612199565b600c6020526000908152604090205460ff1681565b34801561061957600080fd5b506103b260145481565b34801561062f57600080fd5b506103b2600f5481565b34801561064557600080fd5b5060195461042790600160a81b900460ff1681565b34801561066657600080fd5b5061046c610675366004612271565b610e65565b34801561068657600080fd5b50610427610695366004612199565b610e94565b3480156106a657600080fd5b50600e54610595906001600160a01b031681565b3480156106c657600080fd5b5061046c610ea2565b3480156106db57600080fd5b506103b26106ea366004612199565b6001600160a01b031660009081526003602052604090205490565b34801561071157600080fd5b5061046c610ed6565b34801561072657600080fd5b506103b2601c5481565b34801561073c57600080fd5b506103b260135481565b34801561075257600080fd5b506103b2610761366004612199565b610f4a565b34801561077257600080fd5b5061046c610781366004612271565b610fb9565b34801561079257600080fd5b5060085461042790600160a01b900460ff1681565b3480156107b357600080fd5b5061046c6107c2366004612271565b610fe8565b3480156107d357600080fd5b5061046c611076565b3480156107e857600080fd5b506000546001600160a01b0316610595565b34801561080657600080fd5b50610427610815366004612199565b600b6020526000908152604090205460ff1681565b34801561083657600080fd5b50601954610595906001600160a01b031681565b34801561085657600080fd5b5060408051808201909152600581526423a7a6222960d91b60208201526103fa565b34801561088457600080fd5b50601a54610595906001600160a01b031681565b3480156108a457600080fd5b5061046c6108b336600461228a565b6110e6565b3480156108c457600080fd5b506103b2601b5481565b3480156108da57600080fd5b50601654610595906001600160a01b031681565b3480156108fa57600080fd5b5061042761090936600461216d565b61113b565b34801561091a57600080fd5b5061046c6109293660046122d5565b611148565b34801561093a57600080fd5b5061046c610949366004612199565b6111da565b34801561095a57600080fd5b506103b2600d5481565b34801561097057600080fd5b50601754610595906001600160a01b031681565b34801561099057600080fd5b506103b260125481565b3480156109a657600080fd5b5061046c611226565b3480156109bb57600080fd5b506103b260115481565b3480156109d157600080fd5b5061046c611269565b3480156109e657600080fd5b5061046c6109f5366004612271565b6112c8565b348015610a0657600080fd5b506103b2610a1536600461239a565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b348015610a4c57600080fd5b5061046c610a5b366004612199565b6112f7565b348015610a6c57600080fd5b5061046c610a7b36600461228a565b6113e1565b348015610a8c57600080fd5b50601554610595906001600160a01b031681565b348015610aac57600080fd5b506103b2601d5481565b348015610ac257600080fd5b5061046c610ad136600461228a565b611415565b348015610ae257600080fd5b5060195461042790600160b01b900460ff1681565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610b529086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b03163314610b975760405162461bcd60e51b8152600401610b8e906123d3565b60405180910390fd5b601980546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316600090815260046020908152604080832033845290915281205460001914610c66576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600482528381203382529091529190912054610c419184906114ac565b6001600160a01b03851660009081526004602090815260408083203384529091529020555b610c718484846114e6565b90505b9392505050565b6000546001600160a01b03163314610ca55760405162461bcd60e51b8152600401610b8e906123d3565b6001600160a01b03166000908152600960205260409020805460ff19169055565b6008546001600160a01b0316600090815260036020526040812054610d13906007546001600160a01b0316600090815260036020526040902054610d0d906002549061199c565b9061199c565b905090565b6000546001600160a01b03163314610d425760405162461bcd60e51b8152600401610b8e906123d3565b601a546040516316a4744b60e11b815260048101849052602481018390526001600160a01b0390911690632d48e896906044015b600060405180830381600087803b158015610d9057600080fd5b505af1158015610da4573d6000803e3d6000fd5b505050505050565b6000546001600160a01b03163314610dd65760405162461bcd60e51b8152600401610b8e906123d3565b601192909255601255601355565b6000546001600160a01b03163314610e0e5760405162461bcd60e51b8152600401610b8e906123d3565b600f91909155601055565b6000546001600160a01b03163314610e435760405162461bcd60e51b8152600401610b8e906123d3565b60198054921515600160a81b0260ff60a81b1990931692909217909155601e55565b6000546001600160a01b03163314610e8f5760405162461bcd60e51b8152600401610b8e906123d3565b601b55565b6000610b5e82600019610af7565b6000546001600160a01b03163314610ecc5760405162461bcd60e51b8152600401610b8e906123d3565b610ed46119de565b565b6000546001600160a01b03163314610f005760405162461bcd60e51b8152600401610b8e906123d3565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b601a5460405163051fa63360e31b81526001600160a01b03838116600483015260009216906328fd319890602401602060405180830381865afa158015610f95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5e9190612408565b6000546001600160a01b03163314610fe35760405162461bcd60e51b8152600401610b8e906123d3565b601d55565b6000546001600160a01b031633146110125760405162461bcd60e51b8152600401610b8e906123d3565b601a546040516001624d3b8760e01b03198152600481018390526001600160a01b039091169063ffb2c47990602401600060405180830381600087803b15801561105b57600080fd5b505af115801561106f573d6000803e3d6000fd5b5050505050565b6000546001600160a01b031633146110a05760405162461bcd60e51b8152600401610b8e906123d3565b4780156110e3576019546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156110e1573d6000803e3d6000fd5b505b50565b6000546001600160a01b031633146111105760405162461bcd60e51b8152600401610b8e906123d3565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6000610c743384846114e6565b6000546001600160a01b031633146111725760405162461bcd60e51b8152600401610b8e906123d3565b60005b81518110156110e15760016009600084848151811061119657611196612421565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806111d28161244d565b915050611175565b6000546001600160a01b031633146112045760405162461bcd60e51b8152600401610b8e906123d3565b601880546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146112505760405162461bcd60e51b8152600401610b8e906123d3565b43600d556019805460ff60b01b1916600160b01b179055565b601a5460405163bd14ae2760e01b81523360048201526001600160a01b039091169063bd14ae2790602401600060405180830381600087803b1580156112ae57600080fd5b505af11580156112c2573d6000803e3d6000fd5b50505050565b6000546001600160a01b031633146112f25760405162461bcd60e51b8152600401610b8e906123d3565b601c55565b6000546001600160a01b031633146113215760405162461bcd60e51b8152600401610b8e906123d3565b6001600160a01b0381166113865760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610b8e565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461140b5760405162461bcd60e51b8152600401610b8e906123d3565b6110e18282611b6c565b6000546001600160a01b0316331461143f5760405162461bcd60e51b8152600401610b8e906123d3565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b6000610c7483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611c7d565b600081848411156114d05760405162461bcd60e51b8152600401610b8e91906120f3565b5060006114dd8486612466565b95945050505050565b600080546001600160a01b0385811691161480159061151357506000546001600160a01b03848116911614155b1561157157601954600160b01b900460ff166115715760405162461bcd60e51b815260206004820152601760248201527f686f6c6420757220686f7273657320626967206775792e0000000000000000006044820152606401610b8e565b6001600160a01b03841660009081526009602052604090205460ff161580156115b357506001600160a01b03831660009081526009602052604090205460ff16155b6115bc57600080fd5b601954600160a01b900460ff16156115e0576115d9848484611cab565b9050610c74565b601c548211158061160957506001600160a01b0384166000908152600b602052604090205460ff165b61163a5760405162461bcd60e51b81526020600482015260026024820152610e8f60f31b6044820152606401610b8e565b6001600160a01b0383166000908152600b602052604090205460ff1615801561166c5750600854600160a01b900460ff165b156116ce57601d546001600160a01b0384166000908152600360205260409020546116979084611d91565b11156116ce5760405162461bcd60e51b81526020600482015260066024820152651dd85b1b195d60d21b6044820152606401610b8e565b6016546001600160a01b031633148015906116f35750601954600160a01b900460ff16155b80156117085750601954600160a81b900460ff165b80156117255750601e543060009081526003602052604090205410155b15611732576117326119de565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152600390915291909120546117849184906114ac565b6001600160a01b038516600090815260036020908152604080832093909355600a90529081205460ff161580156117d457506001600160a01b0384166000908152600a602052604090205460ff16155b6117de57826117e9565b6117e9858585611df0565b6001600160a01b03851660009081526003602052604090205490915061180f9082611d91565b6001600160a01b038086166000908152600360209081526040808320949094559188168152600c909152205460ff166118b357601a546001600160a01b0386811660008181526003602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b1580156118a057600080fd5b505af19250505080156118b1575060015b505b6001600160a01b0384166000908152600c602052604090205460ff1661194457601a546001600160a01b0385811660008181526003602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b15801561193157600080fd5b505af1925050508015611942575060015b505b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161198991815260200190565b60405180910390a3506001949350505050565b6000610c7483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114ac565b6019805460ff60a01b1916600160a01b17905530600090815260036020526040812054601254909190611a2490600290611a1e9060649082908790611eb3565b9061146a565b90506000611a32838361199c565b9050611a3d81611f35565b60004790506000611a5e6064611a1e60115485611eb390919063ffffffff16565b90506000611a7c6064611a1e60135486611eb390919063ffffffff16565b90506000611a9f6002611a1e6064611a1e60125489611eb390919063ffffffff16565b90508315611ae3576019546040516001600160a01b039091169083156108fc029084906000818181858888f19350505050158015611ae1573d6000803e3d6000fd5b505b601a60009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0846040518263ffffffff1660e01b81526004016000604051808303818588803b158015611b3357600080fd5b505af193505050508015611b45575060015b508515611b5657611b56868261205e565b50506019805460ff60a01b191690555050505050565b6001600160a01b0382163014801590611b9357506016546001600160a01b03838116911614155b611b9c57600080fd5b6001600160a01b0382166000908152600c60205260409020805460ff19168215801591909117909155611c3457601a54604051630a5b654b60e11b81526001600160a01b03848116600483015260006024830152909116906314b6ca9690604401600060405180830381600087803b158015611c1757600080fd5b505af1158015611c2b573d6000803e3d6000fd5b505050506110e1565b601a546001600160a01b0383811660008181526003602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401610d76565b60008183611c9e5760405162461bcd60e51b8152600401610b8e91906120f3565b5060006114dd848661247d565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600390915291822054611cfc9184906114ac565b6001600160a01b038086166000908152600360205260408082209390935590851681522054611d2b9083611d91565b6001600160a01b0380851660008181526003602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611d7f9086815260200190565b60405180910390a35060019392505050565b600080611d9e838561249f565b905083811015610c745760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610b8e565b60165460009081906001600160a01b03858116911614611e1257600f54611e16565b6010545b90506000611e296064611a1e8685611eb3565b30600090815260036020526040902054909150611e469082611d91565b30600081815260036020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611e979085815260200190565b60405180910390a3611ea9848261199c565b9695505050505050565b600082600003611ec557506000610b5e565b6000611ed183856124b7565b905082611ede858361247d565b14610c745760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610b8e565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611f6a57611f6a612421565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611fc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fe791906124d6565b81600181518110611ffa57611ffa612421565b60200260200101906001600160a01b031690816001600160a01b0316815250506120243083610af7565b5060155460405163791ac94760e01b81526001600160a01b039091169063791ac94790610d769085906000908690309042906004016124f3565b601554600e5460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af11580156120ce573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061106f9190612564565b600060208083528351808285015260005b8181101561212057858101830151858201604001528201612104565b81811115612132576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146110e357600080fd5b803561216881612148565b919050565b6000806040838503121561218057600080fd5b823561218b81612148565b946020939093013593505050565b6000602082840312156121ab57600080fd5b8135610c7481612148565b6000806000606084860312156121cb57600080fd5b83356121d681612148565b925060208401356121e681612148565b929592945050506040919091013590565b6000806040838503121561220a57600080fd5b50508035926020909101359150565b60008060006060848603121561222e57600080fd5b505081359360208301359350604090920135919050565b8035801515811461216857600080fd5b6000806040838503121561226857600080fd5b61218b83612245565b60006020828403121561228357600080fd5b5035919050565b6000806040838503121561229d57600080fd5b82356122a881612148565b91506122b660208401612245565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156122e857600080fd5b823567ffffffffffffffff8082111561230057600080fd5b818501915085601f83011261231457600080fd5b813581811115612326576123266122bf565b8060051b604051601f19603f8301168101818110858211171561234b5761234b6122bf565b60405291825284820192508381018501918883111561236957600080fd5b938501935b8285101561238e5761237f8561215d565b8452938501939285019261236e565b98975050505050505050565b600080604083850312156123ad57600080fd5b82356123b881612148565b915060208301356123c881612148565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561241a57600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161245f5761245f612437565b5060010190565b60008282101561247857612478612437565b500390565b60008261249a57634e487b7160e01b600052601260045260246000fd5b500490565b600082198211156124b2576124b2612437565b500190565b60008160001904831182151516156124d1576124d1612437565b500290565b6000602082840312156124e857600080fd5b8151610c7481612148565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156125435784516001600160a01b03168352938301939183019160010161251e565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561257957600080fd5b835192506020840151915060408401519050925092509256fea264697066735822122011b543a5c0701950e166203483c91a598f6e0537b5d1c096beff5abfa0ccc2a164736f6c634300080d0033
Deployed Bytecode Sourcemap
11443:11906:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13357:52;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;13357:52:0;;;;;;;;17423:80;;;;;;;;;;-1:-1:-1;17495:5:0;;;;;;;;;;;;-1:-1:-1;;;17495:5:0;;;;17423:80;;;;;;;:::i;17851:216::-;;;;;;;;;;-1:-1:-1;17851:216:0;;;;;:::i;:::-;;:::i;:::-;;;1558:14:1;;1551:22;1533:41;;1521:2;1506:18;17851:216:0;1393:187:1;17153:88:0;;;;;;;;;;-1:-1:-1;17226:12:0;;17153:88;;15596:123;;;;;;;;;;-1:-1:-1;15596:123:0;;;;;:::i;:::-;;:::i;:::-;;18365:366;;;;;;;;;;-1:-1:-1;18365:366:0;;;;;:::i;:::-;;:::i;16278:90::-;;;;;;;;;;-1:-1:-1;16278:90:0;;;;;:::i;:::-;;:::i;17003:142::-;;;;;;;;;;;;;:::i;12522:27::-;;;;;;;;;;;;;;;;16068:202;;;;;;;;;;-1:-1:-1;16068:202:0;;;;;:::i;:::-;;:::i;14862:233::-;;;;;;;;;;-1:-1:-1;14862:233:0;;;;;:::i;:::-;;:::i;14696:153::-;;;;;;;;;;-1:-1:-1;14696:153:0;;;;;:::i;:::-;;:::i;17247:80::-;;;;;;;;;;-1:-1:-1;17247:80:0;;11751:2;3274:36:1;;3262:2;3247:18;17247:80:0;3132:184:1;15861:199:0;;;;;;;;;;-1:-1:-1;15861:199:0;;;;;:::i;:::-;;:::i;11528:64::-;;;;;;;;;;-1:-1:-1;11528:64:0;;;;-1:-1:-1;;;;;11528:64:0;;;;;;-1:-1:-1;;;;;3903:32:1;;;3885:51;;3873:2;3858:18;11528:64:0;3739:203:1;12254:44:0;;;;;;;;;;-1:-1:-1;12254:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;12360:49;;;;;;;;;;-1:-1:-1;12360:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;12675:34;;;;;;;;;;;;;;;;12489:26;;;;;;;;;;;;;;;;12952:40;;;;;;;;;;-1:-1:-1;12952:40:0;;;;-1:-1:-1;;;12952:40:0;;;;;;16869:115;;;;;;;;;;-1:-1:-1;16869:115:0;;;;;:::i;:::-;;:::i;18075:122::-;;;;;;;;;;-1:-1:-1;18075:122:0;;;;;:::i;:::-;;:::i;12450:30::-;;;;;;;;;;-1:-1:-1;12450:30:0;;;;-1:-1:-1;;;;;12450:30:0;;;22648:74;;;;;;;;;;;;;:::i;17595:105::-;;;;;;;;;;-1:-1:-1;17595:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;17679:18:0;17661:7;17679:18;;;:9;:18;;;;;;;17595:105;3523:148;;;;;;;;;;;;;:::i;13252:44::-;;;;;;;;;;;;;;;;12635:31;;;;;;;;;;;;;;;;23096:158;;;;;;;;;;-1:-1:-1;23096:158:0;;;;;:::i;:::-;;:::i;15206:104::-;;;;;;;;;;-1:-1:-1;15206:104:0;;;;;:::i;:::-;;:::i;12173:26::-;;;;;;;;;;-1:-1:-1;12173:26:0;;;;-1:-1:-1;;;12173:26:0;;;;;;22971:117;;;;;;;;;;-1:-1:-1;22971:117:0;;;;;:::i;:::-;;:::i;22730:233::-;;;;;;;;;;;;;:::i;17509:80::-;;;;;;;;;;-1:-1:-1;17561:7:0;3374:6;-1:-1:-1;;;;;3374:6:0;17509:80;17003:142;12305:48;;;;;;;;;;-1:-1:-1;12305:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;12837:78;;;;;;;;;;-1:-1:-1;12837:78:0;;;;-1:-1:-1;;;;;12837:78:0;;;17333:84;;;;;;;;;;-1:-1:-1;17407:7:0;;;;;;;;;;;;-1:-1:-1;;;17407:7:0;;;;17333:84;;13043:38;;;;;;;;;;-1:-1:-1;13043:38:0;;;;-1:-1:-1;;;;;13043:38:0;;;15322:122;;;;;;;;;;-1:-1:-1;15322:122:0;;;;;:::i;:::-;;:::i;13088:37::-;;;;;;;;;;;;;;;;12749:19;;;;;;;;;;-1:-1:-1;12749:19:0;;;;-1:-1:-1;;;;;12749:19:0;;;18205:152;;;;;;;;;;-1:-1:-1;18205:152:0;;;;;:::i;:::-;;:::i;14349:166::-;;;;;;;;;;-1:-1:-1;14349:166:0;;;;;:::i;:::-;;:::i;15727:121::-;;;;;;;;;;-1:-1:-1;15727:121:0;;;;;:::i;:::-;;:::i;12418:25::-;;;;;;;;;;;;;;;;12775:22;;;;;;;;;;-1:-1:-1;12775:22:0;;;;-1:-1:-1;;;;;12775:22:0;;;12598:30;;;;;;;;;;;;;;;;14567:115;;;;;;;;;;;;;:::i;12558:33::-;;;;;;;;;;;;;;;;23262:84;;;;;;;;;;;;;:::i;15103:95::-;;;;;;;;;;-1:-1:-1;15103:95:0;;;;;:::i;:::-;;:::i;17706:133::-;;;;;;;;;;-1:-1:-1;17706:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;17808:19:0;;;17790:7;17808:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;17706:133;3679:244;;;;;;;;;;-1:-1:-1;3679:244:0;;;;;:::i;:::-;;:::i;16729:132::-;;;;;;;;;;-1:-1:-1;16729:132:0;;;;;:::i;:::-;;:::i;12718:24::-;;;;;;;;;;-1:-1:-1;12718:24:0;;;;-1:-1:-1;;;;;12718:24:0;;;13303:47;;;;;;;;;;;;;;;;15452:136;;;;;;;;;;-1:-1:-1;15452:136:0;;;;;:::i;:::-;;:::i;12999:31::-;;;;;;;;;;-1:-1:-1;12999:31:0;;;;-1:-1:-1;;;12999:31:0;;;;;;17851:216;17955:10;17926:4;17943:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;17943:32:0;;;;;;;;;;:41;;;18000:37;17926:4;;17943:32;;18000:37;;;;17978:6;160:25:1;;148:2;133:18;;14:177;18000:37:0;;;;;;;;-1:-1:-1;18055:4:0;17851:216;;;;;:::o;15596:123::-;3436:6;;-1:-1:-1;;;;;3436:6:0;2853:10;3436:22;3428:67;;;;-1:-1:-1;;;3428:67:0;;;;;;;:::i;:::-;;;;;;;;;15678:9:::1;:33:::0;;-1:-1:-1;;;;;;15678:33:0::1;-1:-1:-1::0;;;;;15678:33:0;;;::::1;::::0;;;::::1;::::0;;15596:123::o;18365:366::-;-1:-1:-1;;;;;18485:19:0;;18465:4;18485:19;;;:11;:19;;;;;;;;18505:10;18485:31;;;;;;;;-1:-1:-1;;18485:52:0;18482:186;;18587:69;;;;;;;;;;;-1:-1:-1;;;18587:69:0;;;;;;;;-1:-1:-1;;;;;18587:19:0;;-1:-1:-1;18587:19:0;;;:11;:19;;;;;18607:10;18587:31;;;;;;;;;;:69;;18623:6;;18587:35;:69::i;:::-;-1:-1:-1;;;;;18553:19:0;;;;;;:11;:19;;;;;;;;18573:10;18553:31;;;;;;;:103;18482:186;18687:36;18697:6;18705:9;18716:6;18687:9;:36::i;:::-;18680:43;;18365:366;;;;;;:::o;16278:90::-;3436:6;;-1:-1:-1;;;;;3436:6:0;2853:10;3436:22;3428:67;;;;-1:-1:-1;;;3428:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16340:12:0::1;16355:5;16340:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;16340:20:0::1;::::0;;16278:90::o;17003:142::-;17131:4;;-1:-1:-1;;;;;17131:4:0;17056:7;17679:18;;;:9;:18;;;;;;17083:54;;17110:4;;-1:-1:-1;;;;;17110:4:0;17661:7;17679:18;;;:9;:18;;;;;;17083:33;;:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;17076:61;;17003:142;:::o;16068:202::-;3436:6;;-1:-1:-1;;;;;3436:6:0;2853:10;3436:22;3428:67;;;;-1:-1:-1;;;3428:67:0;;;;;;;:::i;:::-;16181:15:::1;::::0;:73:::1;::::0;-1:-1:-1;;;16181:73:0;;::::1;::::0;::::1;7104:25:1::0;;;7145:18;;;7138:34;;;-1:-1:-1;;;;;16181:15:0;;::::1;::::0;:39:::1;::::0;7077:18:1;;16181:73:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;16068:202:::0;;:::o;14862:233::-;3436:6;;-1:-1:-1;;;;;3436:6:0;2853:10;3436:22;3428:67;;;;-1:-1:-1;;;3428:67:0;;;;;;;:::i;:::-;14986:13:::1;:28:::0;;;;15025:11:::1;:22:::0;15058:11:::1;:29:::0;14862:233::o;14696:153::-;3436:6;;-1:-1:-1;;;;;3436:6:0;2853:10;3436:22;3428:67;;;;-1:-1:-1;;;3428:67:0;;;;;;;:::i;:::-;14792:6:::1;:18:::0;;;;14821:7:::1;:20:::0;14696:153::o;15861:199::-;3436:6;;-1:-1:-1;;;;;3436:6:0;2853:10;3436:22;3428:67;;;;-1:-1:-1;;;3428:67:0;;;;;;;:::i;:::-;15970:21:::1;:39:::0;;;::::1;;-1:-1:-1::0;;;15970:39:0::1;-1:-1:-1::0;;;;15970:39:0;;::::1;::::0;;;::::1;::::0;;;16020:13:::1;:32:::0;15861:199::o;16869:115::-;3436:6;;-1:-1:-1;;;;;3436:6:0;2853:10;3436:22;3428:67;;;;-1:-1:-1;;;3428:67:0;;;;;;;:::i;:::-;16949:18:::1;:27:::0;16869:115::o;18075:122::-;18130:4;18154:35;18162:7;-1:-1:-1;;18154:7:0;:35::i;22648:74::-;3436:6;;-1:-1:-1;;;;;3436:6:0;2853:10;3436:22;3428:67;;;;-1:-1:-1;;;3428:67:0;;;;;;;:::i;:::-;22704:10:::1;:8;:10::i;:::-;22648:74::o:0;3523:148::-;3436:6;;-1:-1:-1;;;;;3436:6:0;2853:10;3436:22;3428:67;;;;-1:-1:-1;;;3428:67:0;;;;;;;:::i;:::-;3630:1:::1;3614:6:::0;;3593:40:::1;::::0;-1:-1:-1;;;;;3614:6:0;;::::1;::::0;3593:40:::1;::::0;3630:1;;3593:40:::1;3661:1;3644:19:::0;;-1:-1:-1;;;;;;3644:19:0::1;::::0;;3523:148::o;23096:158::-;23200:15;;:46;;-1:-1:-1;;;23200:46:0;;-1:-1:-1;;;;;3903:32:1;;;23200:46:0;;;3885:51:1;23173:7:0;;23200:15;;:33;;3858:18:1;;23200:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;15206:104::-;3436:6;;-1:-1:-1;;;;;3436:6:0;2853:10;3436:22;3428:67;;;;-1:-1:-1;;;3428:67:0;;;;;;;:::i;:::-;15281:9:::1;:21:::0;15206:104::o;22971:117::-;3436:6;;-1:-1:-1;;;;;3436:6:0;2853:10;3436:22;3428:67;;;;-1:-1:-1;;;3428:67:0;;;;;;;:::i;:::-;23046:15:::1;::::0;:34:::1;::::0;-1:-1:-1;;;;;;23046:34:0;;::::1;::::0;::::1;160:25:1::0;;;-1:-1:-1;;;;;23046:15:0;;::::1;::::0;:23:::1;::::0;133:18:1;;23046:34:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;22971:117:::0;:::o;22730:233::-;3436:6;;-1:-1:-1;;;;;3436:6:0;2853:10;3436:22;3428:67;;;;-1:-1:-1;;;3428:67:0;;;;;;;:::i;:::-;22814:21:::1;22849:22:::0;;22846:110:::1;;22905:9;::::0;22897:47:::1;::::0;-1:-1:-1;;;;;22905:9:0;;::::1;::::0;22897:47;::::1;;;::::0;22925:18;;22905:9:::1;22897:47:::0;22905:9;22897:47;22925:18;22905:9;22897:47;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;22846:110;22774:189;22730:233::o:0;15322:122::-;3436:6;;-1:-1:-1;;;;;3436:6:0;2853:10;3436:22;3428:67;;;;-1:-1:-1;;;3428:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15408:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;15408:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;15322:122::o;18205:152::-;18285:4;18309:40;18319:10;18331:9;18342:6;18309:9;:40::i;14349:166::-;3436:6;;-1:-1:-1;;;;;3436:6:0;2853:10;3436:22;3428:67;;;;-1:-1:-1;;;3428:67:0;;;;;;;:::i;:::-;14425:6:::1;14420:88;14441:5;:12;14437:1;:16;14420:88;;;14492:4;14475;:14;14480:5;14486:1;14480:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;14475:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;14475:14:0;:21;;-1:-1:-1;;14475:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14455:3;::::1;::::0;::::1;:::i;:::-;;;;14420:88;;15727:121:::0;3436:6;;-1:-1:-1;;;;;3436:6:0;2853:10;3436:22;3428:67;;;;-1:-1:-1;;;3428:67:0;;;;;;;:::i;:::-;15813:10:::1;:27:::0;;-1:-1:-1;;;;;;15813:27:0::1;-1:-1:-1::0;;;;;15813:27:0;;;::::1;::::0;;;::::1;::::0;;15727:121::o;14567:115::-;3436:6;;-1:-1:-1;;;;;3436:6:0;2853:10;3436:22;3428:67;;;;-1:-1:-1;;;3428:67:0;;;;;;;:::i;:::-;14633:12:::1;14620:10;:25:::0;14656:11:::1;:18:::0;;-1:-1:-1;;;;14656:18:0::1;-1:-1:-1::0;;;14656:18:0::1;::::0;;14567:115::o;23262:84::-;23301:15;;:37;;-1:-1:-1;;;23301:37:0;;23327:10;23301:37;;;3885:51:1;-1:-1:-1;;;;;23301:15:0;;;;:25;;3858:18:1;;23301:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23262:84::o;15103:95::-;3436:6;;-1:-1:-1;;;;;3436:6:0;2853:10;3436:22;3428:67;;;;-1:-1:-1;;;3428:67:0;;;;;;;:::i;:::-;15174:5:::1;:16:::0;15103:95::o;3679:244::-;3436:6;;-1:-1:-1;;;;;3436:6:0;2853:10;3436:22;3428:67;;;;-1:-1:-1;;;3428:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3768:22:0;::::1;3760:73;;;::::0;-1:-1:-1;;;3760:73:0;;7978:2:1;3760:73:0::1;::::0;::::1;7960:21:1::0;8017:2;7997:18;;;7990:30;8056:34;8036:18;;;8029:62;-1:-1:-1;;;8107:18:1;;;8100:36;8153:19;;3760:73:0::1;7776:402:1::0;3760:73:0::1;3870:6;::::0;;3849:38:::1;::::0;-1:-1:-1;;;;;3849:38:0;;::::1;::::0;3870:6;::::1;::::0;3849:38:::1;::::0;::::1;3898:6;:17:::0;;-1:-1:-1;;;;;;3898:17:0::1;-1:-1:-1::0;;;;;3898:17:0;;;::::1;::::0;;;::::1;::::0;;3679:244::o;16729:132::-;3436:6;;-1:-1:-1;;;;;3436:6:0;2853:10;3436:22;3428:67;;;;-1:-1:-1;;;3428:67:0;;;;;;;:::i;:::-;16817:36:::1;16838:6;16846;16817:20;:36::i;15452:136::-:0;3436:6;;-1:-1:-1;;;;;3436:6:0;2853:10;3436:22;3428:67;;;;-1:-1:-1;;;3428:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15548:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;15548:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;15452:136::o;1293:132::-;1351:7;1378:39;1382:1;1385;1378:39;;;;;;;;;;;;;;;;;:3;:39::i;839:192::-;925:7;961:12;953:6;;;;945:29;;;;-1:-1:-1;;;945:29:0;;;;;;;;:::i;:::-;-1:-1:-1;985:9:0;997:5;1001:1;997;:5;:::i;:::-;985:17;839:192;-1:-1:-1;;;;;839:192:0:o;18739:1432::-;18827:4;3374:6;;-1:-1:-1;;;;;18848:16:0;;;3374:6;;18848:16;;;;:39;;-1:-1:-1;3347:7:0;3374:6;-1:-1:-1;;;;;18868:19:0;;;3374:6;;18868:19;;18848:39;18844:92;;;18897:11;;-1:-1:-1;;;18897:11:0;;;;18889:47;;;;-1:-1:-1;;;18889:47:0;;8515:2:1;18889:47:0;;;8497:21:1;8554:2;8534:18;;;8527:30;8593:25;8573:18;;;8566:53;8636:18;;18889:47:0;8313:347:1;18889:47:0;-1:-1:-1;;;;;18998:12:0;;;;;;:4;:12;;;;;;;;18997:13;:33;;;;-1:-1:-1;;;;;;19015:15:0;;;;;;:4;:15;;;;;;;;19014:16;18997:33;18989:42;;;;;;19047:16;;-1:-1:-1;;;19047:16:0;;;;19044:73;;;19073:41;19088:6;19096:9;19107:6;19073:14;:41::i;:::-;19066:48;;;;19044:73;19147:5;;19137:6;:15;;:42;;;-1:-1:-1;;;;;;19156:23:0;;;;;;:15;:23;;;;;;;;19137:42;19129:57;;;;-1:-1:-1;;;19129:57:0;;8867:2:1;19129:57:0;;;8849:21:1;8906:1;8886:18;;;8879:29;-1:-1:-1;;;8924:18:1;;;8917:32;8966:18;;19129:57:0;8665:325:1;19129:57:0;-1:-1:-1;;;;;19203:26:0;;;;;;:15;:26;;;;;;;;19202:27;:38;;;;-1:-1:-1;19233:7:0;;-1:-1:-1;;;19233:7:0;;;;19202:38;19199:143;;;19310:9;;-1:-1:-1;;;;;19274:20:0;;;;;;:9;:20;;;;;;:32;;19299:6;19274:24;:32::i;:::-;:45;;19266:64;;;;-1:-1:-1;;;19266:64:0;;9197:2:1;19266:64:0;;;9179:21:1;9236:1;9216:18;;;9209:29;-1:-1:-1;;;9254:18:1;;;9247:36;9300:18;;19266:64:0;8995:329:1;19266:64:0;19371:4;;-1:-1:-1;;;;;19371:4:0;19357:10;:18;;;;:39;;-1:-1:-1;19380:16:0;;-1:-1:-1;;;19380:16:0;;;;19379:17;19357:39;:64;;;;-1:-1:-1;19400:21:0;;-1:-1:-1;;;19400:21:0;;;;19357:64;:109;;;;-1:-1:-1;19453:13:0;;19443:4;19425:24;;;;:9;:24;;;;;;:41;;19357:109;19354:128;;;19469:10;:8;:10::i;:::-;19514:53;;;;;;;;;;;-1:-1:-1;;;19514:53:0;;;;;;;;-1:-1:-1;;;;;19514:17:0;;-1:-1:-1;19514:17:0;;;:9;:17;;;;;;;;:53;;19536:6;;19514:21;:53::i;:::-;-1:-1:-1;;;;;19494:17:0;;;;;;:9;:17;;;;;;;;:73;;;;19611:11;:19;;;;;;;;19610:20;:47;;;;-1:-1:-1;;;;;;19635:22:0;;;;;;:11;:22;;;;;;;;19634:23;19610:47;:93;;19697:6;19610:93;;;19660:34;19668:6;19676:9;19687:6;19660:7;:34::i;:::-;-1:-1:-1;;;;;19737:20:0;;;;;;:9;:20;;;;;;19588:115;;-1:-1:-1;19737:37:0;;19588:115;19737:24;:37::i;:::-;-1:-1:-1;;;;;19714:20:0;;;;;;;:9;:20;;;;;;;;:60;;;;19820:24;;;;;:16;:24;;;;;;;19816:123;;19865:15;;-1:-1:-1;;;;;19898:17:0;;;19865:15;19898:17;;;:9;:17;;;;;;;;19865:51;;-1:-1:-1;;;19865:51:0;;;;;9503::1;;;;9570:18;;;9563:34;19865:15:0;;;:24;;9476:18:1;;19865:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19861:67;;-1:-1:-1;;;;;19955:27:0;;;;;;:16;:27;;;;;;;;19951:133;;20003:15;;-1:-1:-1;;;;;20039:20:0;;;20003:15;20039:20;;;:9;:20;;;;;;;;20003:57;;-1:-1:-1;;;20003:57:0;;;;;9503:51:1;;;;9570:18;;;9563:34;20003:15:0;;;:24;;9476:18:1;;20003:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19999:73;;20118:9;-1:-1:-1;;;;;20101:40:0;20110:6;-1:-1:-1;;;;;20101:40:0;;20129:11;20101:40;;;;160:25:1;;148:2;133:18;;14:177;20101:40:0;;;;;;;;-1:-1:-1;20159:4:0;;18739:1432;-1:-1:-1;;;;18739:1432:0:o;697:136::-;755:7;782:43;786:1;789;782:43;;;;;;;;;;;;;;;;;:3;:43::i;21721:919::-;13166:16;:23;;-1:-1:-1;;;;13166:23:0;-1:-1:-1;;;13166:23:0;;;21820:4:::1;13166:23:::0;21802:24;;;:9:::1;:24;::::0;;;;;21884:11:::1;::::0;21802:24;;13166:23;21867:45:::1;::::0;21910:1:::1;::::0;21867:38:::1;::::0;21901:3:::1;::::0;21867:38;;21802:24;;21867:16:::1;:29::i;:::-;:33:::0;::::1;:38::i;:45::-;21838:74:::0;-1:-1:-1;21928:20:0::1;21951:36;:12:::0;21838:74;21951:16:::1;:36::i;:::-;21928:59;;22000:30;22017:12;22000:16;:30::i;:::-;22043:23;22069:21;22043:47;;22101:18;22122:43;22161:3;22122:34;22142:13;;22122:15;:19;;:34;;;;:::i;:43::-;22101:64;;22176:17;22196:41;22233:3;22196:32;22216:11;;22196:15;:19;;:32;;;;:::i;:41::-;22176:61;;22248:23;22274:48;22320:1;22274:41;22311:3;22274:32;22294:11;;22274:15;:19;;:32;;;;:::i;:48::-;22248:74:::0;-1:-1:-1;22345:19:0;;22341:89:::1;;22388:9;::::0;22380:38:::1;::::0;-1:-1:-1;;;;;22388:9:0;;::::1;::::0;22380:38;::::1;;;::::0;22408:9;;22388::::1;22380:38:::0;22388:9;22380:38;22408:9;22388;22380:38;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;22341:89;22454:15;;;;;;;;;-1:-1:-1::0;;;;;22454:15:0::1;-1:-1:-1::0;;;;;22454:23:0::1;;22485:10;22454:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;22450:60:::0;22534:22;;22530:103:::1;;22572:49;22585:18;22605:15;22572:12;:49::i;:::-;-1:-1:-1::0;;13212:16:0;:24;;-1:-1:-1;;;;13212:24:0;;;-1:-1:-1;;;;;21721:919:0:o;16376:345::-;-1:-1:-1;;;;;16463:23:0;;16481:4;16463:23;;;;:41;;-1:-1:-1;16500:4:0;;-1:-1:-1;;;;;16490:14:0;;;16500:4;;16490:14;;16463:41;16455:50;;;;;;-1:-1:-1;;;;;16516:24:0;;;;;;:16;:24;;;;;:33;;-1:-1:-1;;16516:33:0;;;;;;;;;;;;16560:154;;16585:15;;:35;;-1:-1:-1;;;16585:35:0;;-1:-1:-1;;;;;9521:32:1;;;16585:35:0;;;9503:51:1;16585:15:0;9570:18:1;;;9563:34;16585:15:0;;;;:24;;9476:18:1;;16585:35:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16560:154;;;16651:15;;-1:-1:-1;;;;;16684:17:0;;;16651:15;16684:17;;;:9;:17;;;;;;;;16651:51;;-1:-1:-1;;;16651:51:0;;;;;9503::1;;;;9570:18;;;9563:34;16651:15:0;;;:24;;9476:18:1;;16651:51:0;9329:274:1;1431:345:0;1517:7;1619:12;1612:5;1604:28;;;;-1:-1:-1;;;1604:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1643:9:0;1655:5;1659:1;1655;:5;:::i;20183:330::-;20313:53;;;;;;;;;;;-1:-1:-1;;;20313:53:0;;;;;;;;-1:-1:-1;;;;;20313:17:0;;20276:4;20313:17;;;:9;:17;;;;;;;:53;;20335:6;;20313:21;:53::i;:::-;-1:-1:-1;;;;;20293:17:0;;;;;;;:9;:17;;;;;;:73;;;;20400:20;;;;;;;:32;;20425:6;20400:24;:32::i;:::-;-1:-1:-1;;;;;20377:20:0;;;;;;;:9;:20;;;;;;;:55;;;;20448:35;;;;;;;;;;20476:6;160:25:1;;148:2;133:18;;14:177;20448:35:0;;;;;;;;-1:-1:-1;20501:4:0;20183:330;;;;;:::o;510:181::-;568:7;;600:5;604:1;600;:5;:::i;:::-;588:17;;629:1;624;:6;;616:46;;;;-1:-1:-1;;;616:46:0;;10452:2:1;616:46:0;;;10434:21:1;10491:2;10471:18;;;10464:30;10530:29;10510:18;;;10503:57;10577:18;;616:46:0;10250:351:1;20527:427:0;20667:4;;20613:7;;;;-1:-1:-1;;;;;20667:17:0;;;:4;;:17;:36;;20697:6;;20667:36;;;20687:7;;20667:36;20643:60;-1:-1:-1;20714:17:0;20734:34;20764:3;20734:25;:6;20643:60;20734:10;:25::i;:34::-;20826:4;20808:24;;;;:9;:24;;;;;;20714:54;;-1:-1:-1;20808:39:0;;20714:54;20808:28;:39::i;:::-;20799:4;20781:24;;;;:9;:24;;;;;;;:66;;;;20863:42;;-1:-1:-1;;;;;20863:42:0;;;;;;;20895:9;160:25:1;;148:2;133:18;;14:177;20863:42:0;;;;;;;;20925:21;:6;20936:9;20925:10;:21::i;:::-;20918:28;20527:427;-1:-1:-1;;;;;;20527:427:0:o;1037:250::-;1095:7;1119:1;1124;1119:6;1115:47;;-1:-1:-1;1149:1:0;1142:8;;1115:47;1174:9;1186:5;1190:1;1186;:5;:::i;:::-;1174:17;-1:-1:-1;1219:1:0;1210:5;1214:1;1174:17;1210:5;:::i;:::-;:10;1202:56;;;;-1:-1:-1;;;1202:56:0;;10981:2:1;1202:56:0;;;10963:21:1;11020:2;11000:18;;;10993:30;11059:34;11039:18;;;11032:62;-1:-1:-1;;;11110:18:1;;;11103:31;11151:19;;1202:56:0;10779:397:1;20966:460:0;21058:16;;;21072:1;21058:16;;;;;;;;21034:21;;21058:16;;;;;;;;;;-1:-1:-1;21058:16:0;21034:40;;21103:4;21085;21090:1;21085:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;21085:23:0;;;:7;;;;;;;;;;:23;;;;21129:6;;:13;;;-1:-1:-1;;;21129:13:0;;;;:6;;;;;:11;;:13;;;;;21085:7;;21129:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21119:4;21124:1;21119:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;21119:23:0;;;-1:-1:-1;;;;;21119:23:0;;;;;21155:35;21171:4;21178:11;21155:7;:35::i;:::-;-1:-1:-1;21203:6:0;;:215;;-1:-1:-1;;;21203:215:0;;-1:-1:-1;;;;;21203:6:0;;;;:57;;:215;;21275:11;;21203:6;;21345:4;;21372;;21392:15;;21203:215;;;:::i;21434:279::-;21515:6;;21656:8;;21515:190;;-1:-1:-1;;;21515:190:0;;21578:4;21515:190;;;12763:34:1;12813:18;;;12806:34;;;21515:6:0;12856:18:1;;;12849:34;;;12899:18;;;12892:34;-1:-1:-1;;;;;21656:8:0;;;12942:19:1;;;12935:44;21679:15:0;12995:19:1;;;12988:35;21515:6:0;;;:22;;21545:9;;12697:19:1;;21515:190:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;196:597:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;634:6;631:1;628:13;625:91;;;704:1;699:2;690:6;679:9;675:22;671:31;664:42;625:91;-1:-1:-1;777:2:1;756:15;-1:-1:-1;;752:29:1;737:45;;;;784:2;733:54;;196:597;-1:-1:-1;;;196:597:1:o;798:131::-;-1:-1:-1;;;;;873:31:1;;863:42;;853:70;;919:1;916;909:12;934:134;1002:20;;1031:31;1002:20;1031:31;:::i;:::-;934:134;;;:::o;1073:315::-;1141:6;1149;1202:2;1190:9;1181:7;1177:23;1173:32;1170:52;;;1218:1;1215;1208:12;1170:52;1257:9;1244:23;1276:31;1301:5;1276:31;:::i;:::-;1326:5;1378:2;1363:18;;;;1350:32;;-1:-1:-1;;;1073:315:1:o;1585:255::-;1652:6;1705:2;1693:9;1684:7;1680:23;1676:32;1673:52;;;1721:1;1718;1711:12;1673:52;1760:9;1747:23;1779:31;1804:5;1779:31;:::i;1845:456::-;1922:6;1930;1938;1991:2;1979:9;1970:7;1966:23;1962:32;1959:52;;;2007:1;2004;1997:12;1959:52;2046:9;2033:23;2065:31;2090:5;2065:31;:::i;:::-;2115:5;-1:-1:-1;2172:2:1;2157:18;;2144:32;2185:33;2144:32;2185:33;:::i;:::-;1845:456;;2237:7;;-1:-1:-1;;;2291:2:1;2276:18;;;;2263:32;;1845:456::o;2558:248::-;2626:6;2634;2687:2;2675:9;2666:7;2662:23;2658:32;2655:52;;;2703:1;2700;2693:12;2655:52;-1:-1:-1;;2726:23:1;;;2796:2;2781:18;;;2768:32;;-1:-1:-1;2558:248:1:o;2811:316::-;2888:6;2896;2904;2957:2;2945:9;2936:7;2932:23;2928:32;2925:52;;;2973:1;2970;2963:12;2925:52;-1:-1:-1;;2996:23:1;;;3066:2;3051:18;;3038:32;;-1:-1:-1;3117:2:1;3102:18;;;3089:32;;2811:316;-1:-1:-1;2811:316:1:o;3321:160::-;3386:20;;3442:13;;3435:21;3425:32;;3415:60;;3471:1;3468;3461:12;3486:248;3551:6;3559;3612:2;3600:9;3591:7;3587:23;3583:32;3580:52;;;3628:1;3625;3618:12;3580:52;3651:26;3667:9;3651:26;:::i;3947:180::-;4006:6;4059:2;4047:9;4038:7;4034:23;4030:32;4027:52;;;4075:1;4072;4065:12;4027:52;-1:-1:-1;4098:23:1;;3947:180;-1:-1:-1;3947:180:1:o;4372:315::-;4437:6;4445;4498:2;4486:9;4477:7;4473:23;4469:32;4466:52;;;4514:1;4511;4504:12;4466:52;4553:9;4540:23;4572:31;4597:5;4572:31;:::i;:::-;4622:5;-1:-1:-1;4646:35:1;4677:2;4662:18;;4646:35;:::i;:::-;4636:45;;4372:315;;;;;:::o;4692:127::-;4753:10;4748:3;4744:20;4741:1;4734:31;4784:4;4781:1;4774:15;4808:4;4805:1;4798:15;4824:1121;4908:6;4939:2;4982;4970:9;4961:7;4957:23;4953:32;4950:52;;;4998:1;4995;4988:12;4950:52;5038:9;5025:23;5067:18;5108:2;5100:6;5097:14;5094:34;;;5124:1;5121;5114:12;5094:34;5162:6;5151:9;5147:22;5137:32;;5207:7;5200:4;5196:2;5192:13;5188:27;5178:55;;5229:1;5226;5219:12;5178:55;5265:2;5252:16;5287:2;5283;5280:10;5277:36;;;5293:18;;:::i;:::-;5339:2;5336:1;5332:10;5371:2;5365:9;5434:2;5430:7;5425:2;5421;5417:11;5413:25;5405:6;5401:38;5489:6;5477:10;5474:22;5469:2;5457:10;5454:18;5451:46;5448:72;;;5500:18;;:::i;:::-;5536:2;5529:22;5586:18;;;5620:15;;;;-1:-1:-1;5662:11:1;;;5658:20;;;5690:19;;;5687:39;;;5722:1;5719;5712:12;5687:39;5746:11;;;;5766:148;5782:6;5777:3;5774:15;5766:148;;;5848:23;5867:3;5848:23;:::i;:::-;5836:36;;5799:12;;;;5892;;;;5766:148;;;5933:6;4824:1121;-1:-1:-1;;;;;;;;4824:1121:1:o;5950:388::-;6018:6;6026;6079:2;6067:9;6058:7;6054:23;6050:32;6047:52;;;6095:1;6092;6085:12;6047:52;6134:9;6121:23;6153:31;6178:5;6153:31;:::i;:::-;6203:5;-1:-1:-1;6260:2:1;6245:18;;6232:32;6273:33;6232:32;6273:33;:::i;:::-;6325:7;6315:17;;;5950:388;;;;;:::o;6569:356::-;6771:2;6753:21;;;6790:18;;;6783:30;6849:34;6844:2;6829:18;;6822:62;6916:2;6901:18;;6569:356::o;7183:184::-;7253:6;7306:2;7294:9;7285:7;7281:23;7277:32;7274:52;;;7322:1;7319;7312:12;7274:52;-1:-1:-1;7345:16:1;;7183:184;-1:-1:-1;7183:184:1:o;7372:127::-;7433:10;7428:3;7424:20;7421:1;7414:31;7464:4;7461:1;7454:15;7488:4;7485:1;7478:15;7504:127;7565:10;7560:3;7556:20;7553:1;7546:31;7596:4;7593:1;7586:15;7620:4;7617:1;7610:15;7636:135;7675:3;7696:17;;;7693:43;;7716:18;;:::i;:::-;-1:-1:-1;7763:1:1;7752:13;;7636:135::o;8183:125::-;8223:4;8251:1;8248;8245:8;8242:34;;;8256:18;;:::i;:::-;-1:-1:-1;8293:9:1;;8183:125::o;9895:217::-;9935:1;9961;9951:132;;10005:10;10000:3;9996:20;9993:1;9986:31;10040:4;10037:1;10030:15;10068:4;10065:1;10058:15;9951:132;-1:-1:-1;10097:9:1;;9895:217::o;10117:128::-;10157:3;10188:1;10184:6;10181:1;10178:13;10175:39;;;10194:18;;:::i;:::-;-1:-1:-1;10230:9:1;;10117:128::o;10606:168::-;10646:7;10712:1;10708;10704:6;10700:14;10697:1;10694:21;10689:1;10682:9;10675:17;10671:45;10668:71;;;10719:18;;:::i;:::-;-1:-1:-1;10759:9:1;;10606:168::o;11181:251::-;11251:6;11304:2;11292:9;11283:7;11279:23;11275:32;11272:52;;;11320:1;11317;11310:12;11272:52;11352:9;11346:16;11371:31;11396:5;11371:31;:::i;11437:980::-;11699:4;11747:3;11736:9;11732:19;11778:6;11767:9;11760:25;11804:2;11842:6;11837:2;11826:9;11822:18;11815:34;11885:3;11880:2;11869:9;11865:18;11858:31;11909:6;11944;11938:13;11975:6;11967;11960:22;12013:3;12002:9;11998:19;11991:26;;12052:2;12044:6;12040:15;12026:29;;12073:1;12083:195;12097:6;12094:1;12091:13;12083:195;;;12162:13;;-1:-1:-1;;;;;12158:39:1;12146:52;;12253:15;;;;12218:12;;;;12194:1;12112:9;12083:195;;;-1:-1:-1;;;;;;;12334:32:1;;;;12329:2;12314:18;;12307:60;-1:-1:-1;;;12398:3:1;12383:19;12376:35;12295:3;11437:980;-1:-1:-1;;;11437:980:1:o;13034:306::-;13122:6;13130;13138;13191:2;13179:9;13170:7;13166:23;13162:32;13159:52;;;13207:1;13204;13197:12;13159:52;13236:9;13230:16;13220:26;;13286:2;13275:9;13271:18;13265:25;13255:35;;13330:2;13319:9;13315:18;13309:25;13299:35;;13034:306;;;;;:::o
Swarm Source
ipfs://6be3b003251d3671263c2b2cb427137c5d2170f712e55ef7be8ec8960f2ccb7e
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | Ether (ETH) | 100.00% | $3,285.34 | 0.0008483 | $2.79 |
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.