Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 327 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Propose | 11271709 | 1520 days ago | IN | 0 ETH | 0.05016258 | ||||
Execute | 11243912 | 1524 days ago | IN | 0 ETH | 0.0269559 | ||||
Queue | 11237792 | 1525 days ago | IN | 0 ETH | 0.02004424 | ||||
Cast Vote | 11233377 | 1526 days ago | IN | 0 ETH | 0.0038547 | ||||
Cast Vote | 11231567 | 1526 days ago | IN | 0 ETH | 0.00315385 | ||||
Cast Vote | 11231129 | 1526 days ago | IN | 0 ETH | 0.00309894 | ||||
Cast Vote | 11230993 | 1526 days ago | IN | 0 ETH | 0.00332906 | ||||
Cast Vote | 11229214 | 1526 days ago | IN | 0 ETH | 0.00456432 | ||||
Cast Vote | 11229030 | 1527 days ago | IN | 0 ETH | 0.00674573 | ||||
Cast Vote | 11228998 | 1527 days ago | IN | 0 ETH | 0.00420513 | ||||
Cast Vote | 11228700 | 1527 days ago | IN | 0 ETH | 0.0046372 | ||||
Cast Vote | 11228200 | 1527 days ago | IN | 0 ETH | 0.00122649 | ||||
Cast Vote | 11228183 | 1527 days ago | IN | 0 ETH | 0.00227778 | ||||
Cast Vote | 11228176 | 1527 days ago | IN | 0 ETH | 0.00227778 | ||||
Cast Vote | 11228169 | 1527 days ago | IN | 0 ETH | 0.00262821 | ||||
Cast Vote | 11227759 | 1527 days ago | IN | 0 ETH | 0.00297863 | ||||
Cast Vote | 11227049 | 1527 days ago | IN | 0 ETH | 0.00236538 | ||||
Cast Vote | 11226794 | 1527 days ago | IN | 0 ETH | 0.00276979 | ||||
Cast Vote | 11226057 | 1527 days ago | IN | 0 ETH | 0.0013141 | ||||
Cast Vote | 11225934 | 1527 days ago | IN | 0 ETH | 0.00123525 | ||||
Cast Vote | 11225335 | 1527 days ago | IN | 0 ETH | 0.00175214 | ||||
Cast Vote | 11225098 | 1527 days ago | IN | 0 ETH | 0.00213465 | ||||
Cast Vote | 11224514 | 1527 days ago | IN | 0 ETH | 0.00236538 | ||||
Cast Vote | 11224447 | 1527 days ago | IN | 0 ETH | 0.00250556 | ||||
Cast Vote | 11224331 | 1527 days ago | IN | 0 ETH | 0.0059512 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
GovernorAlpha
Compiler Version
v0.5.15+commit.6a57276f
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-09-22 */ pragma solidity 0.5.15; pragma experimental ABIEncoderV2; /** * @dev Wrappers over Solidity's arithmetic operations with added overflow * checks. * * Arithmetic operations in Solidity wrap on overflow. This can easily result * in bugs, because programmers usually assume that an overflow raises an * error, which is the standard behavior in high level programming languages. * `SafeMath` restores this intuition by reverting the transaction when an * operation overflows. * * Using this library instead of the unchecked operations eliminates an entire * class of bugs, so it's recommended to use it always. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers. Reverts on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } /** * @dev Returns the integer division of two unsigned integers. Reverts with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts with custom message when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } interface TimelockInterface { function delay() external view returns (uint256); function GRACE_PERIOD() external view returns (uint256); function acceptAdmin() external; function queuedTransactions(bytes32 hash) external view returns (bool); function queueTransaction(address target, uint256 value, string calldata signature, bytes calldata data, uint256 eta) external returns (bytes32); function cancelTransaction(address target, uint256 value, string calldata signature, bytes calldata data, uint256 eta) external; function executeTransaction(address target, uint256 value, string calldata signature, bytes calldata data, uint256 eta) external payable returns (bytes memory); } interface YAMInterface { function getPriorVotes(address account, uint256 blockNumber) external view returns (uint256); function _acceptGov() external; } contract GovernorAlpha { /// @notice The name of this contract string public constant name = "YAM Governor Alpha"; /// @notice The number of votes in support of a proposal required in order for a quorum to be reached and for a vote to succeed function quorumVotes() public view returns (uint256) { return 200000 * 10**24; } // 4% of YAM /// @notice The number of votes required in order for a voter to become a proposer function proposalThreshold() public view returns (uint256) { return 50000 * 10**24; } // 1% of YAM /// @notice The maximum number of actions that can be included in a proposal function proposalMaxOperations() public pure returns (uint256) { return 10; } // 10 actions /// @notice The delay before voting on a proposal may take place, once proposed function votingDelay() public pure returns (uint256) { return 1; } // 1 block /// @notice The duration of voting on a proposal, in blocks function votingPeriod() public pure returns (uint256) { return 12345; } // ~2 days in blocks (assuming 14s blocks) /// @notice The address of the Compound Protocol Timelock TimelockInterface public timelock; /// @notice The address of the Compound governance token YAMInterface public yam; /// @notice The address of the Governor Guardian address public guardian; /// @notice The total number of proposals uint256 public proposalCount; struct Proposal { // Unique id for looking up a proposal uint256 id; // Creator of the proposal address proposer; // The timestamp that the proposal will be available for execution, set once the vote succeeds uint256 eta; // the ordered list of target addresses for calls to be made address[] targets; // The ordered list of values (i.e. msg.value) to be passed to the calls to be made uint[] values; // The ordered list of function signatures to be called string[] signatures; // The ordered list of calldata to be passed to each call bytes[] calldatas; // The block at which voting begins: holders must delegate their votes prior to this block uint256 startBlock; // The block at which voting ends: votes must be cast prior to this block uint256 endBlock; // Current number of votes in favor of this proposal uint256 forVotes; // Current number of votes in opposition to this proposal uint256 againstVotes; // Flag marking whether the proposal has been canceled bool canceled; // Flag marking whether the proposal has been executed bool executed; // Receipts of ballots for the entire set of voters mapping (address => Receipt) receipts; } // Ballot receipt record for a voter struct Receipt { // Whether or not a vote has been cast bool hasVoted; // Whether or not the voter supports the proposal bool support; // The number of votes the voter had, which were cast uint256 votes; } // Possible states that a proposal may be in enum ProposalState { Pending, Active, Canceled, Defeated, Succeeded, Queued, Expired, Executed } /// @notice The official record of all proposals ever proposed mapping (uint256 => Proposal) public proposals; /// @notice The latest proposal for each proposer mapping (address => uint256) public latestProposalIds; /// @notice The EIP-712 typehash for the contract's domain bytes32 public constant DOMAIN_TYPEHASH = keccak256("EIP712Domain(string name,uint256 chainId,address verifyingContract)"); /// @notice The EIP-712 typehash for the ballot struct used by the contract bytes32 public constant BALLOT_TYPEHASH = keccak256("Ballot(uint256 proposalId,bool support)"); /// @notice An event emitted when a new proposal is created event ProposalCreated(uint256 id, address proposer, address[] targets, uint[] values, string[] signatures, bytes[] calldatas, uint256 startBlock, uint256 endBlock, string description); /// @notice An event emitted when a vote has been cast on a proposal event VoteCast(address voter, uint256 proposalId, bool support, uint256 votes); /// @notice An event emitted when a proposal has been canceled event ProposalCanceled(uint256 id); /// @notice An event emitted when a proposal has been queued in the Timelock event ProposalQueued(uint256 id, uint256 eta); /// @notice An event emitted when a proposal has been executed in the Timelock event ProposalExecuted(uint256 id); constructor(address timelock_, address yam_) public { timelock = TimelockInterface(timelock_); yam = YAMInterface(yam_); guardian = msg.sender; } function propose( address[] memory targets, uint[] memory values, string[] memory signatures, bytes[] memory calldatas, string memory description ) public returns (uint256) { require(yam.getPriorVotes(msg.sender, sub256(block.number, 1)) >= proposalThreshold(), "GovernorAlpha::propose: proposer votes below proposal threshold"); require(targets.length == values.length && targets.length == signatures.length && targets.length == calldatas.length, "GovernorAlpha::propose: proposal function information arity mismatch"); require(targets.length != 0, "GovernorAlpha::propose: must provide actions"); require(targets.length <= proposalMaxOperations(), "GovernorAlpha::propose: too many actions"); uint256 latestProposalId = latestProposalIds[msg.sender]; if (latestProposalId != 0) { ProposalState proposersLatestProposalState = state(latestProposalId); require(proposersLatestProposalState != ProposalState.Active, "GovernorAlpha::propose: one live proposal per proposer, found an already active proposal"); require(proposersLatestProposalState != ProposalState.Pending, "GovernorAlpha::propose: one live proposal per proposer, found an already pending proposal"); } uint256 startBlock = add256(block.number, votingDelay()); uint256 endBlock = add256(startBlock, votingPeriod()); proposalCount++; Proposal memory newProposal = Proposal({ id: proposalCount, proposer: msg.sender, eta: 0, targets: targets, values: values, signatures: signatures, calldatas: calldatas, startBlock: startBlock, endBlock: endBlock, forVotes: 0, againstVotes: 0, canceled: false, executed: false }); proposals[newProposal.id] = newProposal; latestProposalIds[newProposal.proposer] = newProposal.id; emit ProposalCreated( newProposal.id, msg.sender, targets, values, signatures, calldatas, startBlock, endBlock, description ); return newProposal.id; } function queue(uint256 proposalId) public { require(state(proposalId) == ProposalState.Succeeded, "GovernorAlpha::queue: proposal can only be queued if it is succeeded"); Proposal storage proposal = proposals[proposalId]; uint256 eta = add256(block.timestamp, timelock.delay()); for (uint256 i = 0; i < proposal.targets.length; i++) { _queueOrRevert( proposal.targets[i], proposal.values[i], proposal.signatures[i], proposal.calldatas[i], eta ); } proposal.eta = eta; emit ProposalQueued(proposalId, eta); } function _queueOrRevert( address target, uint256 value, string memory signature, bytes memory data, uint256 eta ) internal { require(!timelock.queuedTransactions( keccak256( abi.encode( target, value, signature, data, eta ) ) ), "GovernorAlpha::_queueOrRevert: proposal action already queued at eta" ); timelock.queueTransaction(target, value, signature, data, eta); } function execute(uint256 proposalId) public payable { require(state(proposalId) == ProposalState.Queued, "GovernorAlpha::execute: proposal can only be executed if it is queued"); Proposal storage proposal = proposals[proposalId]; proposal.executed = true; for (uint256 i = 0; i < proposal.targets.length; i++) { timelock.executeTransaction.value(proposal.values[i])(proposal.targets[i], proposal.values[i], proposal.signatures[i], proposal.calldatas[i], proposal.eta); } emit ProposalExecuted(proposalId); } function cancel(uint256 proposalId) public { ProposalState state = state(proposalId); require(state != ProposalState.Executed, "GovernorAlpha::cancel: cannot cancel executed proposal"); Proposal storage proposal = proposals[proposalId]; require(msg.sender == guardian || yam.getPriorVotes(proposal.proposer, sub256(block.number, 1)) < proposalThreshold(), "GovernorAlpha::cancel: proposer above threshold"); proposal.canceled = true; for (uint256 i = 0; i < proposal.targets.length; i++) { timelock.cancelTransaction(proposal.targets[i], proposal.values[i], proposal.signatures[i], proposal.calldatas[i], proposal.eta); } emit ProposalCanceled(proposalId); } function getActions(uint256 proposalId) public view returns ( address[] memory targets, uint[] memory values, string[] memory signatures, bytes[] memory calldatas ) { Proposal storage p = proposals[proposalId]; return (p.targets, p.values, p.signatures, p.calldatas); } function getReceipt(uint256 proposalId, address voter) public view returns (Receipt memory) { return proposals[proposalId].receipts[voter]; } function state(uint256 proposalId) public view returns (ProposalState) { require(proposalCount >= proposalId && proposalId > 0, "GovernorAlpha::state: invalid proposal id"); Proposal storage proposal = proposals[proposalId]; if (proposal.canceled) { return ProposalState.Canceled; } else if (block.number <= proposal.startBlock) { return ProposalState.Pending; } else if (block.number <= proposal.endBlock) { return ProposalState.Active; } else if (proposal.forVotes <= proposal.againstVotes || proposal.forVotes < quorumVotes()) { return ProposalState.Defeated; } else if (proposal.eta == 0) { return ProposalState.Succeeded; } else if (proposal.executed) { return ProposalState.Executed; } else if (block.timestamp >= add256(proposal.eta, timelock.GRACE_PERIOD())) { return ProposalState.Expired; } else { return ProposalState.Queued; } } function castVote(uint256 proposalId, bool support) public { return _castVote(msg.sender, proposalId, support); } function castVoteBySig( uint256 proposalId, bool support, uint8 v, bytes32 r, bytes32 s ) public { bytes32 domainSeparator = keccak256( abi.encode( DOMAIN_TYPEHASH, keccak256(bytes(name)), getChainId(), address(this) ) ); bytes32 structHash = keccak256( abi.encode( BALLOT_TYPEHASH, proposalId, support ) ); bytes32 digest = keccak256( abi.encodePacked( "\x19\x01", domainSeparator, structHash ) ); address signatory = ecrecover(digest, v, r, s); require(signatory != address(0), "GovernorAlpha::castVoteBySig: invalid signature"); return _castVote(signatory, proposalId, support); } function _castVote( address voter, uint256 proposalId, bool support ) internal { require(state(proposalId) == ProposalState.Active, "GovernorAlpha::_castVote: voting is closed"); Proposal storage proposal = proposals[proposalId]; Receipt storage receipt = proposal.receipts[voter]; require(receipt.hasVoted == false, "GovernorAlpha::_castVote: voter already voted"); uint256 votes = yam.getPriorVotes(voter, proposal.startBlock); if (support) { proposal.forVotes = add256(proposal.forVotes, votes); } else { proposal.againstVotes = add256(proposal.againstVotes, votes); } receipt.hasVoted = true; receipt.support = support; receipt.votes = votes; emit VoteCast(voter, proposalId, support, votes); } function __acceptAdmin() public { require(msg.sender == guardian, "GovernorAlpha::__acceptAdmin: sender must be gov guardian"); timelock.acceptAdmin(); } function __abdicate() public { require(msg.sender == guardian, "GovernorAlpha::__abdicate: sender must be gov guardian"); guardian = address(0); } function add256(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "addition overflow"); return c; } function sub256(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= a, "subtraction underflow"); return a - b; } function getChainId() internal pure returns (uint256) { uint256 chainId; assembly { chainId := chainid() } return chainId; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"timelock_","type":"address"},{"internalType":"address","name":"yam_","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"}],"name":"ProposalCanceled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"address[]","name":"targets","type":"address[]"},{"indexed":false,"internalType":"uint256[]","name":"values","type":"uint256[]"},{"indexed":false,"internalType":"string[]","name":"signatures","type":"string[]"},{"indexed":false,"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"indexed":false,"internalType":"uint256","name":"startBlock","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"endBlock","type":"uint256"},{"indexed":false,"internalType":"string","name":"description","type":"string"}],"name":"ProposalCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"}],"name":"ProposalExecuted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"eta","type":"uint256"}],"name":"ProposalQueued","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"voter","type":"address"},{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"bool","name":"support","type":"bool"},{"indexed":false,"internalType":"uint256","name":"votes","type":"uint256"}],"name":"VoteCast","type":"event"},{"constant":true,"inputs":[],"name":"BALLOT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"DOMAIN_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"__abdicate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"__acceptAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"cancel","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"bool","name":"support","type":"bool"}],"name":"castVote","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"bool","name":"support","type":"bool"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"castVoteBySig","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"execute","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"getActions","outputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"string[]","name":"signatures","type":"string[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"voter","type":"address"}],"name":"getReceipt","outputs":[{"components":[{"internalType":"bool","name":"hasVoted","type":"bool"},{"internalType":"bool","name":"support","type":"bool"},{"internalType":"uint256","name":"votes","type":"uint256"}],"internalType":"struct GovernorAlpha.Receipt","name":"","type":"tuple"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"guardian","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"latestProposalIds","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"proposalCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"proposalMaxOperations","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"proposalThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"proposals","outputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address","name":"proposer","type":"address"},{"internalType":"uint256","name":"eta","type":"uint256"},{"internalType":"uint256","name":"startBlock","type":"uint256"},{"internalType":"uint256","name":"endBlock","type":"uint256"},{"internalType":"uint256","name":"forVotes","type":"uint256"},{"internalType":"uint256","name":"againstVotes","type":"uint256"},{"internalType":"bool","name":"canceled","type":"bool"},{"internalType":"bool","name":"executed","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"string[]","name":"signatures","type":"string[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"string","name":"description","type":"string"}],"name":"propose","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"queue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"quorumVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum GovernorAlpha.ProposalState","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"timelock","outputs":[{"internalType":"contract TimelockInterface","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"votingDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"yam","outputs":[{"internalType":"contract YAMInterface","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b5060405162003bbc38038062003bbc833981016040819052620000349162000089565b600080546001600160a01b039384166001600160a01b0319918216179091556001805492909316918116919091179091556002805490911633179055620000f4565b80516200008381620000da565b92915050565b600080604083850312156200009d57600080fd5b6000620000ab858562000076565b9250506020620000be8582860162000076565b9150509250929050565b60006001600160a01b03821662000083565b620000e581620000c8565b8114620000f157600080fd5b50565b613ab880620001046000396000f3fe6080604052600436106101965760003560e01c8063452a9320116100e1578063d33219b41161008a578063ddf0b00911610064578063ddf0b0091461041d578063deaaa7cc1461043d578063e23a9a5214610452578063fe0d94c11461047f57610196565b8063d33219b4146103d3578063da35c664146103e8578063da95691a146103fd57610196565b80637bdbe4d0116100bb5780637bdbe4d014610394578063b58131b0146103a9578063b9a61961146103be57610196565b8063452a93201461033d5780634634c61f1461035f578063760fbc131461037f57610196565b806320606b70116101435780633932abb11161011d5780633932abb1146102db5780633e4f49e6146102f057806340e58ee51461031d57610196565b806320606b701461028157806324bc1a6414610296578063328dd982146102ab57610196565b8063071c033211610174578063071c03321461021d57806315373e3d1461023f57806317977c611461026157610196565b8063013cf08b1461019b57806302a251a3146101d957806306fdde03146101fb575b600080fd5b3480156101a757600080fd5b506101bb6101b6366004612743565b610492565b6040516101d099989796959493929190613845565b60405180910390f35b3480156101e557600080fd5b506101ee6104f8565b6040516101d0919061359f565b34801561020757600080fd5b506102106104ff565b6040516101d0919061364e565b34801561022957600080fd5b50610232610538565b6040516101d09190613632565b34801561024b57600080fd5b5061025f61025a36600461279b565b610554565b005b34801561026d57600080fd5b506101ee61027c3660046125c0565b610563565b34801561028d57600080fd5b506101ee610575565b3480156102a257600080fd5b506101ee61058c565b3480156102b757600080fd5b506102cb6102c6366004612743565b61059d565b6040516101d09493929190613552565b3480156102e757600080fd5b506101ee610875565b3480156102fc57600080fd5b5061031061030b366004612743565b61087a565b6040516101d09190613640565b34801561032957600080fd5b5061025f610338366004612743565b610a45565b34801561034957600080fd5b50610352610d2b565b6040516101d0919061344b565b34801561036b57600080fd5b5061025f61037a3660046127cb565b610d47565b34801561038b57600080fd5b5061025f610f29565b3480156103a057600080fd5b506101ee610fa4565b3480156103b557600080fd5b506101ee610fa9565b3480156103ca57600080fd5b5061025f610fb9565b3480156103df57600080fd5b5061023261108b565b3480156103f457600080fd5b506101ee6110a7565b34801561040957600080fd5b506101ee6104183660046125e6565b6110ad565b34801561042957600080fd5b5061025f610438366004612743565b6115b1565b34801561044957600080fd5b506101ee6118a4565b34801561045e57600080fd5b5061047261046d366004612761565b6118b0565b6040516101d0919061378f565b61025f61048d366004612743565b611921565b6004602052600090815260409020805460018201546002830154600784015460088501546009860154600a870154600b90970154959673ffffffffffffffffffffffffffffffffffffffff90951695939492939192909160ff8082169161010090041689565b6130395b90565b6040518060400160405280601281526020017f59414d20476f7665726e6f7220416c706861000000000000000000000000000081525081565b60015473ffffffffffffffffffffffffffffffffffffffff1681565b61055f338383611b55565b5050565b60056020526000908152604090205481565b60405161058190613435565b604051809103902081565b6c02863c1f5cdae42f954000000090565b6060806060806000600460008781526020019081526020016000209050806003018160040182600501836006018380548060200260200160405190810160405280929190818152602001828054801561062c57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610601575b505050505093508280548060200260200160405190810160405280929190818152602001828054801561067e57602002820191906000526020600020905b81548152602001906001019080831161066a575b5050505050925081805480602002602001604051908101604052809291908181526020016000905b8282101561076f5760008481526020908190208301805460408051601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61010060018716150201909416939093049283018590048502810185019091528181529283018282801561075b5780601f106107305761010080835404028352916020019161075b565b820191906000526020600020905b81548152906001019060200180831161073e57829003601f168201915b5050505050815260200190600101906106a6565b50505050915080805480602002602001604051908101604052809291908181526020016000905b8282101561085f5760008481526020908190208301805460408051601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61010060018716150201909416939093049283018590048502810185019091528181529283018282801561084b5780601f106108205761010080835404028352916020019161084b565b820191906000526020600020905b81548152906001019060200180831161082e57829003601f168201915b505050505081526020019060010190610796565b5050505090509450945094509450509193509193565b600190565b6000816003541015801561088e5750600082115b6108cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c49061368f565b60405180910390fd5b6000828152600460205260409020600b81015460ff16156108f2576002915050610a40565b80600701544311610907576000915050610a40565b8060080154431161091c576001915050610a40565b80600a0154816009015411158061093d575061093661058c565b8160090154105b1561094c576003915050610a40565b600281015461095f576004915050610a40565b600b810154610100900460ff161561097b576007915050610a40565b6002810154600054604080517fc1a287e20000000000000000000000000000000000000000000000000000000081529051610a2a939273ffffffffffffffffffffffffffffffffffffffff169163c1a287e2916004808301926020929190829003018186803b1580156109ed57600080fd5b505afa158015610a01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a2591908101906126f0565b611d93565b4210610a3a576006915050610a40565b60059150505b919050565b6000610a508261087a565b90506007816007811115610a6057fe5b1415610a98576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c49061374f565b600082815260046020526040902060025473ffffffffffffffffffffffffffffffffffffffff16331480610b745750610acf610fa9565b600180548382015473ffffffffffffffffffffffffffffffffffffffff9182169263782d6fe19290911690610b05904390611dd9565b6040518363ffffffff1660e01b8152600401610b22929190613474565b60206040518083038186803b158015610b3a57600080fd5b505afa158015610b4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b7291908101906126f0565b105b610baa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c4906136ef565b600b810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905560005b6003820154811015610cee5760005460038301805473ffffffffffffffffffffffffffffffffffffffff9092169163591fcdfe919084908110610c1957fe5b60009182526020909120015460048501805473ffffffffffffffffffffffffffffffffffffffff9092169185908110610c4e57fe5b9060005260206000200154856005018581548110610c6857fe5b90600052602060002001866006018681548110610c8157fe5b9060005260206000200187600201546040518663ffffffff1660e01b8152600401610cb0959493929190613511565b600060405180830381600087803b158015610cca57600080fd5b505af1158015610cde573d6000803e3d6000fd5b505060019092019150610bda9050565b507f789cf55be980739dad1d0699b93b58e806b51c9d96619bfa8fe0a28abaa7b30c83604051610d1e919061359f565b60405180910390a1505050565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b6000604051610d5590613435565b60408051918290038220828201909152601282527f59414d20476f7665726e6f7220416c70686100000000000000000000000000006020909201919091527f63e44b07eb663d132f3b867c12624d91b2a07d728ab5358df3bb5d0d12341eb9610dbc611e1b565b30604051602001610dd094939291906135ad565b6040516020818303038152906040528051906020012090506000604051610df690613440565b604051908190038120610e0f91899089906020016135e2565b60405160208183030381529060405280519060200120905060008282604051602001610e3c929190613404565b604051602081830303815290604052805190602001209050600060018288888860405160008152602001604052604051610e79949392919061360a565b6020604051602081039080840390855afa158015610e9b573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116610f13576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c49061372f565b610f1e818a8a611b55565b505050505050505050565b60025473ffffffffffffffffffffffffffffffffffffffff163314610f7a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c49061377f565b600280547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b600a90565b6ba18f07d736b90be55000000090565b60025473ffffffffffffffffffffffffffffffffffffffff16331461100a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c49061365f565b60008054604080517f0e18b681000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff90921692630e18b6819260048084019382900301818387803b15801561107157600080fd5b505af1158015611085573d6000803e3d6000fd5b50505050565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60035481565b60006110b7610fa9565b6001805473ffffffffffffffffffffffffffffffffffffffff169063782d6fe19033906110e5904390611dd9565b6040518363ffffffff1660e01b8152600401611102929190613459565b60206040518083038186803b15801561111a57600080fd5b505afa15801561112e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061115291908101906126f0565b101561118a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c49061371f565b8451865114801561119c575083518651145b80156111a9575082518651145b6111df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c4906136df565b8551611217576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c49061370f565b61121f610fa4565b86511115611259576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c4906136bf565b33600090815260056020526040902054801561130a57600061127a8261087a565b9050600181600781111561128a57fe5b14156112c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c49061373f565b60008160078111156112d057fe5b1415611308576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c4906136af565b505b600061131843610a25610875565b9050600061132882610a256104f8565b600380546001019055905061133b611fcb565b604051806101a0016040528060035481526020013373ffffffffffffffffffffffffffffffffffffffff168152602001600081526020018b81526020018a815260200189815260200188815260200184815260200183815260200160008152602001600081526020016000151581526020016000151581525090508060046000836000015181526020019081526020016000206000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160020155606082015181600301908051906020019061144592919061204d565b50608082015180516114619160048401916020909101906120d7565b5060a0820151805161147d91600584019160209091019061211e565b5060c08201518051611499916006840191602090910190612177565b5060e082015181600701556101008201518160080155610120820151816009015561014082015181600a015561016082015181600b0160006101000a81548160ff02191690831515021790555061018082015181600b0160016101000a81548160ff021916908315150217905550905050806000015160056000836020015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507f7d84a6263ae0d98d3329bd7b46bb4e8d6f98cd35a7adb45c274c8b7fd5ebd5e08160000151338c8c8c8c89898e6040516115999998979695949392919061379d565b60405180910390a15193505050505b95945050505050565b60046115bc8261087a565b60078111156115c757fe5b146115fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c49061366f565b6000818152600460208181526040808420845482517f6a42b8f8000000000000000000000000000000000000000000000000000000008152925191959461167994429473ffffffffffffffffffffffffffffffffffffffff90931693636a42b8f8938084019390829003018186803b1580156109ed57600080fd5b905060005b600383015481101561186a5761186283600301828154811061169c57fe5b60009182526020909120015460048501805473ffffffffffffffffffffffffffffffffffffffff90921691849081106116d157fe5b90600052602060002001548560050184815481106116eb57fe5b600091825260209182902001805460408051601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101006001871615020190941693909304928301859004850281018501909152818152928301828280156117975780601f1061176c57610100808354040283529160200191611797565b820191906000526020600020905b81548152906001019060200180831161177a57829003601f168201915b50505050508660060185815481106117ab57fe5b600091825260209182902001805460408051601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101006001871615020190941693909304928301859004850281018501909152818152928301828280156118575780601f1061182c57610100808354040283529160200191611857565b820191906000526020600020905b81548152906001019060200180831161183a57829003601f168201915b505050505086611e1f565b60010161167e565b50600282018190556040517f9a2e42fd6722813d69113e7d0079d3d940171428df7373df9c7f7617cfda289290610d1e90859084906138cb565b60405161058190613440565b6118b86121d0565b50600082815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff85168452600c018252918290208251606081018452815460ff808216151583526101009091041615159281019290925260010154918101919091525b92915050565b600561192c8261087a565b600781111561193757fe5b1461196e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c49061367f565b6000818152600460205260408120600b810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100179055905b6003820154811015611b195760005460048301805473ffffffffffffffffffffffffffffffffffffffff90921691630825f38f9190849081106119eb57fe5b9060005260206000200154846003018481548110611a0557fe5b60009182526020909120015460048601805473ffffffffffffffffffffffffffffffffffffffff9092169186908110611a3a57fe5b9060005260206000200154866005018681548110611a5457fe5b90600052602060002001876006018781548110611a6d57fe5b9060005260206000200188600201546040518763ffffffff1660e01b8152600401611a9c959493929190613511565b6000604051808303818588803b158015611ab557600080fd5b505af1158015611ac9573d6000803e3d6000fd5b50505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611b10919081019061270e565b506001016119ac565b507f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f82604051611b49919061359f565b60405180910390a15050565b6001611b608361087a565b6007811115611b6b57fe5b14611ba2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c49061375f565b600082815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452600c8101909252909120805460ff1615611c12576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c49061369f565b60015460078301546040517f782d6fe100000000000000000000000000000000000000000000000000000000815260009273ffffffffffffffffffffffffffffffffffffffff169163782d6fe191611c6e918a91600401613474565b60206040518083038186803b158015611c8657600080fd5b505afa158015611c9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611cbe91908101906126f0565b90508315611cde57611cd4836009015482611d93565b6009840155611cf2565b611cec83600a015482611d93565b600a8401555b815460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0090911681177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101008615150217835582018190556040517f877856338e13f63d0c36822ff0ef736b80934cd90574a3a5bc9262c39d217c4690611d83908890889088908690613482565b60405180910390a1505050505050565b600082820183811015611dd2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c4906136cf565b9392505050565b600082821115611e15576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c49061376f565b50900390565b4690565b60005460405173ffffffffffffffffffffffffffffffffffffffff9091169063f2b0653790611e5a90889088908890889088906020016134b7565b604051602081830303815290604052805190602001206040518263ffffffff1660e01b8152600401611e8c919061359f565b60206040518083038186803b158015611ea457600080fd5b505afa158015611eb8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611edc91908101906126d2565b15611f13576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c4906136ff565b6000546040517f3a66f90100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690633a66f90190611f7190889088908890889088906004016134b7565b602060405180830381600087803b158015611f8b57600080fd5b505af1158015611f9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611fc391908101906126f0565b505050505050565b604051806101a0016040528060008152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160608152602001606081526020016060815260200160608152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b8280548282559060005260206000209081019282156120c7579160200282015b828111156120c757825182547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90911617825560209092019160019091019061206d565b506120d39291506121f0565b5090565b828054828255906000526020600020908101928215612112579160200282015b828111156121125782518255916020019190600101906120f7565b506120d392915061222c565b82805482825590600052602060002090810192821561216b579160200282015b8281111561216b578251805161215b918491602090910190612246565b509160200191906001019061213e565b506120d39291506122b3565b8280548282559060005260206000209081019282156121c4579160200282015b828111156121c457825180516121b4918491602090910190612246565b5091602001919060010190612197565b506120d39291506122d6565b604080516060810182526000808252602082018190529181019190915290565b6104fc91905b808211156120d35780547fffffffffffffffffffffffff00000000000000000000000000000000000000001681556001016121f6565b6104fc91905b808211156120d35760008155600101612232565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061228757805160ff1916838001178555612112565b8280016001018555821561211257918201828111156121125782518255916020019190600101906120f7565b6104fc91905b808211156120d35760006122cd82826122f9565b506001016122b9565b6104fc91905b808211156120d35760006122f082826122f9565b506001016122dc565b50805460018160011615610100020316600290046000825580601f1061231f575061233d565b601f01602090049060005260206000209081019061233d919061222c565b50565b803561191b81613a46565b600082601f83011261235c57600080fd5b813561236f61236a82613900565b6138d9565b9150818183526020840193506020810190508385602084028201111561239457600080fd5b60005b838110156123c057816123aa8882612340565b8452506020928301929190910190600101612397565b5050505092915050565b600082601f8301126123db57600080fd5b81356123e961236a82613900565b81815260209384019390925082018360005b838110156123c057813586016124118882612520565b84525060209283019291909101906001016123fb565b600082601f83011261243857600080fd5b813561244661236a82613900565b81815260209384019390925082018360005b838110156123c0578135860161246e8882612520565b8452506020928301929190910190600101612458565b600082601f83011261249557600080fd5b81356124a361236a82613900565b915081818352602084019350602081019050838560208402820111156124c857600080fd5b60005b838110156123c057816124de888261250a565b84525060209283019291909101906001016124cb565b803561191b81613a5a565b805161191b81613a5a565b803561191b81613a63565b805161191b81613a63565b600082601f83011261253157600080fd5b813561253f61236a82613921565b9150808252602083016020830185838301111561255b57600080fd5b6125668382846139dc565b50505092915050565b600082601f83011261258057600080fd5b815161258e61236a82613921565b915080825260208301602083018583830111156125aa57600080fd5b6125668382846139e8565b803561191b81613a6c565b6000602082840312156125d257600080fd5b60006125de8484612340565b949350505050565b600080600080600060a086880312156125fe57600080fd5b853567ffffffffffffffff81111561261557600080fd5b6126218882890161234b565b955050602086013567ffffffffffffffff81111561263e57600080fd5b61264a88828901612484565b945050604086013567ffffffffffffffff81111561266757600080fd5b61267388828901612427565b935050606086013567ffffffffffffffff81111561269057600080fd5b61269c888289016123ca565b925050608086013567ffffffffffffffff8111156126b957600080fd5b6126c588828901612520565b9150509295509295909350565b6000602082840312156126e457600080fd5b60006125de84846124ff565b60006020828403121561270257600080fd5b60006125de8484612515565b60006020828403121561272057600080fd5b815167ffffffffffffffff81111561273757600080fd5b6125de8482850161256f565b60006020828403121561275557600080fd5b60006125de848461250a565b6000806040838503121561277457600080fd5b6000612780858561250a565b925050602061279185828601612340565b9150509250929050565b600080604083850312156127ae57600080fd5b60006127ba858561250a565b9250506020612791858286016124f4565b600080600080600060a086880312156127e357600080fd5b60006127ef888861250a565b9550506020612800888289016124f4565b9450506040612811888289016125b5565b93505060606128228882890161250a565b92505060806126c58882890161250a565b600061283f838361286e565b505060200190565b6000611dd28383612a10565b600061283f83836129f6565b612868816139bf565b82525050565b61286881613986565b600061288282613979565b61288c818561397d565b935061289783613967565b8060005b838110156128c55781516128af8882612833565b97506128ba83613967565b92505060010161289b565b509495945050505050565b60006128db82613979565b6128e5818561397d565b9350836020820285016128f785613967565b8060005b8581101561293157848403895281516129148582612847565b945061291f83613967565b60209a909a01999250506001016128fb565b5091979650505050505050565b600061294982613979565b612953818561397d565b93508360208202850161296585613967565b8060005b8581101561293157848403895281516129828582612847565b945061298d83613967565b60209a909a0199925050600101612969565b60006129aa82613979565b6129b4818561397d565b93506129bf83613967565b8060005b838110156128c55781516129d78882612853565b97506129e283613967565b9250506001016129c3565b61286881613991565b612868816104fc565b612868612a0b826104fc565b6104fc565b6000612a1b82613979565b612a25818561397d565b9350612a358185602086016139e8565b612a3e81613a14565b9093019392505050565b600081546001811660008114612a655760018114612aa957612ae8565b607f6002830416612a76818761397d565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168152955050602085019250612ae8565b60028204612ab7818761397d565b9550612ac28561396d565b60005b82811015612ae157815488820152600190910190602001612ac5565b8701945050505b505092915050565b612868816139c6565b612868816139d1565b6000612b0f60398361397d565b7f476f7665726e6f72416c7068613a3a5f5f61636365707441646d696e3a20736581527f6e646572206d75737420626520676f7620677561726469616e00000000000000602082015260400192915050565b6000612b6e60448361397d565b7f476f7665726e6f72416c7068613a3a71756575653a2070726f706f73616c206381527f616e206f6e6c792062652071756575656420696620697420697320737563636560208201527f6564656400000000000000000000000000000000000000000000000000000000604082015260600192915050565b6000612bf360458361397d565b7f476f7665726e6f72416c7068613a3a657865637574653a2070726f706f73616c81527f2063616e206f6e6c79206265206578656375746564206966206974206973207160208201527f7565756564000000000000000000000000000000000000000000000000000000604082015260600192915050565b6000612c78600283610a40565b7f1901000000000000000000000000000000000000000000000000000000000000815260020192915050565b6000612cb160298361397d565b7f476f7665726e6f72416c7068613a3a73746174653a20696e76616c696420707281527f6f706f73616c2069640000000000000000000000000000000000000000000000602082015260400192915050565b6000612d10602d8361397d565b7f476f7665726e6f72416c7068613a3a5f63617374566f74653a20766f7465722081527f616c726561647920766f74656400000000000000000000000000000000000000602082015260400192915050565b6000612d6f60598361397d565b7f476f7665726e6f72416c7068613a3a70726f706f73653a206f6e65206c69766581527f2070726f706f73616c207065722070726f706f7365722c20666f756e6420616e60208201527f20616c72656164792070656e64696e672070726f706f73616c00000000000000604082015260600192915050565b6000612df460288361397d565b7f476f7665726e6f72416c7068613a3a70726f706f73653a20746f6f206d616e7981527f20616374696f6e73000000000000000000000000000000000000000000000000602082015260400192915050565b6000612e5360118361397d565b7f6164646974696f6e206f766572666c6f77000000000000000000000000000000815260200192915050565b6000612e8c604383610a40565b7f454950373132446f6d61696e28737472696e67206e616d652c75696e7432353681527f20636861696e49642c6164647265737320766572696679696e67436f6e74726160208201527f6374290000000000000000000000000000000000000000000000000000000000604082015260430192915050565b6000612f11602783610a40565b7f42616c6c6f742875696e743235362070726f706f73616c49642c626f6f6c207381527f7570706f72742900000000000000000000000000000000000000000000000000602082015260270192915050565b6000612f7060448361397d565b7f476f7665726e6f72416c7068613a3a70726f706f73653a2070726f706f73616c81527f2066756e6374696f6e20696e666f726d6174696f6e206172697479206d69736d60208201527f6174636800000000000000000000000000000000000000000000000000000000604082015260600192915050565b6000612ff5602f8361397d565b7f476f7665726e6f72416c7068613a3a63616e63656c3a2070726f706f7365722081527f61626f7665207468726573686f6c640000000000000000000000000000000000602082015260400192915050565b600061305460448361397d565b7f476f7665726e6f72416c7068613a3a5f71756575654f725265766572743a207081527f726f706f73616c20616374696f6e20616c72656164792071756575656420617460208201527f2065746100000000000000000000000000000000000000000000000000000000604082015260600192915050565b60006130d9602c8361397d565b7f476f7665726e6f72416c7068613a3a70726f706f73653a206d7573742070726f81527f7669646520616374696f6e730000000000000000000000000000000000000000602082015260400192915050565b6000613138603f8361397d565b7f476f7665726e6f72416c7068613a3a70726f706f73653a2070726f706f73657281527f20766f7465732062656c6f772070726f706f73616c207468726573686f6c6400602082015260400192915050565b6000613197602f8361397d565b7f476f7665726e6f72416c7068613a3a63617374566f746542795369673a20696e81527f76616c6964207369676e61747572650000000000000000000000000000000000602082015260400192915050565b60006131f660588361397d565b7f476f7665726e6f72416c7068613a3a70726f706f73653a206f6e65206c69766581527f2070726f706f73616c207065722070726f706f7365722c20666f756e6420616e60208201527f20616c7265616479206163746976652070726f706f73616c0000000000000000604082015260600192915050565b600061327b60368361397d565b7f476f7665726e6f72416c7068613a3a63616e63656c3a2063616e6e6f7420636181527f6e63656c2065786563757465642070726f706f73616c00000000000000000000602082015260400192915050565b60006132da602a8361397d565b7f476f7665726e6f72416c7068613a3a5f63617374566f74653a20766f74696e6781527f20697320636c6f73656400000000000000000000000000000000000000000000602082015260400192915050565b600061333960158361397d565b7f7375627472616374696f6e20756e646572666c6f770000000000000000000000815260200192915050565b600061337260368361397d565b7f476f7665726e6f72416c7068613a3a5f5f61626469636174653a2073656e646581527f72206d75737420626520676f7620677561726469616e00000000000000000000602082015260400192915050565b805160608301906133d584826129ed565b5060208201516133e860208501826129ed565b50604082015161108560408501826129f6565b612868816139b9565b600061340f82612c6b565b915061341b82856129ff565b60208201915061342b82846129ff565b5060200192915050565b600061191b82612e7f565b600061191b82612f04565b6020810161191b828461286e565b60408101613467828561285f565b611dd260208301846129f6565b60408101613467828561286e565b60808101613490828761286e565b61349d60208301866129f6565b6134aa60408301856129ed565b6115a860608301846129f6565b60a081016134c5828861286e565b6134d260208301876129f6565b81810360408301526134e48186612a10565b905081810360608301526134f88185612a10565b905061350760808301846129f6565b9695505050505050565b60a0810161351f828861286e565b61352c60208301876129f6565b818103604083015261353e8186612a48565b905081810360608301526134f88185612a48565b608080825281016135638187612877565b90508181036020830152613577818661299f565b9050818103604083015261358b818561293e565b9050818103606083015261350781846128d0565b6020810161191b82846129f6565b608081016135bb82876129f6565b6135c860208301866129f6565b6135d560408301856129f6565b6115a8606083018461286e565b606081016135f082866129f6565b6135fd60208301856129f6565b6125de60408301846129ed565b6080810161361882876129f6565b61362560208301866133fb565b6134aa60408301856129f6565b6020810161191b8284612af0565b6020810161191b8284612af9565b60208082528101611dd28184612a10565b6020808252810161191b81612b02565b6020808252810161191b81612b61565b6020808252810161191b81612be6565b6020808252810161191b81612ca4565b6020808252810161191b81612d03565b6020808252810161191b81612d62565b6020808252810161191b81612de7565b6020808252810161191b81612e46565b6020808252810161191b81612f63565b6020808252810161191b81612fe8565b6020808252810161191b81613047565b6020808252810161191b816130cc565b6020808252810161191b8161312b565b6020808252810161191b8161318a565b6020808252810161191b816131e9565b6020808252810161191b8161326e565b6020808252810161191b816132cd565b6020808252810161191b8161332c565b6020808252810161191b81613365565b6060810161191b82846133c4565b61012081016137ac828c6129f6565b6137b9602083018b61285f565b81810360408301526137cb818a612877565b905081810360608301526137df818961299f565b905081810360808301526137f3818861293e565b905081810360a083015261380781876128d0565b905061381660c08301866129f6565b61382360e08301856129f6565b8181036101008301526138368184612a10565b9b9a5050505050505050505050565b6101208101613854828c6129f6565b613861602083018b61286e565b61386e604083018a6129f6565b61387b60608301896129f6565b61388860808301886129f6565b61389560a08301876129f6565b6138a260c08301866129f6565b6138af60e08301856129ed565b6138bd6101008301846129ed565b9a9950505050505050505050565b6040810161346782856129f6565b60405181810167ffffffffffffffff811182821017156138f857600080fd5b604052919050565b600067ffffffffffffffff82111561391757600080fd5b5060209081020190565b600067ffffffffffffffff82111561393857600080fd5b506020601f919091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160190565b60200190565b60009081526020902090565b5190565b90815260200190565b600061191b826139a0565b151590565b80610a4081613a3c565b73ffffffffffffffffffffffffffffffffffffffff1690565b60ff1690565b600061191b825b600061191b82613986565b600061191b82613996565b82818337506000910152565b60005b83811015613a035781810151838201526020016139eb565b838111156110855750506000910152565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690565b6008811061233d57fe5b613a4f81613986565b811461233d57600080fd5b613a4f81613991565b613a4f816104fc565b613a4f816139b956fea365627a7a72315820218303ef2386f1fa91ee7e37e29da31238edade3024766d08759a8cc5fa211396c6578706572696d656e74616cf564736f6c634300050f00400000000000000000000000008b4f1616751117c38a0f84f9a146cca191ea3ec50000000000000000000000000aacfbec6a24756c20d41914f2caba817c0d8521
Deployed Bytecode
0x6080604052600436106101965760003560e01c8063452a9320116100e1578063d33219b41161008a578063ddf0b00911610064578063ddf0b0091461041d578063deaaa7cc1461043d578063e23a9a5214610452578063fe0d94c11461047f57610196565b8063d33219b4146103d3578063da35c664146103e8578063da95691a146103fd57610196565b80637bdbe4d0116100bb5780637bdbe4d014610394578063b58131b0146103a9578063b9a61961146103be57610196565b8063452a93201461033d5780634634c61f1461035f578063760fbc131461037f57610196565b806320606b70116101435780633932abb11161011d5780633932abb1146102db5780633e4f49e6146102f057806340e58ee51461031d57610196565b806320606b701461028157806324bc1a6414610296578063328dd982146102ab57610196565b8063071c033211610174578063071c03321461021d57806315373e3d1461023f57806317977c611461026157610196565b8063013cf08b1461019b57806302a251a3146101d957806306fdde03146101fb575b600080fd5b3480156101a757600080fd5b506101bb6101b6366004612743565b610492565b6040516101d099989796959493929190613845565b60405180910390f35b3480156101e557600080fd5b506101ee6104f8565b6040516101d0919061359f565b34801561020757600080fd5b506102106104ff565b6040516101d0919061364e565b34801561022957600080fd5b50610232610538565b6040516101d09190613632565b34801561024b57600080fd5b5061025f61025a36600461279b565b610554565b005b34801561026d57600080fd5b506101ee61027c3660046125c0565b610563565b34801561028d57600080fd5b506101ee610575565b3480156102a257600080fd5b506101ee61058c565b3480156102b757600080fd5b506102cb6102c6366004612743565b61059d565b6040516101d09493929190613552565b3480156102e757600080fd5b506101ee610875565b3480156102fc57600080fd5b5061031061030b366004612743565b61087a565b6040516101d09190613640565b34801561032957600080fd5b5061025f610338366004612743565b610a45565b34801561034957600080fd5b50610352610d2b565b6040516101d0919061344b565b34801561036b57600080fd5b5061025f61037a3660046127cb565b610d47565b34801561038b57600080fd5b5061025f610f29565b3480156103a057600080fd5b506101ee610fa4565b3480156103b557600080fd5b506101ee610fa9565b3480156103ca57600080fd5b5061025f610fb9565b3480156103df57600080fd5b5061023261108b565b3480156103f457600080fd5b506101ee6110a7565b34801561040957600080fd5b506101ee6104183660046125e6565b6110ad565b34801561042957600080fd5b5061025f610438366004612743565b6115b1565b34801561044957600080fd5b506101ee6118a4565b34801561045e57600080fd5b5061047261046d366004612761565b6118b0565b6040516101d0919061378f565b61025f61048d366004612743565b611921565b6004602052600090815260409020805460018201546002830154600784015460088501546009860154600a870154600b90970154959673ffffffffffffffffffffffffffffffffffffffff90951695939492939192909160ff8082169161010090041689565b6130395b90565b6040518060400160405280601281526020017f59414d20476f7665726e6f7220416c706861000000000000000000000000000081525081565b60015473ffffffffffffffffffffffffffffffffffffffff1681565b61055f338383611b55565b5050565b60056020526000908152604090205481565b60405161058190613435565b604051809103902081565b6c02863c1f5cdae42f954000000090565b6060806060806000600460008781526020019081526020016000209050806003018160040182600501836006018380548060200260200160405190810160405280929190818152602001828054801561062c57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610601575b505050505093508280548060200260200160405190810160405280929190818152602001828054801561067e57602002820191906000526020600020905b81548152602001906001019080831161066a575b5050505050925081805480602002602001604051908101604052809291908181526020016000905b8282101561076f5760008481526020908190208301805460408051601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61010060018716150201909416939093049283018590048502810185019091528181529283018282801561075b5780601f106107305761010080835404028352916020019161075b565b820191906000526020600020905b81548152906001019060200180831161073e57829003601f168201915b5050505050815260200190600101906106a6565b50505050915080805480602002602001604051908101604052809291908181526020016000905b8282101561085f5760008481526020908190208301805460408051601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61010060018716150201909416939093049283018590048502810185019091528181529283018282801561084b5780601f106108205761010080835404028352916020019161084b565b820191906000526020600020905b81548152906001019060200180831161082e57829003601f168201915b505050505081526020019060010190610796565b5050505090509450945094509450509193509193565b600190565b6000816003541015801561088e5750600082115b6108cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c49061368f565b60405180910390fd5b6000828152600460205260409020600b81015460ff16156108f2576002915050610a40565b80600701544311610907576000915050610a40565b8060080154431161091c576001915050610a40565b80600a0154816009015411158061093d575061093661058c565b8160090154105b1561094c576003915050610a40565b600281015461095f576004915050610a40565b600b810154610100900460ff161561097b576007915050610a40565b6002810154600054604080517fc1a287e20000000000000000000000000000000000000000000000000000000081529051610a2a939273ffffffffffffffffffffffffffffffffffffffff169163c1a287e2916004808301926020929190829003018186803b1580156109ed57600080fd5b505afa158015610a01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a2591908101906126f0565b611d93565b4210610a3a576006915050610a40565b60059150505b919050565b6000610a508261087a565b90506007816007811115610a6057fe5b1415610a98576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c49061374f565b600082815260046020526040902060025473ffffffffffffffffffffffffffffffffffffffff16331480610b745750610acf610fa9565b600180548382015473ffffffffffffffffffffffffffffffffffffffff9182169263782d6fe19290911690610b05904390611dd9565b6040518363ffffffff1660e01b8152600401610b22929190613474565b60206040518083038186803b158015610b3a57600080fd5b505afa158015610b4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b7291908101906126f0565b105b610baa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c4906136ef565b600b810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905560005b6003820154811015610cee5760005460038301805473ffffffffffffffffffffffffffffffffffffffff9092169163591fcdfe919084908110610c1957fe5b60009182526020909120015460048501805473ffffffffffffffffffffffffffffffffffffffff9092169185908110610c4e57fe5b9060005260206000200154856005018581548110610c6857fe5b90600052602060002001866006018681548110610c8157fe5b9060005260206000200187600201546040518663ffffffff1660e01b8152600401610cb0959493929190613511565b600060405180830381600087803b158015610cca57600080fd5b505af1158015610cde573d6000803e3d6000fd5b505060019092019150610bda9050565b507f789cf55be980739dad1d0699b93b58e806b51c9d96619bfa8fe0a28abaa7b30c83604051610d1e919061359f565b60405180910390a1505050565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b6000604051610d5590613435565b60408051918290038220828201909152601282527f59414d20476f7665726e6f7220416c70686100000000000000000000000000006020909201919091527f63e44b07eb663d132f3b867c12624d91b2a07d728ab5358df3bb5d0d12341eb9610dbc611e1b565b30604051602001610dd094939291906135ad565b6040516020818303038152906040528051906020012090506000604051610df690613440565b604051908190038120610e0f91899089906020016135e2565b60405160208183030381529060405280519060200120905060008282604051602001610e3c929190613404565b604051602081830303815290604052805190602001209050600060018288888860405160008152602001604052604051610e79949392919061360a565b6020604051602081039080840390855afa158015610e9b573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116610f13576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c49061372f565b610f1e818a8a611b55565b505050505050505050565b60025473ffffffffffffffffffffffffffffffffffffffff163314610f7a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c49061377f565b600280547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b600a90565b6ba18f07d736b90be55000000090565b60025473ffffffffffffffffffffffffffffffffffffffff16331461100a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c49061365f565b60008054604080517f0e18b681000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff90921692630e18b6819260048084019382900301818387803b15801561107157600080fd5b505af1158015611085573d6000803e3d6000fd5b50505050565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60035481565b60006110b7610fa9565b6001805473ffffffffffffffffffffffffffffffffffffffff169063782d6fe19033906110e5904390611dd9565b6040518363ffffffff1660e01b8152600401611102929190613459565b60206040518083038186803b15801561111a57600080fd5b505afa15801561112e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061115291908101906126f0565b101561118a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c49061371f565b8451865114801561119c575083518651145b80156111a9575082518651145b6111df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c4906136df565b8551611217576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c49061370f565b61121f610fa4565b86511115611259576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c4906136bf565b33600090815260056020526040902054801561130a57600061127a8261087a565b9050600181600781111561128a57fe5b14156112c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c49061373f565b60008160078111156112d057fe5b1415611308576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c4906136af565b505b600061131843610a25610875565b9050600061132882610a256104f8565b600380546001019055905061133b611fcb565b604051806101a0016040528060035481526020013373ffffffffffffffffffffffffffffffffffffffff168152602001600081526020018b81526020018a815260200189815260200188815260200184815260200183815260200160008152602001600081526020016000151581526020016000151581525090508060046000836000015181526020019081526020016000206000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160020155606082015181600301908051906020019061144592919061204d565b50608082015180516114619160048401916020909101906120d7565b5060a0820151805161147d91600584019160209091019061211e565b5060c08201518051611499916006840191602090910190612177565b5060e082015181600701556101008201518160080155610120820151816009015561014082015181600a015561016082015181600b0160006101000a81548160ff02191690831515021790555061018082015181600b0160016101000a81548160ff021916908315150217905550905050806000015160056000836020015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507f7d84a6263ae0d98d3329bd7b46bb4e8d6f98cd35a7adb45c274c8b7fd5ebd5e08160000151338c8c8c8c89898e6040516115999998979695949392919061379d565b60405180910390a15193505050505b95945050505050565b60046115bc8261087a565b60078111156115c757fe5b146115fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c49061366f565b6000818152600460208181526040808420845482517f6a42b8f8000000000000000000000000000000000000000000000000000000008152925191959461167994429473ffffffffffffffffffffffffffffffffffffffff90931693636a42b8f8938084019390829003018186803b1580156109ed57600080fd5b905060005b600383015481101561186a5761186283600301828154811061169c57fe5b60009182526020909120015460048501805473ffffffffffffffffffffffffffffffffffffffff90921691849081106116d157fe5b90600052602060002001548560050184815481106116eb57fe5b600091825260209182902001805460408051601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101006001871615020190941693909304928301859004850281018501909152818152928301828280156117975780601f1061176c57610100808354040283529160200191611797565b820191906000526020600020905b81548152906001019060200180831161177a57829003601f168201915b50505050508660060185815481106117ab57fe5b600091825260209182902001805460408051601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101006001871615020190941693909304928301859004850281018501909152818152928301828280156118575780601f1061182c57610100808354040283529160200191611857565b820191906000526020600020905b81548152906001019060200180831161183a57829003601f168201915b505050505086611e1f565b60010161167e565b50600282018190556040517f9a2e42fd6722813d69113e7d0079d3d940171428df7373df9c7f7617cfda289290610d1e90859084906138cb565b60405161058190613440565b6118b86121d0565b50600082815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff85168452600c018252918290208251606081018452815460ff808216151583526101009091041615159281019290925260010154918101919091525b92915050565b600561192c8261087a565b600781111561193757fe5b1461196e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c49061367f565b6000818152600460205260408120600b810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100179055905b6003820154811015611b195760005460048301805473ffffffffffffffffffffffffffffffffffffffff90921691630825f38f9190849081106119eb57fe5b9060005260206000200154846003018481548110611a0557fe5b60009182526020909120015460048601805473ffffffffffffffffffffffffffffffffffffffff9092169186908110611a3a57fe5b9060005260206000200154866005018681548110611a5457fe5b90600052602060002001876006018781548110611a6d57fe5b9060005260206000200188600201546040518763ffffffff1660e01b8152600401611a9c959493929190613511565b6000604051808303818588803b158015611ab557600080fd5b505af1158015611ac9573d6000803e3d6000fd5b50505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611b10919081019061270e565b506001016119ac565b507f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f82604051611b49919061359f565b60405180910390a15050565b6001611b608361087a565b6007811115611b6b57fe5b14611ba2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c49061375f565b600082815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452600c8101909252909120805460ff1615611c12576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c49061369f565b60015460078301546040517f782d6fe100000000000000000000000000000000000000000000000000000000815260009273ffffffffffffffffffffffffffffffffffffffff169163782d6fe191611c6e918a91600401613474565b60206040518083038186803b158015611c8657600080fd5b505afa158015611c9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611cbe91908101906126f0565b90508315611cde57611cd4836009015482611d93565b6009840155611cf2565b611cec83600a015482611d93565b600a8401555b815460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0090911681177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101008615150217835582018190556040517f877856338e13f63d0c36822ff0ef736b80934cd90574a3a5bc9262c39d217c4690611d83908890889088908690613482565b60405180910390a1505050505050565b600082820183811015611dd2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c4906136cf565b9392505050565b600082821115611e15576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c49061376f565b50900390565b4690565b60005460405173ffffffffffffffffffffffffffffffffffffffff9091169063f2b0653790611e5a90889088908890889088906020016134b7565b604051602081830303815290604052805190602001206040518263ffffffff1660e01b8152600401611e8c919061359f565b60206040518083038186803b158015611ea457600080fd5b505afa158015611eb8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611edc91908101906126d2565b15611f13576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c4906136ff565b6000546040517f3a66f90100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690633a66f90190611f7190889088908890889088906004016134b7565b602060405180830381600087803b158015611f8b57600080fd5b505af1158015611f9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611fc391908101906126f0565b505050505050565b604051806101a0016040528060008152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160608152602001606081526020016060815260200160608152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b8280548282559060005260206000209081019282156120c7579160200282015b828111156120c757825182547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90911617825560209092019160019091019061206d565b506120d39291506121f0565b5090565b828054828255906000526020600020908101928215612112579160200282015b828111156121125782518255916020019190600101906120f7565b506120d392915061222c565b82805482825590600052602060002090810192821561216b579160200282015b8281111561216b578251805161215b918491602090910190612246565b509160200191906001019061213e565b506120d39291506122b3565b8280548282559060005260206000209081019282156121c4579160200282015b828111156121c457825180516121b4918491602090910190612246565b5091602001919060010190612197565b506120d39291506122d6565b604080516060810182526000808252602082018190529181019190915290565b6104fc91905b808211156120d35780547fffffffffffffffffffffffff00000000000000000000000000000000000000001681556001016121f6565b6104fc91905b808211156120d35760008155600101612232565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061228757805160ff1916838001178555612112565b8280016001018555821561211257918201828111156121125782518255916020019190600101906120f7565b6104fc91905b808211156120d35760006122cd82826122f9565b506001016122b9565b6104fc91905b808211156120d35760006122f082826122f9565b506001016122dc565b50805460018160011615610100020316600290046000825580601f1061231f575061233d565b601f01602090049060005260206000209081019061233d919061222c565b50565b803561191b81613a46565b600082601f83011261235c57600080fd5b813561236f61236a82613900565b6138d9565b9150818183526020840193506020810190508385602084028201111561239457600080fd5b60005b838110156123c057816123aa8882612340565b8452506020928301929190910190600101612397565b5050505092915050565b600082601f8301126123db57600080fd5b81356123e961236a82613900565b81815260209384019390925082018360005b838110156123c057813586016124118882612520565b84525060209283019291909101906001016123fb565b600082601f83011261243857600080fd5b813561244661236a82613900565b81815260209384019390925082018360005b838110156123c0578135860161246e8882612520565b8452506020928301929190910190600101612458565b600082601f83011261249557600080fd5b81356124a361236a82613900565b915081818352602084019350602081019050838560208402820111156124c857600080fd5b60005b838110156123c057816124de888261250a565b84525060209283019291909101906001016124cb565b803561191b81613a5a565b805161191b81613a5a565b803561191b81613a63565b805161191b81613a63565b600082601f83011261253157600080fd5b813561253f61236a82613921565b9150808252602083016020830185838301111561255b57600080fd5b6125668382846139dc565b50505092915050565b600082601f83011261258057600080fd5b815161258e61236a82613921565b915080825260208301602083018583830111156125aa57600080fd5b6125668382846139e8565b803561191b81613a6c565b6000602082840312156125d257600080fd5b60006125de8484612340565b949350505050565b600080600080600060a086880312156125fe57600080fd5b853567ffffffffffffffff81111561261557600080fd5b6126218882890161234b565b955050602086013567ffffffffffffffff81111561263e57600080fd5b61264a88828901612484565b945050604086013567ffffffffffffffff81111561266757600080fd5b61267388828901612427565b935050606086013567ffffffffffffffff81111561269057600080fd5b61269c888289016123ca565b925050608086013567ffffffffffffffff8111156126b957600080fd5b6126c588828901612520565b9150509295509295909350565b6000602082840312156126e457600080fd5b60006125de84846124ff565b60006020828403121561270257600080fd5b60006125de8484612515565b60006020828403121561272057600080fd5b815167ffffffffffffffff81111561273757600080fd5b6125de8482850161256f565b60006020828403121561275557600080fd5b60006125de848461250a565b6000806040838503121561277457600080fd5b6000612780858561250a565b925050602061279185828601612340565b9150509250929050565b600080604083850312156127ae57600080fd5b60006127ba858561250a565b9250506020612791858286016124f4565b600080600080600060a086880312156127e357600080fd5b60006127ef888861250a565b9550506020612800888289016124f4565b9450506040612811888289016125b5565b93505060606128228882890161250a565b92505060806126c58882890161250a565b600061283f838361286e565b505060200190565b6000611dd28383612a10565b600061283f83836129f6565b612868816139bf565b82525050565b61286881613986565b600061288282613979565b61288c818561397d565b935061289783613967565b8060005b838110156128c55781516128af8882612833565b97506128ba83613967565b92505060010161289b565b509495945050505050565b60006128db82613979565b6128e5818561397d565b9350836020820285016128f785613967565b8060005b8581101561293157848403895281516129148582612847565b945061291f83613967565b60209a909a01999250506001016128fb565b5091979650505050505050565b600061294982613979565b612953818561397d565b93508360208202850161296585613967565b8060005b8581101561293157848403895281516129828582612847565b945061298d83613967565b60209a909a0199925050600101612969565b60006129aa82613979565b6129b4818561397d565b93506129bf83613967565b8060005b838110156128c55781516129d78882612853565b97506129e283613967565b9250506001016129c3565b61286881613991565b612868816104fc565b612868612a0b826104fc565b6104fc565b6000612a1b82613979565b612a25818561397d565b9350612a358185602086016139e8565b612a3e81613a14565b9093019392505050565b600081546001811660008114612a655760018114612aa957612ae8565b607f6002830416612a76818761397d565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168152955050602085019250612ae8565b60028204612ab7818761397d565b9550612ac28561396d565b60005b82811015612ae157815488820152600190910190602001612ac5565b8701945050505b505092915050565b612868816139c6565b612868816139d1565b6000612b0f60398361397d565b7f476f7665726e6f72416c7068613a3a5f5f61636365707441646d696e3a20736581527f6e646572206d75737420626520676f7620677561726469616e00000000000000602082015260400192915050565b6000612b6e60448361397d565b7f476f7665726e6f72416c7068613a3a71756575653a2070726f706f73616c206381527f616e206f6e6c792062652071756575656420696620697420697320737563636560208201527f6564656400000000000000000000000000000000000000000000000000000000604082015260600192915050565b6000612bf360458361397d565b7f476f7665726e6f72416c7068613a3a657865637574653a2070726f706f73616c81527f2063616e206f6e6c79206265206578656375746564206966206974206973207160208201527f7565756564000000000000000000000000000000000000000000000000000000604082015260600192915050565b6000612c78600283610a40565b7f1901000000000000000000000000000000000000000000000000000000000000815260020192915050565b6000612cb160298361397d565b7f476f7665726e6f72416c7068613a3a73746174653a20696e76616c696420707281527f6f706f73616c2069640000000000000000000000000000000000000000000000602082015260400192915050565b6000612d10602d8361397d565b7f476f7665726e6f72416c7068613a3a5f63617374566f74653a20766f7465722081527f616c726561647920766f74656400000000000000000000000000000000000000602082015260400192915050565b6000612d6f60598361397d565b7f476f7665726e6f72416c7068613a3a70726f706f73653a206f6e65206c69766581527f2070726f706f73616c207065722070726f706f7365722c20666f756e6420616e60208201527f20616c72656164792070656e64696e672070726f706f73616c00000000000000604082015260600192915050565b6000612df460288361397d565b7f476f7665726e6f72416c7068613a3a70726f706f73653a20746f6f206d616e7981527f20616374696f6e73000000000000000000000000000000000000000000000000602082015260400192915050565b6000612e5360118361397d565b7f6164646974696f6e206f766572666c6f77000000000000000000000000000000815260200192915050565b6000612e8c604383610a40565b7f454950373132446f6d61696e28737472696e67206e616d652c75696e7432353681527f20636861696e49642c6164647265737320766572696679696e67436f6e74726160208201527f6374290000000000000000000000000000000000000000000000000000000000604082015260430192915050565b6000612f11602783610a40565b7f42616c6c6f742875696e743235362070726f706f73616c49642c626f6f6c207381527f7570706f72742900000000000000000000000000000000000000000000000000602082015260270192915050565b6000612f7060448361397d565b7f476f7665726e6f72416c7068613a3a70726f706f73653a2070726f706f73616c81527f2066756e6374696f6e20696e666f726d6174696f6e206172697479206d69736d60208201527f6174636800000000000000000000000000000000000000000000000000000000604082015260600192915050565b6000612ff5602f8361397d565b7f476f7665726e6f72416c7068613a3a63616e63656c3a2070726f706f7365722081527f61626f7665207468726573686f6c640000000000000000000000000000000000602082015260400192915050565b600061305460448361397d565b7f476f7665726e6f72416c7068613a3a5f71756575654f725265766572743a207081527f726f706f73616c20616374696f6e20616c72656164792071756575656420617460208201527f2065746100000000000000000000000000000000000000000000000000000000604082015260600192915050565b60006130d9602c8361397d565b7f476f7665726e6f72416c7068613a3a70726f706f73653a206d7573742070726f81527f7669646520616374696f6e730000000000000000000000000000000000000000602082015260400192915050565b6000613138603f8361397d565b7f476f7665726e6f72416c7068613a3a70726f706f73653a2070726f706f73657281527f20766f7465732062656c6f772070726f706f73616c207468726573686f6c6400602082015260400192915050565b6000613197602f8361397d565b7f476f7665726e6f72416c7068613a3a63617374566f746542795369673a20696e81527f76616c6964207369676e61747572650000000000000000000000000000000000602082015260400192915050565b60006131f660588361397d565b7f476f7665726e6f72416c7068613a3a70726f706f73653a206f6e65206c69766581527f2070726f706f73616c207065722070726f706f7365722c20666f756e6420616e60208201527f20616c7265616479206163746976652070726f706f73616c0000000000000000604082015260600192915050565b600061327b60368361397d565b7f476f7665726e6f72416c7068613a3a63616e63656c3a2063616e6e6f7420636181527f6e63656c2065786563757465642070726f706f73616c00000000000000000000602082015260400192915050565b60006132da602a8361397d565b7f476f7665726e6f72416c7068613a3a5f63617374566f74653a20766f74696e6781527f20697320636c6f73656400000000000000000000000000000000000000000000602082015260400192915050565b600061333960158361397d565b7f7375627472616374696f6e20756e646572666c6f770000000000000000000000815260200192915050565b600061337260368361397d565b7f476f7665726e6f72416c7068613a3a5f5f61626469636174653a2073656e646581527f72206d75737420626520676f7620677561726469616e00000000000000000000602082015260400192915050565b805160608301906133d584826129ed565b5060208201516133e860208501826129ed565b50604082015161108560408501826129f6565b612868816139b9565b600061340f82612c6b565b915061341b82856129ff565b60208201915061342b82846129ff565b5060200192915050565b600061191b82612e7f565b600061191b82612f04565b6020810161191b828461286e565b60408101613467828561285f565b611dd260208301846129f6565b60408101613467828561286e565b60808101613490828761286e565b61349d60208301866129f6565b6134aa60408301856129ed565b6115a860608301846129f6565b60a081016134c5828861286e565b6134d260208301876129f6565b81810360408301526134e48186612a10565b905081810360608301526134f88185612a10565b905061350760808301846129f6565b9695505050505050565b60a0810161351f828861286e565b61352c60208301876129f6565b818103604083015261353e8186612a48565b905081810360608301526134f88185612a48565b608080825281016135638187612877565b90508181036020830152613577818661299f565b9050818103604083015261358b818561293e565b9050818103606083015261350781846128d0565b6020810161191b82846129f6565b608081016135bb82876129f6565b6135c860208301866129f6565b6135d560408301856129f6565b6115a8606083018461286e565b606081016135f082866129f6565b6135fd60208301856129f6565b6125de60408301846129ed565b6080810161361882876129f6565b61362560208301866133fb565b6134aa60408301856129f6565b6020810161191b8284612af0565b6020810161191b8284612af9565b60208082528101611dd28184612a10565b6020808252810161191b81612b02565b6020808252810161191b81612b61565b6020808252810161191b81612be6565b6020808252810161191b81612ca4565b6020808252810161191b81612d03565b6020808252810161191b81612d62565b6020808252810161191b81612de7565b6020808252810161191b81612e46565b6020808252810161191b81612f63565b6020808252810161191b81612fe8565b6020808252810161191b81613047565b6020808252810161191b816130cc565b6020808252810161191b8161312b565b6020808252810161191b8161318a565b6020808252810161191b816131e9565b6020808252810161191b8161326e565b6020808252810161191b816132cd565b6020808252810161191b8161332c565b6020808252810161191b81613365565b6060810161191b82846133c4565b61012081016137ac828c6129f6565b6137b9602083018b61285f565b81810360408301526137cb818a612877565b905081810360608301526137df818961299f565b905081810360808301526137f3818861293e565b905081810360a083015261380781876128d0565b905061381660c08301866129f6565b61382360e08301856129f6565b8181036101008301526138368184612a10565b9b9a5050505050505050505050565b6101208101613854828c6129f6565b613861602083018b61286e565b61386e604083018a6129f6565b61387b60608301896129f6565b61388860808301886129f6565b61389560a08301876129f6565b6138a260c08301866129f6565b6138af60e08301856129ed565b6138bd6101008301846129ed565b9a9950505050505050505050565b6040810161346782856129f6565b60405181810167ffffffffffffffff811182821017156138f857600080fd5b604052919050565b600067ffffffffffffffff82111561391757600080fd5b5060209081020190565b600067ffffffffffffffff82111561393857600080fd5b506020601f919091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160190565b60200190565b60009081526020902090565b5190565b90815260200190565b600061191b826139a0565b151590565b80610a4081613a3c565b73ffffffffffffffffffffffffffffffffffffffff1690565b60ff1690565b600061191b825b600061191b82613986565b600061191b82613996565b82818337506000910152565b60005b83811015613a035781810151838201526020016139eb565b838111156110855750506000910152565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690565b6008811061233d57fe5b613a4f81613986565b811461233d57600080fd5b613a4f81613991565b613a4f816104fc565b613a4f816139b956fea365627a7a72315820218303ef2386f1fa91ee7e37e29da31238edade3024766d08759a8cc5fa211396c6578706572696d656e74616cf564736f6c634300050f0040
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000008b4f1616751117c38a0f84f9a146cca191ea3ec50000000000000000000000000aacfbec6a24756c20d41914f2caba817c0d8521
-----Decoded View---------------
Arg [0] : timelock_ (address): 0x8b4f1616751117C38a0f84F9A146cca191ea3EC5
Arg [1] : yam_ (address): 0x0AaCfbeC6a24756c20D41914F2caba817C0d8521
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000008b4f1616751117c38a0f84f9a146cca191ea3ec5
Arg [1] : 0000000000000000000000000aacfbec6a24756c20d41914f2caba817c0d8521
Deployed Bytecode Sourcemap
6254:14817:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9770:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9770:46:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;7230:71;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7230:71:0;;;:::i;:::-;;;;;;;;6327:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6327:50:0;;;:::i;:::-;;;;;;;;7519:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7519:23:0;;;:::i;:::-;;;;;;;;18142:141;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;18142:141:0;;;;;;;;:::i;:::-;;9880:53;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9880:53:0;;;;;;;;:::i;10006:122::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10006:122:0;;;:::i;6519:80::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6519:80:0;;;:::i;16466:385::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;16466:385:0;;;;;;;;:::i;:::-;;;;;;;;;;;7080:66;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7080:66:0;;;:::i;17054:1080::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;17054:1080:0;;;;;;;;:::i;:::-;;;;;;;;15690:768;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;15690:768:0;;;;;;;;:::i;7605:23::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7605:23:0;;;:::i;:::-;;;;;;;;18291:987;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;18291:987:0;;;;;;;;:::i;20381:183::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20381:183:0;;;:::i;6896:77::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6896:77:0;;;:::i;6708:85::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6708:85:0;;;:::i;20183:190::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20183:190:0;;;:::i;7415:33::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7415:33:0;;;:::i;7684:28::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7684:28:0;;;:::i;11298:2387::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11298:2387:0;;;;;;;;:::i;13693:700::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;13693:700:0;;;;;;;;:::i;10218:94::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10218:94:0;;;:::i;16859:187::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;16859:187:0;;;;;;;;:::i;:::-;;;;;;;;15080:602;;;;;;;;;:::i;9770:46::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7230:71::-;7293:5;7230:71;;:::o;6327:50::-;;;;;;;;;;;;;;;;;;;:::o;7519:23::-;;;;;;:::o;18142:141::-;18233:42;18243:10;18255;18267:7;18233:9;:42::i;:::-;18142:141;;:::o;9880:53::-;;;;;;;;;;;;;:::o;10006:122::-;10048:80;;;;;;;;;;;;;;10006:122;:::o;6519:80::-;6581:15;6519:80;:::o;16466:385::-;16568:24;16607:20;16642:26;16683:24;16735:18;16756:9;:21;16766:10;16756:21;;;;;;;;;;;16735:42;;16796:1;:9;;16807:1;:8;;16817:1;:12;;16831:1;:11;;16788:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16466:385;;;;;:::o;7080:66::-;7142:1;7080:66;:::o;17054:1080::-;17137:13;17193:10;17176:13;;:27;;:45;;;;;17220:1;17207:10;:14;17176:45;17168:99;;;;;;;;;;;;;;;;;;;;;;17278:25;17306:21;;;:9;:21;;;;;17342:17;;;;;;17338:789;;;17383:22;17376:29;;;;;17338:789;17443:8;:19;;;17427:12;:35;17423:704;;17486:21;17479:28;;;;;17423:704;17545:8;:17;;;17529:12;:33;17525:602;;17586:20;17579:27;;;;;17525:602;17649:8;:21;;;17628:8;:17;;;:42;;:79;;;;17694:13;:11;:13::i;:::-;17674:8;:17;;;:33;17628:79;17624:503;;;17731:22;17724:29;;;;;17624:503;17775:12;;;;17771:356;;17816:23;17809:30;;;;;17771:356;17861:17;;;;;;;;;17857:270;;;17902:22;17895:29;;;;;17857:270;17972:12;;;;17986:8;;:23;;;;;;;;17965:45;;17972:12;17986:8;;;:21;;:23;;;;;;;;;;;;;;:8;:23;;;5:2:-1;;;;30:1;27;20:12;5:2;17986:23:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17986:23:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;17986:23:0;;;;;;;;;17965:6;:45::i;:::-;17946:15;:64;17942:185;;18034:21;18027:28;;;;;17942:185;18095:20;18088:27;;;17054:1080;;;;:::o;15690:768::-;15758:19;15780:17;15786:10;15780:5;:17::i;:::-;15758:39;-1:-1:-1;15825:22:0;15816:5;:31;;;;;;;;;;15808:98;;;;;;;;;;;;;;15919:25;15947:21;;;:9;:21;;;;;16001:8;;;;15987:10;:22;;:109;;;16077:19;:17;:19::i;:::-;16013:3;;;16031:17;;;;16013:3;;;;;:17;;16031;;;;16050:23;;16057:12;;16050:6;:23::i;:::-;16013:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16013:61:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16013:61:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;16013:61:0;;;;;;;;;:83;15987:109;15979:169;;;;;;;;;;;;;;16161:17;;;:24;;;;16181:4;16161:24;;;:17;16196:209;16220:16;;;:23;16216:27;;16196:209;;;16265:8;;16292:16;;;:19;;16265:8;;;;;:26;;16292:16;16309:1;;16292:19;;;;;;;;;;;;;;;;16313:15;;;:18;;16292:19;;;;;16329:1;;16313:18;;;;;;;;;;;;;;16333:8;:19;;16353:1;16333:22;;;;;;;;;;;;;;;16357:8;:18;;16376:1;16357:21;;;;;;;;;;;;;;;16380:8;:12;;;16265:128;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16265:128:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;16245:3:0;;;;;-1:-1:-1;16196:209:0;;-1:-1:-1;16196:209:0;;;16422:28;16439:10;16422:28;;;;;;;;;;;;;;;15690:768;;;:::o;7605:23::-;;;;;;:::o;18291:987::-;18463:23;10048:80;;;;;;;;;;;;;;;;18592:4;;;;;;;;;;;;;;;;;;18576:22;18617:12;:10;:12::i;:::-;18656:4;18513:163;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;18513:163:0;;;18489:198;;;;;;18463:224;;18700:18;10260:52;;;;;;;;;;;;;;;18745:114;;18808:10;;18837:7;;18745:114;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;18745:114:0;;;18721:149;;;;;;18700:170;;18883:14;18988:15;19022:10;18924:123;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;18924:123:0;;;18900:158;;;;;;18883:175;;19071:17;19091:26;19101:6;19109:1;19112;19115;19091:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;19091:26:0;;;;;;-1:-1:-1;;19136:23:0;;;19128:83;;;;;;;;;;;;;;19229:41;19239:9;19250:10;19262:7;19229:9;:41::i;:::-;19222:48;;;;18291:987;;;;;:::o;20381:183::-;20457:8;;;;20443:10;:22;20435:89;;;;;;;;;;;;;;20535:8;:21;;;;;;20381:183::o;6896:77::-;6968:2;6896:77;:::o;6708:85::-;6776:14;6708:85;:::o;20183:190::-;20262:8;;;;20248:10;:22;20240:92;;;;;;;;;;;;;;20343:8;;;:22;;;;;;;;:8;;;;;:20;;:22;;;;;;;;;;:8;;:22;;;5:2:-1;;;;30:1;27;20:12;5:2;20343:22:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;20343:22:0;;;;20183:190::o;7415:33::-;;;;;;:::o;7684:28::-;;;;:::o;11298:2387::-;11530:7;11621:19;:17;:19::i;:::-;11563:3;;;;;;:17;;11581:10;;11593:23;;11600:12;;11593:6;:23::i;:::-;11563:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11563:54:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11563:54:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;11563:54:0;;;;;;;;;:77;;11555:153;;;;;;;;;;;;;;11745:6;:13;11727:7;:14;:31;:70;;;;;11780:10;:17;11762:7;:14;:35;11727:70;:108;;;;;11819:9;:16;11801:7;:14;:34;11727:108;11719:189;;;;;;;;;;;;;;11927:14;;11919:76;;;;;;;;;;;;;;12032:23;:21;:23::i;:::-;12014:7;:14;:41;;12006:94;;;;;;;;;;;;;;12158:10;12113:24;12140:29;;;:17;:29;;;;;;12184:21;;12180:454;;12220:42;12265:23;12271:16;12265:5;:23::i;:::-;12220:68;-1:-1:-1;12341:20:0;12309:28;:52;;;;;;;;;;12301:153;;;;;;;;;;;;;;12507:21;12475:28;:53;;;;;;;;;;12467:155;;;;;;;;;;;;;;12180:454;;12646:18;12667:35;12674:12;12688:13;:11;:13::i;12667:35::-;12646:56;;12713:16;12732:34;12739:10;12751:14;:12;:14::i;12732:34::-;12779:13;:15;;;;;;12713:53;-1:-1:-1;12805:27:0;;:::i;:::-;12835:427;;;;;;;;12863:13;;12835:427;;;;12901:10;12835:427;;;;;;12931:1;12835:427;;;;12956:7;12835:427;;;;12986:6;12835:427;;;;13019:10;12835:427;;;;13055:9;12835:427;;;;13091:10;12835:427;;;;13126:8;12835:427;;;;13159:1;12835:427;;;;13189:1;12835:427;;;;13215:5;12835:427;;;;;;13245:5;12835:427;;;;;12805:457;;13303:11;13275:9;:25;13285:11;:14;;;13275:25;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;13275:39:0;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;13275:39:0;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;13275:39:0;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13367:11;:14;;;13325:17;:39;13343:11;:20;;;13325:39;;;;;;;;;;;;;;;:56;;;;13399:246;13429:11;:14;;;13458:10;13483:7;13505:6;13526:10;13551:9;13575:10;13600:8;13623:11;13399:246;;;;;;;;;;;;;;;;;;;;;;;13663:14;;-1:-1:-1;;;;11298:2387:0;;;;;;;;:::o;13693:700::-;13789:23;13768:17;13774:10;13768:5;:17::i;:::-;:44;;;;;;;;;13760:125;;;;;;;;;;;;;;13896:25;13924:21;;;:9;:21;;;;;;;;13994:8;;:16;;;;;;;13924:21;;13896:25;13970:41;;13977:15;;13994:8;;;;;:14;;:16;;;;;;;;;;:8;:16;;;5:2:-1;;;;30:1;27;20:12;13970:41:0;13956:55;-1:-1:-1;14027:9:0;14022:288;14046:16;;;:23;14042:27;;14022:288;;;14091:207;14124:8;:16;;14141:1;14124:19;;;;;;;;;;;;;;;;;;14162:15;;;:18;;14124:19;;;;;14178:1;;14162:18;;;;;;;;;;;;;;14199:8;:19;;14219:1;14199:22;;;;;;;;;;;;;;;;;;14091:207;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14199:22;14091:207;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14240:8;:18;;14259:1;14240:21;;;;;;;;;;;;;;;;;;14091:207;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14240:21;14091:207;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14280:3;14091:14;:207::i;:::-;14071:3;;14022:288;;;-1:-1:-1;14320:12:0;;;:18;;;14354:31;;;;;;14369:10;;14335:3;;14354:31;;10218:94;10260:52;;;;;;16859:187;16962:14;;:::i;:::-;-1:-1:-1;17001:21:0;;;;:9;:21;;;;;;;;:37;;;;;:30;;:37;;;;;;16994:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16859:187;;;;;:::o;15080:602::-;15195:20;15174:17;15180:10;15174:5;:17::i;:::-;:41;;;;;;;;;15166:123;;;;;;;;;;;;;;15300:25;15328:21;;;:9;:21;;;;;15360:17;;;:24;;;;;;;;15328:21;15395:236;15419:16;;;:23;15415:27;;15395:236;;;15464:8;;15498:15;;;:18;;15464:8;;;;;:27;;15498:15;15514:1;;15498:18;;;;;;;;;;;;;;15518:8;:16;;15535:1;15518:19;;;;;;;;;;;;;;;;;;15539:15;;;:18;;15518:19;;;;;15555:1;;15539:18;;;;;;;;;;;;;;15559:8;:19;;15579:1;15559:22;;;;;;;;;;;;;;;15583:8;:18;;15602:1;15583:21;;;;;;;;;;;;;;;15606:8;:12;;;15464:155;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15464:155:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15464:155:0;;;;;;;39:16:-1;36:1;17:17;2:54;101:4;15464:155:0;80:15:-1;;;97:9;76:31;65:43;;120:4;113:20;15464:155:0;;;;;;;;;-1:-1:-1;15444:3:0;;15395:236;;;;15646:28;15663:10;15646:28;;;;;;;;;;;;;;;15080:602;;:::o;19286:889::-;19451:20;19430:17;19436:10;19430:5;:17::i;:::-;:41;;;;;;;;;19422:96;;;;;;;;;;;;;;19529:25;19557:21;;;:9;:21;;;;;;;;19615:24;;;;;:17;;;:24;;;;;;19658:16;;;;:25;19650:83;;;;;;;;;;;;;;19760:3;;19785:19;;;;19760:45;;;;;19744:13;;19760:3;;;:17;;:45;;19778:5;;19760:45;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19760:45:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19760:45:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;19760:45:0;;;;;;;;;19744:61;;19822:7;19818:185;;;19866:32;19873:8;:17;;;19892:5;19866:6;:32::i;:::-;19846:17;;;:52;19818:185;;;19955:36;19962:8;:21;;;19985:5;19955:6;:36::i;:::-;19931:21;;;:60;19818:185;20015:23;;20034:4;20015:23;;;;;;20049:25;;20015:23;20049:25;;;;;;;20085:13;;:21;;;20124:43;;;;;;20133:5;;20140:10;;20049:25;;20085:21;;20124:43;;;;;;;;;;19286:889;;;;;;:::o;20572:172::-;20633:7;20665:5;;;20689:6;;;;20681:36;;;;;;;;;;;;;;20735:1;20572:172;-1:-1:-1;;;20572:172:0:o;20752:152::-;20813:7;20846:1;20841;:6;;20833:40;;;;;;;;;;;;;;-1:-1:-1;20891:5:0;;;20752:152::o;20912:156::-;21025:9;20912:156;:::o;14401:671::-;14608:8;;14682:183;;14608:8;;;;;:27;;14682:183;;14717:6;;14748:5;;14778:9;;14812:4;;14841:3;;14682:183;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;14682:183:0;;;14652:230;;;;;;14608:287;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14608:287:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14608:287:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;14608:287:0;;;;;;;;;14607:288;14599:390;;;;;;;;;;;;;;15002:8;;:62;;;;;:8;;;;;:25;;:62;;15028:6;;15036:5;;15043:9;;15054:4;;15060:3;;15002:62;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15002:62:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15002:62:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;15002:62:0;;;;;;;;;;14401:671;;;;;:::o;6254:14817::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6254:14817:0;;;;;;;-1:-1:-1;6254:14817:0;;;-1:-1:-1;6254:14817:0;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6254:14817:0;;;-1:-1:-1;6254:14817:0;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;6254:14817:0;;;-1:-1:-1;6254:14817:0;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;6254:14817:0;;;-1:-1:-1;6254:14817:0;:::i;:::-;;;;;;;;;-1:-1:-1;6254:14817:0;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;5:130:-1:-;72:20;;97:33;72:20;97:33;;160:707;;277:3;270:4;262:6;258:17;254:27;244:2;;295:1;292;285:12;244:2;332:6;319:20;354:80;369:64;426:6;369:64;;;354:80;;;345:89;;451:5;476:6;469:5;462:21;506:4;498:6;494:17;484:27;;528:4;523:3;519:14;512:21;;581:6;628:3;620:4;612:6;608:17;603:3;599:27;596:36;593:2;;;645:1;642;635:12;593:2;670:1;655:206;680:6;677:1;674:13;655:206;;;738:3;760:37;793:3;781:10;760:37;;;748:50;;-1:-1;821:4;812:14;;;;840;;;;;702:1;695:9;655:206;;;659:14;237:630;;;;;;;;891:693;;1013:3;1006:4;998:6;994:17;990:27;980:2;;1031:1;1028;1021:12;980:2;1068:6;1055:20;1090:85;1105:69;1167:6;1105:69;;1090:85;1203:21;;;1247:4;1235:17;;;;1081:94;;-1:-1;1260:14;;1235:17;1355:1;1340:238;1365:6;1362:1;1359:13;1340:238;;;1448:3;1435:17;1427:6;1423:30;1472:42;1510:3;1498:10;1472:42;;;1460:55;;-1:-1;1538:4;1529:14;;;;1557;;;;;1387:1;1380:9;1340:238;;1609:696;;1732:3;1725:4;1717:6;1713:17;1709:27;1699:2;;1750:1;1747;1740:12;1699:2;1787:6;1774:20;1809:86;1824:70;1887:6;1824:70;;1809:86;1923:21;;;1967:4;1955:17;;;;1800:95;;-1:-1;1980:14;;1955:17;2075:1;2060:239;2085:6;2082:1;2079:13;2060:239;;;2168:3;2155:17;2147:6;2143:30;2192:43;2231:3;2219:10;2192:43;;;2180:56;;-1:-1;2259:4;2250:14;;;;2278;;;;;2107:1;2100:9;2060:239;;2331:707;;2448:3;2441:4;2433:6;2429:17;2425:27;2415:2;;2466:1;2463;2456:12;2415:2;2503:6;2490:20;2525:80;2540:64;2597:6;2540:64;;2525:80;2516:89;;2622:5;2647:6;2640:5;2633:21;2677:4;2669:6;2665:17;2655:27;;2699:4;2694:3;2690:14;2683:21;;2752:6;2799:3;2791:4;2783:6;2779:17;2774:3;2770:27;2767:36;2764:2;;;2816:1;2813;2806:12;2764:2;2841:1;2826:206;2851:6;2848:1;2845:13;2826:206;;;2909:3;2931:37;2964:3;2952:10;2931:37;;;2919:50;;-1:-1;2992:4;2983:14;;;;3011;;;;;2873:1;2866:9;2826:206;;3046:124;3110:20;;3135:30;3110:20;3135:30;;3177:128;3252:13;;3270:30;3252:13;3270:30;;3312:130;3379:20;;3404:33;3379:20;3404:33;;3449:134;3527:13;;3545:33;3527:13;3545:33;;3591:432;;3688:3;3681:4;3673:6;3669:17;3665:27;3655:2;;3706:1;3703;3696:12;3655:2;3743:6;3730:20;3765:60;3780:44;3817:6;3780:44;;3765:60;3756:69;;3845:6;3838:5;3831:21;3881:4;3873:6;3869:17;3914:4;3907:5;3903:16;3949:3;3940:6;3935:3;3931:16;3928:25;3925:2;;;3966:1;3963;3956:12;3925:2;3976:41;4010:6;4005:3;4000;3976:41;;;3648:375;;;;;;;;4032:442;;4144:3;4137:4;4129:6;4125:17;4121:27;4111:2;;4162:1;4159;4152:12;4111:2;4192:6;4186:13;4214:64;4229:48;4270:6;4229:48;;4214:64;4205:73;;4298:6;4291:5;4284:21;4334:4;4326:6;4322:17;4367:4;4360:5;4356:16;4402:3;4393:6;4388:3;4384:16;4381:25;4378:2;;;4419:1;4416;4409:12;4378:2;4429:39;4461:6;4456:3;4451;4429:39;;5654:126;5719:20;;5744:31;5719:20;5744:31;;5787:241;;5891:2;5879:9;5870:7;5866:23;5862:32;5859:2;;;5907:1;5904;5897:12;5859:2;5942:1;5959:53;6004:7;5984:9;5959:53;;;5949:63;5853:175;-1:-1;;;;5853:175;6035:1415;;;;;;6328:3;6316:9;6307:7;6303:23;6299:33;6296:2;;;6345:1;6342;6335:12;6296:2;6380:31;;6431:18;6420:30;;6417:2;;;6463:1;6460;6453:12;6417:2;6483:78;6553:7;6544:6;6533:9;6529:22;6483:78;;;6473:88;;6359:208;6626:2;6615:9;6611:18;6598:32;6650:18;6642:6;6639:30;6636:2;;;6682:1;6679;6672:12;6636:2;6702:78;6772:7;6763:6;6752:9;6748:22;6702:78;;;6692:88;;6577:209;6845:2;6834:9;6830:18;6817:32;6869:18;6861:6;6858:30;6855:2;;;6901:1;6898;6891:12;6855:2;6921:84;6997:7;6988:6;6977:9;6973:22;6921:84;;;6911:94;;6796:215;7070:2;7059:9;7055:18;7042:32;7094:18;7086:6;7083:30;7080:2;;;7126:1;7123;7116:12;7080:2;7146:83;7221:7;7212:6;7201:9;7197:22;7146:83;;;7136:93;;7021:214;7294:3;7283:9;7279:19;7266:33;7319:18;7311:6;7308:30;7305:2;;;7351:1;7348;7341:12;7305:2;7371:63;7426:7;7417:6;7406:9;7402:22;7371:63;;;7361:73;;7245:195;6290:1160;;;;;;;;;7457:257;;7569:2;7557:9;7548:7;7544:23;7540:32;7537:2;;;7585:1;7582;7575:12;7537:2;7620:1;7637:61;7690:7;7670:9;7637:61;;7721:263;;7836:2;7824:9;7815:7;7811:23;7807:32;7804:2;;;7852:1;7849;7842:12;7804:2;7887:1;7904:64;7960:7;7940:9;7904:64;;7991:360;;8115:2;8103:9;8094:7;8090:23;8086:32;8083:2;;;8131:1;8128;8121:12;8083:2;8166:24;;8210:18;8199:30;;8196:2;;;8242:1;8239;8232:12;8196:2;8262:73;8327:7;8318:6;8307:9;8303:22;8262:73;;8358:241;;8462:2;8450:9;8441:7;8437:23;8433:32;8430:2;;;8478:1;8475;8468:12;8430:2;8513:1;8530:53;8575:7;8555:9;8530:53;;8876:366;;;8997:2;8985:9;8976:7;8972:23;8968:32;8965:2;;;9013:1;9010;9003:12;8965:2;9048:1;9065:53;9110:7;9090:9;9065:53;;;9055:63;;9027:97;9155:2;9173:53;9218:7;9209:6;9198:9;9194:22;9173:53;;;9163:63;;9134:98;8959:283;;;;;;9249:360;;;9367:2;9355:9;9346:7;9342:23;9338:32;9335:2;;;9383:1;9380;9373:12;9335:2;9418:1;9435:53;9480:7;9460:9;9435:53;;;9425:63;;9397:97;9525:2;9543:50;9585:7;9576:6;9565:9;9561:22;9543:50;;9616:733;;;;;;9783:3;9771:9;9762:7;9758:23;9754:33;9751:2;;;9800:1;9797;9790:12;9751:2;9835:1;9852:53;9897:7;9877:9;9852:53;;;9842:63;;9814:97;9942:2;9960:50;10002:7;9993:6;9982:9;9978:22;9960:50;;;9950:60;;9921:95;10047:2;10065:51;10108:7;10099:6;10088:9;10084:22;10065:51;;;10055:61;;10026:96;10153:2;10171:53;10216:7;10207:6;10196:9;10192:22;10171:53;;;10161:63;;10132:98;10261:3;10280:53;10325:7;10316:6;10305:9;10301:22;10280:53;;10357:173;;10444:46;10486:3;10478:6;10444:46;;;-1:-1;;10519:4;10510:14;;10437:93;10539:177;;10650:60;10706:3;10698:6;10650:60;;10915:173;;11002:46;11044:3;11036:6;11002:46;;11096:142;11187:45;11226:5;11187:45;;;11182:3;11175:58;11169:69;;;11245:103;11318:24;11336:5;11318:24;;11506:690;;11651:54;11699:5;11651:54;;;11718:86;11797:6;11792:3;11718:86;;;11711:93;;11825:56;11875:5;11825:56;;;11901:7;11929:1;11914:260;11939:6;11936:1;11933:13;11914:260;;;12006:6;12000:13;12027:63;12086:3;12071:13;12027:63;;;12020:70;;12107:60;12160:6;12107:60;;;12097:70;-1:-1;;11961:1;11954:9;11914:260;;;-1:-1;12187:3;;11630:566;-1:-1;;;;;11630:566;12231:888;;12386:59;12439:5;12386:59;;;12458:91;12542:6;12537:3;12458:91;;;12451:98;;12572:3;12614:4;12606:6;12602:17;12597:3;12593:27;12641:61;12696:5;12641:61;;;12722:7;12750:1;12735:345;12760:6;12757:1;12754:13;12735:345;;;12822:9;12816:4;12812:20;12807:3;12800:33;12867:6;12861:13;12889:74;12958:4;12943:13;12889:74;;;12881:82;;12980:65;13038:6;12980:65;;;13068:4;13059:14;;;;;12970:75;-1:-1;;12782:1;12775:9;12735:345;;;-1:-1;13093:4;;12365:754;-1:-1;;;;;;;12365:754;13156:896;;13313:60;13367:5;13313:60;;;13386:92;13471:6;13466:3;13386:92;;;13379:99;;13501:3;13543:4;13535:6;13531:17;13526:3;13522:27;13570:62;13626:5;13570:62;;;13652:7;13680:1;13665:348;13690:6;13687:1;13684:13;13665:348;;;13752:9;13746:4;13742:20;13737:3;13730:33;13797:6;13791:13;13819:76;13890:4;13875:13;13819:76;;;13811:84;;13912:66;13971:6;13912:66;;;14001:4;13992:14;;;;;13902:76;-1:-1;;13712:1;13705:9;13665:348;;14091:690;;14236:54;14284:5;14236:54;;;14303:86;14382:6;14377:3;14303:86;;;14296:93;;14410:56;14460:5;14410:56;;;14486:7;14514:1;14499:260;14524:6;14521:1;14518:13;14499:260;;;14591:6;14585:13;14612:63;14671:3;14656:13;14612:63;;;14605:70;;14692:60;14745:6;14692:60;;;14682:70;-1:-1;;14546:1;14539:9;14499:260;;14789:94;14856:21;14871:5;14856:21;;15001:113;15084:24;15102:5;15084:24;;15121:152;15222:45;15242:24;15260:5;15242:24;;;15222:45;;15280:343;;15390:38;15422:5;15390:38;;;15440:70;15503:6;15498:3;15440:70;;;15433:77;;15515:52;15560:6;15555:3;15548:4;15541:5;15537:16;15515:52;;;15588:29;15610:6;15588:29;;;15579:39;;;;15370:253;-1:-1;;;15370:253;15975:818;;16092:5;16086:12;16126:1;16115:9;16111:17;16139:1;16134:247;;;;16392:1;16387:400;;;;16104:683;;16134:247;16212:4;16208:1;16197:9;16193:17;16189:28;16231:70;16294:6;16289:3;16231:70;;;16335:9;16320:25;;16308:38;;16224:77;-1:-1;;16369:4;16360:14;;;-1:-1;16134:247;;16387:400;16456:1;16445:9;16441:17;16472:70;16535:6;16530:3;16472:70;;;16465:77;;16564:37;16595:5;16564:37;;;16617:1;16625:130;16639:6;16636:1;16633:13;16625:130;;;16698:14;;16685:11;;;16678:35;16745:1;16732:15;;;;16661:4;16654:12;16625:130;;;16769:11;;;-1:-1;;;16104:683;;16062:731;;;;;;16801:176;16909:62;16965:5;16909:62;;17157:156;17255:52;17301:5;17255:52;;19203:394;;19363:67;19427:2;19422:3;19363:67;;;19463:34;19443:55;;19532:27;19527:2;19518:12;;19511:49;19588:2;19579:12;;19349:248;-1:-1;;19349:248;19606:442;;19766:67;19830:2;19825:3;19766:67;;;19866:34;19846:55;;19935:34;19930:2;19921:12;;19914:56;20004:6;19999:2;19990:12;;19983:28;20039:2;20030:12;;19752:296;-1:-1;;19752:296;20057:443;;20217:67;20281:2;20276:3;20217:67;;;20317:34;20297:55;;20386:34;20381:2;20372:12;;20365:56;20455:7;20450:2;20441:12;;20434:29;20491:2;20482:12;;20203:297;-1:-1;;20203:297;20509:398;;20687:84;20769:1;20764:3;20687:84;;;20804:66;20784:87;;20899:1;20890:11;;20673:234;-1:-1;;20673:234;20916:378;;21076:67;21140:2;21135:3;21076:67;;;21176:34;21156:55;;21245:11;21240:2;21231:12;;21224:33;21285:2;21276:12;;21062:232;-1:-1;;21062:232;21303:382;;21463:67;21527:2;21522:3;21463:67;;;21563:34;21543:55;;21632:15;21627:2;21618:12;;21611:37;21676:2;21667:12;;21449:236;-1:-1;;21449:236;21694:463;;21854:67;21918:2;21913:3;21854:67;;;21954:34;21934:55;;22023:34;22018:2;22009:12;;22002:56;22092:27;22087:2;22078:12;;22071:49;22148:2;22139:12;;21840:317;-1:-1;;21840:317;22166:377;;22326:67;22390:2;22385:3;22326:67;;;22426:34;22406:55;;22495:10;22490:2;22481:12;;22474:32;22534:2;22525:12;;22312:231;-1:-1;;22312:231;22552:317;;22712:67;22776:2;22771:3;22712:67;;;22812:19;22792:40;;22860:2;22851:12;;22698:171;-1:-1;;22698:171;22878:477;;23056:85;23138:2;23133:3;23056:85;;;23174:34;23154:55;;23243:34;23238:2;23229:12;;23222:56;23312:5;23307:2;23298:12;;23291:27;23346:2;23337:12;;23042:313;-1:-1;;23042:313;23364:412;;23542:85;23624:2;23619:3;23542:85;;;23660:34;23640:55;;23729:9;23724:2;23715:12;;23708:31;23767:2;23758:12;;23528:248;-1:-1;;23528:248;23785:442;;23945:67;24009:2;24004:3;23945:67;;;24045:34;24025:55;;24114:34;24109:2;24100:12;;24093:56;24183:6;24178:2;24169:12;;24162:28;24218:2;24209:12;;23931:296;-1:-1;;23931:296;24236:384;;24396:67;24460:2;24455:3;24396:67;;;24496:34;24476:55;;24565:17;24560:2;24551:12;;24544:39;24611:2;24602:12;;24382:238;-1:-1;;24382:238;24629:442;;24789:67;24853:2;24848:3;24789:67;;;24889:34;24869:55;;24958:34;24953:2;24944:12;;24937:56;25027:6;25022:2;25013:12;;25006:28;25062:2;25053:12;;24775:296;-1:-1;;24775:296;25080:381;;25240:67;25304:2;25299:3;25240:67;;;25340:34;25320:55;;25409:14;25404:2;25395:12;;25388:36;25452:2;25443:12;;25226:235;-1:-1;;25226:235;25470:400;;25630:67;25694:2;25689:3;25630:67;;;25730:34;25710:55;;25799:33;25794:2;25785:12;;25778:55;25861:2;25852:12;;25616:254;-1:-1;;25616:254;25879:384;;26039:67;26103:2;26098:3;26039:67;;;26139:34;26119:55;;26208:17;26203:2;26194:12;;26187:39;26254:2;26245:12;;26025:238;-1:-1;;26025:238;26272:462;;26432:67;26496:2;26491:3;26432:67;;;26532:34;26512:55;;26601:34;26596:2;26587:12;;26580:56;26670:26;26665:2;26656:12;;26649:48;26725:2;26716:12;;26418:316;-1:-1;;26418:316;26743:391;;26903:67;26967:2;26962:3;26903:67;;;27003:34;26983:55;;27072:24;27067:2;27058:12;;27051:46;27125:2;27116:12;;26889:245;-1:-1;;26889:245;27143:379;;27303:67;27367:2;27362:3;27303:67;;;27403:34;27383:55;;27472:12;27467:2;27458:12;;27451:34;27513:2;27504:12;;27289:233;-1:-1;;27289:233;27531:321;;27691:67;27755:2;27750:3;27691:67;;;27791:23;27771:44;;27843:2;27834:12;;27677:175;-1:-1;;27677:175;27861:391;;28021:67;28085:2;28080:3;28021:67;;;28121:34;28101:55;;28190:24;28185:2;28176:12;;28169:46;28243:2;28234:12;;28007:245;-1:-1;;28007:245;28327:624;28538:23;;28468:4;28459:14;;;28567:57;28463:3;28538:23;28567:57;;;28488:142;28706:4;28699:5;28695:16;28689:23;28718:57;28769:4;28764:3;28760:14;28746:12;28718:57;;;28640:141;28855:4;28848:5;28844:16;28838:23;28867:63;28924:4;28919:3;28915:14;28901:12;28867:63;;29188:107;29267:22;29283:5;29267:22;;29302:650;;29557:148;29701:3;29557:148;;;29550:155;;29716:75;29787:3;29778:6;29716:75;;;29813:2;29808:3;29804:12;29797:19;;29827:75;29898:3;29889:6;29827:75;;;-1:-1;29924:2;29915:12;;29538:414;-1:-1;;29538:414;29959:372;;30158:148;30302:3;30158:148;;30338:372;;30537:148;30681:3;30537:148;;30717:213;30835:2;30820:18;;30849:71;30824:9;30893:6;30849:71;;30937:340;31091:2;31076:18;;31105:79;31080:9;31157:6;31105:79;;;31195:72;31263:2;31252:9;31248:18;31239:6;31195:72;;31284:324;31430:2;31415:18;;31444:71;31419:9;31488:6;31444:71;;31615:535;31811:3;31796:19;;31826:71;31800:9;31870:6;31826:71;;;31908:72;31976:2;31965:9;31961:18;31952:6;31908:72;;;31991:66;32053:2;32042:9;32038:18;32029:6;31991:66;;;32068:72;32136:2;32125:9;32121:18;32112:6;32068:72;;32157:831;32425:3;32410:19;;32440:71;32414:9;32484:6;32440:71;;;32522:72;32590:2;32579:9;32575:18;32566:6;32522:72;;;32642:9;32636:4;32632:20;32627:2;32616:9;32612:18;32605:48;32667:78;32740:4;32731:6;32667:78;;;32659:86;;32793:9;32787:4;32783:20;32778:2;32767:9;32763:18;32756:48;32818:76;32889:4;32880:6;32818:76;;;32810:84;;32905:73;32973:3;32962:9;32958:19;32949:6;32905:73;;;32396:592;;;;;;;;;32995:819;33257:3;33242:19;;33272:71;33246:9;33316:6;33272:71;;;33354:72;33422:2;33411:9;33407:18;33398:6;33354:72;;;33474:9;33468:4;33464:20;33459:2;33448:9;33444:18;33437:48;33499:75;33569:4;33560:6;33499:75;;;33491:83;;33622:9;33616:4;33612:20;33607:2;33596:9;33592:18;33585:48;33647:73;33715:4;33706:6;33647:73;;33821:1183;34245:3;34260:47;;;34230:19;;34321:108;34230:19;34415:6;34321:108;;;34313:116;;34477:9;34471:4;34467:20;34462:2;34451:9;34447:18;34440:48;34502:108;34605:4;34596:6;34502:108;;;34494:116;;34658:9;34652:4;34648:20;34643:2;34632:9;34628:18;34621:48;34683:120;34798:4;34789:6;34683:120;;;34675:128;;34851:9;34845:4;34841:20;34836:2;34825:9;34821:18;34814:48;34876:118;34989:4;34980:6;34876:118;;35011:213;35129:2;35114:18;;35143:71;35118:9;35187:6;35143:71;;35231:547;35433:3;35418:19;;35448:71;35422:9;35492:6;35448:71;;;35530:72;35598:2;35587:9;35583:18;35574:6;35530:72;;;35613;35681:2;35670:9;35666:18;35657:6;35613:72;;;35696;35764:2;35753:9;35749:18;35740:6;35696:72;;35785:423;35953:2;35938:18;;35967:71;35942:9;36011:6;35967:71;;;36049:72;36117:2;36106:9;36102:18;36093:6;36049:72;;;36132:66;36194:2;36183:9;36179:18;36170:6;36132:66;;36215:539;36413:3;36398:19;;36428:71;36402:9;36472:6;36428:71;;;36510:68;36574:2;36563:9;36559:18;36550:6;36510:68;;;36589:72;36657:2;36646:9;36642:18;36633:6;36589:72;;36761:263;36904:2;36889:18;;36918:96;36893:9;36987:6;36918:96;;37291:243;37424:2;37409:18;;37438:86;37413:9;37497:6;37438:86;;37541:293;37675:2;37689:47;;;37660:18;;37750:74;37660:18;37810:6;37750:74;;37841:407;38032:2;38046:47;;;38017:18;;38107:131;38017:18;38107:131;;38255:407;38446:2;38460:47;;;38431:18;;38521:131;38431:18;38521:131;;38669:407;38860:2;38874:47;;;38845:18;;38935:131;38845:18;38935:131;;39083:407;39274:2;39288:47;;;39259:18;;39349:131;39259:18;39349:131;;39497:407;39688:2;39702:47;;;39673:18;;39763:131;39673:18;39763:131;;39911:407;40102:2;40116:47;;;40087:18;;40177:131;40087:18;40177:131;;40325:407;40516:2;40530:47;;;40501:18;;40591:131;40501:18;40591:131;;40739:407;40930:2;40944:47;;;40915:18;;41005:131;40915:18;41005:131;;41153:407;41344:2;41358:47;;;41329:18;;41419:131;41329:18;41419:131;;41567:407;41758:2;41772:47;;;41743:18;;41833:131;41743:18;41833:131;;41981:407;42172:2;42186:47;;;42157:18;;42247:131;42157:18;42247:131;;42395:407;42586:2;42600:47;;;42571:18;;42661:131;42571:18;42661:131;;42809:407;43000:2;43014:47;;;42985:18;;43075:131;42985:18;43075:131;;43223:407;43414:2;43428:47;;;43399:18;;43489:131;43399:18;43489:131;;43637:407;43828:2;43842:47;;;43813:18;;43903:131;43813:18;43903:131;;44051:407;44242:2;44256:47;;;44227:18;;44317:131;44227:18;44317:131;;44465:407;44656:2;44670:47;;;44641:18;;44731:131;44641:18;44731:131;;44879:407;45070:2;45084:47;;;45055:18;;45145:131;45055:18;45145:131;;45293:407;45484:2;45498:47;;;45469:18;;45559:131;45469:18;45559:131;;45707:309;45873:2;45858:18;;45887:119;45862:9;45979:6;45887:119;;46243:1847;46835:3;46820:19;;46850:71;46824:9;46894:6;46850:71;;;46932:80;47008:2;46997:9;46993:18;46984:6;46932:80;;;47060:9;47054:4;47050:20;47045:2;47034:9;47030:18;47023:48;47085:108;47188:4;47179:6;47085:108;;;47077:116;;47241:9;47235:4;47231:20;47226:2;47215:9;47211:18;47204:48;47266:108;47369:4;47360:6;47266:108;;;47258:116;;47423:9;47417:4;47413:20;47407:3;47396:9;47392:19;47385:49;47448:120;47563:4;47554:6;47448:120;;;47440:128;;47617:9;47611:4;47607:20;47601:3;47590:9;47586:19;47579:49;47642:118;47755:4;47746:6;47642:118;;;47634:126;;47771:73;47839:3;47828:9;47824:19;47815:6;47771:73;;;47855;47923:3;47912:9;47908:19;47899:6;47855:73;;;47977:9;47971:4;47967:20;47961:3;47950:9;47946:19;47939:49;48002:78;48075:4;48066:6;48002:78;;;47994:86;46806:1284;-1:-1;;;;;;;;;;;46806:1284;48097:1083;48427:3;48412:19;;48442:71;48416:9;48486:6;48442:71;;;48524:72;48592:2;48581:9;48577:18;48568:6;48524:72;;;48607;48675:2;48664:9;48660:18;48651:6;48607:72;;;48690;48758:2;48747:9;48743:18;48734:6;48690:72;;;48773:73;48841:3;48830:9;48826:19;48817:6;48773:73;;;48857;48925:3;48914:9;48910:19;48901:6;48857:73;;;48941;49009:3;48998:9;48994:19;48985:6;48941:73;;;49025:67;49087:3;49076:9;49072:19;49063:6;49025:67;;;49103;49165:3;49154:9;49150:19;49141:6;49103:67;;;48398:782;;;;;;;;;;;;;49187:324;49333:2;49318:18;;49347:71;49322:9;49391:6;49347:71;;49518:256;49580:2;49574:9;49606:17;;;49681:18;49666:34;;49702:22;;;49663:62;49660:2;;;49738:1;49735;49728:12;49660:2;49754;49747:22;49558:216;;-1:-1;49558:216;49781:304;;49940:18;49932:6;49929:30;49926:2;;;49972:1;49969;49962:12;49926:2;-1:-1;50007:4;49995:17;;;50060:15;;49863:222;51036:317;;51175:18;51167:6;51164:30;51161:2;;;51207:1;51204;51197:12;51161:2;-1:-1;51338:4;51274;51251:17;;;;51270:9;51247:33;51328:15;;51098:255;52342:151;52466:4;52457:14;;52414:79;52985:157;;53079:14;;;53121:4;53108:18;;;53038:104;53314:137;53417:12;;53388:63;54879:178;54997:19;;;55046:4;55037:14;;54990:67;56457:91;;56519:24;56537:5;56519:24;;56555:85;56621:13;56614:21;;56597:43;56726:140;56805:5;56811:50;56805:5;56811:50;;56873:121;56946:42;56935:54;;56918:76;57080:81;57151:4;57140:16;;57123:38;57168:129;;57255:37;57286:5;57304:171;;57408:62;57464:5;57408:62;;57925:140;;58019:41;58054:5;58019:41;;58316:145;58397:6;58392:3;58387;58374:30;-1:-1;58453:1;58435:16;;58428:27;58367:94;58470:268;58535:1;58542:101;58556:6;58553:1;58550:13;58542:101;;;58623:11;;;58617:18;58604:11;;;58597:39;58578:2;58571:10;58542:101;;;58658:6;58655:1;58652:13;58649:2;;;-1:-1;;58723:1;58705:16;;58698:27;58519:219;58827:97;58915:2;58895:14;58911:7;58891:28;;58875:49;58932:108;59018:1;59011:5;59008:12;58998:2;;59024:9;59047:117;59116:24;59134:5;59116:24;;;59109:5;59106:35;59096:2;;59155:1;59152;59145:12;59171:111;59237:21;59252:5;59237:21;;59289:117;59358:24;59376:5;59358:24;;59537:113;59604:22;59620:5;59604:22;
Swarm Source
bzzr://218303ef2386f1fa91ee7e37e29da31238edade3024766d08759a8cc5fa21139
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.