More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 275 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Set NPA | 20710835 | 142 days ago | IN | 0 ETH | 0.00009775 | ||||
Set NPA | 20710799 | 142 days ago | IN | 0 ETH | 0.0000395 | ||||
Redeem NPA | 20710723 | 142 days ago | IN | 0 ETH | 0.0001895 | ||||
Redeem One | 20710228 | 142 days ago | IN | 0 ETH | 0.0002799 | ||||
Redeem One | 20710217 | 142 days ago | IN | 0 ETH | 0.00027361 | ||||
Issue | 20710172 | 142 days ago | IN | 0 ETH | 0.00029314 | ||||
Set Assets | 20710062 | 142 days ago | IN | 0 ETH | 0.00027457 | ||||
Set NPA | 12113679 | 1405 days ago | IN | 0 ETH | 0.00495913 | ||||
Redeem One | 12113670 | 1405 days ago | IN | 0 ETH | 0.01553711 | ||||
Issue | 12113631 | 1405 days ago | IN | 0 ETH | 0.01172798 | ||||
Set NPA | 12111689 | 1405 days ago | IN | 0 ETH | 0.0018688 | ||||
Set NPA | 12111492 | 1405 days ago | IN | 0 ETH | 0.00577062 | ||||
Set NPA | 11898802 | 1438 days ago | IN | 0 ETH | 0.00167288 | ||||
Set NPA | 11898532 | 1438 days ago | IN | 0 ETH | 0.00500421 | ||||
Redeem One | 11439378 | 1508 days ago | IN | 0 ETH | 0.00322089 | ||||
Redeem One | 11116636 | 1558 days ago | IN | 0 ETH | 0.00217208 | ||||
Redeem One | 10832619 | 1602 days ago | IN | 0 ETH | 0.02300198 | ||||
Redeem One | 10769920 | 1611 days ago | IN | 0 ETH | 0.03705022 | ||||
Redeem One | 10769903 | 1611 days ago | IN | 0 ETH | 0.02504991 | ||||
Redeem One | 10578433 | 1641 days ago | IN | 0 ETH | 0.01332679 | ||||
Issue | 10576309 | 1641 days ago | IN | 0 ETH | 0.00658389 | ||||
Redeem One | 10575783 | 1641 days ago | IN | 0 ETH | 0.00539432 | ||||
Issue | 10575778 | 1641 days ago | IN | 0 ETH | 0.00641442 | ||||
Redeem One | 10575753 | 1641 days ago | IN | 0 ETH | 0.00549806 | ||||
Issue | 10575750 | 1641 days ago | IN | 0 ETH | 0.00646197 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
UNDTISSUE
Compiler Version
v0.5.5+commit.47a71e8f
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2019-09-11 */ pragma solidity ^0.5.5; /*Math operations with safety checks */ contract SafeMath { function safeMul(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a * b; assert(a == 0 || c / a == b); return c; } function safeDiv(uint256 a, uint256 b) internal pure returns (uint256) { return a/b; } function safeSub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } function safeAdd(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; assert(c>=a && c>=b); return c; } function safePower(uint a, uint b) internal pure returns (uint256) { uint256 c = a**b; return c; } } contract Token { function totalSupply() public view returns (uint256 supply) {} function balanceOf(address _owner) public view returns (uint256 balance) {} function transfer(address _to, uint256 _value) public returns (bool success) {} function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {} function approve(address _spender, uint256 _value) public returns (bool success) {} function allowance(address _owner, address _spender) public view returns (uint256 remaining) {} function burn(uint256 _value) public returns (bool success){} function mintToken(address _target, uint256 _mintedAmount) public returns (bool success) {} mapping (address => uint256) public newPrice; address public issueContract; } contract TokenUSDT { function transferFrom(address _from, address _to, uint256 _value) public {} function transfer(address _to, uint256 _value) public {} } interface tokenRecipient { function receiveApproval(address _from, uint256 _value, address _token, bytes calldata _extraData) external; } contract UNDTISSUE is SafeMath{ address payable public owner; address public tokenAddress; uint8 public decimals; uint256 public totalSupply; address public manager;/*Executive manager*/ uint256 public tokenNumber;/*Number of assets*/ uint256 public fee;/*redeem fee ratio*/ address public managerToken; uint16 public upAmountRate;/*The total amount of control coefficient, the standard is 100, this parameter is divided by 100 to get the actual upper limit of the total amount of assets issued*/ bool public pauseIssue; bool public pauseRedeem; uint256 public blockPerDay; uint256 public issueDiv; mapping (address => uint8) public tokenDecimals; mapping (address => bool) public isNPA;/*Whether to dispose of bad assets, directly replace non-performing assets of this kind*/ mapping (uint => address) public tokenPool;/*Asset list*/ mapping (address => uint256) public tokenSupply;/*Token asset stock*/ mapping (address => uint256) public upAmount;/*The total amount of this token exchange*/ mapping (address => bool) public isTransferFrom;/*Whether to dispose of bad assets, directly replace non-performing assets of this kind*/ mapping (address => mapping (address => uint)) public tokens;//mapping of token addresses to mapping of account balances (token=0 means Ether) mapping (uint256 => mapping (address => uint256)) public totalRedeemOne; mapping (uint256 => mapping (address => uint256)) public totalIssue; event Withdraw(address token, address user, uint amount, uint balance); event SetManagerToken(address add); event SetPauseIssue(bool pause); event SetPauseRedeem(bool pause); event SetNPA(address token,bool isNPA); event SetAssetsUpperLimit(address token,uint256 value); event SetManager(address add); event ChangeOwner(address add); event SetFee(uint256 value); /* Initializes contract with initial supply tokens to the creator of the contract */ constructor (uint8 decimalUnits,address monetaryTokenAddress,address managerTokenAddress) public{ owner = msg.sender; decimals = decimalUnits; manager = msg.sender; fee = (10 ** 16); upAmountRate = 100; tokenAddress = monetaryTokenAddress; managerToken = managerTokenAddress; blockPerDay = 6000; issueDiv = 10; } /*Set ManagerToken*/ function setManagerToken(address _add)public { require (msg.sender == owner) ; managerToken = _add; emit SetManagerToken(_add); } /*Set Pause Issue*/ function setPauseIssue(bool _pause)public { require (msg.sender == manager) ; pauseIssue = _pause; emit SetPauseIssue(_pause); } /*Set Pause Redeem*/ function setPauseRedeem(bool _pause)public { require (msg.sender == manager) ; pauseRedeem = _pause; emit SetPauseRedeem(_pause); } /*Set Assets*/ function setAssets(address _token,uint256 _value,uint8 _tokenDecimals,bool _isTransferFrom)public returns (bool success) { require (msg.sender == owner) ; require (_token != address(0x0)) ; require (_value > 0) ; if (upAmount[_token] == 0) { tokenPool[tokenNumber] = _token ; isNPA[_token] = false ; tokenSupply[_token] = 0 ; upAmount[_token] = _value ; tokenDecimals[_token] = _tokenDecimals; tokenNumber = safeAdd(tokenNumber,1) ; isTransferFrom[_token] = _isTransferFrom; } else { upAmount[_token] = _value ; tokenDecimals[_token] = _tokenDecimals; isTransferFrom[_token] = _isTransferFrom; } return true; } /*Set as bad assets*/ function setNPA(address _token,bool _isNPA)public returns (bool success) { require (msg.sender == manager) ; require (_token != address(0x0)) ; isNPA[_token] = _isNPA ; emit SetNPA(_token,_isNPA); return true; } /*Set an asset exchange upper limit*/ function setAssetsUpperLimit(address _token,uint256 _value)public returns (bool success) { require (msg.sender == manager) ; require (_token != address(0x0)) ; require (_value > 0) ; upAmount[_token] = _value ; emit SetAssetsUpperLimit(_token,_value); return true; } /*Set an asset exchange upper limit upAmountRate*/ function setAssetsUpAmountRate(uint16 _value)public returns (bool success) { require (msg.sender == manager) ; require (_value > 0) ; upAmountRate = _value ; return true; } /*Set the fee ratio*/ function setFee(uint256 _value)public returns (bool success) { require (msg.sender == manager) ; require (_value <= 10**18) ; fee = _value ; emit SetFee(_value); return true; } /*set Issue Div*/ function setIssueDiv(uint256 _value)public returns (bool success) { require (msg.sender == manager) ; require (_value >= 1) ; issueDiv = _value ; return true; } /*Set administrator*/ function setManager(address _add)public returns (bool success) { require (msg.sender == owner) ; require (_add != address(0x0)) ; manager = _add ; emit SetManager(_add); return true; } /*Change Owner*/ function changeOwner(address payable _add)public returns (bool success) { require (msg.sender == owner) ; require (_add != address(0x0)) ; owner = _add ; emit ChangeOwner(_add); return true; } //Get Assets Upper Limit function getAssetsUpperLimit(address _add) public view returns (uint256 _amount) { _amount = safeDiv(safeMul(upAmount[_add] , upAmountRate) , 100); return _amount; } /* can accept ether */ function() external payable {} // transfer Ether balance to owner function withdrawEther(uint amount) public{ require(msg.sender == owner); owner.transfer(amount); } //withdraw Token function withdrawToken(address token, uint amount) public{ require (token != address(0x0)); require (tokens[token][msg.sender] >= amount); tokens[token][msg.sender] = safeSub(tokens[token][msg.sender], amount); if(isTransferFrom[token]){ require (Token(token).transfer(msg.sender, amount)); }else{ TokenUSDT(token).transfer(msg.sender, amount); } emit Withdraw(token, msg.sender, amount, tokens[token][msg.sender]); } function balanceOf(address token, address user) public view returns (uint) { return tokens[token][user]; } /*issue new coin */ function issue(address _token, uint256 _amount) public returns (bool success) { require (_token != address(0x0) && !pauseIssue) ; require (isNPA[_token] == false) ; uint256 _mintedAmount = safeDiv(safeMul(_amount , safePower(10,decimals)) , safePower(10,tokenDecimals[_token])) ; require (safeAdd(totalIssue[safeDiv(block.number , blockPerDay)][_token],_mintedAmount) <= safeDiv(safeDiv(safeMul(upAmount[_token] , upAmountRate) , 100),issueDiv)) ; require (safeDiv(safeMul(upAmount[_token] , upAmountRate) , 100) >= safeAdd(tokenSupply[_token],_mintedAmount)) ; require (_mintedAmount >= safePower(10,decimals)); if(isTransferFrom[_token]){ require (Token(_token).transferFrom(msg.sender, address(this), _amount)); }else{ TokenUSDT(_token).transferFrom(msg.sender, address(this), _amount); } require(Token(tokenAddress).mintToken(msg.sender,_mintedAmount)); tokenSupply[_token] = safeAdd(tokenSupply[_token],_mintedAmount); totalSupply = safeAdd(totalSupply,_mintedAmount); totalIssue[safeDiv(block.number , blockPerDay)][_token] = safeAdd(totalIssue[safeDiv(block.number , blockPerDay)][_token],_mintedAmount); return true; } /* the circulation of each asset */ function getTokenIssueAmount() public view returns (uint256[256] memory _amount) { for (uint i = 0; i < tokenNumber && i < 256; i++) { _amount[i] = tokenSupply[tokenPool[i]]; } return _amount; } /* each asset address*/ function getTokenPoolAddress() public view returns (address[256] memory _token) { for (uint i = 0; i < tokenNumber && i < 256; i++) { _token[i] = tokenPool[i]; } return _token; } /* each asset Upper limit*/ function getTokenUpAmount() public view returns (uint256[256] memory _amount) { for (uint i = 0; i < tokenNumber && i < 256; i++) { _amount[i] = upAmount[tokenPool[i]]; } return _amount; } /* each asset decimals*/ function getTokenDecimals() public view returns (uint8[256] memory _decimals) { for (uint i = 0; i < tokenNumber && i < 256; i++) { _decimals[i] = tokenDecimals[tokenPool[i]]; } return _decimals; } /* each asset if is NPA*/ function getTokenIsNPA() public view returns (bool[256] memory _isNPA) { for (uint i = 0; i < tokenNumber && i < 256; i++) { _isNPA[i] = isNPA[tokenPool[i]]; } return _isNPA; } /* Get RedeemOne Fee*/ function getRedeemOneFee(address _token,uint256 _amount) public view returns (uint256 _Fee) { _Fee = safeAdd( safeDiv( safeMul(safeAdd(totalRedeemOne[safeDiv(block.number , blockPerDay)][_token] , _amount), 100) , tokenSupply[_token]),1); if (safeSub(tokenSupply[_token],_amount) > safeDiv(safeDiv(safeMul(upAmount[_token] , upAmountRate) , 100),2)) { _Fee = 1; } _Fee = safeMul(fee,_Fee); uint256 _udaoPrice = Token(Token(managerToken).issueContract()).newPrice(tokenAddress); return safeDiv(safeMul(_amount , _Fee) , _udaoPrice); } /* redeem Assets */ function redeem(uint256 _amount) public returns (bool success) { require (_amount >= safePower(10,decimals) && !pauseRedeem) ; if(fee > 0){ uint256 _udaoPrice = Token(Token(managerToken).issueContract()).newPrice(tokenAddress); if(_udaoPrice > 0){ uint256 _amountFee = safeDiv(safeMul(_amount , fee) , _udaoPrice); require (Token(managerToken).transferFrom(msg.sender,address(this),_amountFee)); require (Token(managerToken).burn(_amountFee)); } } address _token; uint _value = 0; uint _npavalue = 0; for (uint k = 0; k < tokenNumber; k++) { _token = tokenPool[k]; if (isNPA[_token]) { _npavalue = safeAdd(_npavalue , tokenSupply[_token]); } } for (uint i = 0; i < tokenNumber; i++) { _token = tokenPool[i]; if (isNPA[_token]) {continue;} _value = safeDiv(safeMul(_amount , tokenSupply[_token]) , safeSub(totalSupply , _npavalue)) ; if(_value > 0){ if(isTransferFrom[_token]){ require (Token(_token).transfer(msg.sender, safeDiv(safeMul(_value , safePower(10,tokenDecimals[_token])) , safePower(10,decimals)))); }else{ TokenUSDT(_token).transfer(msg.sender, safeDiv(safeMul(_value , safePower(10,tokenDecimals[_token])) , safePower(10,decimals))); } tokenSupply[_token] = safeSub(tokenSupply[_token],_value); } } require (Token(tokenAddress).transferFrom(msg.sender,address(this),_amount)); require(Token(tokenAddress).burn(_amount)); totalSupply = safeSub(totalSupply,_amount); return true; } /* redeem the specified bad token assets*/ function redeemNPA(uint256 _amount,address _token,bool _isReceiveToken) public returns (bool success) { uint _value = safeDiv(safeMul(_amount , safePower(10,tokenDecimals[_token])) , safePower(10,decimals)) ; require (_amount > 0 && !pauseRedeem) ; require (isNPA[_token] == true) ; require (_amount <= tokenSupply[_token]) ; require (Token(tokenAddress).transferFrom(msg.sender,address(this),_amount)); require(Token(tokenAddress).burn(_amount)); if(_isReceiveToken == true) { if(isTransferFrom[_token]){ require (Token(_token).transfer(msg.sender, _value)); }else{ TokenUSDT(_token).transfer(msg.sender, _value); } } else{ tokens[_token][msg.sender] = safeAdd(tokens[_token][msg.sender], _value);} tokenSupply[_token] = safeSub(tokenSupply[_token],_amount); totalSupply = safeSub(totalSupply,_amount); return true; } /* redeem One Assets */ function redeemOne(uint256 _amount,address _token) public returns (bool success) { require (_amount >= safePower(10,decimals) && !pauseRedeem) ; require (isNPA[_token] == false) ; totalRedeemOne[safeDiv(block.number , blockPerDay)][_token] = safeAdd(totalRedeemOne[safeDiv(block.number , blockPerDay)][_token],_amount); if(fee > 0){ uint256 _udaoPrice = Token(Token(managerToken).issueContract()).newPrice(tokenAddress); uint256 _redeemOneFee =safeAdd( safeDiv( safeMul(totalRedeemOne[safeDiv(block.number , blockPerDay)][_token] , 100) , tokenSupply[_token]),1); if (safeSub(tokenSupply[_token],_amount) > safeDiv(safeDiv(safeMul(upAmount[_token] , upAmountRate) , 100),2)) { _redeemOneFee = 1; } _redeemOneFee = safeMul(fee,_redeemOneFee); if(_udaoPrice > 0){ uint256 _amountFee = safeDiv(safeMul(_amount , _redeemOneFee) , _udaoPrice); require (Token(managerToken).transferFrom(msg.sender,address(this),_amountFee)); require (Token(managerToken).burn(_amountFee)); } } uint _value = safeDiv(safeMul(_amount , safePower(10,tokenDecimals[_token])) , safePower(10,decimals)) ; if(isTransferFrom[_token]){ require (Token(_token).transfer(msg.sender, _value)); }else{ TokenUSDT(_token).transfer(msg.sender, _value); } tokenSupply[_token] = safeSub(tokenSupply[_token],_amount); require (Token(tokenAddress).transferFrom(msg.sender,address(this),_amount)); require(Token(tokenAddress).burn(_amount)); totalSupply = safeSub(totalSupply,_amount); return true; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[{"name":"_add","type":"address"}],"name":"getAssetsUpperLimit","outputs":[{"name":"_amount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getTokenIsNPA","outputs":[{"name":"_isNPA","type":"bool[256]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"},{"name":"_token","type":"address"},{"name":"_isReceiveToken","type":"bool"}],"name":"redeemNPA","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"pauseIssue","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_pause","type":"bool"}],"name":"setPauseRedeem","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getTokenDecimals","outputs":[{"name":"_decimals","type":"uint8[256]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"setIssueDiv","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_token","type":"address"},{"name":"_amount","type":"uint256"}],"name":"getRedeemOneFee","outputs":[{"name":"_Fee","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"pauseRedeem","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"managerToken","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"withdrawEther","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"},{"name":"_value","type":"uint256"}],"name":"setAssetsUpperLimit","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"manager","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"tokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"},{"name":"_token","type":"address"}],"name":"redeemOne","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"setFee","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"},{"name":"_isNPA","type":"bool"}],"name":"setNPA","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"upAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"isNPA","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getTokenUpAmount","outputs":[{"name":"_amount","type":"uint256[256]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"},{"name":"_amount","type":"uint256"}],"name":"issue","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getTokenPoolAddress","outputs":[{"name":"_token","type":"address[256]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"upAmountRate","outputs":[{"name":"","type":"uint16"}],"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":"","type":"address"}],"name":"tokenDecimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"token","type":"address"},{"name":"amount","type":"uint256"}],"name":"withdrawToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_add","type":"address"}],"name":"changeOwner","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getTokenIssueAmount","outputs":[{"name":"_amount","type":"uint256[256]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_pause","type":"bool"}],"name":"setPauseIssue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_add","type":"address"}],"name":"setManagerToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"issueDiv","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"},{"name":"_value","type":"uint256"},{"name":"_tokenDecimals","type":"uint8"},{"name":"_isTransferFrom","type":"bool"}],"name":"setAssets","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"},{"name":"","type":"address"}],"name":"totalIssue","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"tokenPool","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint16"}],"name":"setAssetsUpAmountRate","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_add","type":"address"}],"name":"setManager","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"},{"name":"","type":"address"}],"name":"totalRedeemOne","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"redeem","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"fee","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"blockPerDay","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"tokenSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenNumber","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"token","type":"address"},{"name":"user","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"isTransferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"decimalUnits","type":"uint8"},{"name":"monetaryTokenAddress","type":"address"},{"name":"managerTokenAddress","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"token","type":"address"},{"indexed":false,"name":"user","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"balance","type":"uint256"}],"name":"Withdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"add","type":"address"}],"name":"SetManagerToken","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"pause","type":"bool"}],"name":"SetPauseIssue","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"pause","type":"bool"}],"name":"SetPauseRedeem","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"token","type":"address"},{"indexed":false,"name":"isNPA","type":"bool"}],"name":"SetNPA","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"token","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"SetAssetsUpperLimit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"add","type":"address"}],"name":"SetManager","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"add","type":"address"}],"name":"ChangeOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"value","type":"uint256"}],"name":"SetFee","type":"event"}]
Contract Creation Code
608060405234801561001057600080fd5b50604051606080612fab8339810180604052606081101561003057600080fd5b508051602082015160409092015160008054336001600160a01b03199182168117835560018054600380548516909317909255662386f26fc1000060055560068054600160a01b60ff02199093167401000000000000000000000000000000000000000060ff909816979097029690961783166001600160a01b03978816179055600160a01b61ffff02191674640000000000000000000000000000000000000000171693909116929092179055611770600755600a600855612eb29081906100f990396000f3fe6080604052600436106102885760003560e01c806388b6c5c21161015a578063c3674b2e116100c1578063ddca3f431161007a578063ddca3f43146109ba578063e49352fe146109cf578063e643792e146109e4578063f282a8e114610a17578063f7888aec14610a2c578063fb8ea6d214610a6757610288565b8063c3674b2e14610893578063c40c11bb146108cc578063cf1cf6a1146108f6578063d0ebdbe714610924578063d905122414610957578063db006a751461099057610288565b8063a6f9dae111610113578063a6f9dae11461078d578063ae7d693b146107c0578063af6cc511146107d5578063b413893314610801578063b9ad8b9214610834578063c1e1eb181461084957610288565b806388b6c5c2146106b65780638bd0e2b0146106cb5780638da5cb5b146106f75780638ee573ac1461070c5780639d76ea581461073f5780639e281a981461075457610288565b8063396aafab116101fe57806369fe0e2d116101b757806369fe0e2d1461059d5780636e29cfc0146105c75780637689d76c146106025780637a9bf264146106355780637da5609314610668578063867904b41461067d57610288565b8063396aafab146104805780633bed33ce146104b1578063405c50a7146104db578063481c6a7514610514578063508493bc146105295780635d8f2ba01461056457610288565b806320bfc7631161025057806320bfc7631461039c57806324f65ee7146103c85780632a158deb146103dd57806330501a6414610407578063313ce5671461044057806332ec84d21461046b57610288565b80630ce807ed1461028a5780630d64422b146102cf5780631245a6171461031d5780631253012a1461037257806318160ddd14610387575b005b34801561029657600080fd5b506102bd600480360360208110156102ad57600080fd5b50356001600160a01b0316610a9a565b60408051918252519081900360200190f35b3480156102db57600080fd5b506102e4610adb565b604051808261200080838360005b8381101561030a5781810151838201526020016102f2565b5050505090500191505060405180910390f35b34801561032957600080fd5b5061035e6004803603606081101561034057600080fd5b508035906001600160a01b0360208201351690604001351515610b48565b604080519115158252519081900360200190f35b34801561037e57600080fd5b5061035e610f04565b34801561039357600080fd5b506102bd610f14565b3480156103a857600080fd5b50610288600480360360208110156103bf57600080fd5b50351515610f1a565b3480156103d457600080fd5b506102e4610f87565b3480156103e957600080fd5b5061035e6004803603602081101561040057600080fd5b5035610ff3565b34801561041357600080fd5b506102bd6004803603604081101561042a57600080fd5b506001600160a01b038135169060200135611024565b34801561044c57600080fd5b50610455611238565b6040805160ff9092168252519081900360200190f35b34801561047757600080fd5b5061035e611248565b34801561048c57600080fd5b50610495611258565b604080516001600160a01b039092168252519081900360200190f35b3480156104bd57600080fd5b50610288600480360360208110156104d457600080fd5b5035611267565b3480156104e757600080fd5b5061035e600480360360408110156104fe57600080fd5b506001600160a01b0381351690602001356112bb565b34801561052057600080fd5b50610495611354565b34801561053557600080fd5b506102bd6004803603604081101561054c57600080fd5b506001600160a01b0381358116916020013516611363565b34801561057057600080fd5b5061035e6004803603604081101561058757600080fd5b50803590602001356001600160a01b0316611380565b3480156105a957600080fd5b5061035e600480360360208110156105c057600080fd5b5035611a48565b3480156105d357600080fd5b5061035e600480360360408110156105ea57600080fd5b506001600160a01b0381351690602001351515611ab6565b34801561060e57600080fd5b506102bd6004803603602081101561062557600080fd5b50356001600160a01b0316611b4e565b34801561064157600080fd5b5061035e6004803603602081101561065857600080fd5b50356001600160a01b0316611b60565b34801561067457600080fd5b506102e4611b75565b34801561068957600080fd5b5061035e600480360360408110156106a057600080fd5b506001600160a01b038135169060200135611bd6565b3480156106c257600080fd5b506102e4612028565b3480156106d757600080fd5b506106e061208a565b6040805161ffff9092168252519081900360200190f35b34801561070357600080fd5b5061049561209b565b34801561071857600080fd5b506104556004803603602081101561072f57600080fd5b50356001600160a01b03166120aa565b34801561074b57600080fd5b506104956120bf565b34801561076057600080fd5b506102886004803603604081101561077757600080fd5b506001600160a01b0381351690602001356120ce565b34801561079957600080fd5b5061035e600480360360208110156107b057600080fd5b50356001600160a01b03166122df565b3480156107cc57600080fd5b506102e4612365565b3480156107e157600080fd5b50610288600480360360208110156107f857600080fd5b503515156123c6565b34801561080d57600080fd5b506102886004803603602081101561082457600080fd5b50356001600160a01b0316612433565b34801561084057600080fd5b506102bd61249e565b34801561085557600080fd5b5061035e6004803603608081101561086c57600080fd5b506001600160a01b038135169060208101359060ff604082013516906060013515156124a4565b34801561089f57600080fd5b506102bd600480360360408110156108b657600080fd5b50803590602001356001600160a01b03166125f5565b3480156108d857600080fd5b50610495600480360360208110156108ef57600080fd5b5035612612565b34801561090257600080fd5b5061035e6004803603602081101561091957600080fd5b503561ffff1661262d565b34801561093057600080fd5b5061035e6004803603602081101561094757600080fd5b50356001600160a01b031661268c565b34801561096357600080fd5b506102bd6004803603604081101561097a57600080fd5b50803590602001356001600160a01b0316612712565b34801561099c57600080fd5b5061035e600480360360208110156109b357600080fd5b503561272f565b3480156109c657600080fd5b506102bd612d91565b3480156109db57600080fd5b506102bd612d97565b3480156109f057600080fd5b506102bd60048036036020811015610a0757600080fd5b50356001600160a01b0316612d9d565b348015610a2357600080fd5b506102bd612daf565b348015610a3857600080fd5b506102bd60048036036040811015610a4f57600080fd5b506001600160a01b0381358116916020013516612db5565b348015610a7357600080fd5b5061035e60048036036020811015610a8a57600080fd5b50356001600160a01b0316612de0565b6001600160a01b0381166000908152600d6020526040812054600654610ad591610ace91600160a01b900461ffff16612df5565b6064612e20565b92915050565b610ae3612e66565b60005b60045481108015610af8575061010081105b15610b44576000818152600b60209081526040808320546001600160a01b03168352600a90915290205460ff1682826101008110610b3257fe5b91151560209092020152600101610ae6565b5090565b6001600160a01b0382166000908152600960205260408120548190610b9f90610b81908790610b7c90600a9060ff16612e35565b612df5565b600154610b9a90600a90600160a01b900460ff16612e35565b612e20565b9050600085118015610bbb5750600654600160b81b900460ff16155b1515610bc657600080fd5b6001600160a01b0384166000908152600a602052604090205460ff161515600114610bf057600080fd5b6001600160a01b0384166000908152600c6020526040902054851115610c1557600080fd5b60015460408051600160e01b6323b872dd0281523360048201523060248201526044810188905290516001600160a01b03909216916323b872dd916064808201926020929091908290030181600087803b158015610c7257600080fd5b505af1158015610c86573d6000803e3d6000fd5b505050506040513d6020811015610c9c57600080fd5b50511515610ca957600080fd5b60015460408051600160e31b630852cd8d0281526004810188905290516001600160a01b03909216916342966c68916024808201926020929091908290030181600087803b158015610cfa57600080fd5b505af1158015610d0e573d6000803e3d6000fd5b505050506040513d6020811015610d2457600080fd5b50511515610d3157600080fd5b60018315151415610e5a576001600160a01b0384166000908152600e602052604090205460ff1615610deb5760408051600160e01b63a9059cbb0281523360048201526024810183905290516001600160a01b0386169163a9059cbb9160448083019260209291908290030181600087803b158015610daf57600080fd5b505af1158015610dc3573d6000803e3d6000fd5b505050506040513d6020811015610dd957600080fd5b50511515610de657600080fd5b610e55565b60408051600160e01b63a9059cbb0281523360048201526024810183905290516001600160a01b0386169163a9059cbb91604480830192600092919082900301818387803b158015610e3c57600080fd5b505af1158015610e50573d6000803e3d6000fd5b505050505b610ead565b6001600160a01b0384166000908152600f60209081526040808320338452909152902054610e889082612e3a565b6001600160a01b0385166000908152600f602090815260408083203384529091529020555b6001600160a01b0384166000908152600c6020526040902054610ed09086612e54565b6001600160a01b0385166000908152600c6020526040902055600254610ef69086612e54565b600255506001949350505050565b600654600160b01b900460ff1681565b60025481565b6003546001600160a01b03163314610f3157600080fd5b60068054821515600160b81b8102600160b81b60ff02199092169190911790915560408051918252517ff1fa77d226876a08cca9e09a0e4e489a4f862d4021b9bebcf45446a58b26a4e89181900360200190a150565b610f8f612e66565b60005b60045481108015610fa4575061010081105b15610b44576000818152600b60209081526040808320546001600160a01b03168352600990915290205460ff1682826101008110610fde57fe5b60ff9092166020929092020152600101610f92565b6003546000906001600160a01b0316331461100d57600080fd5b600182101561101b57600080fd5b50600855600190565b60006110a661109f61108161107a6010600061104243600754612e20565b81526020019081526020016000206000886001600160a01b03166001600160a01b031681526020019081526020016000205486612e3a565b6064612df5565b6001600160a01b0386166000908152600c6020526040902054612e20565b6001612e3a565b6001600160a01b0384166000908152600d60205260409020546006549192506110e8916110e191610ace91600160a01b900461ffff16612df5565b6002612e20565b6001600160a01b0384166000908152600c602052604090205461110b9084612e54565b1115611115575060015b61112160055482612df5565b90506000600660009054906101000a90046001600160a01b03166001600160a01b031663c13b95a16040518163ffffffff1660e01b815260040160206040518083038186803b15801561117357600080fd5b505afa158015611187573d6000803e3d6000fd5b505050506040513d602081101561119d57600080fd5b505160015460408051600160e21b6312de20b70281526001600160a01b03928316600482015290519190921691634b7882dc916024808301926020929190829003018186803b1580156111ef57600080fd5b505afa158015611203573d6000803e3d6000fd5b505050506040513d602081101561121957600080fd5b5051905061123061122a8484612df5565b82612e20565b949350505050565b600154600160a01b900460ff1681565b600654600160b81b900460ff1681565b6006546001600160a01b031681565b6000546001600160a01b0316331461127e57600080fd5b600080546040516001600160a01b039091169183156108fc02918491818181858888f193505050501580156112b7573d6000803e3d6000fd5b5050565b6003546000906001600160a01b031633146112d557600080fd5b6001600160a01b03831615156112ea57600080fd5b8115156112f657600080fd5b6001600160a01b0383166000818152600d60209081526040918290208590558151928352820184905280517ff47afdc802d7b234295d1873d8aa59dae9d8622fc363c39f5681a95fdbe4fc3d9281900390910190a150600192915050565b6003546001600160a01b031681565b600f60209081526000928352604080842090915290825290205481565b60015460009061139c90600a90600160a01b900460ff16612e35565b83101580156113b55750600654600160b81b900460ff16155b15156113c057600080fd5b6001600160a01b0382166000908152600a602052604090205460ff16156113e657600080fd5b611431601060006113f943600754612e20565b81526020019081526020016000206000846001600160a01b03166001600160a01b031681526020019081526020016000205484612e3a565b6010600061144143600754612e20565b8152602080820192909252604090810160009081206001600160a01b0387168252909252902055600554156117915760065460408051600160e01b63c13b95a102815290516000926001600160a01b03169163c13b95a1916004808301926020929190829003018186803b1580156114b857600080fd5b505afa1580156114cc573d6000803e3d6000fd5b505050506040513d60208110156114e257600080fd5b505160015460408051600160e21b6312de20b70281526001600160a01b03928316600482015290519190921691634b7882dc916024808301926020929190829003018186803b15801561153457600080fd5b505afa158015611548573d6000803e3d6000fd5b505050506040513d602081101561155e57600080fd5b50516007549091506000906115dc9061109f906115be906010908590611585904390612e20565b81526020019081526020016000206000886001600160a01b03166001600160a01b03168152602001908152602001600020546064612df5565b6001600160a01b0387166000908152600c6020526040902054612e20565b6001600160a01b0385166000908152600d6020526040902054600654919250611617916110e191610ace91600160a01b900461ffff16612df5565b6001600160a01b0385166000908152600c602052604090205461163a9087612e54565b1115611644575060015b61165060055482612df5565b9050811561178e57600061166d6116678784612df5565b84612e20565b60065460408051600160e01b6323b872dd0281523360048201523060248201526044810184905290519293506001600160a01b03909116916323b872dd916064808201926020929091908290030181600087803b1580156116cd57600080fd5b505af11580156116e1573d6000803e3d6000fd5b505050506040513d60208110156116f757600080fd5b5051151561170457600080fd5b60065460408051600160e31b630852cd8d0281526004810184905290516001600160a01b03909216916342966c68916024808201926020929091908290030181600087803b15801561175557600080fd5b505af1158015611769573d6000803e3d6000fd5b505050506040513d602081101561177f57600080fd5b5051151561178c57600080fd5b505b50505b6001600160a01b0382166000908152600960205260408120546117c390610b81908690610b7c90600a9060ff16612e35565b6001600160a01b0384166000908152600e602052604090205490915060ff16156118755760408051600160e01b63a9059cbb0281523360048201526024810183905290516001600160a01b0385169163a9059cbb9160448083019260209291908290030181600087803b15801561183957600080fd5b505af115801561184d573d6000803e3d6000fd5b505050506040513d602081101561186357600080fd5b5051151561187057600080fd5b6118df565b60408051600160e01b63a9059cbb0281523360048201526024810183905290516001600160a01b0385169163a9059cbb91604480830192600092919082900301818387803b1580156118c657600080fd5b505af11580156118da573d6000803e3d6000fd5b505050505b6001600160a01b0383166000908152600c60205260409020546119029085612e54565b6001600160a01b038085166000908152600c60209081526040808320949094556001548451600160e01b6323b872dd028152336004820152306024820152604481018a905294519316936323b872dd9360648083019491928390030190829087803b15801561197057600080fd5b505af1158015611984573d6000803e3d6000fd5b505050506040513d602081101561199a57600080fd5b505115156119a757600080fd5b60015460408051600160e31b630852cd8d0281526004810187905290516001600160a01b03909216916342966c68916024808201926020929091908290030181600087803b1580156119f857600080fd5b505af1158015611a0c573d6000803e3d6000fd5b505050506040513d6020811015611a2257600080fd5b50511515611a2f57600080fd5b611a3b60025485612e54565b6002555060019392505050565b6003546000906001600160a01b03163314611a6257600080fd5b670de0b6b3a7640000821115611a7757600080fd5b60058290556040805183815290517e172ddfc5ae88d08b3de01a5a187667c37a5a53989e8c175055cb6c993792a79181900360200190a1506001919050565b6003546000906001600160a01b03163314611ad057600080fd5b6001600160a01b0383161515611ae557600080fd5b6001600160a01b0383166000818152600a6020908152604091829020805460ff191686151590811790915582519384529083015280517f746ebaac1bb60765511a6705a32165f74991af48eda6ec4e9425d0e29cfc97a29281900390910190a150600192915050565b600d6020526000908152604090205481565b600a6020526000908152604090205460ff1681565b611b7d612e66565b60005b60045481108015611b92575061010081105b15610b44576000818152600b60209081526040808320546001600160a01b03168352600d90915290205482826101008110611bc957fe5b6020020152600101611b80565b60006001600160a01b03831615801590611bfa5750600654600160b01b900460ff16155b1515611c0557600080fd5b6001600160a01b0383166000908152600a602052604090205460ff1615611c2b57600080fd5b6000611c79611c5184610b7c600a600160149054906101000a900460ff1660ff16612e35565b6001600160a01b038616600090815260096020526040902054610b9a90600a9060ff16612e35565b6001600160a01b0385166000908152600d6020526040902054600654919250611cbc91611cb491610ace91600160a01b900461ffff16612df5565b600854612e20565b611d0760116000611ccf43600754612e20565b81526020019081526020016000206000876001600160a01b03166001600160a01b031681526020019081526020016000205483612e3a565b1115611d1257600080fd5b6001600160a01b0384166000908152600c6020526040902054611d359082612e3a565b6001600160a01b0385166000908152600d6020526040902054600654611d6991610ace91600160a01b900461ffff16612df5565b1015611d7457600080fd5b600154611d8d90600a90600160a01b900460ff16612e35565b811015611d9957600080fd5b6001600160a01b0384166000908152600e602052604090205460ff1615611e4e5760408051600160e01b6323b872dd0281523360048201523060248201526044810185905290516001600160a01b038616916323b872dd9160648083019260209291908290030181600087803b158015611e1257600080fd5b505af1158015611e26573d6000803e3d6000fd5b505050506040513d6020811015611e3c57600080fd5b50511515611e4957600080fd5b611ebe565b60408051600160e01b6323b872dd0281523360048201523060248201526044810185905290516001600160a01b038616916323b872dd91606480830192600092919082900301818387803b158015611ea557600080fd5b505af1158015611eb9573d6000803e3d6000fd5b505050505b60015460408051600160e31b630f38ca0d0281523360048201526024810184905290516001600160a01b03909216916379c65068916044808201926020929091908290030181600087803b158015611f1557600080fd5b505af1158015611f29573d6000803e3d6000fd5b505050506040513d6020811015611f3f57600080fd5b50511515611f4c57600080fd5b6001600160a01b0384166000908152600c6020526040902054611f6f9082612e3a565b6001600160a01b0385166000908152600c6020526040902055600254611f959082612e3a565b600281905550611fe660116000611fae43600754612e20565b81526020019081526020016000206000866001600160a01b03166001600160a01b031681526020019081526020016000205482612e3a565b60116000611ff643600754612e20565b8152602080820192909252604090810160009081206001600160a01b0389168252909252902055506001905092915050565b612030612e66565b60005b60045481108015612045575061010081105b15610b44576000818152600b60205260409020546001600160a01b03168282610100811061206f57fe5b6001600160a01b039092166020929092020152600101612033565b600654600160a01b900461ffff1681565b6000546001600160a01b031681565b60096020526000908152604090205460ff1681565b6001546001600160a01b031681565b6001600160a01b03821615156120e357600080fd5b6001600160a01b0382166000908152600f6020908152604080832033845290915290205481111561211357600080fd5b6001600160a01b0382166000908152600f602090815260408083203384529091529020546121419082612e54565b6001600160a01b0383166000818152600f60209081526040808320338452825280832094909455918152600e909152205460ff16156122085760408051600160e01b63a9059cbb0281523360048201526024810183905290516001600160a01b0384169163a9059cbb9160448083019260209291908290030181600087803b1580156121cc57600080fd5b505af11580156121e0573d6000803e3d6000fd5b505050506040513d60208110156121f657600080fd5b5051151561220357600080fd5b612272565b60408051600160e01b63a9059cbb0281523360048201526024810183905290516001600160a01b0384169163a9059cbb91604480830192600092919082900301818387803b15801561225957600080fd5b505af115801561226d573d6000803e3d6000fd5b505050505b6001600160a01b0382166000818152600f602090815260408083203380855290835292819020548151948552918401929092528282018490526060830152517ff341246adaac6f497bc2a656f546ab9e182111d630394f0c57c710a59a2cb5679181900360800190a15050565b600080546001600160a01b031633146122f757600080fd5b6001600160a01b038216151561230c57600080fd5b600080546001600160a01b0384166001600160a01b0319909116811790915560408051918252517ff285329298fd841af46eb83bbe90d1ebe2951c975a65b19a02f965f842ee69c59181900360200190a1506001919050565b61236d612e66565b60005b60045481108015612382575061010081105b15610b44576000818152600b60209081526040808320546001600160a01b03168352600c909152902054828261010081106123b957fe5b6020020152600101612370565b6003546001600160a01b031633146123dd57600080fd5b60068054821515600160b01b8102600160b01b60ff02199092169190911790915560408051918252517f9f533f127a7ac6912a450390d863f2a03ec9f388e8b93db8deb1b28f6f989c8c9181900360200190a150565b6000546001600160a01b0316331461244a57600080fd5b600680546001600160a01b0383166001600160a01b0319909116811790915560408051918252517fcd60d6f53682f5582da8b1bdcbfe01f9624d88dd2f361a5ea894e6e1941de0899181900360200190a150565b60085481565b600080546001600160a01b031633146124bc57600080fd5b6001600160a01b03851615156124d157600080fd5b8315156124dd57600080fd5b6001600160a01b0385166000908152600d602052604090205415156125a157600480546000908152600b6020908152604080832080546001600160a01b0319166001600160a01b038b169081179091558352600a8252808320805460ff19908116909155600c8352818420849055600d83528184208990556009909252909120805490911660ff861617905554612575906001612e3a565b6004556001600160a01b0385166000908152600e60205260409020805460ff19168315151790556125ea565b6001600160a01b0385166000908152600d6020908152604080832087905560098252808320805460ff1990811660ff891617909155600e90925290912080549091168315151790555b506001949350505050565b601160209081526000928352604080842090915290825290205481565b600b602052600090815260409020546001600160a01b031681565b6003546000906001600160a01b0316331461264757600080fd5b61ffff8216151561265757600080fd5b506006805461ffff8316600160a01b0275ffff0000000000000000000000000000000000000000199091161790556001919050565b600080546001600160a01b031633146126a457600080fd5b6001600160a01b03821615156126b957600080fd5b600380546001600160a01b0384166001600160a01b0319909116811790915560408051918252517f54a6385aa0292b04e1ef8513253c17d1863f7cdfc87029d77fd55cc4c2e717e29181900360200190a1506001919050565b601060209081526000928352604080842090915290825290205481565b60015460009061274b90600a90600160a01b900460ff16612e35565b82101580156127645750600654600160b81b900460ff16155b151561276f57600080fd5b600554156129a95760065460408051600160e01b63c13b95a102815290516000926001600160a01b03169163c13b95a1916004808301926020929190829003018186803b1580156127bf57600080fd5b505afa1580156127d3573d6000803e3d6000fd5b505050506040513d60208110156127e957600080fd5b505160015460408051600160e21b6312de20b70281526001600160a01b03928316600482015290519190921691634b7882dc916024808301926020929190829003018186803b15801561283b57600080fd5b505afa15801561284f573d6000803e3d6000fd5b505050506040513d602081101561286557600080fd5b5051905080156129a757600061288661288085600554612df5565b83612e20565b60065460408051600160e01b6323b872dd0281523360048201523060248201526044810184905290519293506001600160a01b03909116916323b872dd916064808201926020929091908290030181600087803b1580156128e657600080fd5b505af11580156128fa573d6000803e3d6000fd5b505050506040513d602081101561291057600080fd5b5051151561291d57600080fd5b60065460408051600160e31b630852cd8d0281526004810184905290516001600160a01b03909216916342966c68916024808201926020929091908290030181600087803b15801561296e57600080fd5b505af1158015612982573d6000803e3d6000fd5b505050506040513d602081101561299857600080fd5b505115156129a557600080fd5b505b505b60008080805b600454811015612a1a576000818152600b60209081526040808320546001600160a01b0316808452600a9092529091205490945060ff1615612a12576001600160a01b0384166000908152600c6020526040902054612a0f908390612e3a565b91505b6001016129af565b5060005b600454811015612c68576000818152600b60209081526040808320546001600160a01b0316808452600a9092529091205490945060ff1615612a5f57612c60565b6001600160a01b0384166000908152600c6020526040902054612a9390612a87908890612df5565b610b9a60025485612e54565b92508215612c60576001600160a01b0384166000908152600e602052604090205460ff1615612b81576001600160a01b03841660008181526009602052604090205463a9059cbb903390612af690610b81908890610b7c90600a9060ff16612e35565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015612b4557600080fd5b505af1158015612b59573d6000803e3d6000fd5b505050506040513d6020811015612b6f57600080fd5b50511515612b7c57600080fd5b612c23565b6001600160a01b03841660008181526009602052604090205463a9059cbb903390612bbb90610b81908890610b7c90600a9060ff16612e35565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015612c0a57600080fd5b505af1158015612c1e573d6000803e3d6000fd5b505050505b6001600160a01b0384166000908152600c6020526040902054612c469084612e54565b6001600160a01b0385166000908152600c60205260409020555b600101612a1e565b5060015460408051600160e01b6323b872dd0281523360048201523060248201526044810188905290516001600160a01b03909216916323b872dd916064808201926020929091908290030181600087803b158015612cc657600080fd5b505af1158015612cda573d6000803e3d6000fd5b505050506040513d6020811015612cf057600080fd5b50511515612cfd57600080fd5b60015460408051600160e31b630852cd8d0281526004810188905290516001600160a01b03909216916342966c68916024808201926020929091908290030181600087803b158015612d4e57600080fd5b505af1158015612d62573d6000803e3d6000fd5b505050506040513d6020811015612d7857600080fd5b50511515612d8557600080fd5b610ef660025486612e54565b60055481565b60075481565b600c6020526000908152604090205481565b60045481565b6001600160a01b039182166000908152600f6020908152604080832093909416825291909152205490565b600e6020526000908152604090205460ff1681565b6000828202831580612e115750828482811515612e0e57fe5b04145b1515612e1957fe5b9392505050565b60008183811515612e2d57fe5b049392505050565b900a90565b6000828201838110801590612e11575082811015612e1957fe5b600082821115612e6057fe5b50900390565b60405180612000016040528061010090602082028038833950919291505056fea165627a7a723058205d33a0c01aec827e1f76fffaf32e99efc54c2236907f86e5810f145cbdcfe984002900000000000000000000000000000000000000000000000000000000000000120000000000000000000000007c6c3b4e91923f080d6cc847a68d7330400a95d70000000000000000000000004a32e09c60af50f0a5869bf5c622f4e5d57c3b37
Deployed Bytecode
0x6080604052600436106102885760003560e01c806388b6c5c21161015a578063c3674b2e116100c1578063ddca3f431161007a578063ddca3f43146109ba578063e49352fe146109cf578063e643792e146109e4578063f282a8e114610a17578063f7888aec14610a2c578063fb8ea6d214610a6757610288565b8063c3674b2e14610893578063c40c11bb146108cc578063cf1cf6a1146108f6578063d0ebdbe714610924578063d905122414610957578063db006a751461099057610288565b8063a6f9dae111610113578063a6f9dae11461078d578063ae7d693b146107c0578063af6cc511146107d5578063b413893314610801578063b9ad8b9214610834578063c1e1eb181461084957610288565b806388b6c5c2146106b65780638bd0e2b0146106cb5780638da5cb5b146106f75780638ee573ac1461070c5780639d76ea581461073f5780639e281a981461075457610288565b8063396aafab116101fe57806369fe0e2d116101b757806369fe0e2d1461059d5780636e29cfc0146105c75780637689d76c146106025780637a9bf264146106355780637da5609314610668578063867904b41461067d57610288565b8063396aafab146104805780633bed33ce146104b1578063405c50a7146104db578063481c6a7514610514578063508493bc146105295780635d8f2ba01461056457610288565b806320bfc7631161025057806320bfc7631461039c57806324f65ee7146103c85780632a158deb146103dd57806330501a6414610407578063313ce5671461044057806332ec84d21461046b57610288565b80630ce807ed1461028a5780630d64422b146102cf5780631245a6171461031d5780631253012a1461037257806318160ddd14610387575b005b34801561029657600080fd5b506102bd600480360360208110156102ad57600080fd5b50356001600160a01b0316610a9a565b60408051918252519081900360200190f35b3480156102db57600080fd5b506102e4610adb565b604051808261200080838360005b8381101561030a5781810151838201526020016102f2565b5050505090500191505060405180910390f35b34801561032957600080fd5b5061035e6004803603606081101561034057600080fd5b508035906001600160a01b0360208201351690604001351515610b48565b604080519115158252519081900360200190f35b34801561037e57600080fd5b5061035e610f04565b34801561039357600080fd5b506102bd610f14565b3480156103a857600080fd5b50610288600480360360208110156103bf57600080fd5b50351515610f1a565b3480156103d457600080fd5b506102e4610f87565b3480156103e957600080fd5b5061035e6004803603602081101561040057600080fd5b5035610ff3565b34801561041357600080fd5b506102bd6004803603604081101561042a57600080fd5b506001600160a01b038135169060200135611024565b34801561044c57600080fd5b50610455611238565b6040805160ff9092168252519081900360200190f35b34801561047757600080fd5b5061035e611248565b34801561048c57600080fd5b50610495611258565b604080516001600160a01b039092168252519081900360200190f35b3480156104bd57600080fd5b50610288600480360360208110156104d457600080fd5b5035611267565b3480156104e757600080fd5b5061035e600480360360408110156104fe57600080fd5b506001600160a01b0381351690602001356112bb565b34801561052057600080fd5b50610495611354565b34801561053557600080fd5b506102bd6004803603604081101561054c57600080fd5b506001600160a01b0381358116916020013516611363565b34801561057057600080fd5b5061035e6004803603604081101561058757600080fd5b50803590602001356001600160a01b0316611380565b3480156105a957600080fd5b5061035e600480360360208110156105c057600080fd5b5035611a48565b3480156105d357600080fd5b5061035e600480360360408110156105ea57600080fd5b506001600160a01b0381351690602001351515611ab6565b34801561060e57600080fd5b506102bd6004803603602081101561062557600080fd5b50356001600160a01b0316611b4e565b34801561064157600080fd5b5061035e6004803603602081101561065857600080fd5b50356001600160a01b0316611b60565b34801561067457600080fd5b506102e4611b75565b34801561068957600080fd5b5061035e600480360360408110156106a057600080fd5b506001600160a01b038135169060200135611bd6565b3480156106c257600080fd5b506102e4612028565b3480156106d757600080fd5b506106e061208a565b6040805161ffff9092168252519081900360200190f35b34801561070357600080fd5b5061049561209b565b34801561071857600080fd5b506104556004803603602081101561072f57600080fd5b50356001600160a01b03166120aa565b34801561074b57600080fd5b506104956120bf565b34801561076057600080fd5b506102886004803603604081101561077757600080fd5b506001600160a01b0381351690602001356120ce565b34801561079957600080fd5b5061035e600480360360208110156107b057600080fd5b50356001600160a01b03166122df565b3480156107cc57600080fd5b506102e4612365565b3480156107e157600080fd5b50610288600480360360208110156107f857600080fd5b503515156123c6565b34801561080d57600080fd5b506102886004803603602081101561082457600080fd5b50356001600160a01b0316612433565b34801561084057600080fd5b506102bd61249e565b34801561085557600080fd5b5061035e6004803603608081101561086c57600080fd5b506001600160a01b038135169060208101359060ff604082013516906060013515156124a4565b34801561089f57600080fd5b506102bd600480360360408110156108b657600080fd5b50803590602001356001600160a01b03166125f5565b3480156108d857600080fd5b50610495600480360360208110156108ef57600080fd5b5035612612565b34801561090257600080fd5b5061035e6004803603602081101561091957600080fd5b503561ffff1661262d565b34801561093057600080fd5b5061035e6004803603602081101561094757600080fd5b50356001600160a01b031661268c565b34801561096357600080fd5b506102bd6004803603604081101561097a57600080fd5b50803590602001356001600160a01b0316612712565b34801561099c57600080fd5b5061035e600480360360208110156109b357600080fd5b503561272f565b3480156109c657600080fd5b506102bd612d91565b3480156109db57600080fd5b506102bd612d97565b3480156109f057600080fd5b506102bd60048036036020811015610a0757600080fd5b50356001600160a01b0316612d9d565b348015610a2357600080fd5b506102bd612daf565b348015610a3857600080fd5b506102bd60048036036040811015610a4f57600080fd5b506001600160a01b0381358116916020013516612db5565b348015610a7357600080fd5b5061035e60048036036020811015610a8a57600080fd5b50356001600160a01b0316612de0565b6001600160a01b0381166000908152600d6020526040812054600654610ad591610ace91600160a01b900461ffff16612df5565b6064612e20565b92915050565b610ae3612e66565b60005b60045481108015610af8575061010081105b15610b44576000818152600b60209081526040808320546001600160a01b03168352600a90915290205460ff1682826101008110610b3257fe5b91151560209092020152600101610ae6565b5090565b6001600160a01b0382166000908152600960205260408120548190610b9f90610b81908790610b7c90600a9060ff16612e35565b612df5565b600154610b9a90600a90600160a01b900460ff16612e35565b612e20565b9050600085118015610bbb5750600654600160b81b900460ff16155b1515610bc657600080fd5b6001600160a01b0384166000908152600a602052604090205460ff161515600114610bf057600080fd5b6001600160a01b0384166000908152600c6020526040902054851115610c1557600080fd5b60015460408051600160e01b6323b872dd0281523360048201523060248201526044810188905290516001600160a01b03909216916323b872dd916064808201926020929091908290030181600087803b158015610c7257600080fd5b505af1158015610c86573d6000803e3d6000fd5b505050506040513d6020811015610c9c57600080fd5b50511515610ca957600080fd5b60015460408051600160e31b630852cd8d0281526004810188905290516001600160a01b03909216916342966c68916024808201926020929091908290030181600087803b158015610cfa57600080fd5b505af1158015610d0e573d6000803e3d6000fd5b505050506040513d6020811015610d2457600080fd5b50511515610d3157600080fd5b60018315151415610e5a576001600160a01b0384166000908152600e602052604090205460ff1615610deb5760408051600160e01b63a9059cbb0281523360048201526024810183905290516001600160a01b0386169163a9059cbb9160448083019260209291908290030181600087803b158015610daf57600080fd5b505af1158015610dc3573d6000803e3d6000fd5b505050506040513d6020811015610dd957600080fd5b50511515610de657600080fd5b610e55565b60408051600160e01b63a9059cbb0281523360048201526024810183905290516001600160a01b0386169163a9059cbb91604480830192600092919082900301818387803b158015610e3c57600080fd5b505af1158015610e50573d6000803e3d6000fd5b505050505b610ead565b6001600160a01b0384166000908152600f60209081526040808320338452909152902054610e889082612e3a565b6001600160a01b0385166000908152600f602090815260408083203384529091529020555b6001600160a01b0384166000908152600c6020526040902054610ed09086612e54565b6001600160a01b0385166000908152600c6020526040902055600254610ef69086612e54565b600255506001949350505050565b600654600160b01b900460ff1681565b60025481565b6003546001600160a01b03163314610f3157600080fd5b60068054821515600160b81b8102600160b81b60ff02199092169190911790915560408051918252517ff1fa77d226876a08cca9e09a0e4e489a4f862d4021b9bebcf45446a58b26a4e89181900360200190a150565b610f8f612e66565b60005b60045481108015610fa4575061010081105b15610b44576000818152600b60209081526040808320546001600160a01b03168352600990915290205460ff1682826101008110610fde57fe5b60ff9092166020929092020152600101610f92565b6003546000906001600160a01b0316331461100d57600080fd5b600182101561101b57600080fd5b50600855600190565b60006110a661109f61108161107a6010600061104243600754612e20565b81526020019081526020016000206000886001600160a01b03166001600160a01b031681526020019081526020016000205486612e3a565b6064612df5565b6001600160a01b0386166000908152600c6020526040902054612e20565b6001612e3a565b6001600160a01b0384166000908152600d60205260409020546006549192506110e8916110e191610ace91600160a01b900461ffff16612df5565b6002612e20565b6001600160a01b0384166000908152600c602052604090205461110b9084612e54565b1115611115575060015b61112160055482612df5565b90506000600660009054906101000a90046001600160a01b03166001600160a01b031663c13b95a16040518163ffffffff1660e01b815260040160206040518083038186803b15801561117357600080fd5b505afa158015611187573d6000803e3d6000fd5b505050506040513d602081101561119d57600080fd5b505160015460408051600160e21b6312de20b70281526001600160a01b03928316600482015290519190921691634b7882dc916024808301926020929190829003018186803b1580156111ef57600080fd5b505afa158015611203573d6000803e3d6000fd5b505050506040513d602081101561121957600080fd5b5051905061123061122a8484612df5565b82612e20565b949350505050565b600154600160a01b900460ff1681565b600654600160b81b900460ff1681565b6006546001600160a01b031681565b6000546001600160a01b0316331461127e57600080fd5b600080546040516001600160a01b039091169183156108fc02918491818181858888f193505050501580156112b7573d6000803e3d6000fd5b5050565b6003546000906001600160a01b031633146112d557600080fd5b6001600160a01b03831615156112ea57600080fd5b8115156112f657600080fd5b6001600160a01b0383166000818152600d60209081526040918290208590558151928352820184905280517ff47afdc802d7b234295d1873d8aa59dae9d8622fc363c39f5681a95fdbe4fc3d9281900390910190a150600192915050565b6003546001600160a01b031681565b600f60209081526000928352604080842090915290825290205481565b60015460009061139c90600a90600160a01b900460ff16612e35565b83101580156113b55750600654600160b81b900460ff16155b15156113c057600080fd5b6001600160a01b0382166000908152600a602052604090205460ff16156113e657600080fd5b611431601060006113f943600754612e20565b81526020019081526020016000206000846001600160a01b03166001600160a01b031681526020019081526020016000205484612e3a565b6010600061144143600754612e20565b8152602080820192909252604090810160009081206001600160a01b0387168252909252902055600554156117915760065460408051600160e01b63c13b95a102815290516000926001600160a01b03169163c13b95a1916004808301926020929190829003018186803b1580156114b857600080fd5b505afa1580156114cc573d6000803e3d6000fd5b505050506040513d60208110156114e257600080fd5b505160015460408051600160e21b6312de20b70281526001600160a01b03928316600482015290519190921691634b7882dc916024808301926020929190829003018186803b15801561153457600080fd5b505afa158015611548573d6000803e3d6000fd5b505050506040513d602081101561155e57600080fd5b50516007549091506000906115dc9061109f906115be906010908590611585904390612e20565b81526020019081526020016000206000886001600160a01b03166001600160a01b03168152602001908152602001600020546064612df5565b6001600160a01b0387166000908152600c6020526040902054612e20565b6001600160a01b0385166000908152600d6020526040902054600654919250611617916110e191610ace91600160a01b900461ffff16612df5565b6001600160a01b0385166000908152600c602052604090205461163a9087612e54565b1115611644575060015b61165060055482612df5565b9050811561178e57600061166d6116678784612df5565b84612e20565b60065460408051600160e01b6323b872dd0281523360048201523060248201526044810184905290519293506001600160a01b03909116916323b872dd916064808201926020929091908290030181600087803b1580156116cd57600080fd5b505af11580156116e1573d6000803e3d6000fd5b505050506040513d60208110156116f757600080fd5b5051151561170457600080fd5b60065460408051600160e31b630852cd8d0281526004810184905290516001600160a01b03909216916342966c68916024808201926020929091908290030181600087803b15801561175557600080fd5b505af1158015611769573d6000803e3d6000fd5b505050506040513d602081101561177f57600080fd5b5051151561178c57600080fd5b505b50505b6001600160a01b0382166000908152600960205260408120546117c390610b81908690610b7c90600a9060ff16612e35565b6001600160a01b0384166000908152600e602052604090205490915060ff16156118755760408051600160e01b63a9059cbb0281523360048201526024810183905290516001600160a01b0385169163a9059cbb9160448083019260209291908290030181600087803b15801561183957600080fd5b505af115801561184d573d6000803e3d6000fd5b505050506040513d602081101561186357600080fd5b5051151561187057600080fd5b6118df565b60408051600160e01b63a9059cbb0281523360048201526024810183905290516001600160a01b0385169163a9059cbb91604480830192600092919082900301818387803b1580156118c657600080fd5b505af11580156118da573d6000803e3d6000fd5b505050505b6001600160a01b0383166000908152600c60205260409020546119029085612e54565b6001600160a01b038085166000908152600c60209081526040808320949094556001548451600160e01b6323b872dd028152336004820152306024820152604481018a905294519316936323b872dd9360648083019491928390030190829087803b15801561197057600080fd5b505af1158015611984573d6000803e3d6000fd5b505050506040513d602081101561199a57600080fd5b505115156119a757600080fd5b60015460408051600160e31b630852cd8d0281526004810187905290516001600160a01b03909216916342966c68916024808201926020929091908290030181600087803b1580156119f857600080fd5b505af1158015611a0c573d6000803e3d6000fd5b505050506040513d6020811015611a2257600080fd5b50511515611a2f57600080fd5b611a3b60025485612e54565b6002555060019392505050565b6003546000906001600160a01b03163314611a6257600080fd5b670de0b6b3a7640000821115611a7757600080fd5b60058290556040805183815290517e172ddfc5ae88d08b3de01a5a187667c37a5a53989e8c175055cb6c993792a79181900360200190a1506001919050565b6003546000906001600160a01b03163314611ad057600080fd5b6001600160a01b0383161515611ae557600080fd5b6001600160a01b0383166000818152600a6020908152604091829020805460ff191686151590811790915582519384529083015280517f746ebaac1bb60765511a6705a32165f74991af48eda6ec4e9425d0e29cfc97a29281900390910190a150600192915050565b600d6020526000908152604090205481565b600a6020526000908152604090205460ff1681565b611b7d612e66565b60005b60045481108015611b92575061010081105b15610b44576000818152600b60209081526040808320546001600160a01b03168352600d90915290205482826101008110611bc957fe5b6020020152600101611b80565b60006001600160a01b03831615801590611bfa5750600654600160b01b900460ff16155b1515611c0557600080fd5b6001600160a01b0383166000908152600a602052604090205460ff1615611c2b57600080fd5b6000611c79611c5184610b7c600a600160149054906101000a900460ff1660ff16612e35565b6001600160a01b038616600090815260096020526040902054610b9a90600a9060ff16612e35565b6001600160a01b0385166000908152600d6020526040902054600654919250611cbc91611cb491610ace91600160a01b900461ffff16612df5565b600854612e20565b611d0760116000611ccf43600754612e20565b81526020019081526020016000206000876001600160a01b03166001600160a01b031681526020019081526020016000205483612e3a565b1115611d1257600080fd5b6001600160a01b0384166000908152600c6020526040902054611d359082612e3a565b6001600160a01b0385166000908152600d6020526040902054600654611d6991610ace91600160a01b900461ffff16612df5565b1015611d7457600080fd5b600154611d8d90600a90600160a01b900460ff16612e35565b811015611d9957600080fd5b6001600160a01b0384166000908152600e602052604090205460ff1615611e4e5760408051600160e01b6323b872dd0281523360048201523060248201526044810185905290516001600160a01b038616916323b872dd9160648083019260209291908290030181600087803b158015611e1257600080fd5b505af1158015611e26573d6000803e3d6000fd5b505050506040513d6020811015611e3c57600080fd5b50511515611e4957600080fd5b611ebe565b60408051600160e01b6323b872dd0281523360048201523060248201526044810185905290516001600160a01b038616916323b872dd91606480830192600092919082900301818387803b158015611ea557600080fd5b505af1158015611eb9573d6000803e3d6000fd5b505050505b60015460408051600160e31b630f38ca0d0281523360048201526024810184905290516001600160a01b03909216916379c65068916044808201926020929091908290030181600087803b158015611f1557600080fd5b505af1158015611f29573d6000803e3d6000fd5b505050506040513d6020811015611f3f57600080fd5b50511515611f4c57600080fd5b6001600160a01b0384166000908152600c6020526040902054611f6f9082612e3a565b6001600160a01b0385166000908152600c6020526040902055600254611f959082612e3a565b600281905550611fe660116000611fae43600754612e20565b81526020019081526020016000206000866001600160a01b03166001600160a01b031681526020019081526020016000205482612e3a565b60116000611ff643600754612e20565b8152602080820192909252604090810160009081206001600160a01b0389168252909252902055506001905092915050565b612030612e66565b60005b60045481108015612045575061010081105b15610b44576000818152600b60205260409020546001600160a01b03168282610100811061206f57fe5b6001600160a01b039092166020929092020152600101612033565b600654600160a01b900461ffff1681565b6000546001600160a01b031681565b60096020526000908152604090205460ff1681565b6001546001600160a01b031681565b6001600160a01b03821615156120e357600080fd5b6001600160a01b0382166000908152600f6020908152604080832033845290915290205481111561211357600080fd5b6001600160a01b0382166000908152600f602090815260408083203384529091529020546121419082612e54565b6001600160a01b0383166000818152600f60209081526040808320338452825280832094909455918152600e909152205460ff16156122085760408051600160e01b63a9059cbb0281523360048201526024810183905290516001600160a01b0384169163a9059cbb9160448083019260209291908290030181600087803b1580156121cc57600080fd5b505af11580156121e0573d6000803e3d6000fd5b505050506040513d60208110156121f657600080fd5b5051151561220357600080fd5b612272565b60408051600160e01b63a9059cbb0281523360048201526024810183905290516001600160a01b0384169163a9059cbb91604480830192600092919082900301818387803b15801561225957600080fd5b505af115801561226d573d6000803e3d6000fd5b505050505b6001600160a01b0382166000818152600f602090815260408083203380855290835292819020548151948552918401929092528282018490526060830152517ff341246adaac6f497bc2a656f546ab9e182111d630394f0c57c710a59a2cb5679181900360800190a15050565b600080546001600160a01b031633146122f757600080fd5b6001600160a01b038216151561230c57600080fd5b600080546001600160a01b0384166001600160a01b0319909116811790915560408051918252517ff285329298fd841af46eb83bbe90d1ebe2951c975a65b19a02f965f842ee69c59181900360200190a1506001919050565b61236d612e66565b60005b60045481108015612382575061010081105b15610b44576000818152600b60209081526040808320546001600160a01b03168352600c909152902054828261010081106123b957fe5b6020020152600101612370565b6003546001600160a01b031633146123dd57600080fd5b60068054821515600160b01b8102600160b01b60ff02199092169190911790915560408051918252517f9f533f127a7ac6912a450390d863f2a03ec9f388e8b93db8deb1b28f6f989c8c9181900360200190a150565b6000546001600160a01b0316331461244a57600080fd5b600680546001600160a01b0383166001600160a01b0319909116811790915560408051918252517fcd60d6f53682f5582da8b1bdcbfe01f9624d88dd2f361a5ea894e6e1941de0899181900360200190a150565b60085481565b600080546001600160a01b031633146124bc57600080fd5b6001600160a01b03851615156124d157600080fd5b8315156124dd57600080fd5b6001600160a01b0385166000908152600d602052604090205415156125a157600480546000908152600b6020908152604080832080546001600160a01b0319166001600160a01b038b169081179091558352600a8252808320805460ff19908116909155600c8352818420849055600d83528184208990556009909252909120805490911660ff861617905554612575906001612e3a565b6004556001600160a01b0385166000908152600e60205260409020805460ff19168315151790556125ea565b6001600160a01b0385166000908152600d6020908152604080832087905560098252808320805460ff1990811660ff891617909155600e90925290912080549091168315151790555b506001949350505050565b601160209081526000928352604080842090915290825290205481565b600b602052600090815260409020546001600160a01b031681565b6003546000906001600160a01b0316331461264757600080fd5b61ffff8216151561265757600080fd5b506006805461ffff8316600160a01b0275ffff0000000000000000000000000000000000000000199091161790556001919050565b600080546001600160a01b031633146126a457600080fd5b6001600160a01b03821615156126b957600080fd5b600380546001600160a01b0384166001600160a01b0319909116811790915560408051918252517f54a6385aa0292b04e1ef8513253c17d1863f7cdfc87029d77fd55cc4c2e717e29181900360200190a1506001919050565b601060209081526000928352604080842090915290825290205481565b60015460009061274b90600a90600160a01b900460ff16612e35565b82101580156127645750600654600160b81b900460ff16155b151561276f57600080fd5b600554156129a95760065460408051600160e01b63c13b95a102815290516000926001600160a01b03169163c13b95a1916004808301926020929190829003018186803b1580156127bf57600080fd5b505afa1580156127d3573d6000803e3d6000fd5b505050506040513d60208110156127e957600080fd5b505160015460408051600160e21b6312de20b70281526001600160a01b03928316600482015290519190921691634b7882dc916024808301926020929190829003018186803b15801561283b57600080fd5b505afa15801561284f573d6000803e3d6000fd5b505050506040513d602081101561286557600080fd5b5051905080156129a757600061288661288085600554612df5565b83612e20565b60065460408051600160e01b6323b872dd0281523360048201523060248201526044810184905290519293506001600160a01b03909116916323b872dd916064808201926020929091908290030181600087803b1580156128e657600080fd5b505af11580156128fa573d6000803e3d6000fd5b505050506040513d602081101561291057600080fd5b5051151561291d57600080fd5b60065460408051600160e31b630852cd8d0281526004810184905290516001600160a01b03909216916342966c68916024808201926020929091908290030181600087803b15801561296e57600080fd5b505af1158015612982573d6000803e3d6000fd5b505050506040513d602081101561299857600080fd5b505115156129a557600080fd5b505b505b60008080805b600454811015612a1a576000818152600b60209081526040808320546001600160a01b0316808452600a9092529091205490945060ff1615612a12576001600160a01b0384166000908152600c6020526040902054612a0f908390612e3a565b91505b6001016129af565b5060005b600454811015612c68576000818152600b60209081526040808320546001600160a01b0316808452600a9092529091205490945060ff1615612a5f57612c60565b6001600160a01b0384166000908152600c6020526040902054612a9390612a87908890612df5565b610b9a60025485612e54565b92508215612c60576001600160a01b0384166000908152600e602052604090205460ff1615612b81576001600160a01b03841660008181526009602052604090205463a9059cbb903390612af690610b81908890610b7c90600a9060ff16612e35565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015612b4557600080fd5b505af1158015612b59573d6000803e3d6000fd5b505050506040513d6020811015612b6f57600080fd5b50511515612b7c57600080fd5b612c23565b6001600160a01b03841660008181526009602052604090205463a9059cbb903390612bbb90610b81908890610b7c90600a9060ff16612e35565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015612c0a57600080fd5b505af1158015612c1e573d6000803e3d6000fd5b505050505b6001600160a01b0384166000908152600c6020526040902054612c469084612e54565b6001600160a01b0385166000908152600c60205260409020555b600101612a1e565b5060015460408051600160e01b6323b872dd0281523360048201523060248201526044810188905290516001600160a01b03909216916323b872dd916064808201926020929091908290030181600087803b158015612cc657600080fd5b505af1158015612cda573d6000803e3d6000fd5b505050506040513d6020811015612cf057600080fd5b50511515612cfd57600080fd5b60015460408051600160e31b630852cd8d0281526004810188905290516001600160a01b03909216916342966c68916024808201926020929091908290030181600087803b158015612d4e57600080fd5b505af1158015612d62573d6000803e3d6000fd5b505050506040513d6020811015612d7857600080fd5b50511515612d8557600080fd5b610ef660025486612e54565b60055481565b60075481565b600c6020526000908152604090205481565b60045481565b6001600160a01b039182166000908152600f6020908152604080832093909416825291909152205490565b600e6020526000908152604090205460ff1681565b6000828202831580612e115750828482811515612e0e57fe5b04145b1515612e1957fe5b9392505050565b60008183811515612e2d57fe5b049392505050565b900a90565b6000828201838110801590612e11575082811015612e1957fe5b600082821115612e6057fe5b50900390565b60405180612000016040528061010090602082028038833950919291505056fea165627a7a723058205d33a0c01aec827e1f76fffaf32e99efc54c2236907f86e5810f145cbdcfe9840029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000000000000000000000000000120000000000000000000000007c6c3b4e91923f080d6cc847a68d7330400a95d70000000000000000000000004a32e09c60af50f0a5869bf5c622f4e5d57c3b37
-----Decoded View---------------
Arg [0] : decimalUnits (uint8): 18
Arg [1] : monetaryTokenAddress (address): 0x7C6C3b4e91923F080d6CC847A68d7330400a95d7
Arg [2] : managerTokenAddress (address): 0x4A32E09c60af50f0A5869BF5C622f4E5d57c3b37
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [1] : 0000000000000000000000007c6c3b4e91923f080d6cc847a68d7330400a95d7
Arg [2] : 0000000000000000000000004a32e09c60af50f0a5869bf5c622f4e5d57c3b37
Deployed Bytecode Sourcemap
1851:15414:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7945:189;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7945:189:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7945:189:0;-1:-1:-1;;;;;7945:189:0;;:::i;:::-;;;;;;;;;;;;;;;;11600:222;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11600:222:0;;;:::i;:::-;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;11600:222:0;;;;;;;;;;;;;;;;14418:1076;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14418:1076:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14418:1076:0;;;-1:-1:-1;;;;;14418:1076:0;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;2413:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2413:25:0;;;:::i;1987:26::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1987:26:0;;;:::i;4792:172::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4792:172:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4792:172:0;;;;:::i;11313:243::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11313:243:0;;;:::i;7159:201::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7159:201:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7159:201:0;;:::i;11859:586::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11859:586:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;11859:586:0;;;;;;;;:::i;1957:23::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1957:23:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2445:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2445:26:0;;;:::i;2176:27::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2176:27:0;;;:::i;:::-;;;;-1:-1:-1;;;;;2176:27:0;;;;;;;;;;;;;;8253:119;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8253:119:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8253:119:0;;:::i;6227:344::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6227:344:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6227:344:0;;;;;;;;:::i;2020:22::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2020:22:0;;;:::i;3121:60::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3121:60:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3121:60:0;;;;;;;;;;:::i;15533:1729::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15533:1729:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15533:1729:0;;;;;;-1:-1:-1;;;;;15533:1729:0;;:::i;6892:236::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6892:236:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6892:236:0;;:::i;5895:278::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5895:278:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;5895:278:0;;;;;;;;;;:::i;2881:44::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2881:44:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2881:44:0;-1:-1:-1;;;;;2881:44:0;;:::i;2599:38::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2599:38:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2599:38:0;-1:-1:-1;;;;;2599:38:0;;:::i;11040:234::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11040:234:0;;;:::i;9114:1332::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9114:1332:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;9114:1332:0;;;;;;;;:::i;10774:224::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10774:224:0;;;:::i;2214:27::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2214:27:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1888:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1888:28:0;;;:::i;2541:47::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2541:47:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2541:47:0;-1:-1:-1;;;;;2541:47:0;;:::i;1923:27::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1923:27:0;;;:::i;8402:550::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8402:550:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8402:550:0;;;;;;;;:::i;7661:244::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7661:244:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7661:244:0;-1:-1:-1;;;;;7661:244:0;;:::i;10496:240::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10496:240:0;;;:::i;4585:169::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4585:169:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4585:169:0;;;;:::i;4373:177::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4373:177:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4373:177:0;-1:-1:-1;;;;;4373:177:0;;:::i;2511:23::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2511:23:0;;;:::i;4999:855::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4999:855:0;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;;4999:855:0;;;;;;;;;;;;;;;;;;;;;;:::i;3347:67::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3347:67:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3347:67:0;;;;;;-1:-1:-1;;;;;3347:67:0;;:::i;2737:42::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2737:42:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2737:42:0;;:::i;6640:217::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6640:217:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6640:217:0;;;;:::i;7395:235::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7395:235:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7395:235:0;-1:-1:-1;;;;;7395:235:0;;:::i;3269:71::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3269:71:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3269:71:0;;;;;;-1:-1:-1;;;;;3269:71:0;;:::i;12483:1873::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12483:1873:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12483:1873:0;;:::i;2131:18::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2131:18:0;;;:::i;2478:26::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2478:26:0;;;:::i;2802:47::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2802:47:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2802:47:0;-1:-1:-1;;;;;2802:47:0;;:::i;2074:26::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2074:26:0;;;:::i;8964:120::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8964:120:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8964:120:0;;;;;;;;;;:::i;2976:47::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2976:47:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2976:47:0;-1:-1:-1;;;;;2976:47:0;;:::i;7945:189::-;-1:-1:-1;;;;;8063:14:0;;8009:15;8063:14;;;:8;:14;;;;;;8080:12;;8047:53;;8055:38;;-1:-1:-1;;;8080:12:0;;;;8055:7;:38::i;:::-;8096:3;8047:7;:53::i;:::-;8037:63;7945:189;-1:-1:-1;;7945:189:0:o;11600:222::-;11646:23;;:::i;:::-;11687:6;11682:108;11703:11;;11699:1;:15;:26;;;;;11722:3;11718:1;:7;11699:26;11682:108;;;11759:19;11765:12;;;:9;:12;;;;;;;;;-1:-1:-1;;;;;11765:12:0;11759:19;;:5;:19;;;;;;;;11747:6;11775:1;11765:12;11747:9;;;;;;:31;;;:9;;;;;:31;11727:3;;11682:108;;;-1:-1:-1;11600:222:0;:::o;14418:1076::-;-1:-1:-1;;;;;14585:21:0;;14506:12;14585:21;;;:13;:21;;;;;;14506:12;;14546:88;;14554:54;;14562:7;;14572:35;;14582:2;;14585:21;;14572:9;:35::i;:::-;14554:7;:54::i;:::-;14624:8;;14611:22;;14621:2;;-1:-1:-1;;;14624:8:0;;;;14611:9;:22::i;:::-;14546:7;:88::i;:::-;14532:102;;14666:1;14656:7;:11;:27;;;;-1:-1:-1;14672:11:0;;-1:-1:-1;;;14672:11:0;;;;14671:12;14656:27;14647:37;;;;;;;;-1:-1:-1;;;;;14707:13:0;;;;;;:5;:13;;;;;;;;:21;;:13;:21;14698:31;;;;;;-1:-1:-1;;;;;14761:19:0;;;;;;:11;:19;;;;;;14750:30;;;14741:40;;;;;;14810:12;;14804:66;;;-1:-1:-1;;;;;14804:66:0;;14837:10;14804:66;;;;14856:4;14804:66;;;;;;;;;;;;-1:-1:-1;;;;;14810:12:0;;;;14804:32;;:66;;;;;;;;;;;;;;;14810:12;;14804:66;;;5:2:-1;;;;30:1;27;20:12;5:2;14804:66:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14804:66:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14804:66:0;14795:76;;;;;;;;14896:12;;14890:33;;;-1:-1:-1;;;;;14890:33:0;;;;;;;;;;-1:-1:-1;;;;;14896:12:0;;;;14890:24;;:33;;;;;;;;;;;;;;;14896:12;;14890:33;;;5:2:-1;;;;30:1;27;20:12;5:2;14890:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14890:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14890:33:0;14882:42;;;;;;;;14961:4;14942:23;;;;14939:380;;;-1:-1:-1;;;;;14987:22:0;;;;;;:14;:22;;;;;;;;14984:222;;;15035:42;;;-1:-1:-1;;;;;15035:42:0;;15058:10;15035:42;;;;;;;;;;;;-1:-1:-1;;;;;15035:22:0;;;;;:42;;;;;;;;;;;;;;-1:-1:-1;15035:22:0;:42;;;5:2:-1;;;;30:1;27;20:12;5:2;15035:42:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15035:42:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15035:42:0;15026:52;;;;;;;;14984:222;;;15120:46;;;-1:-1:-1;;;;;15120:46:0;;15147:10;15120:46;;;;;;;;;;;;-1:-1:-1;;;;;15120:26:0;;;;;:46;;;;;-1:-1:-1;;15120:46:0;;;;;;;-1:-1:-1;15120:26:0;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;15120:46:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15120:46:0;;;;14984:222;14939:380;;;-1:-1:-1;;;;;15282:14:0;;;;;;:6;:14;;;;;;;;15297:10;15282:26;;;;;;;;15274:43;;15310:6;15274:7;:43::i;:::-;-1:-1:-1;;;;;15245:14:0;;;;;;:6;:14;;;;;;;;15260:10;15245:26;;;;;;;:72;14939:380;-1:-1:-1;;;;;15363:19:0;;;;;;:11;:19;;;;;;15355:36;;15383:7;15355;:36::i;:::-;-1:-1:-1;;;;;15333:19:0;;;;;;:11;:19;;;;;:58;15431:11;;15423:28;;15443:7;15423;:28::i;:::-;15409:11;:42;-1:-1:-1;15480:4:0;;14418:1076;-1:-1:-1;;;;14418:1076:0:o;2413:25::-;;;-1:-1:-1;;;2413:25:0;;;;;:::o;1987:26::-;;;;:::o;4792:172::-;4876:7;;-1:-1:-1;;;;;4876:7:0;4862:10;:21;4853:31;;;;;;4897:11;:20;;;;;-1:-1:-1;;;4897:20:0;;-1:-1:-1;;;;;;4897:20:0;;;;;;;;;;4934:22;;;;;;;;;;;;;;;;4792:172;:::o;11313:243::-;11362:27;;:::i;:::-;11407:6;11402:119;11423:11;;11419:1;:15;:26;;;;;11442:3;11438:1;:7;11419:26;11402:119;;;11482:27;11496:12;;;:9;:12;;;;;;;;;-1:-1:-1;;;;;11496:12:0;11482:27;;:13;:27;;;;;;;;11467:9;11506:1;11496:12;11467;;;;;;:42;;;;:12;;;;;;:42;11447:3;;11402:119;;7159:201;7259:7;;7211:12;;-1:-1:-1;;;;;7259:7:0;7245:10;:21;7236:31;;;;;;7298:1;7288:11;;;7279:21;;;;;;-1:-1:-1;7312:8:0;:17;7348:4;;7159:201::o;11859:586::-;11937:12;11970:136;11979:124;11988:92;11996:78;12004:14;:51;12019:35;12027:12;12042:11;;12019:7;:35::i;:::-;12004:51;;;;;;;;;;;:59;12056:6;-1:-1:-1;;;;;12004:59:0;-1:-1:-1;;;;;12004:59:0;;;;;;;;;;;;;12066:7;11996;:78::i;:::-;12076:3;11988:7;:92::i;:::-;-1:-1:-1;;;;;12083:19:0;;;;;;:11;:19;;;;;;11979:7;:124::i;:::-;12104:1;11970:7;:136::i;:::-;-1:-1:-1;;;;;12184:16:0;;;;;;:8;:16;;;;;;12203:12;;11962:144;;-1:-1:-1;12160:66:0;;12168:55;;12176:40;;-1:-1:-1;;;12203:12:0;;;;12176:7;:40::i;12168:55::-;12224:1;12160:7;:66::i;:::-;-1:-1:-1;;;;;12129:19:0;;;;;;:11;:19;;;;;;12121:36;;12149:7;12121;:36::i;:::-;:105;12117:124;;;-1:-1:-1;12237:1:0;12117:124;12258:17;12266:3;;12270:4;12258:7;:17::i;:::-;12251:24;;12286:18;12319:12;;;;;;;;;-1:-1:-1;;;;;12319:12:0;-1:-1:-1;;;;;12313:33:0;;:35;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12313:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12313:35:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12313:35:0;12359:12;;12307:65;;;-1:-1:-1;;;;;12307:65:0;;-1:-1:-1;;;;;12359:12:0;;;12307:65;;;;;;:51;;;;;;;:65;;;;;12313:35;;12307:65;;;;;;;:51;:65;;;5:2:-1;;;;30:1;27;20:12;5:2;12307:65:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12307:65:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12307:65:0;;-1:-1:-1;12391:45:0;12399:23;12407:7;12417:4;12399:7;:23::i;:::-;12425:10;12391:7;:45::i;:::-;12384:52;11859:586;-1:-1:-1;;;;11859:586:0:o;1957:23::-;;;-1:-1:-1;;;1957:23:0;;;;;:::o;2445:26::-;;;-1:-1:-1;;;2445:26:0;;;;;:::o;2176:27::-;;;-1:-1:-1;;;;;2176:27:0;;:::o;8253:119::-;8326:5;;-1:-1:-1;;;;;8326:5:0;8312:10;:19;8304:28;;;;;;8341:5;;;:22;;-1:-1:-1;;;;;8341:5:0;;;;:22;;;;;8356:6;;8341:22;:5;:22;8356:6;8341:5;:22;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8341:22:0;8253:119;:::o;6227:344::-;6350:7;;6302:12;;-1:-1:-1;;;;;6350:7:0;6336:10;:21;6327:31;;;;;;-1:-1:-1;;;;;6380:22:0;;;;6371:32;;;;;;6429:10;;;6420:20;;;;;;-1:-1:-1;;;;;6455:16:0;;;;;;:8;:16;;;;;;;;;:25;;;6499:34;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6558:4:0;6227:344;;;;:::o;2020:22::-;;;-1:-1:-1;;;;;2020:22:0;;:::o;3121:60::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;15533:1729::-;15654:8;;15600:12;;15641:22;;15651:2;;-1:-1:-1;;;15654:8:0;;;;15641:9;:22::i;:::-;15630:7;:33;;:49;;;;-1:-1:-1;15668:11:0;;-1:-1:-1;;;15668:11:0;;;;15667:12;15630:49;15621:59;;;;;;;;-1:-1:-1;;;;;15698:13:0;;;;;;:5;:13;;;;;;;;:22;15689:32;;;;;;15799:76;15807:14;:51;15822:35;15830:12;15845:11;;15822:7;:35::i;:::-;15807:51;;;;;;;;;;;:59;15859:6;-1:-1:-1;;;;;15807:59:0;-1:-1:-1;;;;;15807:59:0;;;;;;;;;;;;;15867:7;15799;:76::i;:::-;15737:14;:51;15752:35;15760:12;15775:11;;15752:7;:35::i;:::-;15737:51;;;;;;;;;;;;;;-1:-1:-1;15737:51:0;;;-1:-1:-1;;;;;15737:59:0;;;;;;;;;:138;15887:3;;:7;15884:763;;15939:12;;15933:35;;;-1:-1:-1;;;;;15933:35:0;;;;15906:18;;-1:-1:-1;;;;;15939:12:0;;15933:33;;:35;;;;;;;;;;;;;;15939:12;15933:35;;;5:2:-1;;;;30:1;27;20:12;5:2;15933:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15933:35:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15933:35:0;15979:12;;15927:65;;;-1:-1:-1;;;;;15927:65:0;;-1:-1:-1;;;;;15979:12:0;;;15927:65;;;;;;:51;;;;;;;:65;;;;;15933:35;;15927:65;;;;;;;:51;:65;;;5:2:-1;;;;30:1;27;20:12;5:2;15927:65:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15927:65:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15927:65:0;16092:11;;15927:65;;-1:-1:-1;16005:21:0;;16028:118;;16037:106;;16046:74;;16054:14;;16005:21;;16069:35;;16077:12;;16069:7;:35::i;:::-;16054:51;;;;;;;;;;;:59;16106:6;-1:-1:-1;;;;;16054:59:0;-1:-1:-1;;;;;16054:59:0;;;;;;;;;;;;;16116:3;16046:7;:74::i;:::-;-1:-1:-1;;;;;16123:19:0;;;;;;:11;:19;;;;;;16037:7;:106::i;16028:118::-;-1:-1:-1;;;;;16226:16:0;;;;;;:8;:16;;;;;;16245:12;;16005:141;;-1:-1:-1;16202:66:0;;16210:55;;16218:40;;-1:-1:-1;;;16245:12:0;;;;16218:7;:40::i;16202:66::-;-1:-1:-1;;;;;16171:19:0;;;;;;:11;:19;;;;;;16163:36;;16191:7;16163;:36::i;:::-;:105;16159:133;;;-1:-1:-1;16288:1:0;16159:133;16319:26;16327:3;;16331:13;16319:7;:26::i;:::-;16303:42;-1:-1:-1;16361:14:0;;16358:278;;16400:18;16422:54;16430:32;16438:7;16448:13;16430:7;:32::i;:::-;16465:10;16422:7;:54::i;:::-;16508:12;;16502:69;;;-1:-1:-1;;;;;16502:69:0;;16535:10;16502:69;;;;16554:4;16502:69;;;;;;;;;;;;16400:76;;-1:-1:-1;;;;;;16508:12:0;;;;16502:32;;:69;;;;;;;;;;;;;;;16508:12;;16502:69;;;5:2:-1;;;;30:1;27;20:12;5:2;16502:69:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16502:69:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16502:69:0;16493:79;;;;;;;;16602:12;;16596:36;;;-1:-1:-1;;;;;16596:36:0;;;;;;;;;;-1:-1:-1;;;;;16602:12:0;;;;16596:24;;:36;;;;;;;;;;;;;;;16602:12;;16596:36;;;5:2:-1;;;;30:1;27;20:12;5:2;16596:36:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16596:36:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16596:36:0;16587:46;;;;;;;;16358:278;;15884:763;;;-1:-1:-1;;;;;16710:21:0;;16657:11;16710:21;;;:13;:21;;;;;;16671:88;;16679:54;;16687:7;;16697:35;;16707:2;;16710:21;;16697:9;:35::i;16671:88::-;-1:-1:-1;;;;;16775:22:0;;;;;;:14;:22;;;;;;16657:102;;-1:-1:-1;16775:22:0;;16772:186;;;16823:42;;;-1:-1:-1;;;;;16823:42:0;;16846:10;16823:42;;;;;;;;;;;;-1:-1:-1;;;;;16823:22:0;;;;;:42;;;;;;;;;;;;;;-1:-1:-1;16823:22:0;:42;;;5:2:-1;;;;30:1;27;20:12;5:2;16823:42:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16823:42:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16823:42:0;16814:52;;;;;;;;16772:186;;;16900:46;;;-1:-1:-1;;;;;16900:46:0;;16927:10;16900:46;;;;;;;;;;;;-1:-1:-1;;;;;16900:26:0;;;;;:46;;;;;-1:-1:-1;;16900:46:0;;;;;;;-1:-1:-1;16900:26:0;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;16900:46:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16900:46:0;;;;16772:186;-1:-1:-1;;;;;16998:19:0;;;;;;:11;:19;;;;;;16990:36;;17018:7;16990;:36::i;:::-;-1:-1:-1;;;;;16968:19:0;;;;;;;:11;:19;;;;;;;;:58;;;;17057:12;;17051:66;;-1:-1:-1;;;;;17051:66:0;;17084:10;17051:66;;;;17103:4;17051:66;;;;;;;;;;;;17057:12;;;17051:32;;:66;;;;;;;;;;;;;;17057:12;17051:66;;;5:2:-1;;;;30:1;27;20:12;5:2;17051:66:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17051:66:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17051:66:0;17042:76;;;;;;;;17143:12;;17137:33;;;-1:-1:-1;;;;;17137:33:0;;;;;;;;;;-1:-1:-1;;;;;17143:12:0;;;;17137:24;;:33;;;;;;;;;;;;;;;17143:12;;17137:33;;;5:2:-1;;;;30:1;27;20:12;5:2;17137:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17137:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17137:33:0;17129:42;;;;;;;;17196:28;17204:11;;17216:7;17196;:28::i;:::-;17182:11;:42;-1:-1:-1;17248:4:0;;15533:1729;-1:-1:-1;;;15533:1729:0:o;6892:236::-;6987:7;;6939:12;;-1:-1:-1;;;;;6987:7:0;6973:10;:21;6964:31;;;;;;7026:6;7016:16;;;7007:26;;;;;;7048:3;:12;;;7077:14;;;;;;;;;;;;;;;;;-1:-1:-1;7116:4:0;6892:236;;;:::o;5895:278::-;6002:7;;5954:12;;-1:-1:-1;;;;;6002:7:0;5988:10;:21;5979:31;;;;;;-1:-1:-1;;;;;6032:22:0;;;;6023:32;;;;;;-1:-1:-1;;;;;6075:13:0;;;;;;:5;:13;;;;;;;;;:22;;-1:-1:-1;;6075:22:0;;;;;;;;;;6117:21;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6161:4:0;5895:278;;;;:::o;2881:44::-;;;;;;;;;;;;;:::o;2599:38::-;;;;;;;;;;;;;;;:::o;11040:234::-;11089:27;;:::i;:::-;11134:6;11129:112;11150:11;;11146:1;:15;:26;;;;;11169:3;11165:1;:7;11146:26;11129:112;;;11207:22;11216:12;;;:9;:12;;;;;;;;;-1:-1:-1;;;;;11216:12:0;11207:22;;:8;:22;;;;;;11194:7;11226:1;11216:12;11194:10;;;;;;;;;:35;11174:3;;11129:112;;9114:1332;9178:12;-1:-1:-1;;;;;9214:22:0;;;;;;:37;;-1:-1:-1;9241:10:0;;-1:-1:-1;;;9241:10:0;;;;9240:11;9214:37;9205:47;;;;;;;;-1:-1:-1;;;;;9275:13:0;;;;;;:5;:13;;;;;;;;:22;9266:32;;;;;;9313:21;9337:88;9345:41;9353:7;9363:22;9373:2;9376:8;;;;;;;;;;;9363:22;;:9;:22::i;9345:41::-;-1:-1:-1;;;;;9402:21:0;;;;;;:13;:21;;;;;;9389:35;;9399:2;;9402:21;;9389:9;:35::i;9337:88::-;-1:-1:-1;;;;;9553:16:0;;;;;;:8;:16;;;;;;9572:12;;9313:112;;-1:-1:-1;9529:73:0;;9537:55;;9545:40;;-1:-1:-1;;;9572:12:0;;;;9545:7;:40::i;9537:55::-;9593:8;;9529:7;:73::i;:::-;9447:78;9455:10;:47;9466:35;9474:12;9489:11;;9466:7;:35::i;:::-;9455:47;;;;;;;;;;;:55;9503:6;-1:-1:-1;;;;;9455:55:0;-1:-1:-1;;;;;9455:55:0;;;;;;;;;;;;;9511:13;9447:7;:78::i;:::-;:155;;9438:165;;;;;;-1:-1:-1;;;;;9692:19:0;;;;;;:11;:19;;;;;;9684:42;;9712:13;9684:7;:42::i;:::-;-1:-1:-1;;;;;9641:16:0;;;;;;:8;:16;;;;;;9660:12;;9625:55;;9633:40;;-1:-1:-1;;;9660:12:0;;;;9633:7;:40::i;9625:55::-;:101;;9616:111;;;;;;9779:8;;9766:22;;9776:2;;-1:-1:-1;;;9779:8:0;;;;9766:9;:22::i;:::-;9749:39;;;9740:49;;;;;;-1:-1:-1;;;;;9804:22:0;;;;;;:14;:22;;;;;;;;9801:247;;;9868:62;;;-1:-1:-1;;;;;9868:62:0;;9895:10;9868:62;;;;9915:4;9868:62;;;;;;;;;;;;-1:-1:-1;;;;;9868:26:0;;;;;:62;;;;;;;;;;;;;;-1:-1:-1;9868:26:0;:62;;;5:2:-1;;;;30:1;27;20:12;5:2;9868:62:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9868:62:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9868:62:0;9859:72;;;;;;;;9801:247;;;9965:66;;;-1:-1:-1;;;;;9965:66:0;;9996:10;9965:66;;;;10016:4;9965:66;;;;;;;;;;;;-1:-1:-1;;;;;9965:30:0;;;;;:66;;;;;-1:-1:-1;;9965:66:0;;;;;;;-1:-1:-1;9965:30:0;:66;;;5:2:-1;;;;30:1;27;20:12;5:2;9965:66:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9965:66:0;;;;9801:247;10072:12;;10066:55;;;-1:-1:-1;;;;;10066:55:0;;10096:10;10066:55;;;;;;;;;;;;-1:-1:-1;;;;;10072:12:0;;;;10066:29;;:55;;;;;;;;;;;;;;;10072:12;;10066:55;;;5:2:-1;;;;30:1;27;20:12;5:2;10066:55:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10066:55:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10066:55:0;10058:64;;;;;;;;-1:-1:-1;;;;;10165:19:0;;;;;;:11;:19;;;;;;10157:42;;10185:13;10157:7;:42::i;:::-;-1:-1:-1;;;;;10135:19:0;;;;;;:11;:19;;;;;:64;10234:11;;10226:34;;10246:13;10226:7;:34::i;:::-;10212:11;:48;;;;10335:78;10343:10;:47;10354:35;10362:12;10377:11;;10354:7;:35::i;:::-;10343:47;;;;;;;;;;;:55;10391:6;-1:-1:-1;;;;;10343:55:0;-1:-1:-1;;;;;10343:55:0;;;;;;;;;;;;;10399:13;10335:7;:78::i;:::-;10277:10;:47;10288:35;10296:12;10311:11;;10288:7;:35::i;:::-;10277:47;;;;;;;;;;;;;;-1:-1:-1;10277:47:0;;;-1:-1:-1;;;;;10277:55:0;;;;;;;;;:136;-1:-1:-1;10433:4:0;;-1:-1:-1;9114:1332:0;;;;:::o;10774:224::-;10826:26;;:::i;:::-;10870:6;10865:101;10886:11;;10882:1;:15;:26;;;;;10905:3;10901:1;:7;10882:26;10865:101;;;10942:12;;;;:9;:12;;;;;;-1:-1:-1;;;;;10942:12:0;10930:6;10952:1;10942:12;10930:9;;;;;;-1:-1:-1;;;;;10930:24:0;;;:9;;;;;;:24;10910:3;;10865:101;;2214:27;;;-1:-1:-1;;;2214:27:0;;;;;:::o;1888:28::-;;;-1:-1:-1;;;;;1888:28:0;;:::o;2541:47::-;;;;;;;;;;;;;;;:::o;1923:27::-;;;-1:-1:-1;;;;;1923:27:0;;:::o;8402:550::-;-1:-1:-1;;;;;8479:21:0;;;;8470:31;;;;;;-1:-1:-1;;;;;8521:13:0;;;;;;:6;:13;;;;;;;;8535:10;8521:25;;;;;;;;:35;-1:-1:-1;8521:35:0;8512:45;;;;;;-1:-1:-1;;;;;8604:13:0;;;;;;:6;:13;;;;;;;;8618:10;8604:25;;;;;;;;8596:42;;8631:6;8596:7;:42::i;:::-;-1:-1:-1;;;;;8568:13:0;;;;;;:6;:13;;;;;;;;8582:10;8568:25;;;;;;;:70;;;;8655:21;;;:14;:21;;;;;;;8652:215;;;8705:41;;;-1:-1:-1;;;;;8705:41:0;;8727:10;8705:41;;;;;;;;;;;;-1:-1:-1;;;;;8705:21:0;;;;;:41;;;;;;;;;;;;;;-1:-1:-1;8705:21:0;:41;;;5:2:-1;;;;30:1;27;20:12;5:2;8705:41:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8705:41:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8705:41:0;8696:51;;;;;;;;8652:215;;;8784:45;;;-1:-1:-1;;;;;8784:45:0;;8810:10;8784:45;;;;;;;;;;;;-1:-1:-1;;;;;8784:25:0;;;;;:45;;;;;-1:-1:-1;;8784:45:0;;;;;;;-1:-1:-1;8784:25:0;:45;;;5:2:-1;;;;30:1;27;20:12;5:2;8784:45:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8784:45:0;;;;8652:215;-1:-1:-1;;;;;8918:13:0;;;;;;:6;:13;;;;;;;;8898:10;8918:25;;;;;;;;;;;8882:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8402:550;;:::o;7661:244::-;7719:12;7767:5;;-1:-1:-1;;;;;7767:5:0;7753:10;:19;7744:29;;;;;;-1:-1:-1;;;;;7794:20:0;;;;7785:30;;;;;;7827:5;:12;;-1:-1:-1;;;;;7827:12:0;;-1:-1:-1;;;;;;7827:12:0;;;;;;;;7856:17;;;;;;;;;;;;;;;;-1:-1:-1;7892:4:0;7661:244;;;:::o;10496:240::-;10548:27;;:::i;:::-;10593:6;10588:115;10609:11;;10605:1;:15;:26;;;;;10628:3;10624:1;:7;10605:26;10588:115;;;10666:25;10678:12;;;:9;:12;;;;;;;;;-1:-1:-1;;;;;10678:12:0;10666:25;;:11;:25;;;;;;10653:7;10688:1;10678:12;10653:10;;;;;;;;;:38;10633:3;;10588:115;;4585:169;4668:7;;-1:-1:-1;;;;;4668:7:0;4654:10;:21;4645:31;;;;;;4689:10;:19;;;;;-1:-1:-1;;;4689:19:0;;-1:-1:-1;;;;;;4689:19:0;;;;;;;;;;4725:21;;;;;;;;;;;;;;;;4585:169;:::o;4373:177::-;4461:5;;-1:-1:-1;;;;;4461:5:0;4447:10;:19;4438:29;;;;;;4480:12;:19;;-1:-1:-1;;;;;4480:19:0;;-1:-1:-1;;;;;;4480:19:0;;;;;;;;4521:21;;;;;;;;;;;;;;;;4373:177;:::o;2511:23::-;;;;:::o;4999:855::-;5106:12;5154:5;;-1:-1:-1;;;;;5154:5:0;5140:10;:19;5131:29;;;;;;-1:-1:-1;;;;;5182:22:0;;;;5173:32;;;;;;5226:10;;;5217:20;;;;;;-1:-1:-1;;;;;5261:16:0;;;;;;:8;:16;;;;;;:21;5257:567;;;5312:11;;;5302:22;;;;:9;:22;;;;;;;;:31;;-1:-1:-1;;;;;;5302:31:0;-1:-1:-1;;;;;5302:31:0;;;;;;;;5350:13;;:5;:13;;;;;:21;;-1:-1:-1;;5350:21:0;;;;;;5391:11;:19;;;;;:23;;;5433:8;:16;;;;;:25;;;5477:13;:21;;;;;;:38;;;;;5350:21;5477:38;;;;;5553:11;5545:22;;-1:-1:-1;5545:7:0;:22::i;:::-;5531:11;:36;-1:-1:-1;;;;;5585:22:0;;;;;;:14;:22;;;;;:40;;-1:-1:-1;;5585:40:0;;;;;;;5257:567;;;-1:-1:-1;;;;;5678:16:0;;;;;;:8;:16;;;;;;;;:25;;;5719:13;:21;;;;;:38;;-1:-1:-1;;5719:38:0;;;;;;;;;;5772:14;:22;;;;;;:40;;;;;;;;;;;5257:567;-1:-1:-1;5841:4:0;4999:855;;;;;;:::o;3347:67::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;2737:42::-;;;;;;;;;;;;-1:-1:-1;;;;;2737:42:0;;:::o;6640:217::-;6749:7;;6701:12;;-1:-1:-1;;;;;6749:7:0;6735:10;:21;6726:31;;;;;;6779:10;;;;;6770:20;;;;;;-1:-1:-1;6805:12:0;:21;;;;;-1:-1:-1;;;6805:21:0;-1:-1:-1;;6805:21:0;;;;;;-1:-1:-1;6640:217:0;;;:::o;7395:235::-;7444:12;7492:5;;-1:-1:-1;;;;;7492:5:0;7478:10;:19;7469:29;;;;;;-1:-1:-1;;;;;7519:20:0;;;;7510:30;;;;;;7552:7;:14;;-1:-1:-1;;;;;7552:14:0;;-1:-1:-1;;;;;;7552:14:0;;;;;;;;7583:16;;;;;;;;;;;;;;;;-1:-1:-1;7618:4:0;7395:235;;;:::o;3269:71::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;12483:1873::-;12586:8;;12532:12;;12573:22;;12583:2;;-1:-1:-1;;;12586:8:0;;;;12573:9;:22::i;:::-;12562:7;:33;;:49;;;;-1:-1:-1;12600:11:0;;-1:-1:-1;;;12600:11:0;;;;12599:12;12562:49;12553:59;;;;;;;;12625:3;;:7;12622:389;;12677:12;;12671:35;;;-1:-1:-1;;;;;12671:35:0;;;;12644:18;;-1:-1:-1;;;;;12677:12:0;;12671:33;;:35;;;;;;;;;;;;;;12677:12;12671:35;;;5:2:-1;;;;30:1;27;20:12;5:2;12671:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12671:35:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12671:35:0;12717:12;;12665:65;;;-1:-1:-1;;;;;12665:65:0;;-1:-1:-1;;;;;12717:12:0;;;12665:65;;;;;;:51;;;;;;;:65;;;;;12671:35;;12665:65;;;;;;;:51;:65;;;5:2:-1;;;;30:1;27;20:12;5:2;12665:65:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12665:65:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12665:65:0;;-1:-1:-1;12744:14:0;;12741:259;;12774:18;12796:44;12804:22;12812:7;12822:3;;12804:7;:22::i;:::-;12829:10;12796:7;:44::i;:::-;12871:12;;12865:69;;;-1:-1:-1;;;;;12865:69:0;;12898:10;12865:69;;;;12917:4;12865:69;;;;;;;;;;;;12774:66;;-1:-1:-1;;;;;;12871:12:0;;;;12865:32;;:69;;;;;;;;;;;;;;;12871:12;;12865:69;;;5:2:-1;;;;30:1;27;20:12;5:2;12865:69:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12865:69:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12865:69:0;12856:79;;;;;;;;12966:12;;12960:36;;;-1:-1:-1;;;;;12960:36:0;;;;;;;;;;-1:-1:-1;;;;;12966:12:0;;;;12960:24;;:36;;;;;;;;;;;;;;;12966:12;;12960:36;;;5:2:-1;;;;30:1;27;20:12;5:2;12960:36:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12960:36:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12960:36:0;12951:46;;;;;;;;12741:259;;12622:389;;13021:14;;;;13101:227;13122:11;;13118:1;:15;13101:227;;;13166:12;;;;:9;:12;;;;;;;;;-1:-1:-1;;;;;13166:12:0;13197:13;;;:5;:13;;;;;;;13166:12;;-1:-1:-1;13197:13:0;;13193:124;;;-1:-1:-1;;;;;13279:19:0;;;;;;:11;:19;;;;;;13259:40;;13267:9;;13259:7;:40::i;:::-;13247:52;;13193:124;13135:3;;13101:227;;;-1:-1:-1;13343:6:0;13338:785;13359:11;;13355:1;:15;13338:785;;;13403:12;;;;:9;:12;;;;;;;;;-1:-1:-1;;;;;13403:12:0;13434:13;;;:5;:13;;;;;;;13403:12;;-1:-1:-1;13434:13:0;;13430:30;;;13450:8;;13430:30;-1:-1:-1;;;;;13510:19:0;;;;;;:11;:19;;;;;;13483:84;;13491:39;;13499:7;;13491;:39::i;:::-;13534:32;13542:11;;13556:9;13534:7;:32::i;13483:84::-;13474:93;-1:-1:-1;13587:10:0;;13584:524;;-1:-1:-1;;;;;13620:22:0;;;;;;:14;:22;;;;;;;;13617:383;;;-1:-1:-1;;;;;13678:22:0;;13751:21;;;;:13;:21;;;;;;13678:22;;13701:10;;13713:87;;13721:53;;13729:6;;13738:35;;13748:2;;13751:21;;13738:9;:35::i;13713:87::-;13678:123;;;;;;;;;;;;;-1:-1:-1;;;;;13678:123:0;-1:-1:-1;;;;;13678:123:0;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13678:123:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13678:123:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13678:123:0;13669:133;;;;;;;;13617:383;;;-1:-1:-1;;;;;13853:26:0;;13930:21;;;;:13;:21;;;;;;13853:26;;13880:10;;13892:87;;13900:53;;13908:6;;13917:35;;13927:2;;13930:21;;13917:9;:35::i;13892:87::-;13853:127;;;;;;;;;;;;;-1:-1:-1;;;;;13853:127:0;-1:-1:-1;;;;;13853:127:0;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13853:127:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13853:127:0;;;;13617:383;-1:-1:-1;;;;;14063:19:0;;;;;;:11;:19;;;;;;14055:35;;14083:6;14055:7;:35::i;:::-;-1:-1:-1;;;;;14033:19:0;;;;;;:11;:19;;;;;:57;13584:524;13372:3;;13338:785;;;-1:-1:-1;14148:12:0;;14142:66;;;-1:-1:-1;;;;;14142:66:0;;14175:10;14142:66;;;;14194:4;14142:66;;;;;;;;;;;;-1:-1:-1;;;;;14148:12:0;;;;14142:32;;:66;;;;;;;;;;;;;;;14148:12;;14142:66;;;5:2:-1;;;;30:1;27;20:12;5:2;14142:66:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14142:66:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14142:66:0;14133:76;;;;;;;;14235:12;;14229:33;;;-1:-1:-1;;;;;14229:33:0;;;;;;;;;;-1:-1:-1;;;;;14235:12:0;;;;14229:24;;:33;;;;;;;;;;;;;;;14235:12;;14229:33;;;5:2:-1;;;;30:1;27;20:12;5:2;14229:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14229:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14229:33:0;14221:42;;;;;;;;14289:28;14297:11;;14309:7;14289;:28::i;2131:18::-;;;;:::o;2478:26::-;;;;:::o;2802:47::-;;;;;;;;;;;;;:::o;2074:26::-;;;;:::o;8964:120::-;-1:-1:-1;;;;;9057:13:0;;;9033:4;9057:13;;;:6;:13;;;;;;;;:19;;;;;;;;;;;;;8964:120::o;2976:47::-;;;;;;;;;;;;;;;:::o;97:155::-;159:7;187:5;;;206:6;;;:20;;;225:1;220;216;:5;;;;;;;;:10;206:20;199:28;;;;;;241:1;97:155;-1:-1:-1;;;97:155:0:o;256:99::-;318:7;344:1;342;:3;;;;;;;;;256:99;-1:-1:-1;;;256:99:0:o;637:119::-;725:4;;;637:119::o;484:147::-;546:7;574:5;;;593:4;;;;;;:12;;-1:-1:-1;601:4:0;;;;586:20;;;359:121;421:7;444:6;;;;437:14;;;;-1:-1:-1;465:5:0;;;359:121::o;1851:15414::-;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;-1:-1;1851:15414:0;;;-1:-1:-1;;1851:15414:0:o
Swarm Source
bzzr://5d33a0c01aec827e1f76fffaf32e99efc54c2236907f86e5810f145cbdcfe984
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.