More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 38 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Set Excluded Fro... | 11284235 | 24 hrs ago | IN | 0 S | 0.00263263 | ||||
Transfer | 11279829 | 24 hrs ago | IN | 0 S | 0.00799529 | ||||
Transfer | 11279803 | 24 hrs ago | IN | 0 S | 0.02316823 | ||||
Transfer | 11279761 | 24 hrs ago | IN | 0 S | 0.01813443 | ||||
Transfer | 11279714 | 24 hrs ago | IN | 0 S | 0.02316823 | ||||
Transfer | 11279696 | 24 hrs ago | IN | 0 S | 0.00799595 | ||||
Transfer | 11279626 | 24 hrs ago | IN | 0 S | 0.00799529 | ||||
Transfer | 11279619 | 24 hrs ago | IN | 0 S | 0.02316823 | ||||
Transfer | 11279575 | 24 hrs ago | IN | 0 S | 0.02316823 | ||||
Transfer | 11279529 | 24 hrs ago | IN | 0 S | 0.02316823 | ||||
Transfer | 11278164 | 24 hrs ago | IN | 0 S | 0.02316823 | ||||
Transfer | 11278017 | 24 hrs ago | IN | 0 S | 0.02316823 | ||||
Transfer | 11277954 | 24 hrs ago | IN | 0 S | 0.02362308 | ||||
Transfer | 11277617 | 24 hrs ago | IN | 0 S | 0.02316823 | ||||
Transfer | 11277400 | 24 hrs ago | IN | 0 S | 0.02221697 | ||||
Transfer | 11276186 | 24 hrs ago | IN | 0 S | 0.02347329 | ||||
Transfer | 11276057 | 25 hrs ago | IN | 0 S | 0.00800915 | ||||
Set Liquidity Pa... | 11275684 | 25 hrs ago | IN | 0 S | 0.00253649 | ||||
Transfer | 11275312 | 25 hrs ago | IN | 0 S | 0.01405989 | ||||
Approve | 11275105 | 25 hrs ago | IN | 0 S | 0.00284786 | ||||
Approve | 11275101 | 25 hrs ago | IN | 0 S | 0.00284786 | ||||
Set Excluded Fro... | 11275051 | 25 hrs ago | IN | 0 S | 0.00263263 | ||||
Set Excluded Fro... | 11275002 | 25 hrs ago | IN | 0 S | 0.00154209 | ||||
Set Excluded Fro... | 11274892 | 25 hrs ago | IN | 0 S | 0.00263263 | ||||
Approve | 11273665 | 25 hrs ago | IN | 0 S | 0.00267706 |
Latest 25 internal transactions (View All)
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
11279803 | 24 hrs ago | 0.21939788 S | ||||
11279803 | 24 hrs ago | 0.21939788 S | ||||
11279761 | 24 hrs ago | 0.21961269 S | ||||
11279761 | 24 hrs ago | 0.21961269 S | ||||
11279714 | 24 hrs ago | 0.21982791 S | ||||
11279714 | 24 hrs ago | 0.21982791 S | ||||
11279619 | 24 hrs ago | 0.22004355 S | ||||
11279619 | 24 hrs ago | 0.22004355 S | ||||
11279575 | 24 hrs ago | 0.22025962 S | ||||
11279575 | 24 hrs ago | 0.22025962 S | ||||
11279529 | 24 hrs ago | 0.22047611 S | ||||
11279529 | 24 hrs ago | 0.22047611 S | ||||
11278164 | 24 hrs ago | 0.22069303 S | ||||
11278164 | 24 hrs ago | 0.22069303 S | ||||
11278017 | 24 hrs ago | 0.22091038 S | ||||
11278017 | 24 hrs ago | 0.22091038 S | ||||
11277954 | 24 hrs ago | 0.2211283 S | ||||
11277954 | 24 hrs ago | 0.2211283 S | ||||
11277617 | 24 hrs ago | 0.22149132 S | ||||
11277617 | 24 hrs ago | 0.22149132 S | ||||
11277400 | 24 hrs ago | 0.40182654 S | ||||
11277400 | 24 hrs ago | 0.40182654 S | ||||
11276186 | 24 hrs ago | 2.06196524 S | ||||
11276186 | 24 hrs ago | 2.87861638 S | ||||
11275312 | 25 hrs ago | 0.18334885 S |
Loading...
Loading
Contract Name:
DONOTBUYTESTING
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at SonicScan.org on 2025-03-02 */ // SPDX-License-Identifier: GPL-3.0 pragma solidity 0.6.12; // ---------------------- // LIBRARIES & INTERFACES // ---------------------- 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) { require(b <= a, "SafeMath: subtraction overflow"); return a - b; } 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) { require(b > 0, "SafeMath: division by zero"); return a / b; } } library PairLibrary { function sortTokens(address tokenA, address tokenB) internal pure returns (address token0, address token1) { require(tokenA != tokenB, "PairLibrary: IDENTICAL_ADDRESSES"); (token0, token1) = tokenA < tokenB ? (tokenA, tokenB) : (tokenB, tokenA); require(token0 != address(0), "PairLibrary: ZERO_ADDRESS"); } function pairFor(address factory, address tokenA, address tokenB) internal pure returns (address pair) { (address token0, address token1) = sortTokens(tokenA, tokenB); pair = address(uint(keccak256(abi.encodePacked( hex'ff', factory, keccak256(abi.encodePacked(token0, token1)), hex'96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f' )))); } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } interface IRouter { function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns (uint256 amountToken, uint256 amountETH, uint256 liquidity); function WETH() external pure returns (address); function swapExactTokensForETH( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function factory() external view returns (address); } abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return msg.sender; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() internal { _owner = _msgSender(); emit OwnershipTransferred(address(0), _owner); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public onlyOwner { require(newOwner != address(0), "Ownable: new owner is zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } // ---------------------- // SONIC NETWORK TOKEN CONTRACT // ---------------------- contract DONOTBUYTESTING is Context, IERC20, Ownable { using SafeMath for uint256; string private constant _name = "DONOTBUYTESTING"; string private constant _symbol = "DNBT"; uint8 private constant _decimals = 18; uint256 private constant _totalSupply = 1e6 * 10**18; uint256 private constant BATCH_SIZE = 100; // Process 100 holders per batch mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) public isExcludedFromRewards; mapping(address => bool) public isExcludedFromTax; mapping(address => bool) public isBlacklisted; mapping(address => bool) public isAdmin; mapping(address => bool) private isHolder; address[] private holders; mapping(address => uint256) private holderIndex; bool public tradingEnabled = false; bool public rewardDistributionEnabled = false; bool private inSwapAndLiquify; uint256 public taxFee = 10; // Default 10% tax uint256 public liquidityFee = 5; // 5% to liquidity uint256 public rewardsFee = 5; // 5% to rewards wallet uint256 public minimumTokensBeforeSwap = _totalSupply.div(10000); // 0.01% = 100 tokens uint256 public minimumTokensBeforeRewardDistribution = _totalSupply.div(10000); // 0.01% = 100 tokens uint256 public gasReserve = 1e18; // 1 S, adjustable uint256 public lastRewardIndex = 0; // Last processed holder index uint256 public currentRewardCycle = 0; // Current distribution cycle uint256 public rewardCycleBalance = 0; // Total rewards for current cycle address public rewardsWallet; address public devWallet; address public liquidityPair; IRouter public router; event RewardsDistributed(uint256 totalDistributed, uint256 cycle); event Blacklisted(address indexed account, bool isBlacklisted); event FeesUpdated(uint256 newFee); event ExcludedFromTax(address indexed account, bool isExcluded); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); event Debug(string step, uint256 value); event LowGasWarning(uint256 balance); modifier lockTheSwap { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } modifier nonReentrant { require(!inSwapAndLiquify, "ReentrancyGuard: reentrant call"); inSwapAndLiquify = true; _; inSwapAndLiquify = false; } constructor(address _router, address _rewardsWallet, address _devWallet) public { router = IRouter(_router); rewardsWallet = _rewardsWallet; devWallet = _devWallet; _balances[_msgSender()] = _totalSupply; isHolder[_msgSender()] = true; holderIndex[_msgSender()] = 0; holders.push(_msgSender()); emit Transfer(address(0), _msgSender(), _totalSupply); } // --- ERC20 Standard Functions --- function totalSupply() public view override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount)); return true; } function _transfer(address sender, address recipient, uint256 amount) internal { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); require(!isBlacklisted[sender], "Sender is blacklisted"); require(!isBlacklisted[recipient], "Recipient is blacklisted"); uint256 liquidityAmount = (sender == address(this) || isExcludedFromTax[sender]) ? 0 : amount.mul(liquidityFee).div(100); uint256 rewardsAmount = (sender == address(this) || isExcludedFromTax[sender]) ? 0 : amount.mul(rewardsFee).div(100); uint256 totalFee = liquidityAmount.add(rewardsAmount); uint256 transferAmount = amount.sub(totalFee); _balances[sender] = _balances[sender].sub(amount); _balances[recipient] = _balances[recipient].add(transferAmount); if (totalFee > 0) { _balances[address(this)] = _balances[address(this)].add(liquidityAmount); _balances[rewardsWallet] = _balances[rewardsWallet].add(rewardsAmount); emit Transfer(sender, address(this), liquidityAmount); emit Transfer(sender, rewardsWallet, rewardsAmount); } emit Transfer(sender, recipient, transferAmount); if (_balances[sender] == 0 && isHolder[sender]) { uint256 index = holderIndex[sender]; address lastHolder = holders[holders.length - 1]; holders[index] = lastHolder; holderIndex[lastHolder] = index; holders.pop(); delete holderIndex[sender]; isHolder[sender] = false; } if (!isHolder[recipient] && _balances[recipient] > 0) { isHolder[recipient] = true; holderIndex[recipient] = holders.length; holders.push(recipient); } if (!inSwapAndLiquify && sender != address(this) && _balances[address(this)] >= minimumTokensBeforeSwap) { swapAndLiquify(); } if (!inSwapAndLiquify && rewardDistributionEnabled && _balances[rewardsWallet] >= minimumTokensBeforeRewardDistribution) { uint256 start = lastRewardIndex; uint256 end = start.add(BATCH_SIZE) > holders.length ? holders.length : start.add(BATCH_SIZE); distributeRewards(start, end); lastRewardIndex = end; if (lastRewardIndex == holders.length) { lastRewardIndex = 0; currentRewardCycle = currentRewardCycle.add(1); rewardCycleBalance = 0; // Reset for next cycle } } } function _approve(address owner, address spender, uint256 amount) internal { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } // --- Admin Functions --- function setLiquidityPair(address _pair) external onlyOwner { require(_pair != address(0), "Liquidity pair cannot be zero address"); liquidityPair = _pair; } function setTradingEnabled(bool _enabled) external onlyOwner { tradingEnabled = _enabled; } function setRewardDistribution(bool _enabled) external onlyOwner { rewardDistributionEnabled = _enabled; if (_enabled && rewardCycleBalance == 0) { rewardCycleBalance = _balances[rewardsWallet]; // Set initial cycle balance } } function setExcludeFromRewards(address account, bool excluded) external { require(msg.sender == owner() || isAdmin[msg.sender], "Not authorized"); isExcludedFromRewards[account] = excluded; } function setExcludedFromTax(address account, bool excluded) external { require(msg.sender == owner() || isAdmin[msg.sender], "Not authorized"); isExcludedFromTax[account] = excluded; emit ExcludedFromTax(account, excluded); } function setBlacklist(address account, bool _blacklisted) external onlyOwner { isBlacklisted[account] = _blacklisted; emit Blacklisted(account, _blacklisted); } function setTaxFee(uint256 _taxFee, uint256 _liquidityFee, uint256 _rewardsFee) external onlyOwner { require(_taxFee <= 20, "Total fee too high"); taxFee = _taxFee; liquidityFee = _liquidityFee; rewardsFee = _rewardsFee; emit FeesUpdated(_taxFee); } function setAdmin(address account, bool _isAdmin) external onlyOwner { require(account != address(0), "Cannot set zero address as admin"); isAdmin[account] = _isAdmin; } function setMinimumTokensBeforeRewardDistribution(uint256 amount) external onlyOwner { minimumTokensBeforeRewardDistribution = amount; } function setGasReserve(uint256 amount) external onlyOwner { require(amount >= 1e17, "Gas reserve too low"); gasReserve = amount; } function setRouter(address _router) external onlyOwner { require(_router != address(0), "Router cannot be zero address"); router = IRouter(_router); } function distributeRewards(uint256 start, uint256 end) internal { require(end <= holders.length, "End index out of bounds"); if (rewardCycleBalance == 0) { rewardCycleBalance = _balances[rewardsWallet]; } uint256 rewardsBalance = rewardCycleBalance; for (uint256 i = start; i < end; i++) { address holder = holders[i]; if (!isExcludedFromRewards[holder]) { uint256 share = _balances[holder].mul(rewardsBalance).div(_totalSupply); _balances[rewardsWallet] = _balances[rewardsWallet].sub(share); _balances[holder] = _balances[holder].add(share); emit Transfer(rewardsWallet, holder, share); } } emit RewardsDistributed(rewardsBalance, currentRewardCycle); } function manualDistributeRewards(uint256 start, uint256 end) external nonReentrant { require(msg.sender == owner() || isAdmin[msg.sender], "Not authorized"); require(start < end, "Start must be less than end"); distributeRewards(start, end); } function swapAndLiquify() internal lockTheSwap { uint256 half = _balances[address(this)].div(2); emit Debug("Half", half); uint256 otherHalf = _balances[address(this)].sub(half); emit Debug("OtherHalf", otherHalf); uint256 initialBalance = address(this).balance; swapTokensForEth(half); uint256 newBalance = address(this).balance.sub(initialBalance); emit Debug("NewBalance", newBalance); addLiquidity(otherHalf, newBalance); emit Debug("LiquidityAdded", 0); } function manualSwapAndLiquify(uint256 amount) external nonReentrant { require(msg.sender == owner() || isAdmin[msg.sender], "Not authorized"); emit Debug("Start", amount); require(_balances[address(this)] >= amount, "Insufficient contract balance"); emit Debug("BalanceChecked", _balances[address(this)]); uint256 half = amount.div(2); emit Debug("Half", half); uint256 otherHalf = amount.sub(half); emit Debug("OtherHalf", otherHalf); uint256 initialBalance = address(this).balance; emit Debug("InitialBalance", initialBalance); swapTokensForEth(half); uint256 newBalance = address(this).balance.sub(initialBalance); emit Debug("NewBalance", newBalance); addLiquidity(otherHalf, newBalance); emit Debug("LiquidityAdded", 0); } function swapTokensForEth(uint256 tokenAmount) internal { emit Debug("SwapStart", tokenAmount); address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); emit Debug("PathSet", 0); _approve(address(this), address(router), tokenAmount); emit Debug("Approved", tokenAmount); address pair = liquidityPair != address(0) ? liquidityPair : PairLibrary.pairFor(router.factory(), path[0], path[1]); emit Debug("PairUsed", uint(pair)); router.swapExactTokensForETH( tokenAmount, 1, path, address(this), block.timestamp + 300 ); emit Debug("SwapDone", 0); } function addLiquidity(uint256 tokenAmount, uint256 ethAmount) internal { if (address(this).balance <= gasReserve) { emit LowGasWarning(address(this).balance); return; } uint256 availableEth = address(this).balance.sub(gasReserve); uint256 ethToUse = ethAmount <= availableEth ? ethAmount : availableEth; _approve(address(this), address(router), tokenAmount); router.addLiquidityETH{value: ethToUse}( address(this), tokenAmount, 0, 0, owner(), block.timestamp + 300 ); } receive() external payable {} function withdrawS(uint256 amount) external onlyOwner { uint256 available = address(this).balance.sub(gasReserve); require(amount <= available, "Insufficient available balance"); payable(msg.sender).transfer(amount); } // --- View Functions --- function getHolders() external view returns (address[] memory) { return holders; } function getPair() external view returns (address) { return PairLibrary.pairFor(router.factory(), address(this), router.WETH()); } function getRouterDetails() external view returns (address weth, address factory) { return (router.WETH(), router.factory()); } // --- Testing Functions --- function testSwap(uint256 amount) external onlyOwner { swapTokensForEth(amount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_router","type":"address"},{"internalType":"address","name":"_rewardsWallet","type":"address"},{"internalType":"address","name":"_devWallet","type":"address"}],"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":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isBlacklisted","type":"bool"}],"name":"Blacklisted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"step","type":"string"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Debug","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludedFromTax","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newFee","type":"uint256"}],"name":"FeesUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"balance","type":"uint256"}],"name":"LowGasWarning","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":false,"internalType":"uint256","name":"totalDistributed","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"cycle","type":"uint256"}],"name":"RewardsDistributed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRewardCycle","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"devWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"gasReserve","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getHolders","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getRouterDetails","outputs":[{"internalType":"address","name":"weth","type":"address"},{"internalType":"address","name":"factory","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isAdmin","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromRewards","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromTax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastRewardIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"name":"manualDistributeRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"manualSwapAndLiquify","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"minimumTokensBeforeRewardDistribution","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumTokensBeforeSwap","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rewardCycleBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardDistributionEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardsFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardsWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"_isAdmin","type":"bool"}],"name":"setAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"_blacklisted","type":"bool"}],"name":"setBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"setExcludeFromRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"setExcludedFromTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setGasReserve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"}],"name":"setLiquidityPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMinimumTokensBeforeRewardDistribution","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setRewardDistribution","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_router","type":"address"}],"name":"setRouter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_taxFee","type":"uint256"},{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_rewardsFee","type":"uint256"}],"name":"setTaxFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setTradingEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"taxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"testSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawS","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526000600a60006101000a81548160ff0219169083151502179055506000600a60016101000a81548160ff021916908315150217905550600a600b556005600c556005600d556200006f61271069d3c21bcecceda1000000620004ad60201b620036111790919060201c565b600e556200009861271069d3c21bcecceda1000000620004ad60201b620036111790919060201c565b600f55670de0b6b3a7640000601055600060115560006012556000601355348015620000c357600080fd5b50604051620061a7380380620061a783398181016040526060811015620000e957600080fd5b810190808051906020019092919080519060200190929190805190602001909291905050506200011e6200053860201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a382601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555069d3c21bcecceda100000060016000620002ba6200053860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600760006200030e6200053860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600060096000620003756200053860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506008620003c56200053860201b60201c565b9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620004356200053860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef69d3c21bcecceda10000006040518082815260200191505060405180910390a350505062000540565b600080821162000525576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060200191505060405180910390fd5b8183816200052f57fe5b04905092915050565b600033905090565b615c5780620005506000396000f3fe6080604052600436106102b25760003560e01c8063745cc33a11610175578063c1f1b1b5116100dc578063dd62ed3e11610095578063eea7570e1161006f578063eea7570e14610fec578063f2fde38b14611017578063f887ea4014611068578063fe575a87146110a9576102b9565b8063dd62ed3e14610eef578063df4a515414610f74578063ee9f36d814610faf576102b9565b8063c1f1b1b514610d3d578063c2e5ec0414610d7e578063c2ed286b14610dbb578063c9f99d9b14610e18578063cb4ca63114610e5d578063d2d7ad8314610ec4576102b9565b80639d93598e1161012e5780639d93598e14610b75578063a071dcf414610bc6578063a8be6a4c14610bf1578063a9059cbb14610c1e578063bb1224ea14610c8f578063c0d7865514610cec576102b9565b8063745cc33a146109cc578063808a5457146109f75780638da5cb5b14610a385780638ea5220f14610a7957806395d89b4114610aba57806398118cb414610b4a576102b9565b80632b898060116102195780634b0bddd2116101d25780634b0bddd21461081b5780634dd7dee0146108785780635b35f9c9146108a35780635fe8e7cc146108e457806370a0823114610950578063715018a6146109b5576102b9565b80632b898060146106bd5780632bb14e1d1461071b5780632c174ac714610746578063313ce56714610771578063324c34541461079f5780634ada218b146107ee576102b9565b8063153b0d1e1161026b578063153b0d1e146104c757806316c66c1e1461052457806318160ddd1461055f5780631a2315b81461058a57806323b872dd146105c557806324d7806c14610656576102b9565b806302be70fd146102be57806306fdde03146102e9578063095ea7b314610379578063099fa0f2146103ea5780630d5260e7146104255780630e83227314610460576102b9565b366102b957005b600080fd5b3480156102ca57600080fd5b506102d3611110565b6040518082815260200191505060405180910390f35b3480156102f557600080fd5b506102fe611116565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561033e578082015181840152602081019050610323565b50505050905090810190601f16801561036b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561038557600080fd5b506103d26004803603604081101561039c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611153565b60405180821515815260200191505060405180910390f35b3480156103f657600080fd5b506104236004803603602081101561040d57600080fd5b8101908080359060200190929190505050611171565b005b34801561043157600080fd5b5061045e6004803603602081101561044857600080fd5b8101908080359060200190929190505050611245565b005b34801561046c57600080fd5b506104af6004803603602081101561048357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611395565b60405180821515815260200191505060405180910390f35b3480156104d357600080fd5b50610522600480360360408110156104ea57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506113b5565b005b34801561053057600080fd5b5061055d6004803603602081101561054757600080fd5b8101908080359060200190929190505050611528565b005b34801561056b57600080fd5b50610574611b47565b6040518082815260200191505060405180910390f35b34801561059657600080fd5b506105c3600480360360208110156105ad57600080fd5b8101908080359060200190929190505050611b59565b005b3480156105d157600080fd5b5061063e600480360360608110156105e857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611cfb565b60405180821515815260200191505060405180910390f35b34801561066257600080fd5b506106a56004803603602081101561067957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611dba565b60405180821515815260200191505060405180910390f35b3480156106c957600080fd5b506106d2611dda565b604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390f35b34801561072757600080fd5b50610730611f2b565b6040518082815260200191505060405180910390f35b34801561075257600080fd5b5061075b611f31565b6040518082815260200191505060405180910390f35b34801561077d57600080fd5b50610786611f37565b604051808260ff16815260200191505060405180910390f35b3480156107ab57600080fd5b506107ec600480360360608110156107c257600080fd5b81019080803590602001909291908035906020019092919080359060200190929190505050611f40565b005b3480156107fa57600080fd5b506108036120d0565b60405180821515815260200191505060405180910390f35b34801561082757600080fd5b506108766004803603604081101561083e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506120e3565b005b34801561088457600080fd5b5061088d6122a9565b6040518082815260200191505060405180910390f35b3480156108af57600080fd5b506108b86122af565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156108f057600080fd5b506108f96122d5565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561093c578082015181840152602081019050610921565b505050509050019250505060405180910390f35b34801561095c57600080fd5b5061099f6004803603602081101561097357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612363565b6040518082815260200191505060405180910390f35b3480156109c157600080fd5b506109ca6123ac565b005b3480156109d857600080fd5b506109e1612532565b6040518082815260200191505060405180910390f35b348015610a0357600080fd5b50610a0c612538565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610a4457600080fd5b50610a4d61255e565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610a8557600080fd5b50610a8e612587565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610ac657600080fd5b50610acf6125ad565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610b0f578082015181840152602081019050610af4565b50505050905090810190601f168015610b3c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610b5657600080fd5b50610b5f6125ea565b6040518082815260200191505060405180910390f35b348015610b8157600080fd5b50610bc460048036036020811015610b9857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506125f0565b005b348015610bd257600080fd5b50610bdb612782565b6040518082815260200191505060405180910390f35b348015610bfd57600080fd5b50610c06612788565b60405180821515815260200191505060405180910390f35b348015610c2a57600080fd5b50610c7760048036036040811015610c4157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061279b565b60405180821515815260200191505060405180910390f35b348015610c9b57600080fd5b50610cea60048036036040811015610cb257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506127b9565b005b348015610cf857600080fd5b50610d3b60048036036020811015610d0f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612910565b005b348015610d4957600080fd5b50610d52612abf565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610d8a57600080fd5b50610db960048036036020811015610da157600080fd5b81019080803515159060200190929190505050612c15565b005b348015610dc757600080fd5b50610e1660048036036040811015610dde57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050612cfa565b005b348015610e2457600080fd5b50610e5b60048036036040811015610e3b57600080fd5b810190808035906020019092919080359060200190929190505050612ea1565b005b348015610e6957600080fd5b50610eac60048036036020811015610e8057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506130d9565b60405180821515815260200191505060405180910390f35b348015610ed057600080fd5b50610ed96130f9565b6040518082815260200191505060405180910390f35b348015610efb57600080fd5b50610f5e60048036036040811015610f1257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506130ff565b6040518082815260200191505060405180910390f35b348015610f8057600080fd5b50610fad60048036036020811015610f9757600080fd5b8101908080359060200190929190505050613186565b005b348015610fbb57600080fd5b50610fea60048036036020811015610fd257600080fd5b81019080803515159060200190929190505050613258565b005b348015610ff857600080fd5b506110016133ba565b6040518082815260200191505060405180910390f35b34801561102357600080fd5b506110666004803603602081101561103a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506133c0565b005b34801561107457600080fd5b5061107d6135cb565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156110b557600080fd5b506110f8600480360360208110156110cc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506135f1565b60405180821515815260200191505060405180910390f35b600f5481565b60606040518060400160405280600f81526020017f444f4e4f5442555954455354494e470000000000000000000000000000000000815250905090565b600061116761116061369a565b84846136a2565b6001905092915050565b61117961369a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611239576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b61124281613899565b50565b61124d61369a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461130d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b67016345785d8a000081101561138b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f476173207265736572766520746f6f206c6f770000000000000000000000000081525060200191505060405180910390fd5b8060108190555050565b60036020528060005260406000206000915054906101000a900460ff1681565b6113bd61369a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461147d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167fcf3473b85df1594d47b6958f29a32bea0abff9dd68296f7bf33443646793cfd88260405180821515815260200191505060405180910390a25050565b600a60029054906101000a900460ff16156115ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b6001600a60026101000a81548160ff0219169083151502179055506115ce61255e565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806116505750600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6116c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4e6f7420617574686f72697a656400000000000000000000000000000000000081525060200191505060405180910390fd5b7f3c5ad147104e56be34a9176a6692f7df8d2f4b29a5af06bc6b98970d329d6577816040518080602001838152602001828103825260058152602001807f53746172740000000000000000000000000000000000000000000000000000008152506020019250505060405180910390a180600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156117e7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f496e73756666696369656e7420636f6e74726163742062616c616e636500000081525060200191505060405180910390fd5b7f3c5ad147104e56be34a9176a6692f7df8d2f4b29a5af06bc6b98970d329d6577600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460405180806020018381526020018281038252600e8152602001807f42616c616e6365436865636b65640000000000000000000000000000000000008152506020019250505060405180910390a160006118ac60028361361190919063ffffffff16565b90507f3c5ad147104e56be34a9176a6692f7df8d2f4b29a5af06bc6b98970d329d6577816040518080602001838152602001828103825260048152602001807f48616c66000000000000000000000000000000000000000000000000000000008152506020019250505060405180910390a160006119338284613fb090919063ffffffff16565b90507f3c5ad147104e56be34a9176a6692f7df8d2f4b29a5af06bc6b98970d329d6577816040518080602001838152602001828103825260098152602001807f4f7468657248616c6600000000000000000000000000000000000000000000008152506020019250505060405180910390a160004790507f3c5ad147104e56be34a9176a6692f7df8d2f4b29a5af06bc6b98970d329d65778160405180806020018381526020018281038252600e8152602001807f496e697469616c42616c616e63650000000000000000000000000000000000008152506020019250505060405180910390a1611a2383613899565b6000611a388247613fb090919063ffffffff16565b90507f3c5ad147104e56be34a9176a6692f7df8d2f4b29a5af06bc6b98970d329d65778160405180806020018381526020018281038252600a8152602001807f4e657742616c616e6365000000000000000000000000000000000000000000008152506020019250505060405180910390a1611ab48382614033565b7f3c5ad147104e56be34a9176a6692f7df8d2f4b29a5af06bc6b98970d329d6577600060405180806020018381526020018281038252600e8152602001807f4c697175696469747941646465640000000000000000000000000000000000008152506020019250505060405180910390a1505050506000600a60026101000a81548160ff02191690831515021790555050565b600069d3c21bcecceda1000000905090565b611b6161369a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c21576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000611c3860105447613fb090919063ffffffff16565b905080821115611cb0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f496e73756666696369656e7420617661696c61626c652062616c616e6365000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015611cf6573d6000803e3d6000fd5b505050565b6000611d08848484614201565b611daf84611d1461369a565b611daa85600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000611d6161369a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613fb090919063ffffffff16565b6136a2565b600190509392505050565b60066020528060005260406000206000915054906101000a900460ff1681565b600080601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611e4557600080fd5b505afa158015611e59573d6000803e3d6000fd5b505050506040513d6020811015611e6f57600080fd5b8101908080519060200190929190505050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015611ee857600080fd5b505afa158015611efc573d6000803e3d6000fd5b505050506040513d6020811015611f1257600080fd5b8101908080519060200190929190505050915091509091565b600d5481565b60135481565b60006012905090565b611f4861369a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612008576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b601483111561207f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f546f74616c2066656520746f6f2068696768000000000000000000000000000081525060200191505060405180910390fd5b82600b8190555081600c8190555080600d819055507f9fe6eeb0f0541c644a56c67efeb872dbadd803a60b909d7dde1b35a3fe230b0e836040518082815260200191505060405180910390a1505050565b600a60009054906101000a900460ff1681565b6120eb61369a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146121ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561224e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f43616e6e6f7420736574207a65726f20616464726573732061732061646d696e81525060200191505060405180910390fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60125481565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6060600880548060200260200160405190810160405280929190818152602001828054801561235957602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831161230f575b5050505050905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6123b461369a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612474576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60115481565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606040518060400160405280600481526020017f444e425400000000000000000000000000000000000000000000000000000000815250905090565b600c5481565b6125f861369a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146126b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561273e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b2c6025913960400191505060405180910390fd5b80601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600b5481565b600a60019054906101000a900460ff1681565b60006127af6127a861369a565b8484614201565b6001905092915050565b6127c161255e565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806128435750600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6128b5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4e6f7420617574686f72697a656400000000000000000000000000000000000081525060200191505060405180910390fd5b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61291861369a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146129d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612a7b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f526f757465722063616e6e6f74206265207a65726f206164647265737300000081525060200191505060405180910390fd5b80601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000612c10601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015612b2c57600080fd5b505afa158015612b40573d6000803e3d6000fd5b505050506040513d6020811015612b5657600080fd5b810190808051906020019092919050505030601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015612bd057600080fd5b505afa158015612be4573d6000803e3d6000fd5b505050506040513d6020811015612bfa57600080fd5b8101908080519060200190929190505050615048565b905090565b612c1d61369a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612cdd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600a60006101000a81548160ff02191690831515021790555050565b612d0261255e565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480612d845750600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612df6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4e6f7420617574686f72697a656400000000000000000000000000000000000081525060200191505060405180910390fd5b80600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167fea5814d1cf99e5f6aee98da410ea4adcdbe5ded97855de3b25144b0898d0be4a8260405180821515815260200191505060405180910390a25050565b600a60029054906101000a900460ff1615612f24576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b6001600a60026101000a81548160ff021916908315150217905550612f4761255e565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480612fc95750600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61303b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4e6f7420617574686f72697a656400000000000000000000000000000000000081525060200191505060405180910390fd5b8082106130b0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5374617274206d757374206265206c657373207468616e20656e64000000000081525060200191505060405180910390fd5b6130ba8282615161565b6000600a60026101000a81548160ff0219169083151502179055505050565b60046020528060005260406000206000915054906101000a900460ff1681565b600e5481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61318e61369a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461324e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600f8190555050565b61326061369a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613320576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600a60016101000a81548160ff02191690831515021790555080801561334957506000601354145b156133b75760016000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546013819055505b50565b60105481565b6133c861369a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613488576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561350e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180615c006022913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60056020528060005260406000206000915054906101000a900460ff1681565b6000808211613688576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060200191505060405180910390fd5b81838161369157fe5b04905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415613728576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180615bdc6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156137ae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180615b746022913960400191505060405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b7f3c5ad147104e56be34a9176a6692f7df8d2f4b29a5af06bc6b98970d329d6577816040518080602001838152602001828103825260098152602001807f53776170537461727400000000000000000000000000000000000000000000008152506020019250505060405180910390a16060600267ffffffffffffffff8111801561392357600080fd5b506040519080825280602002602001820160405280156139525781602001602082028036833780820191505090505b509050308160008151811061396357fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015613a0557600080fd5b505afa158015613a19573d6000803e3d6000fd5b505050506040513d6020811015613a2f57600080fd5b810190808051906020019092919050505081600181518110613a4d57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f3c5ad147104e56be34a9176a6692f7df8d2f4b29a5af06bc6b98970d329d657760006040518080602001838152602001828103825260078152602001807f50617468536574000000000000000000000000000000000000000000000000008152506020019250505060405180910390a1613b2530601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846136a2565b7f3c5ad147104e56be34a9176a6692f7df8d2f4b29a5af06bc6b98970d329d6577826040518080602001838152602001828103825260088152602001807f417070726f7665640000000000000000000000000000000000000000000000008152506020019250505060405180910390a160008073ffffffffffffffffffffffffffffffffffffffff16601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415613cc757613cc2601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015613c5857600080fd5b505afa158015613c6c573d6000803e3d6000fd5b505050506040513d6020811015613c8257600080fd5b810190808051906020019092919050505083600081518110613ca057fe5b602002602001015184600181518110613cb557fe5b6020026020010151615048565b613ceb565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff165b90507f3c5ad147104e56be34a9176a6692f7df8d2f4b29a5af06bc6b98970d329d65778173ffffffffffffffffffffffffffffffffffffffff166040518080602001838152602001828103825260088152602001807f50616972557365640000000000000000000000000000000000000000000000008152506020019250505060405180910390a1601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318cbafe5846001853061012c42016040518663ffffffff1660e01b815260040180868152602001858152602001806020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b83811015613e3b578082015181840152602081019050613e20565b505050509050019650505050505050600060405180830381600087803b158015613e6457600080fd5b505af1158015613e78573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015613ea257600080fd5b8101908080516040519392919084640100000000821115613ec257600080fd5b83820191506020820185811115613ed857600080fd5b8251866020820283011164010000000082111715613ef557600080fd5b8083526020830192505050908051906020019060200280838360005b83811015613f2c578082015181840152602081019050613f11565b50505050905001604052505050507f3c5ad147104e56be34a9176a6692f7df8d2f4b29a5af06bc6b98970d329d657760006040518080602001838152602001828103825260088152602001807f53776170446f6e650000000000000000000000000000000000000000000000008152506020019250505060405180910390a1505050565b600082821115614028576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b818303905092915050565b6010544711614078577ff7afa2d75d922990e716d91aed429d76b60d9e7f944fe9262b79f4a4f31f72be476040518082815260200191505060405180910390a16141fd565b600061408f60105447613fb090919063ffffffff16565b90506000818311156140a157816140a3565b825b90506140d230601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16866136a2565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71982308760008061411e61255e565b61012c42016040518863ffffffff1660e01b8152600401808773ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200196505050505050506060604051808303818588803b1580156141a757600080fd5b505af11580156141bb573d6000803e3d6000fd5b50505050506040513d60608110156141d257600080fd5b8101908080519060200190929190805190602001909291908051906020019092919050505050505050505b5050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415614287576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615bb76025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561430d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180615b516023913960400191505060405180910390fd5b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156143cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f53656e64657220697320626c61636b6c6973746564000000000000000000000081525060200191505060405180910390fd5b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561448d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f526563697069656e7420697320626c61636b6c6973746564000000000000000081525060200191505060405180910390fd5b60003073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806145125750600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6145435761453e6064614530600c54856155b090919063ffffffff16565b61361190919063ffffffff16565b614546565b60005b905060003073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614806145cd5750600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6145fe576145f960646145eb600d54866155b090919063ffffffff16565b61361190919063ffffffff16565b614601565b60005b90506000614618828461563690919063ffffffff16565b9050600061462f8286613fb090919063ffffffff16565b905061468385600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613fb090919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061471881600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461563690919063ffffffff16565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008211156149bf576147b684600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461563690919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061486d8360016000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461563690919063ffffffff16565b60016000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a3601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a35b8573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a36000600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054148015614abc5750600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15614cc1576000600960008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600860016008805490500381548110614b1c57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508060088381548110614b5757fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506008805480614bee57fe5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690559055600960008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600090556000600760008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050505b600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015614d5a57506000600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b15614e64576001600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600880549050600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506008869080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b600a60029054906101000a900460ff16158015614ead57503073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614155b8015614efa5750600e54600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b15614f0857614f076156be565b5b600a60029054906101000a900460ff16158015614f315750600a60019054906101000a900460ff165b8015614fa05750600f5460016000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b1561503f57600060115490506000600880549050614fc860648461563690919063ffffffff16565b11614fe657614fe160648361563690919063ffffffff16565b614fed565b6008805490505b9050614ff98282615161565b80601181905550600880549050601154141561503c57600060118190555061502d600160125461563690919063ffffffff16565b60128190555060006013819055505b50505b50505050505050565b60008060006150578585615997565b91509150858282604051602001808373ffffffffffffffffffffffffffffffffffffffff1660601b81526014018273ffffffffffffffffffffffffffffffffffffffff1660601b8152601401925050506040516020818303038152906040528051906020012060405160200180807fff000000000000000000000000000000000000000000000000000000000000008152506001018373ffffffffffffffffffffffffffffffffffffffff1660601b8152601401828152602001807f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f815250602001925050506040516020818303038152906040528051906020012060001c925050509392505050565b6008805490508111156151dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f456e6420696e646578206f7574206f6620626f756e647300000000000000000081525060200191505060405180910390fd5b600060135414156152505760016000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546013819055505b6000601354905060008390505b828110156155695760006008828154811061527457fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661555b57600061536269d3c21bcecceda100000061535486600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546155b090919063ffffffff16565b61361190919063ffffffff16565b90506153d88160016000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613fb090919063ffffffff16565b60016000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061548f81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461563690919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505b50808060010191505061525d565b507f29e98ba00d07f171959c4ddcd2f3020debc7c52cf537a034d7e664340d098c6c81601254604051808381526020018281526020019250505060405180910390a1505050565b6000808314156155c35760009050615630565b60008284029050828482816155d457fe5b041461562b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180615b966021913960400191505060405180910390fd5b809150505b92915050565b6000808284019050838110156156b4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6001600a60026101000a81548160ff021916908315150217905550600061572e6002600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461361190919063ffffffff16565b90507f3c5ad147104e56be34a9176a6692f7df8d2f4b29a5af06bc6b98970d329d6577816040518080602001838152602001828103825260048152602001807f48616c66000000000000000000000000000000000000000000000000000000008152506020019250505060405180910390a160006157f482600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613fb090919063ffffffff16565b90507f3c5ad147104e56be34a9176a6692f7df8d2f4b29a5af06bc6b98970d329d6577816040518080602001838152602001828103825260098152602001807f4f7468657248616c6600000000000000000000000000000000000000000000008152506020019250505060405180910390a1600047905061587483613899565b60006158898247613fb090919063ffffffff16565b90507f3c5ad147104e56be34a9176a6692f7df8d2f4b29a5af06bc6b98970d329d65778160405180806020018381526020018281038252600a8152602001807f4e657742616c616e6365000000000000000000000000000000000000000000008152506020019250505060405180910390a16159058382614033565b7f3c5ad147104e56be34a9176a6692f7df8d2f4b29a5af06bc6b98970d329d6577600060405180806020018381526020018281038252600e8152602001807f4c697175696469747941646465640000000000000000000000000000000000008152506020019250505060405180910390a1505050506000600a60026101000a81548160ff021916908315150217905550565b6000808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415615a3c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f506169724c6962726172793a204944454e544943414c5f41444452455353455381525060200191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1610615a76578284615a79565b83835b8092508193505050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415615b24576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f506169724c6962726172793a205a45524f5f414444524553530000000000000081525060200191505060405180910390fd5b925092905056fe4c697175696469747920706169722063616e6e6f74206265207a65726f206164647265737345524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e6572206973207a65726f2061646472657373a2646970667358221220009c833dbee91299615c36c4cb0cf6a8b9e7fba9e196902064af46d3c330f80264736f6c634300060c003300000000000000000000000095a7e403d7cf20f675ff9273d66e94d35ba49fa3000000000000000000000000682a4dfc793763384ea253085954b8d51c072ab2000000000000000000000000c9f140e2ba13cfcb66f84e3d364b6099108d9646
Deployed Bytecode
0x6080604052600436106102b25760003560e01c8063745cc33a11610175578063c1f1b1b5116100dc578063dd62ed3e11610095578063eea7570e1161006f578063eea7570e14610fec578063f2fde38b14611017578063f887ea4014611068578063fe575a87146110a9576102b9565b8063dd62ed3e14610eef578063df4a515414610f74578063ee9f36d814610faf576102b9565b8063c1f1b1b514610d3d578063c2e5ec0414610d7e578063c2ed286b14610dbb578063c9f99d9b14610e18578063cb4ca63114610e5d578063d2d7ad8314610ec4576102b9565b80639d93598e1161012e5780639d93598e14610b75578063a071dcf414610bc6578063a8be6a4c14610bf1578063a9059cbb14610c1e578063bb1224ea14610c8f578063c0d7865514610cec576102b9565b8063745cc33a146109cc578063808a5457146109f75780638da5cb5b14610a385780638ea5220f14610a7957806395d89b4114610aba57806398118cb414610b4a576102b9565b80632b898060116102195780634b0bddd2116101d25780634b0bddd21461081b5780634dd7dee0146108785780635b35f9c9146108a35780635fe8e7cc146108e457806370a0823114610950578063715018a6146109b5576102b9565b80632b898060146106bd5780632bb14e1d1461071b5780632c174ac714610746578063313ce56714610771578063324c34541461079f5780634ada218b146107ee576102b9565b8063153b0d1e1161026b578063153b0d1e146104c757806316c66c1e1461052457806318160ddd1461055f5780631a2315b81461058a57806323b872dd146105c557806324d7806c14610656576102b9565b806302be70fd146102be57806306fdde03146102e9578063095ea7b314610379578063099fa0f2146103ea5780630d5260e7146104255780630e83227314610460576102b9565b366102b957005b600080fd5b3480156102ca57600080fd5b506102d3611110565b6040518082815260200191505060405180910390f35b3480156102f557600080fd5b506102fe611116565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561033e578082015181840152602081019050610323565b50505050905090810190601f16801561036b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561038557600080fd5b506103d26004803603604081101561039c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611153565b60405180821515815260200191505060405180910390f35b3480156103f657600080fd5b506104236004803603602081101561040d57600080fd5b8101908080359060200190929190505050611171565b005b34801561043157600080fd5b5061045e6004803603602081101561044857600080fd5b8101908080359060200190929190505050611245565b005b34801561046c57600080fd5b506104af6004803603602081101561048357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611395565b60405180821515815260200191505060405180910390f35b3480156104d357600080fd5b50610522600480360360408110156104ea57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506113b5565b005b34801561053057600080fd5b5061055d6004803603602081101561054757600080fd5b8101908080359060200190929190505050611528565b005b34801561056b57600080fd5b50610574611b47565b6040518082815260200191505060405180910390f35b34801561059657600080fd5b506105c3600480360360208110156105ad57600080fd5b8101908080359060200190929190505050611b59565b005b3480156105d157600080fd5b5061063e600480360360608110156105e857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611cfb565b60405180821515815260200191505060405180910390f35b34801561066257600080fd5b506106a56004803603602081101561067957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611dba565b60405180821515815260200191505060405180910390f35b3480156106c957600080fd5b506106d2611dda565b604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390f35b34801561072757600080fd5b50610730611f2b565b6040518082815260200191505060405180910390f35b34801561075257600080fd5b5061075b611f31565b6040518082815260200191505060405180910390f35b34801561077d57600080fd5b50610786611f37565b604051808260ff16815260200191505060405180910390f35b3480156107ab57600080fd5b506107ec600480360360608110156107c257600080fd5b81019080803590602001909291908035906020019092919080359060200190929190505050611f40565b005b3480156107fa57600080fd5b506108036120d0565b60405180821515815260200191505060405180910390f35b34801561082757600080fd5b506108766004803603604081101561083e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506120e3565b005b34801561088457600080fd5b5061088d6122a9565b6040518082815260200191505060405180910390f35b3480156108af57600080fd5b506108b86122af565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156108f057600080fd5b506108f96122d5565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561093c578082015181840152602081019050610921565b505050509050019250505060405180910390f35b34801561095c57600080fd5b5061099f6004803603602081101561097357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612363565b6040518082815260200191505060405180910390f35b3480156109c157600080fd5b506109ca6123ac565b005b3480156109d857600080fd5b506109e1612532565b6040518082815260200191505060405180910390f35b348015610a0357600080fd5b50610a0c612538565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610a4457600080fd5b50610a4d61255e565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610a8557600080fd5b50610a8e612587565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610ac657600080fd5b50610acf6125ad565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610b0f578082015181840152602081019050610af4565b50505050905090810190601f168015610b3c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610b5657600080fd5b50610b5f6125ea565b6040518082815260200191505060405180910390f35b348015610b8157600080fd5b50610bc460048036036020811015610b9857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506125f0565b005b348015610bd257600080fd5b50610bdb612782565b6040518082815260200191505060405180910390f35b348015610bfd57600080fd5b50610c06612788565b60405180821515815260200191505060405180910390f35b348015610c2a57600080fd5b50610c7760048036036040811015610c4157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061279b565b60405180821515815260200191505060405180910390f35b348015610c9b57600080fd5b50610cea60048036036040811015610cb257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506127b9565b005b348015610cf857600080fd5b50610d3b60048036036020811015610d0f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612910565b005b348015610d4957600080fd5b50610d52612abf565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610d8a57600080fd5b50610db960048036036020811015610da157600080fd5b81019080803515159060200190929190505050612c15565b005b348015610dc757600080fd5b50610e1660048036036040811015610dde57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050612cfa565b005b348015610e2457600080fd5b50610e5b60048036036040811015610e3b57600080fd5b810190808035906020019092919080359060200190929190505050612ea1565b005b348015610e6957600080fd5b50610eac60048036036020811015610e8057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506130d9565b60405180821515815260200191505060405180910390f35b348015610ed057600080fd5b50610ed96130f9565b6040518082815260200191505060405180910390f35b348015610efb57600080fd5b50610f5e60048036036040811015610f1257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506130ff565b6040518082815260200191505060405180910390f35b348015610f8057600080fd5b50610fad60048036036020811015610f9757600080fd5b8101908080359060200190929190505050613186565b005b348015610fbb57600080fd5b50610fea60048036036020811015610fd257600080fd5b81019080803515159060200190929190505050613258565b005b348015610ff857600080fd5b506110016133ba565b6040518082815260200191505060405180910390f35b34801561102357600080fd5b506110666004803603602081101561103a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506133c0565b005b34801561107457600080fd5b5061107d6135cb565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156110b557600080fd5b506110f8600480360360208110156110cc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506135f1565b60405180821515815260200191505060405180910390f35b600f5481565b60606040518060400160405280600f81526020017f444f4e4f5442555954455354494e470000000000000000000000000000000000815250905090565b600061116761116061369a565b84846136a2565b6001905092915050565b61117961369a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611239576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b61124281613899565b50565b61124d61369a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461130d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b67016345785d8a000081101561138b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f476173207265736572766520746f6f206c6f770000000000000000000000000081525060200191505060405180910390fd5b8060108190555050565b60036020528060005260406000206000915054906101000a900460ff1681565b6113bd61369a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461147d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167fcf3473b85df1594d47b6958f29a32bea0abff9dd68296f7bf33443646793cfd88260405180821515815260200191505060405180910390a25050565b600a60029054906101000a900460ff16156115ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b6001600a60026101000a81548160ff0219169083151502179055506115ce61255e565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806116505750600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6116c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4e6f7420617574686f72697a656400000000000000000000000000000000000081525060200191505060405180910390fd5b7f3c5ad147104e56be34a9176a6692f7df8d2f4b29a5af06bc6b98970d329d6577816040518080602001838152602001828103825260058152602001807f53746172740000000000000000000000000000000000000000000000000000008152506020019250505060405180910390a180600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156117e7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f496e73756666696369656e7420636f6e74726163742062616c616e636500000081525060200191505060405180910390fd5b7f3c5ad147104e56be34a9176a6692f7df8d2f4b29a5af06bc6b98970d329d6577600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460405180806020018381526020018281038252600e8152602001807f42616c616e6365436865636b65640000000000000000000000000000000000008152506020019250505060405180910390a160006118ac60028361361190919063ffffffff16565b90507f3c5ad147104e56be34a9176a6692f7df8d2f4b29a5af06bc6b98970d329d6577816040518080602001838152602001828103825260048152602001807f48616c66000000000000000000000000000000000000000000000000000000008152506020019250505060405180910390a160006119338284613fb090919063ffffffff16565b90507f3c5ad147104e56be34a9176a6692f7df8d2f4b29a5af06bc6b98970d329d6577816040518080602001838152602001828103825260098152602001807f4f7468657248616c6600000000000000000000000000000000000000000000008152506020019250505060405180910390a160004790507f3c5ad147104e56be34a9176a6692f7df8d2f4b29a5af06bc6b98970d329d65778160405180806020018381526020018281038252600e8152602001807f496e697469616c42616c616e63650000000000000000000000000000000000008152506020019250505060405180910390a1611a2383613899565b6000611a388247613fb090919063ffffffff16565b90507f3c5ad147104e56be34a9176a6692f7df8d2f4b29a5af06bc6b98970d329d65778160405180806020018381526020018281038252600a8152602001807f4e657742616c616e6365000000000000000000000000000000000000000000008152506020019250505060405180910390a1611ab48382614033565b7f3c5ad147104e56be34a9176a6692f7df8d2f4b29a5af06bc6b98970d329d6577600060405180806020018381526020018281038252600e8152602001807f4c697175696469747941646465640000000000000000000000000000000000008152506020019250505060405180910390a1505050506000600a60026101000a81548160ff02191690831515021790555050565b600069d3c21bcecceda1000000905090565b611b6161369a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c21576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000611c3860105447613fb090919063ffffffff16565b905080821115611cb0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f496e73756666696369656e7420617661696c61626c652062616c616e6365000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015611cf6573d6000803e3d6000fd5b505050565b6000611d08848484614201565b611daf84611d1461369a565b611daa85600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000611d6161369a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613fb090919063ffffffff16565b6136a2565b600190509392505050565b60066020528060005260406000206000915054906101000a900460ff1681565b600080601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611e4557600080fd5b505afa158015611e59573d6000803e3d6000fd5b505050506040513d6020811015611e6f57600080fd5b8101908080519060200190929190505050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015611ee857600080fd5b505afa158015611efc573d6000803e3d6000fd5b505050506040513d6020811015611f1257600080fd5b8101908080519060200190929190505050915091509091565b600d5481565b60135481565b60006012905090565b611f4861369a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612008576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b601483111561207f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f546f74616c2066656520746f6f2068696768000000000000000000000000000081525060200191505060405180910390fd5b82600b8190555081600c8190555080600d819055507f9fe6eeb0f0541c644a56c67efeb872dbadd803a60b909d7dde1b35a3fe230b0e836040518082815260200191505060405180910390a1505050565b600a60009054906101000a900460ff1681565b6120eb61369a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146121ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561224e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f43616e6e6f7420736574207a65726f20616464726573732061732061646d696e81525060200191505060405180910390fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60125481565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6060600880548060200260200160405190810160405280929190818152602001828054801561235957602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831161230f575b5050505050905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6123b461369a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612474576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60115481565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606040518060400160405280600481526020017f444e425400000000000000000000000000000000000000000000000000000000815250905090565b600c5481565b6125f861369a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146126b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561273e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b2c6025913960400191505060405180910390fd5b80601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600b5481565b600a60019054906101000a900460ff1681565b60006127af6127a861369a565b8484614201565b6001905092915050565b6127c161255e565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806128435750600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6128b5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4e6f7420617574686f72697a656400000000000000000000000000000000000081525060200191505060405180910390fd5b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61291861369a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146129d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612a7b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f526f757465722063616e6e6f74206265207a65726f206164647265737300000081525060200191505060405180910390fd5b80601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000612c10601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015612b2c57600080fd5b505afa158015612b40573d6000803e3d6000fd5b505050506040513d6020811015612b5657600080fd5b810190808051906020019092919050505030601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015612bd057600080fd5b505afa158015612be4573d6000803e3d6000fd5b505050506040513d6020811015612bfa57600080fd5b8101908080519060200190929190505050615048565b905090565b612c1d61369a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612cdd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600a60006101000a81548160ff02191690831515021790555050565b612d0261255e565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480612d845750600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612df6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4e6f7420617574686f72697a656400000000000000000000000000000000000081525060200191505060405180910390fd5b80600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167fea5814d1cf99e5f6aee98da410ea4adcdbe5ded97855de3b25144b0898d0be4a8260405180821515815260200191505060405180910390a25050565b600a60029054906101000a900460ff1615612f24576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b6001600a60026101000a81548160ff021916908315150217905550612f4761255e565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480612fc95750600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61303b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4e6f7420617574686f72697a656400000000000000000000000000000000000081525060200191505060405180910390fd5b8082106130b0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5374617274206d757374206265206c657373207468616e20656e64000000000081525060200191505060405180910390fd5b6130ba8282615161565b6000600a60026101000a81548160ff0219169083151502179055505050565b60046020528060005260406000206000915054906101000a900460ff1681565b600e5481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61318e61369a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461324e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600f8190555050565b61326061369a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613320576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600a60016101000a81548160ff02191690831515021790555080801561334957506000601354145b156133b75760016000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546013819055505b50565b60105481565b6133c861369a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613488576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561350e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180615c006022913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60056020528060005260406000206000915054906101000a900460ff1681565b6000808211613688576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060200191505060405180910390fd5b81838161369157fe5b04905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415613728576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180615bdc6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156137ae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180615b746022913960400191505060405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b7f3c5ad147104e56be34a9176a6692f7df8d2f4b29a5af06bc6b98970d329d6577816040518080602001838152602001828103825260098152602001807f53776170537461727400000000000000000000000000000000000000000000008152506020019250505060405180910390a16060600267ffffffffffffffff8111801561392357600080fd5b506040519080825280602002602001820160405280156139525781602001602082028036833780820191505090505b509050308160008151811061396357fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015613a0557600080fd5b505afa158015613a19573d6000803e3d6000fd5b505050506040513d6020811015613a2f57600080fd5b810190808051906020019092919050505081600181518110613a4d57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f3c5ad147104e56be34a9176a6692f7df8d2f4b29a5af06bc6b98970d329d657760006040518080602001838152602001828103825260078152602001807f50617468536574000000000000000000000000000000000000000000000000008152506020019250505060405180910390a1613b2530601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846136a2565b7f3c5ad147104e56be34a9176a6692f7df8d2f4b29a5af06bc6b98970d329d6577826040518080602001838152602001828103825260088152602001807f417070726f7665640000000000000000000000000000000000000000000000008152506020019250505060405180910390a160008073ffffffffffffffffffffffffffffffffffffffff16601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415613cc757613cc2601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015613c5857600080fd5b505afa158015613c6c573d6000803e3d6000fd5b505050506040513d6020811015613c8257600080fd5b810190808051906020019092919050505083600081518110613ca057fe5b602002602001015184600181518110613cb557fe5b6020026020010151615048565b613ceb565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff165b90507f3c5ad147104e56be34a9176a6692f7df8d2f4b29a5af06bc6b98970d329d65778173ffffffffffffffffffffffffffffffffffffffff166040518080602001838152602001828103825260088152602001807f50616972557365640000000000000000000000000000000000000000000000008152506020019250505060405180910390a1601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318cbafe5846001853061012c42016040518663ffffffff1660e01b815260040180868152602001858152602001806020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b83811015613e3b578082015181840152602081019050613e20565b505050509050019650505050505050600060405180830381600087803b158015613e6457600080fd5b505af1158015613e78573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015613ea257600080fd5b8101908080516040519392919084640100000000821115613ec257600080fd5b83820191506020820185811115613ed857600080fd5b8251866020820283011164010000000082111715613ef557600080fd5b8083526020830192505050908051906020019060200280838360005b83811015613f2c578082015181840152602081019050613f11565b50505050905001604052505050507f3c5ad147104e56be34a9176a6692f7df8d2f4b29a5af06bc6b98970d329d657760006040518080602001838152602001828103825260088152602001807f53776170446f6e650000000000000000000000000000000000000000000000008152506020019250505060405180910390a1505050565b600082821115614028576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b818303905092915050565b6010544711614078577ff7afa2d75d922990e716d91aed429d76b60d9e7f944fe9262b79f4a4f31f72be476040518082815260200191505060405180910390a16141fd565b600061408f60105447613fb090919063ffffffff16565b90506000818311156140a157816140a3565b825b90506140d230601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16866136a2565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71982308760008061411e61255e565b61012c42016040518863ffffffff1660e01b8152600401808773ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200196505050505050506060604051808303818588803b1580156141a757600080fd5b505af11580156141bb573d6000803e3d6000fd5b50505050506040513d60608110156141d257600080fd5b8101908080519060200190929190805190602001909291908051906020019092919050505050505050505b5050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415614287576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615bb76025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561430d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180615b516023913960400191505060405180910390fd5b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156143cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f53656e64657220697320626c61636b6c6973746564000000000000000000000081525060200191505060405180910390fd5b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561448d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f526563697069656e7420697320626c61636b6c6973746564000000000000000081525060200191505060405180910390fd5b60003073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806145125750600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6145435761453e6064614530600c54856155b090919063ffffffff16565b61361190919063ffffffff16565b614546565b60005b905060003073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614806145cd5750600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6145fe576145f960646145eb600d54866155b090919063ffffffff16565b61361190919063ffffffff16565b614601565b60005b90506000614618828461563690919063ffffffff16565b9050600061462f8286613fb090919063ffffffff16565b905061468385600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613fb090919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061471881600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461563690919063ffffffff16565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008211156149bf576147b684600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461563690919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061486d8360016000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461563690919063ffffffff16565b60016000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a3601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a35b8573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a36000600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054148015614abc5750600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15614cc1576000600960008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600860016008805490500381548110614b1c57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508060088381548110614b5757fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506008805480614bee57fe5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690559055600960008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600090556000600760008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050505b600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015614d5a57506000600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b15614e64576001600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600880549050600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506008869080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b600a60029054906101000a900460ff16158015614ead57503073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614155b8015614efa5750600e54600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b15614f0857614f076156be565b5b600a60029054906101000a900460ff16158015614f315750600a60019054906101000a900460ff165b8015614fa05750600f5460016000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b1561503f57600060115490506000600880549050614fc860648461563690919063ffffffff16565b11614fe657614fe160648361563690919063ffffffff16565b614fed565b6008805490505b9050614ff98282615161565b80601181905550600880549050601154141561503c57600060118190555061502d600160125461563690919063ffffffff16565b60128190555060006013819055505b50505b50505050505050565b60008060006150578585615997565b91509150858282604051602001808373ffffffffffffffffffffffffffffffffffffffff1660601b81526014018273ffffffffffffffffffffffffffffffffffffffff1660601b8152601401925050506040516020818303038152906040528051906020012060405160200180807fff000000000000000000000000000000000000000000000000000000000000008152506001018373ffffffffffffffffffffffffffffffffffffffff1660601b8152601401828152602001807f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f815250602001925050506040516020818303038152906040528051906020012060001c925050509392505050565b6008805490508111156151dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f456e6420696e646578206f7574206f6620626f756e647300000000000000000081525060200191505060405180910390fd5b600060135414156152505760016000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546013819055505b6000601354905060008390505b828110156155695760006008828154811061527457fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661555b57600061536269d3c21bcecceda100000061535486600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546155b090919063ffffffff16565b61361190919063ffffffff16565b90506153d88160016000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613fb090919063ffffffff16565b60016000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061548f81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461563690919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505b50808060010191505061525d565b507f29e98ba00d07f171959c4ddcd2f3020debc7c52cf537a034d7e664340d098c6c81601254604051808381526020018281526020019250505060405180910390a1505050565b6000808314156155c35760009050615630565b60008284029050828482816155d457fe5b041461562b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180615b966021913960400191505060405180910390fd5b809150505b92915050565b6000808284019050838110156156b4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6001600a60026101000a81548160ff021916908315150217905550600061572e6002600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461361190919063ffffffff16565b90507f3c5ad147104e56be34a9176a6692f7df8d2f4b29a5af06bc6b98970d329d6577816040518080602001838152602001828103825260048152602001807f48616c66000000000000000000000000000000000000000000000000000000008152506020019250505060405180910390a160006157f482600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613fb090919063ffffffff16565b90507f3c5ad147104e56be34a9176a6692f7df8d2f4b29a5af06bc6b98970d329d6577816040518080602001838152602001828103825260098152602001807f4f7468657248616c6600000000000000000000000000000000000000000000008152506020019250505060405180910390a1600047905061587483613899565b60006158898247613fb090919063ffffffff16565b90507f3c5ad147104e56be34a9176a6692f7df8d2f4b29a5af06bc6b98970d329d65778160405180806020018381526020018281038252600a8152602001807f4e657742616c616e6365000000000000000000000000000000000000000000008152506020019250505060405180910390a16159058382614033565b7f3c5ad147104e56be34a9176a6692f7df8d2f4b29a5af06bc6b98970d329d6577600060405180806020018381526020018281038252600e8152602001807f4c697175696469747941646465640000000000000000000000000000000000008152506020019250505060405180910390a1505050506000600a60026101000a81548160ff021916908315150217905550565b6000808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415615a3c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f506169724c6962726172793a204944454e544943414c5f41444452455353455381525060200191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1610615a76578284615a79565b83835b8092508193505050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415615b24576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f506169724c6962726172793a205a45524f5f414444524553530000000000000081525060200191505060405180910390fd5b925092905056fe4c697175696469747920706169722063616e6e6f74206265207a65726f206164647265737345524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e6572206973207a65726f2061646472657373a2646970667358221220009c833dbee91299615c36c4cb0cf6a8b9e7fba9e196902064af46d3c330f80264736f6c634300060c0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000095a7e403d7cf20f675ff9273d66e94d35ba49fa3000000000000000000000000682a4dfc793763384ea253085954b8d51c072ab2000000000000000000000000c9f140e2ba13cfcb66f84e3d364b6099108d9646
-----Decoded View---------------
Arg [0] : _router (address): 0x95a7e403d7cF20F675fF9273D66e94d35ba49fA3
Arg [1] : _rewardsWallet (address): 0x682a4dfC793763384Ea253085954b8d51C072ab2
Arg [2] : _devWallet (address): 0xC9F140e2Ba13Cfcb66f84e3D364b6099108d9646
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 00000000000000000000000095a7e403d7cf20f675ff9273d66e94d35ba49fa3
Arg [1] : 000000000000000000000000682a4dfc793763384ea253085954b8d51c072ab2
Arg [2] : 000000000000000000000000c9f140e2ba13cfcb66f84e3d364b6099108d9646
Deployed Bytecode Sourcemap
4190:14386:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5443:78;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11240:69;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7767:161;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;18477:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13427:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4700:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;12571:183;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;15468:867;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7256:86;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17795:250;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7934:269;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;4868:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;18308:127;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5290:29;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5754:37;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11394:69;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;12762:299;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5050:34;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;13069:192;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5680:37;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5835:28;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;18084:82;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7348:105;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3718:140;;;;;;;;;;;;;:::i;:::-;;5608:34;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5901:28;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;3522:65;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;5870:24;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;11315:73;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5233:31;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11503:180;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5181:26;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5091:45;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;7459:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;12084:214;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13588:173;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;18172:130;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;11691:105;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12306:257;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;14622:275;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4760:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;5350:64;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7632:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13269:150;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11804:272;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5550:32;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3864:232;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5936:21;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;4816:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;5443:78;;;;:::o;11240:69::-;11277:13;11301:5;;;;;;;;;;;;;;;;;11294:12;;11240:69;:::o;7767:161::-;7842:4;7859:39;7868:12;:10;:12::i;:::-;7882:7;7891:6;7859:8;:39::i;:::-;7916:4;7909:11;;7767:161;;;;:::o;18477:96::-;3643:12;:10;:12::i;:::-;3633:22;;:6;;;;;;;;;;:22;;;3625:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18541:24:::1;18558:6;18541:16;:24::i;:::-;18477:96:::0;:::o;13427:153::-;3643:12;:10;:12::i;:::-;3633:22;;:6;;;;;;;;;;:22;;;3625:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13514:4:::1;13504:6;:14;;13496:46;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;13566:6;13553:10;:19;;;;13427:153:::0;:::o;4700:53::-;;;;;;;;;;;;;;;;;;;;;;:::o;12571:183::-;3643:12;:10;:12::i;:::-;3633:22;;:6;;;;;;;;;;:22;;;3625:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12684:12:::1;12659:13;:22;12673:7;12659:22;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;12724:7;12712:34;;;12733:12;12712:34;;;;;;;;;;;;;;;;;;;;12571:183:::0;;:::o;15468:867::-;6630:16;;;;;;;;;;;6629:17;6621:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6712:4;6693:16;;:23;;;;;;;;;;;;;;;;;;15569:7:::1;:5;:7::i;:::-;15555:21;;:10;:21;;;:44;;;;15580:7;:19;15588:10;15580:19;;;;;;;;;;;;;;;;;;;;;;;;;15555:44;15547:71;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;15634:22;15649:6;15634:22;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;15703:6;15675:9;:24;15693:4;15675:24;;;;;;;;;;;;;;;;:34;;15667:76;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;15759:49;15783:9;:24;15801:4;15783:24;;;;;;;;;;;;;;;;15759:49;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;15819:12;15834:13;15845:1;15834:6;:10;;:13;;;;:::i;:::-;15819:28;;15863:19;15877:4;15863:19;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;15893:17;15913:16;15924:4;15913:6;:10;;:16;;;;:::i;:::-;15893:36;;15945:29;15964:9;15945:29;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;15985:22;16010:21;15985:46;;16047:39;16071:14;16047:39;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;16097:22;16114:4;16097:16;:22::i;:::-;16130:18;16151:41;16177:14;16151:21;:25;;:41;;;;:::i;:::-;16130:62;;16208:31;16228:10;16208:31;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;16250:35;16263:9;16274:10;16250:12;:35::i;:::-;16301:26;16325:1;16301:26;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;6727:1;;;;6758:5:::0;6739:16;;:24;;;;;;;;;;;;;;;;;;15468:867;:::o;7256:86::-;7309:7;4472:12;7320:19;;7256:86;:::o;17795:250::-;3643:12;:10;:12::i;:::-;3633:22;;:6;;;;;;;;;;:22;;;3625:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17860:17:::1;17880:37;17906:10;;17880:21;:25;;:37;;;;:::i;:::-;17860:57;;17946:9;17936:6;:19;;17928:62;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;18009:10;18001:28;;:36;18030:6;18001:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;3703:1;17795:250:::0;:::o;7934:269::-;8032:4;8049:36;8059:6;8067:9;8078:6;8049:9;:36::i;:::-;8096:77;8105:6;8113:12;:10;:12::i;:::-;8127:45;8165:6;8127:11;:19;8139:6;8127:19;;;;;;;;;;;;;;;:33;8147:12;:10;:12::i;:::-;8127:33;;;;;;;;;;;;;;;;:37;;:45;;;;:::i;:::-;8096:8;:77::i;:::-;8191:4;8184:11;;7934:269;;;;;:::o;4868:39::-;;;;;;;;;;;;;;;;;;;;;;:::o;18308:127::-;18359:12;18373:15;18400:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18415:6;;;;;;;;;;;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18392:40;;;;18308:127;;:::o;5290:29::-;;;;:::o;5754:37::-;;;;:::o;11394:69::-;11435:5;4423:2;11444:16;;11394:69;:::o;12762:299::-;3643:12;:10;:12::i;:::-;3633:22;;:6;;;;;;;;;;:22;;;3625:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12891:2:::1;12880:7;:13;;12872:44;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;12936:7;12927:6;:16;;;;12969:13;12954:12;:28;;;;13006:11;12993:10;:24;;;;13033:20;13045:7;13033:20;;;;;;;;;;;;;;;;;;12762:299:::0;;;:::o;5050:34::-;;;;;;;;;;;;;:::o;13069:192::-;3643:12;:10;:12::i;:::-;3633:22;;:6;;;;;;;;;;:22;;;3625:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13176:1:::1;13157:21;;:7;:21;;;;13149:66;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;13245:8;13226:7;:16;13234:7;13226:16;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;13069:192:::0;;:::o;5680:37::-;;;;:::o;5835:28::-;;;;;;;;;;;;;:::o;18084:82::-;18129:16;18156:7;18149:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18084:82;:::o;7348:105::-;7414:7;7432:9;:18;7442:7;7432:18;;;;;;;;;;;;;;;;7425:25;;7348:105;;;:::o;3718:140::-;3643:12;:10;:12::i;:::-;3633:22;;:6;;;;;;;;;;:22;;;3625:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3817:1:::1;3780:40;;3801:6;::::0;::::1;;;;;;;;3780:40;;;;;;;;;;;;3848:1;3831:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3718:140::o:0;5608:34::-;;;;:::o;5901:28::-;;;;;;;;;;;;;:::o;3522:65::-;3560:7;3578:6;;;;;;;;;;;3571:13;;3522:65;:::o;5870:24::-;;;;;;;;;;;;;:::o;11315:73::-;11354:13;11378:7;;;;;;;;;;;;;;;;;11371:14;;11315:73;:::o;5233:31::-;;;;:::o;11503:180::-;3643:12;:10;:12::i;:::-;3633:22;;:6;;;;;;;;;;:22;;;3625:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11599:1:::1;11582:19;;:5;:19;;;;11574:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11670:5;11654:13;;:21;;;;;;;;;;;;;;;;;;11503:180:::0;:::o;5181:26::-;;;;:::o;5091:45::-;;;;;;;;;;;;;:::o;7459:167::-;7537:4;7554:42;7564:12;:10;:12::i;:::-;7578:9;7589:6;7554:9;:42::i;:::-;7614:4;7607:11;;7459:167;;;;:::o;12084:214::-;12189:7;:5;:7::i;:::-;12175:21;;:10;:21;;;:44;;;;12200:7;:19;12208:10;12200:19;;;;;;;;;;;;;;;;;;;;;;;;;12175:44;12167:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12282:8;12249:21;:30;12271:7;12249:30;;;;;;;;;;;;;;;;:41;;;;;;;;;;;;;;;;;;12084:214;;:::o;13588:173::-;3643:12;:10;:12::i;:::-;3633:22;;:6;;;;;;;;;;:22;;;3625:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13681:1:::1;13662:21;;:7;:21;;;;13654:63;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;13745:7;13728:6;;:25;;;;;;;;;;;;;;;;;;13588:173:::0;:::o;18172:130::-;18214:7;18232:67;18252:6;;;;;;;;;;;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18278:4;18285:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18232:19;:67::i;:::-;18225:74;;18172:130;:::o;11691:105::-;3643:12;:10;:12::i;:::-;3633:22;;:6;;;;;;;;;;:22;;;3625:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11780:8:::1;11763:14;;:25;;;;;;;;;;;;;;;;;;11691:105:::0;:::o;12306:257::-;12408:7;:5;:7::i;:::-;12394:21;;:10;:21;;;:44;;;;12419:7;:19;12427:10;12419:19;;;;;;;;;;;;;;;;;;;;;;;;;12394:44;12386:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12497:8;12468:17;:26;12486:7;12468:26;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;12537:7;12521:34;;;12546:8;12521:34;;;;;;;;;;;;;;;;;;;;12306:257;;:::o;14622:275::-;6630:16;;;;;;;;;;;6629:17;6621:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6712:4;6693:16;;:23;;;;;;;;;;;;;;;;;;14738:7:::1;:5;:7::i;:::-;14724:21;;:10;:21;;;:44;;;;14749:7;:19;14757:10;14749:19;;;;;;;;;;;;;;;;;;;;;;;;;14724:44;14716:71;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;14814:3;14806:5;:11;14798:51;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;14860:29;14878:5;14885:3;14860:17;:29::i;:::-;6758:5:::0;6739:16;;:24;;;;;;;;;;;;;;;;;;14622:275;;:::o;4760:49::-;;;;;;;;;;;;;;;;;;;;;;:::o;5350:64::-;;;;:::o;7632:129::-;7713:7;7731:11;:18;7743:5;7731:18;;;;;;;;;;;;;;;:27;7750:7;7731:27;;;;;;;;;;;;;;;;7724:34;;7632:129;;;;:::o;13269:150::-;3643:12;:10;:12::i;:::-;3633:22;;:6;;;;;;;;;;:22;;;3625:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13405:6:::1;13365:37;:46;;;;13269:150:::0;:::o;11804:272::-;3643:12;:10;:12::i;:::-;3633:22;;:6;;;;;;;;;;:22;;;3625:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11908:8:::1;11880:25;;:36;;;;;;;;;;;;;;;;;;11931:8;:35;;;;;11965:1;11943:18;;:23;11931:35;11927:142;;;12004:9;:24;12014:13;;;;;;;;;;;12004:24;;;;;;;;;;;;;;;;11983:18;:45;;;;11927:142;11804:272:::0;:::o;5550:32::-;;;;:::o;3864:232::-;3643:12;:10;:12::i;:::-;3633:22;;:6;;;;;;;;;;:22;;;3625:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3965:1:::1;3945:22;;:8;:22;;;;3937:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4051:8;4022:38;;4043:6;::::0;::::1;;;;;;;;4022:38;;;;;;;;;;;;4080:8;4071:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;3864:232:::0;:::o;5936:21::-;;;;;;;;;;;;;:::o;4816:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;748:153::-;806:7;838:1;834;:5;826:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;892:1;888;:5;;;;;;881:12;;748:153;;;;:::o;3130:106::-;3183:15;3218:10;3211:17;;3130:106;:::o;10896:336::-;11007:1;10990:19;;:5;:19;;;;10982:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11088:1;11069:21;;:7;:21;;;;11061:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11170:6;11140:11;:18;11152:5;11140:18;;;;;;;;;;;;;;;:27;11159:7;11140:27;;;;;;;;;;;;;;;:36;;;;11208:7;11192:32;;11201:5;11192:32;;;11217:6;11192:32;;;;;;;;;;;;;;;;;;10896:336;;;:::o;16343:758::-;16415:31;16434:11;16415:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16457:21;16495:1;16481:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16457:40;;16526:4;16508;16513:1;16508:7;;;;;;;;;;;;;:23;;;;;;;;;;;16552:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16542:4;16547:1;16542:7;;;;;;;;;;;;;:23;;;;;;;;;;;16581:19;16598:1;16581:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16611:53;16628:4;16643:6;;;;;;;;;;;16652:11;16611:8;:53::i;:::-;16680:30;16698:11;16680:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16721:12;16761:1;16736:27;;:13;;;;;;;;;;;:27;;;;:101;;16782:55;16802:6;;;;;;;;;;;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16820:4;16825:1;16820:7;;;;;;;;;;;;;;16829:4;16834:1;16829:7;;;;;;;;;;;;;;16782:19;:55::i;:::-;16736:101;;;16766:13;;;;;;;;;;;16736:101;16721:116;;16853:29;16876:4;16871:10;;16853:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16893:6;;;;;;;;;;;:28;;;16936:11;16962:1;16978:4;17005;17043:3;17025:15;:21;16893:164;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17073:20;17091:1;17073:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16343:758;;;:::o;354:158::-;412:7;445:1;440;:6;;432:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;503:1;499;:5;492:12;;354:158;;;;:::o;17109:641::-;17220:10;;17195:21;:35;17191:130;;17252:36;17266:21;17252:36;;;;;;;;;;;;;;;;;;17303:7;;17191:130;17331:20;17354:37;17380:10;;17354:21;:25;;:37;;;;:::i;:::-;17331:60;;17402:16;17434:12;17421:9;:25;;:52;;17461:12;17421:52;;;17449:9;17421:52;17402:71;;17484:53;17501:4;17516:6;;;;;;;;;;;17525:11;17484:8;:53::i;:::-;17548:6;;;;;;;;;;;:22;;;17578:8;17610:4;17630:11;17656:1;17672;17688:7;:5;:7::i;:::-;17728:3;17710:15;:21;17548:194;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17109:641;;;;;:::o;8211:2677::-;8327:1;8309:20;;:6;:20;;;;8301:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8411:1;8390:23;;:9;:23;;;;8382:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8473:13;:21;8487:6;8473:21;;;;;;;;;;;;;;;;;;;;;;;;;8472:22;8464:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8540:13;:24;8554:9;8540:24;;;;;;;;;;;;;;;;;;;;;;;;;8539:25;8531:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8606:23;8651:4;8633:23;;:6;:23;;;:52;;;;8660:17;:25;8678:6;8660:25;;;;;;;;;;;;;;;;;;;;;;;;;8633:52;8632:94;;8693:33;8722:3;8693:24;8704:12;;8693:6;:10;;:24;;;;:::i;:::-;:28;;:33;;;;:::i;:::-;8632:94;;;8689:1;8632:94;8606:120;;8737:21;8780:4;8762:23;;:6;:23;;;:52;;;;8789:17;:25;8807:6;8789:25;;;;;;;;;;;;;;;;;;;;;;;;;8762:52;8761:92;;8822:31;8849:3;8822:22;8833:10;;8822:6;:10;;:22;;;;:::i;:::-;:26;;:31;;;;:::i;:::-;8761:92;;;8818:1;8761:92;8737:116;;8864:16;8883:34;8903:13;8883:15;:19;;:34;;;;:::i;:::-;8864:53;;8928:22;8953:20;8964:8;8953:6;:10;;:20;;;;:::i;:::-;8928:45;;9006:29;9028:6;9006:9;:17;9016:6;9006:17;;;;;;;;;;;;;;;;:21;;:29;;;;:::i;:::-;8986:9;:17;8996:6;8986:17;;;;;;;;;;;;;;;:49;;;;9069:40;9094:14;9069:9;:20;9079:9;9069:20;;;;;;;;;;;;;;;;:24;;:40;;;;:::i;:::-;9046:9;:20;9056:9;9046:20;;;;;;;;;;;;;;;:63;;;;9135:1;9124:8;:12;9120:336;;;9180:45;9209:15;9180:9;:24;9198:4;9180:24;;;;;;;;;;;;;;;;:28;;:45;;;;:::i;:::-;9153:9;:24;9171:4;9153:24;;;;;;;;;;;;;;;:72;;;;9267:43;9296:13;9267:9;:24;9277:13;;;;;;;;;;;9267:24;;;;;;;;;;;;;;;;:28;;:43;;;;:::i;:::-;9240:9;:24;9250:13;;;;;;;;;;;9240:24;;;;;;;;;;;;;;;:70;;;;9355:4;9330:48;;9339:6;9330:48;;;9362:15;9330:48;;;;;;;;;;;;;;;;;;9415:13;;;;;;;;;;;9398:46;;9407:6;9398:46;;;9430:13;9398:46;;;;;;;;;;;;;;;;;;9120:336;9488:9;9471:43;;9480:6;9471:43;;;9499:14;9471:43;;;;;;;;;;;;;;;;;;9552:1;9531:9;:17;9541:6;9531:17;;;;;;;;;;;;;;;;:22;:42;;;;;9557:8;:16;9566:6;9557:16;;;;;;;;;;;;;;;;;;;;;;;;;9531:42;9527:369;;;9590:13;9606:11;:19;9618:6;9606:19;;;;;;;;;;;;;;;;9590:35;;9640:18;9661:7;9686:1;9669:7;:14;;;;:18;9661:27;;;;;;;;;;;;;;;;;;;;;;;;;9640:48;;9720:10;9703:7;9711:5;9703:14;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;9771:5;9745:11;:23;9757:10;9745:23;;;;;;;;;;;;;;;:31;;;;9791:7;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9826:11;:19;9838:6;9826:19;;;;;;;;;;;;;;;9819:26;;;9879:5;9860:8;:16;9869:6;9860:16;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;9527:369;;;9911:8;:19;9920:9;9911:19;;;;;;;;;;;;;;;;;;;;;;;;;9910:20;:48;;;;;9957:1;9934:9;:20;9944:9;9934:20;;;;;;;;;;;;;;;;:24;9910:48;9906:199;;;9997:4;9975:8;:19;9984:9;9975:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;10041:7;:14;;;;10016:11;:22;10028:9;10016:22;;;;;;;;;;;;;;;:39;;;;10070:7;10083:9;10070:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9906:199;10122:16;;;;;;;;;;;10121:17;:44;;;;;10160:4;10142:23;;:6;:23;;;;10121:44;:99;;;;;10197:23;;10169:9;:24;10187:4;10169:24;;;;;;;;;;;;;;;;:51;;10121:99;10117:148;;;10237:16;:14;:16::i;:::-;10117:148;10282:16;;;;;;;;;;;10281:17;:46;;;;;10302:25;;;;;;;;;;;10281:46;:115;;;;;10359:37;;10331:9;:24;10341:13;;;;;;;;;;;10331:24;;;;;;;;;;;;;;;;:65;;10281:115;10277:604;;;10413:13;10429:15;;10413:31;;10459:11;10497:7;:14;;;;10473:21;4529:3;10473:5;:9;;:21;;;;:::i;:::-;:38;:79;;10531:21;4529:3;10531:5;:9;;:21;;;;:::i;:::-;10473:79;;;10514:7;:14;;;;10473:79;10459:93;;10567:29;10585:5;10592:3;10567:17;:29::i;:::-;10629:3;10611:15;:21;;;;10670:7;:14;;;;10651:15;;:33;10647:223;;;10723:1;10705:15;:19;;;;10764:25;10787:1;10764:18;;:22;;:25;;;;:::i;:::-;10743:18;:46;;;;10829:1;10808:18;:22;;;;10647:223;10277:604;;;8211:2677;;;;;;;:::o;1282:460::-;1371:12;1397:14;1413;1431:26;1442:6;1450;1431:10;:26::i;:::-;1396:61;;;;1559:7;1612:6;1620;1595:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1585:43;;;;;;1498:233;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1488:244;;;;;;1483:250;;1468:266;;1282:460;;;;;;;:::o;13769:845::-;13859:7;:14;;;;13852:3;:21;;13844:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13938:1;13916:18;;:23;13912:101;;;13977:9;:24;13987:13;;;;;;;;;;;13977:24;;;;;;;;;;;;;;;;13956:18;:45;;;;13912:101;14023:22;14048:18;;14023:43;;14084:9;14096:5;14084:17;;14079:458;14107:3;14103:1;:7;14079:458;;;14132:14;14149:7;14157:1;14149:10;;;;;;;;;;;;;;;;;;;;;;;;;14132:27;;14179:21;:29;14201:6;14179:29;;;;;;;;;;;;;;;;;;;;;;;;;14174:352;;14229:13;14245:55;4472:12;14245:37;14267:14;14245:9;:17;14255:6;14245:17;;;;;;;;;;;;;;;;:21;;:37;;;;:::i;:::-;:41;;:55;;;;:::i;:::-;14229:71;;14346:35;14375:5;14346:9;:24;14356:13;;;;;;;;;;;14346:24;;;;;;;;;;;;;;;;:28;;:35;;;;:::i;:::-;14319:9;:24;14329:13;;;;;;;;;;;14319:24;;;;;;;;;;;;;;;:62;;;;14420:28;14442:5;14420:9;:17;14430:6;14420:17;;;;;;;;;;;;;;;;:21;;:28;;;;:::i;:::-;14400:9;:17;14410:6;14400:17;;;;;;;;;;;;;;;:48;;;;14496:6;14472:38;;14481:13;;;;;;;;;;;14472:38;;;14504:5;14472:38;;;;;;;;;;;;;;;;;;14174:352;;14079:458;14112:3;;;;;;;14079:458;;;;14552:54;14571:14;14587:18;;14552:54;;;;;;;;;;;;;;;;;;;;;;;;13769:845;;;:::o;518:224::-;576:7;605:1;600;:6;596:25;;;617:1;610:8;;;;596:25;631:9;647:1;643;:5;631:17;;676:1;671;667;:5;;;;;;:10;659:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;733:1;726:8;;;518:224;;;;;:::o;169:179::-;227:7;247:9;263:1;259;:5;247:17;;288:1;283;:6;;275:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;339:1;332:8;;;169:179;;;;:::o;14905:555::-;6521:4;6502:16;;:23;;;;;;;;;;;;;;;;;;14963:12:::1;14978:31;15007:1;14978:9;:24;14996:4;14978:24;;;;;;;;;;;;;;;;:28;;:31;;;;:::i;:::-;14963:46;;15025:19;15039:4;15025:19;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;15055:17;15075:34;15104:4;15075:9;:24;15093:4;15075:24;;;;;;;;;;;;;;;;:28;;:34;;;;:::i;:::-;15055:54;;15125:29;15144:9;15125:29;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;15165:22;15190:21;15165:46;;15222:22;15239:4;15222:16;:22::i;:::-;15255:18;15276:41;15302:14;15276:21;:25;;:41;;;;:::i;:::-;15255:62;;15333:31;15353:10;15333:31;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;15375:35;15388:9;15399:10;15375:12;:35::i;:::-;15426:26;15450:1;15426:26;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;6536:1;;;;6567:5:::0;6548:16;;:24;;;;;;;;;;;;;;;;;;14905:555::o;935:339::-;1010:14;1026;1071:6;1061:16;;:6;:16;;;;1053:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1153:6;1144:15;;:6;:15;;;:53;;1182:6;1190;1144:53;;;1163:6;1171;1144:53;1125:72;;;;;;;;1234:1;1216:20;;:6;:20;;;;1208:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;935:339;;;;;:::o
Swarm Source
ipfs://009c833dbee91299615c36c4cb0cf6a8b9e7fba9e196902064af46d3c330f802
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
[ 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.