ERC-20
Overview
Max Total Supply
20,990,000 REDV
Holders
2,896
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 8 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Redvolution
Compiler Version
v0.4.17+commit.bdeb9e52
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-01-03 */ pragma solidity ^0.4.13; /** * @title Ownable * @dev The Ownable contract has an owner address, and provides basic authorization control * functions, this simplifies the implementation of "user permissions". */ contract Ownable { address public owner; /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ function Ownable() { owner = msg.sender; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { if (msg.sender != owner) { throw; } _; } /** * @dev Allows the current owner to transfer control of the contract to a newOwner. * @param newOwner The address to transfer ownership to. */ function transferOwnership(address newOwner) onlyOwner { if (newOwner != address(0)) { owner = newOwner; } } } /** * Math operations with safety checks */ contract SafeMath { function safeMul(uint a, uint b) internal returns (uint) { uint c = a * b; assert(a == 0 || c / a == b); return c; } function safeSub(uint a, uint b) internal returns (uint) { assert(b <= a); return a - b; } function safeAdd(uint a, uint b) internal returns (uint) { uint c = a + b; assert(c>=a && c>=b); return c; } function assert(bool assertion) internal { if (!assertion) throw; } } contract ERC20 { string public symbol; string public name; uint8 public decimals; uint256 _totalSupply; mapping(address => uint256) balances; mapping(address => mapping (address => uint256)) allowed; function totalSupply() constant returns (uint256 totalSupply); function balanceOf(address _owner) constant returns (uint256 balance); function transfer(address _to, uint256 _value) returns (bool success); function transferFrom(address _from, address _to, uint256 _value) returns (bool success); function approve(address _spender, uint256 _value) returns (bool success); function allowance(address _owner, address _spender) constant returns (uint256 remaining); event Transfer(address indexed _from, address indexed _to, uint256 _value); event Approval(address indexed _owner, address indexed _spender, uint256 _value); } contract Redvolution is Ownable, SafeMath, ERC20 { // ERC20 constants string public symbol = "REDV"; string public name = "Redvolution"; uint8 public constant decimals = 8; uint256 _totalSupply = 21000000*(10**8); // Constants uint public pricePerMessage = 5*(10**8); uint public priceCreatingChannel = 5000*(10**8); uint public maxCharacters = 300; uint public metadataSize = 1000; uint public channelMaxSize = 25; // Channels mapping(string => address) channelOwner; mapping(string => uint256) channelsOnSale; mapping(string => string) metadataChannel; mapping(address => string) metadataUser; mapping(address => uint256) ranks; // Events event MessageSent(address from, address to, uint256 bonus, string messageContent, string messageTitle, uint256 timestamp); event MessageSentToChannel(address from, string channel, string messageContent, uint256 timestamp); event pricePerMessageChanged(uint256 lastOne, uint256 newOne); event priceCreatingChannelChanged(uint256 lastOne, uint256 newOne); event ChannelBought(string channelName, address buyer, address seller); event ChannelCreated(string channelName, address creator); function Redvolution() { owner = msg.sender; balances[msg.sender] = _totalSupply; channelOwner["general"] = owner; channelOwner["General"] = owner; channelOwner["redvolution"] = owner; channelOwner["Redvolution"] = owner; channelOwner["REDV"] = owner; } function sendMessage(address to, string messageContent, string messageTitle, uint256 amountBonusToken){ assert(bytes(messageContent).length <= maxCharacters); transfer(to,amountBonusToken+pricePerMessage); MessageSent(msg.sender,to,amountBonusToken,messageContent,messageTitle,block.timestamp); } function sendMultipleMessages(address[] to, string messageContent, string messageTitle, uint256 amountBonusToken){ for(uint i=0;i<to.length;i++){ sendMessage(to[i],messageContent,messageTitle,amountBonusToken); } } function sendMessageToChannel(string channelName, string messageContent){ // only owners can send messages to channels assert(bytes(messageContent).length <= maxCharacters); assert(bytes(channelName).length <= channelMaxSize); assert(msg.sender == channelOwner[channelName]); MessageSentToChannel(msg.sender,channelName,messageContent, block.timestamp); } /** * Sales of Channels */ function sellChannel(string channelName, uint256 price){ assert(bytes(channelName).length <= channelMaxSize); assert(channelOwner[channelName] != 0); assert(msg.sender == channelOwner[channelName]); channelsOnSale[channelName] = price; } function buyChannel(string channelName){ assert(bytes(channelName).length <= channelMaxSize); assert(channelsOnSale[channelName] > 0); assert(channelOwner[channelName] != 0); transfer(channelOwner[channelName],channelsOnSale[channelName]); ChannelBought(channelName,msg.sender,channelOwner[channelName]); channelOwner[channelName] = msg.sender; channelsOnSale[channelName] = 0; } function createChannel(string channelName){ assert(channelOwner[channelName] == 0); assert(bytes(channelName).length <= channelMaxSize); burn(priceCreatingChannel); channelOwner[channelName] = msg.sender; ChannelCreated(channelName,msg.sender); } /** * General setters */ function setMetadataUser(string metadata) { assert(bytes(metadata).length <= metadataSize); metadataUser[msg.sender] = metadata; } function setMetadataChannels(string channelName, string metadata){ // metadata can be used for a lot of things such as redirection or displaying an image assert(msg.sender == channelOwner[channelName]); assert(bytes(metadata).length <= metadataSize); metadataChannel[channelName] = metadata; } /** * General getters */ function getOwner(string channel) constant returns(address ownerOfChannel){ return channelOwner[channel]; } function getPriceChannel(string channel) constant returns(uint256 price){ return channelsOnSale[channel]; } function getMetadataChannel(string channel) constant returns(string metadataOfChannel){ return metadataChannel[channel]; } function getMetadataUser(address user) constant returns(string metadataOfUser){ return metadataUser[user]; } function getRank(address user) constant returns(uint256){ return ranks[user]; } /** * Update the constants of the network if necessary */ function setPricePerMessage(uint256 newPrice) onlyOwner { pricePerMessageChanged(pricePerMessage,newPrice); pricePerMessage = newPrice; } function setPriceCreatingChannel(uint256 newPrice) onlyOwner { priceCreatingChannelChanged(priceCreatingChannel,newPrice); priceCreatingChannel = newPrice; } function setPriceChannelMaxSize(uint256 newSize) onlyOwner { channelMaxSize = newSize; } function setMetadataSize(uint256 newSize) onlyOwner { metadataSize = newSize; } function setMaxCharacters(uint256 newMax) onlyOwner { maxCharacters = newMax; } function setSymbol(string newSymbol) onlyOwner { symbol = newSymbol; } function setName(string newName) onlyOwner { name = newName; } function setRank(address user, uint256 newRank) onlyOwner { ranks[user] = newRank; } /** * Others */ function burn(uint256 amount){ balances[msg.sender] = safeSub(balances[msg.sender],amount); _totalSupply = safeSub(_totalSupply,amount); } /** * ERC20 functions */ function totalSupply() constant returns (uint256 totalSupply) { totalSupply = _totalSupply; } function balanceOf(address _owner) constant returns (uint256 balance) { return balances[_owner]; } function transfer(address _to, uint256 _amount) returns (bool success) { balances[msg.sender] = safeSub(balances[msg.sender],_amount); balances[_to] = safeAdd(balances[_to],_amount); Transfer(msg.sender, _to, _amount); return true; } function transferFrom( address _from, address _to, uint256 _amount ) returns (bool success) { allowed[_from][msg.sender] = safeSub(allowed[_from][msg.sender],_amount); balances[_from] = safeSub(balances[_from],_amount); balances[_to] = safeAdd(balances[_to],_amount); Transfer(_from, _to, _amount); return true; } function approve(address _spender, uint256 _amount) returns (bool success) { allowed[msg.sender][_spender] = _amount; Approval(msg.sender, _spender, _amount); return true; } function allowance(address _owner, address _spender) constant returns (uint256 remaining) { return allowed[_owner][_spender]; } /** * @dev Transfer an _amount to multiple addresses, used for airdrop * @param _amount The amount to be transfered * @param addresses The array of addresses to which the tokens will be sent */ function transferMultiple(uint256 _amount, address[] addresses) onlyOwner { for (uint i = 0; i < addresses.length; i++) { transfer(addresses[i],_amount); } } function transferMultipleDifferentValues(uint256[] amounts, address[] addresses) onlyOwner { assert(amounts.length == addresses.length); for (uint i = 0; i < addresses.length; i++) { transfer(addresses[i],amounts[i]); } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[{"name":"newSize","type":"uint256"}],"name":"setMetadataSize","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_amount","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"metadataSize","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"totalSupply","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"messageContent","type":"string"},{"name":"messageTitle","type":"string"},{"name":"amountBonusToken","type":"uint256"}],"name":"sendMessage","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"pricePerMessage","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newPrice","type":"uint256"}],"name":"setPriceCreatingChannel","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"channel","type":"string"}],"name":"getOwner","outputs":[{"name":"ownerOfChannel","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"user","type":"address"}],"name":"getRank","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"user","type":"address"}],"name":"getMetadataUser","outputs":[{"name":"metadataOfUser","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"metadata","type":"string"}],"name":"setMetadataUser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"channelName","type":"string"},{"name":"metadata","type":"string"}],"name":"setMetadataChannels","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amounts","type":"uint256[]"},{"name":"addresses","type":"address[]"}],"name":"transferMultipleDifferentValues","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newMax","type":"uint256"}],"name":"setMaxCharacters","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"channelName","type":"string"}],"name":"buyChannel","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"maxCharacters","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"channel","type":"string"}],"name":"getPriceChannel","outputs":[{"name":"price","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"},{"name":"addresses","type":"address[]"}],"name":"transferMultiple","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"channelName","type":"string"},{"name":"price","type":"uint256"}],"name":"sellChannel","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"channelMaxSize","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newPrice","type":"uint256"}],"name":"setPricePerMessage","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newSymbol","type":"string"}],"name":"setSymbol","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newSize","type":"uint256"}],"name":"setPriceChannelMaxSize","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newName","type":"string"}],"name":"setName","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"channel","type":"string"}],"name":"getMetadataChannel","outputs":[{"name":"metadataOfChannel","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"channelName","type":"string"}],"name":"createChannel","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"priceCreatingChannel","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"user","type":"address"},{"name":"newRank","type":"uint256"}],"name":"setRank","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address[]"},{"name":"messageContent","type":"string"},{"name":"messageTitle","type":"string"},{"name":"amountBonusToken","type":"uint256"}],"name":"sendMultipleMessages","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"channelName","type":"string"},{"name":"messageContent","type":"string"}],"name":"sendMessageToChannel","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"from","type":"address"},{"indexed":false,"name":"to","type":"address"},{"indexed":false,"name":"bonus","type":"uint256"},{"indexed":false,"name":"messageContent","type":"string"},{"indexed":false,"name":"messageTitle","type":"string"},{"indexed":false,"name":"timestamp","type":"uint256"}],"name":"MessageSent","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"from","type":"address"},{"indexed":false,"name":"channel","type":"string"},{"indexed":false,"name":"messageContent","type":"string"},{"indexed":false,"name":"timestamp","type":"uint256"}],"name":"MessageSentToChannel","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"lastOne","type":"uint256"},{"indexed":false,"name":"newOne","type":"uint256"}],"name":"pricePerMessageChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"lastOne","type":"uint256"},{"indexed":false,"name":"newOne","type":"uint256"}],"name":"priceCreatingChannelChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"channelName","type":"string"},{"indexed":false,"name":"buyer","type":"address"},{"indexed":false,"name":"seller","type":"address"}],"name":"ChannelBought","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"channelName","type":"string"},{"indexed":false,"name":"creator","type":"address"}],"name":"ChannelCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"}]
Contract Creation Code
60606040526040805190810160405280600481526020017f52454456000000000000000000000000000000000000000000000000000000008152506007908051906020019062000051929190620004bb565b506040805190810160405280600b81526020017f526564766f6c7574696f6e000000000000000000000000000000000000000000815250600890805190602001906200009f929190620004bb565b50660775f05a074000600955631dcd6500600a5564746a528800600b5561012c600c556103e8600d556019600e553415620000d957600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600954600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600f60405180807f67656e6572616c000000000000000000000000000000000000000000000000008152506007019050908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600f60405180807f47656e6572616c000000000000000000000000000000000000000000000000008152506007019050908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600f60405180807f726564766f6c7574696f6e000000000000000000000000000000000000000000815250600b019050908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600f60405180807f526564766f6c7574696f6e000000000000000000000000000000000000000000815250600b019050908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600f60405180807f52454456000000000000000000000000000000000000000000000000000000008152506004019050908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200056a565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620004fe57805160ff19168380011785556200052f565b828001600101855582156200052f579182015b828111156200052e57825182559160200191906001019062000511565b5b5090506200053e919062000542565b5090565b6200056791905b808211156200056357600081600090555060010162000549565b5090565b90565b613277806200057a6000396000f300606060405236156101ec576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305a873dc146101f157806306fdde0314610214578063095ea7b3146102a257806316708bc6146102fc57806318160ddd146103255780631d9caa691461034e57806323b872dd1461041657806325e1b5e41461048f5780632cc82225146104b8578063313ce567146104db57806342966c681461050a5780634aaf4a121461052d578063548c0ef4146105ca5780635c552fab146106175780636338977e146106c957806370a08231146107265780638214fe031461077357806384a0f60414610813578063864e8cc1146108ad578063869c8bd4146108d05780638882ddc91461092d57806389a451fb146109565780638da5cb5b146109c757806395d89b4114610a1c578063982b668914610aaa578063997aa31f14610b0d5780639f53e07b14610b73578063a2e2998c14610b9c578063a9059cbb14610bbf578063b84c824614610c19578063b9dfaf3a14610c76578063c47f002714610c99578063c83923c514610cf6578063cb6af4cb14610dcc578063dd62ed3e14610e29578063e265153914610e95578063e3aa018e14610ebe578063f2fde38b14610f00578063fa307fcb14610f39578063fe94915914611022575b600080fd5b34156101fc57600080fd5b61021260048080359060200190919050506110c2565b005b341561021f57600080fd5b610227611127565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561026757808201518184015260208101905061024c565b50505050905090810190601f1680156102945780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156102ad57600080fd5b6102e2600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506111c5565b604051808215151515815260200191505060405180910390f35b341561030757600080fd5b61030f6112b7565b6040518082815260200191505060405180910390f35b341561033057600080fd5b6103386112bd565b6040518082815260200191505060405180910390f35b341561035957600080fd5b610414600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919080359060200190919050506112c7565b005b341561042157600080fd5b610475600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061146c565b604051808215151515815260200191505060405180910390f35b341561049a57600080fd5b6104a26116fc565b6040518082815260200191505060405180910390f35b34156104c357600080fd5b6104d96004808035906020019091905050611702565b005b34156104e657600080fd5b6104ee6117a8565b604051808260ff1660ff16815260200191505060405180910390f35b341561051557600080fd5b61052b60048080359060200190919050506117ad565b005b341561053857600080fd5b610588600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061184e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156105d557600080fd5b610601600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506118e3565b6040518082815260200191505060405180910390f35b341561062257600080fd5b61064e600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061192c565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561068e578082015181840152602081019050610673565b50505050905090810190601f1680156106bb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156106d457600080fd5b610724600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611a13565b005b341561073157600080fd5b61075d600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611a79565b6040518082815260200191505060405180910390f35b341561077e57600080fd5b610811600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611ac2565b005b341561081e57600080fd5b6108ab60048080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091905050611c17565b005b34156108b857600080fd5b6108ce6004808035906020019091905050611cda565b005b34156108db57600080fd5b61092b600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611d3f565b005b341561093857600080fd5b610940612221565b6040518082815260200191505060405180910390f35b341561096157600080fd5b6109b1600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050612227565b6040518082815260200191505060405180910390f35b34156109d257600080fd5b6109da61229c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610a2757600080fd5b610a2f6122c1565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a6f578082015181840152602081019050610a54565b50505050905090810190601f168015610a9c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610ab557600080fd5b610b0b60048080359060200190919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509190505061235f565b005b3415610b1857600080fd5b610b71600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919080359060200190919050506123fe565b005b3415610b7e57600080fd5b610b866125f1565b6040518082815260200191505060405180910390f35b3415610ba757600080fd5b610bbd60048080359060200190919050506125f7565b005b3415610bca57600080fd5b610bff600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061269d565b604051808215151515815260200191505060405180910390f35b3415610c2457600080fd5b610c74600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050612826565b005b3415610c8157600080fd5b610c97600480803590602001909190505061289b565b005b3415610ca457600080fd5b610cf4600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050612900565b005b3415610d0157600080fd5b610d51600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050612975565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610d91578082015181840152602081019050610d76565b50505050905090810190601f168015610dbe5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610dd757600080fd5b610e27600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050612a88565b005b3415610e3457600080fd5b610e7f600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612ccc565b6040518082815260200191505060405180910390f35b3415610ea057600080fd5b610ea8612d53565b6040518082815260200191505060405180910390f35b3415610ec957600080fd5b610efe600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050612d59565b005b3415610f0b57600080fd5b610f37600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612dfc565b005b3415610f4457600080fd5b61102060048080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091908035906020019091905050612ed1565b005b341561102d57600080fd5b6110c0600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050612f17565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561111d57600080fd5b80600d8190555050565b60088054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111bd5780601f10611192576101008083540402835291602001916111bd565b820191906000526020600020905b8154815290600101906020018083116111a057829003601f168201915b505050505081565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600d5481565b6000600954905090565b6112d6600c5484511115613140565b6112e484600a54830161269d565b507f4129d7d1f4c88951fa10df15b854981af16d0390220f22cb931d247757d46caf338583868642604051808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018060200180602001848152602001838103835286818151815260200191508051906020019080838360005b838110156113c05780820151818401526020810190506113a5565b50505050905090810190601f1680156113ed5780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b8381101561142657808201518184015260208101905061140b565b50505050905090810190601f1680156114535780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390a150505050565b60006114f4600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548361314f565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115bd600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548361314f565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611649600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483613168565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600a5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561175d57600080fd5b7f3eb2a37d28b6e2cbab69063e24753b51ac169164389bb6968c9dd1b305e33e2c600b5482604051808381526020018281526020019250505060405180910390a180600b8190555050565b600881565b6117f6600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548261314f565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118456009548261314f565b60098190555050565b6000600f826040518082805190602001908083835b6020831015156118885780518252602082019150602081019050602083039250611863565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611934613192565b601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611a075780601f106119dc57610100808354040283529160200191611a07565b820191906000526020600020905b8154815290600101906020018083116119ea57829003601f168201915b50505050509050919050565b611a22600d5482511115613140565b80601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209080519060200190611a759291906131a6565b5050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611b84600f836040518082805190602001908083835b602083101515611afd5780518252602082019150602081019050602083039250611ad8565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614613140565b611b93600d5482511115613140565b806011836040518082805190602001908083835b602083101515611bcc5780518252602082019150602081019050602083039250611ba7565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390209080519060200190611c129291906131a6565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c7457600080fd5b611c818251845114613140565b600090505b8151811015611cd557611cc78282815181101515611ca057fe5b906020019060200201518483815181101515611cb857fe5b9060200190602002015161269d565b508080600101915050611c86565b505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d3557600080fd5b80600c8190555050565b611d4e600e5482511115613140565b611dc560006010836040518082805190602001908083835b602083101515611d8b5780518252602082019150602081019050602083039250611d66565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390205411613140565b611e736000600f836040518082805190602001908083835b602083101515611e025780518252602082019150602081019050602083039250611ddd565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415613140565b611f73600f826040518082805190602001908083835b602083101515611eae5780518252602082019150602081019050602083039250611e89565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166010836040518082805190602001908083835b602083101515611f3a5780518252602082019150602081019050602083039250611f15565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390205461269d565b507f75ddfa112e729f87fd5087a0831afed24f992d9354e003d9cdc3cdcef58635bd8133600f846040518082805190602001908083835b602083101515611fcf5780518252602082019150602081019050602083039250611faa565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405180806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825285818151815260200191508051906020019080838360005b838110156120c75780820151818401526020810190506120ac565b50505050905090810190601f1680156120f45780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a133600f826040518082805190602001908083835b60208310151561213c5780518252602082019150602081019050602083039250612117565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060006010826040518082805190602001908083835b6020831015156121e757805182526020820191506020810190506020830392506121c2565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390208190555050565b600c5481565b60006010826040518082805190602001908083835b602083101515612261578051825260208201915060208101905060208303925061223c565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60078054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156123575780601f1061232c57610100808354040283529160200191612357565b820191906000526020600020905b81548152906001019060200180831161233a57829003601f168201915b505050505081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156123bc57600080fd5b600090505b81518110156123f9576123eb82828151811015156123db57fe5b906020019060200201518461269d565b5080806001019150506123c1565b505050565b61240d600e5483511115613140565b6124bb6000600f846040518082805190602001908083835b60208310151561244a5780518252602082019150602081019050602083039250612425565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415613140565b61257d600f836040518082805190602001908083835b6020831015156124f657805182526020820191506020810190506020830392506124d1565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614613140565b806010836040518082805190602001908083835b6020831015156125b65780518252602082019150602081019050602083039250612591565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020819055505050565b600e5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561265257600080fd5b7f8d9a7b4902b5ca385c252aabb82e3929c68732a5bd78255d281ed0c73675f185600a5482604051808381526020018281526020019250505060405180910390a180600a8190555050565b60006126e8600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548361314f565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612774600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483613168565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561288157600080fd5b80600790805190602001906128979291906131a6565b5050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156128f657600080fd5b80600e8190555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561295b57600080fd5b80600890805190602001906129719291906131a6565b5050565b61297d613192565b6011826040518082805190602001908083835b6020831015156129b55780518252602082019150602081019050602083039250612990565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390208054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612a7c5780601f10612a5157610100808354040283529160200191612a7c565b820191906000526020600020905b815481529060010190602001808311612a5f57829003601f168201915b50505050509050919050565b612b356000600f836040518082805190602001908083835b602083101515612ac55780518252602082019150602081019050602083039250612aa0565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613140565b612b44600e5482511115613140565b612b4f600b546117ad565b33600f826040518082805190602001908083835b602083101515612b885780518252602082019150602081019050602083039250612b63565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f5d98d9ee2f45a911e7f127ab3975a8fa4e2681b57e7411cf547f5a6bd094dda2813360405180806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019080838360005b83811015612c8e578082015181840152602081019050612c73565b50505050905090810190601f168015612cbb5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a150565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600b5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612db457600080fd5b80601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612e5757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515612ece57806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b60008090505b8451811015612f1057612f038582815181101515612ef157fe5b906020019060200201518585856112c7565b8080600101915050612ed7565b5050505050565b612f26600c5482511115613140565b612f35600e5483511115613140565b612ff7600f836040518082805190602001908083835b602083101515612f705780518252602082019150602081019050602083039250612f4b565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614613140565b7fa5d33c2b350354c6a09f9ffad259e92d4d77763e10b908c0d7f86b9326d63ba633838342604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200180602001848152602001838103835286818151815260200191508051906020019080838360005b8381101561309857808201518184015260208101905061307d565b50505050905090810190601f1680156130c55780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b838110156130fe5780820151818401526020810190506130e3565b50505050905090810190601f16801561312b5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a15050565b80151561314c57600080fd5b50565b600061315d83831115613140565b818303905092915050565b60008082840190506131888482101580156131835750838210155b613140565b8091505092915050565b602060405190810160405280600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106131e757805160ff1916838001178555613215565b82800160010185558215613215579182015b828111156132145782518255916020019190600101906131f9565b5b5090506132229190613226565b5090565b61324891905b8082111561324457600081600090555060010161322c565b5090565b905600a165627a7a723058207f3cc7eefb46762cb677ee2c41ce70fa1864d5820d2838922ef6338bc2cd97f00029
Deployed Bytecode
0x606060405236156101ec576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305a873dc146101f157806306fdde0314610214578063095ea7b3146102a257806316708bc6146102fc57806318160ddd146103255780631d9caa691461034e57806323b872dd1461041657806325e1b5e41461048f5780632cc82225146104b8578063313ce567146104db57806342966c681461050a5780634aaf4a121461052d578063548c0ef4146105ca5780635c552fab146106175780636338977e146106c957806370a08231146107265780638214fe031461077357806384a0f60414610813578063864e8cc1146108ad578063869c8bd4146108d05780638882ddc91461092d57806389a451fb146109565780638da5cb5b146109c757806395d89b4114610a1c578063982b668914610aaa578063997aa31f14610b0d5780639f53e07b14610b73578063a2e2998c14610b9c578063a9059cbb14610bbf578063b84c824614610c19578063b9dfaf3a14610c76578063c47f002714610c99578063c83923c514610cf6578063cb6af4cb14610dcc578063dd62ed3e14610e29578063e265153914610e95578063e3aa018e14610ebe578063f2fde38b14610f00578063fa307fcb14610f39578063fe94915914611022575b600080fd5b34156101fc57600080fd5b61021260048080359060200190919050506110c2565b005b341561021f57600080fd5b610227611127565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561026757808201518184015260208101905061024c565b50505050905090810190601f1680156102945780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156102ad57600080fd5b6102e2600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506111c5565b604051808215151515815260200191505060405180910390f35b341561030757600080fd5b61030f6112b7565b6040518082815260200191505060405180910390f35b341561033057600080fd5b6103386112bd565b6040518082815260200191505060405180910390f35b341561035957600080fd5b610414600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919080359060200190919050506112c7565b005b341561042157600080fd5b610475600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061146c565b604051808215151515815260200191505060405180910390f35b341561049a57600080fd5b6104a26116fc565b6040518082815260200191505060405180910390f35b34156104c357600080fd5b6104d96004808035906020019091905050611702565b005b34156104e657600080fd5b6104ee6117a8565b604051808260ff1660ff16815260200191505060405180910390f35b341561051557600080fd5b61052b60048080359060200190919050506117ad565b005b341561053857600080fd5b610588600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061184e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156105d557600080fd5b610601600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506118e3565b6040518082815260200191505060405180910390f35b341561062257600080fd5b61064e600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061192c565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561068e578082015181840152602081019050610673565b50505050905090810190601f1680156106bb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156106d457600080fd5b610724600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611a13565b005b341561073157600080fd5b61075d600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611a79565b6040518082815260200191505060405180910390f35b341561077e57600080fd5b610811600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611ac2565b005b341561081e57600080fd5b6108ab60048080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091905050611c17565b005b34156108b857600080fd5b6108ce6004808035906020019091905050611cda565b005b34156108db57600080fd5b61092b600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611d3f565b005b341561093857600080fd5b610940612221565b6040518082815260200191505060405180910390f35b341561096157600080fd5b6109b1600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050612227565b6040518082815260200191505060405180910390f35b34156109d257600080fd5b6109da61229c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610a2757600080fd5b610a2f6122c1565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a6f578082015181840152602081019050610a54565b50505050905090810190601f168015610a9c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610ab557600080fd5b610b0b60048080359060200190919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509190505061235f565b005b3415610b1857600080fd5b610b71600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919080359060200190919050506123fe565b005b3415610b7e57600080fd5b610b866125f1565b6040518082815260200191505060405180910390f35b3415610ba757600080fd5b610bbd60048080359060200190919050506125f7565b005b3415610bca57600080fd5b610bff600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061269d565b604051808215151515815260200191505060405180910390f35b3415610c2457600080fd5b610c74600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050612826565b005b3415610c8157600080fd5b610c97600480803590602001909190505061289b565b005b3415610ca457600080fd5b610cf4600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050612900565b005b3415610d0157600080fd5b610d51600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050612975565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610d91578082015181840152602081019050610d76565b50505050905090810190601f168015610dbe5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610dd757600080fd5b610e27600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050612a88565b005b3415610e3457600080fd5b610e7f600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612ccc565b6040518082815260200191505060405180910390f35b3415610ea057600080fd5b610ea8612d53565b6040518082815260200191505060405180910390f35b3415610ec957600080fd5b610efe600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050612d59565b005b3415610f0b57600080fd5b610f37600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612dfc565b005b3415610f4457600080fd5b61102060048080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091908035906020019091905050612ed1565b005b341561102d57600080fd5b6110c0600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050612f17565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561111d57600080fd5b80600d8190555050565b60088054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111bd5780601f10611192576101008083540402835291602001916111bd565b820191906000526020600020905b8154815290600101906020018083116111a057829003601f168201915b505050505081565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600d5481565b6000600954905090565b6112d6600c5484511115613140565b6112e484600a54830161269d565b507f4129d7d1f4c88951fa10df15b854981af16d0390220f22cb931d247757d46caf338583868642604051808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018060200180602001848152602001838103835286818151815260200191508051906020019080838360005b838110156113c05780820151818401526020810190506113a5565b50505050905090810190601f1680156113ed5780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b8381101561142657808201518184015260208101905061140b565b50505050905090810190601f1680156114535780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390a150505050565b60006114f4600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548361314f565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115bd600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548361314f565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611649600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483613168565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600a5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561175d57600080fd5b7f3eb2a37d28b6e2cbab69063e24753b51ac169164389bb6968c9dd1b305e33e2c600b5482604051808381526020018281526020019250505060405180910390a180600b8190555050565b600881565b6117f6600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548261314f565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118456009548261314f565b60098190555050565b6000600f826040518082805190602001908083835b6020831015156118885780518252602082019150602081019050602083039250611863565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611934613192565b601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611a075780601f106119dc57610100808354040283529160200191611a07565b820191906000526020600020905b8154815290600101906020018083116119ea57829003601f168201915b50505050509050919050565b611a22600d5482511115613140565b80601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209080519060200190611a759291906131a6565b5050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611b84600f836040518082805190602001908083835b602083101515611afd5780518252602082019150602081019050602083039250611ad8565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614613140565b611b93600d5482511115613140565b806011836040518082805190602001908083835b602083101515611bcc5780518252602082019150602081019050602083039250611ba7565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390209080519060200190611c129291906131a6565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c7457600080fd5b611c818251845114613140565b600090505b8151811015611cd557611cc78282815181101515611ca057fe5b906020019060200201518483815181101515611cb857fe5b9060200190602002015161269d565b508080600101915050611c86565b505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d3557600080fd5b80600c8190555050565b611d4e600e5482511115613140565b611dc560006010836040518082805190602001908083835b602083101515611d8b5780518252602082019150602081019050602083039250611d66565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390205411613140565b611e736000600f836040518082805190602001908083835b602083101515611e025780518252602082019150602081019050602083039250611ddd565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415613140565b611f73600f826040518082805190602001908083835b602083101515611eae5780518252602082019150602081019050602083039250611e89565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166010836040518082805190602001908083835b602083101515611f3a5780518252602082019150602081019050602083039250611f15565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390205461269d565b507f75ddfa112e729f87fd5087a0831afed24f992d9354e003d9cdc3cdcef58635bd8133600f846040518082805190602001908083835b602083101515611fcf5780518252602082019150602081019050602083039250611faa565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405180806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825285818151815260200191508051906020019080838360005b838110156120c75780820151818401526020810190506120ac565b50505050905090810190601f1680156120f45780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a133600f826040518082805190602001908083835b60208310151561213c5780518252602082019150602081019050602083039250612117565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060006010826040518082805190602001908083835b6020831015156121e757805182526020820191506020810190506020830392506121c2565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390208190555050565b600c5481565b60006010826040518082805190602001908083835b602083101515612261578051825260208201915060208101905060208303925061223c565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60078054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156123575780601f1061232c57610100808354040283529160200191612357565b820191906000526020600020905b81548152906001019060200180831161233a57829003601f168201915b505050505081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156123bc57600080fd5b600090505b81518110156123f9576123eb82828151811015156123db57fe5b906020019060200201518461269d565b5080806001019150506123c1565b505050565b61240d600e5483511115613140565b6124bb6000600f846040518082805190602001908083835b60208310151561244a5780518252602082019150602081019050602083039250612425565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415613140565b61257d600f836040518082805190602001908083835b6020831015156124f657805182526020820191506020810190506020830392506124d1565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614613140565b806010836040518082805190602001908083835b6020831015156125b65780518252602082019150602081019050602083039250612591565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020819055505050565b600e5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561265257600080fd5b7f8d9a7b4902b5ca385c252aabb82e3929c68732a5bd78255d281ed0c73675f185600a5482604051808381526020018281526020019250505060405180910390a180600a8190555050565b60006126e8600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548361314f565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612774600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483613168565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561288157600080fd5b80600790805190602001906128979291906131a6565b5050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156128f657600080fd5b80600e8190555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561295b57600080fd5b80600890805190602001906129719291906131a6565b5050565b61297d613192565b6011826040518082805190602001908083835b6020831015156129b55780518252602082019150602081019050602083039250612990565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390208054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612a7c5780601f10612a5157610100808354040283529160200191612a7c565b820191906000526020600020905b815481529060010190602001808311612a5f57829003601f168201915b50505050509050919050565b612b356000600f836040518082805190602001908083835b602083101515612ac55780518252602082019150602081019050602083039250612aa0565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613140565b612b44600e5482511115613140565b612b4f600b546117ad565b33600f826040518082805190602001908083835b602083101515612b885780518252602082019150602081019050602083039250612b63565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f5d98d9ee2f45a911e7f127ab3975a8fa4e2681b57e7411cf547f5a6bd094dda2813360405180806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019080838360005b83811015612c8e578082015181840152602081019050612c73565b50505050905090810190601f168015612cbb5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a150565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600b5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612db457600080fd5b80601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612e5757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515612ece57806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b60008090505b8451811015612f1057612f038582815181101515612ef157fe5b906020019060200201518585856112c7565b8080600101915050612ed7565b5050505050565b612f26600c5482511115613140565b612f35600e5483511115613140565b612ff7600f836040518082805190602001908083835b602083101515612f705780518252602082019150602081019050602083039250612f4b565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614613140565b7fa5d33c2b350354c6a09f9ffad259e92d4d77763e10b908c0d7f86b9326d63ba633838342604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200180602001848152602001838103835286818151815260200191508051906020019080838360005b8381101561309857808201518184015260208101905061307d565b50505050905090810190601f1680156130c55780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b838110156130fe5780820151818401526020810190506130e3565b50505050905090810190601f16801561312b5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a15050565b80151561314c57600080fd5b50565b600061315d83831115613140565b818303905092915050565b60008082840190506131888482101580156131835750838210155b613140565b8091505092915050565b602060405190810160405280600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106131e757805160ff1916838001178555613215565b82800160010185558215613215579182015b828111156132145782518255916020019190600101906131f9565b5b5090506132229190613226565b5090565b61324891905b8082111561324457600081600090555060010161322c565b5090565b905600a165627a7a723058207f3cc7eefb46762cb677ee2c41ce70fa1864d5820d2838922ef6338bc2cd97f00029
Swarm Source
bzzr://7f3cc7eefb46762cb677ee2c41ce70fa1864d5820d2838922ef6338bc2cd97f0
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.