ERC-20
Overview
Max Total Supply
2,000,000,000 GNB
Holders
688
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
GNB
Compiler Version
v0.4.24+commit.e67f0147
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2019-08-06 */ pragma solidity ^0.4.24; contract SafeMath { function safeAdd(uint a, uint b) public pure returns (uint c) { c = a + b; require(c >= a); } function safeSub(uint a, uint b) public pure returns (uint c) { require(b <= a); c = a - b; } function safeMul(uint a, uint b) public pure returns (uint c) { c = a * b; require(a == 0 || c / a == b); } function safeDiv(uint a, uint b) public pure returns (uint c) { require(b > 0); c = a / b; } } // ---------------------------------------------------------------------------- // ERC Token Standard #20 Interface // ---------------------------------------------------------------------------- contract ERC20Interface { function totalSupply() public constant returns (uint); function balanceOf(address tokenOwner) public constant returns (uint balance); function allowance(address tokenOwner, address spender) public constant returns (uint remaining); function transfer(address to, uint tokens) public returns (bool success); function approve(address spender, uint tokens) public returns (bool success); function transferFrom(address from, address to, uint tokens) public returns (bool success); function checkRate(uint unlockIndex) public constant returns (uint rate_); event Transfer(address indexed from, address indexed to, uint tokens); event Approval(address indexed tokenOwner, address indexed spender, uint tokens); event Blacklisted(address indexed target); event DeleteFromBlacklist(address indexed target); event RejectedPaymentToBlacklistedAddr(address indexed from, address indexed to, uint value); event RejectedPaymentFromBlacklistedAddr(address indexed from, address indexed to, uint value); event RejectedPaymentToLockedAddr(address indexed from, address indexed to, uint value, uint lackdatetime, uint now_); event RejectedPaymentFromLockedAddr(address indexed from, address indexed to, uint value, uint lackdatetime, uint now_); event RejectedPaymentMaximunFromLockedAddr(address indexed from, address indexed to, uint value, uint maximum, uint rate); } // ---------------------------------------------------------------------------- // Contract function to receive approval and execute function in one call // ---------------------------------------------------------------------------- contract ApproveAndCallFallBack { function receiveApproval(address from, uint256 tokens, address token, bytes data) public; } // ---------------------------------------------------------------------------- // Owned contract // ---------------------------------------------------------------------------- contract Owned { address public owner; address public newOwner; event OwnershipTransferred(address indexed _from, address indexed _to); constructor() public { owner = msg.sender; } modifier onlyOwner { require(msg.sender == owner); _; } function transferOwnership(address _newOwner) public onlyOwner { newOwner = _newOwner; } function acceptOwnership() public { require(msg.sender == newOwner); emit OwnershipTransferred(owner, newOwner); owner = newOwner; newOwner = address(0); } } // ---------------------------------------------------------------------------- // ERC20 Token, with the addition of symbol, name and decimals and assisted // token transfers // ---------------------------------------------------------------------------- contract GNB is ERC20Interface, Owned, SafeMath { string public symbol; string public name; uint8 public decimals; uint public _totalSupply; uint public startTime; address addr_1 = 0x9223C73D91D32427ff4A180931Dd9623B40889df; // 팀어드바이져 30% 600,000,000 1년락업 매달 10%씩풀림 address addr_2 = 0x594d7b3C4691EEa823f4153b458D7115560058ca; // 프라이빗 30% 600,000,000 6개월 락업 매달 10%씩 풀림. address addr_3 = 0x30fe67d39527E6722f3383Be7553E7c07C7B7C59; // 리저브 20% 400,000,000 락업조건없음 address addr_4 = 0x44d33cFac0626391308c72Af66B96848516497a2; // 세일보너스&에어드랍 5% 100,000,000 락업조건없음 address addr_5 = 0xE1cf664584CC7632Db07482f158CEC264c72b1De; // 퍼블릭 세일 15% 300,000,000 락업조건없음. mapping(address => uint) balances; mapping(address => mapping(address => uint)) allowed; mapping(address => int8) public blacklist; UnlockDateModel[] public unlockdate_T1; UnlockDateModel[] public unlockdate_T2; struct UnlockDateModel { uint256 datetime; uint rate; } // ------------------------------------------------------------------------ // Constructor // ------------------------------------------------------------------------ constructor() public { symbol = "GNB"; name = "Game Network Blockchain"; decimals = 18; _totalSupply = 2000000000000000000000000000; balances[addr_1] = 600000000000000000000000000; // 팀어드바이져 30% 600,000,000 1년락업 매달 10%씩풀림. emit Transfer(address(0), addr_1, balances[addr_1]); balances[addr_2] = 600000000000000000000000000; // 프라이빗 30% 600,000,000 6개월 락업 매달 10%씩 풀림. emit Transfer(address(0), addr_2, balances[addr_2]); balances[addr_3] = 400000000000000000000000000; // 리저브 20% 400,000,000 락업조건없음 emit Transfer(address(0), addr_3, balances[addr_3]); balances[addr_4] = 100000000000000000000000000; // 세일보너스&에어드랍 5% 100,000,000 락업조건없음 emit Transfer(address(0), addr_4, balances[addr_4]); balances[addr_5] = 300000000000000000000000000; // 퍼블릭 세일 15% 300,000,000 락업조건없음. emit Transfer(address(0), addr_5, balances[addr_5]); startTime = now; unlockdate_T1.push(UnlockDateModel({datetime : startTime + 365 days, rate : 100})); unlockdate_T1.push(UnlockDateModel({datetime : startTime + 395 days, rate : 100})); unlockdate_T1.push(UnlockDateModel({datetime : startTime + 425 days, rate : 100})); unlockdate_T1.push(UnlockDateModel({datetime : startTime + 455 days, rate : 100})); unlockdate_T1.push(UnlockDateModel({datetime : startTime + 485 days, rate : 100})); unlockdate_T1.push(UnlockDateModel({datetime : startTime + 515 days, rate : 100})); unlockdate_T1.push(UnlockDateModel({datetime : startTime + 545 days, rate : 100})); unlockdate_T1.push(UnlockDateModel({datetime : startTime + 575 days, rate : 100})); unlockdate_T1.push(UnlockDateModel({datetime : startTime + 605 days, rate : 100})); unlockdate_T1.push(UnlockDateModel({datetime : startTime + 635 days, rate : 100})); unlockdate_T2.push(UnlockDateModel({datetime : startTime + 180 days, rate : 100})); unlockdate_T2.push(UnlockDateModel({datetime : startTime + 210 days, rate : 100})); unlockdate_T2.push(UnlockDateModel({datetime : startTime + 240 days, rate : 100})); unlockdate_T2.push(UnlockDateModel({datetime : startTime + 270 days, rate : 100})); unlockdate_T2.push(UnlockDateModel({datetime : startTime + 300 days, rate : 100})); unlockdate_T2.push(UnlockDateModel({datetime : startTime + 330 days, rate : 100})); unlockdate_T2.push(UnlockDateModel({datetime : startTime + 360 days, rate : 100})); unlockdate_T2.push(UnlockDateModel({datetime : startTime + 390 days, rate : 100})); unlockdate_T2.push(UnlockDateModel({datetime : startTime + 420 days, rate : 100})); unlockdate_T2.push(UnlockDateModel({datetime : startTime + 450 days, rate : 100})); } function now_() public constant returns (uint){ return now; } // ------------------------------------------------------------------------ // Total supply // ------------------------------------------------------------------------ function totalSupply() public constant returns (uint) { return _totalSupply - balances[address(0)]; } // ------------------------------------------------------------------------ // Get the token balance for account tokenOwner // ------------------------------------------------------------------------ function balanceOf(address tokenOwner) public constant returns (uint balance) { return balances[tokenOwner]; } function checkRate(uint unlockIndex) public constant returns (uint rate_ ){ uint rate = 0; if (unlockIndex == 1){ for (uint i = 0; i<unlockdate_T1.length; i++) { if (unlockdate_T1[i].datetime < now) { rate = rate + unlockdate_T1[i].rate; } } } else if (unlockIndex == 2){ for (uint s = 0; s<unlockdate_T2.length; s++) { if (unlockdate_T2[s].datetime < now) { rate = rate + unlockdate_T2[s].rate; } } } return rate; } // ------------------------------------------------------------------------ // Transfer the balance from token owner's account to to account // - Owner's account must have sufficient balance to transfer // - 0 value transfers are allowed // ------------------------------------------------------------------------ function transfer(address to, uint tokens) public returns (bool success) { if (msg.sender == addr_1){ // 팀어드바이져 30% if (unlockdate_T1[0].datetime > now) { emit RejectedPaymentFromLockedAddr(msg.sender, to, tokens, unlockdate_T1[0].datetime, now); return false; } else { uint rate1 = checkRate(1); uint maximum1 = 600000000000000000000000000 - (600000000000000000000000000 * 0.001) * rate1; if (maximum1 > (balances[msg.sender] - tokens)){ emit RejectedPaymentMaximunFromLockedAddr(msg.sender, to, tokens, maximum1, rate1); return false; } } } else if (msg.sender == addr_2){ // 프라이빗 30% if (unlockdate_T1[0].datetime > now) { emit RejectedPaymentFromLockedAddr(msg.sender, to, tokens, unlockdate_T1[0].datetime, now); return false; } else { uint rate2 = checkRate(1); uint maximum2 = 600000000000000000000000000 - (600000000000000000000000000 * 0.001) * rate2; if (maximum2 > (balances[msg.sender] - tokens)){ emit RejectedPaymentMaximunFromLockedAddr(msg.sender, to, tokens, maximum2, rate2); return false; } } } if (blacklist[msg.sender] > 0) { // Accounts in the blacklist can not be withdrawn emit RejectedPaymentFromBlacklistedAddr(msg.sender, to, tokens); return false; } else if (blacklist[to] > 0) { // Accounts in the blacklist can not be withdrawn emit RejectedPaymentToBlacklistedAddr(msg.sender, to, tokens); return false; } else { balances[msg.sender] = safeSub(balances[msg.sender], tokens); balances[to] = safeAdd(balances[to], tokens); emit Transfer(msg.sender, to, tokens); return true; } } // ------------------------------------------------------------------------ // Token owner can approve for spender to transferFrom(...) tokens // from the token owner's account // ------------------------------------------------------------------------ function approve(address spender, uint tokens) public returns (bool success) { allowed[msg.sender][spender] = tokens; emit Approval(msg.sender, spender, tokens); return true; } // ------------------------------------------------------------------------ // Transfer tokens from the from account to the to account // // The calling account must already have sufficient tokens approve(...)-d // for spending from the from account and // - From account must have sufficient balance to transfer // - Spender must have sufficient allowance to transfer // - 0 value transfers are allowed // ------------------------------------------------------------------------ function transferFrom(address from, address to, uint tokens) public returns (bool success) { balances[from] = safeSub(balances[from], tokens); allowed[from][msg.sender] = safeSub(allowed[from][msg.sender], tokens); balances[to] = safeAdd(balances[to], tokens); emit Transfer(from, to, tokens); return true; } // ------------------------------------------------------------------------ // Returns the amount of tokens approved by the owner that can be // transferred to the spender's account // ------------------------------------------------------------------------ function allowance(address tokenOwner, address spender) public constant returns (uint remaining) { return allowed[tokenOwner][spender]; } // ------------------------------------------------------------------------ // Token owner can approve for spender to transferFrom(...) tokens // from the token owner's account. The spender contract function // receiveApproval(...) is then executed // ------------------------------------------------------------------------ function approveAndCall(address spender, uint tokens, bytes data) public returns (bool success) { allowed[msg.sender][spender] = tokens; emit Approval(msg.sender, spender, tokens); ApproveAndCallFallBack(spender).receiveApproval(msg.sender, tokens, this, data); return true; } // ------------------------------------------------------------------------ // Don't accept ETH // ------------------------------------------------------------------------ function () public payable { revert(); } // ------------------------------------------------------------------------ // Owner can transfer out any accidentally sent ERC20 tokens // ------------------------------------------------------------------------ function transferAnyERC20Token(address tokenAddress, uint tokens) public onlyOwner returns (bool success) { return ERC20Interface(tokenAddress).transfer(owner, tokens); } // ------------------------------------------------------------------------ // Owner can add an increase total supply. // ------------------------------------------------------------------------ function totalSupplyIncrease(uint256 _supply) public onlyOwner{ _totalSupply = _totalSupply + _supply; balances[msg.sender] = balances[msg.sender] + _supply; } // ------------------------------------------------------------------------ // Owner can add blacklist the wallet address. // ------------------------------------------------------------------------ function blacklisting(address _addr) public onlyOwner{ blacklist[_addr] = 1; emit Blacklisted(_addr); } // ------------------------------------------------------------------------ // Owner can delete from blacklist the wallet address. // ------------------------------------------------------------------------ function deleteFromBlacklist(address _addr) public onlyOwner{ blacklist[_addr] = -1; emit DeleteFromBlacklist(_addr); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"tokens","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"tokens","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"now_","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"unlockdate_T1","outputs":[{"name":"datetime","type":"uint256"},{"name":"rate","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"tokenOwner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_supply","type":"uint256"}],"name":"totalSupplyIncrease","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"startTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"}],"name":"blacklisting","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"}],"name":"deleteFromBlacklist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"a","type":"uint256"},{"name":"b","type":"uint256"}],"name":"safeSub","outputs":[{"name":"c","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"tokens","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"a","type":"uint256"},{"name":"b","type":"uint256"}],"name":"safeDiv","outputs":[{"name":"c","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"tokens","type":"uint256"},{"name":"data","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"a","type":"uint256"},{"name":"b","type":"uint256"}],"name":"safeMul","outputs":[{"name":"c","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"newOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"tokenAddress","type":"address"},{"name":"tokens","type":"uint256"}],"name":"transferAnyERC20Token","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"tokenOwner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"a","type":"uint256"},{"name":"b","type":"uint256"}],"name":"safeAdd","outputs":[{"name":"c","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"unlockdate_T2","outputs":[{"name":"datetime","type":"uint256"},{"name":"rate","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"blacklist","outputs":[{"name":"","type":"int8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"unlockIndex","type":"uint256"}],"name":"checkRate","outputs":[{"name":"rate_","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"tokenOwner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"target","type":"address"}],"name":"Blacklisted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"target","type":"address"}],"name":"DeleteFromBlacklist","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"RejectedPaymentToBlacklistedAddr","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"RejectedPaymentFromBlacklistedAddr","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"lackdatetime","type":"uint256"},{"indexed":false,"name":"now_","type":"uint256"}],"name":"RejectedPaymentToLockedAddr","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"lackdatetime","type":"uint256"},{"indexed":false,"name":"now_","type":"uint256"}],"name":"RejectedPaymentFromLockedAddr","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"maximum","type":"uint256"},{"indexed":false,"name":"rate","type":"uint256"}],"name":"RejectedPaymentMaximunFromLockedAddr","type":"event"}]
Contract Creation Code
6080604052739223c73d91d32427ff4a180931dd9623b40889df600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073594d7b3c4691eea823f4153b458d7115560058ca600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507330fe67d39527e6722f3383be7553e7c07c7b7c59600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507344d33cfac0626391308c72af66b96848516497a2600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073e1cf664584cc7632db07482f158cec264c72b1de600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550348015620001ba57600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040805190810160405280600381526020017f474e42000000000000000000000000000000000000000000000000000000000081525060029080519060200190620002489291906200113f565b506040805190810160405280601781526020017f47616d65204e6574776f726b20426c6f636b636861696e00000000000000000081525060039080519060200190620002969291906200113f565b506012600460006101000a81548160ff021916908360ff1602179055506b06765c793fa10079d00000006005819055506b01f04ef12cb04cf158000000600c6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600c6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36b01f04ef12cb04cf158000000600c6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600c6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36b014adf4b7320334b90000000600c6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600c6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36a52b7d2dcc80cd2e4000000600c6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600c6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36af8277896582678ac000000600c6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600c6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a342600681905550600f60408051908101604052806301e133806006540181526020016064815250908060018154018082558091505090600182039060005260206000209060020201600090919290919091506000820151816000015560208201518160010155505050600f6040805190810160405280630208c0806006540181526020016064815250908060018154018082558091505090600182039060005260206000209060020201600090919290919091506000820151816000015560208201518160010155505050600f60408051908101604052806302304d806006540181526020016064815250908060018154018082558091505090600182039060005260206000209060020201600090919290919091506000820151816000015560208201518160010155505050600f6040805190810160405280630257da806006540181526020016064815250908060018154018082558091505090600182039060005260206000209060020201600090919290919091506000820151816000015560208201518160010155505050600f604080519081016040528063027f67806006540181526020016064815250908060018154018082558091505090600182039060005260206000209060020201600090919290919091506000820151816000015560208201518160010155505050600f60408051908101604052806302a6f4806006540181526020016064815250908060018154018082558091505090600182039060005260206000209060020201600090919290919091506000820151816000015560208201518160010155505050600f60408051908101604052806302ce81806006540181526020016064815250908060018154018082558091505090600182039060005260206000209060020201600090919290919091506000820151816000015560208201518160010155505050600f60408051908101604052806302f60e806006540181526020016064815250908060018154018082558091505090600182039060005260206000209060020201600090919290919091506000820151816000015560208201518160010155505050600f604080519081016040528063031d9b806006540181526020016064815250908060018154018082558091505090600182039060005260206000209060020201600090919290919091506000820151816000015560208201518160010155505050600f6040805190810160405280630345288060065401815260200160648152509080600181540180825580915050906001820390600052602060002090600202016000909192909190915060008201518160000155602082015181600101555050506010604080519081016040528062ed4e00600654018152602001606481525090806001815401808255809150509060018203906000526020600020906002020160009091929091909150600082015181600001556020820151816001015550505060106040805190810160405280630114db0060065401815260200160648152509080600181540180825580915050906001820390600052602060002090600202016000909192909190915060008201518160000155602082015181600101555050506010604080519081016040528063013c6800600654018152602001606481525090806001815401808255809150509060018203906000526020600020906002020160009091929091909150600082015181600001556020820151816001015550505060106040805190810160405280630163f50060065401815260200160648152509080600181540180825580915050906001820390600052602060002090600202016000909192909190915060008201518160000155602082015181600101555050506010604080519081016040528063018b82006006540181526020016064815250908060018154018082558091505090600182039060005260206000209060020201600090919290919091506000820151816000015560208201518160010155505050601060408051908101604052806301b30f006006540181526020016064815250908060018154018082558091505090600182039060005260206000209060020201600090919290919091506000820151816000015560208201518160010155505050601060408051908101604052806301da9c006006540181526020016064815250908060018154018082558091505090600182039060005260206000209060020201600090919290919091506000820151816000015560208201518160010155505050601060408051908101604052806302022900600654018152602001606481525090806001815401808255809150509060018203906000526020600020906002020160009091929091909150600082015181600001556020820151816001015550505060106040805190810160405280630229b60060065401815260200160648152509080600181540180825580915050906001820390600052602060002090600202016000909192909190915060008201518160000155602082015181600101555050506010604080519081016040528063025143006006540181526020016064815250908060018154018082558091505090600182039060005260206000209060020201600090919290919091506000820151816000015560208201518160010155505050620011ee565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200118257805160ff1916838001178555620011b3565b82800160010185558215620011b3579182015b82811115620011b257825182559160200191906001019062001195565b5b509050620011c29190620011c6565b5090565b620011eb91905b80821115620011e7576000816000905550600101620011cd565b5090565b90565b61238680620011fe6000396000f300608060405260043610610175576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461017a578063095ea7b31461020a57806318160ddd1461026f57806323b872dd1461029a578063313ce5671461031f578063317f5aae146103505780633eaaf86b1461037b5780635f91c0d1146103a657806370a08231146103ee57806371986eae1461044557806378e979251461047257806379ba50971461049d5780638a294c60146104b45780638da5cb5b146104f75780638de6b3431461054e57806395d89b4114610591578063a293d1e814610621578063a9059cbb1461066c578063b5931f7c146106d1578063cae9ca511461071c578063d05c78da146107c7578063d4ee1d9014610812578063dc39d06d14610869578063dd62ed3e146108ce578063e6cb901314610945578063f2fde38b14610990578063f6c471db146109d3578063f9f92be414610a1b578063ff29fdd114610a78575b600080fd5b34801561018657600080fd5b5061018f610ab9565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101cf5780820151818401526020810190506101b4565b50505050905090810190601f1680156101fc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561021657600080fd5b50610255600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b57565b604051808215151515815260200191505060405180910390f35b34801561027b57600080fd5b50610284610c49565b6040518082815260200191505060405180910390f35b3480156102a657600080fd5b50610305600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c94565b604051808215151515815260200191505060405180910390f35b34801561032b57600080fd5b50610334610f24565b604051808260ff1660ff16815260200191505060405180910390f35b34801561035c57600080fd5b50610365610f37565b6040518082815260200191505060405180910390f35b34801561038757600080fd5b50610390610f3f565b6040518082815260200191505060405180910390f35b3480156103b257600080fd5b506103d160048036038101908080359060200190929190505050610f45565b604051808381526020018281526020019250505060405180910390f35b3480156103fa57600080fd5b5061042f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f78565b6040518082815260200191505060405180910390f35b34801561045157600080fd5b5061047060048036038101908080359060200190929190505050610fc1565b005b34801561047e57600080fd5b506104876110af565b6040518082815260200191505060405180910390f35b3480156104a957600080fd5b506104b26110b5565b005b3480156104c057600080fd5b506104f5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611254565b005b34801561050357600080fd5b5061050c611351565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561055a57600080fd5b5061058f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611376565b005b34801561059d57600080fd5b506105a6611492565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105e65780820151818401526020810190506105cb565b50505050905090810190601f1680156106135780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561062d57600080fd5b506106566004803603810190808035906020019092919080359060200190929190505050611530565b6040518082815260200191505060405180910390f35b34801561067857600080fd5b506106b7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061154c565b604051808215151515815260200191505060405180910390f35b3480156106dd57600080fd5b506107066004803603810190808035906020019092919080359060200190929190505050611c8f565b6040518082815260200191505060405180910390f35b34801561072857600080fd5b506107ad600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611cb3565b604051808215151515815260200191505060405180910390f35b3480156107d357600080fd5b506107fc6004803603810190808035906020019092919080359060200190929190505050611f02565b6040518082815260200191505060405180910390f35b34801561081e57600080fd5b50610827611f33565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561087557600080fd5b506108b4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611f59565b604051808215151515815260200191505060405180910390f35b3480156108da57600080fd5b5061092f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120bd565b6040518082815260200191505060405180910390f35b34801561095157600080fd5b5061097a6004803603810190808035906020019092919080359060200190929190505050612144565b6040518082815260200191505060405180910390f35b34801561099c57600080fd5b506109d1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612160565b005b3480156109df57600080fd5b506109fe600480360381019080803590602001909291905050506121ff565b604051808381526020018281526020019250505060405180910390f35b348015610a2757600080fd5b50610a5c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612232565b604051808260000b60000b815260200191505060405180910390f35b348015610a8457600080fd5b50610aa360048036038101908080359060200190929190505050612252565b6040518082815260200191505060405180910390f35b60038054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b4f5780601f10610b2457610100808354040283529160200191610b4f565b820191906000526020600020905b815481529060010190602001808311610b3257829003601f168201915b505050505081565b600081600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600c60008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460055403905090565b6000610cdf600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611530565b600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610da8600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611530565b600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e71600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612144565b600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600460009054906101000a900460ff1681565b600042905090565b60055481565b600f81815481101515610f5457fe5b90600052602060002090600202016000915090508060000154908060010154905082565b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561101c57600080fd5b806005540160058190555080600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b60065481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561111157600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112af57600080fd5b6001600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908360000b60ff1602179055508073ffffffffffffffffffffffffffffffffffffffff167fffa4e6181777692565cf28528fc88fd1516ea86b56da075235fa575af6a4b85560405160405180910390a250565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156113d157600080fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908360000b60ff1602179055508073ffffffffffffffffffffffffffffffffffffffff167f2e5392b52e98bf05bdf3784aaec667371398a6ea4fb965a2894852471999bca960405160405180910390a250565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115285780601f106114fd57610100808354040283529160200191611528565b820191906000526020600020905b81548152906001019060200180831161150b57829003601f168201915b505050505081565b600082821115151561154157600080fd5b818303905092915050565b6000806000806000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156117675742600f60008154811015156115bb57fe5b9060005260206000209060020201600001541115611672578673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167ffe8230d2672e27c1493bdced9f6cf8e8b4a4acc66c89aa742b34b5076588fdf488600f600081548110151561163357fe5b9060005260206000209060020201600001544260405180848152602001838152602001828152602001935050505060405180910390a360009450611c85565b61167c6001612252565b935083697f0e10af47c1c7000000026b01f04ef12cb04cf15800000003925085600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205403831115611762578673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fe941ba2d3707593843fabd8889b06b9f2ba4bc379f5810cfc2d9b77fadf7d09988868860405180848152602001838152602001828152602001935050505060405180910390a360009450611c85565b611977565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156119765742600f60008154811015156117ce57fe5b9060005260206000209060020201600001541115611885578673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167ffe8230d2672e27c1493bdced9f6cf8e8b4a4acc66c89aa742b34b5076588fdf488600f600081548110151561184657fe5b9060005260206000209060020201600001544260405180848152602001838152602001828152602001935050505060405180910390a360009450611c85565b61188f6001612252565b915081697f0e10af47c1c7000000026b01f04ef12cb04cf15800000003905085600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205403811115611975578673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fe941ba2d3707593843fabd8889b06b9f2ba4bc379f5810cfc2d9b77fadf7d09988848660405180848152602001838152602001828152602001935050505060405180910390a360009450611c85565b5b5b6000600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460000b60000b1315611a3d578673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2a04c84c100a93363ee2e1ab7076505a06b5dd417cccc0d6080ec8285e84f79e886040518082815260200191505060405180910390a360009450611c85565b6000600e60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460000b60000b1315611b03578673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fee75d149bb5e330e03f98b125aaa1efcd5864e4e2d5946f23dc6dd30630d5616886040518082815260200191505060405180910390a360009450611c85565b611b4c600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205487611530565b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611bd8600c60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205487612144565b600c60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef886040518082815260200191505060405180910390a3600194505b5050505092915050565b60008082111515611c9f57600080fd5b8183811515611caa57fe5b04905092915050565b600082600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925856040518082815260200191505060405180910390a38373ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338530866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611e90578082015181840152602081019050611e75565b50505050905090810190601f168015611ebd5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015611edf57600080fd5b505af1158015611ef3573d6000803e3d6000fd5b50505050600190509392505050565b600081830290506000831480611f225750818382811515611f1f57fe5b04145b1515611f2d57600080fd5b92915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611fb657600080fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561207a57600080fd5b505af115801561208e573d6000803e3d6000fd5b505050506040513d60208110156120a457600080fd5b8101908080519060200190929190505050905092915050565b6000600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000818301905082811015151561215a57600080fd5b92915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156121bb57600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60108181548110151561220e57fe5b90600052602060002090600202016000915090508060000154908060010154905082565b600e6020528060005260406000206000915054906101000a900460000b81565b6000806000806000925060018514156122d757600091505b600f805490508210156122d25742600f8381548110151561228757fe5b90600052602060002090600202016000015410156122c557600f828154811015156122ae57fe5b906000526020600020906002020160010154830192505b818060010192505061226a565b61234f565b600285141561234e57600090505b60108054905081101561234d574260108281548110151561230257fe5b90600052602060002090600202016000015410156123405760108181548110151561232957fe5b906000526020600020906002020160010154830192505b80806001019150506122e5565b5b5b8293505050509190505600a165627a7a7230582098eaa6c27c44293308e7b5e7cbd7b64b2a391baa1cf1bbaf5d22d73d26633eeb0029
Deployed Bytecode
0x608060405260043610610175576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461017a578063095ea7b31461020a57806318160ddd1461026f57806323b872dd1461029a578063313ce5671461031f578063317f5aae146103505780633eaaf86b1461037b5780635f91c0d1146103a657806370a08231146103ee57806371986eae1461044557806378e979251461047257806379ba50971461049d5780638a294c60146104b45780638da5cb5b146104f75780638de6b3431461054e57806395d89b4114610591578063a293d1e814610621578063a9059cbb1461066c578063b5931f7c146106d1578063cae9ca511461071c578063d05c78da146107c7578063d4ee1d9014610812578063dc39d06d14610869578063dd62ed3e146108ce578063e6cb901314610945578063f2fde38b14610990578063f6c471db146109d3578063f9f92be414610a1b578063ff29fdd114610a78575b600080fd5b34801561018657600080fd5b5061018f610ab9565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101cf5780820151818401526020810190506101b4565b50505050905090810190601f1680156101fc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561021657600080fd5b50610255600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b57565b604051808215151515815260200191505060405180910390f35b34801561027b57600080fd5b50610284610c49565b6040518082815260200191505060405180910390f35b3480156102a657600080fd5b50610305600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c94565b604051808215151515815260200191505060405180910390f35b34801561032b57600080fd5b50610334610f24565b604051808260ff1660ff16815260200191505060405180910390f35b34801561035c57600080fd5b50610365610f37565b6040518082815260200191505060405180910390f35b34801561038757600080fd5b50610390610f3f565b6040518082815260200191505060405180910390f35b3480156103b257600080fd5b506103d160048036038101908080359060200190929190505050610f45565b604051808381526020018281526020019250505060405180910390f35b3480156103fa57600080fd5b5061042f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f78565b6040518082815260200191505060405180910390f35b34801561045157600080fd5b5061047060048036038101908080359060200190929190505050610fc1565b005b34801561047e57600080fd5b506104876110af565b6040518082815260200191505060405180910390f35b3480156104a957600080fd5b506104b26110b5565b005b3480156104c057600080fd5b506104f5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611254565b005b34801561050357600080fd5b5061050c611351565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561055a57600080fd5b5061058f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611376565b005b34801561059d57600080fd5b506105a6611492565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105e65780820151818401526020810190506105cb565b50505050905090810190601f1680156106135780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561062d57600080fd5b506106566004803603810190808035906020019092919080359060200190929190505050611530565b6040518082815260200191505060405180910390f35b34801561067857600080fd5b506106b7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061154c565b604051808215151515815260200191505060405180910390f35b3480156106dd57600080fd5b506107066004803603810190808035906020019092919080359060200190929190505050611c8f565b6040518082815260200191505060405180910390f35b34801561072857600080fd5b506107ad600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611cb3565b604051808215151515815260200191505060405180910390f35b3480156107d357600080fd5b506107fc6004803603810190808035906020019092919080359060200190929190505050611f02565b6040518082815260200191505060405180910390f35b34801561081e57600080fd5b50610827611f33565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561087557600080fd5b506108b4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611f59565b604051808215151515815260200191505060405180910390f35b3480156108da57600080fd5b5061092f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120bd565b6040518082815260200191505060405180910390f35b34801561095157600080fd5b5061097a6004803603810190808035906020019092919080359060200190929190505050612144565b6040518082815260200191505060405180910390f35b34801561099c57600080fd5b506109d1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612160565b005b3480156109df57600080fd5b506109fe600480360381019080803590602001909291905050506121ff565b604051808381526020018281526020019250505060405180910390f35b348015610a2757600080fd5b50610a5c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612232565b604051808260000b60000b815260200191505060405180910390f35b348015610a8457600080fd5b50610aa360048036038101908080359060200190929190505050612252565b6040518082815260200191505060405180910390f35b60038054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b4f5780601f10610b2457610100808354040283529160200191610b4f565b820191906000526020600020905b815481529060010190602001808311610b3257829003601f168201915b505050505081565b600081600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600c60008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460055403905090565b6000610cdf600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611530565b600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610da8600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611530565b600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e71600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612144565b600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600460009054906101000a900460ff1681565b600042905090565b60055481565b600f81815481101515610f5457fe5b90600052602060002090600202016000915090508060000154908060010154905082565b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561101c57600080fd5b806005540160058190555080600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b60065481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561111157600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112af57600080fd5b6001600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908360000b60ff1602179055508073ffffffffffffffffffffffffffffffffffffffff167fffa4e6181777692565cf28528fc88fd1516ea86b56da075235fa575af6a4b85560405160405180910390a250565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156113d157600080fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908360000b60ff1602179055508073ffffffffffffffffffffffffffffffffffffffff167f2e5392b52e98bf05bdf3784aaec667371398a6ea4fb965a2894852471999bca960405160405180910390a250565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115285780601f106114fd57610100808354040283529160200191611528565b820191906000526020600020905b81548152906001019060200180831161150b57829003601f168201915b505050505081565b600082821115151561154157600080fd5b818303905092915050565b6000806000806000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156117675742600f60008154811015156115bb57fe5b9060005260206000209060020201600001541115611672578673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167ffe8230d2672e27c1493bdced9f6cf8e8b4a4acc66c89aa742b34b5076588fdf488600f600081548110151561163357fe5b9060005260206000209060020201600001544260405180848152602001838152602001828152602001935050505060405180910390a360009450611c85565b61167c6001612252565b935083697f0e10af47c1c7000000026b01f04ef12cb04cf15800000003925085600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205403831115611762578673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fe941ba2d3707593843fabd8889b06b9f2ba4bc379f5810cfc2d9b77fadf7d09988868860405180848152602001838152602001828152602001935050505060405180910390a360009450611c85565b611977565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156119765742600f60008154811015156117ce57fe5b9060005260206000209060020201600001541115611885578673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167ffe8230d2672e27c1493bdced9f6cf8e8b4a4acc66c89aa742b34b5076588fdf488600f600081548110151561184657fe5b9060005260206000209060020201600001544260405180848152602001838152602001828152602001935050505060405180910390a360009450611c85565b61188f6001612252565b915081697f0e10af47c1c7000000026b01f04ef12cb04cf15800000003905085600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205403811115611975578673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fe941ba2d3707593843fabd8889b06b9f2ba4bc379f5810cfc2d9b77fadf7d09988848660405180848152602001838152602001828152602001935050505060405180910390a360009450611c85565b5b5b6000600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460000b60000b1315611a3d578673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2a04c84c100a93363ee2e1ab7076505a06b5dd417cccc0d6080ec8285e84f79e886040518082815260200191505060405180910390a360009450611c85565b6000600e60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460000b60000b1315611b03578673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fee75d149bb5e330e03f98b125aaa1efcd5864e4e2d5946f23dc6dd30630d5616886040518082815260200191505060405180910390a360009450611c85565b611b4c600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205487611530565b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611bd8600c60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205487612144565b600c60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef886040518082815260200191505060405180910390a3600194505b5050505092915050565b60008082111515611c9f57600080fd5b8183811515611caa57fe5b04905092915050565b600082600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925856040518082815260200191505060405180910390a38373ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338530866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611e90578082015181840152602081019050611e75565b50505050905090810190601f168015611ebd5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015611edf57600080fd5b505af1158015611ef3573d6000803e3d6000fd5b50505050600190509392505050565b600081830290506000831480611f225750818382811515611f1f57fe5b04145b1515611f2d57600080fd5b92915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611fb657600080fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561207a57600080fd5b505af115801561208e573d6000803e3d6000fd5b505050506040513d60208110156120a457600080fd5b8101908080519060200190929190505050905092915050565b6000600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000818301905082811015151561215a57600080fd5b92915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156121bb57600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60108181548110151561220e57fe5b90600052602060002090600202016000915090508060000154908060010154905082565b600e6020528060005260406000206000915054906101000a900460000b81565b6000806000806000925060018514156122d757600091505b600f805490508210156122d25742600f8381548110151561228757fe5b90600052602060002090600202016000015410156122c557600f828154811015156122ae57fe5b906000526020600020906002020160010154830192505b818060010192505061226a565b61234f565b600285141561234e57600090505b60108054905081101561234d574260108281548110151561230257fe5b90600052602060002090600202016000015410156123405760108181548110151561232957fe5b906000526020600020906002020160010154830192505b80806001019150506122e5565b5b5b8293505050509190505600a165627a7a7230582098eaa6c27c44293308e7b5e7cbd7b64b2a391baa1cf1bbaf5d22d73d26633eeb0029
Deployed Bytecode Sourcemap
3650:12329:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14468:8;;;3732:19;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3732:19:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;3732:19:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12019:208;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12019:208:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8303:116;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8303:116:0;;;;;;;;;;;;;;;;;;;;;;;12761:358;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12761:358:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3758:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3758:21:0;;;;;;;;;;;;;;;;;;;;;;;;;;;8037:75;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8037:75:0;;;;;;;;;;;;;;;;;;;;;;;3786:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3786:24:0;;;;;;;;;;;;;;;;;;;;;;;4642:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4642:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8644:124;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8644:124:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15123:167;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15123:167:0;;;;;;;;;;;;;;;;;;;;;;;;;;3817:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3817:21:0;;;;;;;;;;;;;;;;;;;;;;;3188:196;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3188:196:0;;;;;;15507:111;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15507:111:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;2790:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2790:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;15846:127;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15846:127:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;3705:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3705:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;3705:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;177:116;;8:9:-1;5:2;;;30:1;27;20:12;5:2;177:116:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9755:1983;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9755:1983:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;435:115;;8:9:-1;5:2;;;30:1;27;20:12;5:2;435:115:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13916:317;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13916:317:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;299:130;;8:9:-1;5:2;;;30:1;27;20:12;5:2;299:130:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2817:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2817:23:0;;;;;;;;;;;;;;;;;;;;;;;;;;;14720:184;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14720:184:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13405:151;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13405:151:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;55:116;;8:9:-1;5:2;;;30:1;27;20:12;5:2;55:116:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3080:102;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3080:102:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;4687:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4687:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4594:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4594:41:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8776:630;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8776:630:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3732:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;12019:208::-;12082:12;12138:6;12107:7;:19;12115:10;12107:19;;;;;;;;;;;;;;;:28;12127:7;12107:28;;;;;;;;;;;;;;;:37;;;;12181:7;12160:37;;12169:10;12160:37;;;12190:6;12160:37;;;;;;;;;;;;;;;;;;12215:4;12208:11;;12019:208;;;;:::o;8303:116::-;8351:4;8391:8;:20;8408:1;8391:20;;;;;;;;;;;;;;;;8375:12;;:36;8368:43;;8303:116;:::o;12761:358::-;12838:12;12880:31;12888:8;:14;12897:4;12888:14;;;;;;;;;;;;;;;;12904:6;12880:7;:31::i;:::-;12863:8;:14;12872:4;12863:14;;;;;;;;;;;;;;;:48;;;;12950:42;12958:7;:13;12966:4;12958:13;;;;;;;;;;;;;;;:25;12972:10;12958:25;;;;;;;;;;;;;;;;12985:6;12950:7;:42::i;:::-;12922:7;:13;12930:4;12922:13;;;;;;;;;;;;;;;:25;12936:10;12922:25;;;;;;;;;;;;;;;:70;;;;13018:29;13026:8;:12;13035:2;13026:12;;;;;;;;;;;;;;;;13040:6;13018:7;:29::i;:::-;13003:8;:12;13012:2;13003:12;;;;;;;;;;;;;;;:44;;;;13078:2;13063:26;;13072:4;13063:26;;;13082:6;13063:26;;;;;;;;;;;;;;;;;;13107:4;13100:11;;12761:358;;;;;:::o;3758:21::-;;;;;;;;;;;;;:::o;8037:75::-;8078:4;8101:3;8094:10;;8037:75;:::o;3786:24::-;;;;:::o;4642:38::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8644:124::-;8708:12;8740:8;:20;8749:10;8740:20;;;;;;;;;;;;;;;;8733:27;;8644:124;;;:::o;15123:167::-;3046:5;;;;;;;;;;;3032:19;;:10;:19;;;3024:28;;;;;;;;15220:7;15205:12;;:22;15190:12;:37;;;;15278:7;15255:8;:20;15264:10;15255:20;;;;;;;;;;;;;;;;:30;15232:8;:20;15241:10;15232:20;;;;;;;;;;;;;;;:53;;;;15123:167;:::o;3817:21::-;;;;:::o;3188:196::-;3255:8;;;;;;;;;;;3241:22;;:10;:22;;;3233:31;;;;;;;;3308:8;;;;;;;;;;;3280:37;;3301:5;;;;;;;;;;;3280:37;;;;;;;;;;;;3336:8;;;;;;;;;;;3328:5;;:16;;;;;;;;;;;;;;;;;;3374:1;3355:8;;:21;;;;;;;;;;;;;;;;;;3188:196::o;15507:111::-;3046:5;;;;;;;;;;;3032:19;;:10;:19;;;3024:28;;;;;;;;15584:1;15565:9;:16;15575:5;15565:16;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;;;15607:5;15595:18;;;;;;;;;;;;15507:111;:::o;2790:20::-;;;;;;;;;;;;;:::o;15846:127::-;3046:5;;;;;;;;;;;3032:19;;:10;:19;;;3024:28;;;;;;;;15930:2;15911:9;:16;15921:5;15911:16;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;;;15962:5;15942:26;;;;;;;;;;;;15846:127;:::o;3705:20::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;177:116::-;231:6;263:1;258;:6;;250:15;;;;;;;;284:1;280;:5;276:9;;177:116;;;;:::o;9755:1983::-;9814:12;10117:10;10161:13;10770:10;10814:13;9859:6;;;;;;;;;;;9845:20;;:10;:20;;;9841:1307;;;9940:3;9912:13;9926:1;9912:16;;;;;;;;;;;;;;;;;;;;:25;;;:31;9908:576;;;10011:2;9969:85;;9999:10;9969:85;;;10015:6;10023:13;10037:1;10023:16;;;;;;;;;;;;;;;;;;;;:25;;;10050:3;9969:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10071:5;10064:12;;;;9908:576;10130:12;10140:1;10130:9;:12::i;:::-;10117:25;;10247:5;10208:35;10207:45;10177:27;:75;10161:91;;10310:6;10287:8;:20;10296:10;10287:20;;;;;;;;;;;;;;;;:29;10275:8;:42;10271:198;;;10395:2;10346:77;;10383:10;10346:77;;;10399:6;10407:8;10417:5;10346:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10444:5;10437:12;;;;10271:198;9841:1307;;;10519:6;;;;;;;;;;;10505:20;;:10;:20;;;10501:647;;;10593:3;10565:13;10579:1;10565:16;;;;;;;;;;;;;;;;;;;;:25;;;:31;10561:576;;;10664:2;10622:85;;10652:10;10622:85;;;10668:6;10676:13;10690:1;10676:16;;;;;;;;;;;;;;;;;;;;:25;;;10703:3;10622:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10724:5;10717:12;;;;10561:576;10783:12;10793:1;10783:9;:12::i;:::-;10770:25;;10900:5;10861:35;10860:45;10830:27;:75;10814:91;;10963:6;10940:8;:20;10949:10;10940:20;;;;;;;;;;;;;;;;:29;10928:8;:42;10924:198;;;11048:2;10999:77;;11036:10;10999:77;;;11052:6;11060:8;11070:5;10999:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11097:5;11090:12;;;;10924:198;10501:647;9841:1307;11196:1;11172:9;:21;11182:10;11172:21;;;;;;;;;;;;;;;;;;;;;;;;;:25;;;11168:559;;;11307:2;11260:58;;11295:10;11260:58;;;11311:6;11260:58;;;;;;;;;;;;;;;;;;11331:5;11324:12;;;;11168:559;11368:1;11352:9;:13;11362:2;11352:13;;;;;;;;;;;;;;;;;;;;;;;;;:17;;;11348:379;;;11477:2;11432:56;;11465:10;11432:56;;;11481:6;11432:56;;;;;;;;;;;;;;;;;;11501:5;11494:12;;;;11348:379;11547:37;11555:8;:20;11564:10;11555:20;;;;;;;;;;;;;;;;11577:6;11547:7;:37::i;:::-;11524:8;:20;11533:10;11524:20;;;;;;;;;;;;;;;:60;;;;11614:29;11622:8;:12;11631:2;11622:12;;;;;;;;;;;;;;;;11636:6;11614:7;:29::i;:::-;11599:8;:12;11608:2;11599:12;;;;;;;;;;;;;;;:44;;;;11684:2;11663:32;;11672:10;11663:32;;;11688:6;11663:32;;;;;;;;;;;;;;;;;;11717:4;11710:11;;9755:1983;;;;;;;;;:::o;435:115::-;489:6;520:1;516;:5;508:14;;;;;;;;541:1;537;:5;;;;;;;;533:9;;435:115;;;;:::o;13916:317::-;13998:12;14054:6;14023:7;:19;14031:10;14023:19;;;;;;;;;;;;;;;:28;14043:7;14023:28;;;;;;;;;;;;;;;:37;;;;14097:7;14076:37;;14085:10;14076:37;;;14106:6;14076:37;;;;;;;;;;;;;;;;;;14147:7;14124:47;;;14172:10;14184:6;14192:4;14198;14124:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;14124:79:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14124:79:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14124:79:0;;;;14221:4;14214:11;;13916:317;;;;;:::o;299:130::-;353:6;380:1;376;:5;372:9;;405:1;400;:6;:20;;;;419:1;414;410;:5;;;;;;;;:10;400:20;392:29;;;;;;;;299:130;;;;:::o;2817:23::-;;;;;;;;;;;;;:::o;14720:184::-;14812:12;3046:5;;;;;;;;;;;3032:19;;:10;:19;;;3024:28;;;;;;;;14859:12;14844:37;;;14882:5;;;;;;;;;;;14889:6;14844:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14844:52:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14844:52:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14844:52:0;;;;;;;;;;;;;;;;14837:59;;14720:184;;;;:::o;13405:151::-;13486:14;13520:7;:19;13528:10;13520:19;;;;;;;;;;;;;;;:28;13540:7;13520:28;;;;;;;;;;;;;;;;13513:35;;13405:151;;;;:::o;55:116::-;109:6;136:1;132;:5;128:9;;161:1;156;:6;;148:15;;;;;;;;55:116;;;;:::o;3080:102::-;3046:5;;;;;;;;;;;3032:19;;:10;:19;;;3024:28;;;;;;;;3165:9;3154:8;;:20;;;;;;;;;;;;;;;;;;3080:102;:::o;4687:38::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4594:41::-;;;;;;;;;;;;;;;;;;;;;;:::o;8776:630::-;8838:10;8861:9;8926:6;9175;8873:1;8861:13;;8904:1;8889:11;:16;8885:492;;;8935:1;8926:10;;8921:196;8940:13;:20;;;;8938:1;:22;8921:196;;;9018:3;8990:13;9004:1;8990:16;;;;;;;;;;;;;;;;;;;;:25;;;:31;8986:116;;;9060:13;9074:1;9060:16;;;;;;;;;;;;;;;;;;;;:21;;;9053:4;:28;9046:35;;8986:116;8962:3;;;;;;;8921:196;;;8885:492;;;9153:1;9138:11;:16;9134:243;;;9184:1;9175:10;;9170:196;9189:13;:20;;;;9187:1;:22;9170:196;;;9267:3;9239:13;9253:1;9239:16;;;;;;;;;;;;;;;;;;;;:25;;;:31;9235:116;;;9309:13;9323:1;9309:16;;;;;;;;;;;;;;;;;;;;:21;;;9302:4;:28;9295:35;;9235:116;9211:3;;;;;;;9170:196;;;9134:243;8885:492;9394:4;9387:11;;8776:630;;;;;;:::o
Swarm Source
bzzr://98eaa6c27c44293308e7b5e7cbd7b64b2a391baa1cf1bbaf5d22d73d26633eeb
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.